I like the way that Simon is liberating his data from silos and making it work for him.
Saturday, November 14th, 2020
Sunday, September 27th, 2020
The title says it all, really. This is another great piece of writing from Paul Ford.
I’ve noticed that when software lets nonprogrammers do programmer things, it makes the programmers nervous. Suddenly they stop smiling indulgently and start talking about what “real programming” is. This has been the history of the World Wide Web, for example. Go ahead and tweet “HTML is real programming,” and watch programmers show up in your mentions to go, “As if.” Except when you write a web page in HTML, you are creating a data model that will be interpreted by the browser. This is what programming is.
Friday, July 31st, 2020
I probably need to upgrade the Huffduffer server but Maciej nails why that’s an intimidating prospect:
Doing this on a live system is like performing kidney transplants on a playing mariachi band. The best case is that no one notices a change in the music; you chloroform the players one at a time and try to keep a steady hand while the band plays on. The worst case scenario is that the music stops and there is no way to unfix what you broke, just an angry mob. It is very scary.
Thursday, December 3rd, 2015
A really nice piece by Paul Ford on the history of databases and the dream of the Semantic Web.
Sometimes I get a little wistful. The vision of a world of connected facts, one big, living library, remains beautiful, and unfulfilled.
Monday, July 30th, 2012
Some good database character-encoding advice from Mathias.
Tuesday, October 27th, 2009
You can now store (and scale) MySQL databases with Amazon. Handy.
Monday, June 1st, 2009
Drew and Rachel's little CMS looks very nice indeed.
Sunday, October 26th, 2008
The slides from Simon's excellent full-length presentation at the head conference. Every web developer needs to be aware of these issues.
Thursday, December 27th, 2007
Hacky holidays on OS X
Christmas is a time for giving, a time for over-indulgence, a time for lounging around and for me, a time for doing those somewhat time-consuming tasks that I’d otherwise never get around to doing… like upgrading my operating system.
I used the downtime here in Arizona to install Leopard on my Macbook. I knew from reading other people’s reports that it might take some time to get my local web server back up and running. Sure enough, I had to jump through some hoops.
I threw caution to the wind and chose the “upgrade” option. Normally I’d choose “Archive and Install” but it sounds like this caused some problems for Roger .
The upgrade went smoothly. Before too long, I had a brand spanking new OS that was similar to the old OS but ever so slightly uglier and slower.
My first big disappointment was discovering that my copy of Photoshop 7 didn’t work at all. Yes, I know that’s a really old version but I don’t do too much image editing on my laptop so it’s always been good enough. I guess I should have done some reading up on compatibility before installing Leopard. Fortunately, I was able to upgrade from Photoshop 7 to Photoshop CS3—I was worried that I might have had to buy a new copy.
But, as I said, the bulk of my time was spent getting my local LAMP constellation back up and running. I did most of my editing in BBEdit—if you install the BBEdit command line tools, you can use the word
bbedit in Terminal to edit documents. If you use Textmate,
mate is the command you want.
Leopard ships with Apache 2 which manages virtual hosts differently to the previous version. Instead of keeping all the virtual host information in
/etc/httpd/users/jeremy.conf), the new version of Apache stores it in
/private/etc/apache2/extra/httpd-vhosts.conf. I fired up Terminal and typed:
That file shows a VirtualHost example. After unlocking the file, I commented out the example and added my own info:
The default permissions are somewhat draconian so to avoid getting 403:Forbidden messages when trying to look at any local sites, I also added these lines to the
I then saved the file, which required an admin password.
The good news is that Leopard doesn’t mess with the
hosts file (located at
/private/etc/hosts). That’s where I had listed the same host names I had chosen in the previous file:
But for any of that to get applied, I needed to edit the
I uncommented this line:
While I was in there, I also removed the octothorp from the start of this line:
That gets PHP up and running. Leopard ships with PHP5 which is A Good Thing.
Going into Systems Preferences, then Sharing and then ticking the Web Sharing checkbox, I started up my web server and was able to successfully navigate to
http://adactio.dev/. There I was greeted with an error message informing me that my local site wasn’t able to connect to MySQL.
Do not fear: MySQL is still there. But I needed to do two things:
- Tell PHP where to look for the connection socket and
- Get MySQL to start automatically on login.
For the first step, I needed a
php.ini file to edit. I created this by copying the supplied
I found this line:
…and changed it to:
I had previously installed MySQL by following these instructions but now the handy little preference pane for starting and stopping MySQL was no longer working. It was going to be a real PITA if I had to manually start up MySQL every time I restarted my computer so I looked for a way of getting it to start up automatically.
I found what I wanted on the TomatoCheese Blog. Here’s the important bit:
Remove the MySQL startup item (we’ll use the preferred launchd instead):
Also, right-click and remove the MySQL preference pane in System Preferences because we’ll be using the preferred launchd instead.
Copy this MySQL launchd configuration file to
/Library/LaunchDaemons, and change its owner to root:
That did the trick for me. When I restarted my machine, MySQL started up automatically.
So after some command line cabalism and Google sleuthing, I had my local webdev environment back up and running on Leopard.
Wednesday, October 24th, 2007
I just learned from Kelly that Webkit is supporting local storage and database queries, as proposed in HTML5. Kinda like Google Gears. Potentially excited for the iPhone/iPod Touch.
Thursday, October 11th, 2007
Yes, you have to be a bit of a database geek to find this funny but if you are, this is very funny indeed.
Monday, May 7th, 2007
This article is a life-saver for me. I'm constantly having trouble with special characters when I'm backing up databases for local copies of my sites.
Saturday, March 4th, 2006
The working example from Richard's chapter in Blog Design Solutions. It's a home-rolled PHP/MySQL blog for Samuel Pepys featuring beautiful typography... natch.