Entries
Filters: Sorted by date
Small design tweak, big difference
I’ve changed from using the day as the principle heading on the front page to using the title of each post instead. This is quite a minor alteration, but I expect it to have a relatively large impact on my blogging habits. For the past year I have treated my blog as a daily endeavour, thanks almost entirely to the way the site was layed out. This was intentional; when I orginally launched blog I made the decision to keep each entry as part of an ongoing narrative, with no individual entry titles and permalinks to entries in the context of the day they were posted.
[... 270 words]The reason monopolies are a bad idea
I wasn’t planning to cover the recent AOL and Microsoft announcements as they’ve been covered to death elsewhere by people with far more insight than myself, but this third piece of news seems to bring things to a head: Microsoft have announced the end of development of Internet Explorer for the Mac. I’ve never really had access to this browser but I’ve read enough to know that it was the first full browser release to take web standards seriously, and as such plays a very important part in the history of the web standards movement. It’s sad to see it come to an end, but it also raises yet more questions about the direction Microsoft is taking with regards to the web.
[... 571 words]One year of blogging
Today marks the first anniversary of the start of my blog (and, by a slightly contrived coincidence, my thousandth blog entry). It’s been a fun year. Here are my highlights—if you can’t stand lengthy self-congratulatory bullet points, stop reading now.
[... 666 words]Official film sites almost always suck
Why do official film sites almost always suck? www.x2-movie.com is a prime example: 100% Flash, ridiculous loading times (and I’m on broadband), totally unintuitive interface, tedious, unnecessary animations every time you click on anything and when you finally get to the content (all I could find was the “Mutant Database”) it gives you hardly any information above what you get by watching the film! It looks pretty (pretty expensive at any rate) but really is nothing more than a glorified trailer.
[... 347 words]Safely consuming RSS: RegExps don’t cut it
Mark Pilgrim highlights the severe security issues introduced by RSS aggregators that display potentially unsafe HTML, often executing it in the “secure zone” generally reserved for trusted local documents. Mark suggests a number of dangerous tags and attributes that should be removed before display. Unsurprisingly, regular expressions have cropped up in the comments as the suggested solution. Jamie Zawinsky famously once posted the following to comp.lang.emacs:
[... 396 words]Structured content defined
Peter Van Djick: The structure of content and metadata, a glossary style overview of important concepts in structured content and website metadata. Peter also links to Victor Lombardi’s excellent Metadata Glossary.
Eric Meyer Redesigns
Eric Meyer has released a new selection of designs over on Meyerweb. The designs are inspiring, and Eric’s CSS is well worth perusing for style tips and insights in to reliable methods of creating relatively complex layouts.
Under the Iron
Under the Iron is a series of interviews with interesting people. The most recent three include one with Mark Pilgrim, which talks in part about Mark’s reasons for creating diveintoaccessibility:
[... 140 words]Authentication via POP3
Authenticating users through a third party POP3 server (Python sample code provided) is a really interesting idea, but one that I don’t think could ever be used in the wild. Firstly, I haven’t the slightest idea what my POP3 password is as I tend to save it in my mail application and forget about it. Secondly (and more importantly) is trust: how many web sites do I trust enough to give them my email password whenever I log in?
[... 133 words]Home improvements
Exams are all over and I’ve had a few days of doing nothing to recuperate. I’ve also made a couple of small improvements to my blog. Firstly I’ve finally updated the comment system (after numerous vocal complaints) to provide a preview option and redisplay the form in the case of invalid markup. I’ve also changed the monthly archive pages to display the titles of all of the posts from that month instead of just showing which days had entries. In my experience date based navigation is the least useful way of finding old content in a blog (search, categories and related reading are far more valuable) but the new way of presenting monthly archives at least gives an overall view of the topics I was posting about over a particular time period.
Using bookmarklets to experiment with CSS
I’m in the middle of a whole bunch of exams at the moment, but here’s a quick tip that should make experimenting with and learning CSS a great deal easier. It involves bookmarklets. If you haven’t seen them before, bookmarklets are bookmarks that embed javascript; when you click the bookmark, the javascript is executed in the context of the currently loaded page. What that means is that in a suitably advanced browser bookmarklets can be used to modify pages, analyse their structure and do a whole host of other useful things.
[... 813 words]From HTML to CSS
Tom Gilder: “I did this in HTML, how do I do it in CSS?”. A collection of tips for replicating visual formatting effects in old-style HTML with their CSS equivalents. A good resource for people just getting started with CSS.
Mouseless
My mouse stopped working a couple of days ago. This hasn’t ben as big a problem as you might have thought, mainly because Vice City refuses to install on my PC so I’ve been playing it on a housemates instead ;) Surfing the ’net mouseless has however given me an interesting insight in to a number of accessibility issues.
[... 387 words]Infrequent updates
My infrequent updates can be blamed on two things: revision for exams (three next week) and Grand Theft Auto: Vice City. One of these two has been taking up far more time than it should...
Golden Mean
Golden Mean is Doug Bowman’s first contribution to the CSS Zen Garden, and it’s a very nice piece of work. Even better is the fact that Doug has provided extensive coverage of the design process (including technical CSS details) on his blog.
Fun with links
Yesterday we talked about the box model. Today we’re going to put a small part of it to work, by investigating ways of styling links. Before getting stuck in, we need to talk a bit about pseudo-selectors (also known as pseudo classes). The CSS specification defines pseudo classes as “characteristics that cannot be deduced from the document tree”, but in practise the only widely implemented psuedo selectors are those that apply to links. The key psuedo selectors for links are:
[... 810 words]Understanding the Box Model
Today’s tutorial is going to be all theory. The box model is an inevitable part of CSS, and understanding it is critical if you want to do anything remotely interesting. Like most of CSS, it’s a lot simpler than it sounds. Here it is:
[... 626 words]CSS Tutorial: feedback so far
My CSS tutorial series has been getting some fantastic feedback, both in this blog’s comments system and elsewhere. This entry will summarise the most useful feedback, acting as a kind of errata to the previous entries. Thanks to everyone who commented, there are too many to credit individually but you can see most of the points in their original format by browsing the comments attached to each entry.
[... 661 words]Learning Python, second edition
Mark Lutz has announced that he is working on a second edition of Learning Python. The first edition of Learning Python is probably the best learn-programming-language-X title I have ever read. It’s nice and short, but covers the whole core Python language comprehensively with excellent examples and a well targetted learning curve. I’ve lent my copy to several people, all of whom found it very helpful and one of whom went on to buy a copy themselves. I’ll probably be buying a copy of the second edition just so I can use it on my constant mission to get more people on my course to give Python a go.
Even more buttons
If the 309 buttons at Steal these buttons aren’t enough for you, you can now generate your own thanks to a clever PHP script on Minimal Verbosity. Bill Zeller has made the source code available as well.
Programming by Contract in Python
Programming by Contract seems to be a sister technique to unit testing—instead of (or as well as) writing a set of tests for a piece of code you write a set of pre- and post-conditions for the data being processed which are then checked whenever the program is run in debugging mode. Contracts for Python discusses the technique, providing a reference implementation and a PEP suggesting inclusion of support for the technique in the core language. Programming by contract was first demonstrated in the Eiffel language, and there’s a good introduction to it in Eiffel.com as well.
Quick tip: Styling blockquotes with CSS
Today’s tutorial is going to be short one, as I’m working on one last piece of coursework. This time I’m going to explain a clever CSS trick borrowed from Nick Boalch. Here’s a screenshot:
[... 475 words]Defeating IE5 CSS bugs with the help of jwz
Today’s CSS case study will be Jamie Zawinski’s LiveJournal. OK, I admit that he’s something of a tempting target after his widely publicised CSS rant last month (which was the main inspiration for this course), but there are a number of sensible reasons his site makes a good case study as well. The theme for today is “bugs in IE5 for Windows”, and jwz’s site offers two classic examples that fit this theme nicely. The first is the fact that the design is centered on the page, and the second is his choice of Verdana, a font which requires some trickery to get working well in IE5. In addition, the design of the entries seems to be a natural fit for a table based layout, so demonstrating how much simpler the code can be in CSS will hopefully turn a few heads.
[... 2,979 words]Scripting.com, with added CSS
One of the aims of this course is to show how relatively simple CSS can be used to make dramatic improvements to existing sites. Today, I’ll show how CSS can be used to reduce the amount of code needed for a small part of the design of Scripting.com.
[... 1,178 words]The Selfish Class
The Selfish Class provides a set of related patterns to help design software objects that encourage reuse. They seem to make a lot of sense; I’ve only read a smal part of the paper and I’m already spotting things that are reflected in software I’ve found reusable in the past. Key example:
[... 118 words]New Gestures Build
There’s a new nightly build of the Mozilla mouse gestures plugin which supports Firebird 0.6 and has a preferences panel, complete with options for setting up custom gestures. I missed the customise button at first (Tools -> Options -> Extensions -> Mouse Gestures -> Settings -> Edit Mappings) but it’s very powerful, if slightly confusing. It’s nice to be able to change gestures to the right mouse button without digging in to about:config as well.
Syntax Highlighting with Javascript
If you were curious enough to dig around the source code of yesterday’s CSS tutorial, you may have noticed a couple of classes that didn’t appear to be doing anything:
[... 264 words]The anatomy of a stylesheet
To start my series of tutorials, I’m going to go over some of the basics of CSS. This is the boring bit: if you already know the difference between rules, properties and selectors you may want to skip this entry.
[... 1,276 words]CSS2 is five years old
No one appeared to notice, but the CSS2 Recommendation had its five year birthday on Monday the 12th of May. Maybe now people will stop writing it off as a new and unproven technology and start looking in to the benefits it can bring instead. Speaking of which, I’ve decided on the format for my CSS tutorial series and hope to kick things off with the first in the series tomorrow.