# Structure and Interpretation of Computer Programmers
> From programmer to software engineer.
> Contact: graham@iamleeg.com
## Full Content Export
- **URL**: https://www.sicpers.info/llms-full.txt
### Posts
- [(No Title)](https://www.sicpers.info/2006/04/2600/)
- [(No Title)](https://www.sicpers.info/2006/04/2599/)
- [(No Title)](https://www.sicpers.info/2006/04/2598/)
- [(No Title)](https://www.sicpers.info/2006/04/2597/)
- [(No Title)](https://www.sicpers.info/2006/04/2596/)
- [(No Title)](https://www.sicpers.info/2014/11/1372/)
- [(No Title)](https://www.sicpers.info/2014/11/1377/)
- [(No Title)](https://www.sicpers.info/2014/11/1381/)
- [(No Title)](https://www.sicpers.info/2014/11/1383/)
- [(No Title)](https://www.sicpers.info/2014/11/1385/)
- ["Brand": you win some, you lose some](https://www.sicpers.info/2018/05/brand-you-win-some-you-lose-some/)
- ["Patently" obvious](https://www.sicpers.info/2008/02/patently-obvious/)
- ["Patently" secure](https://www.sicpers.info/2011/05/patently-secure/)
- ["Reasoning about code" is a scam](https://www.sicpers.info/2021/01/reasoning-about-code-is-a-scam/)
- ["When I had that problem"](https://www.sicpers.info/2015/09/when-i-had-that-problem/)
- ["You could simply do X" costs more](https://www.sicpers.info/2013/03/you-could-simply-do-x-costs-more/)
- [*-Oriented Programming](https://www.sicpers.info/2015/10/oriented-programming/)
- [+1-415-312-0555](https://www.sicpers.info/2007/10/1-415-312-0555/)
- [...and in the end there will be the command line.](https://www.sicpers.info/2015/01/and-in-the-end-there-will-be-the-command-line/)
- [20 things learned in 20 years as a software engineer](https://www.sicpers.info/2021/10/20-things-learned-in-20-years-as-a-software-engineer/)
- [2017: the year of configuring Linux (or Windows, or OS X, or...) on the desktop](https://www.sicpers.info/2017/01/2017-the-year-of-configuring-linux-or-windows-or-os-x-or-on-the-desktop/)
- [6502](https://www.sicpers.info/2020/08/6502/)
- [YOUR development team needs security engineers](https://www.sicpers.info/2010/09/your-development-team-needs-security-engineers/)
- [A better bit o' twitter than the bitter twitter Tommy Titter bought](https://www.sicpers.info/2008/09/a-better-bit-o-twitter-than-the-bitter-twitter-tommy-titter-bought/)
- [A bit late for that, isn't it?](https://www.sicpers.info/2007/06/a-bit-late-for-that-isnt-it/)
- [A bit of backup script](https://www.sicpers.info/2007/05/a-bit-of-backup-script/)
- [A brief history of talking on the interwebs (or: why I'm not on app.net)](https://www.sicpers.info/2012/08/a-brief-history-of-talking-on-the-interwebs-or-why-im-not-on-app-net/)
- [A brief interlude](https://www.sicpers.info/2015/06/a-brief-interlude/)
- [A bunch of monkeys with typewriters](https://www.sicpers.info/2011/12/a-bunch-of-monkeys-with-typewriters/)
- [A Cupertino Yankee in the Court of King Ballmer](https://www.sicpers.info/2011/05/a-cupertino-yankee-in-the-court-of-king-ballmer/)
- [A first look at appCode, and the future of Cocoa IDEs?](https://www.sicpers.info/2011/04/a-first-look-at-appcode-and-the-future-of-cocoa-ides/)
- [A hopefully modern description of Object-Oriented Analysis](https://www.sicpers.info/2021/05/a-hopefully-modern-description-of-object-oriented-analysis/)
- [A hopefully modern description of Object-Oriented Design](https://www.sicpers.info/2021/05/a-hopefully-modern-description-of-object-oriented-design/)
- [A kata above](https://www.sicpers.info/2015/04/a-kata-above/)
- [A lack of CocoaHeads](https://www.sicpers.info/2009/02/a-lack-of-cocoaheads/)
- [A little challenge](https://www.sicpers.info/2018/11/a-little-challenge/)
- [A note on notes](https://www.sicpers.info/2013/03/a-note-on-notes/)
- [A question of focus](https://www.sicpers.info/2019/10/a-question-of-focus/)
- [A rap upon the noggin](https://www.sicpers.info/2009/08/a-rap-upon-the-noggin/)
- [A site for discussing app security](https://www.sicpers.info/2010/12/a-site-for-discussing-app-security/)
- [A sneaky preview of ClassBrowser](https://www.sicpers.info/2013/12/a-sneaky-preview-of-classbrowser/)
- [A solution in need of a problem](https://www.sicpers.info/2010/06/a-solution-in-need-of-a-problem/)
- [A spot of ultravaiolence, my droogs?](https://www.sicpers.info/2006/10/a-spot-of-ultravaiolence-my-droogs/)
- [A subtle [mis]understanding of monads](https://www.sicpers.info/2015/02/a-subtle-misunderstanding-of-monads/)
- [A two-dimensional dictionary](https://www.sicpers.info/2013/03/a-two-dimensional-dictionary/)
- [About NSMailDelivery and Message.framework](https://www.sicpers.info/2006/04/about-nsmaildelivery-and-message-framework/)
- [Acne cream](https://www.sicpers.info/2017/04/acne-cream/)
- [Adding components to a GNUstep web / WebObjects app](https://www.sicpers.info/2012/03/adding-components-to-a-gsw-app/)
- [Against our values as a company](https://www.sicpers.info/2017/12/against-our-values-as-a-company/)
- [Agile application security](https://www.sicpers.info/2013/12/agile-application-security/)
- [Ah, the sweet sound of my own voice](https://www.sicpers.info/2008/07/ah-the-sweet-sound-of-my-own-voice/)
- [AJAX via jQuery in an Objective-C WebObjects app](https://www.sicpers.info/2013/07/ajax-via-jquery-in-an-objective-c-webobjects-app/)
- [All the more reason to like FOSDEM](https://www.sicpers.info/2007/04/all-the-more-reason-to-like-fosdem/)
- [All the things](https://www.sicpers.info/2017/12/all-the-things/)
- [All you never wanted to know about temporary files and were too ambivalent to ask](https://www.sicpers.info/2008/10/all-you-never-wanted-to-know-about-temporary-files-and-were-too-ambivalent-to-ask/)
- [AMA](https://www.sicpers.info/2021/06/ama/)
- [An acceptable tool](https://www.sicpers.info/2015/04/an-acceptable-tool/)
- [An apology and an opportunity](https://www.sicpers.info/2012/04/an-apology-and-an-opportunity/)
- [An apology to readers of Test-Driven iOS Development](https://www.sicpers.info/2012/09/an-apology-to-readers-of-test-driven-ios-development/)
- [An entirely unwarranted comparison between software engineering and astronomy](https://www.sicpers.info/2013/05/an-entirely-unwarranted-comparison-between-software-engineering-and-astronomy/)
- [An example of unit testing working for me](https://www.sicpers.info/2010/10/an-example-of-unit-testing-working-for-me/)
- [An Imagined History of Agile Software Development](https://www.sicpers.info/2021/11/an-imagined-history-of-agile-software-development/)
- [An Imagined History of Object-Oriented Programming](https://www.sicpers.info/2021/06/an-imagined-history-of-object-oriented-programming/)
- [An observation designed to aid the reading of books on software](https://www.sicpers.info/2013/02/an-observation-designed-to-aid-the-reading-of-books-on-software/)
- [An odd thought](https://www.sicpers.info/2014/12/an-odd-thought/)
- [An open letter to Xcode](https://www.sicpers.info/2013/01/an-open-letter-to-xcode/)
- [An unhelpful distinction](https://www.sicpers.info/2017/12/an-unhelpful-distinction/)
- [An update on the HURD project](https://www.sicpers.info/2018/01/an-update-on-the-hurd-project/)
- [Anatomy of a software sales scam](https://www.sicpers.info/2010/02/anatomy-of-a-software-sales-scam/)
- [Android: the missed opportunities](https://www.sicpers.info/2011/10/android-the-missed-opportunities/)
- [Announcing AppScript](https://www.sicpers.info/2026/03/announcing-appscript/)
- [Announcing Chiron Codex, a community of software centaurs](https://www.sicpers.info/2026/01/announcing-chiron-codex-a-community-of-software-centaurs/)
- [Another non-year of Desktop Linux](https://www.sicpers.info/2020/07/another-non-year-of-desktop-linux/)
- [Answer: none of them](https://www.sicpers.info/2016/12/answer-none-of-them/)
- [Anti-lock brakes](https://www.sicpers.info/2020/07/anti-lock-brakes/)
- [Anyone Can Write A Manifesto And You Can Too!™](https://www.sicpers.info/2013/02/anyone-can-write-a-manifesto-and-you-can-too/)
- [Aphorism Considered Harmful](https://www.sicpers.info/2022/02/aphorism-considered-harmful/)
- [App security consultancy from your favourite boffin](https://www.sicpers.info/2012/05/app-security-consultancy-under-daveaddeys-thumb/)
- [Apple 2, iamleeg 0](https://www.sicpers.info/2008/09/apple-2-iamleeg-0/)
- [Apple and Bug Bounties](https://www.sicpers.info/2021/09/apple-and-bug-bounties/)
- [Apple and Google sitting in a tree, f-i-g-h...erm...t-i-ng](https://www.sicpers.info/2007/06/apple-and-google-sitting-in-a-tree-f-i-g-h-erm-t-i-ng/)
- [Apple Silicon, Xeon Phi, and Amigas](https://www.sicpers.info/2020/11/apple-silicon-xeon-phi-and-amigas/)
- [Apple Technical Briefing: Scientific computing and the Intel transition](https://www.sicpers.info/2006/04/apple-technical-briefing-scientific-computing-and-the-intel-transition/)
- [Apple's Best Programming Language](https://www.sicpers.info/2016/04/apples-best-programming-language/)
- [Apple's Watch and Jony's Compelling Beginning](https://www.sicpers.info/2014/09/apples-watch-and-jonys-compelling-beginning/)
- [AppleScript, for once](https://www.sicpers.info/2008/09/applescript-for-once/)
- [Applications and Spelling of Boole](https://www.sicpers.info/2019/05/applications-and-spelling-of-boole/)
- [APPosite Concerns](https://www.sicpers.info/2014/09/apposite-concerns/)
- [APPropriate Behaviour is almost done](https://www.sicpers.info/2013/04/appropriate-behaviour-is-almost-done/)
- [APPropriate Behaviour is complete!](https://www.sicpers.info/2013/05/appropriate-behaviour-is-complete/)
- [Apres ca, le FOSDEM](https://www.sicpers.info/2007/02/apres-ca-le-fosdem/)
- [Are you an [X] programmer?](https://www.sicpers.info/2013/06/are-you-an-x-programmer/)
- [AROS](https://www.sicpers.info/2017/12/aros/)
- [As the Kaiser Chiefs might say: Ruby ruby ruby n00bie](https://www.sicpers.info/2013/04/as-the-kaiser-chiefs-might-say-ruby-ruby-ruby-n00bie/)
- [At the old/new interface: jQuery in WebObjects](https://www.sicpers.info/2013/07/at-the-oldnew-interface-jquery-in-webobjects/)
- [Automate all the server Objective-C!](https://www.sicpers.info/2012/03/automate-all-the-server-objective-c/)
- [Automated tests with the GNUstep test framework](https://www.sicpers.info/2013/11/automated-tests-with-the-gnustep-test-framework/)
- [Back from holiday](https://www.sicpers.info/2008/08/back-from-holiday/)
- [Beer improves perception of security](https://www.sicpers.info/2009/06/beer-improves-perception-of-security/)
- [Beginner thoughts](https://www.sicpers.info/2018/10/beginner-thoughts/)
- [Best. App. Evar!](https://www.sicpers.info/2006/10/best-app-evar/)
- [Better clear the office out, can't remember what the carpet looks like](https://www.sicpers.info/2006/08/better-clear-the-office-out-cant-remember-what-the-carpet-looks-like/)
- [better security, not always more security](https://www.sicpers.info/2008/12/better-security-not-always-more-security/)
- [Beware the IDEs](https://www.sicpers.info/2015/04/beware-the-ides/)
- [Blame culture](https://www.sicpers.info/2013/06/blame-culture/)
- [Blasty from the pasty](https://www.sicpers.info/2006/11/blasty-from-the-pasty/)
- [Book update: OOP the Easy Way](https://www.sicpers.info/2018/08/book-update-oop-the-easy-way/)
- [Bottom-up teaching](https://www.sicpers.info/2017/10/bottom-up-teaching/)
- [Broke track mounting](https://www.sicpers.info/2008/03/broke-track-mounting/)
- [BrowseOverflow as a Code Kata](https://www.sicpers.info/2012/05/browseoverflow-as-a-code-kata/)
- [Build systems are a huge annoyance](https://www.sicpers.info/2017/03/build-systems-are-a-huge-annoyance/)
- [Building a unit test target with GNUstep make](https://www.sicpers.info/2012/05/building-a-unit-test-target-with-gnustep-make/)
- [Building an object-oriented dispatch system in Objective-C](https://www.sicpers.info/2012/02/building-an-object-oriented-dispatch-system-in-objective-c/)
- [But where to go?](https://www.sicpers.info/2015/01/but-where-to-go/)
- [By doing it and helping others do it](https://www.sicpers.info/2021/04/by-doing-it-and-helping-others-do-it/)
- [By the river](https://www.sicpers.info/2016/12/by-the-river/)
- [By your _cmd](https://www.sicpers.info/2013/12/by-your-_cmd/)
- [Bye bye data, hello...the same data](https://www.sicpers.info/2007/05/bye-bye-data-hello-the-same-data/)
- [Can code be "readable"?](https://www.sicpers.info/2012/12/can-code-be-readable/)
- [Can Objective-C be given safe categories?](https://www.sicpers.info/2013/04/can-objective-c-be-given-safe-categories/)
- [Can't you just...](https://www.sicpers.info/2016/11/cant-you-just/)
- [Cap in Hand](https://www.sicpers.info/2021/02/cap-in-hand/)
- [Careful how you define your properties](https://www.sicpers.info/2010/05/careful-how-you-define-your-properties/)
- [Categories will bite you](https://www.sicpers.info/2011/04/categories-will-bite-you/)
- [Ch-ch-ch-ch-changes](https://www.sicpers.info/2015/05/ch-ch-ch-ch-changes/)
- [Change](https://www.sicpers.info/2019/10/change/)
- [Chiron Codex early bird ends soon](https://www.sicpers.info/2026/03/chiron-codex-early-bird-ends-soon/)
- [Choose boring employees](https://www.sicpers.info/2017/09/choose-boring-employees/)
- [Choose boring employers](https://www.sicpers.info/2017/09/choose-boring-employers/)
- [Choosing the correct openings and closures](https://www.sicpers.info/2013/09/choosing-the-correct-openings-and-closures/)
- [chord graphics](https://www.sicpers.info/2009/05/chord-graphics/)
- [Class clusters, placeholder objects, value-oriented programming, and all that good stuff.](https://www.sicpers.info/2012/05/class-clusters-placeholder-objects-value-oriented-programming-and-all-that-good-stuff/)
- [ClassBrowser's public face](https://www.sicpers.info/2014/02/classbrowsers-public-face/)
- [ClassBrowser: warts and all](https://www.sicpers.info/2014/01/classbrowser-warts-and-all/)
- [Classes are globals, too](https://www.sicpers.info/2012/05/classes-are-globals-too/)
- [Classes in objects in object-oriented programming in functional programming in Swift](https://www.sicpers.info/2015/06/classes-in-objects-in-object-oriented-programming-in-functional-programming-in-swift/)
- [Classism in software engineering](https://www.sicpers.info/2022/04/classism-in-software-engineering/)
- [Cleaner Code](https://www.sicpers.info/2018/12/cleaner-code/)
- [Clown Trousers](https://www.sicpers.info/2015/12/clown-trousers/)
- [Cocoa Memory Management](https://www.sicpers.info/2008/12/cocoa-memory-management/)
- [Cocoa#, Mono and Me](https://www.sicpers.info/2008/07/cocoa-mono-and-me/)
- [Cocoa: Model, View, Chuvmey](https://www.sicpers.info/2009/02/cocoa-model-view-chuvmey/)
- [CocoaHeads Swindon](https://www.sicpers.info/2008/07/cocoaheads-swindon/)
- [CocoaHeads Swindon is this Monday!](https://www.sicpers.info/2009/09/cocoaheads-swindon-is-this-monday/)
- [CocoaHeads Swindon tonight!](https://www.sicpers.info/2009/07/cocoaheads-swindon-tonight/)
- [CocoaHeads Swindon, January and February](https://www.sicpers.info/2010/01/cocoaheads-swindon-january-and-february/)
- [Code longevity](https://www.sicpers.info/2014/04/code-longevity/)
- [Code snippit from NSConference presentation](https://www.sicpers.info/2010/02/code-snippit-from-nsconference-presentation/)
- [Coding. Standards.](https://www.sicpers.info/2012/07/coding-standards/)
- [Come back, purple button, all is forgiven!](https://www.sicpers.info/2008/04/come-back-purple-button-all-is-forgiven/)
- [Coming to terms with fewer terms](https://www.sicpers.info/2018/11/coming-to-terms-with-fewer-terms/)
- [Coming very shortly...](https://www.sicpers.info/2009/07/coming-very-shortly/)
- [Comment word verification](https://www.sicpers.info/2006/08/comment-word-verification/)
- [Common sense writ large](https://www.sicpers.info/2008/07/common-sense-writ-large/)
- [Comparing Objective-C and Objective-C with Objective-C](https://www.sicpers.info/2012/04/comparing-objective-c-and-objective-c-with-objective-c/)
- [Compatibility](https://www.sicpers.info/2013/07/compatibility/)
- [Complex things possible](https://www.sicpers.info/2006/05/complex-things-possible/)
- [Computing's fundamental Principle of No Learning](https://www.sicpers.info/2017/12/computings-fundamental-principle-of-no-learning/)
- [Comrades in OpenStep](https://www.sicpers.info/2006/04/comrades-in-openstep/)
- [Concrete freedoms](https://www.sicpers.info/2020/08/concrete-freedoms/)
- [Concurrent objects and SCOOP](https://www.sicpers.info/2018/11/concurrent-objects-and-scoop/)
- [Configuring CruiseControl.rb in under an hour](https://www.sicpers.info/2010/06/configuring-cruisecontrol-rb-in-under-an-hour/)
- [Configuring your computer for local inference with a generative AI coding assistant](https://www.sicpers.info/2026/01/configuring-your-computer-for-local-inference-with-a-generative-ai-coding-assistant/)
- [Confine ALL the things!](https://www.sicpers.info/2012/03/confine-all-the-things/)
- [Conflicts in my mental model of Objective-C ](https://www.sicpers.info/2013/10/conflicts-in-my-mental-model-of-objective-c/)
- [Considered harmless](https://www.sicpers.info/2017/12/considered-harmless/)
- [Considering society](https://www.sicpers.info/2026/02/considering-society/)
- [Consulting versus micro-ISV development](https://www.sicpers.info/2009/12/consulting-versus-micro-isv-development/)
- [Continuous Integration for Amiga](https://www.sicpers.info/2020/05/continuous-integration-for-amiga/)
- [Contractually-obligated testing](https://www.sicpers.info/2014/08/contractually-obligated-testing/)
- [Controlling opportunity](https://www.sicpers.info/2009/04/controlling-opportunity/)
- [Copyleft](https://www.sicpers.info/2006/12/copyleft/)
- [Core Data Haiku competition results!](https://www.sicpers.info/2010/02/core-data-haiku-competition-results/)
- [Could effortless lecturers make everything seem too easy?](https://www.sicpers.info/2013/05/could-effortless-lecturers-make-everything-seem-too-easy/)
- [Coupling in a Cocoa[ Touch] App](https://www.sicpers.info/2013/03/coupling-in-a-cocoa-touch-app/)
- [Creating “sub-agents” with Mistral Vibe](https://www.sicpers.info/2026/01/creating-sub-agents-with-mistral-vibe/)
- [Criticising the Four Freedoms](https://www.sicpers.info/2015/09/criticising-the-four-freedoms/)
- [Culture Smell](https://www.sicpers.info/2017/06/culture-smell/)
- [Culture, heritage and apps](https://www.sicpers.info/2012/04/culture-heritage-and-apps/)
- [Dark Silicon](https://www.sicpers.info/2015/02/dark-silicon/)
- [Data curation during a pandemic](https://www.sicpers.info/2021/01/data-curation-during-a-pandemic/)
- [Depending on the self-interest of strangers](https://www.sicpers.info/2014/03/depending-on-the-self-interest-of-strangers/)
- [Deprecating yarn](https://www.sicpers.info/2019/05/deprecating-yarn/)
- [Design Patterns On Trial](https://www.sicpers.info/2022/02/design-patterns-on-trial/)
- [Designing a secure Cocoa application](https://www.sicpers.info/2008/07/designing-a-secure-cocoa-application/)
- [Detect the gagh lurking in your system!](https://www.sicpers.info/2009/05/detect-the-gagh-lurking-in-your-system/)
- [Detecting overflows, undefined behaviour and other nasties](https://www.sicpers.info/2013/01/detecting-overflows-undefined-behaviour-and-other-nasties/)
- [Détournement and Recuperation](https://www.sicpers.info/2014/11/detournement-and-recuperation/)
- [Diagnosing a Docker image build problem](https://www.sicpers.info/2022/02/diagnosing-a-docker-image-build-problem/)
- [Did that restructuring work actually help?](https://www.sicpers.info/2013/07/did-that-restructuring-work-actually-help/)
- [Did that work? Maybe.](https://www.sicpers.info/2015/05/did-that-work-maybe/)
- [Did the UK create a new kind of "Crypto Mule"?](https://www.sicpers.info/2010/12/did-the-uk-create-a-new-kind-of-crypto-mule/)
- [Did you miss my NSConference talk?](https://www.sicpers.info/2009/04/did-you-miss-my-nsconference-talk/)
- [Digital Declutter](https://www.sicpers.info/2019/04/digital-declutter/)
- [Discipline doesn't scale](https://www.sicpers.info/2020/10/discipline-doesnt-scale/)
- [Discovery](https://www.sicpers.info/2018/02/discovery/)
- [Does that thing you like doing actually work?](https://www.sicpers.info/2012/08/does-that-thing-you-like-doing-actually-work/)
- [Does the history of making software exist?](https://www.sicpers.info/2013/02/does-the-history-of-making-software-exist/)
- [Dogma-driven development](https://www.sicpers.info/2013/09/dogma-driven-development/)
- [Dogmatic paradigmatism](https://www.sicpers.info/2016/07/dogmatic-paradigmatism/)
- [Don't be a dick](https://www.sicpers.info/2011/09/dont-be-a-dick/)
- [Don't go there](https://www.sicpers.info/2008/02/dont-go-there/)
- [Dos Amigans](https://www.sicpers.info/2020/09/dos-amigans/)
- [Dynamic Method Dispatch in Object-Oriented Programming in Functional Programming in Swift](https://www.sicpers.info/2015/05/dynamic-method-dispatch-in-object-oriented-programming-in-functional-programming-in-swift/)
- [Eating one's own dog food](https://www.sicpers.info/2007/01/eating-ones-own-dog-food/)
- [Eating the bubble](https://www.sicpers.info/2018/06/eating-the-bubble/)
- [Elegant Object-oriented Software Design via Interactive, Evolutionary Computation](https://www.sicpers.info/2013/07/elegant-object-oriented-software-design-via-interactive-evolutionary-computation/)
- [Empowered free software](https://www.sicpers.info/2020/02/empowered-free-software/)
- [enum class in C++11](https://www.sicpers.info/2013/06/enum-class-in-c11/)
- [Essence and accident in language model-assisted coding](https://www.sicpers.info/2025/11/essence-and-accident-in-language-model-assisted-coding/)
- [Even more on generalist software engineering](https://www.sicpers.info/2022/05/even-more-on-generalist-software-engineering/)
- [Everyone rejecting everyone else](https://www.sicpers.info/2019/11/everyone-rejecting-everyone-else/)
- [Experts around the table](https://www.sicpers.info/2019/08/experts-around-the-table/)
- [Explicitly considering subtyping in inheritance](https://www.sicpers.info/2021/12/explicitly-considering-subtyping-in-inheritance/)
- [e[Mac]s keyboard](https://www.sicpers.info/2006/11/emacs-keyboard/)
- [Fairly cool update to GNUstep](https://www.sicpers.info/2007/02/fairly-cool-update-to-gnustep/)
- [Fairness](https://www.sicpers.info/2020/08/fairness/)
- [Falsehoods programmers believe about programming](https://www.sicpers.info/2017/12/falsehoods-programmers-believe-about-programming/)
- [Falsehoods programmers who write "falsehoods programmers believe" articles believe about programmers who read "falsehoods programmers believe" articles](https://www.sicpers.info/2019/06/falsehoods-programmers-who-write-falsehoods-programmers-believe-articles-believe-about-programmers-who-read-falsehoods-programmers-believe-articles/)
- [Falsehoods These Programmers Believed About Countries](https://www.sicpers.info/2022/01/falsehoods-these-programmers-believed-about-countries/)
- [FAQ update](https://www.sicpers.info/2007/02/faq-update/)
- [Fiction: The Ouroborus School pt 1](https://www.sicpers.info/2013/06/fiction-the-ouroborus-school-pt-1/)
- [Figurative Programming and Gloom: the [G]raphical [LOOM]](https://www.sicpers.info/2018/12/figurative-programming-and-gloom-the-graphical-loom/)
- [Finishing the ObjS story](https://www.sicpers.info/2015/06/finishing-the-objs-story/)
- [First, Consider no Harmful.](https://www.sicpers.info/2020/02/2252/)
- [Floating point numbers aren't weird](https://www.sicpers.info/2024/02/floating-point-numbers-arent-weird/)
- [Follow-up-and-slightly-over on safety/security](https://www.sicpers.info/2009/06/follow-up-and-slightly-over-on-safety-security/)
- [Forearmed](https://www.sicpers.info/2020/06/forearmed/)
- [FOSDEM](https://www.sicpers.info/2017/02/fosdem/)
- [FOSDEM / GNUstep photos](https://www.sicpers.info/2007/02/fosdem-gnustep-photos/)
- [Free apps with macdev ticket](https://www.sicpers.info/2008/12/free-apps-with-macdev-ticket/)
- [Free as in Water](https://www.sicpers.info/2020/09/free-as-in-water/)
- [free as in, well, free(1)](https://www.sicpers.info/2006/06/free-as-in-well-free1/)
- [Free Software should welcome contributions by Apple, Google](https://www.sicpers.info/2017/10/free-software-should-welcome-contributions-by-apple-google/)
- [From the no-man's-land of the format wars](https://www.sicpers.info/2008/02/from-the-no-mans-land-of-the-format-wars/)
- [FSF membership](https://www.sicpers.info/2007/12/fsf-membership/)
- [Fuck. This. Shit.](https://www.sicpers.info/2014/10/fuck-this-shit/)
- [Full Stack](https://www.sicpers.info/2017/02/full-stack-2/)
- [Full-stack](https://www.sicpers.info/2014/10/full-stack/)
- [Fun and games (with rewritten rules) in Objective-C](https://www.sicpers.info/2015/02/fun-and-games-with-rewritten-rules-in-objective-c/)
- [Functional Programming in Object-Oriented Programming in Functional Programming in Swift](https://www.sicpers.info/2015/06/functional-programming-in-object-oriented-programming-in-functional-programming-in-swift/)
- [Further Advances in Objective-Swift](https://www.sicpers.info/2015/06/further-advances-in-objective-swift/)
- [Fuzzing as a security testing tool](https://www.sicpers.info/2008/09/fuzzing-as-a-security-testing-tool/)
- [GAH!](https://www.sicpers.info/2006/09/gah/)
- [Garbage-collected Objective-C](https://www.sicpers.info/2013/07/garbage-collected-objective-c/)
- [Gently HURDing the side projects](https://www.sicpers.info/2018/01/gently-hurding-the-side-projects/)
- [Getting better at doing it wrong](https://www.sicpers.info/2015/05/getting-better-at-doing-it-wrong/)
- [Getting started on my Vampire V4](https://www.sicpers.info/2020/08/getting-started-on-my-vampire-v4/)
- [Give me an S](https://www.sicpers.info/2017/09/give-me-an-s/)
- [given-when-then in XCTest](https://www.sicpers.info/2018/10/given-when-then-in-xctest/)
- [GNU Terry Pratchett](https://www.sicpers.info/2015/03/gnu-terry-pratchett/)
- [GNUstep development on LIVEstep](https://www.sicpers.info/2021/01/gnustep-development-on-livestep/)
- [GNUstep is more important now than ever](https://www.sicpers.info/2017/11/gnustep-is-more-important-now-than-ever/)
- [Goals upon goals upon goals](https://www.sicpers.info/2014/07/goals-upon-goals-upon-goals/)
- [Going indie!](https://www.sicpers.info/2009/06/going-indie/)
- [Graham Lee Uses This](https://www.sicpers.info/2021/05/graham-lee-uses-this/)
- [Great Documentation, Great Software](https://www.sicpers.info/2019/10/great-documentation-great-software/)
- [Greetings, Jobs-pickers](https://www.sicpers.info/2006/08/greetings-jobs-pickers/)
- [Grooming the Backfog](https://www.sicpers.info/2019/01/grooming-the-backfog/)
- [grotag](https://www.sicpers.info/2020/08/grotag/)
- [Half a bee](https://www.sicpers.info/2019/04/half-a-bee/)
- [Halloween is Over](https://www.sicpers.info/2022/02/halloween-is-over/)
- [Happy 19th birthday, Cocoa!](https://www.sicpers.info/2013/10/happy-19th-birthday-cocoa/)
- [Happy 25th birthday to the manifesto for agile software development!](https://www.sicpers.info/2026/02/happy-25th-birthday-to-the-manifesto-for-agile-software-development/)
- [Happy Birthday, Objective-C!](https://www.sicpers.info/2013/02/happy-birthday-objective-c/)
- [HATEOAS app structure explained through some flimsy analogy](https://www.sicpers.info/2013/06/hateoas-app-structure-explained-through-some-flimsy-analogy/)
- [Having the right data](https://www.sicpers.info/2022/03/having-the-right-data/)
- [Head of Architecture](https://www.sicpers.info/2018/01/head-of-architecture/)
- [Hell hath frozen over](https://www.sicpers.info/2006/08/hell-hath-frozen-over/)
- [Hi, I'm Graham and I like things](https://www.sicpers.info/2025/06/hi-im-graham-and-i-like-things/)
- [Hidden gem](https://www.sicpers.info/2006/07/hidden-gem/)
- [Hiding behind messages](https://www.sicpers.info/2015/04/hiding-behind-messages/)
- [Holding a problem in your head](https://www.sicpers.info/2007/08/holding-a-problem-in-your-head/)
- [HotSwift](https://www.sicpers.info/2018/09/hotswift/)
- [How big is an integer?](https://www.sicpers.info/2013/01/how-big-is-an-integer/)
- [How exciting](https://www.sicpers.info/2008/04/how-exciting/)
- [How I got root on my University's UNIX network](https://www.sicpers.info/2013/07/how-i-got-root-on-my-universitys-unix-network/)
- [How much programming language is enough?](https://www.sicpers.info/2014/04/how-much-programming-language-is-enough/)
- [How people learn](https://www.sicpers.info/2012/07/how-people-learn/)
- [How retrospectives ban shoes](https://www.sicpers.info/2018/02/how-retrospectives-ban-shoes/)
- [How to answer questions the smart way](https://www.sicpers.info/2013/11/how-to-answer-questions-the-smart-way/)
- [How to excel at IDE design](https://www.sicpers.info/2012/09/how-to-excel-at-ide-design/)
- [How to find me](https://www.sicpers.info/2013/02/how-to-find-me/)
- [How to handle Xcode in your meta-build system's iOS or Mac app target](https://www.sicpers.info/2013/02/how-to-handle-xcode-in-your-meta-build-systems-ios-or-mac-app-target/)
- [How to hire Graham Lee](https://www.sicpers.info/2010/03/how-to-hire-graham-lee/)
- [How to solve every problem in Cocoa](https://www.sicpers.info/2008/01/how-to-solve-every-problem-in-cocoa/)
- [How to TDD with CATCH](https://www.sicpers.info/2012/03/how-to-tdd-with-catch/)
- [How to version a Mach-O library](https://www.sicpers.info/2013/03/how-to-version-a-mach-o-library/)
- [How UX Practitioners Produce Findings in Usability Testing](https://www.sicpers.info/2019/01/how-ux-practitioners-produce-findings-in-usability-testing/)
- [HPC at FOSDEM 2019](https://www.sicpers.info/2019/02/hpc-at-fosdem-2019/)
- [HPC's Shift to the Cloud](https://www.sicpers.info/2019/01/hpcs-shift-to-the-cloud/)
- [Hyperloops for our minds](https://www.sicpers.info/2019/03/hyperloops-for-the-mind/)
- [I do the stupid so you don't have to](https://www.sicpers.info/2013/05/i-do-the-stupid-so-you-dont-have-to/)
- [I don't use version control when I'm writing](https://www.sicpers.info/2021/04/i-dont-use-version-control-when-im-writing/)
- [I feel sorry for...](https://www.sicpers.info/2006/10/i-feel-sorry-for/)
- [I fix things for a living](https://www.sicpers.info/2016/12/i-fix-things-for-a-living/)
- [I have some small idea of what I'm doing](https://www.sicpers.info/2021/11/i-have-some-small-idea-of-what-im-doing/)
- [I just updated Appropriate Behaviour](https://www.sicpers.info/2013/02/i-just-updated-appropriate-behaviour/)
- [I made a web!](https://www.sicpers.info/2012/08/i-made-a-web/)
- [I make mistakes for a living](https://www.sicpers.info/2016/11/i-make-mistakes-for-a-living/)
- [I may have not been correct](https://www.sicpers.info/2009/04/i-may-have-not-been-correct/)
- [I published a new book!](https://www.sicpers.info/2012/12/i-published-a-new-book/)
- [I use mocks and I'm happy with that](https://www.sicpers.info/2014/05/i-use-mocks-and-im-happy-with-that/)
- [I was wrong, 80 characters is fine](https://www.sicpers.info/2023/09/i-was-wrong-80-characters-is-fine/)
- [I'm probably holding it wrong](https://www.sicpers.info/2018/10/im-probably-holding-it-wrong/)
- [I'm sorry, I haven't a Clu](https://www.sicpers.info/2008/11/im-sorry-i-havent-a-clu/)
- [I've vastly misunderstood the Single Responsibility Principle](https://www.sicpers.info/2023/10/ive-vastly-misunderstood-the-single-responsibility-principle/)
- [Ich habe mein Handy verloren](https://www.sicpers.info/2007/07/ich-habe-mein-handy-verloren/)
- [if ([self isKindOfClass:[whore class]]) [self promote];](https://www.sicpers.info/2006/11/if-self-iskindofclasswhore-class-self-promote/)
- [If Object-Oriented Programming were announced today](https://www.sicpers.info/2017/07/if-object-oriented-programming-were-announced-today/)
- [Illuminative-C](https://www.sicpers.info/2012/07/illuminative-c/)
- [Image](https://www.sicpers.info/2019/03/image/)
- [Immutable changes](https://www.sicpers.info/2019/11/immutable-changes/)
- [Imperative Programming in Swift](https://www.sicpers.info/2015/07/imperative-programming-in-swift/)
- [Impossibility and Uncertainty in AI](https://www.sicpers.info/2019/01/impossibility-and-uncertainty-in-ai/)
- [Improving a presentation with slides](https://www.sicpers.info/2015/09/improving-a-presentation-with-slides/)
- [In defence of assertions](https://www.sicpers.info/2017/05/in-defence-of-assertions/)
- [In defence of large teams](https://www.sicpers.info/2017/05/in-defence-of-large-teams/)
- [In defense of `id`](https://www.sicpers.info/2018/03/in-defense-of-id/)
- [In which a life re-emerges](https://www.sicpers.info/2024/10/in-which-a-life-re-emerges/)
- [In which GNUstep confuses and ultimately disappoints](https://www.sicpers.info/2017/09/in-which-gnustep-confuses-and-ultimately-disappoints/)
- [In which I interview so you don't have to](https://www.sicpers.info/2016/03/in-which-i-interview-so-you-dont-have-to/)
- [In which I misunderstood Objective-C](https://www.sicpers.info/2021/09/in-which-i-misunderstood-objective-c/)
- [In which I resolve](https://www.sicpers.info/2014/12/in-which-i-resolve/)
- [In which new developer tools are dull](https://www.sicpers.info/2017/10/in-which-new-developer-tools-are-dull/)
- [In which things are given names](https://www.sicpers.info/2023/11/in-which-things-are-given-names/)
- [In which things are not known](https://www.sicpers.info/2025/01/in-which-things-are-not-known/)
- [Indie app milestones part one](https://www.sicpers.info/2009/08/indie-app-milestones-part-one/)
- [Inheritance is old and busted](https://www.sicpers.info/2012/07/inheritance-is-old-and-busted/)
- [Inheritance still doesn't make any sense](https://www.sicpers.info/2018/04/inheritance-still-doesnt-make-any-sense/)
- [Init dead; no casualties](https://www.sicpers.info/2006/10/init-dead-no-casualties/)
- [Input-Output Maps are Strongly Biased Towards Simple Outputs](https://www.sicpers.info/2019/02/input-output-maps-are-strongly-biased-towards-simple-outputs/)
- [Inside-Out Apps](https://www.sicpers.info/2014/03/inside-out-apps/)
- [Inspired by Swift](https://www.sicpers.info/2015/03/inspired-by-swift/)
- [Integrating SSH with the keychain on Snow Leopard](https://www.sicpers.info/2010/03/integrating-ssh-with-the-keychain-on-snow-leopard/)
- [Intellectual property and software: the nuclear option](https://www.sicpers.info/2014/08/intellectual-property-and-software-the-nuclear-option/)
- [Intra-curricular activities](https://www.sicpers.info/2014/07/intra-curricular-activities/)
- [Introducing the SICPers Newsletter](https://www.sicpers.info/2022/01/introducing-the-sicpers-newsletter/)
- [Introducing: the Labrary](https://www.sicpers.info/2018/11/introducing-the-labrary/)
- [Intuitive is the Enemy of Good](https://www.sicpers.info/2014/04/intuitive-is-the-enemy-of-good/)
- [iPh0wnage](https://www.sicpers.info/2010/02/iph0wnage/)
- [Irresponsible tolerance](https://www.sicpers.info/2012/01/irresponsible-tolerance/)
- [Irritating annoying irritationnoyance of the day](https://www.sicpers.info/2006/07/irritating-annoying-irritationnoyance-of-the-day/)
- [Is Foundation a Utopian vision?](https://www.sicpers.info/2025/07/is-foundation-a-utopian-vision/)
- [Is Freedom Zero such a hot idea?](https://www.sicpers.info/2018/07/is-freedom-zero-such-a-hot-idea/)
- [Is it an anti-pattern to use properties everywhere?](https://www.sicpers.info/2012/02/is-it-an-anti-pattern-to-use-properties-everywhere/)
- [Is privacy a security feature?](https://www.sicpers.info/2012/05/is-privacy-a-security-feature/)
- [Is software engineering a thing?](https://www.sicpers.info/2025/01/is-software-engineering-a-thing/)
- [Is spec-driven development the end of Agile software development?](https://www.sicpers.info/2025/12/is-spec-driven-development-the-end-of-agile-software-development/)
- [Is TDD Dead? My questions](https://www.sicpers.info/2014/05/is-tdd-dead-my-questions/)
- [It depends? It depends.](https://www.sicpers.info/2015/03/it-depends-it-depends/)
- [It doesn't take an Oracle to see that coming](https://www.sicpers.info/2014/06/it-doesnt-take-an-oracle-to-see-that-coming/)
- [It protects. It also promotes and prevents.](https://www.sicpers.info/2020/06/it-protects-it-also-promotes-and-prevents/)
- [It was asked for: the "features" post](https://www.sicpers.info/2008/10/it-was-asked-for-the-features-post/)
- [It's about solving problems](https://www.sicpers.info/2014/01/its-about-solving-problems/)
- [It's about the thinking](https://www.sicpers.info/2018/02/its-about-the-thinking/)
- [It's just a big iPod](https://www.sicpers.info/2010/01/its-just-a-big-ipod/)
- [It's just like English](https://www.sicpers.info/2014/05/its-just-like-english/)
- [It's not @jnozzi's fault!](https://www.sicpers.info/2012/08/its-not-jnozzis-fault/)
- [It's the little things](https://www.sicpers.info/2015/02/its-the-little-things/)
- [It's update o'clock](https://www.sicpers.info/2007/08/its-update-oclock/)
- [Java By Contract: a Worked Example](https://www.sicpers.info/2019/01/java-by-contract-a-worked-example/)
- [Just because Brucie says it...](https://www.sicpers.info/2009/07/just-because-brucie-says-it/)
- [Just don't use version numbers](https://www.sicpers.info/2017/01/just-dont-use-version-numbers/)
- [King Arthur: By what name are you known?](https://www.sicpers.info/2019/04/king-arthur-by-what-name-are-you-known/)
- [Know what counts](https://www.sicpers.info/2013/07/know-what-counts/)
- [KVO and +initialize](https://www.sicpers.info/2009/07/kvo-and-initialize/)
- [Laggards don't buy apps: devil's advocate edition](https://www.sicpers.info/2014/02/laggards-dont-buy-apps-devils-advocate-edition/)
- [Lambda: the ultimate polymath](https://www.sicpers.info/2020/11/lambda-the-ultimate-polymath/)
- [Last Chance: Ultimate Programmer Super Stack](https://www.sicpers.info/2019/02/last-chance-ultimate-programmer-super-stack/)
- [Layers of Distraction](https://www.sicpers.info/2015/01/layers-of-distraction/)
- [Learn Mansplaining The Hard Way](https://www.sicpers.info/2015/01/learn-mansplaining-the-hard-way/)
- [Learning about software freedom](https://www.sicpers.info/2016/11/learning-about-software-freedom/)
- [Learning phases](https://www.sicpers.info/2015/02/learning-phases/)
- [Lest I forget](https://www.sicpers.info/2006/06/lest-i-forget/)
- [Let's talk about self-documenting code](https://www.sicpers.info/2018/04/lets-talk-about-self-documenting-code/)
- [Licenses aren’t sufficient](https://www.sicpers.info/2022/01/licenses-arent-sufficient/)
- [Lighter UIViewControllers](https://www.sicpers.info/2013/06/lighter-uiviewcontrollers/)
- [Like Java, only functional](https://www.sicpers.info/2015/02/like-java-only-functional/)
- [Linus's Bystanders](https://www.sicpers.info/2015/03/linuss-bystanders/)
- [Literate Programming with LibreOffice](https://www.sicpers.info/2017/05/literate-programming-with-libreoffice/)
- [Little hack to help with testing](https://www.sicpers.info/2008/06/little-hack-to-help-with-testing/)
- [LLMs and reinforcement learning](https://www.sicpers.info/2025/10/llms-and-reinforcement-learning/)
- [LLVM projects you may not be aware of](https://www.sicpers.info/2010/05/llvm-projects-you-may-not-be-aware-of/)
- [Local KDC on Leopard](https://www.sicpers.info/2008/06/local-kdc-on-leopard/)
- [Longer, fuller stacks](https://www.sicpers.info/2019/06/longer-fuller-stacks/)
- [Look what the feds left behind…](https://www.sicpers.info/2010/02/look-what-the-feds-left-behind/)
- [Losing your identity](https://www.sicpers.info/2010/04/losing-your-identity/)
- [Mac App Sandboxing: it may not be for you (but that's probably OK)](https://www.sicpers.info/2011/11/mac-app-sandboxing-it-may-not-be-for-you-but-thats-probably-ok/)
- [Mac user Gmail account hack](https://www.sicpers.info/2008/09/mac-user-gmail-account-hack/)
- [MacDev 2009!](https://www.sicpers.info/2008/09/macdev-2009/)
- [MacFUSE rules](https://www.sicpers.info/2008/02/macfuse-rules/)
- [Mach and Matchmaker: kernel and language support for object-oriented distributed systems](https://www.sicpers.info/2019/03/mach-and-matchmaker-kernel-and-language-support-for-object-oriented-distributed-systems/)
- [Mach-O FS (no really, MacFUSE does rule)](https://www.sicpers.info/2008/02/mach-o-fs-no-really-macfuse-does-rule/)
- [Mach-OFS: aforementioned polish and functionality](https://www.sicpers.info/2008/02/mach-ofs-aforementioned-polish-and-functionality/)
- [machoo - Object-Oriented Programming in Object-Oriented Programming in the GNU HURD](https://www.sicpers.info/2018/02/machoo-object-oriented-programming-in-object-oriented-programming-in-the-gnu-hurd/)
- [Mail::Box++](https://www.sicpers.info/2007/03/mailbox/)
- [Making computing exciting](https://www.sicpers.info/2011/07/making-computing-exciting/)
- [Making my peace](https://www.sicpers.info/2018/10/making-my-peace/)
- [Management is the wrong analogy for LLM augmentation](https://www.sicpers.info/2025/12/management-is-the-wrong-analogy-for-llm-augmentation/)
- [Managers: Don't bend it that far, you'll break it!](https://www.sicpers.info/2008/05/managers-dont-bend-it-that-far-youll-break-it/)
- [Mapping software engineering tools](https://www.sicpers.info/2018/12/mapping-software-engineering-tools/)
- [Mature Optimization](https://www.sicpers.info/2020/05/mature-optimization/)
- [Maybe you are going to need it](https://www.sicpers.info/2019/08/maybe-you-are-going-to-need-it/)
- [Me.com. Your identity, everywhere.](https://www.sicpers.info/2008/09/me-com-your-identity-everywhere/)
- [Meaningless Vapid Catchphrase](https://www.sicpers.info/2014/01/meaningless-vapid-catchphrase/)
- [Messily Veneered C](https://www.sicpers.info/2014/02/messily-veneered-c/)
- [Messing about with Clang](https://www.sicpers.info/2012/05/messing-about-with-clang/)
- [Meta-writing](https://www.sicpers.info/2013/05/meta-writing/)
- [Metacognition-driven development](https://www.sicpers.info/2012/05/metacognition-driven-development/)
- [Microblogging](https://www.sicpers.info/2008/07/microblogging/)
- [Microservices for the Desktop](https://www.sicpers.info/2018/11/microservices-for-the-desktop/)
- [Minimum Viable Controller](https://www.sicpers.info/2017/01/minimum-viable-controller/)
- [Miniwindows](https://www.sicpers.info/2007/06/miniwindows/)
- [Missing Vital Content](https://www.sicpers.info/2014/02/missing-vital-content/)
- [Moderately Valuable Cliché](https://www.sicpers.info/2014/02/moderately-valuable-cliche/)
- [More about the privacy pledge](https://www.sicpers.info/2012/03/more-about-the-privacy-pledge/)
- [More detail on software requirements](https://www.sicpers.info/2022/06/more-detail-on-software-requirements/)
- [More Excel-lent Adventures](https://www.sicpers.info/2014/10/more-excel-lent-adventures/)
- [More micros, less Guinness](https://www.sicpers.info/2022/06/more-micros-less-guinness/)
- [More NSConf code signing fun](https://www.sicpers.info/2010/02/more-nsconf-code-signing-fun/)
- [More on freedom and licensing](https://www.sicpers.info/2018/08/more-on-freedom-and-licensing/)
- [More on Layers](https://www.sicpers.info/2014/10/more-on-layers/)
- [More on MacDev](https://www.sicpers.info/2008/11/more-on-macdev/)
- [More on UIAutomation tests](https://www.sicpers.info/2018/10/more-on-uiautomation-tests/)
- [More progress on Parallels](https://www.sicpers.info/2006/04/more-progress-on-parallels/)
- [More security processes go wrong](https://www.sicpers.info/2013/05/more-security-processes-go-wrong/)
- [More speed, lower velocity](https://www.sicpers.info/2018/12/more-speed-lower-velocity/)
- [Most favouritest and least favourite Macs](https://www.sicpers.info/2009/01/most-favouritest-and-least-favourite-macs/)
- [Moving on](https://www.sicpers.info/2007/06/moving-on/)
- [MUI](https://www.sicpers.info/2018/01/mui/)
- [Music](https://www.sicpers.info/2020/07/music/)
- [Mutable objects in immutable objects in object-oriented programming in functional programming in Swift](https://www.sicpers.info/2015/06/mutable-objects-in-immutable-objects-in-object-oriented-programming-in-functional-programming-in-swift/)
- [My changing relationship with books](https://www.sicpers.info/2019/07/my-changing-relationship-with-books/)
- [My discs have been Americanised!](https://www.sicpers.info/2008/03/my-discs-have-been-americanised/)
- [My first rails app](https://www.sicpers.info/2019/07/my-first-rails-app/)
- [My name in lights](https://www.sicpers.info/2008/05/my-name-in-lights/)
- [My platform is no platform](https://www.sicpers.info/2017/11/my-platform-is-no-platform/)
- [My proposal for scaling open source: don't](https://www.sicpers.info/2021/07/my-proposal-for-scaling-open-source-dont/)
- [My use of Latin: a glossary](https://www.sicpers.info/2014/03/my-use-of-latin-a-glossary/)
- [Naming things](https://www.sicpers.info/2021/05/naming-things/)
- [Nearly the end-of-year review](https://www.sicpers.info/2009/12/nearly-the-end-of-year-review/)
- [NetBSD running on G5](https://www.sicpers.info/2006/06/netbsd-running-on-g5/)
- [Netscape won](https://www.sicpers.info/2018/05/netscape-won/)
- [New book: APPosite Concerns](https://www.sicpers.info/2016/01/new-book-apposite-concerns/)
- [New c.l.o-c alternative FAQ](https://www.sicpers.info/2006/05/new-c-l-o-c-alternative-faq/)
- [New project: a dance a day](https://www.sicpers.info/2015/11/new-prpject-a-dance-a-day/)
- [New project: the GNUstep developer guide](https://www.sicpers.info/2017/01/new-project-the-gnustep-developer-guide/)
- [New Swift hardware](https://www.sicpers.info/2019/04/new-swift-hardware/)
- [New website](https://www.sicpers.info/2006/08/new-website/)
- [Next CocoaHeads Swindon meet!](https://www.sicpers.info/2009/07/next-cocoaheads-swindon-meet/)
- [Next CocoaHeads Swindon meeting](https://www.sicpers.info/2008/08/next-cocoaheads-swindon-meeting/)
- [NeXT Luminaries](https://www.sicpers.info/2006/08/next-luminaries/)
- [Next Swindon CocoaHeads meeting](https://www.sicpers.info/2009/09/next-swindon-cocoaheads-meeting/)
- [Nice things about ObjC](https://www.sicpers.info/2008/03/nice-things-about-objc/)
- [Nice-looking LaTeX Unicode](https://www.sicpers.info/2007/10/nice-looking-latex-unicode/)
- [NIMBY Objects](https://www.sicpers.info/2013/09/nimby-objects/)
- [No True Humpty-Dumpty](https://www.sicpers.info/2018/02/no-true-humpty-dumpty/)
- [No worries, mate!](https://www.sicpers.info/2006/07/no-worries-mate/)
- [No, you can't ignore politics](https://www.sicpers.info/2016/12/no-you-cant-ignore-politics/)
- [Non-standard components](https://www.sicpers.info/2024/04/non-standard-components/)
- [Non-subscription updates means charged?](https://www.sicpers.info/2008/02/non-subscription-updates-means-charged/)
- [Novel bean incoming](https://www.sicpers.info/2021/01/novel-bean-incoming/)
- [NSConference MINI videos available](https://www.sicpers.info/2010/07/nsconference-mini-videos-available/)
- [NSConference videos](https://www.sicpers.info/2009/07/nsconference-videos/)
- [NSConference: the aftermath](https://www.sicpers.info/2009/04/nsconference-the-aftermath/)
- [Nvidia and ARM](https://www.sicpers.info/2020/08/nvidia-and-arm/)
- [ObjC FAQ update](https://www.sicpers.info/2006/09/objc-faq-update-2/)
- [ObjC FAQ update](https://www.sicpers.info/2008/06/objc-faq-update/)
- [Object-Oriented callback design](https://www.sicpers.info/2012/11/object-oriented-callback-design/)
- [Object-Oriented Programming in 1714](https://www.sicpers.info/2014/12/object-oriented-programming-in-1714/)
- [Object-Oriented Programming in Functional Programming in Swift](https://www.sicpers.info/2015/05/object-oriented-programming-in-functional-programming-in-swift/)
- [Object-Oriented Programming in Objective-C](https://www.sicpers.info/2015/05/object-oriented-programming-in-objective-c/)
- [Objective-C Design Patterns](https://www.sicpers.info/2007/12/objective-c-design-patterns/)
- [Objective-C literals and subscripts](https://www.sicpers.info/2012/06/objective-c-literals-and-subscripts/)
- [Objective-C NAQs](https://www.sicpers.info/2008/06/objective-c-naqs/)
- [Objective-C, dependencies, linking](https://www.sicpers.info/2013/05/objective-c-dependencies-linking/)
- [Objective-Curry](https://www.sicpers.info/2015/02/objective-curry/)
- [Obsolescence](https://www.sicpers.info/2020/08/obsolescence/)
- [Official Google Mac Blog: Measuring performance of distributed notifications](https://www.sicpers.info/2007/05/official-google-mac-blog-measuring-performance-of-distributed-notifications/)
- [Old news](https://www.sicpers.info/2007/09/old-news/)
- [OmniWeb 5.6 tip of the day](https://www.sicpers.info/2007/10/omniweb-5-6-tip-of-the-day/)
- [On a re-read you realise this isn't really about Swift](https://www.sicpers.info/2014/06/on-a-re-read-you-realise-this-isnt-really-about-swift/)
- [On adopting testing, and CocoaDojos](https://www.sicpers.info/2011/05/on-adopting-testing-and-cocoadojos/)
- [On advertising's place in the tech industry](https://www.sicpers.info/2012/03/on-advertisings-place-in-the-tech-industry/)
- [On Apple's swings and misses](https://www.sicpers.info/2022/01/on-apples-swings-and-misses/)
- [On association](https://www.sicpers.info/2023/02/on-association/)
- [On authorization proxy objects](https://www.sicpers.info/2010/07/on-authorization-proxy-objects/)
- [On Being a Software Person](https://www.sicpers.info/2011/03/on-being-a-software-person/)
- [On BizSpark](https://www.sicpers.info/2011/05/on-bizspark/)
- [On Blue Agile](https://www.sicpers.info/2018/11/on-blue-agile/)
- [On books](https://www.sicpers.info/2017/09/on-books/)
- [On comment docs](https://www.sicpers.info/2011/03/on-comment-docs/)
- [On community](https://www.sicpers.info/2012/07/on-community/)
- [On counting numbers](https://www.sicpers.info/2011/03/on-counting-numbers/)
- [On cryptographic file storage](https://www.sicpers.info/2011/04/on-cryptographic-file-storage/)
- [On default keychain settings](https://www.sicpers.info/2009/04/on-default-keychain-settings/)
- [On designing collections](https://www.sicpers.info/2013/04/on-designing-collections/)
- [On detecting God Classes](https://www.sicpers.info/2010/07/on-detecting-god-classes/)
- [On device identifiers](https://www.sicpers.info/2011/08/on-device-identifiers/)
- [On documentation](https://www.sicpers.info/2010/10/on-documentation/)
- [On dynamic vs. static polymorphism](https://www.sicpers.info/2009/04/on-dynamic-vs-static-polymorphism/)
- [On entering programming in 2022](https://www.sicpers.info/2022/07/on-entering-programming-in-2022/)
- [On explaining stuff to people](https://www.sicpers.info/2011/12/on-explaining-stuff-to-people/)
- [On exploding boilers](https://www.sicpers.info/2019/11/on-exploding-boilers/)
- [On Fitt's Law and Security](https://www.sicpers.info/2010/07/on-fitts-law-and-security/)
- [On free apps](https://www.sicpers.info/2012/07/on-free-apps/)
- [On free Mac Anti-Virus](https://www.sicpers.info/2010/11/on-free-mac-anti-virus-2/)
- [On Fuzzy Aliens](https://www.sicpers.info/2010/12/on-fuzzy-aliens/)
- [On having things to say](https://www.sicpers.info/2015/07/on-having-things-to-say/)
- [On home truths in iOS TDD](https://www.sicpers.info/2012/02/on-home-truths-in-ios-tdd/)
- [On how to get crypto wrong](https://www.sicpers.info/2010/12/on-how-to-get-crypto-wrong/)
- [On Ignoring the Tests](https://www.sicpers.info/2010/10/on-ignoring-the-tests/)
- [On immutable data structures…?](https://www.sicpers.info/2016/03/on-immutable-data-structures/)
- [On improved tool support for Cocoa developers](https://www.sicpers.info/2010/05/on-improved-tool-support-for-cocoa-developers/)
- [On industry malaise](https://www.sicpers.info/2021/05/on-industry-malaise/)
- [On Inheritance](https://www.sicpers.info/2018/03/on-inheritance/)
- [On internal quality](https://www.sicpers.info/2011/04/on-internal-quality/)
- [On interviewing and generalist software engineers](https://www.sicpers.info/2022/05/on-interviewing-and-generalist-software-engineers/)
- [On legitimacy and software engineering](https://www.sicpers.info/2023/07/on-legitimacy-and-software-engineering/)
- [On localisation and security](https://www.sicpers.info/2010/05/on-localisation-and-security/)
- [On McAfee](https://www.sicpers.info/2010/08/on-mcafee/)
- [On Mental Health](https://www.sicpers.info/2014/08/on-mental-health/)
- [On multitasking](https://www.sicpers.info/2010/02/on-multitasking/)
- [On my newer competence](https://www.sicpers.info/2012/04/on-my-newer-competence/)
- [On my own competency](https://www.sicpers.info/2011/04/on-my-own-competency/)
- [On noodles](https://www.sicpers.info/2009/03/on-noodles/)
- [On Nostalgia for Physical Media](https://www.sicpers.info/2025/02/on-nostalgia-for-physical-media/)
- [On NSInvocation](https://www.sicpers.info/2011/03/on-nsinvocation/)
- [On NSNull as an anti-pattern](https://www.sicpers.info/2010/05/on-nsnull-as-an-anti-pattern/)
- [On null](https://www.sicpers.info/2018/05/on-null/)
- [On Null Objects](https://www.sicpers.info/2012/07/on-null-objects/)
- [On Operation Chokehold](https://www.sicpers.info/2009/12/on-operation-chokehold/)
- [On opinionation](https://www.sicpers.info/2015/01/on-opinionation/)
- [On or Between](https://www.sicpers.info/2022/04/on-or-between/)
- [On phone support scams and fake AV](https://www.sicpers.info/2010/11/on-phone-support-scams-and-fake-av/)
- [On platform-specific strategies](https://www.sicpers.info/2011/05/on-platform-specific-strategies/)
- [On privacy, hashing, and your customers](https://www.sicpers.info/2012/02/on-privacy-hashing-and-your-customers/)
- [On private methods](https://www.sicpers.info/2010/07/on-private-methods/)
- [On programmer behaviours that make Scrum so bad](https://www.sicpers.info/2021/08/on-programmer-behaviours-that-make-scrum-so-bad/)
- [On protocols that aren't](https://www.sicpers.info/2013/05/on-protocols-that-arent/)
- [On rational myths](https://www.sicpers.info/2023/11/on-rational-myths/)
- [On repeatable builds](https://www.sicpers.info/2011/02/on-repeatable-builds/)
- [On rewriting your application](https://www.sicpers.info/2013/04/on-rewriting-your-application/)
- [On running out of words](https://www.sicpers.info/2015/07/on-running-out-of-words/)
- [On saying words clearly](https://www.sicpers.info/2020/09/on-saying-words-clearly/)
- [On Scarcity](https://www.sicpers.info/2022/11/on-scarcity/)
- [On Scientific Computing](https://www.sicpers.info/2013/07/on-scientific-computing/)
- [On secrets](https://www.sicpers.info/2010/11/on-secrets/)
- [On self-taught coders](https://www.sicpers.info/2022/06/on-self-taught-coders/)
- [On Sharecropping](https://www.sicpers.info/2018/09/on-sharecropping/)
- [On Singleton(s)](https://www.sicpers.info/2011/02/on-singletons/)
- [On software engineering hermeneutics](https://www.sicpers.info/2023/12/on-software-engineering-hermeneutics/)
- [On squeezing out that last ounce of performance](https://www.sicpers.info/2011/02/on-squeezing-out-that-last-ounce-of-performance/)
- [On SSL Pinning for Cocoa [Touch]](https://www.sicpers.info/2011/12/on-ssl-pinning-for-cocoa-touch/)
- [On standards in free software engineering](https://www.sicpers.info/2012/01/on-standards-in-free-software-engineering/)
- [On stopping service management abuse](https://www.sicpers.info/2010/07/on-stopping-service-management-abuse/)
- [On study-only licences](https://www.sicpers.info/2018/07/on-study-only-licences/)
- [On switching to Linux](https://www.sicpers.info/2015/01/on-switching-to-linux/)
- [On the "advances" in web development since 1995](https://www.sicpers.info/2017/08/on-the-advances-in-web-development-since-1995/)
- [On the broken(?) Mac App Store](https://www.sicpers.info/2011/01/on-the-broken-mac-app-store/)
- [On the business case for (or against) software](https://www.sicpers.info/2016/11/on-the-business-case-for-or-against-software/)
- [On the Consolation of Software Engineering](https://www.sicpers.info/2024/12/on-the-consolation-of-software-engineering/)
- [On the continuous history of approximation](https://www.sicpers.info/2019/01/on-the-continuous-history-of-approximation/)
- [On the design of iOS 7 and iconographoclasm](https://www.sicpers.info/2013/06/on-the-design-of-ios-7-and-iconographoclasm/)
- [On the economics of software insecurity](https://www.sicpers.info/2012/01/on-the-economics-of-software-insecurity/)
- [On the efficient allocation of scarce resources with alternative uses](https://www.sicpers.info/2019/08/on-the-efficient-allocation-of-scarce-resources-with-alternative-uses/)
- [On the extension of code signing](https://www.sicpers.info/2010/06/on-the-extension-of-code-signing/)
- [On the extremes of computer science](https://www.sicpers.info/2016/10/on-the-extremes-of-computer-science/)
- [On the features of a portfolio career](https://www.sicpers.info/2019/06/on-the-features-of-a-portfolio-career/)
- [On the fitness for purpose of a software model](https://www.sicpers.info/2017/01/on-the-fitness-for-purpose-of-a-software-model/)
- [On the glorification of ignorance](https://www.sicpers.info/2022/01/on-the-glorification-of-ignorance/)
- [On the inevitability of Photoshop for iPad](https://www.sicpers.info/2018/10/on-the-inevitability-of-photoshop-for-ipad/)
- [On the lesser presentations](https://www.sicpers.info/2017/11/on-the-lesser-presentations/)
- [On the locations of the bullet holes on bombers that land successfully](https://www.sicpers.info/2022/05/on-the-locations-of-the-bullet-holes-on-bombers-that-land-successfully/)
- [On the Mac App Store](https://www.sicpers.info/2010/12/on-the-mac-app-store/)
- [On the magic of key agreement](https://www.sicpers.info/2012/04/on-the-magic-of-key-agreement/)
- [On the new Lion security things](https://www.sicpers.info/2011/07/on-the-new-lion-security-things/)
- [On the rhetorical cost of ownership](https://www.sicpers.info/2016/11/on-the-rhetorical-cost-of-ownership/)
- [On the top 5 iOS appsec issues](https://www.sicpers.info/2011/05/on-the-top-5-ios-appsec-issues/)
- [On the tyranny of autoincrementing integer primary keys](https://www.sicpers.info/2020/03/on-the-tyranny-of-autoincrementing-integer-primary-keys/)
- [On the value of old principles](https://www.sicpers.info/2025/12/on-the-value-of-old-principles/)
- [On thinking machines](https://www.sicpers.info/2026/03/on-thinking-machines/)
- [On Timeless Programming Books](https://www.sicpers.info/2011/01/on-timeless-programming-books/)
- [On too much and too little](https://www.sicpers.info/2014/04/on-too-much-and-too-little/)
- [On Trashing](https://www.sicpers.info/2010/07/on-trashing/)
- [On twitter [or otherwise]](https://www.sicpers.info/2018/05/on-twitter-or-otherwise/)
- [On type safety and making it harder to write buggy code](https://www.sicpers.info/2010/05/on-type-safety-and-making-it-harder-to-write-buggy-code/)
- [On UML](https://www.sicpers.info/2021/04/on-uml/)
- [On utilities](https://www.sicpers.info/2010/11/on-utilities/)
- [On version 12](https://www.sicpers.info/2018/06/on-version-12/)
- [On voices that matter](https://www.sicpers.info/2010/08/on-voices-that-matter/)
- [On what makes a "good" comment](https://www.sicpers.info/2013/07/on-what-makes-a-good-comment/)
- [On what Marcus said](https://www.sicpers.info/2011/06/on-what-marcus-said/)
- [On whiteboard coding](https://www.sicpers.info/2024/02/on-whiteboard-coding/)
- [On Windows 8](https://www.sicpers.info/2011/09/on-windows-8/)
- [On working machines](https://www.sicpers.info/2026/03/on-working-machines/)
- [On writing a book](https://www.sicpers.info/2010/04/on-writing-a-book/)
- [On XP mode](https://www.sicpers.info/2009/08/on-xp-mode/)
- [On, or rather in, Seattle](https://www.sicpers.info/2011/02/on-or-rather-in-seattle/)
- [One decade in](https://www.sicpers.info/2014/08/one-decade-in/)
- [One meeellleeon](https://www.sicpers.info/2014/05/one-meeellleeon/)
- [One person per task](https://www.sicpers.info/2021/03/one-person-per-task/)
- [One reason multiple inheritance sucks](https://www.sicpers.info/2006/11/one-reason-multiple-inheritance-sucks/)
- [One Window that is good for Mac security](https://www.sicpers.info/2010/03/one-window-that-is-good-for-mac-security/)
- [OOP as an organic approach to computing](https://www.sicpers.info/2017/11/oop-as-an-organic-approach-to-computing/)
- [OOP the Easy Way](https://www.sicpers.info/2018/07/oop-the-easy-way/)
- [OOP the Easy Way: now 100% complete](https://www.sicpers.info/2018/09/oop-the-easy-way-now-100-complete/)
- [Oops. (updated twice)](https://www.sicpers.info/2010/02/oops/)
- [Open Source and the Lehrer-von Braun defence](https://www.sicpers.info/2014/05/open-source-and-the-lehrer-von-braun-defence/)
- [Open Source: because I got mine, so fuck you](https://www.sicpers.info/2017/07/open-source-because-i-got-mine-so-fuck-you/)
- [OPENSTEP/Parallels/VirtualPC/Spam](https://www.sicpers.info/2006/09/openstep-parallels-virtualpc-spam/)
- [Opinionated Read: How AI Impacts Skill Formation](https://www.sicpers.info/2026/02/opinionated-read-how-ai-impacts-skill-formation/)
- [Or maybe, because we want to](https://www.sicpers.info/2018/06/or-maybe-because-we-want-to/)
- [OS r us](https://www.sicpers.info/2006/06/os-r-us/)
- [Overdoing the risk management](https://www.sicpers.info/2008/09/overdoing-the-risk-management/)
- [Oxford University course on collaborative coding](https://www.sicpers.info/2019/05/oxford-university-course-on-collaborative-coding/)
- [Packaging software](https://www.sicpers.info/2018/11/packaging-software/)
- [PADDs, not the iPad](https://www.sicpers.info/2014/07/padds-not-the-ipad/)
- [Pairing in Github](https://www.sicpers.info/2020/01/pairing-in-github/)
- [Parallels 2.1 beta 5](https://www.sicpers.info/2006/04/parallels-2-1-beta-5/)
- [Parallels and OpenStep: success!](https://www.sicpers.info/2006/04/parallels-and-openstep-success/)
- [Parallels may, in fact, be completely dumb](https://www.sicpers.info/2006/09/parallels-may-in-fact-be-completely-dumb/)
- [Parallels RC and OPENSTEP works!](https://www.sicpers.info/2006/05/parallels-rc-and-openstep-works/)
- [Password checking with CommonCrypto](https://www.sicpers.info/2012/07/password-checking-with-commoncrypto/)
- [Permissions whee!](https://www.sicpers.info/2008/01/permissions-whee/)
- [Phrases in computing that might need retiring](https://www.sicpers.info/2022/07/phrases-in-computing-that-might-need-retiring/)
- [PL personality theory](https://www.sicpers.info/2015/08/pl-personality-theory/)
- [Planet of the Apps](https://www.sicpers.info/2014/06/planet-of-the-apps/)
- [Poke the other one, it's got bells on](https://www.sicpers.info/2009/11/poke-the-other-one-its-got-bells-on/)
- [Post #100!](https://www.sicpers.info/2007/11/post-100/)
- [Pre-order professional Mac security books!](https://www.sicpers.info/2010/02/pre-order-professional-mac-security-books/)
- [Preparing for Computing's Big One-Oh-Oh](https://www.sicpers.info/2014/04/preparing-for-computings-big-one-oh-oh/)
- [Prepping for WWDC](https://www.sicpers.info/2009/05/prepping-for-wwdc/)
- [Principled Lizards](https://www.sicpers.info/2014/03/principled-lizards/)
- [Product teams: our products are not our products](https://www.sicpers.info/2018/12/product-teams-our-products-are-not-our-products/)
- [Programmer Values](https://www.sicpers.info/2013/07/programmer-values/)
- [Programming as a societal roadblock](https://www.sicpers.info/2014/01/programming-as-a-societal-roadblock/)
- [Programming is not a craft](https://www.sicpers.info/2015/05/programming-is-not-a-craft/)
- [Programming language advent](https://www.sicpers.info/2014/12/programming-language-advent/)
- [Programming Literate Manifesto](https://www.sicpers.info/2013/07/programming-literate-manifesto/)
- [Programming, language](https://www.sicpers.info/2023/10/programming-language/)
- [Programming, maths and the other things](https://www.sicpers.info/2014/08/programming-maths-and-the-other-things/)
- [Project: Autonomous Revolutionary Goldfish](https://www.sicpers.info/2008/01/project-autonomous-revolutionary-goldfish/)
- [Prompting software or supporting engineering](https://www.sicpers.info/2025/10/prompting-software-or-supporting-engineering/)
- [Properties about a year on](https://www.sicpers.info/2008/10/properties-about-a-year-on/)
- [Protecting source code](https://www.sicpers.info/2010/12/protecting-source-code/)
- [Protocol-Oriented Programming in Objective-C](https://www.sicpers.info/2015/06/protocol-oriented-programming-in-objective-c/)
- [Prototypical object-oriented programming](https://www.sicpers.info/2017/05/prototypical-object-oriented-programming/)
- [PVS file](https://www.sicpers.info/2006/06/pvs-file/)
- [Pythonicity](https://www.sicpers.info/2019/04/pythonicity/)
- [Quick antispam observation](https://www.sicpers.info/2009/01/quick-antispam-observation/)
- [Quote of the year (so far)](https://www.sicpers.info/2009/01/quote-of-the-year-so-far/)
- [Quotes on JavaScript](https://www.sicpers.info/2014/12/quotes-on-javascript/)
- [Random collection of amazing stuff](https://www.sicpers.info/2007/08/random-collection-of-amazing-stuff/)
- [Ratio](https://www.sicpers.info/2019/03/ratio/)
- [Re-evaluating second brains](https://www.sicpers.info/2023/08/re-evaluating-second-brains/)
- [Reading List](https://www.sicpers.info/2013/10/reading-list/)
- [Reasoning about reasoning about software](https://www.sicpers.info/2017/12/reasoning-about-reasoning-about-software/)
- [Rebooting the Programmer Competency Matrix](https://www.sicpers.info/2013/04/rebooting-the-programmer-competency-matrix/)
- [Recommend me some books or articles](https://www.sicpers.info/2017/10/recommend-me-some-books-or-articles/)
- [Recovering from deleting your login shell on a Mac](https://www.sicpers.info/2020/11/recovering-from-deleting-your-login-shell-on-a-mac/)
- [Refactor your code from the command-line](https://www.sicpers.info/2009/07/refactor-your-code-from-the-command-line/)
- [Reflections on "Is TDD Dead"](https://www.sicpers.info/2014/06/reflections-on-is-tdd-dead/)
- [Reflections on an iBook G4](https://www.sicpers.info/2020/10/reflections-on-an-ibook-g4/)
- [Regaining your identity](https://www.sicpers.info/2010/04/regaining-your-identity/)
- [Rehearsals in beta!](https://www.sicpers.info/2010/03/rehearsals-in-beta/)
- [Related methods and tools](https://www.sicpers.info/2024/04/related-methods-and-tools/)
- [Remember the future?](https://www.sicpers.info/2011/08/remember-the-future/)
- [Replacing the language](https://www.sicpers.info/2014/02/replacing-the-language/)
- [Report from WWDC](https://www.sicpers.info/2006/08/report-from-wwdc/)
- [Representativeness in Software Engineering Research](https://www.sicpers.info/2013/07/representativeness-in-software-engineering-research/)
- [Research Watch, and Java by Contract](https://www.sicpers.info/2018/12/research-watch-and-java-by-contract/)
- [Resolution: Share Subscriptions](https://www.sicpers.info/2017/01/resolution-share-subscriptions/)
- [Resolution: Subscribe Self](https://www.sicpers.info/2017/01/resolution-subscribe-self/)
- [Resolutions](https://www.sicpers.info/2025/01/resolutions/)
- [Rethinking Object-Oriented Design figures](https://www.sicpers.info/2018/04/rethinking-object-oriented-design-figures/)
- [Retiring the "Apple developers are insular" meme](https://www.sicpers.info/2013/01/retiring-the-apple-developers-are-insular-meme/)
- [Reverse-engineering stringed instruments](https://www.sicpers.info/2009/06/reverse-engineering-stringed-instruments/)
- [Reversing the polarity of the message flow](https://www.sicpers.info/2014/10/reversing-the-polarity-of-the-message-flow/)
- [Rhetoric, smoothly outlined](https://www.sicpers.info/2008/09/rhetoric-smoothly-outlined/)
- [Rootier than root](https://www.sicpers.info/2009/05/rootier-than-root/)
- [Rubbies and sores](https://www.sicpers.info/2014/12/rubbies-and-sores/)
- [Rumors of your runtime's death are greatly exaggerated](https://www.sicpers.info/2010/10/rumors-of-your-runtimes-death-are-greatly-exaggerated/)
- [Running Linux GUI apps under MacOS using Docker](https://www.sicpers.info/2020/10/running-linux-gui-apps-under-macos-using-docker/)
- [Runtime verification in Erlang by using contracts](https://www.sicpers.info/2019/03/runtime-verification-in-erlang-by-using-contracts/)
- [Rust project organisation](https://www.sicpers.info/2017/02/rust-project-organisation/)
- [Sacrilege!](https://www.sicpers.info/2007/01/sacrilege/)
- [Scary stuff](https://www.sicpers.info/2007/01/scary-stuff/)
- [Scripting confusion](https://www.sicpers.info/2021/10/scripting-confusion/)
- [Second Brain](https://www.sicpers.info/2021/11/second-brain/)
- [Security consultancy from the other side](https://www.sicpers.info/2017/09/security-consultancy-from-the-other-side/)
- [Security flaw liability](https://www.sicpers.info/2010/03/security-flaw-liability/)
- [Security: probably doing it wrong](https://www.sicpers.info/2012/01/security-probably-doing-it-wrong/)
- [See you at WWDC...?](https://www.sicpers.info/2006/08/see-you-at-wwdc/)
- [Selectively caring](https://www.sicpers.info/2015/11/selectively-caring/)
- [Self-organising teams](https://www.sicpers.info/2020/09/self-organising-teams/)
- [Separating user interface from work](https://www.sicpers.info/2013/06/separating-user-interface-from-work/)
- [Server-side Objective-C](https://www.sicpers.info/2012/12/server-side-objective-c/)
- [Set the settings set](https://www.sicpers.info/2014/01/set-the-settings-set/)
- [Shell scripts and Xcode](https://www.sicpers.info/2013/05/shell-scripts-and-xcode/)
- [Short Objective-C on the server update](https://www.sicpers.info/2013/05/short-objective-c-on-the-server-update/)
- [SICPers podcast episode 10](https://www.sicpers.info/2020/07/sicpers-podcast-episode-10/)
- [SICPers Podcast Episode 3](https://www.sicpers.info/2020/04/sicpers-podcast-episode-3/)
- [SICPers podcast episode 4](https://www.sicpers.info/2020/05/sicpers-podcast-episode-4/)
- [SICPers podcast episode 5](https://www.sicpers.info/2020/05/sicpers-podcast-episode-5/)
- [SICPers podcast episode 9](https://www.sicpers.info/2020/06/sicpers-podcast-episode-9/)
- [SICPers podcast episode one](https://www.sicpers.info/2020/04/sicpers-podcast-episode-one/)
- [SICPers Podcast episode two](https://www.sicpers.info/2020/04/sicpers-podcast-episode-two/)
- [Side-by-side](https://www.sicpers.info/2008/01/side-by-side/)
- [Sideloading content into iOS apps](https://www.sicpers.info/2012/11/sideloading-content-into-ios-apps/)
- [Sitting on the Sidelines](https://www.sicpers.info/2014/09/sitting-on-the-sidelines/)
- [Six Colours](https://www.sicpers.info/2020/08/six-colours/)
- [Sleep on it](https://www.sicpers.info/2021/08/sleep-on-it/)
- [So are Macs uber-pricey?](https://www.sicpers.info/2008/08/so-are-macs-uber-pricey/)
- [So it's not just the Department of Homeland Security, then](https://www.sicpers.info/2010/03/so-its-not-just-the-department-of-homeland-security-then/)
- [So that's how it works](https://www.sicpers.info/2022/03/so-thats-how-it-works/)
- [So you don't like your IDE](https://www.sicpers.info/2011/09/so-you-dont-like-your-ide/)
- [So you're off to WWDC](https://www.sicpers.info/2012/05/so-youre-off-to-wwdc/)
- [So, what's the plan? Part 1: what WAS the plan?](https://www.sicpers.info/2020/07/so-whats-the-plan-part-1-what-was-the-plan/)
- [So, what's the plan? Part 2: what will the plan be?](https://www.sicpers.info/2020/07/so-whats-the-plan-part-2-what-will-the-plan-be/)
- [Social and political requirements gathering](https://www.sicpers.info/2008/05/social-and-political-requirements-gathering/)
- [Software design is refinement, not abstraction](https://www.sicpers.info/2022/03/software-design-is-refinement-not-abstraction/)
- [Software, Science?](https://www.sicpers.info/2014/03/software-science/)
- [Software-ICs and a component marketplace](https://www.sicpers.info/2012/04/software-ics-and-a-component-marketplace/)
- [Solaris iPhone Edition](https://www.sicpers.info/2008/10/solaris-iphone-edition/)
- [Solving the underlying problem](https://www.sicpers.info/2019/10/solving-the-underlying-problem/)
- [Some bloody genius](https://www.sicpers.info/2008/11/some-bloody-genius/)
- [Some LightReading about mobile app security](https://www.sicpers.info/2012/02/some-lightreading-about-mobile-app-security/)
- [Some so-called expert](https://www.sicpers.info/2014/04/some-so-called-expert/)
- [Something old, something new](https://www.sicpers.info/2016/09/something-old-something-new/)
- [Sound bites considered harmful](https://www.sicpers.info/2012/07/sound-bites-considered-harmful/)
- [Specific physical phenomena](https://www.sicpers.info/2024/04/specific-physical-phenomena/)
- [Specifications for interchanging objects](https://www.sicpers.info/2013/05/specifications-for-interchanging-objects/)
- [Sprouts](https://www.sicpers.info/2019/10/sprouts/)
- [Standing at the Crossroads](https://www.sicpers.info/2013/12/standing-at-the-crossroads/)
- [Stay on target…](https://www.sicpers.info/2020/04/stay-on-target/)
- [Staying power](https://www.sicpers.info/2015/10/staying-power/)
- [Still no silver bullet?](https://www.sicpers.info/2024/02/still-no-silver-bullet/)
- [Still trading as ClosedDarwin](https://www.sicpers.info/2007/09/still-trading-as-closeddarwin/)
- [Stop ignoring the world](https://www.sicpers.info/2017/11/stop-ignoring-the-world/)
- [Storing and testing credentials: Cocoa Touch Edition](https://www.sicpers.info/2011/04/storing-and-testing-credentials-cocoa-touch-edition/)
- [Story points: because I don't know what I'm doing](https://www.sicpers.info/2013/11/story-points-because-i-dont-know-what-im-doing/)
- [Story points: there's no right way to do it](https://www.sicpers.info/2018/07/story-points/)
- [Structured Pruning of Deep Convolutional Neural Networks](https://www.sicpers.info/2019/01/structured-pruning-of-deep-convolutional-neural-networks/)
- [Subatomic Chocolate](https://www.sicpers.info/2018/04/subatomic-chocolate/)
- [Subconscious operation](https://www.sicpers.info/2006/06/subconscious-operation/)
- [Summer of code](https://www.sicpers.info/2007/03/summer-of-code/)
- [Supporting both ARC and MRC build settings](https://www.sicpers.info/2012/06/supporting-both-arc-and-mrc-build-settings/)
- [Surprising ARC performance characteristics](https://www.sicpers.info/2012/11/surprising-arc-performance-characteristics/)
- [Swedish chef](https://www.sicpers.info/2006/07/swedish-chef/)
- [Swift](https://www.sicpers.info/2018/06/swift/)
- [switching CPUs](https://www.sicpers.info/2006/09/switching-cpus/)
- [Synthesized ivars are private](https://www.sicpers.info/2012/02/synthesized-ivars-are-private/)
- [Talking about talking](https://www.sicpers.info/2013/02/talking-about-talking/)
- [Tautology of the year (so far)](https://www.sicpers.info/2009/01/tautology-of-the-year-so-far/)
- [TDD and crypto in one place](https://www.sicpers.info/2012/04/tdd-and-crypto-in-one-place/)
- [TDD/unit testing video training for iOS developers](https://www.sicpers.info/2011/07/tddunit-testing-video-training-for-ios-developers/)
- [Teaching Programming to People. It's easy, right?](https://www.sicpers.info/2013/07/teaching-programming-to-people-its-easy-right/)
- [Teaching Quality Object-Oriented Programming](https://www.sicpers.info/2018/12/teaching-quality-object-oriented-programming/)
- [Tech's Meritocracy Problem](https://www.sicpers.info/2014/11/techs-meritocracy-problem/)
- [Technical debt and jury service](https://www.sicpers.info/2017/07/technical-debt-and-jury-service/)
- [Template change](https://www.sicpers.info/2007/08/template-change/)
- [Template class for unit testing Core Data entities](https://www.sicpers.info/2010/06/template-class-for-unit-testing-core-data-entities/)
- [Tempus Fugit](https://www.sicpers.info/2015/09/tempus-fugit/)
- [Test-Driven iOS Development](https://www.sicpers.info/2012/04/test-driven-ios-development/)
- [TGD - begging the question](https://www.sicpers.info/2006/12/tgd-begging-the-question/)
- [TGD - expanding the field](https://www.sicpers.info/2007/01/tgd-expanding-the-field/)
- [TGD - I'm not dead yet!](https://www.sicpers.info/2006/12/tgd-im-not-dead-yet/)
- [TGD - John on acid](https://www.sicpers.info/2006/12/tgd-john-on-acid/)
- [TGD - religion leaving the gene pool](https://www.sicpers.info/2006/12/tgd-religion-leaving-the-gene-pool/)
- [TGD Responses - selection for religion?](https://www.sicpers.info/2006/12/tgd-responses-selection-for-religion/)
- [That can't possibly work.](https://www.sicpers.info/2014/11/that-cant-possibly-work/)
- [That syncing feeling](https://www.sicpers.info/2007/01/that-syncing-feeling/)
- [The "return a command" trick in Haskell](https://www.sicpers.info/2021/10/the-return-a-command-trick-in-haskell/)
- [The ABC of Software Engineering Research](https://www.sicpers.info/2019/01/the-abc-of-software-engineering-research/)
- [The age-old problem](https://www.sicpers.info/2006/04/the-age-old-problem/)
- [The App that Wasn't (Yet)](https://www.sicpers.info/2019/01/the-app-that-wasnt-yet/)
- [The Atoms of Programming](https://www.sicpers.info/2017/11/the-atoms-of-programming/)
- [The balloon goes up](https://www.sicpers.info/2019/03/the-balloon-goes-up/)
- [The Cataract of Software Delivery](https://www.sicpers.info/2024/06/the-cataract-of-software-delivery/)
- [The challenges of teaching software engineering](https://www.sicpers.info/2019/07/the-challenges-of-teaching-software-engineering/)
- [The closed-open principle](https://www.sicpers.info/2020/07/the-closed-open-principle/)
- [The code you wrote six months ago](https://www.sicpers.info/2013/06/the-code-you-wrote-six-months-ago/)
- [The death of scripting](https://www.sicpers.info/2015/08/the-death-of-scripting/)
- [The debugger of royalty](https://www.sicpers.info/2012/04/the-debugger-of-royalty/)
- [The Design of the Bazaar](https://www.sicpers.info/2015/04/the-design-of-the-bazaar/)
- [The difference between NSTableView and UITableView](https://www.sicpers.info/2010/04/the-difference-between-nstableview-and-uitableview/)
- [The Dock should be destroyed, or at least changed a lot](https://www.sicpers.info/2008/05/the-dock-should-be-destroyed-or-at-least-changed-a-lot/)
- [The feature constraint](https://www.sicpers.info/2019/11/the-feature-constraint/)
- [The First Flaw](https://www.sicpers.info/2014/01/the-first-flaw/)
- [The Fragile Manifesto](https://www.sicpers.info/2019/02/the-fragile-manifesto/)
- [The future will be just like the past, right?](https://www.sicpers.info/2013/07/the-future-will-be-just-like-the-past-right/)
- [The gaps between the processes](https://www.sicpers.info/2025/01/the-gaps-between-the-processes/)
- [The hardest thing](https://www.sicpers.info/2018/06/the-hardest-thing/)
- [The Humpty-Dumpty Guide to OOP](https://www.sicpers.info/2014/10/the-humpty-dumpty-guide-to-oop/)
- [The Ignoble Programmer](https://www.sicpers.info/2013/12/the-ignoble-programmer/)
- [The Image Model](https://www.sicpers.info/2022/08/the-image-model/)
- [The importance of the passive voice is described.](https://www.sicpers.info/2019/06/the-importance-of-the-passive-voice-is-described/)
- [The laser physics of software](https://www.sicpers.info/2014/10/the-laser-physics-of-software/)
- [The lighter side of open source](https://www.sicpers.info/2014/05/the-lighter-side-of-open-source/)
- [The Liskov Citation Principle](https://www.sicpers.info/2013/03/the-liskov-citation-principle/)
- [The Logical Fallacy](https://www.sicpers.info/2019/05/the-logical-fallacy/)
- [The manifesto for anarchic software development](https://www.sicpers.info/2020/09/the-manifesto-for-anarchic-software-development/)
- [The missing principle in agile software development](https://www.sicpers.info/2021/09/the-missing-principle-in-agile-software-development/)
- [The new netiquette](https://www.sicpers.info/2007/06/the-new-netiquette/)
- [The next million-dollar iPhone application](https://www.sicpers.info/2009/08/the-next-million-dollar-iphone-application/)
- [The Nineteen Nineties](https://www.sicpers.info/2020/07/the-nineteen-nineties/)
- [The Object is the Advantage](https://www.sicpers.info/2020/08/the-object-is-the-advantage/)
- [The Objective-C protocol naming trifecta](https://www.sicpers.info/2014/02/the-objective-c-protocol-naming-trifecta/)
- [The other pink dollar](https://www.sicpers.info/2015/01/the-other-pink-dollar/)
- [The package management paradox](https://www.sicpers.info/2017/02/the-package-management-paradox/)
- [The paradox of scripting](https://www.sicpers.info/2015/08/the-paradox-of-scripting/)
- [The Principled Programmer](https://www.sicpers.info/2015/11/the-principled-programmer/)
- [The problem with not-Apple](https://www.sicpers.info/2017/01/the-problem-with-not-apple/)
- [The reality is not the abstraction](https://www.sicpers.info/2017/01/the-reality-is-not-the-abstraction/)
- [The reasonable effectiveness of developer tools](https://www.sicpers.info/2014/07/the-reasonable-effectiveness-of-developer-tools/)
- [The repair permissions fiasco](https://www.sicpers.info/2006/04/the-repair-permissions-fiasco/)
- [The Requirements Trifecta](https://www.sicpers.info/2022/05/the-requirements-trifecta/)
- [The rokeg blood pie^W^W^Wplot thickens](https://www.sicpers.info/2009/05/the-rokeg-blood-piewwwplot-thickens/)
- [The security apprentice](https://www.sicpers.info/2012/03/the-security-apprentice/)
- [The Silent Network](https://www.sicpers.info/2020/11/the-silent-network/)
- [The Software Leviathan](https://www.sicpers.info/2014/03/the-software-leviathan/)
- [The Tankard Brigade](https://www.sicpers.info/2015/01/the-tankard-brigade/)
- [The times, they mainly stay the same](https://www.sicpers.info/2007/10/the-times-they-mainly-stay-the-same/)
- [The trouble with layers](https://www.sicpers.info/2014/10/the-trouble-with-layers/)
- [The twitter sitter hit a bitter critter](https://www.sicpers.info/2008/09/the-twitter-sitter-hit-a-bitter-critter/)
- [The unreasonable ineffectiveness of considering things harmful](https://www.sicpers.info/2020/02/the-unreasonable-ineffectiveness-of-considering-things-harmful/)
- [The value of the things on the left](https://www.sicpers.info/2019/10/the-value-of-the-things-on-the-left/)
- [The Vexing Problems in Programming](https://www.sicpers.info/2016/11/the-vexing-problems-in-programming/)
- [The view(s) from the hotel](https://www.sicpers.info/2008/10/the-views-from-the-hotel/)
- [The Vizzini Effect](https://www.sicpers.info/2021/03/the-vizzini-effect/)
- [The Wealth of Applications](https://www.sicpers.info/2014/08/the-wealth-of-applications/)
- [The whole 'rockstar developer' thing is backwards](https://www.sicpers.info/2013/08/the-whole-rockstar-developer-thing-is-backwards/)
- [The worst phrase in software marketing](https://www.sicpers.info/2017/07/the-worst-phrase-in-software-marketing/)
- [There is no "us" in team](https://www.sicpers.info/2021/06/there-is-no-us-in-team/)
- [There is no browser, only Zuul](https://www.sicpers.info/2018/02/there-is-no-browser-only-zuul/)
- [There's more to it](https://www.sicpers.info/2019/03/theres-more-to-it/)
- [There's No Such Thing as a General-purpose Processor](https://www.sicpers.info/2014/11/theres-no-such-thing-as-a-general-purpose-processor/)
- [These things are hard](https://www.sicpers.info/2011/12/these-things-are-hard/)
- [Things I believe](https://www.sicpers.info/2014/06/things-i-believe/)
- [This is fine](https://www.sicpers.info/2016/12/this-is-fine/)
- [This means business](https://www.sicpers.info/2008/06/this-means-business/)
- [This so goes on my CV](https://www.sicpers.info/2006/05/this-so-goes-on-my-cv/)
- [This year's WWDC t-shirt?](https://www.sicpers.info/2006/07/this-years-wwdc-t-shirt/)
- [Thoughts on Tech Conferences](https://www.sicpers.info/2012/05/thoughts-on-tech-conferences/)
- [Tiger to Catalina: let's port some code](https://www.sicpers.info/2020/07/tiger-to-catalina-lets-port-some-code/)
- [To become a beginner, first become an expert](https://www.sicpers.info/2018/02/to-become-a-beginner-first-become-an-expert/)
- [Today's broken user interface award...](https://www.sicpers.info/2006/05/todays-broken-user-interface-award/)
- [Today's surprisingly short workflow-improving win](https://www.sicpers.info/2014/11/todays-surprisingly-short-workflow-improving-win/)
- [Tony Hoare and negative space](https://www.sicpers.info/2025/11/tony-hoare-and-negative-space/)
- [Too much confidence is good for you](https://www.sicpers.info/2006/04/too-much-confidence-is-good-for-you/)
- [Tracking the invisible, moving, unpredictable target](https://www.sicpers.info/2008/04/tracking-the-invisible-moving-unpredictable-target/)
- [Transcendence](https://www.sicpers.info/2022/09/transcendence/)
- [Tsundoku](https://www.sicpers.info/2017/02/tsundoku/)
- [Turn and face the strange](https://www.sicpers.info/2014/11/turn-and-face-the-strange/)
- [Turn it off and back on again](https://www.sicpers.info/2016/03/turn-it-off-and-back-on-again/)
- [Two books](https://www.sicpers.info/2018/12/two-books/)
- [Two out of three ain't bad](https://www.sicpers.info/2018/09/two-out-of-three-aint-bad/)
- [Two Schools](https://www.sicpers.info/2018/09/two-schools/)
- [Two ways of thinking](https://www.sicpers.info/2017/07/two-ways-of-thinking/)
- [Type safety, undefined behaviour, and us](https://www.sicpers.info/2023/08/type-safety-undefined-behaviour-and-us/)
- [Ubiquitous computing](https://www.sicpers.info/2021/01/ubiquitous-computing/)
- [Ultimate Programmer Super Stack](https://www.sicpers.info/2018/11/ultimate-programmer-super-stack/)
- [Ultimate Programmer Super Stack Reloaded](https://www.sicpers.info/2019/02/ultimate-programmer-super-stack-reloaded/)
- [Ultimate Programmer Super Stack: Last day!](https://www.sicpers.info/2018/11/ultimate-programmer-super-stack-last-day/)
- [Unfamiliar territory](https://www.sicpers.info/2009/09/unfamiliar-territory/)
- [Unintended consequences](https://www.sicpers.info/2025/08/unintended-consequences/)
- [Unit test: you keep using this word.](https://www.sicpers.info/2022/03/unit-test-you-keep-using-this-word/)
- [Unit testing Cocoa projects in Xcode](https://www.sicpers.info/2009/06/unit-testing-cocoa-projects-in-xcode/)
- [Unit testing Core Data-driven apps](https://www.sicpers.info/2009/09/unit-testing-core-data-driven-apps/)
- [Unit testing Core Data-driven apps, fit the second](https://www.sicpers.info/2010/01/unit-testing-core-data-driven-apps-fit-the-second/)
- [UNIX-like pedantry](https://www.sicpers.info/2015/01/unix-like-pedantry/)
- [Up or to the right](https://www.sicpers.info/2014/11/up-or-to-the-right/)
- [Upcoming Cocoa nerd stuff](https://www.sicpers.info/2007/11/upcoming-cocoa-nerd-stuff/)
- [Updates to JavaByContract](https://www.sicpers.info/2019/01/updates-to-javabycontract/)
- [Updating my ObjC web app on git push](https://www.sicpers.info/2013/11/updating-my-objc-web-app-on-git-push/)
- [Use of vm_stat(1)](https://www.sicpers.info/2006/06/use-of-vm_stat1/)
- [Using Aspect-Oriented Programming for Security Engineering](https://www.sicpers.info/2010/06/using-aspect-oriented-programming-for-security-engineering/)
- [Using GNUstep libraries with Xcode](https://www.sicpers.info/2012/05/using-gnustep-libraries-with-xcode/)
- [Using Objective-C on the server](https://www.sicpers.info/2012/03/using-objective-c-on-the-server/)
- [UX is snake-oil bullshit](https://www.sicpers.info/2012/04/ux-is-snake-oil-bullshit/)
- [Verify your backups](https://www.sicpers.info/2007/10/verify-your-backups/)
- [Vibe coding and BASIC](https://www.sicpers.info/2025/11/vibe-coding-and-basic/)
- [Video podcast: Hisoft C for the ZX Spectrum](https://www.sicpers.info/2020/05/video-podcast-hisoft-c-for-the-zx-spectrum/)
- [Walking a mile dans ses chausseurs](https://www.sicpers.info/2008/08/walking-a-mile-dans-ses-chausseurs/)
- [Want to hire iamleeg?](https://www.sicpers.info/2011/08/want-to-hire-iamleeg/)
- [Warsaw Welcomes Dumbass Commentary](https://www.sicpers.info/2018/06/warsaw-welcomes-dumbass-commentary/)
- [We shall return one day](https://www.sicpers.info/2023/11/we-shall-return-one-day/)
- [We! Haven't! Thought! This! Through!](https://www.sicpers.info/2008/02/we-havent-thought-this-through/)
- [We're off to see the Wozzard....](https://www.sicpers.info/2006/10/were-off-to-see-the-wozzard/)
- [Website relaunch!](https://www.sicpers.info/2009/07/website-relaunch/)
- [Week five](https://www.sicpers.info/2015/10/week-five/)
- [Week four](https://www.sicpers.info/2015/10/week-four/)
- [Week One](https://www.sicpers.info/2015/09/week-one/)
- [Week Seven](https://www.sicpers.info/2015/11/week-seven/)
- [Week six](https://www.sicpers.info/2015/10/week-six/)
- [Week three](https://www.sicpers.info/2015/10/week-three/)
- [Week Two](https://www.sicpers.info/2015/10/week-two/)
- [Well, you could have told me](https://www.sicpers.info/2008/02/well-you-could-have-told-me/)
- [What do you think of this?](https://www.sicpers.info/2010/10/what-do-you-think-of-this/)
- [What Graham did next](https://www.sicpers.info/2013/07/what-graham-did-next/)
- [What happens when you add one to an integer?](https://www.sicpers.info/2013/01/what-happens-when-you-add-one-to-an-integer/)
- [What happens when you jailbreak an iPad](https://www.sicpers.info/2011/03/what-happens-when-you-jailbreak-an-ipad/)
- [What is software engineering?](https://www.sicpers.info/2022/02/what-is-software-engineering/)
- [What it takes to "win" a discussion](https://www.sicpers.info/2014/10/what-it-takes-to-win-a-discussion/)
- [What Lenin taught me about software movements](https://www.sicpers.info/2018/04/what-lenin-taught-me-about-software-movements/)
- [What Xamarin.Forms taught me about data bindings](https://www.sicpers.info/2021/04/what-xamarin-forms-taught-me-about-data-bindings/)
- [What's a software architect?](https://www.sicpers.info/2012/07/whats-a-software-architect/)
- [What's better than semver?](https://www.sicpers.info/2018/04/whats-better-than-semver/)
- [What's new in 2009](https://www.sicpers.info/2009/01/whats-new-in-2009/)
- [What's on the other channel?](https://www.sicpers.info/2019/04/whats-on-the-other-channel/)
- [What's the mobile app market up to, then?](https://www.sicpers.info/2013/07/whats-the-mobile-app-market-up-to-then/)
- [When all you have is a NailFactory...](https://www.sicpers.info/2013/03/when-all-you-have-is-a-nailfactory/)
- [When did people favor composition over inheritance?](https://www.sicpers.info/2025/11/when-did-people-favor-composition-over-inheritance/)
- [When Object-Oriented Programming Isn't](https://www.sicpers.info/2017/08/when-object-oriented-programming-isnt/)
- [When security procedures go bad](https://www.sicpers.info/2013/05/when-security-procedures-go-bad/)
- [When single responsibility isn't possible](https://www.sicpers.info/2013/05/when-single-responsibility-isnt-possible/)
- [When techs collide](https://www.sicpers.info/2009/02/when-techs-collide/)
- [When to “address” “technical debt”?](https://www.sicpers.info/2022/03/when-to-address-technical-debt/)
- [Where am I going with this?](https://www.sicpers.info/2014/03/where-am-i-going-with-this/)
- [Where are we going?](https://www.sicpers.info/2007/02/where-are-we-going/)
- [Where We Ditched Chipzilla](https://www.sicpers.info/2020/06/where-we-ditched-chipzilla/)
- [Which vendor "is least secure"?](https://www.sicpers.info/2010/04/which-vendor-is-least-secure/)
- [Whither the codesign interface?](https://www.sicpers.info/2008/12/whither-the-codesign-interface/)
- [Whoever "wins", software freedom loses](https://www.sicpers.info/2021/04/whoever-wins-software-freedom-loses/)
- [Why 80?](https://www.sicpers.info/2019/02/why-80/)
- [Why are we like this?](https://www.sicpers.info/2022/03/why-are-we-like-this/)
- [Why are you using the wrong licence?](https://www.sicpers.info/2017/11/why-are-you-using-the-wrong-licence/)
- [Why do we annoy our users?](https://www.sicpers.info/2010/03/why-do-we-annoy-our-users/)
- [Why I don't have a favourite programming language](https://www.sicpers.info/2017/10/why-i-dont-have-a-favourite-programming-language/)
- [Why inheritance never made any sense](https://www.sicpers.info/2018/03/why-inheritance-never-made-any-sense/)
- [Why is programming so hard?](https://www.sicpers.info/2014/08/why-is-programming-so-hard/)
- [Why Java is so damned lame, part exp(I*M_PI)](https://www.sicpers.info/2007/02/why-java-is-so-damned-lame-part-expim_pi/)
- [Why mock objects aren’t popular this week](https://www.sicpers.info/2022/06/why-mock-objects-arent-popular-this-week/)
- [Why nerd culture must die](https://www.sicpers.info/2014/11/why-nerd-culture-must-die/)
- [Why OS X (almost) doesn't need root any more](https://www.sicpers.info/2010/05/why-os-x-almost-doesnt-need-root-any-more/)
- [Why passwords aren't always the right answer.](https://www.sicpers.info/2010/04/why-passwords-arent-always-the-right-answer/)
- [Why we don't trust -retainCount](https://www.sicpers.info/2012/02/why-we-dont-trust-retaincount/)
- [Why you didn't like that thing that company made](https://www.sicpers.info/2021/09/why-you-didnt-like-that-thing-that-company-made/)
- [Why your app is not massively parallel software](https://www.sicpers.info/2017/04/why-your-app-is-not-massively-parallel-software/)
- [Why your security UI sucks](https://www.sicpers.info/2011/10/why-your-security-ui-sucks/)
- [Wikipedia == fail](https://www.sicpers.info/2008/12/wikipedia-fail/)
- [WikityWebsite](https://www.sicpers.info/2006/09/wikitywebsite/)
- [Wistfully Wonderful Den of Coders](https://www.sicpers.info/2008/05/wistfully-wonderful-den-of-coders/)
- [Withholding the Four Freedoms](https://www.sicpers.info/2016/10/withholding-the-four-freedoms/)
- [Wolf! Wolf!](https://www.sicpers.info/2006/04/wolf-wolf/)
- [Working Effectively with Legacy Code](https://www.sicpers.info/2017/03/working-effectively-with-legacy-code/)
- [Wristwatches in the Future](https://www.sicpers.info/2014/06/wristwatches-in-the-future/)
- [WTF is a Veo?](https://www.sicpers.info/2006/08/wtf-is-a-veo/)
- [WWDC - day one](https://www.sicpers.info/2008/06/wwdc-day-one/)
- [WWDC 2022 is a WWDC watch party](https://www.sicpers.info/2022/04/wwdc-2022-is-a-wwdc-watch-party/)
- [WWDC aside](https://www.sicpers.info/2008/06/wwdc-aside/)
- [WWDC dates announced](https://www.sicpers.info/2010/04/wwdc-dates-announced/)
- [WWDC day 00000000000000000000000000000101](https://www.sicpers.info/2008/06/wwdc-day-00000000000000000000000000000101/)
- [WWDC day 2](https://www.sicpers.info/2008/06/wwdc-day-2/)
- [WWDC day crosspost](https://www.sicpers.info/2008/06/wwdc-day-crosspost/)
- [WWDC day four](https://www.sicpers.info/2008/06/wwdc-day-four/)
- [WWDC day three](https://www.sicpers.info/2008/06/wwdc-day-three/)
- [WWDC part 0](https://www.sicpers.info/2008/06/wwdc-part-0/)
- [WWDC wind-down](https://www.sicpers.info/2009/06/wwdc-wind-down/)
- [WWDC: afp548 Venn competition](https://www.sicpers.info/2008/06/wwdc-afp548-venn-competition/)
- [Yeah, we've got one of those](https://www.sicpers.info/2008/04/yeah-weve-got-one-of-those/)
- [Yes, you may delete tests](https://www.sicpers.info/2014/10/yes-you-may-delete-tests/)
- [You keep using that word. I do not think it means what you think it means.](https://www.sicpers.info/2008/12/you-keep-using-that-word-i-do-not-think-it-means-what-you-think-it-means/)
- [You say “cave dweller debugging”, I say debug logging](https://www.sicpers.info/2022/05/you-say-cave-dweller-debugging-i-say-debug-logging/)
- [Your build needs to be better](https://www.sicpers.info/2017/05/your-build-needs-to-be-better/)
- [Your reminder that "British English" and "American English" are fictional constructs](https://www.sicpers.info/2023/01/your-reminder-that-british-english-and-american-english-are-fictional-constructs/)
- [YX problem](https://www.sicpers.info/2024/03/yx-problem/)
- [Zen and the Art of Software Maintenance](https://www.sicpers.info/2019/10/zen-and-the-art-of-software-maintenance/)
- [[objc retain] stream](https://www.sicpers.info/2021/02/objc-retain-stream/)
- [[objc retain]; continues apace](https://www.sicpers.info/2022/01/objc-retain-continues-apace/)
- [“Best practice” is less of a scam than claimed](https://www.sicpers.info/2021/02/best-practice-is-less-of-a-scam-than-claimed/)
- [客観的なc計算機言語](https://www.sicpers.info/2006/12/%e5%ae%a2%e8%a6%b3%e7%9a%84%e3%81%aac%e8%a8%88%e7%ae%97%e6%a9%9f%e8%a8%80%e8%aa%9e/)
### Pages
- [About](https://www.sicpers.info/)
- [Blog](https://www.sicpers.info/blog/)
- [Contact](https://www.sicpers.info/contact/)
- [Post Archives](https://www.sicpers.info/archives/)
- [Privacy Statement](https://www.sicpers.info/privacy-statement/)
- [Software Portfolio](https://www.sicpers.info/software-portfolio/)
### Media
- [(No Title)](https://www.sicpers.info/3237/)
- [1d6.mp4](https://www.sicpers.info/2016/12/this-is-fine/vid-20161222-wa0004/)
- [20180429_185146](https://www.sicpers.info/2018/04/rethinking-object-oriented-design-figures/20180429_185146/)
- [20180429_185242](https://www.sicpers.info/2018/04/rethinking-object-oriented-design-figures/20180429_185242/)
- [20180429_185256](https://www.sicpers.info/2018/04/rethinking-object-oriented-design-figures/20180429_185256/)
- [20180429_185313](https://www.sicpers.info/2018/04/rethinking-object-oriented-design-figures/20180429_185313/)
- [20180429_185326](https://www.sicpers.info/2018/04/rethinking-object-oriented-design-figures/20180429_185326/)
- [3mpfg-front.JPG](https://www.sicpers.info/2010/06/a-solution-in-need-of-a-problem/3mpfg-front-jpg/)
- [3mpfg-side.JPG](https://www.sicpers.info/2010/06/a-solution-in-need-of-a-problem/3mpfg-side-jpg/)
- [3mpfg-sun.JPG](https://www.sicpers.info/2010/06/a-solution-in-need-of-a-problem/3mpfg-sun-jpg/)
- [amxrci](https://www.sicpers.info/2026/03/on-working-machines/amxrci/)
- [AppCode.png](https://www.sicpers.info/2011/09/so-you-dont-like-your-ide/appcode-png/)
- [avon-watch.png](https://www.sicpers.info/2014/06/wristwatches-in-the-future/avon-watch-png/)
- [bigclick.png](https://www.sicpers.info/2010/07/on-fitts-law-and-security/bigclick-png/)
- [Bike_with_Training_Wheels.jpg](https://www.sicpers.info/2013/04/as-the-kaiser-chiefs-might-say-ruby-ruby-ruby-n00bie/bike_with_training_wheels-jpg/)
- [blogstats.png](https://www.sicpers.info/2012/07/on-community/blogstats-png/)
- [breakpointeditor.png](https://www.sicpers.info/2012/04/the-debugger-of-royalty/breakpointeditor-png/)
- [Byte Magazine Smalltalk Cover](https://www.sicpers.info/2019/03/the-balloon-goes-up/screenshot-2019-03-01-at-17-03-08/)
- [CatchFail.PNG](https://www.sicpers.info/2012/03/how-to-tdd-with-catch/catchfail-png/)
- [catchpass.PNG](https://www.sicpers.info/2012/03/how-to-tdd-with-catch/catchpass-png/)
- [catch_default.PNG](https://www.sicpers.info/2012/03/how-to-tdd-with-catch/catch_default-png/)
- [cb-after.png](https://www.sicpers.info/2013/12/a-sneaky-preview-of-classbrowser/cb-after-png/)
- [cb-before.png](https://www.sicpers.info/2013/12/a-sneaky-preview-of-classbrowser/cb-before-png/)
- [cb-doit.png](https://www.sicpers.info/2013/12/a-sneaky-preview-of-classbrowser/cb-doit-png/)
- [Certificate.png](https://www.sicpers.info/2011/10/why-your-security-ui-sucks/certificate-png/)
- [clacks](https://www.sicpers.info/clacks/)
- [cmd-line-tool.png](https://www.sicpers.info/2014/03/inside-out-apps/cmd-line-tool-png/)
- [Cocoa MVC](https://www.sicpers.info/2014/02/messily-veneered-c/cocoamvc-png/)
- [CodeRunner.png](https://www.sicpers.info/2011/09/so-you-dont-like-your-ide/coderunner-png/)
- [COMPUTERS.JPG](https://www.sicpers.info/2014/07/padds-not-the-ipad/computers-jpg/)
- [confvenn.JPG](https://www.sicpers.info/2012/05/thoughts-on-tech-conferences/confvenn-jpg/)
- [connected-data-hoffed](https://www.sicpers.info/connected-data-hoffed/)
- [cropped-F7D14238-8296-418F-924B-5CAB0BF65AD9.jpeg](https://www.sicpers.info/cropped-f7d14238-8296-418f-924b-5cab0bf65ad9-jpeg/)
- [demolition-man-watch.png](https://www.sicpers.info/2014/06/wristwatches-in-the-future/demolition-man-watch-png/)
- [discworld-credits.png](https://www.sicpers.info/2013/07/what-graham-did-next/discworld-credits-png/)
- [Early Bird Push - SD 480p](https://www.sicpers.info/2026/03/chiron-codex-early-bird-ends-soon/early-bird-push-sd-480p/)
- [eliminate-blake.png](https://www.sicpers.info/2014/06/wristwatches-in-the-future/eliminate-blake-png/)
- [Emacs.png](https://www.sicpers.info/2011/09/so-you-dont-like-your-ide/emacs-png/)
- [example-2-1.jpg](https://www.sicpers.info/2012/07/illuminative-c/example-2-1-jpg/)
- [explosion](https://www.sicpers.info/explosion/)
- [explosion](https://www.sicpers.info/explosion-2/)
- [F7D14238-8296-418F-924B-5CAB0BF65AD9](https://www.sicpers.info/f7d14238-8296-418f-924b-5cab0bf65ad9/)
- [fingertap.png](https://www.sicpers.info/2010/07/on-fitts-law-and-security/fingertap-png/)
- [gloom](https://www.sicpers.info/2018/12/figurative-programming-and-gloom-the-graphical-loom/gloom/)
- [grotag.png](https://www.sicpers.info/2020/08/grotag/grotag-png/)
- [HelloGSW.png](https://www.sicpers.info/2012/03/using-objective-c-on-the-server/hellogsw-png/)
- [iamleeg _FO82FCD66EF46-01](https://www.sicpers.info/about/iamleeg-_fo82fcd66ef46-01/)
- [IKBCommand.JPG](https://www.sicpers.info/2013/06/separating-user-interface-from-work/ikbcommand-jpg/)
- [image](https://www.sicpers.info/image-2/)
- [imagesfolder.jpg](https://www.sicpers.info/2010/02/look-what-the-feds-left-behind/imagesfolder-jpg/)
- [imagesIMAG0101.jpg](https://www.sicpers.info/2011/03/on-being-a-software-person/imagesimag0101-jpg/)
- [imagesPicture-1.png](https://www.sicpers.info/2010/03/why-do-we-annoy-our-users/imagespicture-1-png/)
- [imagesssh-add.png](https://www.sicpers.info/2010/03/integrating-ssh-with-the-keychain-on-snow-leopard/imagesssh-add-png/)
- [imagesssh-keychain.png](https://www.sicpers.info/2010/03/integrating-ssh-with-the-keychain-on-snow-leopard/imagesssh-keychain-png/)
- [img_0003-1](https://www.sicpers.info/2017/11/the-atoms-of-programming/img_0003-1/)
- [IMG_0114.JPG](https://www.sicpers.info/2012/04/culture-heritage-and-apps/img_0114-jpg/)
- [IMG_0475](https://www.sicpers.info/2025/02/on-nostalgia-for-physical-media/img_0475/)
- [IMG_3356.jpeg](https://www.sicpers.info/2021/05/graham-lee-uses-this/img_3356-jpeg/)
- [IMG_3357.jpeg](https://www.sicpers.info/2021/05/graham-lee-uses-this/img_3357-jpeg/)
- [IMG_3943](https://www.sicpers.info/2023/11/we-shall-return-one-day/img_3943/)
- [Input](https://www.sicpers.info/img_2883-jpg/)
- [janus.jpg](https://www.sicpers.info/2014/03/software-science/janus-jpg/)
- [kirk-watch.png](https://www.sicpers.info/2014/06/wristwatches-in-the-future/kirk-watch-png/)
- [knight-watch.png](https://www.sicpers.info/2014/06/wristwatches-in-the-future/knight-watch-png/)
- [Labrary note template](https://www.sicpers.info/2019/01/the-app-that-wasnt-yet/screenshot-2019-01-02-at-10-48-36/)
- [Labrary Prototype](https://www.sicpers.info/2019/01/the-app-that-wasnt-yet/20190102_101601/)
- [Labrary prototype screenshot](https://www.sicpers.info/2019/01/the-app-that-wasnt-yet/labrary_screenshot/)
- [labrary-colour](https://www.sicpers.info/labrary-colour/)
- [layer_cake.png](https://www.sicpers.info/2014/10/the-trouble-with-layers/layer_cake-png/)
- [LibreLiteracy](https://www.sicpers.info/libreliteracy/)
- [life.png](https://www.sicpers.info/2015/05/object-oriented-programming-in-objective-c/life-png/)
- [MacBook Pro](https://www.sicpers.info/2018/10/making-my-peace/20181004_192537/)
- [msg-send.png](https://www.sicpers.info/2013/12/by-your-_cmd/msg-send-png/)
- [MVC-organisation.png](https://www.sicpers.info/2014/03/inside-out-apps/mvc-organisation-png/)
- [MVC1.png](https://www.sicpers.info/2010/07/on-detecting-god-classes/mvc1-png/)
- [MVC2.png](https://www.sicpers.info/2010/07/on-detecting-god-classes/mvc2-png/)
- [MVC3.png](https://www.sicpers.info/2010/07/on-detecting-god-classes/mvc3-png/)
- [ObjC Layers](https://www.sicpers.info/2014/02/messily-veneered-c/objclayers-png/)
- [ObjectiveBrowser.png](https://www.sicpers.info/2012/05/messing-about-with-clang/objectivebrowser-png/)
- [padd.jpg](https://www.sicpers.info/2014/07/padds-not-the-ipad/padd-jpg/)
- [padds.png](https://www.sicpers.info/2014/07/padds-not-the-ipad/padds-png/)
- [Path of Parsimony](https://www.sicpers.info/path-of-parsimony/)
- [permutations](https://www.sicpers.info/2012/08/i-made-a-web/permutations/)
- [Picture 1](https://www.sicpers.info/picture-1/)
- [plusminus.png](https://www.sicpers.info/2010/07/on-fitts-law-and-security/plusminus-png/)
- [Pub walks in Warwickshire](https://www.sicpers.info/2019/01/grooming-the-backfog/20190129_145946/)
- [sav.png](https://www.sicpers.info/2010/11/on-free-mac-anti-virus-2/sav-png/)
- [Scream.jpg](https://www.sicpers.info/2013/02/how-to-handle-xcode-in-your-meta-build-systems-ios-or-mac-app-target/scream-jpg/)
- [Screen-shot-2011-04-06-at-16.53.22.png](https://www.sicpers.info/2011/04/a-first-look-at-appcode-and-the-future-of-cocoa-ides/screen-shot-2011-04-06-at-16-53-22-png/)
- [Screen-shot-2011-04-06-at-17.19.32.png](https://www.sicpers.info/2011/04/a-first-look-at-appcode-and-the-future-of-cocoa-ides/screen-shot-2011-04-06-at-17-19-32-png/)
- [Screen-Shot-2013-07-04-at-14.22.27.png](https://www.sicpers.info/2013/07/ajax-via-jquery-in-an-objective-c-webobjects-app/screen-shot-2013-07-04-at-14-22-27-png/)
- [Screen-Shot-2013-07-04-at-14.37.26.png](https://www.sicpers.info/2013/07/ajax-via-jquery-in-an-objective-c-webobjects-app/screen-shot-2013-07-04-at-14-37-26-png/)
- [Screenshot 2026-01-12 at 09.54.12](https://www.sicpers.info/2026/01/configuring-your-computer-for-local-inference-with-a-generative-ai-coding-assistant/screenshot-2026-01-12-at-09-54-12/)
- [Screenshot 2026-01-12 at 10.16.04](https://www.sicpers.info/2026/01/configuring-your-computer-for-local-inference-with-a-generative-ai-coding-assistant/screenshot-2026-01-12-at-10-16-04/)
- [Screenshot-2020-07-09-at-19.11.12.png](https://www.sicpers.info/2020/07/tiger-to-catalina-lets-port-some-code/screenshot-2020-07-09-at-19-11-12-png/)
- [Screenshot-2020-07-09-at-19.11.12.png](https://www.sicpers.info/2020/07/tiger-to-catalina-lets-port-some-code/screenshot-2020-07-09-at-19-11-12-png-2/)
- [Screenshot-2020-07-09-at-19.11.26.png](https://www.sicpers.info/2020/07/tiger-to-catalina-lets-port-some-code/screenshot-2020-07-09-at-19-11-26-png/)
- [Screenshot-2020-07-09-at-19.11.26.png](https://www.sicpers.info/2020/07/tiger-to-catalina-lets-port-some-code/screenshot-2020-07-09-at-19-11-26-png-2/)
- [Screenshot-2020-10-12-at-17.08.30.png](https://www.sicpers.info/2020/10/running-linux-gui-apps-under-macos-using-docker/screenshot-2020-10-12-at-17-08-30-png/)
- [Screenshot-2022-01-28-at-12.33.43](https://www.sicpers.info/about/screenshot-2022-01-28-at-12-33-43/)
- [Screenshot-2022-01-28-at-12.47.23](https://www.sicpers.info/about/screenshot-2022-01-28-at-12-47-23/)
- [signup-1.png](https://www.sicpers.info/2013/11/updating-my-objc-web-app-on-git-push/signup-1-png/)
- [signup-2.png](https://www.sicpers.info/2013/11/updating-my-objc-web-app-on-git-push/signup-2-png/)
- [smallclick.png](https://www.sicpers.info/2010/07/on-fitts-law-and-security/smallclick-png/)
- [Smalltalk MVC](https://www.sicpers.info/2014/02/moderately-valuable-cliche/smalltalkmvc-png/)
- [Smalltalk-80 books](https://www.sicpers.info/2014/02/missing-vital-content/smalltalk_books-jpg/)
- [SNfoot.JPG](https://www.sicpers.info/2011/08/remember-the-future/snfoot-jpg/)
- [SNneck.JPG](https://www.sicpers.info/2011/08/remember-the-future/snneck-jpg/)
- [SNtop.JPG](https://www.sicpers.info/2011/08/remember-the-future/sntop-jpg/)
- [SNtrunk.JPG](https://www.sicpers.info/2011/08/remember-the-future/sntrunk-jpg/)
- [sophos-eicar.png](https://www.sicpers.info/2010/11/on-free-mac-anti-virus-2/sophos-eicar-png/)
- [subscriptions](https://www.sicpers.info/2017/01/resolution-share-subscriptions/subscriptions/)
- [Swift tower](https://www.sicpers.info/2019/04/new-swift-hardware/d72a8cc3-68a3-4efb-b128-68e77c6dedcd/)
- [table1-1.png](https://www.sicpers.info/2012/09/an-apology-to-readers-of-test-driven-ios-development/table1-1-png/)
- [thunderbirds-watch.png](https://www.sicpers.info/2014/06/wristwatches-in-the-future/thunderbirds-watch-png/)
- [TMVE](https://www.sicpers.info/2014/01/meaningless-vapid-catchphrase/tvme/)
- [Ubuntu](https://www.sicpers.info/2018/10/making-my-peace/img_20141110_080719/)
- [win8_1.jpg](https://www.sicpers.info/2014/04/code-longevity/win8_1-jpg/)
- [xcode-managedtest.png](https://www.sicpers.info/2010/06/template-class-for-unit-testing-core-data-entities/xcode-managedtest-png/)
- [zelda.jpg](https://www.sicpers.info/2014/04/preparing-for-computings-big-one-oh-oh/zelda-jpg/)
- [Zim-as-Labrary](https://www.sicpers.info/2019/01/the-app-that-wasnt-yet/screenshot-2019-01-02-at-11-11-58/)