VerySillyMUD: Unit Tests

This post is part of my “VerySillyMUD” series, chronicling an attempt to refactor an old MUD into working condition [ 1 ]. In our last episode, we encountered a function we needed to refactor: Only trouble is: we don’t have unit tests in place, and I don’t really have any idea what this function is supposed to be doing. Looks like we have to get some tests! Now, I am used to the wonderful JUnit family of unit testing frameworks, but it’s unclear which C unit testing framework to use.

VerySillyMUD: Cleaning up the Warnings

This post is part of my “VerySillyMUD” series, chronicling an attempt to refactor an old MUD into working condition [ 1 ]. In our last episode, we discovered a bug that the compiler had actually warned us about, but which we ignored because we were trying to just fix errors and get on with running the game. Lesson learned here; time to go clean up all those warnings. As there are a lot of them, and they are likely going to be somewhat repetitive, I will just highlight the particularly interesting ones here.

VerySillyMUD: A Lesson About Compiler Warnings

This post is part of my “VerySillyMUD” series, chronicling an attempt to refactor an old MUD into working condition [ 1 ]. In our last post, we managed to get the MUD executable to build, and attempted to run it, with somewhat lackluster results: Fortunately, we get a file and line number with this error, so let’s take a look: Hmm, we seem to not be able to change into whatever directory is represented by dir.

VerySillyMUD: Remaining Compilation Errors

This post is part of my “VerySillyMUD” series, chronicling an attempt to refactor an old MUD into working condition [ 1 ]. In this edition, we’ll try to fix all the remaining compilation errors. The next error we have is in handler.c: As before, we’ll fix this by converting it into a comment. The code clearly isn’t used, but this is an unfamiliar codebase so I don’t want to throw code away (yet).

VerySillyMUD: Compilation

This post is part of my “VerySillyMUD” series, chronicling an attempt to refactor an old MUD into working condition [ 1 ]. The first goal is just to get the thing to compile. The source code is early 1990s C, and I have this C compiler on my computer at home: The compiler doesn’t quite like the source code here; it generates 21 warnings and 20 errors on the first file when we run make!

VerySillyMUD: An Exercise in Refactoring: Intro

When I was in college, I played a MUD called SillyMUD, which was in turn a derivative of DikuMUD, which was written by Sebastian Hammer, Michael Seifert, Hans Henrik St√¶rfeldt, Tom Madsen, and Katja Nyboe. I happened to mention it to one of my kids, who expressed interest in seeing/playing it. I found an old source code archive of it, and it turns out it was distributed under an open source-style license Unfortunately, it doesn’t even compile as-is, and as I recall there were several scalability and memory bugs present in the codebase even when I played it.

Notes from QCon New York 2015

I had the opportunity to speak–and hence, attend–QCon New York last month and thought I would share some highlights and notes from some of the talks I was able to see. Overall, this remains a high quality conference, with multiple sessions where I had to make tough choices about which talk to attend. I was not able to attend talks every session due to responsibilities from the “home front” at work, and did not always take notes (sometimes I just listened and tweeted particular points).

Does JQuery expose a monadic interface?

Pam Selle raised an interesting question on her blog recently: does jQuery expose a monadic interface? I’ll interpret this as specifically asking: are jQuery containers monads? This was such an interesting question that I decided to investigate it more thoroughly; one can never have too much practice figuring out how monads work, in my experience! There are a couple of formulations of monads; both have in common that there is a container type M that “wraps” plain data values in some fashion.

Installing Ubuntu on an old Macbook

[Update: This post is turning into a lab notebook more than anything, and I’m mainly just recording it here as someplace convenient, with the idea that someone might find it useful someday.] I have a 2008-vintage Macbook for which OS X no longer seems to be a good option: I managed to get it upgraded to OS X 10.7 (which was not straightforward), but I think the hardware is a little underpowered at this point.

Hackday Project: tarpio.us

I saw this tweet from @kellan that got me to thinking: It would be useful if Tent.io could describe itself in the world of protocols I know, particularly PuSH, XMPP, and SMTP. I think the notion of a distributed social network is an interesting one, and I’ve been pondering how it might work. I think I’ve got a scheme for one, which I’ll outline in this post, and I think it might not take that long to throw it together with off-the-shelf open source and a dedicated hack day.