Author Archives: ejrh

Two indexing tricks with PostgreSQL

I would like to share two indexing tricks I stumbled upon earlier this year. They are useful when changing the schema for large tables. Context Our database schema seemed rather inefficient: We were using 8-byte bigint types for small integer … Continue reading

Posted in Programming | Tagged , | Leave a comment

One thing from 2014: a compiler and CPU working together

2014 was a sparse year for blogging and other projects. But at least some progress was made on my CPU project, including a major milestone: namely, running its first compiled program. Stored-program computer Firstly, the CPU is now capable of … Continue reading

Posted in Hardware, Programming | Tagged , , | Leave a comment

Hiatus

Over a year has passed since I posted anything here. What’s been happening? I have changed job. I’m not overworked by any means, but I have found that I have less time and energy left for the frivolous, but stimulating, … Continue reading

Posted in Hardware, Programming, Reflections, Science | Tagged , , | Leave a comment

A computing machine

As mentioned previously, I’ve been trying my hand at Verilog — a language for designing electronic circuits. This post discusses the next project I attempted: a Central Processing Unit. Magic of computation A CPU is the part of a computer … Continue reading

Posted in Hardware, Programming | Tagged , , | 1 Comment

Learning Verilog

Over my summer break I learned Verilog. Verilog is a hardware description language: it’s a kind of programming language in which, instead of providing a sequence of instructions for updating a computer’s state, or composing an expression that evaluates a … Continue reading

Posted in Hardware, Programming | Tagged , | 2 Comments

IRC bot as a fun project

Something I started working on last year: yet another IRC bot. Since IRC is a simple protocol for sending plain text messages to channels or users, it provides opportunities for some good programming projects, such as a bot. An IRC … Continue reading

Posted in Programming | Tagged , , , | Leave a comment

Cluster size experiment

After getting the SSD for my system, I’ve been able to repartition the existing HDD into a data-only drive. I typically have a small partition for general files (basically my documents and source code), and a big one for large … Continue reading

Posted in Hardware, Programming | Tagged , , | 28 Comments

More thoughts on version control

The shadow of Git has lately begun to loom over my programming habits. It has actually become the principal version control system at work, with most active projects migrated to it from ClearCase, Mercurial, CVS, etc. And recent collaborative programming … Continue reading

Posted in Programming, Rants | Tagged , , , | Leave a comment

Programmer-friendly blogging

Commenting on a blog post about an interesting use of generics in Java, I’ve had the pleasure of seeing my carefully typed code translated from: to: Gosh, I never realised type erasure could be performed at the HTML level. Unfortunately … Continue reading

Posted in Programming, Rants | Tagged , , | Leave a comment

Schema diagrams for PostgreSQL

I have made some progress towards the longstanding goal of drawing nice diagrams of database schemas. Firstly, I’ve figured out how to use yEd‘s Entity Relationship node types as table nodes. These special node types have both a node label, … Continue reading

Posted in Programming | Tagged , , , , | 7 Comments