I was chatting with my brother about my new video blog and he said I should do something to make myself distinctive, so I thought a lab coat, ID badge on lanyard, and pocket protector full of tools would do the trick.

To that end I got myself a lab coat, set of five multicolored lanyards, a pocket protector, and a screwdriver with clip.

Cosplay! I’m such a nerd. :P

My inspiration was mostly Stetmann of StarCraft II fame, although my outfit isn’t exactly the same.

I made some ID badges for myself, I figured I could give myself various job titles and choose a different one from time to time…

New look

After around 12 years with a completely unreadable look and feel I have finally bowed to pressure and switched my WordPress theme over to something sensible. I’m using the Twenty Eleven theme, which is what the old unreadable theme (known as OldSkool) was based on. This change is as a courtesy to my readers, who I do actually value. :)

Critical Path != Critical Section

I always get the concepts “critical path” and “critical section” confused.

The “critical section” is the part in your algorithm which you must hold a lock for; whereas the “critical path” is an idea from hardware design which relates to the time taken for the longest combinatorial logic that needs to be processed during a clock cycle, thus limiting the frequency you can run your clock at.

Although the terminology “critical path” came from hardware, the same terminology is used in software. ChatGPT has a fairly good write-up on the two uses of the term “critical path”.

I learned a little more about this in Introduction to VHDL for FPGA and ASIC design.


I watched Ben Eater’s videos How do CRCs work? and Checksums and Hamming distance (the full course is Learn about error detection) then found the Wikipedia page: Cyclic redundancy check.

Also of interest:

Keyspace on the back of an envelope

One question that always plagues me: should I use 32-bit or 64-bit keys. I can never make a firm decision on this point. But I’ve just done some back of the envelope calculations in thinking about it.

If you issued one identity per second, every second of every day, it would take 136 years to exhaust the keyspace.

If you issued one thousand identities per second, it would take 50 days to exhaust the keyspace.