E-Scribe News : a programmer’s blog

About Me

PBX I'm Paul Bissex, and e-scribe.com is my consulting business. I build web applications using open source software, especially Django. In the '90s I did graphic design for newspapers and magazines. Then I wrote technology commentary and reviews for Wired, Salon.com, Chicago Tribune, and lots of little places you've never heard of. Feel free to email me.

Book

I'm co-author of "Python Web Development with Django", an excellent guide to my favorite web framework. Published by Addison-Wesley, it is available from Amazon and your favorite technical bookstore as well.

Colophon

Built using Django, served by Apache and mod_wsgi. The database is SQLite. The operating system is FreeBSD, on a VPS hosted at Johncompanies.com. Comment-spam protection by Akismet. Vintage topo imagery from the Maptech archive. The markup engine is Markdown.

Pile o'Tags

Stuff I Use

Akismet, bitbucket, del.icio.us, Django, Emacs, FreeBSD, Git, jQuery, LaunchBar, Markdown, Mercurial, OS X, Postfix, Python, Review Board, S3, SQLite, TextMate, Ubuntu Linux

Spam Report

At least 95840 pieces of comment spam killed since January 2008, mostly via Akismet.

Tantek on CSS hacks

You can't possibly consider yourself an expert wielder of HTML and CSS unless you've read this excellent history, explication, and analysis of CSS hacks. Even master practitioners of Wilbur need to read it. Especially master practitioners of Wilbur.

I was intrigued by the suggestion that hacks are supposed to look ugly to discourage you from using them. Bit of an ex post facto rationalization, I think!

Monday, November 28th, 2005
+ +
1 comment

Comment from Paul , 9 months later

Those arent hacks as in hacking-into-the-server, but hacks as in hacking-up-a-clever-solution. See [Wikipedia for more][1].

[1]: http://en.wikipedia.org/wiki/Hacker

Post a comment

Thanks for reading! Please note: Your comment will not appear until approved, which may take a few hours or more. Spammers will be torpedoed.


(Will not be shared)

(Optional)