dynamic IPcomp
I just had a thought while reading over the KLIPS code and creating beautiful inkscape diagrams from it ([see previous post]{20060824145428})… Wouldn’t it be great if we had IPcomp that worked for all connections? Your cpu is always faster then the internet connection – or at least it has been my case for the last decade and a bit. So my idea was… why not have IPcomp on all the time. Assume the other host you want to talk to has IPcomp enabled for TCP and UDP. On the first packet we send, if they don’t understand it, they will hopefully send back an ICMP error and then we retransmit the packet uncompressed. For TCP that would be pretty trival, because TCP already retransmits. For UDP we would have to remember the IPs that we tried and have a way to hold the packets before the verdict is known.
inkscape++
I’ve never had to do any illustration work, so I never tried inkscape, even though it’s been around for quite some time. Today, I decided that I should make my flowchart in svg. It’s pretty easy to view and supposed to be supported by most browsers. Inkscape seemed the logical choice for doing svg images… even though I’ve never really used it, or any alternatives. My first impression was: wow someone actually thought about the users. Everything in inkscape is accessible via keyboard shortcuts… well, everything I tried to use so far.
tags/cscope for system headers
I love tags files for in coding, and enjoy using the tag feature in [vim]{tag/vim} as well as the derived tag-based completion. I do a lot of my development in the kernel, so all I usually have to do is put /usr/src/linux into my vim tags configuration. Sometimes I have to do some user space hacking too, and I often forget all the names of glib and pthread library functions. Having a system wide tags file is very very useful. Below is a Makefile that I carry around with me and place in /usr/include to keep my system tags in sync.
opteron 170, part 4
I am getting [sick]{20060805101941} [of]{20060803233234} [this]{20060802210126}. It froze again. So to date I have disabled swapped out the motherboard (but still have the same NForce4 chipset), enabled all sorts of debug features in the kernek, removed the Nforce4 network card (based on a hint on a web forum), and put in a PCI NIC. It’s still unstable. I had noticed that it never froze under console, just under X. The next attempt is to disable DRM. I did this through the xorg.conf… let’s see what happens next. I am no longer optimistic.
opteron 170, part 3
Over the last [few]{20060802210126} [days]{20060803233234}, I have been experiencing odd crashes. I have been able to narrow it down to network activity. Most of the time this has been triggered with NFS access; I assume that it has something to do with large UDP fragments; my MTU is 1500. The last couple of days I have had a serial console connected to the machine, and my laptop standing by waiting for another crash. It occurred, but something really bad happened because on the console I only got:
opteron 170, part 2
[Yesterday]{20060802210126}, I wrote about how my Opteron 170 was crashing at random times. Today I have a working system.
opteron 170
My new shiny Opteron 170 just came in. I used to say that Opteron 1xx line was a waste of money because it was basically the Athlon64 but more expensive because of the Opteron branding. Recently AMD made the choice easier by dropping dual-core Athlon64 processors with 2M of L2 cache. The last line of Athlon64 S939 will have a 512k L2 cache. That’s a mere 256k per core. And isn’t that only twice the size of the L1 cache? yuck! So, I blew the extra $300 on the extra 1.5M of L2 cache.
OLS keysigning / 2006
I think this year’s key post-keysigning-party work was the least effort ever. I wanted to write down the procedure for anyone interested. First a few assumptions: you have been given a file that contains the fingerprints and names of everyone that attended the keysigning party, you verified the file’s sha1 sum at the event, this file’s sha1 sum was verified at the event by everyone whose keys you want to sign, you trust that the people whose keys you are signing did not lie about checking the sha1 sum of the file. A tool that make sthings easier is caff and gpg-agent.
git-find findings
So I have a simple git-find working, and now I want to use it to rip out some patches I am interested in. The repository I am working on has a lot of uninteresting deltas in it that I don’t care about. I am actually only interesting in backporting an interface change in one file from the klipsng branch: $ git-find klipsng --file linux/net/ipsec/ipsec_sa.c ... This works as advertised, I get a list of revisions that altered that file. The current git command line parsing does not allow me to do much with this however.
starting on git-find
So I am giving myself some time to write a git-find script that I can use to feed commits to another tool, like git-graft (or git-cherry-pick). I don’t really know what I am doing yet, so I want to survey what is available in git-* tools and reuse as much of the available features.