Sex, software, politics, and firearms. Life's simple pleasures…

Main menu

Post navigation

From Dave in my basement

Dave Taht is in my basement trying to use GPSD to set up NTP-independent time service on an WNDR3700 router, and having some problems. I’m upstairs teaching GPSD to emit a clock-drift message – both projects are because we’re trying to build a monitoring framework for accuracy-checking NTP. The following IRC exchange ensues:

[11:31] dtaht2 looks like I have an underconfigured gpsd, miscompiled gpsd or ntp
[11:32] dtaht2 OR does gpsd not provide time until it gets a full fix?
[11:32] esr That's correct.
[11:33] dtaht2 yes, in terms of 'or' statements, the above evaluates to 'true'. However... which?
[11:33] esr Some devices report time from one satellite but you can't count on that. Most won't report time without 3 sats in view and good enough SNR.
[11:34] dtaht2 cgps does report the time, so this particular device is
[11:35] esr OK, you have a problem somewhere else in the chain. And a learning experience just ahead of you.
[11:35] dtaht2 and a dark tunnel ahead. There may be grues.
[11:36] esr Take your flashlight.
[11:36] dtaht2 w;w;w;
[11:36] esr You see a rusty wand with a star on one end.
[11:37] dtaht2 get wand; wave aimlessly
[11:38] esr Nothing happens.

Actually, I went downstairs and said the last line to Dave rather than typing it. He then laughed immoderately.

If you failed to understand the above, you are probably a normal human being and not an unregenerate geek who spends too much time in basements. This is sad for you.

58 thoughts on “From Dave in my basement”

I am a lucky man. Not only did my wife understand and laugh at the Zork references but thought the comment about “in terms of ‘or’ statements, the above evaluates to ‘true’. However… which” to be hilarious.

As I understand it this will harmonize their frequency usage with AT&T, as well as standard practice in Canada, Latin America, and Europe. That should lower costs for phones since you don’t need to make different models for different carriers and make it much easier to use unlocked phones.

And if you follow the link in the article to the actual T-Mobile press release you find the interesting line “More than 90 percent of T-Mobile device sales in the fourth quarter were 3G and 4G smartphones. As data usage and smartphone adoption accelerate, fewer customers are utilizing 2G services.” The switch over of the old dumb 2g phones to smartphones, which in T-Mobile’s case are basically all Android phones, seems to be going very quickly for T-Mobile.

Choosing to verify the accuracy of NTP servers using GPS data as a Saturday project. Check.
Discussing said project with someone in the same house using IRC. Check.
Peppering discussion with Zork references. Wow, Check!

Finish this off by finding and correcting a bug in gpsd and you, sir, win the Internet.

>Choosing to verify the accuracy of NTP servers using GPS data as a Saturday project.

Alas, this isn’t a Saturday project. Those of us working on the bufferbloat problem have had dark suspicions that bufferbloat-induced latency spikes might be screwing up NTP service. To check this possibility, we need to equip a bunch of routers with a common high-precision time service and then watch how common time compares to NTP time.

I’m involved because GPSD is a pretty obvious candidate for providing common timebase. Dave and I have been poking at the time-profiling problem intermittently since last April, running into all kinds of boring friction. But we’ve reached the point now where I think I know how to get approximately 50-microsecond timebase accuracy out of $36 hardware, which way too much slop for most precision-timing applications but just fine for profiling NTP latencies in the 1-10millisecond range.

Actually, if anyone in this house wins the Internet, it’s Dave. He recently got some TCP/IP buffer-management changes into the Linux kernel that kill its bufferbloat problems and reduce measured packet latency by two orders of magnitude. This has shifted our aim a bit; now we’re less worried about edge-of-network problems and more focused on mapping latency problems in the core routers.

As soon as I saw the words “dark tunnel” I instantly thought, before reading the rest of the sentence, “there may be grues” and it crossed my mind briefly to type “light torch”. Alas, I suspect some of the younger readers here may not get the references.

I am truly blessed. I had a good laugh at this one, then showed it to my husband, and *he* had a good laugh. All-geek family, yes!

I don’t think I’ll every really understand “normal” people. Their lives seem so boring from where I sit.

(Written after spending 8 hours or so over two days repartioning the drive on a new PC, installing Linux, installing and compiling various other software, and chasing down a weird failure to recognize the keyboard on boot that turned out to be interference between the USB keyboard and USB joystick…)

A note: “I” did not get the new stuff related to bufferbloat pushed up into the upcoming Linux 3.3 kernel. I merely recognized that Tom Herbert’s new ‘Byte Queue Limits’ (BQL for short) enhancement could scale well down into lower bandwidth regimes, proved it, and then multiple kernel devs lept all over it, notably Eric Dumazet. So in mid-november or so, BQL got slammed it into the kernel, exposing and then fixing a multitude of other network scheduling bugs, (RED had been busted for 3+ years), and while eyeballs were on the code, SFQ got seriously modernized using (in part) ideas that had been discarded as ‘too costly’ back when it had been designed in the 90s, as well as a few newer ideas added. The culmination of that work was a new network queuing discipline called ‘sfqred’, which adds valuable ideas like head drop, flow and queue length management, and ecn into the mix.

There’s device driver support for 6? 7? of the most common more high end network cards in there, and the results can be very impressive – actually the combination of BQL + some variant of SFQ can reduce inter-stream latencies by well over 2 orders of magnitude, when the network is under load.

Best of all the code works well on multi-core servers and desktops and related devices, making using the modern internet less annoying in the general case under more normal spiky loads.

BQL ‘just works’ by default, but a little tuning helps below 100Mbit.

As for the net effect of all this on routers… don’t know, am working on it. While SFQRED looks promising it appears to optimize for bittorrent in a way I’d prefer it not to. So maybe indeed I’d ‘win the internet’, but have to give it back for tax reasons.

But there are other things in the pipeline from kathie and van that are even more promising than that, and if nothing else, I’m reasonably sure that most of the bugs in the rest of the network stack are squashed enough for network theory and linux reality to line up, once again.

@Dave: Is there an article-length writeup of how BQL and SFQRED work and which cards they’re relevant for? This sounds like something I’d like to use and preach in my capacity as a network-design consultant, but I don’t have confidence that I can build a mental model of the dynamic system from the driver code.

I never quite understood the Geeky fascination with these crappy old text adventure games. Lets face it, they really sucked. You really wanna play nethack (or god forbid Hunt the Wumpus) instead of the most basic Wii game?

Or perhaps you don’t actually play them, it is more like a shibboleth. “Can you believe this n00b doesn’t know what a wumpus is? Gnarf, gnarf, gnarf. Someone toss me a can of Jolt and a twinkie.”

It is like nostalgia on steroids. Kind of like getting your fix of you childhood teddy bear or something.

I think text adventures retain significance because they are relics of a time when computer games were a product of, and for, hackers and other geeks. Not the products of hundred-man teams working nights and weekends to meet a deadline set way upstream by publisher execs who insist that “Call of Nature: Modern Latrine 2″ ship before Christmas, aimed at an audience of frat boys and unsupervised ten-year-olds.

As I said in another thread, hackers created this medium and it is our unique gift to the culture of the greater world. These early artifacts are important to that medium for precisely the same reason that, say, Plato and Aristotle are important to Western civilization. Philosophy has evolved and improved way beyond Plato and Aristotle, but they laid the groundwork. Similarly, Spacewar laid the groundwork for modern shooters; Wumpus and ADVENT laid the groundwork for modern RPGs like Final Fantasy and Skyrim. In addition, these games — alongside rare occasional newer games like Doom which have been explicitly open-sourced — are exemplars of the medium which can be legally preserved across hardware generations and people-generations, the current copyright regime rendering most video games ephemeral (or else available as Live Arcade purchases so that you can pay to continue to play the game you already bought on hardware that hasn’t aged into decreptiude).

Besides, “the most basic Wii game” is probably some shovelware tie-in like Hannah Montana’s Wiggle Concert or something. do you really want to say that that is better than Wumpus, which requires a bit of strategy and thought, because GRAPHICS and SOUND?

No, they didn’t suck. They used the player’s own imagination as a peripheral. They were literature, and at their best had the evocative power of literature. Hence their persistence among hackers too young to have seen the original implementations.

Young whippersnapper that I am, I share your opinion of the actual text adventure genre (games that present the world through natural-language descriptions, and take input in the form of typed-out commands), but I might have to challenge you to a duel for lumping Nethack (and the roguelike genre in general) in with text adventures. Yes, they use a text mode display, but they portray the game world symbolically rather than descriptively. And yes, I would rather play a roguelike than most console games (Wii or otherwise).

I think part of the issue is that geeks tend to value intricate gameplay over fancy graphics (which isn’t to say that fancy graphics can’t be a nice feature, just that it’s not necessary for us to enjoy a game, and that fancy graphics alone doesn’t impress us).

Nostalgia is probably somewhat of an element, but there are text-mode roguelikes in active development to this day, so it’s not all of it. For me personally it doesn’t really come into the equation at all: There are old graphical games for DOS that I play with more of a sense of nostalgia than any roguelike.

Jon Brase
> but I might have to challenge you to a duel for lumping Nethack (and the roguelike genre in general) in with text adventures.

I know I already outstayed my welcome on this one, but really? In fairness I have never actually played Nethack, but I did play larn which seems to be the version with an actual story and real quest. But it was hardly great. The quest was pretty basic — it was still basically whack as many orcs as you can, and steal their treasure. Most console games have more plot in their sub-sub-themes than these games have in the whole thing.

I should issue the disclaimer that I hardly ever play computer games so I really have no idea what I am talking about. Feel free to ignore that mumbling chick in the corner.

>The quest was pretty basic — it was still basically whack as many orcs as you can, and steal their treasure.

I was a nethack developer for many years. There are puzzle and narrative elements that become more significant at deeper levels. But in general you’re right, the story in nethack is relatively weak. The appeal is supposed to be in the tactical problems.

One of the reasons why old and middle aged fogeys have a deep fondness for those games is that they represent the Internet before the Unending September.

Prior to roughly mid 1994, the Internet had a tradition: September would roll around, idiot freshmen would get their university supplied internet accounts, they’d be rash, crude, make horrible mistakes and over the course of the first two semesters, become acculturated into the internet culture as it existed then. One of the ways you turned a USENET newb into an Internet afficionado was by showing him IRC and Rogue and NetHack.

Then in July 1994, AOL gave everyone on the service access to USENET. And it was like September. All. The. Time.

I remember this turning point, because prior to that, I was a USENET administrator trying to make a USENET node run on a 386 using BSDi, with a whopping 4 MB of RAM and a trio of disks with 24 MB of storage. Because USENET access was how small ISPs differentiated from AOL.

(I was also probably the punch line of a few jokes on the Internet – “Hey, at least you’re not that poor idiot in Arizona trying to…”)

> I remember this turning point, because prior to that, I was a USENET administrator trying to make a USENET node run on a 386 using BSDi, with a whopping 4 MB of RAM and a trio of disks with 24 MB of storage. Because USENET access was how small ISPs differentiated from AOL.

a “USENET administrator”? What is (was) that? What, you ran expire and unclogged the NNTP/UUCP feeds?

In the days of BSDi, (1992-1994) 4MB of RAM was the functional minimum.

I particularly am fond of roguelikes for the never-the-same-game-twice aspect. The games are simple, but they are often gorgeous examples of procedurally generated game words and are awash with emergent gameplay. That’s what they are at heart: pure gameplay, at the expense of visual and narrative. Blizzard took the same concept and slapped a grimdark story, some pretty pictures and nicely-rendered videos onto it, and called it Diablo. Game design lessons from that and its sequel went on to make much of the core gameplay of a little thing called World of Warcraft.

Text adventures, well… I take issue with all the past-tense talk here, heh. There’s still a fairly vibrant niche community of interactive fiction authors. Many works are pure art, with both powerful storytelling and some ingenious game mechanics that would be difficult at best to implement in a less textual medium. And due to the low development costs, they actually thrived and continue to do so in places like Japan in the form of visual novels.

> I’m involved because GPSD is a pretty obvious candidate for providing common timebase. Dave and I have been poking at the time-profiling problem intermittently since last April, running into all kinds of boring friction. But we’ve reached the point now where I think I know how to get approximately 50-microsecond timebase accuracy out of $36 hardware, which way too much slop for most precision-timing applications but just fine for profiling NTP latencies in the 1-10millisecond range.

Let me know when that’s ready — I’d be happy to help test / debug. Even better if we can implement an NTP driver that uses it as a time source.

Wait a minute: I thought that Eternal September was supposed to have begun in 1993, not 1994. Then again, I’ve only heard that by way of second-hand accounts, as I was a first-grader who had never touched a networked machine at the time (and a good thing too: I thought it was cool to hold a key down until the keyboard buffer filled up and the machine started beeping at me. Imagine what kind of Usenet posts I would have made).

I really miss Usenet. I’ve had some wonderful discussion there with a wide variety of people worldwide. It’s a great place to find gatherings of people with an interest in otherwise-obscure subjects. Just take a look at the list of Usenet newsgroup names to see this.

None of the alternatives (Google+, Facebook, Yahoo groups, various single-topic websites) have ever quite replaced it for me.

I have been asked by a very well known and beloved publication to write an article about these advances but until I get some lab time I’m reluctant to attempt a comprehensive overview of the effects and benefits and flaws, and would hope for the principal authors of the code to do most or even all (and leave me out of it!) of the heavy lifting. (I am rather intimidated by said publication) As it happens we all will be in california together next month and perhaps we can make it happen.

To give some hint as to the various threads pulled together in the new 3.3 stuff:

is an excellent piece of computing history, and
had multiple good ideas discarded then in it as too computationally intense, that are implemented in 3.3. As one example, permuting the hash now takes place asynchronously thus eliminating the latency spikes (or so I expect, haven’t really looked at it) noted in older versions of the code, here:

I’m not aware of a good pointer to the lit. regarding the value of random head drop vs anything else, similarly ecn is rather underanalyzed of late (but when it’s on works GREAT now)

Summarizing all this in one paper is going to be hard, and we may well have introduced at least one instability with soft bandwidth limiting in play that needs to get fixed, and someone with more chops

but all that said, I run this stuff day in and day out now, and it makes using the modern internet and doing multiple things much less annoying. I don’t know how to quantify that very well.

I found great amusement in this post when I read it this morning, even if a few details did go over my head a little.

Regarding the whole discussion about text-based games, roguelikes and nostalgia, as a young whippersnapper on the outside looking in, I think there’s still a lot to get out of such games. In many ways their simplicity and focus on gameplay over presentation, the often quirky humour or creative design choices within how the games play is all quite refreshing to a youngster like myself, a little jaded with the current industry.

Text-based adventure games are still relevant and enjoyable to this day. The point about needing a good imagination to truly benefit has already been made and as an avid reader when I was younger, text-based games are an interesting blend of media to me.
The basic structure of such games means the creators can invest more energy in creative puzzles and building the gameworld. Moreover such games form a good beginning exercise for would-be game programmers and are excellent examples of how to engage players without needing beautiful graphics, a haunting soundtrack or award-winning storyline.

Roguelikes are very…interesting to one of my age and nethack in particular fills me with a strange curiosity whenever I play it. On the surface it seems to be fairly simple and cliche with just some slight control adjustments required. But even the most cursory of examinations reveals a game of countless layers, references and ways to play. I confess to massively sucking at roguelikes and thus have barely scratched the surface but what little I’ve seen is quite honestly amazing.

To say that “the dev team thinks of everything” would be ludicrous and yet I find myself tempted to say so. There is a lot more flexibility, replayability and thought gone into this game than any commerical game I can recall. With the lore, quirkiness and humour added into that package, you get a very interesting insight into the hacker tribe. The games they regard fondly reveal a lot about them…

But eh, I’m part of a generation raised on colour screens with the pointing and clicking and the mobile phones and the wireless network connections and the toasters running BSD so what do I know?

>To say that “the dev team thinks of everything” would be ludicrous and yet I find myself tempted to say so. There is a lot more flexibility, replayability and thought gone into this game than any commerical game I can recall.

/me takes a slight bow

It’s been many years since I was a nethack dev, but…we did work hard at achieving the qualities you describe.

I think your summary of the virtues of text adventure games and roguelikes is well considered and well expressed.

For those of you who have played nethack, my contributions included (a) teaching the map display to use forms characters and color (this was in the 1980s, when color was still a pretty novel feature), (b) writing the manual (which I believe still has my name on it), (c) blindfolds, and (d) the capability to play music during certain puzzles (the device driver I wrote to support that later became the speaker driver still used in BSD Unixes).

the device driver I wrote to support that later became the speaker driver still used in BSD Unixes).

Heh… I remember, from while I was toying around with NetBSD and digging through kernel code trying to figure out how to get my speaker to stop squealing at about 80dB whenever I tried to backspace past the beginning of a line in my shell, coming across that attribution, and shouting “RAAAAYMOOOOOND!” in the manner of Captain Kirk cursing Khan.

I can’t speak for all variants of the game, but for 3.4.3 the guidebook (located on my drive at /usr/share/doc/nethack/Guidebook.txt) does indeed still have your name displayed at the top.
Whilst I can’t comment on your work regarding colour (as I’m fairly used to this once novelty) or music (I have yet to encounter any audio puzzles in my descent), I can praise the blindfolds and the whole blindness mechanic in general.
Being blinded is always a massive pain for me but at the same time I enjoy the added difficulties it presents, the uncertainty of whether I’ll be able to survive, whether or not my attempts at identifying the object at my feet will result in my petrification or death…and, if the blindness was caused by cursed items or rotten food, there’s the desperation to survive and hope it wears off or I find a way to remove the cursed article. It’s just one of those things about the game that left my mouth open for a good few moments when it registered properly.

>How in the holy leaping fuck did *that* linkage come about? I mean…userland…kernel…huh?

Perhaps its not my place to say this but with what little I’ve seen of the free unixes, sound always seems to be the area filled with strange behaviour, odd mutations, brain-dead workarounds, ancient curses and obscure hexes lost in spaghetti. Admittedly I’ve had limited use of any of the BSDs but all the same, the state of sound on unix-likes today is certainly sub-optimal and quite baffling to inexperienced. Reading through the history of sound on Linux, at least, proved to be an enlightening (albeit painful) experience.

It’s not dead just yet, though certainly a shadow of its former self. Still, after a hiatus of years I went back to find signal to noise seemed much better than it used to be. An insightful person whose name I can’t recall once commented that, with the major ISPs all dropping support for it, September has indeed finally ended.

An observation: Usenet presents an interesting historical artifact, a community for which a nearly-complete record exists in a standardized format. A project I keep kicking around the back of my head is to write something to do analysis of usenet archives and chart historical personas, flame wars, population trends, etc. Unfortunately the only archive containing the time periods I was interested in is Google’s, and they only expose the web interface. Which didn’t take kindly to my attempts to scrape it.

A shame, because I think there’s something fascinating to be seen there.

Hunt The Wumpus wasn’t really that interesting as a game. It was interesting as a good example of a computer game that was simple enough that a beginner could read the source code to figure out how it worked, but sophisticated enough to plant the idea in the beginner that this programming stuff wasn’t so hard. So it holds a place in people’s hearts like the first real song you learned to play on the piano.

Perhaps its not my place to say this but with what little I’ve seen of the free unixes, sound always seems to be the area filled with strange behaviour, odd mutations, brain-dead workarounds, ancient curses and obscure hexes lost in spaghetti. Admittedly I’ve had limited use of any of the BSDs but all the same, the state of sound on unix-likes today is certainly sub-optimal and quite baffling to inexperienced. Reading through the history of sound on Linux, at least, proved to be an enlightening (albeit painful) experience.

Like a lot of other blanket statements about Unix, Mac OS X is the exception that proves the rule. Currently it’s pert-near your only choice if you want to do pro audio.

@A:
“[Usenet is] not dead just yet, though certainly a shadow of its former self.”

Oh, I know it’s still accessible through Google Groups. If the S/N has improved, perhaps I should go back to some of my old haunts. Every now and then when I’m bored, I’ll use the archive function to go back and read some of the great debates I was engaged in 15 years ago. :-)

I was more referring to independent news servers like eternal-september.org or similar. GG works but isn’t all that suitable for taking part. (no filtering, crap interface, like most web replacements for older tech…I don’t think they have spam filters either, not sure though) Nice for archive diving, though, as you say. One of these days I should go look up my first few posts.

I currently read comp.lang.scheme through Google Reader; it’s easy to subscribe to a Usenet group using any RSS/Atom reader using the template http://groups.google.com/group//feed/atom_v1_0_msgs.xml . Probably changing the last element of the path will produce other formats.