The main paper from my PhD has finally made it through the publication process, and is available here (it’s open access so you don’t need an expensive subscription to read it).
I’ve been playing around in common lisp lately, and one feature I particularly
like is the trace macro.
trace is a macro which lets you easily log the
arguments and result of all calls to a function. It’s particularly handy for
visualising recursive function calls.
I’ve read some interesting debugging stories recently, so here’s one of mine. Hopefully it might help others who have similar issues.
It’s an old adage that you can’t secure a computer against people with physical
access to it. I was interested in this idea, so I was exploring what could be done
with only keyboard and mouse access to a typical Ubuntu machine (i.e. without
being able to plug in usb devices or pull out hard drives) when I came across
xinput test command. I’m sure this is old hat to anyone with a real
interest in security, and I’m sure there are plenty of ways to counter it; but I
think it’s interesting anyway.
I published a paper a while ago, but I’ve been pretty busy so hadn’t gotten around to figuring out the rules about posting it online. Anyway it looks like I’m allowed to host it on my personal website, so here it is!
Sometimes the way emacs utterly ignores standard unix conventions can be pretty annoying. In particular the fact that, unlike almost every other standard unix tool, you can’t give it
- instead of a filename and have it read from stdin has always annoyed me (yes, I know emacs came from lisp machines not unix, but it’s been used on unix machines since before I was born). So today I’ve final sat down and figured out how to hack around this limitation.
Update 2016-07-23: Updated the format of the udev rules for recent Linux distributions (in Ubuntu since at least 16.04, possibly earlier), thanks to an anonymous reader for the tip!
compile command. The setup required is not especially complex but could be mildly tricky to figure out for people new to emacs.
Edit: I’ve created a small emacs package based on this post.
urxvt is a lightweight, platform independent unicode-compatible terminal emulator. This is probably the least interesting of the various tools I’ve set up for programming so I thought I’d do it first.