Matt Godbolt’s blog

Coding

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++

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

July 2009

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.

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.
Comments on hacking about with stacks
Justin's comments on my investigation of the processor stacks on Windows and Linux.
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

LCD screen hackery
Some ideas on improving the LCD display on the Weebox.

April 2008

The C library's strcmp routine is badly named
My thoughts on the ill-named strcmp function.

February 2008

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.

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.
C++ header dependency tricks
Some tricks for reducing dependencies and hence compile times in C++.

November 2007

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.
List comprensions in Perl using map {}
A quick comparison of list processing in Perl and Python
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

September 2006

IncludeManager released!

February 2006

Godbolt's Second Law

September 2005

ProFactor StyleManager

April 2005

Godbolt's Law

June 2004

Floating point

March 2004

Driving me NATty