I've had a massive pile of code and experiments sitting around for too long. It's time to move on, but I thought, why not throw it out to rot instead of just disposing of it? Who knows, the stuff…
I hate to agree with grouchy old Dijkstra, but unfortunately now it's impossible to deny: BASIC is what killed my ability to be a truly great programmer. Dijkstra was right, GOTO completely rots your…
Various parts of this site are meshed from other services such as ReBlog, Google Reader, and del.icio.us, and I use a Yahoo Pipes assembly to merge these publishing streams into a single RSS feed…
John Rose talks about implementing support for tail call optimization in the JVM. I've been waiting for this one, as in my mind, it has long been one of the biggest holes in the leaky dike of…
This will be of no interest to most people but it's useful to note for future reference. The various click-installer solutions to set up Apache and PHP under Windows such as WAMP don't seem to automate…
People are starting to catch on to two very powerful ideas - that functional languages are ideal for building persistent storage repositories, and that a huge subset of web applications don't need…
Last year, I picked up this curious book which seemed to sum up the zeitgeist of web programming in 2005 - an interesting and polemical twist from O'Reilly
Google have released a bunch of high level statistics from a recent survey (SVG capable browser required), looking at the relative frequency of HTML elements across more than a billion web documents.…
The key concept that underlies the modern web is the separation of presentation and structure, and recently, there has been a lot of interest in documenting the synthesis of human friendly and…
Physical/Mental side-effects include howling arrays of wolves that cannot be popped out;
This is a prototype of a language modelling tool, created for the purpose of helping designers, information architects, and developers collaborate better. If you want to check it out, and have access…
Any users of Greasemonkey who aren't on the mailing list, and didn't see the latest round of security discussions should immediately read this and follow the requisite steps... Update: Simon has…
AJAX is not new(s). Previously, I've been critical of the nomenclature, perhaps more for aesthetic reasons than anything else, but I have to agree with Simon Willison, who…
Amongst those of the user experience and information architecture persuasion, there seems to be a growing trend that involves taking interesting new technological and interactive…
Python 3.0a1 release hits the network, with significant backwards incompatible changes. The best way to describe this is a shedding of the snake's skin, sloughing off a whole bunch of weird ambiguities…
Not for the weak of heart, but the prospect of wrangling the call database with Django is a tantalizing hint of things to come...
Finally found some time to work on rolling this big ball of mud onto a more robust foundation. Before going any further, I need to get the site up and running on PHP5 (as well as Apache2 and Mysql5…
Treemaps emerged in the mid 90's as a method of visualizing heirachies, and have since been widely used throughout the software design community. But very little work is out there exploring visualizations…
Well I went to upload some new writing and just snapped - I couldn't write here until I was happy with the way it was presented. So I tore down all the styles and javascripts, leaving just a structural…
This technique been mentioned in passing for a couple of years now, and recently seems to be gaining a fair amount of attention. Many web designers love the idea of building dropdowns like this.…
Joel on Software has published the first draft of a short essay on usability, where he makes the salient point that: Something is usable if it behaves exactlyas expected. This principle of usability…
Thanks again to Harry, I stumbled across two fascinating projects that tackle a particular fundamental problem in PHP5. The ambition of metaphp is to take over the world, and that's actually not such…
Without exception, programmers espouse separation of logic and display as an ideal principle. In practice, however, programmers and template engine producers are loath to enforce separation, fearing…
Why and MenTaLguY show how to upwink javascript into web requests - is this a replacement for Greasemonkey, or just total insanity?
This piece landed in my inbox twice today, and immediately caught my attention. It's well written, and makes some excellent points that I think are exactly on the mark. Paul Graham has elaborated…
I've started a simple repository of Greasemonkey User Scripts. Mostly experiments I've been playing with in my spare time, and occasional annoyances with sites that I feel compelled to fix. The most…
Gecko support for CSS3 multicolumn layouts looks interesting... I know next to nothing about CSS3 in Mozilla, but this is something that I have wanted to use on a…
Think you understand the basics of HTML and the Document Object Model? Start with a basic CSS selector: #items { width:180px; height:220px; } Now the HTML that this CSS decorates: …
Raganwald dissects the misguided metaphor from a software process perspective. I have come to believe that these kinds of problems are even more prevalent in the web development world than in…
There's a tide of opinion suggesting that PHP is threatened with extinction as standard hardware begins to favour widening multicore processors. This would be a fair argument if PHP was a general…
The process is just as straightforward on OS X as it is on Windows - if you do things manually. The catch for me was that I needed to set up a script to automate the process. Normally, OS X expects…
Everyone thinks that the major problems of CSS are mostly due to incompatible browser implementations but that's not quite the full story. It can be hard to see how cascading style sheets are not…
Why learning Haskell/Python makes you a worse programmer: So, learning Python and Haskell has demoralised me and encouraged me to write code that is bizarre and difficult to understand, and,…
The writer is doubtless stricken with writers block And can thus, for weeks, vanish into a myriad of dark rooms Where conversation dangles under glistening rows of liquor. The programmer is expected…
Recently, I've been looking for good case studies of the practical benefits of RDF adoption, and while I've found a little interesting stuff, I've been noticing a severe dissonance in the volume of…
Google is based on the concept of the web as a gigantic directed graph. Edges in this graph are determined by directional hyperlinks between web pages. How many of us understand how the usage of rel…
In response to More Thoughts on How Microformats are Different, I'm starting to wonder if maybe there is room for another proper noun that describes "a specific compound of semantic XHTML units",…
But it's not... Yet the author of this new RSS 3 spec has made a more-than-insignificant oversight: he's missed the fact that RSS 3 already exists and it's a f**king joke... Aaron Swartz certainly…
Having slogged through the trenches on some pretty large scale HTML and CSS builds, I tend to have a somewhat jaundiced view of declarative syntax. There’s only so many hundreds of hours you…
Managing RESTful AJAX operations is an open problem. While I say that aspects of managing HTTP requests, and designing UI feedback cannot be understood in isolation and must…
Why you would choose PHP over Java on your next major CMS development project: You want to write anywhere, run once. You want to work directly with classes,…
Despite having been a significant catalyst for the success of the world-wide-web, use of the humble 'ol <table> has been drived to the backroads with current conventions…