The yubikey one time password scheme

On Monday July 4th, we put together another one of those 0x375 meetings. What is 0x375 you say?

0x375 (Thessaloniki Tech Talk Sessions) is an independent, non commercial, non vendor biased and loosely organized meeting of hackers centered in the city of Thessaloniki, Greece. During 0x375, people meet to give presentations on technical topics ranging from simple administration procedures to advanced kernel exploitation techniques. Drinks, food and fun are an integral part of the meeting!

In a nutshell: informal, heavily fun meetings of tech savvy people of various backgrounds.

During this last meeting I gave a presentation about the Yubikey, an “open” security token I’ve used for a couple of projects during this past year.

The video of the talk is available on livestream (in Greek, sorry). The English slides are available here.

Next time you’re in Thessaloniki make sure you check 0x375 out or even better give a presentation yourself! We’ve got a constant call for papers on.

Fast, thread-safe Thunk in Java

6 months ago or so I was going through Wealthfront’s website when I stumbled upon their recruiting puzzle for the “Backend software engineer” position. The page is still online but not linked under their Available Positions list so I guess it’s alright to publicly discuss that puzzle.

The puzzle reads

Provide an alternate implementation of the following class (a thunk) that uses no conditional logic. For extra credit, make it thread-safe.

abstract class Thunk<T> {
  private boolean evaluated;
  private T value;
  public T get() {
    if (!evaluated) {
      value = compute();
      evaluated = true;
    return value;
  abstract protected T compute();

Read the rest of this entry

Couple of issues with hardy heron

Ubuntu 8.04 aka Hardy Heron has been around for a few days now, so updating my system* was a completely logical step.

Murphy was – of course – stalking around the corner, so a couple of problems came up.

Problem 1: I’m suspending quite a lot.

Or that’s at least what makes this problem important to me.
In a nutshell, after sleeping (suspending to ram) the system fails to wake up. It seems that a kernel module related to USB (ehci_hcd) doesn’t like being suspended any more.

Anyway, good news are that we can kindly ask PM to unload the module before suspending the system.
Luckily this works :)

Just run the following as root

echo SUSPEND_MODULES=\"ehci_hcd\" > /etc/pm/config.d/WORKAROUND

Problem 2: Sound Line-out doesn’t “out” anything

Well that’s simple. My soundcard’s line out stoped outputing anything.
Took a wild guess that proved to be quite right: alsa failed to correctly autodetect the model of the codec implementation. Hardcoding it does the job.

Again as root

echo "options snd-hda-intel model=laptop-micsense" >> /etc/modprobe.d/alsa-base 

Hope this helps.

* the system in question is a gigabyte W251U laptop. This is pretty much an OEMed fujitsu siemens amilo SI1520.


Work in progress…