Author Archives: Graham

About Graham

I make it faster and easier for you to create high-quality code.

On Blue Agile

Ron Jeffries has some interesting posts lately on Dark Scrum, the idea that poor programmers are being chained to the code face in the software mines, forced to unthinkingly crank out features under Agile-sequel banners like “velocity” and “embracing change”. … Continue reading

Posted in process | Tagged | Leave a comment

I’m probably holding it wrong

If I wanted to do a table view data source in ObjC, it would look like this: – tableView:aTableView objectValueForTableColumn:aColumn row:(NSInteger)row { return [representedObject.collection[row] valueForKey:[aColumn identifier]]; } When I do it in Swift, it ends up looking like this: func … Continue reading

Posted in AAPL, Swift | Leave a comment

On the inevitability of Photoshop for iPad

Back in 2011, I was speaking at QCon London at the invitation of my friend and de Programmatica Ipsum co-conspirator akosma, and one of the conference’s community events was an iOS developer meet-up hosted in the conference centre. I think … Continue reading

Posted in AAPL, iPad | Tagged | Leave a comment

Beginner thoughts

Back story: my period of walkabout, in which I went to see the rest of the computing world beyond Apple land, started in November 2014. This was shortly after Swift’s introduction at WWDC 2014. It ended in October 2018, by … Continue reading

Posted in code-level, edjercashun, Swift | Tagged | 2 Comments

More on UIAutomation tests

Update The information below is mostly redundant. After filing a bug report with Apple, their engineers determined that the Xcode-detected set of macro actions (find a text field, double click, enter text) weren’t working because the double click action wasn’t … Continue reading

Posted in AAPL, Mac, TDD, tool-support | Leave a comment

given-when-then in XCTest

I started writing a new Mac app, and I started doing it by driving the implementation through Xcode UI Automation tests. But then it turned out I was driving the test infrastructure as much as the tests, and it’s that … Continue reading

Posted in Swift, TDD, UI | 3 Comments

Making my peace

Nearly four years ago, in January 2015, I posted On Switching to Linux, in which my computer (in a photo from November 2014) looked like this: Here’s the same photo from today: So what’s changed? In the intervening four years, … Continue reading

Posted in AAPL, GNU, Mac | 1 Comment

HotSwift

A few places have linked to Apple’s use of Swift in iOS, it’s useful to put it in context. How much of Solaris was made out of Java? Almost none. There was a web browser that you’ve never heard of … Continue reading

Posted in AAPL, Java | 2 Comments

OOP the Easy Way: now 100% complete

Hello readers, part 3, the final part of the “OOP the Easy Way” journey, has now been published at Leanpub! Thanks for joining me along the way! As ever, corrections, questions, and comments are welcome (you can comment here if … Continue reading

Posted in books, OOP | 4 Comments

Two Schools

There always seem to be two schools in software, though exactly where the gates are varies. Alan Kay described how Edsger Dijkstra noticed that “the Atlantic has two sides”. It was basically all about how different the approaches to computing … Continue reading

Posted in edjercashun | Tagged | 1 Comment