Author Archives: Graham

About Graham

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

A little challenge

A little challenge today: create a JS function that turns its arguments into a list of pairs. Actually, the brief was “using Ramda” but I ended up not doing that: function basePairwise(xs) { if (xs.length == 0) return []; if … Continue reading

Posted in FP, javascript | Leave a comment

Ultimate Programmer Super Stack: Last day!

I already wrote about the Ultimate Programmer Super Stack, a huge bundle of books and courses on a range of technologies: Python, JS, Ruby, Java, HTML, node, Aurelia… and APPropriate Behaviour, my book on everything that goes into being a … Continue reading

Posted in advancement of the self, books, edjercashun | Leave a comment

Coming to terms with fewer terms

I was on a “Leadership in Architecture” panel organised by RP International recently, and was asked about problems we face using new techniques like Microservices, serverless and machine learning in the financial technology sector. The biggest blocker I see is … Continue reading

Posted in software-engineering | Leave a comment

Microservices for the Desktop

In OOP the Easy Way, I make the argument that microservices are a rare instance of OOP done well: Microservice adopters are able to implement different services in different technologies, to think about changes to a given service only in … Continue reading

Posted in architecture of sorts, code-level, OOP | Tagged | 1 Comment

Ultimate Programmer Super Stack

There’s a great bundle of polyglot learning taking place over at the Ultimate Programmer Super Stack. My book, APPropriate Behaviour – the things every programmer needs to know that aren’t programming – is featured alongside content on Python, Ruby, Java, … Continue reading

Posted in advancement of the self, books | Leave a comment

Introducing: the Labrary

Is it that a month in the laboratory will save an hour in the library, or the other way around? A little more conversation, a little less action? There are things to learn from both the library and the laboratory, … Continue reading

Posted in advancement of the self, architecture of sorts | Leave a comment

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