summaryrefslogtreecommitdiff
path: root/posts/gnu30.md
blob: 3d42bf36f40d4db94df64a67e0a3f96fbc0591ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
title: GNU 30th Anniversary Hackathon
date: 2013-09-30 22:00
tags: gnu, fsf, free software
summary: Happy birthday, GNU!
---

I spent my weekend at MIT at the GNU 30th anniversary hackathon. I had
never participated in a hackathon before and was excited to see what
it was like. Developers from many GNU and non-GNU projects were there
to hack and help others get involved, and RMS was there to give the
keynote speech.

On Saturday, I spent nearly the entire day in the GNU FM room. About a
year ago I wrote an
[installation guide](http://bugs.foocorp.net/projects/fm/wiki/How_to_install)
on the GNU FM wiki, and so Matt Lee asked me to walk some newcomers
through getting a development environment up and running. I was able
to help four people with this. They all had a functioning GNU FM
server and they were able to scrobble their music to it. Setting up
GNU FM can be quite a pain, and the guide I had written was missing
some information and gave some bad advice. I simplified and rewrote
some of it so that it’s easier to follow. Hopefully this will benefit
a future contributor to GNU FM.

At 5PM on Saturday, RMS gave a talk about the future of free software
and the GNU project. He discussed the value of reverse engineering
proprietary applications and device drivers in order to write free
replacements. He also talked about the dangers of
software-as-a-service and the “iThings”. His
[new article](http://www.wired.com/opinion/2013/09/why-free-software-is-more-important-now-than-ever-before/)
on Wired covers much of the same subject matter. After his speech, he
raffled off a stuffed baby gnu and an “adorable” GNU 30th anniversary
mug. Chris, owner of ThinkPenguin, won both items! After the speech
came the reception in which I ate some delicious vegan cupcakes and
acquired two 3D printed gnu logos that were sitting atop each
cupcake. After the reception, I briefly went out to a pub with Matt
Lee and Matthew Garrett. Donald Robertson of the FSF joined in later.

On Sunday, I spent the first couple of hours helping out more with GNU
FM because Matt Lee was sick. For lunch, I went with a large group to
a chinese restaurant. Included in the group was the John Eaton, the
GNU Octave author, and Zak Rogoff, Campaigns Manager at the FSF. It
was interesting to talk to John about the challenges that he faced and
continues to face when trying to keep up with Matlab and maintaining
compatibility even when the Matlab engineers make bad design decisions.

After lunch, I met up with Mark Weaver, one of the GNU Guile
developers. He helped me write my first patch for Guile: a new REPL
option called “read-wrapper” that allows external code to hook into
the part of the REPL that waits for user input. Guile-2D needs this
functionality in order to create a REPL that plays nice with the game
event loop. Since the main thread is in an event loop, waiting for
user input at the REPL prompt would stop the game entirely. To get
around this, we used the “read-wrapper” option to pass the procedure
that reads user input into another thread so that Guile-2D’s event
loop can continue running. We achieved this functionality in less than
100 lines of code. This hack showed me how great it is to use a
language with first-class continuations.

tl;dr: The hackathon was a great time. Happy birthday, GNU.

![GNU 30th logo](/images/gnu30.jpg)