Skip to content

{ Author Archives }

Free Software should welcome contributions by Apple, Google

It started with a toot from the FSF: Freedom means not #madebygoogle or #madebyapple, it means #madebythousandsoffreesoftwarehackers #GNU This post is an expansion on my reply: @fsf as an FSF Associate I’m happy to use software made by Google or made by Apple as long as it respects the four freedoms. Yes to made by […]

Recommend me some books or articles

I’ve been looking for something to read on these topics, can you help? a history of the Unix wars (the ‘workstation’ period involving Sun, HP, Apollo, DEC, IBM, NeXT and SGI primarily, but really everything starting from AT&T up to Linux and OS X would be interesting) a business case study on Apple’s turnaround 1997-2001. […]

On books

I’d say that if there’s one easy way to summarise how I work, it’s as an information focus. I’m not great at following a solution all the way to the bitter end so you should never let me be a programmer (ahem): when all that’s left is the second 90% of the effort in fixing […]

Give me an S

S – I can find the thing I need to change. O – My change will either be an extension or a replacement. L – My replacement or extension needs to be a drop-in change. I – Here’s what my replacement can do. D – I have somewhere to put my replacement.

Security consultancy from the other side

I used to run an application security consultancy business, back before the kinds of businesses who knew they needed to consider application security had got past assessing creating mobile apps. Whoops! Something that occasionally, nay, often happened was that clients would get frustrated if I didn’t give them a direct answer to a question they […]

Choose boring employers

Amusingly, my previous post choose boring employees was shared to hacker news under the off-by-one erroneous title choose boring employers. That seemed funny enough to run with, but what does it mean to choose boring employers? One interpretation is that a boring employer is one where you do not live in interesting times. Where you […]

Choose boring employees

An idea I’ve heard from many directions recently is that “we” (whoever they are) “need to be on the latest tech stack in order to attract developers”. And yes, you do attract developers that way. Developers who want to be paid to work on the latest technology. Next year, your company will be a year […]

In which GNUstep confuses and ultimately disappoints

I’m not the most hardcore of GNUstep people, but I’m certainly somewhat invested. I’ve been building apps, lurking in lists, and contributing code on and off for around 13 years, including a job working with a few of the maintainers. I am trying to build the corpus of documentation intrinsic to GNUstep, i.e. that which […]

On the “advances” in web development since 1995

The first “web application” I worked on was written in a late version of WebObjects, version 4.5. An HTTP request was handled by an “adaptor” layer that chose a controller based on the parameters of the request, you could call this routing if you like. The controller accesses the data model, any relevant application logic, […]

When Object-Oriented Programming Isn’t

A problem I was investigating today led me to a two-line Ruby method much like this: class App # … def write_file_if_configured file_writer = FileWriter.new(@configuration.options) file_writer.write if file_writer.can_write? end end This method definitely looks nice and object-oriented, and satisfies many code quality rules: it’s shorter than 10 lines, contains no branches, no Boolean parameters (unless […]