Shortlog - a log of everyday things




My law professor is a pretty cool guy. He runs Debian GNU/Linux, has a DeCSS t-shirt, and one of his course projects involves writing (or significantly improving) articles on Wikipedia. He mentioned that he wanted a tool that would let him record his lectures, but that he couldn't find one that would record both his desktop, audio, and an external camera. So I hacked up a Python script (warning: still a work in progress, has known bugs, may do unpleasant things to your pet) to choose what devices/monitors to record from and then launch recordmydesktop recording the desktop and audio, and gstreamer recording the external video simultaneously. He thought this was pretty great, and we're going to try to record most lectures for the rest of the semester.


Ren Ng, the founder and CEO of Lytro, gave a talk about how light-field cameras work. It was pretty cool, and we all got to play with one of the Lytro cameras and some of the software after the talk.

I'm interested in what software tools to interact with these new sorts of cameras will be like. We don't have any standard formats for light-field photographs yet - it remains to be seen what optimal encoding, storage, compression, and retrieval formats will look like. I hope that Lytro will recognize that while they can (and should) build a great set of tools around their camera, they will achieve much greater accessibility and a wider market if they document their file formats. Even better would be for them to engage with the community to determine what would improve such a file format.

Keep an eye on this company; I anticipate that this technology and company will have a significant impact on the way photographs and videos are handled in the long run.

I saw Stripe posted a Capture The Flag challenge on their blog. In short: log into a server and find a way to exploit a service to extract the password for the next level. There are six levels. I made it to level04 before it was late-o-clock and I decided I needed to sleep.


Today was BEARS 2012. Good fun chatting with all manner of people about current research.

At 16:30, I dropped in on Reynold in the amplab. He told me he was going to go to a meetup in San Mateo about Spark, and then visit his friend Yuri at AeroFS. He invited me to come along. So I grabbed slices of the Zachry's pizza and followed.

The Spark talks were interesting - apparently Conviva has gotten some excellent speedups from running Spark jobs rather than Hadoop for certain analytics.

We got to Palo Alto, joined Yuri and Mark and Weihan and a professor from U of Toronto who was visiting and walked down to Coupa Cafe. The discussion was pleasant and interesting.


Ankur, Annelise, Josiah, and I participated in the Palantir Superhero Academy puzzlehunt. It was fun, and the first time I've actually hunted alongside that group (everything else up until now has been writing or playtesting!). Our teamwork was excellent, and we got 2nd place overall and 1st among student teams (they also announced the hunt on the DASH and BANG mailinglists). A great way to end a week!

We finished two hours before the wrapup, so we went back to Cory Hall and worked on our own puzzle hunt and website a bit.

Oh, and we have weekly puzzles in the Daily Cal. Check 'em out.

When I got home, I worked on the Stripe CTF some more, finishing level04 and getting some ideas . I learned how to defeat ASLR. Despite the amount of security background I have, I'd never actually written exploits for C code. It was fun.


Spent the morning and most of the afternoon finishing the last two levels of the Stripe Capture the Flag. I'm quite proud of having completed it - it was a fun challenge, and I learned some useful details of some real systems. I can write my own pickle code now. I can defeat ASLR. I can abuse the kernel to win race conditions in userspace. And I'll remember how these tricks work when I create software, and I'll try not to let my code be vulnerable to such things.


Andrew and I went to the local Asian supermarket and bought 45 pounds of rice. Also, pork sung is delicious.

I finished implementing some C to read the Wiegand protocol from my RFID reader. The trick to getting things working reliably was to buffer the entire Wiegand transfer before putting any data on the UART. Now I can read the serial number from MIFARE cards. Fun times.

It's a good thing that I finished this project, though; I really need the desk space back. Quoth Matt:

"Heh, judging from your desk, an earthquake would set you back a week finding all the teeny components and shit you had strewn about."

...which is completely true. I need to clean up my desk pronto.


I realized somewhat recently that when I'm sitting here at my desk, my hands are within one cubic meter of 8 devices running a Linux kernel. Madness.