Contributed by tj on from the other-theo dept.
Earlier this year gilles@ invited me to attend p2k16 in Nantes. This was going to be my first hackathon. Despite the fact that it is in the middle of the semester, I could arrange to take a week off and thus got the opportunity to finally meet a few members of the project.
Here are a few of the things I worked on:
- Since around Christmas I've been using an early version of Rafael Sadowski's port of profanity (a console xmpp client), which needed a little bit of tweaking before it could be committed.
naddy@'s gettext module removal earlier this month helped me figure out how to get the dependencies right. After a few more improvements suggested by sthen@, I committed it and thus earned my cheap excuse for attending a ports hackathon. With a clear conscience I could then leave the porting to those who actually know what they are doing.
- As part of the vax removal, jmc@ asked me to take a look into the libm manuals and clean out the vax bits. This wasn't all that hard and got committed way back in February. While I was there, I found myself scratching my head when I saw things like this piece of beauty in the exp(3) manual:
.if n \ \*(If. .if t \ \(if.
For some arcane reason this produces "infinity." Luckily, Ingo suggested to use the version which is easier for humans to parse directly. With his help, I could convert quite a few similarly beautiful *roff gems and the result is that the libm manpages now render slightly more beautifully and consistently.
I learned a lot while doing that. For example: at some point somebody thought that n looks just like pi. Right. Unsurprisingly, then, o is a small phi and C is of course a lower case zeta, what else? 'LC_CTYPE=C man mandoc_char' will show you quite a few ASCII approximations you'd never have suspected.
- I decided I needed to do some FAQ whacking to recover. With tj@'s help, I managed to finish the FAQ on building the system from source and did a bit of minor polishing of the networking FAQ.
- Theo explained to me and eric@ some of his new ideas on pledge and privsep and he wanted me to look into it a bit more closely. It turned out that claudio@ already implemented that idea for bgpd way back in July and that he had the conversion of a few other routing demons on his todo list. Since renato@ announced that he would do this for his demons, I guessed that this was in far more capable hands and that my help is probably not immediately be needed there.
- I then sat down to fix some pledge fallout related to opendev that was discovered a while ago by espie@, but before I could really get started, stsp@ wanted me to check some math in the wireless network stack.
I had already looked at that particular part of the code when I helped stsp@ with testing some diffs that tried to fix some problems of the initial 11n support with Apple AirPorts, so it didn't take me too long to get started again. While reading the relevant part of the 802.11-2012 spec, I noticed that one particular corner case wasn't implemented properly. Turns out that, as a result, we occasionally dropped valid frames that we shouldn't have dropped. I then watched and helped stsp@ implement that case at the speed of light and the second attempt was already correct. We tested it quite a bit on the very noisy network in the hackroom, and then stsp polished and committed the code. Hopefully it's not just the two of us that will notice a bit of an improvement in that area.
To sum up, I had a lot of fun, far too much good food and still managed to get some work done at this hackathon. Some of the stuff that I wanted to do will need to wait a bit longer, such as: fixing the opendev pledge stuff and trying to look into lynx's pledge a bit more closely.
Thanks a lot to gilles@ and the Epitech in Nantes for organizing this hackathon, and to all the other attendees for making this event so productive and fun. It was awesome.
Thanks for writing in, Theo!
(Comments are closed)