Ajax tutorial linkdump

February 9th, 2006 | Filed under AJAX, Reference, Tutorials

A few Ajax links I’ve been hoarding:

Updated with one more link.


Clearbits - CSS based icons

February 9th, 2006 | Filed under CSS, Icons

The Clearbits icon set can be styled and colored using CSS. Very cool… and what looks like a very extensive range of icons. I only wish the rounded corners didn’t look so pixelated in Firefox on WinXP.

Clearbits [Some Random Dude]

Current style in web design

February 9th, 2006 | Filed under Design

Interesting summary of the current state of web design.

Current style in web design [Web design from scratch]

Note to Self

December 22nd, 2005 | Filed under Startup dot com

It’s not about having the idea, it’s about building it.


Quote of the day

December 22nd, 2005 | Filed under Perl

“The main class is like a three thousand line Perl file. Run as CGI!!! That’s like, fifty times wacko!”


Bi-coastal pair programming, XP over VNC

December 9th, 2005 | Filed under Rapid development

Mark and I did our first bi-coastal pair programming session last week with him in Brooklyn and me here in San Diego. I donned the headset, we called one another on the phone (yay free long distance), and with his Mac as a VNC server (using OS X VNC), I connected to his machine. For the most part he drove while we talked, read docs, coded and tested.

At first it was a little uncomfortable, because Mark felt like he was performing and I felt like a voyeur. I’ve trained myself to look away from people’s screens, so it was strange to watch him type and mouse legitimately. Once we got through the initial weirdness, though, it was one of the most productive co-coding sessions I’ve ever had. It’s amazing what two sets of eyes can do. And your frustration level never goes very high, either, because you have someone else joking about things. (Like when we couldn’t get our first unit test to succeed for the umpteenth time, he simply said, “Mark is angry,” which sent me into a fit of giggles.) Performance for the most part was good, except for switching between windows, which sometimes lagged as my viewer had to redraw things. Mark was also using Vonage to talk to me, so presumably that hogged up a bunch of his bandwidth.

This weekend, I drive and he uses the cell phone. Yay pair programming!


Secure your Apache Configuration

December 9th, 2005 | Filed under Apache web server

This guide to securing Apache is way handy. I liked the bit about limiting access by IP address.

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

Is good way to make sure no one else on the network is hitting your dev server.

20 ways to Secure your Apache Configuration

Common Greasemonkey Pitfalls

December 9th, 2005 | Filed under Greasemonkey, Javascript

The Greasemonkey user script that saves me several minutes of typing every day broke with Firefox 1.5 and Greasemonkey 0.6.4. But thanks to the ever-instructive Mark Pilgrim and his O’Reilly article about safe Greasmonkey scripting, it now works. Specifically the “Pitfall #3: Named Forms and Form Elements” section addressed the bit that was tripping up my old code.

If you too use Movable Type, my user script autofills in the upload directory with a date-based folder name - great for rapid-fire posting with tons of images, like on Lifehacker.

Set MT Upload Directory [Scribbling.net]

O’Reilly Network: Avoid Common Pitfalls in Greasemonkey [O'Reilly Network]


Lifeblog (mostly Atom) Posting Protocol Example

December 4th, 2005 | Filed under API, Atom, PHP, XML

I’ve been using Nokia’s Lifeblog software on both the PC and my phone to post to my cameraphone blog for months now and having a ball with it. (See my review of Lifeblogging with the Nokia 7610 for more info.)

Right now I’m using TypePad to host the web part of it, but if I ever want to build the capability into Scribblish (and I will) Robert Price has a nice walkthrough on how he did it for his homegrown PERL-based CMS. Also of interest alongside this - an Atom PHP implementation.

Robert Price - Lifeblog Posting Protocol Example [Robert Price]
PHP AtomAPI Implementation [Isolani]

Tags: Database schemas

December 4th, 2005 | Filed under Databases, Reference, SQL, Schemas

Somewhat old news that I found myself looking up tonight: database schemas for tags, ranging from stuffing keywords into a giant field to 2NF to 3NF.

Being the good database girl that I am, I tend toward third normal form (the last example, which involves 3 tables), but enforcing cascading deletes to trash orphaned tags would be a lot of more work for the app. At the other end of the spectrum, the single table solution seems insane (aren’t LIKE’s generally a no-no?), but at one point when Matt suggested this at Kinja and I consequently almost passed out, after some debate I realized there might be times this would fit best. (Note to self: there is never One True Way.) Maybe in media res, and the 2 table solution is best.

Anyway, a good reference for Web 2.0 taggy apps getting built out there.

Tags: Database schemas [Philipp Keller]

Getting started with PHP

November 22nd, 2005 | Filed under PHP

Someone asked me today about where to get started learning PHP. There are so many ad-covered pop-up launching PHP tutorial/community sites out there that teach you how to learn PHP3, I told him to check out the tutorial from the horse’s mouth on PHP.net, and a nice beginner area on the Zend site as well. Any other good ones I missed?

Getting Started [PHP Manual]
Absolute Beginners [Zend]

Phoogle Maps 2.0

November 21st, 2005 | Filed under PHP

Drop a Google Map onto your web page with PHP, easy as pie with Phoogle and a Google Maps API key. Gawker Stalker’s crying out for this.

Phoogle Maps 2.0 [system7designs via digg]

Yahoo! Japan Most popular blog

November 8th, 2005 | Filed under Search Engine Optimization

Technorati's most popular

Technorati is listing Yahoo! Japan as its most popular “blog,” right now, above BoingBoing. Bug? Inside joke? Who knows.

Technorati Top 100 Popular Blogs

MovableType makes me old and cranky

November 7th, 2005 | Filed under CMS, MovableType, WordPress

Ever since I started posting to Lifehacker several times a day, I’ve developed a deep resentment for the software that publishes the site, MovableType. There are days when it takes between 40 and 50 seconds to publish a single post. Fifty seconds probably doesn’t sound like a long time to you, but when you do it a couple of dozen times a day - what with edits and updates - we’re talking about almost half an hour of my life, snatched from me. I’m a perpetual mugging victim.
I sit at my computer every day watching MT publish each post at the pace of a tiny, moist snail travelling across a vast stone and I can feel myself getting old. Any software that gives you the time to deeply consider the seconds of your life ticking away, any software that makes you hate it by evoking the image of yourself hurdling from cradle to grave while gazing at its wrench logo - this is not software to be used by someone who is not a masochist.
Now, I have to give MT the benefit of the doubt. It may not be MT that’s slow - it may be a non-performant plugin, or the fact that over 20 editors are posting to 17 sites using one MT installation (though that doesn’t seem too unreasonable for a multi-user system). It may be that our servers are shitty (though I doubt it, Nick’s thrown some serious cash at our server situation and hosting facility). The folks at SixApart (one of whom is my friend - hi Anil!) did an amazing thing with MovableType, which was raise the bar for personal publishing systems way higher than Blogger set it.
But that was then.
Now, Gawker’s got a tech team of talented people who are unable to figure out what makes MT so freaking slow even working with SixApart support to figure it out. Now, we’ve got comments publishing in batch - not real-time - because the servers couldn’t handle MT’s heavy republishing process. We’ve got a publishing server sync’ing to front-end web servers - because one server couldn’t handle MT’s heavy republishing process plus the serving of static HTML files which costs, oh I don’t know, nothing. We’ve got ME pulling my HAIR out every day simply trying to get my job done with a tool that, from this user’s perspective, feels nothing but broken. The fact that the TypePad site I contribute to, Misbehaving, is raped by uncontrollable spam comments every day only confirms my distrust of the MT codebase.
My brief experience here with WordPress and a few useful plugins, in comparison, has been heaven.
And so the next raising of the bar.

MovableType [SixApart]

SilverStripe Tree Control

November 7th, 2005 | Filed under CSS, DHTML, Javascript

Here’s a really neat DHTML expand and collapse tree view for list items. Simply include a javascript and CSS file into your page, then apply the appropriate ID’s to your list. Check out my quick and dirty demo.

Thanks, Su!

SilverStripe Tree Control

Well-designed weblog: Maniacal Rage

November 6th, 2005 | Filed under Design, Ruby on Rails

Happened upon this personal site by Garrett Murray today, via torrez, and found the design really inspiring. I love sites with a dark background and light text - so much easier to read. I like how there’s lots of empty space but that navigation links appear when you rollover the post and titles, wondering what’s what. I used to dog Ruby on Rails sites for always having the same look - the big headlines, certain font families and colors. I don’t know if it’s the default style in the Rails view templates or the fact that Rails fans are influenced by 37 Signals or what - but Maniacal Rage doesn’t. Just looking at it I couldn’t tell what CMS or platform publishes it which is rare with most blogs. (Give it a try - lots of TypePad, WordPress, MT, RoR and Blogger sites are identifiable by style.)
Bonus: there’s no drop shadow or rounded corners, which are really getting on my nerves lately. *stares at drop shadows on this page*
Anyway, if I were a designer, this is the kind of site I’d want to create. It’s got my wheels turning about my sad, poor, bare scribbling.net.

Maniacal Rage. Senseless acts of writing.

Google Sitemaps

November 5th, 2005 | Filed under Search Engine Optimization

Google Sitemaps looks really cool. From what I can see of it, you submit an XML document which defines a map of your site - page locations, their update frequency and priority - and the Googlebot indexes as you specify (though Google doesn’t make any promises, presumably to discourage spammers and rogue SEOers). Looks like they’re going to provide site stats based on sitemaps as well.

I told the MSN Search team last month that tools for web publishers - like stats, popularity rankings of pages, configurable internal site search - would be the killer app that would get site publishers to adopt and spread a particular brand’s search box. Looks like the big G is headed in that direction.

And! They’re accepting pings when a site changes!!

Google Sitemaps (BETA) Help

The top 5 red flags of software development

October 30th, 2005 | Filed under Startup dot com

It’s the “Before you finish X, could you do Y?” that always gets me.

The top 5 red flags of software development [Signal vs. Noise (by 37signals)]

Robots.txt Generator

October 25th, 2005 | Filed under Essential Tools, Search Engine Optimization

This robots.txt file generator is super-useful. I came this close to writing one of these myself back when I wrote Help the Googlebot understand your web site but I never got around to it.

Robots.txt Generator [McAnerin Networks Inc]

Edit in Place with JavaScript and CSS

October 24th, 2005 | Filed under DHTML, Interface design

Here’s some useful edit-in-place Flickr style DHTML.

Edit in Place with JavaScript and CSS [Tool-man]