We’ve all been there. You’ve made an update to your website but you can’t see the change for some reason. It pays to check the basics first before you get totally frustrated and stare at your SQL query or regular expression blankly for 30 minutes, screaming “why don’t you just work?” and turning the air blue.
Ask yourself:
- Did you edit the right file?
- Did you actually upload a file?
- Did you upload the right file?
- Did you save the changes first?
- Are you connected to the correct server?
- Did you upload it to the correct directory?
- Are you refreshing the correct browser window or tab?
If you can confidently reply yes in answer to each of these questions then you’re probably suffering from some form of code blindness. Either ask a collegue to take a look at your work or take a break and go for a coffee – the solution will be so obvious when you get back that you’ll feel like screaming again.
The more observant among those of you who have visited before may have noticed that a new tab has appeared in the header panel today. My playground is a place for me to mess around with code once I’ve finished coding all day.
An idea can (and does) strike me at random and on the odd occasion that it turns out to be a good one then this is where I will flesh it out. Who knows? Somebody else might find stuff here to be useful too someday!
A good while ago I started thinking about how best to optimise web pages, which led me to the Yahoo! Exceptional Performance team. The first recommendation was to minimise HTTP requests. One way of doing this is to combine all JavaScript and all CSS files used on a page into single files. This can make maintainability an issue unless you have good build and release processes.
Continue reading ‘Bundle-PHP’
Watch out Dr Kawashima, I fully expect Microsoft to stake a claim to have invented brain training programs in the near future. The hoops that web developers are forced to jump through to get things working in Internet Explorer are sometimes awe-inspiring in their deviousness.
It almost seems like Microsoft will never care about totally supporting standards. To try and build an accessible website is far harder than it should be when working with .NET – no matter how hard I try to ignore it, I just know that if anyone viewed the source they would find a crapload of godawful CSS, JavaScript and a multitude of hidden form fields (like CLIENTSTATE) populated with strings so long that they could potentially map every atom in the solar system. It sometimes actually makes me feel unclean.
Microsoft are not alone. A colleague recently pointed out that out of the seven lines of tracking code he had been supplied, not a single one of them was as it should have been. The abundance of supposedly professionally produced sites that have been built with WYSIWYG editors is testament to the fact that not everybody is bothered about doing things properly. It’s not like hand-coding takes that much longer or is that painful but you have to understand how things work and know what you’re doing – which is surely no bad thing. With this in mind it was refreshing to find out that this is what a big media organisation like The New York Times does.
The mountain view aside, you’ll not have noticed much difference but I upgraded to WordPress 2.5 yesterday. All went swimmingly this time thanks to using the SVN based upgrade procedure (although I’ve just noticed that my last.fm feed seems to have vanished for some reason). I also took the opportunity to install a nightly version of the K2 theme which should squash a few navigation bugs that you may have noticed in the past.
The aforementioned header image is from the letter ‘F’ installment of the ongoing Hogmanay alphabet tour: Flaine.
Update: I found some more photographs in iPhoto that I thought may make nice header images and a random selection from these is now in place.
At least it does for web pages.
“Try holding your breath for as long as it takes your home page to load. If you are now dead, it took too long.”
- Art and the Zen of web sites
A decade ago, in the age of dial-up connections, page weight was everything. Images were compressed to within an inch of their lives and Netscape (R.I.P.) even had a special attribute for a lower resolution image to use as a placeholder while the proper image loaded. Then along came broadband and web developers got lazy.
Continue reading ‘Size matters’
This year has already started to see the blurring of the edges between online Web 2.0 and traditional desktop applications. The traditional downside to this software as a service (SaaS) has been what to do when there is no connection to the Internet. There are various technologies now available from the big players (Adobe AIR, Google Gears, Microsoft Silverlight, Mozilla Prism and Sun with JavaFX). These all allow developers to keep your data in sync when you don’t have Internet access to their applications.
Another obstacle is changing attitudes to software. You will no longer own the software that you use but instead be charged either on a pay-as-you-go tariff or, more likely, on a monthly subscription basis.
There is also a gathering trend toward smaller, more portable computing devices with limited hard drive capacity like the Asus Eee PC. New solid state Flash drives offering a reasonable amount of storage are still expensive but these drives offer better battery performance and allow for smaller footprints.
Couple these new machines with a wireless connection, offline synchronisation and advancing online applications and you’re not a million miles away from the thin client model of computing in the 1970s. The major difference I can see between the aged dumb terminals and the new emerging way is a matter of the public perception of security and trust online. Throw in reliability (or lack thereof) issues, encryption bottlenecks and the economics of dealing with a serious amount of bandwidth into the mix and it’s clear than there is still a lot of progress to be made.
Today’s (and probably the last of the year) Edinburgh Coffee Morning was the busiest it has been for a good while. The cryptic promise of some gifts that Ewan McIntosh left in a Facebook message last night turned out to be some really nice signed Hugh MacLeod posters for Stormhoek. The season of goodwill and giving continued with some warmed Panettone and some chilled Prosecco courtesy of our hosts at Centotre. Many thanks to the aforementioned for their generosity.
A couple of stand out things from this morning before the conversations paired off as things are wont to do in group dynamics. Ewan briefly demoed Seesmic which seems to be some kind of video Twitter. I’ve never sent a “tweet” in my life and do have difficulty of seeing the point of it if I’m being honest. At least with Seesmic, there is an element of a two way thing going on.
Via Will Richardson, I found this video of Johnny Chung Lee turning the tables on the light sensing aspect of the Wiimote to produce an interaction whiteboard for around £40 much more interesting:
It has to be said that I’m a little indecisive at times. For instance, I’m always happy to “go with the crowd” when it comes to suggesting somewhere to meet friends and very rarely propose a venue myself. This can be a problem when everyone that you are trying to meet up with is of the same non-committal mindset.
I was struck by an idea while strutting to work yesterday morning. Later that afternoon I remembered that it was actually a redux of an idea that came about a couple of years ago: using Google maps to work out a central point twixt your location and the location of those you want to meet.
To this end I knocked up Whithr over the course of the last couple of evenings. Click on the map to indicate the location of people you plan on meeting (and obviously your own location too) and a marker will be placed at the most mutually convenient midpoint. By default this point is weighted toward being beneficial to the majority of people but you can change this to get a fairer average by selecting the “Needs of the few” option. You can remove a location marker by double clicking on it or move it around by clicking and dragging.
Next, either type the kind of place you want to meet at (like “pizza” or “sushi”) in the search box below the map or click on one of the predefined options (“coffee”, “pub” or “restaurant”) to get some suggestions.
It’s still a work in progress with a few bugs and issues remaining but also some interesting ideas emerging for future enhancements.
Mad props to DN, Alex and Simon.
I downloaded around with the first beta of new Firefox browser last week and have to say that I’m impressed by the updates already. Memory usage, once the bane of my browsing experience has been vastly improved. Take a look at this screen grab of my task manager. Guess where I got bored of Firefox hogging 700,000K of my memory and ended the process?

Cocoa widgets played a big part in me installing Bon Echo (which is the Mac Intel optimised version of Firefox 2) but now with Firefox 3 Mozilla are giving us native form controls themselves.
Look-and-feel is one thing but for a web developer at a design agency more important than this and the memory usage is the support of standards. Firefox now follows the lead of both Opera and Safari and passes the ACID2 test. ICC color profiles are now fully supported (again, a good few months after Safari) although the not enabled on default installs. You can switch it on using the special about:config URL of Firefox (you can safely ignore the cute warning message for this), changing the gfx.color_management.enabled setting to true and restarting. You can see the color profile support in action at color.org.