- December, 2018
- Concurrent download with hashin without --update-all
Web development,
Python
- elapsed function in bash to print how long things take
MacOSX,
Linux
- How I performance test PostgreSQL locally on macOS
Web development,
MacOSX,
PostgreSQL
- November, 2018
- hashin 0.14.0 with --update-all and a bunch of other features
Python,
Linux
- How to JSON schema validate 10x (or 100x) faster in Python
Python
- React.memo instead of React.PureComponent
Javascript,
ReactJS
- October, 2018
- React 16.6 with Suspense and lazy loading components with react-router-dom
Web development,
Javascript,
ReactJS
- How much HTML is too much for optimal web performance
Web development,
Web Performance
- Switching from AWS S3 (boto3) to Google Cloud Storage (google-cloud-storage) in Python
Python
- Fancy linkifying of text with Bleach and domain checks (with Python)
Python,
Web development
- The ideal number of workers in Jest
Python,
ReactJS
- Inline scripts in create-react-app 2.0 and CSP hashes
Web development,
Javascript,
ReactJS
- An awesome snippet to web performance test a page programmatically
Web development,
Javascript,
Web Performance
- September, 2018
- Comparing KeyCDN and DigitalOcean's new Spaces CDN
Web development
- Merge two arrays without duplicates in JavaScript
Javascript
- A darn good search filter function in JavaScript
Web development,
Javascript
- August, 2018
- Replace an item in an array, by number, without mutation in JavaScript (ES6)
Javascript
- django-pipeline and Zopfli
Python,
Web development,
Django
- Django lock decorator with django-redis
Python,
Web development,
Django,
Redis
- django-html-validator now supports Django 2.x
Python,
Web development,
Django
- Quick dog-piling (aka stampeding herd) URL stresstest
Python
- HTMLMinifier in use on this blog now
Web development,
Javascript,
Web Performance
- June, 2018
- To defer or to async JavaScript tags. That's the question.
Web development,
Javascript,
Web Performance
- A good Django view function cache decorator for http.JsonResponse
Python,
Web development,
Django
- The best grep tool in the world; ripgrep
Linux,
Web development,
MacOSX
- How to unset aliases set by Oh My Zsh
Linux,
MacOSX
- How to NOT start two servers on the same port
Linux,
Web development
- GeneratorExit - How to clean up after the last yield in Python
Python
- May, 2018
- Writing a custom Datadog reporter using the Python API
Python
- To CDN assets or just HTTP/2
Web development,
Javascript,
Web Performance
- Rust > Go > Python ...to parse millions of dates in CSV files
Python
- Webpack Bundle Analyzer for create-react-app
Javascript,
ReactJS
- Always return namespaces in Django REST Framework
Python,
Django
- How I found out where a bash alias was set up
Linux
- Real minimal example of going from setState to MobX
Javascript,
ReactJS
- gtop is best
Linux,
MacOSX,
Javascript
- Fastest Python datetime parser
Python
- April, 2018
- The impressive first-meaningful-paint improvement of using minimalcss
Web development,
Javascript
- Best EXPLAIN ANALYZE benchmark script
Python,
PostgreSQL
- Efficient many-to-many field lookup in Django REST Framework
Python,
Django,
PostgreSQL
- March, 2018
- hashin 0.12.0 is much much faster
Python
- Worlds simplest web scraper bot in Python
Python
- filterToQueryString - JavaScript function to turn current filter into a query string
Web development,
Javascript,
ReactJS
- Now using minimalcss
Python,
Web development,
Javascript,
Node
- Docker gotcha with building a Dockerfile in sub directory
Docker
- How to throttle AND debounce an autocomplete input in React
Web development,
Javascript,
ReactJS
- February, 2018
- csso and django-pipeline
Python,
Django,
Javascript
- Items function in JavaScript for looping over dictionaries like Python
Javascript,
ReactJS
- Run something forever in bash until you want to stop it
Linux
- Be very careful with your add_header in Nginx! You might make your site insecure
Linux,
Web development,
Nginx
- Show size of every PostgreSQL database you have
PostgreSQL
- Component, component function or plain function in React
ReactJS
- Convert web page to PDF, nicely
Misc. links,
Web development
- January, 2018
- Fastest way to unzip a zip file in Python
Python
- Make .local domains NOT slow in macOS
Linux,
MacOSX
- Even more aggressively trying to preload your next page load
Web development,
Javascript
- minimalcss 0.6.2 now strips all unused font faces
Web development,
Javascript,
Node
- Conditional aggregation in Django 2.0
Python,
Django,
PostgreSQL
- When Docker is too slow, use your host
Web development,
Django,
MacOSX,
Docker
- Understanding Redis hash-max-ziplist-entries
Python,
Redis
- Display current React version
Javascript,
ReactJS
- Whatsdeployed facelift
Python,
Web development,
Mozilla,
Docker
- How to rotate a video on OSX with ffmpeg
Linux,
MacOSX
- December, 2017
- Fastest way to uniquify a list in Python >=3.6
Python
- CSS selector simplifier regular expression in JavaScript
Web development,
Javascript
- Msgpack vs JSON (with gzip)
Python,
Web development
- Another win for Tracking Protection in Firefox
Web development,
Mozilla
- How's My WiFi?
MacOSX,
Javascript,
Node
- Really simple Django view function timer decorator
Python,
Django
- Synonyms with elasticsearch-dsl
Python,
Web development,
PostgreSQL
- November, 2017
- Unzip benchmark on AWS EC2 c3.large vs c4.large
Python,
Linux,
Mozilla,
Go
- How to create-react-app with Docker
Linux,
Web development,
Javascript,
ReactJS,
Docker
- Yet another Docker 'A ha!' moment
MacOSX,
Docker
- How to use django-cache-memoize
Python,
Django
- To enable Tracking Protection for performance
Web development,
Mozilla
- October, 2017
- django-cache-memoize
Python,
Django
- Concurrent Gzip in Python
Python,
Linux,
Docker
- Simple or fancy UPSERT in PostgreSQL with Django
Python,
Web development,
Django,
PostgreSQL
- "No space left on device" on OSX Docker
Web development,
MacOSX,
Docker
- September, 2017
- cache_memoize - a pretty decent cache decorator for Django
Python,
Web development,
Django
- Mozilla Symbol Server (aka. Tecken) load testing
Python,
Web development,
Django,
Mozilla
- A neat trick to zip a git repo with a version number
Linux,
Web development
- Ultrafast loading of CSS
Web development,
Javascript
- August, 2017
- Fastest way to match a filename's extension in Python
Python
- React lifecycle hooks must-have
Web development,
Javascript,
ReactJS
- Fastest *local* cache backend possible for Django
Python,
Web development,
Django
- July, 2017
- Find static files defined in django-pipeline but not found
Python,
Django
- Why I'm ditching AdBuff on Songsear.ch
Web development
- Best YouTube Chefs of 2017
Misc. links
- June, 2017
- How to do performance micro benchmarks in Python
Python
- Fastest way to find out if a file exists in S3 (with boto3)
Python,
Web development
- Why didn't I know about machma?!
Linux,
MacOSX,
Go
- May, 2017
- Experimenting with Guetzli
Linux,
Web development,
MacOSX
- Fastest Redis configuration for Django
Python,
Linux,
Web development,
Django
- April, 2017
- Web Console trick to get all URLs into your clipboard
Web development,
Javascript
- Best practice with retries with requests
Python
- Public Class Fields saves sooo many keystrokes in React code
Javascript,
ReactJS
- A decent Elasticsearch search engine implementation
Python,
Web development,
Django
- Fastest cache backend possible for Django
Python,
Linux,
Web development
- March, 2017
- Fastest way to download a file from S3
Python
- More CSS load performance experiments (of a React app)
Web development,
Javascript,
ReactJS
- Web Performance Optimization of a Single-Page-App and web fonts
Web development,
Javascript,
ReactJS
- Don't forget your sets in Python!
Python
- crontabber now supports locking, both high- and low-level
Python,
Mozilla,
PostgreSQL
- February, 2017
- Podcasttime.io - How Much Time Do Your Podcasts Take To Listen To?
Python,
Web development,
Django,
Javascript,
ReactJS
- January, 2017
- Autocompeter is Dead. Long live Autocompeter!
Python,
Web development,
Go
- ElasticSearch 5 in Travis-CI
Python,
Linux,
Web development
- 10 Reasons I Love create-react-app
Web development,
Javascript
- December, 2016
- Using Fanout.io in Django
Python,
Web development,
Django,
Mozilla,
Javascript
- November, 2016
- Cope with JSONDecodeError in requests.get().json() in Python 2 and 3
Python
- How to deploy a create-react-app
Web development,
Javascript,
ReactJS
- Optimization of QuerySet.get() with or without select_related
Python,
Django,
PostgreSQL
- October, 2016
- Django test optimization with no-op PIL engine
Python,
Django
- August, 2016
- hashin 0.7.0 and multiple packages
Python
- django-html-validator - now locally, fast!
Python,
Web development,
Django
- How to identify/classify what language a piece of text is
Misc. links,
Python
- json-schema-reducer
Python
- June, 2016
- Premailer 3.0.0 - classes kept by default
Python,
Web development
- CSS Bloat Comparison
Web development,
Javascript
- May, 2016
- hashin 0.5.0 bug fix
Python
- Time to do concurrent CPU bound work
Python,
Linux,
MacOSX
- Decorated Concurrency - Python multiprocessing made really really easy
Python
- gg - A prototype to rule Git, GitHub and Bugzilla
Python,
Web development
- How to track Google Analytics pageviews on non-web requests (with Python)
Python,
Web development,
Django,
Mozilla
- April, 2016
- .git/info/exclude, .gitignore and ~/.gitignore_global
Linux,
MacOSX
- Don't that this or bind
Javascript
- 4 different kinds of React component styles
Javascript,
ReactJS
- March, 2016
- Web performance optimization's dark side
Web development
- February, 2016
- Ctags in Atom on OSX
Web development,
MacOSX
- Whatsdeployed on only one site
Python,
Web development,
Mozilla
- How to no-mincss links with django-pipeline
Python,
Web development,
Django
- Bestest and securest way to handle Python dependencies
Python
- January, 2016
- A quicksearch for Bugzilla using Autocompeter
Python,
Web development,
Mozilla,
Javascript
- hashin - a replacement for peepin
Python
- How I installed letsencrypt for Nginx
Linux,
Web development
- Best Atom packages of 2015
Web development,
MacOSX
- Advanced Closure Compiler vs UglifyJS2
Javascript
- December, 2015
- Select all relations in PostgreSQL
PostgreSQL
- Headsupper.io
Python,
Web development,
Django,
Javascript,
ReactJS
- Django forms and making datetime inputs localized
Python,
Django
- November, 2015
- Screenshot-sharing performance comparison
Web development,
MacOSX
- Whatsdeployed
Python,
Web development,
Mozilla
- Chainable catches in a JavaScript promise
Web development,
Javascript
- October, 2015
- Weight of your PostgreSQL tables "lumped together"
PostgreSQL
- How to "onchange" in ReactJS
Javascript,
ReactJS
- And bash basics
Linux,
MacOSX
- mozjpeg installation and sample
Linux,
Web development,
Mozilla
- localStorage is not async, but it's FAST!
Web development,
AngularJS,
Javascript
- django-pipeline + django-jinja
Django
- September, 2015
- Using Lovefield as an AJAX proxy maybe
Web development,
Javascript
- Panasonic Lumix from 2008 or a iPhone 5S from 2014
Photos
- ElasticSearch, snowball analyzer and stop words
Python
- django-semanticui-form
Python,
Django
- peepin - a great companion to peep
Python
- Be careful with using dict() to create a copy
Python
- Examples of mozjpeg savings
Web development,
Mozilla
- August, 2015
- Crash-stats just became a whole lot faster
Web development,
Mozilla
- How to test if gzip is working on your site or app
Linux,
Web development
- Introducing optisorl
Python
- News sites suck in terms of performance
Web development
- Worst performing website of the year
Web development
- Some tips on learning React
Javascript,
ReactJS
- July, 2015
- How do log ALL PostgreSQL SQL happening
MacOSX,
PostgreSQL
- Visual speed comparison of AngularJS and ReactJS
Web development,
AngularJS,
Javascript
- Premailer.io
Python,
Web development,
AngularJS,
Javascript
- Find what indentation your files use
Python
- June, 2015
- How I git
Python,
Linux
- May, 2015
- Python slow-down of exception handling or condition checking
Python
- premailer 2.9.0 and new rules for `base_url`
Python
- Use closure for your Django context processors
Python,
Django
- April, 2015
- Using lazy loading images on Air Mozilla
Mozilla,
Javascript
- AngularJS $q notify and resolve as a local GET proxy
AngularJS,
Javascript
- Benchmarking Autocompeter
Go
- Match the whole word in auto complete maybe
Web development,
Javascript
- gulp-header is the best!
Javascript
- Autocompeter 1.1.8 and smooth typing
Go,
Javascript
- Autocompeter.com
Go,
Javascript
- March, 2015
- Bye bye httpretty. Welcome back good old mock!
Python
- How to slice a rune in Go
Go
- Air Mozilla on Roku
Mozilla
- Newsletters I enjoy for work
Misc. links
- February, 2015
- Median size of Javascript libs on jsDelivr
Javascript
- Best non-cryptographic hashing function in Python (size and speed)
Python
- January, 2015
- My favorite Go multiplexer
Go
- Almost premature optimization
Python,
Web development,
Django
- December, 2014
- AJAX or not
Web development,
AngularJS,
Javascript
- Fastest way to take screencaps out of videos
Linux,
Web development,
Mozilla
- One-way data bindings in AngularJS 1.3
AngularJS,
Javascript
- vipsthumbnail
Linux
- November, 2014
- To then() or to success() in AngularJS
AngularJS,
Javascript
- A "perma search" in AngularJS
AngularJS,
Javascript
- Why is it important to escape & in href attributes in tags?
Web development
- God, No! by Penn Jillette
Books
- Bye bye AWS EC2, Hello Digital Ocean
Linux
- uwsgi and uid
Python,
Linux,
Django
- October, 2014
- Shout-out to eventlog
Django
- Go vs. Python
Python,
Go
- localForage vs. XHR
Javascript
- django-html-validator
Python,
Web development,
Django
- Premailer on Python 3
Python
- September, 2014
- Do you curl a lot to check headers?
Linux
- An AngularJS directive with itself as the attribute
Javascript,
AngularJS
- August, 2014
- set -ex - The most useful bash trick of the year
Linux
- Highlighted code syntax in Keynote
MacOSX
- How I back up all my photos on S3 via Dropbox
Photos
- premailer now with 100% test coverage
Python
- Aggressively prefetching everything you might click
This site,
Web development,
Javascript
- Gzip rules the world of optimization, often
Python,
Javascript
- June, 2014
- Common names amongst my Facebook friends
Wondering
- Crontabber
Python,
Mozilla,
PostgreSQL
- Optimizing MozTrap
Web development,
Javascript,
Mozilla
- May, 2014
- HTML Tree on Hacker News
Web development,
Javascript
- April, 2014
- Migration of Postgres 9.2 to 9.3 with Homebrew and json_enhancements
PostgreSQL
- Do you like angular-classy?
Javascript,
AngularJS
- GitHub PR triage across multiple projects
Web development,
Javascript,
Mozilla
- Wattvision - real-time energy monitoring
This site
- Grymt - because I didn't invent Grunt here
Python,
Web development,
Javascript
- COPYFILE_DISABLE and python distutils in python 2.6
Python
- March, 2014
- Buggy - A sexy Bugzilla offline webapp
Web development,
Mozilla,
Javascript
- My favorite YouTube channels
Misc. links
- Github Pull Request Triage tool
Web development,
AngularJS
- February, 2014
- Moby Dick (by Herman Melville)
Books
- What's the average number of domains a website depends on?
Web development
- Advanced live-search with AngularJS
Javascript
- January, 2014
- Sorting mixed type lists in Python 3
Python
- December, 2013
- How I do deployments
Linux,
Web development
- November, 2013
- Wish List Granted on Hacker News report
Web development
- Welcome to the world, Wish List Granted
Web development,
Django
- Credit Card formatter in Javascript
Javascript
- A Django base class for all your Forms
Django
- From Postgres to JSON strings
Python
- All my apps are now running on one EC2 server
Linux
- October, 2013
- Lazy loading below the fold
Web development,
Javascript
- Fastest database for Tornado
Python,
Tornado
- September, 2013
- 10 years of blogging
This site
- June, 2013
- In Python you sort with a tuple
Python
- May, 2013
- premailer now excludes pseudo selectors by default
Python,
Web development
- What stumped me about AngularJS
AngularJS,
Javascript
- April, 2013
- Registration and sign-in by email verification
Web development
- The Poincaré Conjecture
Mathematics,
Books
- Local jed settings
Linux,
MacOSX
- Careful with your assertRaises() and inheritance of exceptions
Python
- Recruiters: if you're going to lie, do it properly
Work,
Web development
- "Did you mean this domain?" Auto-correction for the browser's address bar
Mozilla
- Never put external Javascript in the <head>
Web development
- March, 2013
- premailer now honours specificity
Python
- HTML whitespace "compression" - don't bother!
Web development
- django-fancy-cache with or without stats
Python,
Django
- This site is now 100% inline CSS and no bytes are wasted
Python,
Web development,
Django
- Welcome to the world django-fancy-cache!
Python,
Django
- February, 2013
- mincss version 0.8 is much much faster
Python
- mincss now support PhantomJS
Python
- January, 2013
- mincss in action - sample report from the wild
Python,
Web development
- mincss "Clears the junk out of your CSS"
Python,
Web development
- Free business idea: An app for figuring out the best car for you
Wondering
- All your images are belong to data uris
Web development
- December, 2012
- Gamification for me as a software developer
Web development
- My new web marketing strategy: Begging
Web development
- November, 2012
- Ability to embed HUGE pictures
Web development
- Introducing: HUGEpic - a web app for showing massive pictures
Python
- October, 2012
- Fastest way to thousands-commafy large numbers in Python/PyPy
Python
- hastebinit - quickly paste snippets into hastebin.com
Python,
Linux
- September, 2012
- How I stopped worrying about IO blocking Tornado
Tornado
- Introducing: League of Friends on Around The World
Web development
- Real-timify Django with SockJS
Django,
Javascript,
Tornado
- August, 2012
- django-mongokit now compatible with Django 1.4
Python
- US License Plate Spotter (part 2)
Javascript
- Beach volleyball bums
Misc. links
- July, 2012
- Is Nginx obsolete now that we have Amazon CloudFront?
Web development
- How to use premailer as a command line script
Python
- US License Plate Spotter (part 1)
Javascript
- Newfound love of @staticmethod in Python
Python
- June, 2012
- Difference between $.data('foo') and $.attr('data-foo') in jQuery
Javascript
- How I deal with deferred image loading in Javascript
Web development,
Javascript
- May, 2012
- Postgres collation errors on CITEXT fields when upgrading to 9.1
Web development
- Secs sell! How I cache my entire pages (server-side)
Python,
Django
- On the command line no one can hear you screen. Or can they?
Linux
- April, 2012
- Are WebSockets faster than AJAX? ...with latency in mind?
Web development,
Javascript
- I'm running pgFouine right now on my server
Linux
- Secs sell! How frickin' fast this site is! (server side)
Linux,
Web development,
Django
- March, 2012
- Secs sell! How frickin' fast this site is! (client side)
Web development
- IssueTrackerProduct now officially abandoned
Zope,
IssueTrackerProduct
- How much faster is Nginx+gunicorn than Apache+mod_wsgi?
Linux,
Django
- String length truncation optimization difference in Python
Python
- When to __deepcopy__ classes in Python
Python
- December, 2011
- Persistent caching with fire-and-forget updates
Python,
Tornado
- Cryptic errors when using django-nose
Django
- Python file with closing automatically
Python
- November, 2011
- Integrate BrowserID in a Tornado web app
Tornado,
Mozilla
- Trivial but powerful tips for nosetests
Python
- October, 2011
- Going real simple on HTML5 audio
Web development,
Javascript
- New feature on Too Cool For Me: Everyone I follow
Web development
- September, 2011
- Cateechee golf pictures
Misc. links
- Too Cool For Me?
Tornado
- Goodies from tornado-utils - part 3: send_mail
Tornado
- Goodies from tornado-utils - part 2: tornado_static
Tornado
- Goodies from tornado-utils - part 1: TestClient
Tornado
- Reciprocal lesson about gender perspectives
Wondering
- August, 2011
- Title - a javascript snippet to control the document title
Javascript
- EmailInput HTML5 friendly for Django
Django
- July, 2011
- A blog comment spam solution: Retalition!
Wondering
- A taste of the Django on inside Mozilla, Sheriffs Duty
Django
- Comparing Google Closure with UglifyJS
Javascript
- Slides about Kwissle from yesterdays London Python Dojo
Python
- June, 2011
- Chinese tea sampler pack now on sale
Misc. links
- Optimization story involving something silly I call "dict+"
Python,
MongoDB
- Launching Kwissle.com
Tornado
- Google teething problems still with duplicated content
Misc. links
- Test static resources in Django tests
Django
- May, 2011
- A script tag's type in HTML5
Javascript
- maxlength_countdown() - a useful jQuery plugin for showing characters left
Javascript
- April, 2011
- Mocking DBRefs in Mongoose and nodeunit
Javascript,
MongoDB
- TornadoGists.org - launched and ready!
Python,
Tornado
- Strange socket related error with supervisord
Linux
- Google's new Page Speed Online hard to beat
Web development
- March, 2011
- Bash tip of the day: ff
Linux
- My AWS CloudFront bill
This site
- MongoUK 2011 - London conference all about MongoDB
MongoDB
- QUnit testing my jQuery Mobile site in full swing
Javascript
- More productive than Lisp? Really??!
Python
- To all Zope developers: Does this sound familiar?
Zope
- February, 2011
- I just ordered tea from the Min River Tea Farm
Misc. links
- Eloquent Javascript by Marijn Haverbeke
Javascript
- Connecting with psycopg2 without a username and password
Python
- Optimization of getting random rows out of a PostgreSQL in Django
Django
- Nice testimonial about django-static
Django
- How I profile my Nginx + proxy pass server
Web development,
Python
- DoneCal homepage now able to do 10,000 requests/second
DoneCal
- EditDistanceMatcher - NodeJS script for doing edit distance 1 matching
Javascript
- DoneCal on MumbaiMirror
DoneCal
- January, 2011
- DoneCal.com international visitors
DoneCal
- Fastest "boolean SQL queries" possible with Django
Django
- django-static version 1.5 automatically taking care of imported CSS
Django
- RequireJS versus HeadJS
Javascript
- ToDo apps I gave up on in 2010
Wondering
- December, 2010
- ssl_session_cache in Nginx and the ab benchmark
DoneCal,
Linux
- Speed of DoneCal API (over 1,400 request/sec) and HTTPS (less than 100 request/sec)
DoneCal
- To code or to pdb in Python
Python
- Page here about DoneCal
DoneCal
- November, 2010
- DoneCal gets a grade A (92)
DoneCal
- Gmail tip: Searching only for attachments
- Welcome to the world: DoneCal.com
Python,
Tornado
- jsonpprint - a Python script to format JSON data nicely
Python
- How to book a ticket on the Royal Academy of Music's website
Web development
- Worst Flash site of the year 2010
Misc. links
- Javascript tip: nifty use of the console.log function in Firebug
Javascript
- October, 2010
- In Django, how much faster is it to aggregate?
Django
- How I made my MongoDB based web app 10 times faster
Python,
MongoDB
- Why I gave up on JQuery UI's autocomplete
Javascript
- Nasty JavaScript wart (or rather, don't take shortcuts)
Javascript
- My tricks for using AsyncHTTPClient in Tornado
Python,
Tornado
- Local Django development with Nginx
Django
- September, 2010
- In jQuery, using the :visible selector can be dangerous
Javascript
- wkhtmltopdf and font size shrinkage
Web development
- I just discovered wikiHow
Misc. links
- Local NodeJS development environment with Nginx
Javascript
- August, 2010
- Musings about django.contrib.auth.models.User
Python,
Django
- Where I live
- July, 2010
- Hosting Django static images with Amazon Cloudfront (CDN) using django-static
Django
- June, 2010
- People's reactions to Gates and Buffet's $600 billion challenge
Politics
- TfL Traffic cameras on a Google map
Web development
- May, 2010
- Correction: running Django tests with MongoDB is NOT slow
Django,
MongoDB
- Muted conversations in Gmail
Misc. links
- "Using MongoDB in your Django app - implications and benefits"
Django
- mongoengine vs. django-mongokit
Python,
Django
- More on What is "pythonic"
Python
- Review: Django 1.1 Testing and Debugging
Django
- Making output stay on stdout
Linux
- New IssueTrackerProduct release
IssueTrackerProduct
- Upgrading to Ubuntu Lucid Lynx and downgrading to Python2.4 and Python2.5
Linux
- Fish - most important Python package since distutils
Python
- April, 2010
- My site on the iPad
This site
- GlobalExpense doesn't work in Firefox
Misc. links
- Spelling differences between British and American English
Misc. links
- OpenID, Attribute Exchange, SReg, python-openid and Google
Web development,
Python
- Word Whomp solvers love Crosstips
Misc. links
- UPPER vs. ILIKE
Web development
- Who was logged in during a Django exception
Django
- fcgi vs. gunicorn vs. uWSGI
Python,
Django,
Linux
- Cycling across England on Orange Snapshot
Photos
- March, 2010
- The awesomest way possible to serve your static stuff in Django with Nginx
Django
- Beautiful photos from the Katrina hurricane
Misc. links
- Speed test between django_mongokit and postgresql_psycopg2
Python,
Django
- How and why to use django-mongokit (aka. Django to MongoDB)
Python,
Django
- Ubuntu Cola or Ubuntu Linux
Linux
- Importance of public URLs and how enterprisecarsales.com gets it wrong
Web development
- February, 2010
- Massive improvement on sorting a fat list
Python,
Zope,
IssueTrackerProduct
- How girls/guys rate guys/girls
Misc. links
- Looking for icons?
Web development
- Last.fm Tube Tags
Music
- Haiti Earthquake: Who's given what?
Politics
- January, 2010
- Healing Food Reference
Misc. links
- Guake, not Yakuake or Yeahconsole
Linux
- oplop - How Oplop works, explained in plain English and in technical detail
Misc. links
- Tip: creating a Xapian database in Python
Python
- Bookmarklet to replace the current domain with localhost:8000
Web development,
Django
- LastGraph - visualizing your Last.fm usage
Misc. links
- December, 2009
- China wrecked the Copenhagen deal
Politics
- Migrating with South on a field that uses auto_now_add=True
Django
- Homer Simpson playing Cry of the Black Birds by Amon Amarth
Music
- Orphaned Land - Jewish Muslim Metal
Music
- November, 2009
- Comparing YUI Compressor and slimmer
Python
- Those Crazy Chinese
Django
- Mocking os.stat in Python
Python
- October, 2009
- "Frank Zappa: The Biography" by Barry Miles
Books
- iPhone push notifications for Twitter with Prowl
Web development
- What makes my website slow? DNS
This site,
Linux
- What I hate about PIL and Image in Python
Python
- Messed up columns in Django Admin
Django
- Automatically strip whitespace in Django forms
Django
- A user-friendly TinyMCE config
Web development
- September, 2009
- Funnier than Fail Blog: Fail Dogs
Misc. links
- London Frock Exchange launched
Work,
Django
- My first Twitter app - KungFuPeople.com
Python,
Kung Fu
- Comparing jsmin and slimmer
Python
- Python Code Dojo London - 17 Sep 2009
Python
- "Hello John. It's Gordon Brown."
Misc. links
- 7 of the World's Most Irresponsible Companies
Misc. links
- August, 2009
- Cgunit - Online Gallery
Misc. links
- To sub-select or not sub-select in PostgreSQL
Linux
- Custom CacheMiddleware that tells Javascript a page is cached in Django
Django
- What a super user-friendly menu!
- Table Of Countries Showing Drive Direction
Misc. links
- The Secret to SEO Search Engine Optimization
Web development
- Calling all kung fu people - kungfupeople.com
Kung Fu,
Django
- Google Reverse Geocoding vs. GeoNames
Python
- gg - wrapping git-grep
Linux
- Public calendars on Google Calendar
Misc. links
- More optimization of Peterbe.com - CSS sprites
Web development
- July, 2009
- The 4-hour Work Week by Timothy Ferris
Books
- Battery life usage on an iPhone 3G(S)
iPhone
- gorun.py - Using (py)inotify to run commands when files change
Python
- Getting uploadify to work
Web development
- setuptools usability - not good, what can be done?
Python
- premailer.py - Transform CSS into line style attributes with lxml.html
Python
- My first iPhone web app - Crosstips iPhone interface
iPhone
- June, 2009
- Custom Fields in IssueTrackerProduct documentation written
Zope,
IssueTrackerProduct
- My dislike for booleans and that impact on the Django Admin
Django
- May, 2009
- Introducing django-spellcorrector
Django
- Crossing the world - new feature on Crosstips
Django
- Sequences in PostgreSQL and rolling back transactions
Linux
- Most unusual letters in English language
Python
- To JSON, Pickle or Marshal in Python
Python
- Never seen before Google Server Error
- April, 2009
- Lizard walk charity for the Claremont project
Kung Fu
- Crosstips now has sparklines
Web development
- mailto: considered stupid, especially with ?subject
Web development
- Tux - lterally in Linux code
Misc. links
- Git + Twitter = Friedcode
Python,
Linux
- Lesson learned: Unicodifying request variables in Zope
Zope
- Fujitsu FLEPia
Books
- TypeRacer Best online game in years
Misc. links
- Google Calendar, iCalendar Validator but not bloody Apple iCal
Web development
- Simple interface for Crosstips
Web development
- Shit trailer, awesome way to show it
Web development
- March, 2009
- Head-to-head movie voting
Film
- British or American English or just English
Web development
- Nginx vs. Squid
Linux
- Too much Python makes Peter a shit Javascript developer
Javascript
- Sandisk SSD v/s HDD
Misc. links
- February, 2009
- To $('#foo p') or to $('p', $('#foo'))
Javascript
- Propeller Island City Lodge Orange Room
- Founder of Islamic TV station accused of beheading wife
Politics
- To assert or assertEqual in Python unit testing
Python
- Female body builder picture galore
- Krysstips.se
Django
- Tough Guy Challenge 2009 - Boston.com
- The Albion, Shoreditch
Web development
- January, 2009
- How I Made a 1,474-Megapixel Photo
Misc. links
- Acupuncture works for headaches
Misc. links
- Rock stars and their parents
- Nasty surprise of Django and gettext
Django
- Formatting numeric amounts in Javascript
Javascript
- Earth, observed - The Big Picture - Boston.com
- Hellsongs
Music
- Does Semen Have Antidepressant Properties?
Misc. links
- Secrets of success from Google co-founder Larry Page
- The Big Storm Picture: November 2008
- The Jesus story - A serious case of plagiarism
Misc. links
- Ultimate Banksy Art & Graffiti Gallery | WebUrbanist
- December, 2008
- "Confused and scared"
- Round trip with Endeavour - The Big Picture - Boston.com
- WUBeee!
- Obesity Not Just an American Problem Anymore | Newsweek Health | Newsweek.com
Misc. links
- YouTube - Nigella's XXXmas
Misc. links
- Towel dog
- My first YSlow Grade A (100)!
Django
- DianeDancesToHell.jpg
- All My Internet Friends
- Wing IDE versus Jed
Linux
- Nasty surprise of Django cache
Django
- bool is instance of int in Python
Python
- November, 2008
- Finally got rid of the system beep
Linux
- domstripper - A lxml.html test project
Python
- How to unit test the innards of a Django view function
Django
- Why do you vote for the democrats?
Politics
- October, 2008
- Comic-Con 2008 photos
Misc. links
- Django vs. Java
Django
- Flash advert hell
Web development
- World Plone Day here in London, England
Plone
- ARTWORDSBOOKSHOPQRSTUVWXYZ
Photos
- Why bother with MySQL...
Linux
- When '_properties' gets stuck as a persistent attribute
Zope
- September, 2008
- V8 < TraceMonkey < SquirrelFish
Web development
- The importance of env (and how it works with virtualenv)
Python
- The stupidity of 'id' as a variable name (or stupidity of me)
Python
- Why we like Obama, short answer: his speeches
Politics
- Accessible UK Train Timetable
Misc. links
- August, 2008
- Kalle Kappner - Opeth and Pain of Salvation piano tribute
Music
- Weird Asia News
Misc. links
- Anti-McCain propaganda videos
Politics
- That should last a couple of weeks
- July, 2008
- Python new-style classes and the super() function
Python
- Use Javascript to prevent spambots
Web development
- The importance of checking in Firefox
Web development
- A great thing about Squid: Calamaris
Linux
- Interview with Varg Vikernes
Music
- June, 2008
- WestIsEast.co.uk launched
Misc. links
- Another brownie point for Django
Django
- Difference between Sweden and UK: renewable energy
Sweden
- Damn lies and benchmark comparing Apache and Nginx
Linux
- May, 2008
- zope-memory-readings - Tracking Zope2's memory usage by URL
Zope
- split_search() - A Python functional for advanced search applications
Python
- April, 2008
- Releasing IssueTrackerProduct 0.9
Python,
Zope
- The importance of the TITLE attribute
Web development
- What I like and dislike about Grok
Zope
- Mixing in new-style classes in Zope 2.7
Zope
- pwdf - a mix of ls and pwd
Linux
- Lesson learnt with creating DOM element with jQuery
Javascript
- March, 2008
- One thing I hate about Linux: cron
Linux
- How to uninstall nginx with apt
Linux
- Tip: Printer friendly pages with Page Templates in Zope
Zope
- apple.com/store doesn't work in Firefox (on Linux)
Web development
- Mocking a Python standard library
Zope
- See you at PyCon 2008
Python
- File check before delete
Linux
- "Confessions of a College Callgirl" is the new "My Secret Life As A Prostitute"
Misc. links
- hostip.info - Look up the location from an IP
Linux
- February, 2008
- CommandLineApp by Doug Hellmann
Python
- If Americans knew - An interesting insight into the Israeli Palestine conflict
Politics
- Chinese New Year and the Persecution of Falun Gong in China
Kung Fu
- logrotating all my Zope event logs
Zope,
Linux
- Ocado gets customer service right
Misc. links
- Why Django and Grok matters
Web development
- January, 2008
- The Official Dilbert Widget
Misc. links
- "lost my phone :("
Mobile
- Ugliest e-commerce site of the month - Comfy-Feet
Misc. links
- input/textarea switcher with jQuery
Javascript
- jQuery and Highslide JS
Javascript
- The Love Mattress
Misc. links
- EditArea vs. CodePress
Web development
- December, 2007
- String comparison function in Python (alpha)
Python
- isArithmeticExpression() in Javascript
Javascript
- Calculator in Python for dummies
Python
- T-Mobile MMS collection
Web development
- WSSE Authentication and Apache
Python
- geopy distance calculation pitfall
Python
- Kill Ugly Radio - A Frank Zappa blog
Misc. links
- November, 2007
- Photos from Fuzhou 2007
Photos
- Futurama is back!
Misc. links
- Note to self about Jeditable
Javascript
- Back from Fuzhou, China
- October, 2007
- Now I'm on Last.fm
Music
- DateIndex in Zope doesn't have indexed attributes
Zope
- Piteå, as experienced by Sam Dunstan
Sweden
- Islington Kungfu charity fund raiser 2007
Kung Fu
- IssueTrackerProduct 0.8.0
Zope
- Bicycle racing in NYC
Misc. links
- Silk icons
Web development
- Future of Web Apps (quick summary and thoughts)
Web development
- September, 2007
- Linux tip: du --max-depth=1
Linux
- Spellcorrector 0.2
Python
- Ugliest site of the month - The Backyard Comedy Club
Misc. links
- Vertically expanding textarea input boxes
Javascript
- Nasty human error in Zope ZEO setup
Zope
- Fun Python error message
Zope
- What art is ...according to Don Van Vliet
Art
- August, 2007
- Not just the bikini event
Misc. links
- Proud to be a Swedish atheist
Sweden
- Printer usability problem
Linux
- rfc822() vs. rfc1123_date()
Zope
- html2plaintext Python script to convert HTML emails to plain text
Python
- YSlow grade A (96) but not with doubts
Web development
- Interesting lesson learnt on shortcut taking in usability
Plone
- July, 2007
- XML header and childNodes
Web development
- How did Google do that?
Web development
- Worst gigolo sales pitch ever
- I'm not a hacker
This site
- Mac OS X's python binary icons
MacOSX
- June, 2007
- iPhones review on WSJ
Misc. links
- Internet Radio - Day of Silence
Misc. links
- Optional input labels
Web development
- FacebookStatusUpdater
Linux
- <button> not supported on Pocket IE
Web development
- May, 2007
- Playing with filestream_iterator
Zope
- American foreign policy
Politics
- Time in the Stone - Emily Young exhibition
Art
- Cutest server error message ever
Misc. links
- No, I'm not going to freeze your account
This site
- Miami Vice party photos
Photos
- What does $456 billion buy?
Politics
- I'm Prolog
Python
- April, 2007
- Guess my age with MOBi
Zope
- Spellcorrector
Python
- Albert Einstein figurine head
Family
- What's the fattest Subway sandwich?
Misc. links
- March, 2007
- ZYB - crap name, brilliant app
Mobile
- Is peanut butter the proof that evolution doesn't happen?
Politics
- Learning about ATFolder's security
Plone
- Associative arrays
Web development
- Zope Image to filesystem image
Zope
- Earl Grey or cheap tea, does it really matter?
Wondering
- Kung fu in Twickenham
Kung Fu
- Aussies in London - What are you doing here?
Books
- February, 2007
- JetBlue a good and bad website
Web development
- Sedo.com - any good?
- favicon2dots
Misc. links
- Vista voice recognition and Perl
Misc. links
- Comparing REAL values in PostgreSQL
Linux
- A Flash interface that doesn't suck
Web development
- January, 2007
- Gzip and Slimmer optimization anecdote
Zope
- Canon and Sony Ericsson rule Flickr
Photos
- New Google Groups design
Misc. links
- Ugliest site of the month - CSDC
Misc. links
- RememberYourFriends.com running jQuery
Web development
- Best youtube.com clip of the year?
Politics
- Mesmerizing pencil art
Misc. links
- Flash 9 on Ubuntu Edgy Eft
Linux
- setAttribute('style', ...) workaround for IE
Javascript
- Thuas Trägubbar
Family
- December, 2006
- Find largest directories with du -k
Linux
- Happy Birthday to me!
- ImageMagick conversion comparison
Linux
- CSS selector bug in IE?
Web development
- is is not the same as equal in Python
Python
- November, 2006
- Solar power in the north African desert
Politics
- MUnderscorePatch - tired of typing manage_main?
Zope
- Entering multilanguage data in Zope
- Bloggers not responsible for comment?
Politics
- Food File Online
Misc. links
- Crazy road in China
Misc. links
- Memory dump blog recovery
Linux
- October, 2006
- Oxfordtube's website sucks
- Sending HTML emails in Zope
Zope
- Catching a carriage return in bash
Linux
- New domain name
This site
- Ricardo Semler in London
Misc. links
- Lion + Tiger = Liger
Misc. links
- NES Quiz
Misc. links
- Zope 3 training blog
Zope
- September, 2006
- Crazy Egg of IssueTrackerProduct.com
Web development
- Comparing Ruby and PHP
Zope
- I knew it! You don't have to drink that much water
Misc. links
- Bill O'Reilly nailed
Politics
- Why did RememberYourFriends fail?
Web development
- Google London Automation Test conference (part II)
Work
- Google London Automation Test conference
Work
- Steve Irwin (crocodile hunter) dead
Misc. links
- Redirect stderr into becoming dots in Bash
Linux
- August, 2006
- Web 2.0 logo generator
Misc. links
- Madonna's birthday party at the Lounge Lover
Photos
- Fastest way to uniqify a list in Python
Python
- Unicode strings to ASCII ...nicely
Python
- More crappy album covers
Misc. links
- Sorting transform function in PostgreSQL
Work
- July, 2006
- Exploding Dell laptops
Misc. links
- slim in ruby
Linux
- slim, a new free web service for white space optimisation
Python
- Spaceinvaders with real people
Misc. links
- Trout Mask Replica - Captain Beefheart
Music
- Nice stats added to RememberYourFriends.com
Python
- GMapEZ - Google Maps API too complicated for you?
Web development
- Oil, gas and stupidity
Politics
- Desired Firefox extension
Web development
- DifferenceFinder (aka. humanreadablediff.py)
Python
- June, 2006
- RememberYourFriends.com beta version
Web development
- Brick Lane market
Misc. links
- Tekken with Actual Humans
Kung Fu
- Wanna be my flatmate?
- Pleonasm
Misc. links
- Animator vs. Animation
Misc. links
- TinyMCE + Zope = ZTinyMCE
Zope
- May, 2006
- Weird spam? Or just a weird girl?
Wondering
- Geeking with tags file for Jed
Python,
Linux
- IssueTrackerProduct 0.7.2 released
IssueTrackerProduct
- isInt() JavaScript function
Web development
- SVN + ./todo + crontab
Linux
- Pixoh.com and Instant Domain Search
Misc. links
- Slimmer with --hardcore
Python
- Watford kung fu club
Kung Fu
- Mobile-review.com
Misc. links
- April, 2006
- Private functions in Javascript?
Web development,
Python
- type - Writing shell scripts
Linux
- Helpdeskshow - a quick review
IssueTrackerProduct
- Interesting float/int casting in Python
Python
- Best bicycle locks
Misc. links
- Date formatting in Python or in PostgreSQL (part II)
Python
- Careful when dealing with options in IE
Web development
- Case insensitive list remove call (part II)
Python
- Case insensitive list remove call
Python
- Shark kayak
Misc. links
- March, 2006
- Merrill Lynch's f**ked up website
Web development
- Teach me about OCR
Linux
- To br / or not to br/
Web development
- Annoying Safari just ate my blog
MacOSX
- Kung fu in East London with Shkar
Kung Fu
- Carbon XEmacs installed
MacOSX
- Quick PostgreSQL optimization story
Work
- Squeezebox + Pandora
Misc. links
- parentElementsByTagName(doc, tagname, classname)
Web development
- tightVNC and Chicken of the VNC
MacOSX
- Why Linux is better
Linux
- February, 2006
- Martial Arts by Pen Rance
Kung Fu,
Books
- Apple Store or Micro Anvika
- Dynamic image replacement technique
Web development,
Python
- Google and Python code
Python
- CSSViewer - new promising Firefox Extension
Web development
- waiting for your guidance
- Smooth anchor scrolling Javascript
Web development
- Angry arabs
Politics
- How to fold t-shirts, with a "machine"
Misc. links
- Jed Tags with ntags (for dummies)
Linux
- Geeking with Eterm and Tkinter
Linux
- tempfile in Python standard library
Python
- Sexy furniture
Misc. links
- Size comparison of Zope3, Django and TurboGears
Python
- Setting security declarations to Zope classes
Python,
Zope
- January, 2006
- ReCSS a tool to reload the CSS without reloading the whole page
Web development
- Northern light photos
Photos
- Photos from FWC China 2005
Photos,
This site
- IssueTrackerProduct featured on Ajaxian.com
IssueTrackerProduct
- Bad spelling a good thing?
This site
- Are you a web developer? Then VisiBone is for you
Web development
- Who do you ping?
Linux
- Hasselblad's 39 megapixel digital camera
Misc. links
- Strange language bug in Windows XP
Misc. links
- An idea for a better timesheet tracker
Wondering,
Work
- My new years resolution 2006
Wondering
- Don't put title in a <link> tag
Web development
- Ask Yahoo "What state do the Simpsons live in?"
Misc. links
- Back from China
- December, 2005
- Off to holiday in China
- IssueTrackerProduct 0.7 released
Zope,
IssueTrackerProduct
- Emacs on the Palm OS
Mobile
- Geek entrepreneurs' reading list
Books
- ALTER TABLE patch
Work
- iWipe - toilet paper and a Mac
Misc. links
- have or has?
Wondering
- DOM Scripting
Books
- IssueTrackerProduct feature list
Web development,
IssueTrackerProduct
- November, 2005
- "Groups" search on Google
Politics
- CSS code of del.icio.us
Web development
- Yahoo! Inbound Links API
Python
- The Search Engine Experiment
Misc. links
- Islington Knuckle Walk
Kung Fu
- Mvbackupfiles - a script to "delete" back autosaved backup files
Linux
- createElement('a') with a javascript href
Web development
- Major performance fix on file searches
Zope,
IssueTrackerProduct
- Automatically refreshing issue
Zope
- Old School Kung Fu
Kung Fu
- Filename splitter
Python,
Zope
- Pandora Update
Music
- MyMcDiet.com Kevin O'Connor's fast food diet
Misc. links
- "Clever" date formatting accessibility
Python,
Zope
- Active Reactor watches
Misc. links
- Screencasting the unix way with Python
Linux
- Screencasting test
IssueTrackerProduct
- Whitelist blacklist logic
Python
- www aliases set up
This site
- October, 2005
- Using MD5 to check equality between files
Python
- Shane's Bit Mountain
Linux
- Pandora (followup) Neat error messaging
Misc. links
- Pandora - a great Internet radio
Music
- "Increment numbers in a string"
Python
- Playing with Reverend Bayesian
Python
- Furious and deprived by 'rm *'
Linux
- table-layout: fixed
Web development
- Dream: python bindings for squidclient
Python,
This site
- Best Image Replacement Technique guide
Web development
- Gmail catching up with the IssueTrackerProduct
Web development
- Wanted: good Javascript for handling key events
Web development
- Toggle Zope's debug mode
Zope
- September, 2005
- Jed looking like Emacs
Linux
- R.I.P Palm Treo
Politics
- Pimp my COREBlog
Zope
- Ruby and Python benchmarked
Python
- Smurl from Python
Python
- Python regular expression tester
Python
- 'Cache-Control' or Expires
Zope
- Misstake or hidden Nazi message?
Politics
- firstChild.nodeValue vs. innerHTML
Web development
- Announcing Smurl - a free URL compressor
Zope
- IssueTrackerProduct 0.6.12 released
Zope,
IssueTrackerProduct
- Amazon bug in shopping basket
Web development
- Random ID generator for Zope
Python
- August, 2005
- British English for Americans
Misc. links
- More street 3D drawings
Misc. links
- Insect photography
Photos
- An ideal company blog tool
Work
- Back from Djerba, Tunisia
- Ricardo Semler's Semco English website
Misc. links
- Dream Theater - Octavarium
Music
- Button tag in bloody Internet Explorer
Web development
- Worst album covers (updated)
Misc. links
- Jealous of Google stemming
Zope
- AJAX seach on 404 error pages
Web development
- July, 2005
- Just Oracle and IBM?
Linux
- Release package file size
IssueTrackerProduct
- \B in Python regular expressions
Python
- London bus 26 from Hackney
- Interesting NHS error message
Web development
- Kung Fu in Clapham with Richard
Kung Fu
- SmartDict - a smart 'dict' wrapper
Python
- Rent a chest
Misc. links
- IssueTrackerProduct 0.6.11 released yesterday
Zope
- Drop down selects that learn
Web development
- Unaffected by the London blasts
- Lisp compared to Python
Python
- Falling mannequin animation
Misc. links
- Module dependencies of IssueTracker.py
IssueTrackerProduct
- June, 2005
- Porting IssueTrackerProduct to Zope 2.8.0
Zope
- ztar - my wrapper on tar -z
Python,
Linux
- Zope in DevelopmentMode
Zope
- AJAX accelerated web widgets
IssueTrackerProduct
- Zope compared to PHP
Zope
- Software Patents in the EU (Stallman's explaination)
Politics
- Authentic Locations
Misc. links
- More than 10,000 lines of Python
IssueTrackerProduct
- Regular Expressions in Javascript cheat sheet
Web development
- Scandinavian Airlines phone booking
Misc. links
- \b in Python regular expressions
Python
- My trade salary has gone down, apparently
Work
- chmod files differently to directories
Linux
- Good design examples for a non-blog
IssueTrackerProduct
- window.onload from before
Web development
- Autosaving web forms
Zope
- I'm back! Peterbe.com has been renewed
This site
- May, 2005
- Sound of different languages
Misc. links
- Kittenwar a clever way of voting
Misc. links
- Cheeky Explore (Dictionary of Everything)
Politics
- The Brick Testament
Misc. links
- IssueTrackerProduct 0.6.8 release
Zope
- MOBi phonebook into Excel
Work
- Autosaving textarea with AJAX
Zope
- Plone.org calls it Issue Tracker
Zope
- Susan Senator's book
Misc. links
- List of casts in PostgreSQL
Linux
- Kingdom of Crap
Film
- London Review of Personals
Misc. links
- Jacobian highlighter
Python
- IssueTrackerProduct 0.6.6
Zope
- April, 2005
- Better select boxes for issue tracker
Web development
- The Geeks Revenge
Misc. links
- TAL here hack in Plone
Plone
- Gmail shortcuts
Linux
- Grep results expanded
Python,
Linux
- Serious flaw in Bose headphones
Music
- pg_class to check if table exists
Linux
- Google blogs about their Maps
Misc. links
- "Can you help me about ZOPE?"
Zope
- Nanagram, anagram your name
Misc. links
- Noise reduction headphones
Work
- Interior Octopus
Photos
- Find print statements in Python code
Python,
Linux
- Your webpage in Lynx
Web development
- Control comment spam
Python
- Python Cookbook arrived
Books
- callable Python objects
Python
- March, 2005
- Ugly one-liner to debug an object in Zope
Zope
- Searching for the obvious
Wondering
- More amazing sidewalk art
Misc. links
- Read in passwords with bash
Linux
- Add links to a text (take III)
Python
- U.S. memory championship
Misc. links
- Fork Art, up yours Uri Geller
Misc. links
- Adminspotting t-shirts
Misc. links
- XMLHttpRequest Javascript usage example
Web development
- Best Hubbles Space Telescope Images
Misc. links
- Swedish holidays explained
Sweden
- IssueTrackerProduct 0.6.4 released today
Python,
Zope
- All the Seinfeld quotes you can eat
Misc. links
- Good usage of drop-downs
Web development
- Suspend and resume output in terminal
Linux
- Encrypted files in Emacs
Linux
- February, 2005
- File attachment widget with Javascript
Web development
- BaconWhores ha!
Misc. links
- Audioscrobbler indexes your MP3 usage
Misc. links
- Debian popular in Sweden
Sweden
- Optimize Plone.org with slimmer.py
Python
- Python optimization anecdote
Python
- Gmail account giveaway
Misc. links
- Combining MOBi and EconoAccount
Zope
- How to deal with tele-marketing calls
Misc. links
- Good posture website
Web development
- January, 2005
- "Snowy Tribute to Calvin & Hobbes"
Misc. links
- Top movie deaths
Misc. links
- Google Video (beta)
Misc. links
- Google is blind
Web development
- niceboolean() - converts what you say to what you mean
Python
- parametrize_url() adding parameters to URLs
Python
- Gmail spam filter
- My favorite CSS Zen Garden design
Web development
- Running simple SQL commands on the command line
Python
- www.issuetrackerproduct.com is out!
Zope
- December, 2004
- Valuble site: Commonly Confused Characters
Web development
- Infinitely deep illustration
Misc. links
- Merry Christmas
- The problem with CSS
Web development
- __call__ folderish Zope objects
Zope
- Ugliest site of the month, plus44.com
Web development
- Python package path when executed elsewhere
Python
- Happy Birthday to me!
Wondering
- Do you know what safe txt is?
Misc. links
- Kung fu competition photos from Sutton
Photos
- Graduation photos
Photos
- CorpCalendar review on ZopeMag.com
Zope
- November, 2004
- HTML entity fixer
Python
- Hacking and martial arts
Kung Fu
- Ugliest site of the month, hernia.org
Web development
- Make your settings in .Xdefaults come true
Linux
- Bad Santa
Film
- Indent text like email clients do
Python
- Add links to a text (take II)
Python
- XHTML Transitional versus Strict
Web development
- Add links to a text with URLs
Web development
- Do you know about Firefox?
- October, 2004
- City & Islington kung fu charity event
Kung Fu
- Urwid - curses-based UI/widget library for Python
Python,
Linux
- Massrenaming with shell and python
Python,
Linux
- Bush country
Photos
- Reindexing AVI films with mplayer
Film
- Time Machine Ballistics
Photos
- Disable Caps Lock in Linux
Linux
- I'm back and awake!
This site
- September, 2004
- Findory Blogory, like Google News Alerts but for blogs
Web development
- Tell me your birthday
Wondering
- August, 2004
- (Idea) A new anti-spam law
Politics
- Email-your-friends reminder web application
Web development
- Ugly footballers
Misc. links
- PixelField a game for pixel-lovers
Misc. links
- People who really can't think in numbers
Mathematics
- Changing the size of a textarea box
Web development
- Python inspect module
Python
- Film Music by Alfred Schnittke
Music
- Classic Movie Scripts
Film
- Obsolete Computer Museum
Misc. links
- Psychiatric med student Michelle's story
Misc. links
- Pretty print SQL script
Python
- Integer division in programming languages
Python
- Overcomplicated password requirements on Oystercard.com
Web development
- July, 2004
- Make your own 3-D pictures
Misc. links
- Most common English words
Misc. links
- Date plus years or months or weeks
Python
- World Oil Depletion and the Inevitable Crisis
Politics
- WYSIWYG inline HTML editors
Web development
- Intel.com incompatible to Mozilla
Web development
- University results
Mathematics
- Date formatting in python or in PostgreSQL
Python
- Honesty and advertising on Gizmodo
Misc. links
- Paper Wars
Misc. links
- On the amount of spam
Misc. links
- Göta Kanal 2004 holiday photos
Photos
- Company loyalty
Work
- Life of Pi
Photos
- The World's Top 100 Wonders
Misc. links
- June, 2004
- Now I have a Gmail account
Misc. links
- Evil HTML frames
Web development
- Holiday for a week
- TBODY tag in a XHTML table
Web development
- Dan's just been to Sweden
Sweden
- Underwater MP3 player
Misc. links
- Afghan national sport photos
Photos
- Ugliest site of the month, stradbally
Web development
- Kung fu photos from Varberg, Sweden
Kung Fu
- Impressive baby photos website
Photos
- SquareOneTV
Mathematics
- Corp Calendar 0.0.5
Zope
- Different phone, same number
Mobile
- Test your computer secretary skills
Misc. links
- I hate Carphone Warehouse and Lifeline
Mobile
- Accessible Pop-Up script
Web development
- Washing sense of humour
Politics
- Nicking images from our website
Web development
- Lost my mobile phone
Mobile
- 10 reasons for web standards
Web development
- "My Secret Life As A Prostitute"
Misc. links
- Find song by lyrics
Misc. links
- May, 2004
- Experimenting with binoculars
Photos
- Can you add them all up?
Mathematics
- McDonalds Calories
Misc. links
- "I Am American"
- Jaguar cars website
Web development
- No more university for me
Mathematics
- PlogRank - my own PageRank application
This site,
Web development
- Google PageRank matrix calculator (graphically)
Mathematics
- Bush votes: inverse proportional to education and IQ
Politics
- Why should I use XHTML?
Web development
- Google hardware history
Misc. links
- Two done three to go
Mathematics
- Krispy Kreme doughnuts store opening
Misc. links
- Zurich tram service problem
Mathematics
- Distributed compiling with distcc
Linux
- Heil Jed and Dave Kuhlman
Linux
- Obfuscating C contest running now
Misc. links
- Outbreak - fight the viruses
Misc. links
- Molvania: A land untouched by modern dentistry
Misc. links
- Windows Noise Becomes Music
Misc. links
- April, 2004
- Images
Misc. links
- Don't bogart that camera my friend
Photos
- A whole website about Shallots
Misc. links
- Food from Sweden
Sweden
- Throw the penguin
Misc. links
- Anna and Johan photo modelling
Photos
- About Ricardo Semler and Semco
Misc. links
- Proper wireless computing
Misc. links
- Kill Bill flash game
Misc. links
- Funny Plone quote
Zope
- Emacs html-mode for .zpt and .dtml
Zope
- The importance of being findable
This site
- LaTeX Word Counter
Misc. links
- My dissertation report
Web development,
Mathematics
- The 5 most spectacular photos of 2003
Photos
- How to fold clothes
Misc. links
- XHTML, HTML and CSS compressor
Web development,
Python
- PostgreSQL, MySQL or SQLite
Linux
- Challenge Osama with scimitar or sword
Politics
- Anti-email-harvesting with JavaScript
Web development
- March, 2004
- Metamorphosis, Franz Kafka
Books
- FWC November competition video
Kung Fu
- Fat food = fat kids?
Misc. links
- Pylets, more than just mod_python
Python
- EuroPython in Sweden, I should go
Python
- Google PageRank algorithm in Python
Python,
Mathematics
- What's so bad about HTML guys?
Web development
- He must really hate C
Misc. links
- Virtual feminization
Misc. links
- The Dead Zone
Misc. links
- Finished the bulk of my dissertation
Mathematics
- The meaning of "hacking"
Misc. links
- To readline() or readlines()
Python
- Python UnZipped
Python
- Deep sea fish, lots of pictures
Misc. links
- PSP - Python Server Pages
Python
- Funniest Volvo advert ever
Sweden
- How to uninstall LeakFinder in Zope
Zope
- Apostrophes in predictive text
- Moving Image Contest for Creative Commons
Misc. links
- Optimized stylesheets
This site
- World Press Photo, the winners
Photos
- the knife: Pass This On
Misc. links
- Unusual job offer
Misc. links
- CPU info
Linux
- Lemon - Commodore 64 Heaven!
Misc. links
- February, 2004
- StreetArt in London on Ploggle
Misc. links
- Lots of shit about shit
Misc. links
- Share Your OPML
Misc. links
- What will you not wear today?
Misc. links
- Anti-spamming email harvesting
Web development
- Bugknits
Misc. links
- Practical CSS
Web development
- Best water in the world
Sweden
- Neon-Brite, a 360 degree theatre play
Misc. links
- Future plan for IssueTrackerProduct
Web development
- Ploggle
Web development
- WEBoggle mind bogglingly addictive
Misc. links
- This site 7 months ago
This site
- Why Sun should Open up on Java
Linux
- C++ templates or not
- Ugliest site of the month, yoyoguy.com
Web development
- MozillaZine Knowledge Base
Web development
- Afghan expressionism in a modern era
Misc. links
- RSS 1.0 feed now
This site
- Getting fired in 3 hours
Misc. links
- Memory Test on BBC Science
Misc. links
- Breaking usability principles for usability
This site
- DOCTYPE in PageTemplates with METAL
Zope
- Dan Heller's Photos of Italy
Photos
- Man mailed himself home
Misc. links
- Do you know about Wikipedia?
Misc. links
- Techie things I want to buy from ebuyer.com
Wondering
- Adding a year in PostgreSQL
Linux
- PayPalSucks.com, can't be good for PayPal
Web development
- Photo.net, Photograph of the Week Gallery
Misc. links
- S21: The Khmer Rouge Killing Machine
Film
- Photofusion in London
Photos
- January, 2004
- The Chinese Martial Arts Film at BFI
Film
- I'm a computer nerd, but...
Misc. links
- ClearWind.ca a good looking Plone site
Zope
- Julien Donkey-Boy
Film
- 30 days solid McDonalds diet experiment
Misc. links
- What Yin-Yang is
Kung Fu
- George W. Bush and the $85.2 million ad campaign
Politics
- Grep in Jed
Linux
- Keybinding ALT-F in Jed
Linux
- Passed my grading!
Kung Fu
- Dabbrev in Jed
Linux
- Labels in HTML forms
Web development
- Robots.txt Validator
Web development
- MathML and displaying Math on the web
Mathematics,
Web development
- Hit the penguin
Misc. links
- SimCity 4 and SimCity Classic
Misc. links
- Same but new keyboard, lovely change
Mathematics
- Photojournalism on the former Soviet block
Misc. links
- Effects of LSD on drawing
Misc. links
- Quick URLs for some pages
This site
- Ugliest site of the month
Web development
- China, being trained in prosecution by Sweden
Sweden,
Politics
- Lost In Translation
Film
- Pholph's Scrabble Generator
Misc. links
- So vivid dreams I couldn't get out!
Wondering
- Recon - Regular Expression Test Console
Python
- Printer friendly and PDF version of every page
This site
- Crontab wizard
Linux
- About page finally written
This site
- "It's just a website" by Tom Smith
Web development
- eBay and freedom to sell whatever you like
Misc. links
- How old is Bettys dad?
Mathematics
- PythonPoint
Python
- Creating a user for postgresql
Linux
- Vivisimo - clustered searching
Misc. links
- Photos from Mars
Photos
- US Zip codes
Misc. links
- Yo-Yo
Misc. links
- Back in town and not so ready for exams
- December, 2003
- Two exams on the same day
Mathematics
- A jerk with a good website
Politics
- Off to Sweden!
Sweden
- A nice and simple article about Zope
Zope
- LOTR - Return of the King
Film
- Adaptation
Film
- ESI and Squid and Zope
This site
- International Snow Sculpture Championships
Misc. links
- Happy Birthday to me!
- "Historisk Guide till England"
Books
- Man arrested for spamming
Misc. links
- Nintendo emulator online in Java
Misc. links
- Back online
This site
- The Linux Cookbook
Linux
- Amazon.co.uk Top Reviewers
Misc. links
- Bad news for Stockholm
Politics
- Mr. Picassohead
Misc. links
- Case study where Python was the final choice
Python
- Moscow Metro
Misc. links
- November, 2003
- The Pentagon is big, very big
Misc. links
- Py2TeX
Python
- More terrible album covers
Misc. links
- London underground map in 3D
Misc. links
- Back from the competition
Kung Fu
- Kung Fu competition
Kung Fu
- New phone, same number
Mobile
- 3D Sidewalk Paintings
Misc. links
- Google search terms
This site
- Old motel postcards in the US
Misc. links
- SpamBayes and SSL thanks to Stunnel
- Happy Birthday Malin!
Family
- Matrix ASCII animated!
Misc. links
- Zolera SOAP Infrastructure 1.4
Python
- Recipe of creating the best paper plane
Misc. links
- The worst jobs in science
Misc. links
- Amazon Marketplace - an odd update
Misc. links
- Amazon Marketplace - great web app
Misc. links
- Naughty but very happy
- This Is Broken
Misc. links
- Worst Album Covers Ever
Misc. links
- Hubbell and Hubbell
Misc. links
- The Matrix Revolutions, naive but spectacular
Film
- Python for .NET
Python
- Parrot; CLR for the poor man
Python
- The end of the world, a scenario
Politics
- Ever wondered how much $87 Billion is?
Politics
- CSS Zen Garden
Misc. links
- October, 2003
- PLEAC
Misc. links
- Kung Foo
Misc. links
- Tangram
Mathematics
- One hot ear
Kung Fu
- Sand java applet
Misc. links
- Search Inside the Book
Misc. links
- Programmers Block
- Man jailed for smuggling eight snakes in trousers
Sweden
- Kill Bill vol. 1
Film
- Sony Ericsson P900
Misc. links
- Systembolaget under pressure
- Nice date input
Zope
- My breakfast
This site
- New feature: RSS feed
This site
- Data Structures and Algorithms in Python
Books
- Who's who in the 'axis of evil'
Politics
- Web design practices
Misc. links
- Loadtesting this site and compare with static Apache
This site
- 2 Years later
Kung Fu
- Once upon a time in Mexico
Film
- Geography: The lost world
Misc. links
- "Sweden and Denmark top in quality of life"
Misc. links
- Trippy photo
Misc. links
- Cartoons on Aljazeera.net
Misc. links
- Why You Should Switch to the Mozilla Firebird browser
Misc. links
- Really really shitty webdesign
Misc. links
- First day back at university
Mathematics
- September, 2003
- Google News Alerts (BETA)
Misc. links
- Crazy about Linux
Misc. links
- Wow! Latest Plone sprint
Zope
- MOHO at Restaurant show photo
This site
- Cheer for Swedish coders
Misc. links
- Funny Dilbert for mathematicians
Mathematics
- Best in Show, really funny
Film
- Good summary about Ricardo Semler
Misc. links
- New search feature on this site
This site
- City of God
Film
- Perfect parking formula
Mathematics
- Great article about writing games with Python
Misc. links
- Google as calculator
Misc. links
- August, 2003
- Photos from Cornwall camp 2003
Kung Fu
- On training camp for a week
Kung Fu
- Some new Kung Fu photos
Kung Fu
- The Seven-day Weekend
Books
- Whale Rider
Film
- Terminator 3 Rise of the machines
Film
- July, 2003
- How to not get any spam
- Squid now working in front of my Zope
Zope
- Back from my holidays
Sweden
- Fishing photos from last year
Photos
- On holiday for a week
- Some new Kung Fu photos
Kung Fu
- Last grading result
Kung Fu
- Ang Lee slow motion but not
Misc. links
- Exam results arrived today
Mathematics
- Lots of little Agent Smiths
Misc. links
- The "omit-tag" tag
Zope
- IssueTrackerProduct and MassContainer
Zope
- Fry-IT people picture
Work
- June, 2003
- First news item of the new webpage