Matt Godbolt’s blog

Self-indulgent postings

Archive

December 2012

!FinalLook - a RISC OS 3.1 hack explained
A trip down memory lane to a hack for RISC OS 3.1 I wrote at University

September 2012

Forcing code out of line in GCC and C++11
A way of ensuring non-hot code is taken out of line in GCC, using C++11 lambdas

June 2012

GCC Explorer - progress update
What's changed since the launch

May 2012

GCC Explorer - an interactive take on compilation
Introducing a new way to stare at the disassembly of your compiled C and C++

April 2012

Good grief, it's been a while!
In which I note the long passing since the previous post

August 2011

Vim's quickfix and GCC 4.5
Getting GCC 4.5's error messages parsing in vim 7.3

July 2011

An update to Miracle
An update on Miracle, the Javascript Sega Master System Emulator

February 2011

Introducing Miracle
A Sega Master System emulator in JavaScript

January 2011

Hello Chicago!
The latest updates from wintry Chicago

December 2010

It's nearly time to say goodbye
In which I take stock of 2010, and get ready to leave the UK

November 2010

Goodbye Google!
Goodbye Google

October 2010

An even bigger move
Yet another post and of course another excuse for the gap

July 2010

A big move
Another post, another excuse for the gap between this and the last

April 2010

Baby Godbolt has a name!
In which we reveal our baby's name: Isaac Benjamin.
Announcing a new Godbolt
The happy news of the latest Godbolt to arrive on planet Earth.
SWAT: the last few bits
Tieing up the loose ends, collision system, AI and the like.

March 2010

Rendering in SWAT: PlayStation 2
How we wedged a fully fledged Xbox engine onto the PlayStation 2
Rendering in SWAT: Xbox
SWAT's Xbox rendering engine
SWAT's lighting system
An explanation of the lighting system used in SWAT.
Game Development: SWAT's artwork
Part two of “How SWAT: GST was made”, this time it's the art pipeline

February 2010

Game Development: SWAT
Part one of “How SWAT: GST was made” — a background
Windows fails to mount USB drives when they're inserted - a solution
I finally found out why my laptop had lost the ability to mount USB drives

July 2009

Setting up an Android on a UK O2 iPhone contract SIM for MMS
How to set up an unlocked Android phone to use a SIM from an iPhone on O2
Solving the threading problem in WinInet
One possible solution to the problem of cancelling a WinInet request in a thread-safe manner.
Threading issues in the Windows Internet API
A problem with threading that looks simple but turns out to be a headache.

May 2009

Honey and Lime - a mobile bar
Seeding Google with a post about a friend's mobile cocktail bar.
Sunday Lunch at the Fat Duck
In which I blow the family fortune on lunch at the Fat Duck. And love it!

January 2009

DIY Plumbing Fail
A story from my Christmas where I had a run in with my heating system
Pence in the pound
Does nobody in economics understand what percentage means?
Lord Winston and centenarian nuns
If you want to live a long and healthy life, become a nun.
A belated Happy New Year
Is it 2009 already? How the heck did that happen?

November 2008

November round-up
A very quick round-up of what happened in November.

October 2008

Two weeks in Mountain View
Two weeks away from the family, but with lots of cool tech.
Goodbye ProFactor...
Goodbye ProFactor, hello Google.
A big change coming up for me
A bit of a change coming up for me.

September 2008

Samba PDC problems after changing server IP
A strange problem with Samba PDCs if their IP addresses change.

August 2008

Another weekend and some more data recovery
More fiddling in trying to get NTFS disk data back for my Dad.
NTFS data recovery on Linux
Aargh! A broken NTFS filesystem, and recovering it on Linux.
Comments on hacking about with stacks
Justin's comments on my investigation of the processor stacks on Windows and Linux.
A good weekend
In which I try to be more twitter-like. And fail miserably at: A rather long summary of my weekend.
Hacking about with stacks
An investigation of the processor stacks on Windows and Linux.

July 2008

How to make a pure virtual call
More of an anti-pattern than a how to - avoiding and/or diagnosing pure virtual function calls.
IO Completion Ports - the UNIX equivalents
In which we learn the UNIX equivalents of IOCPs.
IO Completion Ports
One of the better features in Windows. Sadly, very awkward to use correctly.

June 2008

William Anthony Richard Godbolt
On the birth of our firstborn: William Anthony Richard Godbolt.
LCD screen hackery
Some ideas on improving the LCD display on the Weebox.
The beginning of the end for Windows XP
I've finally had enough of Windows and have moved to Ubuntu Linux.

May 2008

Two weeks of relaxing
The end of a lovely two-week break in Cyprus.

April 2008

Spooky coincidences...
There's more than one "me" out there. Spooky indeed.
So that's what we've been up to...
In which I introduce the Xbox Live Arcade game we've been working on: Slam.
The C library's strcmp routine is badly named
My thoughts on the ill-named strcmp function.
This week, I have mostly been...
The worst kind of blog post - a generic update.

March 2008

Plugging for a friend - New Metal Army
A blatant plug for a friend's heavy metal gig website. And talk about finding the sex of babies.
Minding your Ps and Qs
In which a signwriter forgets which way round things have to go.

February 2008

Things I learnt about Google last night
The adhesive in their paper cups dissolves in alcohol. And other things.
Launching a debugger automatically
Automatically launching the debugger for a particular executable.
Things I didn't know about Visual Studio's Debugger
Discussing debugger pseudovariables for accessing GetLastError return values.
Challenges, and bits and bobs
An excellent description of the challenges faced by the Human Genome Project. And some miscellaneous other bits.

January 2008

It's a human!
A new addition to the Godbolt clan is announced. Or at least the release date.
Happy New Year
Happy New Year. And an unexpected birthday present.

December 2007

Strict aliasing in C
It's not OK anymore to cast willy nilly in C++. Well, it never was. But it's less so now.
USBwine
USBWINE - French spoof. And the perfect present for the techno-wine drinker in your family.
American in bad maths shocker
C++ header dependency tricks
Some tricks for reducing dependencies and hence compile times in C++.
Google POP3 certificate problem and Thunderbird
A temporary issue with Google's SSL certificates, and a workaround.

November 2007

Me, a name I call myself
English grammar isn't so different from Latin after all.
Poor man's GPS
Poor man's GPS.
A few days of downtime
Oops, it broke...
Ambiguous function overloading in C++
C++ function overload resolution can be rather inscrutable. I try and make sense of a particular case.
The three way handshake of understanding
IRBasic - object-oriented BASIC
An object-oriented BBC BASIC.
More on BASIC line numbers
More on the BBC BASIC binary line number encoding.
BBC BASIC binary line number format
A further look at BBC BASIC's in-memory format, specifically the line numbers.
BBC BASIC V file format
Exploring the BBC BASIC V file format. It's pretty damned clever.
Modern web design
An image depicting the issues with modern web design
List comprensions in Perl using map {}
A quick comparison of list processing in Perl and Python
Linksys Broadband Router DHCP bug
In which I discover a fun bug in Linksys's DHCP implementation.
Changelists in Subversion
Something I'm looking forward to seeing in Subversion --- changelists.
List comprehensions in Python
The coolest thing in Python --- list comprehensions.
More things I didn't know about Python
Conditional expressions in Python 2.5
HTML scraping in Python
Discussing a couple of Python libraries designed for parsing real world websites.
Easy Installation with ez_setup
ez_setup: the quick and easy way to install new python libraries.
Python sqlite3 gotchas
A caveat for sqlite3 in Python - if your databases don't fill with data, this might be why.

April 2007

Samba & LDAP

February 2007

General round up

January 2007

Blatant plug!

May 2006

Clever Dick

August 2004

Rejected

June 2004

Floating point

April 2004

Blast from the past