OOP the Easy Way
Object-Oriented Programming the Easy Way: a manifesto for reclaiming OOP from three decades of confusion and needless complexity.APPropriate Behaviour
APPosite Concerns
FSF
Author Archives: Graham
SICPers podcast episode 4
We’re back to Amiga-Smalltalk today, as the moment when it runs on a real Amiga inches closer. Listen here. Aminet has git, but only for MorphOS. MEmacs is the only text editor you need. HiSOFT, makers of HiSOFT C++ SAS … Continue reading
Posted in Amiga, podcast
Leave a comment
SICPers Podcast Episode 3
The latest episode of SICPers, in which I muse on what programming 1980s microcomputers taught me about reading code, is now live. Here’s the podcast RSS feed. It is practically impossible to teach good programming to students that have had … Continue reading
Posted in podcast
Leave a comment
SICPers Podcast episode two
Episode 2 is live! The only link I promised this week is to the BCHS web application stack. Short for BSD, C, httpd, sqlite, it’s a minimalist approach to making web applications. As ever, your feedback is welcome, here or … Continue reading
Posted in podcast
Leave a comment
SICPers podcast episode one
I made a podcast! Full show notes here due to the character limit at podbean. Amiga-Smalltalk project on GitHub Free books on Smalltalk: the three Addison-Wesley books “Smalltalk-80: The Interactive Programming Environment”, “Smalltalk-80: The Language and its Implementation” and “Smalltalk-80: … Continue reading
Posted in podcast
Leave a comment
Stay on target…
I introduce the kind of customer who needs the Labrary’s advice with the following description: Your software team was a sight to behold, when it started out. You very quickly got to an MVP, validated its fit with early successes, … Continue reading
Posted in agile, process, team
Leave a comment
On the tyranny of autoincrementing integer primary keys
In designing a relational database schema, many people will automatically create a column id integer primary key for every table, using their database’s automatic increment feature to assign a new value to each row they insert. My assertion is that … Continue reading
Posted in design
Leave a comment
First, Consider no Harmful.
Yesterday, we observed that the goal of considering the go to statement harmful was so that a programmer could write a correct program and have done with it. We noticed that this is never how computering works: many programs are … Continue reading
The unreasonable ineffectiveness of considering things harmful
Dijkstra didn’t claim to consider the go to statement harmful, not in those words. The title of his letter to CACM was provided by the editor, Niklaus Wirth, who did such a great job that the entire industry knows that … Continue reading
Empowered free software
Free and open source software has traditionally been defined as the opposite of something else: proprietary (or commercially-licensed) software. That’s particularly obvious in the name of the GNU project, which calls itself “Not UNIX” – a popular AT&T-owned commercial software … Continue reading
Posted in freesoftware, GNU
Leave a comment
Pairing in Github
In the world of free software, it’s good to appropriately credit contributors to your community for the work they do. git makes this hard when you pair program. I was at a hackathon recently, and while I didn’t make a … Continue reading
Posted in process, tool-support
8 Comments