Rough network queues added

Sepherosa Ziehau has added a sort of queuing to altq, where TCP ACKs get higher priority.  You may have seen this in any number of pf configurations, where returning data is given its own queue to keep high-volume transfers from slowing themselves down because the acknowledgements can’t get back to the sender.  His commit has statistics on the performance improvement.  He also added a ‘netrate‘ tool for calculating results from using netperf.

Symbol versioning coming in, also buildworld

If you’re using DragonFly 3.5, your next update should be a full buildworld.  That’s because John Marino is adding the framework for symbol versioning.  This means that individual library (.so) files will internally keep track of newer and older symbols.  The current behavior is to name the files differently, which can cause problems if an expected, linked file is missing – even if the needed symbols are present.  The basic framework is being added now, and will be turned on all at once, to minimize the number of times that full buildworld is needed.

Old amd64 removed and extra upgrade step added

The ‘amd64’ specific parts of kernel architecture have been removed, since x86_64 covers all that.  As a side effect of other changes, John Marino warns that upgrading DragonFly from a version older than 3.4, to a version newer than 3.4, will require an intermediate step of going to 3.4 first.  e.g. If your machine is a DragonFly 3.0 system, you will need to upgrade to 3.4 before moving to, say, 3.6 once it is out.  This won’t matter for some months, since the next release is months off.

Lazy Reading for 2013/06/09

Not as wordy this week, but still wordy.  And linky!

  • Max Headroom and the Strange World of Pseudo-CGI. A discussion of how old fake CGI can look better than modern, real CGI. This is an opinion I’ve had for quite a while, and my children pretty much ignore it every time I bring it up.  (via)
  • The Colby Walkmac, which predates the Mac Luggable.  Linked to because it includes good pictures of what the (external) hardware was like.  I find all the old ports interesting, since it’s all USB and the occasional eSATA these days… not that I’m complaining!  I’ve never had a good experience with a 9-pin serial port.  (via)
  • A brief education on escaping characters.
  • I get worried when remotely rebooting a server in a different town or even state.  In Praise of Celestial Mechanics covers much more stressful circumstances: interplanetary reboots.  Does Voyager 1 or 2 have an ‘uptime’ function?
  • The equivalent of what you are doing right now, 20 years ago.  I personally never got to see this; my experience was MUDs.  Speaking of which…
  • The Birth of MMOs: World of Warcraft’s debt to MUD.  MUD == MMO, Roguelike == Diablo/Torchlight, Doom == almost everything else.  There’s a number of game archetypes that haven’t changed in some time.  (via)
  • Playing with powerlines.  I used to work at a company that used these lines for data transfer.  It was neat technology, but it sure wasn’t easy to set up.  Imagine wiring a city but only being able to use Ethernet hubs.  Not switches, hubs.  That, combined with undersized ARP caches/MAC tables, made it really difficult.
  • OpenVPN on FreeBSD, which will come in handy for at least several readers, I’m sure, as the directions should apply to any BSD.
  • Is there anything DNS can’t be used for?  Cause now it’s domain-based mail policy publishing.  (via ferz on EFNet #dragonflybsd)
  • Have you tried DragonFly?” posts on various forums seem to pop up with some regularity.
  • Uses of tmux, explained.  A slide show talking about how tmux works.  (via)

Unrelated link of the week: I’ve had several deadlines and a mail server with issues this week at work, so this is all I got.

Getting dports without pkg installed

I pointed out in my converting-to-dports post from yesterday that I had to download dports and build pkg by hand in order to install binary packages.  This was because my DragonFly system was upgraded from 3.2 to 3.4 and therefore didn’t have pkg installed.

John Marino has added a ‘pkg-bootstrap’ option to /usr/Makefile, for fixing exactly that problem.  It downloads a static version of pkg, which then lets you upgrade to the full pkg and install binaries as you’d expect.

Switching to dports software

I changed over from pkgsrc to dports over the last 48 hours or so.  Here’s how it went, in a series of bullet points:

  • I had to download dports source and build the pkg tool by hand; since this system was upgraded from DragonFly 3.2 to DragonFly 3.4, pkg wasn’t automatically present as it would be for a new installation.
  • I took the output of ‘pkg_info’ and culled it down to the applications I knew I used, and that formed my ‘to-install’ list for dports.  That worked in a very straightforward way.
  • It took so long mostly because of two things: I was also dealing with an email problem at my workplace, which usually took precedence.  Also, I had several applications that I had previously installed by hand and needed to reconfigure to work as a dports item.
  • Installing from binaries is really fast!  Really, the dports part of this was possibly the most brief.
  • The only thing I needed to compile from source was php, in order to get the Apache plugin.  I’m sort of surprised the option isn’t on by default.
  • Using ‘pkg search packagename’ is a good idea, because ‘pkg install’ can pick up multiple versions of a package.  e.g. ‘pkg install mysql-server’ selects mysql-server51, mysql-server55, and mysql-server56.  You probably don’t want to install all three.  Or even one, depending on your opinions.
  • Overall, it went more easily than I had expected, given it only had half of my attention.
Lazy Reading for 2013/06/02

Last week was a lot of very brief links.  I’ll go for verbosity this week…

  • Regular expressions and regular grammar.  I hope you like detailed explanations.  I’ve said it before: you should understand regular expressions.  The difference between knowing and not knowing is sometimes the difference between knowing how to finish a project, and being hopelessly swamped.  (via)
  • A plea for less (XML) configuration files.  From the same place.  I don’t advocate rejecting XML files out of hand like some people, but I think you need to have a certain existing level of complexity already in your program before you use XML.  For example, so complex that nobody will notice some XML sprinkled in there too.
  • Where Looks Don’t Matter and Only the Best Writers Get Laid, a talk about the Internet from roughly the late 90s to the 2000s.  Some parts of this get farther into political notes than I usually care to read, but I like the point made with “Many women and men alike are using, not building, the web.”  I am frustrated by how the Internet is effectively one-way transmission for so many, like TV.  (via I forget, sorry)
  • Bringing Unix commands to a Windows world.  It’s about Cygwin.  I’ve installed Cygwin a number of times, but it’s such a strange hybrid I eventually stop after using it for whatever specific reason caused the first install.  These days, it’s almost easier to set up a virtual machine on a Windows system and just switch over as needed.
  • The Weird Stuff Warehouse.  How much does this look like your basement?  I like looking in stores like there cause there’s always some hardware item that seems to be worth resurrecting.  (via)
  • Open Source Game Clones.  I feel iffy about these things.  This tends to be viewed as “I want a free game”, not “I want the right to modify a game”.  Also, you could argue it takes revenue away from the original artists who work on a product when it copies the original game methodology, reducing the incentive to produce.  That could be debated, but I am certain of this: I wish people tried original rather than rehashed ideas in open source, because it has a much lower threshold for success.   You don’t need a studio to tell you when you can be published…  which is sort of the idea behind “indie gaming“, I suppose.  (first link via)
  • Remember those old not-a-desktop-not-a-laptop computers?  They looked like this image I saw recently.  I actually learned to use vi in a mild panic on a Sparcstation Voyager, which would be another device in that land between categories.
  • SSH Tricks, found by accident while I was searching for how to do per-host configs in ssh, so that I only had to type a short name and leave off the long suffix (like when connecting to a server.  Someday I might even get remote port forwarding over ssh correct.
  • USSR’s old domain name attracts criminals.  Somehow I doubt you can identify a criminal site by domain suffix that easily.  (via)

Your unrelated link of the week: Massive Chalice, a Kickstarter for a new strategy and tactics game.  It’s by Double Fine, who has made some fantastic stuff, and it has permadeath, turn-based combat, randomly generated maps… it’s a roguelike!  It’s cross-platform, apparently, though I don’t know if it will work on any BSDs.