Strongly Connected Components in Ruby
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'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...
Ruby programs can be written in unicode, meaning that you can label a real lambda. Once, when working on a school assignment to build a simple regular expression interpreter, I had a similar flash...
Since Ali posted 20 things I learned at FullCodePress, I thought I'd chime in with my own observations from the perspective of being programmer for the Code Blacks: Working side by side is...
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...
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...
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...
Not for the weak of heart, but the prospect of wrangling the call database with Django is a tantalizing hint of things to come...
What a weekend. One of the most intense storms of blogging and flickrizing that I've ever seen, and definitely the most intense all nighter I've ever experienced. Our charity client was so blown...
The two teams have just briefed, the rooms have been set up, the network is streaming, and we're gathering up all the final bits and pieces we're gonna need (post-it notes, and assorted bits of...
We're safe and sound in balmy Sydney, where we await the arrival of the Australian team. We're planning to take it pretty easy on Friday with a bit of tinkering, a bit of touristy stuff, before...
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...
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...
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...
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...
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...
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...
I am privileged to be a part of the first NZ FullCodePress team, to travel to Sydney in August. By luck or whatever else, I somehow find myself right in the middle of it... What is possible for...
Finalists for the New Zealand FullCodePress team have been selected, and I'm one of them! Final selection is tomorrow. Good luck to everyone who has been nominated, especially the other two selected...
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...
This article is a work in progress, part of a new series "Undocumenting PHP", which explores and discusses some of the less well documented or uncommon aspects of PHP. After running into a weird...
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...
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...
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,...
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...
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....
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...
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
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...
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 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....
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...
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...
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...
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...
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",...
Physical/Mental side-effects include howling arrays of wolves that cannot be popped out;
Why and MenTaLguY show how to upwink javascript into web requests - is this a replacement for Greasemonkey, or just total insanity?
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...
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...
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...
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...
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...
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...
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...
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...
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...
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,...
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...
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: ...
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...
➔ Behaviour : Using CSS selectors to apply Javascript behaviours
➔ mezzoblue § Side-stepping IE
➔ Solving CSS problems for Mozilla Europe | Blog | 1976design.com
➔ stu nicholls | the CSS playground | min-width for IE
➔ footerStick › css › Learn › solarDreamStudios
➔ what comes to mind : Enhanced Form Widgets
➔ svendtofte.com - max-width in Internet Explorer
➔ CSS Formatter and Optimiser/Optimizer
➔ Another image replacement technique
➔ Applied CSS Management and Optimization
➔ mezzoblue § Redundancy vs. Dependency
➔ Developing Dashboard Widgets
➔ Greasemonkey: DIY Web Improvement
➔ Faster DHTML in 12 Steps (Internet Explorer - DHTML)
➔ ripple:data_structure [OSFlash]
➔ Re: A concise description of Ruby?
➔ Peer Pressure » Greasemonkey and the Death of API Keys
➔ Wait till I come! » DOM scripting Health and Safety
➔ Core JavaScript Guide 1.5: 7 Working with Objects
➔ JavaScript: A Survey of the Language
➔ Parsing W3C's ISO 8601 Date/Times in JavaScript
➔ XSS (Cross Site Scripting) Cheatsheet: Esp: for filter evasion - by RSnake
➔ JavaScript: The World's Most Misunderstood Programming Language
➔ Edit in Place with JavaScript and CSS
➔ GM_xmlhttpRequest [Dive Into Greasemonkey]
➔ AJAX Patterns: Design Patterns for AJAX Usability
➔ XMLHttpRequest Usability Guidelines
➔ Richard@Home : Javascript and PHP Remote Procedure Calls
➔ narcissus - javascript in javascript
➔ Document Object Model Events
➔ Extending the JavaScript DOM Interfaces in Mozilla and Other Modern Browsers.
➔ Tales On The TrimPath » Motives For JavaScript Templates
➔ Can programming be liberated from the von Neumann Style?
➔ International standard date and time notation
➔ Abecedaria: Unicode Philosophy
➔ 10 Things Every Java Programmer Should Know About Ruby
➔ Language Workbenches: The Killer-App for Domain Specific Languages?
➔ Free Online Unicode Character Map
➔ Object-Oriented Game Development: Iterative Development Techniques
➔ Steering Behaviors For Autonomous Characters
➔ Industrial Strength Web Publishing
➔ Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks
➔ Architect The Negative Space
➔ Fielding Dissertation: Representational State Transfer (REST)
➔ Perl, the first postmodern computer language
➔ Mock Objects and Distributed Testing
➔ Bill de hÓra: RSQ: Really Simple Querying?
➔ TWiki . QC . QuantumDesignLanguage
➔ User Friendly Recoding of Legacy Text in RTF/MIF
➔ We Didn't Get Here By Mistake
➔ Rails Shared-Controller Example
➔ Tag Cloud Font Distribution Algorithm | Echo Chamber Project
➔ Apache Week. Publishing Pages with PUT
➔ Django | Documentation | Model reference
➔ Six Apart ProNet Articles - Shuffling Atom with XML::Atom::Filter
➔ System Matters: Is Complete Test Coverage Desirable - or Even Attainable?
➔ Normalized data is for sissies (kottke.org)
➔ whump.com | More Like This WebLog: Lossless XHTML - Thursday, 30 September 2004
➔ Why can't Firefox parse HTML?
➔ Monads for the Working Haskell Programmer
➔ Single Page Application And Development Environment - TrimPath - Trac
➔ Martin Fowler - Enterprise Application Architecture: Mapping to Relational Databases
➔ DBAzine.com: Trees in SQL: Nested Sets and Materialized Path
➔ Lexicals Make Sense at Perl Design Patterns Wiki
➔ Looking at the wrong side of persistence | PHP Everywhere
➔ O'Reilly Network: Marshall McLuhan vs. Marshalling Regular Expressions
➔ ASPN : Python Cookbook : Simplified attribute accessors using overloading
➔ Regarding Ruby (and Ruby on Rails)
➔ Extending Creative Commons Metadata | Creative Commons
➔ Cover Pages: SGML/XML: Using Elements and Attributes
➔ Thinking XML: Use the Atom format for syndicating news and more
➔ Sending XHTML as text/html Considered Harmful
➔ How Object-Oriented Programming Started
➔ SOAP has some serious issues worth considering
➔ XHTML 2.0 - XHTML Metainformation Attributes Module
➔ .NET Architecture Center: Microsoft Patterns: Intercepting Filter
➔ Core J2EE Patterns - Intercepting Filter
➔ mod_rewrite Cheat Sheet - Cheat Sheets - ILoveJackDaniels.com
➔ Decoupling Application Logic, Persistence, and Flow: The Model Technique
➔ Mapping Objects to Tables - Patterns for Object / Relational Mapping and Access Layers
➔ HTTP Made Really Easy - A Practical Guide to Writing Clients and Servers
➔ Security Tips for Web Developers
➔ On the use of some MS Windows characters in HTML
➔ How to show Google's Web Accelerator the door in Rails
➔ The Aesthetics of Generative Code
➔ Professional PHP » The Usability of Input Filtering
➔ Mozilla.org - The Life Of An HTML HTTP Request
➔ Inversion of Control Containers and the Dependency Injection pattern
➔ Explore Model Driven Architecture and Aspect-oriented Programming, Birds of a Feather
➔ How to Address Crosscutting Concerns in Aspect Oriented Software Development
➔ Building a Vector Space Search Engine in Perl
➔ Periodic Table of Perl Operators
➔ Strong Typing vs. Strong Testing
➔ Developers Wiki - MicroFormats
➔ Implement Bayesian Inference Using PHP
➔ Data on The Outside vs Data on the Inside
➔ How to use Model-View-Controller (MVC)
➔ Towers of Hanoi and Recursion
➔ Declarative Mini Languages vs XML
➔ Why Rails looks so good (and why it matters) (Loud Thinking)
➔ Packrat Parsing and Parsing Expression Grammars
➔ The Role of RSS in Science Publishing: Syndication and Annotation on the Web
➔ Post-structuralist programming? | The developer.* Cooperative Digest
➔ A Laboratory For Teaching Object-Oriented Thinking
➔ A tutorial on character code issues
➔ Catalog of Patterns of Enterprise Application Architecture
➔ AtomAPI Quick Reference | 2003-11-05 | BitWorking
➔ Unit testing with mock objects
➔ : A HOWTO on Optimizing PHP with tips and methodologies
➔ Server clinic: RTF on the server
➔ OpenOffice.org XML File Format
➔ XML.com: Generating DOM Magic
➔ International PHP Magazine - Cutting-Edge Technologies for Web Professionals - Online Articles
➔ Unifying Tables Objects And Documents
➔ SitePoint Forums - PHP Hibernate, OQL and other goodies
➔ Peter Guttman on Self Sustaining OSS Development
➔ A different slant on persistence?
➔ Inversion of Control Containers and the Dependency Injection pattern
➔ Needle Manual :: Chapter 3: Service Locator
➔ randomchaos: document: php and unicode
➔ Quality Programming - Designing Developer Tests