Categories
Presentation Programming

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 […]

Categories
Programming

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 […]

Categories
Programming WISE women in computer science

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 […]

Categories
mobile Programming

Unit Testing on iOS: Beyond the Model

I want to introduce you to my app, it’s called Show and Hide. It’s an image processing app. This is V1, so the UI is pretty simple, so I think it’s a reasonable example. Briefly, what the app does is it detects the dominant color in an image, and creates these cool partially colored images […]

Categories
mobile Programming

Launching! iOS Unit Testing: Beyond the Model

I’m super excited to release something that I’ve been working on for a while. Unit testing on iOS is… not common. And part of the problem is that people don’t know where to start. It can be overwhelming. Building on my years of experience leading iOS apps with over 80% test coverage, including at Google, […]

Categories
Presentation Programming

iOSNext: Paul Ardeleanu – 10 Reasons You’ll Love Swift

My notes from Paul‘s talk at iOSNext. TIOBE Index for Nov 2014 – Swift is at #18. A language that is 5 months old – more popular than Scala, Haskell… Fortran! Proven to be quite a hit with developers, and there are reasons for that. Why do we have a new programming language? What is […]

Categories
mobile Programming

Creating and Comparing Images on Android

A while ago, I wrote this blog post on creating and comparing UIImages. That code allowed me to develop the image processing part of the app against my unit tests, which was really, really helpful given that I rewrote it about four times to make it performant enough. So, when I started writing Android code […]

Categories
Programming

Four Reasons Unit Testing Needn’t Be That Time-Consuming

On my mind this week because I’m giving a workshop and a talk on unit testing UI code on iOS. Tests as Documentation. You think you remember what you did and why… but you don’t. Replace debugging. I almost never use the debugger. If something isn’t working as expected, I just start writing tests and figuring out […]

Categories
mobile Programming

Cross-Platform Development Decisions

I’ve started to port Show and Hide to Android. There’s still a lot to do, but I hit a milestone of having it working end to end on the emulator last week, which was exciting. One of my friends asked if I was using any libraries to make it easier, and the short answer is no. But […]

Categories
Programming

Some Things I’ve Learned About Performance on iOS

Filed under “things I didn’t realise anyone else would find useful”. The Hybrid App The second iOS app I worked on was a hybrid app, and I became a master of the UIWebView. It looked native. But it didn’t quite feel native because… performance. We had a bridge that connected the iOS to the Javascript […]