Entries
Filters: Sorted by date
RSS Links
Here’s one for budding RSS historians: Ken MacLeod’s RSS Links is a collection of links relevant to the development of RSS between March 15, 1999 and August 14, 2000. Ken also provides a distilled list of the more important discussion points. Combine that with Mark Pilgrim’s History of the RSS Fork (covering July 2000 to November 2000) and you’ve got more knowledge about RSS history than anyone could possible want to know.
Storing Dates in MySQL
DevShed have a new article on Date Arithmetic With MySQL, which acts as a kind of missing manual for MySQL’s powerful date arithmetic functions. It reminded me of something I’ve been meaning to write about for some time: my thoughts on storing dates in a PHP application that uses a MySQL backend
[... 421 words]Stored procedures in MySQL?
Via Sam Buchanan, it looks like MySQL might get stored procedure support soon in a big way:
[... 109 words]Clearout
- Tristan Louis’ RSS to Necho convertor puts paid to the idea that the success of one format will be detrimental to the usefulness of the other.
- O’Reilly’s RegExp Power series (part one and part two) demonstrate some powerful tricks for use with Perl compatible regular expressions.
- Norman Walsh explains Content Negotiation and some of the pitfalls with modern browser implementations.
- So that’s what happened to Digitiser. See also a Digitiser Tribute and a Mr Biffo interview from 2001 for background information. I cuss you bad.
- George Orwell: Politics and the English Language
- Clay Shirky: A Group Is Its Own Worst Enemy. The title is misguiding; this is an essay about how online groups behave and how to look after them.
- A Java HttpClient Class.
- Some good stuff on Boxes and Arrows: Ten Quotable Moments: Challenges and Responses for UI Designers and Views and Forms: Principles of Task Flow for Web Applications (Part 1).
- Inside our notions of “document” and Inside our documents II—the Runoff model.
- 5 days worth of XSLT observations from Simon St. Laurent: One, Two, Three, Four, Five.
- Windows programming with open source tools: Minimalist GNU For Windows and Win32 Programming with GNU C and C++.
Compact XML Schemas with Relax NG
Tim Bray has cooked up a RelaxNG schema for the 0.1 Necho/Pie/Fecho/!Echo snapshot (they really need to hurry up and decide on a name). I had never looked at RelaxNG before, although I had vaguely picked up that it was a lot nicer than the W3C’s XML Schema format. Tim has used RelaxNG Compact, a shorthand method of writing schemas that uses a curly-braces style language instead of XML. It’s suddenly got me very interested—the compact format is instantly readable and looks a lot more efficient to use than DTDs or an XML schema language. Best of all, there are tools to instantly convert compact syntax in to a full RelaxNG XML schema, and then convert that in to XML Schema (should you want to do so). The Compact Syntax tutorial gives a good overview of how the compact syntax works. Now if only there was a Relax NG validation tool in PHP...
Terms and Conditions
So, I signed up for an AOL Instant Messenger account today. While it was relatively painless, I did get a chuckle out of the terms of use attached to the Instant Messenger installer:
[... 222 words]Adaptive Path Redesign
Doug Bowman and Adaptive Path have launched the redesign of the Adaptive Path site. It’s well worth exploring: the site looks gorgeous, and is a great example of best practise structural markup, CSS and web standards compliance. Doug has an overview of the highlights of the new design, which includes a brief explanation of the brilliant CSS double rollover effects used for the team photos on the home page.
Implementing Text Editors
Via Martin Spernau, two useful resources on writing text editors. The Craft of Text Editing appears to be the definitive work on the subject, and is a whole book made available online with permission from the publishers as it is no longer available in print. Writing a Simple Word Processor (PDF) is a more recent paper with excellent overviews of the data structures and algorithms used in modern editing widgets.
Marketing for Geeks
This is excellent: Marketing for Geeks, a series of articles (three at the moment) by Eric Sink. I’ve never really been interested in marketing but Eric got me hooked with geek friendly examples such as Paint Shop Pro and CityDesk and I ended up learning a great deal. The writing style is similar to that of Joel Spolsky, so if you enjoy Joel on Software you’ll certainly enjoy this.
Independent Days on Daring Fireball
Daring Fireball: Independent Days. A sprawling essay that covers web design principles, corporate vs. independent sites, Mac punditry and the justification for adding Google Ads to a weblog. Well worth a read. I particularly liked this quote, although it was more of a side-point than a key point of the article:
[... 129 words]Throwing your money around
Adam Curry is a dangerous man: He’s throwing $10,000 at a problem he clearly doesn’t understand. Quote from June 29th:
[... 183 words]CSS drop shadows
Yet another groovy CSS demo: Drop shadow effects using only two nested divs and an alpha-transparent PNG. They look passable in IE as well. Another gem from Paul Hammond’s link blog. Incidentally, Paul has written up some interesting observations on how a previous item from his link blog spread itself around the ’net after I linked to it a few days ago.
Filtering AOL
Burningbird starts a discussion on how much harm the addition of AOL users will cause to the blogging eco-system. She compares this development to the chaos caused when AOL users were first introduced to Usenet. I don’t see that there’s a problem. To my mind, the thing that separates blogging from the many other forms of internet discussion (forums, Usenet, mailing lists etc) is that it comes with its own built in filtering mechanisms. I’ll take myself as an example. While I don’t use an aggregator, I do use my blogroll to keep track of roughly 70 bloggers who have a very high signal to noise ratio. Through them, I am frequently directed to other bloggers of a similar calibre. I’ve seen it claimed that there are over half a million blogs on the ’net, but the social network I maintain through my blogroll means that while I only see a fraction of those, that fraction tracks most of the information of interest to me.
[... 218 words]Textile 2
Textile 2 is now available for testing, courtesy of Dean Allen. Textile is one of the more popular structured-text style markup languages, which translate a simple markup language in to HTML. What made the original Textile special was that it concentrated squarely on structural markup, providing intuitive shortcuts for most structural XHTML elements. Textile 2 takes this further, but also introduces a number of presentational effects such as block alignment. Beta PHP code is available in addition to the demo.
[... 201 words]Programming Language People
Via Joe Grossberg, Chris Rathman’s collection of mugshots of the creators of a large number of important programming languages. There’s actually a surprisingly low beard quotient (although it’s nice to see Unix/C gurus Ken Thompson, Dennis M. Ritchie and Brian Kernigan all sport a decent amount of facial hair). On a related note, I recently came across 99 Bottles of Beer, a simple program implemented in 571 different languages. Fascinating stuff.
Linus Interview
Linux creator an open source, an interesting interview with Linus Torvalds covering the IBM/SCO case, leaving Transmeta and his opinions of Silicon Valley.
More Java
Simon Brunning has a great selection of online Java resources. I should really give it its own category.
Handling dates in Java
I could have really done with this a few months ago: Making Sense of Java’s Dates.
Fixing an IE scrolling glitch
Mike Golding offers a solution to the slightly odd IE bug whereby divs in CSS layout sites suffer glitches as the page is scrolled (from December 2002):
[... 151 words]overflow: hidden
I’ve never really played with the CSS overflow property, partly because I don’t trust it to work in a decent number of browsers. Haiko Hebig’s Title Pictures show off a clever use for the property to display varying amounts of an image depending on the user’s browser size; what’s more, I’ve tested it and it works in Gecko, Opera 7 and IE6 (no IE5 to test on at the moment).
Custom XML templating with PHP
Dynamic XML conversion using the SAX parser and a stack is the best new article I’ve seen on PHPBuilder in a very long time. It introduces several interesting ideas. The first is something I’ve been thinking about for a while now: using PHP’s output buffering to implement a kind of templating system so that all of the scripts in a system just have to generate an intermediate content type, then the output buffering function adds on the HTML framework and finalises the page. The second idea is ingenious: invent XML elements to represent specific behaviours, then handle them with a SAX before the page is displayed. Here’s some example code from the article:
[... 280 words]Browser innovation is anything but dead
Rafe Colburn slams Marc Andreessen for his recent comments regarding browser innovation. Marc thinks browser innovation has been dead for the last five years. To make a statement like that he must have missed out on Mozilla, Firebird, Safari, Opera and all the other Gecko variants. Which leads to the worrying conclusion that he’s either still using Netscape 4 or (even worse) he browses with IE!
Reintroducing HTML
Jay Small: Reintroduce yourself to HTML. A call to web authors everywhere to go back to their roots and realise that HTML is not something that should be avoided. He makes some great points, such as the following:
[... 161 words]XML-RPC Errata
Fredrik Lundh: Unofficial XML-RPC Errata, a work in progress. It’s good to see that the unicode limitation has finally been cleaned up. What would be really useful is if someone could work out a list of all of the older implementations that only support ASCII strings.
Diagonal shapes with CSS
Information on Border Slants (via Paul Hammond). Border slants are the effect whereby diagonal lines can be created using pure CSS, by taking advantage of the fact that thick borders around a box meet at an angle. This article describes the effect in detail and shows how it can be used to achieve a number of interesting shapes, then goes on to show off with an impressive Valentine’s Day Heart. See also Tantek’s awesome pentagon site map and A Study of Regular Polygons.
Simple Python Sockets
Moshe Zadka: Networking for non-programmers (and a follow up), via Hans Nowak. A nice gently introduction to sockets, with example code using Python’s socket library.