Programming

  • A Brief Rant about TDD

    A Brief Rant about TDD

    I’ve been giving this talk about unit testing UI code lately and of course when you talk about testing, TDD (test driven development) keeps coming up. The question ranges from “have you embraced TDD as the One True Way Of Testing, and if not why not because you’re doing it wrong” and “I have heard that…

    : A Brief Rant about TDD
  • Over-Engineering Culture, Hacking, and Complexity

    Over-Engineering Culture, Hacking, and Complexity

    I was talking to a fellow escapee of The Conglomerate and we were talking about over-engineering culture. In the sense of “lol things built because it was time for someone to get promoted” and in the sense of complexity. The thing about layers and layers of (debatably necessary) abstractions is that they make things that should…

    : Over-Engineering Culture, Hacking, and Complexity
  • Refactoring and Legacy Code

    Refactoring and Legacy Code

    The first iOS project I worked on was a big mess that shipped without unit tests. It was a project that had had a number of different directions taken from a product perspective… and the code was like an archeological record of them. Since then I’ve worked on various things, most of which have been greenfield…

    : Refactoring and Legacy Code
  • iOS: Getting a Thumbnail for a Video

    iOS: Getting a Thumbnail for a Video

    Between various things being deprecated, and the new Photos framework (which looks cool but seemed a bit heavyweight for this purpose) finding this took me a while! When the image picker returns with a video it has a url in info[UIImagePickerControllerMediaURL]. Then we can use AVAsset and AVAssetGenerator to get a thumbnail. // Gets the asset -…

    : iOS: Getting a Thumbnail for a Video
  • Things You Don’t Learn in Technical Interviews

    Things You Don’t Learn in Technical Interviews

    I spend more time than I thought I would thinking about technical interviews lately, because something I’ve been doing is conducting technical interviews for a few startups including Glowforge (they’re hiring!). Since March I’ve done ~36 interviews. Designing hiring systems is hard because you only have partial data – specifically you don’t know who your…

    : Things You Don’t Learn in Technical Interviews
  • Unit Testing on iOS

    Unit Testing on iOS

    Historically, there hasn’t been a lot of testing done on iOS, and we see the results of that every day—regressions, crashes, consistently reproducible failures. As we build more complex applications, manual testing takes more and more time and automated testing becomes increasingly necessary. The biggest challenge of testing on iOS starts at the UIViewController with…

    : Unit Testing on iOS
  • Giving a Talk and a Workshop – in Two Days
    ,

    Giving a Talk and a Workshop – in Two Days

    Submitting I have two ways of submitting to CfPs. The first: a carefully written abstract of a talk that I have already prepped, and probably already given. The second: something that I have already been exploring in blog posts, collected into a “here is this thing that I think I could talk about, but I’m…

    : Giving a Talk and a Workshop – in Two Days
  • Some Thoughts on Mocking

    Some Thoughts on Mocking

        When do we use mocks and when shouldn’t we? Some thoughts: Don’t Mock Data Structures We wouldn’t mock an NSArray or an NSDictionary, so why would we mock our own data structures? Data structures should be simple and well tested, so we can trust them to behave as they should. It will be…

    : Some Thoughts on Mocking
  • Discoveries About OSS Culture
    , ,

    Discoveries About OSS Culture

    I was hanging out with an OSS-dude (OSS = Open Source Software) for a while, and I learned a couple of things. Firstly – don’t try and buy committed OSS types books. It’s a complete nightmare. Secondly – I’ve reached a better understanding of harassment and open source. And particularly the pushback, which comes from…

    : Discoveries About OSS Culture