Blog Archive
- 
        
        
The business of the AI labs
 - 
        
        
US equity valuations
 - 
        
        
How close is England to covid herd immunity?
 - 
        
        
L1 regression solved six ways
 - 
        
        
Coronavirus lockdown: balanced on a knife edge
 - 
        
        
Predicting international house prices
 - 
        
        
Is Bitcoin a junk asset?
 - 
        
        
Do children make you happy?
 - 
        
        
Making money in cryptocurrency without price risk
 - 
        
        
Being concrete about the benefits of tax efficient index investment
 - 
        
        
Tax-efficient and financing-efficient UK individual investing
 - 
        
        
The case for leverage in personal investing
 - 
        
        
Portfolio mean-variance optimisation in the browser
 - 
        
        
Faster ordered maps for Java
 - 
        
        
4 things you didn't know you could do with Java
 - 
        
        
A Cambridge Computer Science degree summarised in 58 crib sheets
 - 
        
        
Datastructures for external memory
 - 
        
        
Compression of floating point timeseries
 - 
        
        
Easy publishing to Maven Central with Gradle
 - 
        
        
Max's DataBase Interface
 - 
        
        
Beware: java.nio.file.WatchService is subtly broken on Linux
 - 
        
        
Asynchronous and non-blocking IO
 - 
        
        
Quirks of the Matlab file format
 - 
        
        
Rpath emulation: absolute DLL references on Windows
 - 
        
        
GHC-specific Alias Analysis for LLVM
 - 
        
        
Constraint Kinds for GHC
 - 
        
        
The Sad State of Symbol Aliases
 - 
        
        
Everything You Never Wanted To Know About DLLs
 - 
        
        
Fixing "files could not be moved" error in Boot Camp Assistant
 - 
        
        
Security implications of PEP 383
 - 
        
        
How to build 32/64 bit fat (universal) binaries
 - 
        
        
Solving GHC iconv problems on OS X 10.6
 - 
        
        
The case of the mysterious "thread blocked indefinitely in an MVar operation" exception
 - 
        
        
Interpreting GHC cost centre stacks
 - 
        
        
Blogging is hard, let's go tweeting!
 - 
        
        
TEDxCam Hackathon
 - 
        
        
Ditaa support for gitit
 - 
        
        
Remembering The Hanzi
 - 
        
        
Constraint families
 - 
        
        
New paper: Types Are Calling Conventions
 - 
        
        
OMake and Literate Haskell
 - 
        
        
Bitesize Functional Programming: Universals As Existentials
 - 
        
        
Upgrading An Unactivated Windows Install To Parallels 4.0
 - 
        
        
Hackage Releases Made Easy
 - 
        
        
Compiler Plugins AngloHaskell Talk
 - 
        
        
Compiler Plugins For GHC: Week Six
 - 
        
        
Compiler Plugins For GHC: Week Five
 - 
        
        
Compiler Plugins For GHC: Weeks Three and Four
 - 
        
        
Compiler Plugins For GHC: Week Two
 - 
        
        
Compiler Plugins For GHC: The First Week
 - 
        
        
Free Monads In Haskell
 - 
        
        
Fixing File Associations Eaten By Parallels Desktop
 - 
        
        
FizzBuzzing With Type Families
 - 
        
        
The Summer Of Code, or Compiler Development for the Masses
 - 
        
        
Bitesize Functional Programming: Comprehensive Comprehensions
 - 
        
        
Google Images Plugin For Corripio
 - 
        
        
FizzBuzzing At The Type Level
 - 
        
        
Raytracing With A Single Haskell List Comprehension
 - 
        
        
Breaking The Running Key Cipher: Part 2
 - 
        
        
In Defence Of Clipperz
 - 
        
        
Leaving Windows Behind
 - 
        
        
Using Cygwin on Windows Vista as an Administrator
 - 
        
        
Google 0wn5 Me
 - 
        
        
C#-Style Events In Scala
 - 
        
        
NOD32 IMON Component Is Just Plain Dangerous
 - 
        
        
Arbitrary Restrictions On C# Generic Constraints
 - 
        
        
Todays Java Atrocity
 - 
        
        
Implementing The Disposable Pattern In Scala
 - 
        
        
Breaking The Running Key Cipher: Part 1
 - 
        
        
Uninformed Journal Volume 7 Released
 - 
        
        
Fixing Experts Exchange With Greasemonkey
 - 
        
        
Cute Haskell Code
 - 
        
        
Frustration + Lazyweb = Results
 - 
        
        
XMLHTTPRequest + Authentication = Frustration
 - 
        
        
Bitesize Functional Programming: Active Patterns
 - 
        
        
Global Hotkeys With .NET
 - 
        
        
So, Does Anyone Even Use All These Darn CPU Instructions?
 - 
        
        
Haskell Records Considered Grungy
 - 
        
        
Building YAWS For Windows