Archive
May 2020
- Noda Time 3.0.0
- Noda Time 3.0: Nullability, simplicity; more API, less serialization.
January 2019
- Books of 2018
- Short reviews of all the books I read in 2018.
July 2017
- This is Just to Say
- On assumptions; a poem.
October 2015
- Deadlocks in Java class initialisation
- Fun with multithreaded class initialisation. And by fun, I mean deadlocks.
June 2015
- pip install --isolated fails on Python 3.0–3.3
- Why pip fails with “option --no-user-cfg not recognized”.
March 2015
- Noda Time 1.3.1
- Noda Time 1.3.1: a few bugfixes.
February 2015
- Just how big is Noda Time anyway?
- An analysis of Noda Time’s codebase. With graphs.
January 2015
- Simple privilege separation using ssh
- Using ssh to create a simple privilege separation between two processes.
December 2014
- Mobile friendly
- How to make a (simple) website mobile-friendly.
November 2014
- Cloudy DNS
- Ailing hardware, and moving to Google Cloud DNS.
October 2014
- Pangrams on the web
- A 36-Letter Pangrammatic Window.
September 2014
- Pangrammatic performance
- Linux I/O performance measurement with iostat, while searching the Gutenberg corpus.
August 2014
- HTTPS
- This blog, now via HTTPS.
June 2014
- Noda Time 1.3.0
- Noda Time 1.3: Calendars, fixes, and the road to 2.0.
- Pangrams in C
- Searching for pangrammatic windows in practice, source-code edition.
- Pangrammatic windows
- Finding pangrammatic sequences in Gutenberg text.
January 2014
- Small-scale Compute Engine
- Is Google Compute Engine a viable option for running a simple static web server? Yes. Yes it is.
November 2013
- Noda Time 1.2.0
- Noda Time 1.2: serialization and more serialization, and text handling.
- Measure twice
- Profile before optimising, then profile again. And then don’t optimise.
- A maximally-dense encoding for n-choose-k
- Using the combinatorial number system to map combinations to small integers.
September 2013
- The network is reliable
- Jepson, and some background on distributed database theory.
- Learning from bad code
- I have some bad code. What can we learn from it? Also, Java.
- Restylin’
- Meta: redesigning this blog for readability.
August 2013
- Noda Time 1.1.1
- Noda Time 1.1.1 is out; far too much detail about two bugs we fixed.
- Ancient blog posts: Fun with (SQL) dates
- Date parsing in SQL Server is confusing.
July 2013
- Understanding Python scope
- An explanation of Python scoping rules, by way of ALGOL.
- Procrastinational
- English words with minimum edit distances from parts of the alphabet. No, really.
July 2011
- On Page Speed Service
- Switching to Google’s Page Speed Service; overview and caveats.
June 2009
- Making Eclipse show Android’s source
- How to view the Android source within Eclipse.
- Troubleshooting Android’s ‘adb devices’
- Debugging steps for when the Android Debug Bridge won’t recognise your phone.
March 2009
- Understanding IPoEoATM and RFC 1483 bridging
- An unhealthy obsession with DSL networking.
- Peculate
- Other people do ads too?
- Quis Custodiet.
- Watchmen: awesome.
February 2009
- Also, you may get off my lawn
- Web design is easy, let’s not go shopping.
- Snow Day
- Brrrrrrrrr.
January 2009
- The Lord of the Rings, in review
- Adam Cadre has a great, if ever-so-slightly confused, review of LotR.
- Been
- Switched.
- Making Presents
- I made a calendar for Christmas. It didn’t suck.
- Computer games as spam, and Marmite
- Electronic Arts makes spam; I have no Marmite.
- Five things I learned this Christmas
- Happy New Year!
December 2008
- To Be
- Moving ISP. Goodbye, Demon!
June 2008
May 2008
- Stupid UNIX (shell) tricks
- A bunch of productivity tricks for the UNIX shell.
- Top (App Engine) Tip
- If you can’t work out why your administrators aren’t, this is why.
- Google-love (and some Jam)
- Why I love (working at) Google, and a bit about tonight’s OSJam.
April 2008
- MySQL JDBC debugging: dumpMetadataOnColumnNotFound doesn’t
- MySQL’s documentation confounds me again.
- Hosting Jam
- Porting the Open Source Jam signup application to the Google App Engine.
- Picasa Web Albums, meet Gears
- Picasa Web Albums goes offline.
February 2008
- But still no flying cars…
- I’m living in the future, but it’s all beyond me.
December 2007
- Security by email address
- Authentication by forgetting your password.
- std::verbosity
- Functional programming with the C++ STL: bad idea.
- Google Chart API
- Google’s chart API is publicly-accessible, and darn cool.
- µ-posts
- A few little updatelets.
November 2007
- Phone tip: Quick access to your browser
- How to quickly access your browser on a Symbian Series 60 phone.
- The new shiny
- I got myself a new phone.
October 2007
- Random links
- A collection of links.
- The quickest calculator
- Every browser window you have open is a calculator.
- Tricky Preprocessors
- Weirdness in the C preprocessor.
- Jam[5]
- The sixth Google London Open Source Jam: Web web web web web.
August 2007
- Searching for Evil
- Ross Anderson’s talk about evil malefactors on the internet.
- Hello, world
- Baby pictures — ahh, cute!
July 2007
- Irony (and videos)
- On not Getting Things Done.
- Why Safari, not Firefox?
- Why I use Safari on OS X.
- iPhone
- (An) iPhone has escaped from the US, and it’s trapped in London!
- Wikipedia… to the future!
- Is everything you know already in Wikipedia? No problem! Document the future!
June 2007
- Delayed Delivery
- or, how I stopped worrying and learned to love MythTV.
- Do. No. Evil.
- Google is people too.
- Shrek 3
- Musings on Shrek 3, catenary curves, and being treated like a thief in the cinema.
- Random links
- A collection of links I’ve enjoyed recently.
May 2007
- Google Gears
- Offline web applications, now.
- I CAN HAS STDIO?
- lolcats + code = …
- Jam!
- That is, the Google London Open Source Jam.
- MySQL is clinically insane
- When is a NULL not a NULL? When it’s MySQL!
mod_dav_svn
improvements: SVNActivitiesDB- What’s SVNActivitiesDB, and why would you use it?
- Google’s brand recognition
- Google has fantastic brand penetration. Here’s how I know.
- “The great thing about standards…
- Wiring standards are almost as interesting as computer standards. No, really!
April 2007
- Tree-structured FSFS repositories
- More than you ever wanted to know about Subversion 1.5 FSFS filesystems.
- London Tube Journey Planner
- A nice, simple Google Maps-based tube journey planner.
- Firefox add-on woes
- Two extension problems, two extension solutions.
- Weekend links
- This weekend’s browsing, an excerpt.
- Designing for the blind
- Or, “Googlebot doesn’t belong here”.
March 2007
- Microsoft Office hates me
- Microsoft really don’t want me to test out Office for Mac.
- The Omnipotent Google Toolbar
- The Google Toolbar knows all.
- WHATWG — much unread email
- Web Forms 2. It rocks.
- fitz and sussman’s “Poisonous People” talk
- Watch this video.
- OMGWTFBBQ
- More later.
- Random things I learnt while in the US
- Mostly car-related, actually.
- Backing up FSFS repositories, Subversion 1.5 style
- We’ve made some improvements to help repository admins back up their FSFS repositories.
- Just how big is Subversion anyway?
- An analysis of Subversion’s codebase. With graphs.
- The Psychology of Security
- Thoughts about airport security and Bruce Schneier’s essay.
- Empires
- The Imperial History of the Middle East, in 90 seconds.
February 2007
- Digital Drawing
- Drawing on whiteboards is so passé, don’t you think?
- Perdido Street Station
- A review of China Miéville’s Perdido Street Station. I liked it.
- Ceci n’est pas une entrée de blog
- ObFirstPost.