Lazy Reading for 2014/01/05

The holiday break for most people at the end of the year translated to a lot more material showing up now.  We all benefit!

The Year Megaplatforms Ruled The Internet.  Online companies aren’t ‘disruptive’ any more; they are the establishment.  That didn’t take long.  Is it a cycle?  I hope so. (via)

Intel XDK.  Should be cross-platform enough to work on DragonFly, I bet.  (via)

On Hacking MicroSD Cards.  Bunnie Huang from 30C3, so it’s in-depth.  “In reality, all flash memory is riddled with defects — without exception.”  The microcontroller on the cards is exploitable.  (via)

Speaking of 30c3, the recordings are up.  (via same place)

Bignum Bakeoff contest recap, from 2001.  512B to return the largest number possible.  (via)

Owlbears, Rust Monsters, and Bulettes, oh my!  The origin of some of the AD&D Monster Manual monsters.  (via)

The Postmodernity of Big Data.  I don’t know about the text, but I like the punchcard images.

You are going to be using IPv6, whether you are ready or not.  (via, with good discussion)

End Paper Maps.  This is ephemera that shan’t survive the Internet, I suppose – but I always did enjoy it.  (via)

Understanding the Galaga No-Fire Cheat.  I would have loved to do this as a child, but surviving 15 minutes in a coin-op video was nearly impossible, barring (for me) one strange exception.  (via)

Creative usernames and Spotify account hijacking.  (also via)

Remember, The Cloud means that even if companies last, their services may not – even if there’s no other service to replace it.  (via)

Eventually, will every program have its own internal upgrading and management code?  It seems like it.

New Year’s Resolutions for Sysadmins.  Some of these resolutions look forward, some look backward.

Mommy, why is there a server in the house?

In Other BSDs for 2014/01/04

Things are picking up again after the break.

Lazy Reading for 2013/12/29

Last of the year!  You’ll want to take some reading/watching time this week.

Can you be arrested for what’s on your computer?  Yes, of course.

Making SSH connections easier.  If you don’t know it, you should.

Ansible vs. Salt and Creating a new Ansible node.  BSD-focused.

Vim in the hands of a Real Maniac.  Damian Conway, the speaker, is a man of complicated skill, and a good speaker.  It gets pretty crazy by the end.  (via)

The Saddest Moment, James Mickens talking about Byzantine fault tolerance.  (via)

The via link on that last one led me to Dadhacker, with some excellent entries like this Eject button at Apple or Fuctuation.

Digital restoration and typesetter forensics.  Brian Kernighan, Ken Thompson, and Joe Condon reverse-engineering hardware because the vendor won’t reveal how it works – in the 1970s.  The letter to the vendor is hilarious.  The story of how it was recovered, also linked there, is a good read, too.  (also via)

Over-Extended Metaphor for the Day.  Could quibble, won’t.  I like the Emo Phillips followup joke quoted here, where I found it.

Oldcomputers.net.  There’s some neat old things there – and they’re selling/buying!  (via)

Console Living Room; more old game systems resurrected via JSMESS.  First reaction was that it was neat, second reaction: these old games were horrible, compared to what we have now.  (via multiple places)

exabgp, human-readable BGP messages.  (also also via)

The Grand C++ Error Explosion Competition.  I had a student who excelled at this, involuntarily.  (via)

We’ve run out of closed-source things to re-implement as open source, and now we’re reinventing the open-source wheel.

How open source changed Google – and how Google changed open source.  Their open source group is essentially about license compliance, not evangelism.  That is the way it should be.  The last paragraph about Summer of Code is spot-on.  (via)

Readers of a certain age will recognize the global vector map theme.  (Here’s more.)  It makes me think of the old Apple ][ game, NORAD.  (incidentally, I was way better at it than the player in that video.)

Your unrelated comics link of the week: not a comic, but a magazine that includes comics: Mineshaft.  I’ve heard about it many times, and I keep meaning to get a subscription.

In Other BSDs for 2013/12/28

Again, quiet from the holiday break.

My DragonFly 3.6 upgrade adventure

Here’s how my upgrade from DragonFly 3.4 to 3.6 for this server went.

The system install went normally.  I rebooted before performing ‘make upgrade’, as noted in UPGRADING and elsewhere.

I already have dports installed, so a binary upgrade should be possible.  I had heard of people with older version of pkg, having trouble getting it to notice upgrades.  I rebuilt pkg, and ran ‘pkg upgrade’.  A number of the updates coredumped.  Here’s one example:

[156/160] Upgrading gtk2 from 2.24.19 to 2.24.19_2...Segmentation fault 
(core dumped)

After the upgrade, I had two problems: PHP wasn’t working for the website, and some programs would segfault.

The random segfault was fixable by forcing a binary upgrade of all packages.  Since there were some programs on the system that were still new enough that the version number was the same as on the remote repository, pkg didn’t upgrade them.  Those packages were linked against old versions of system libraries that predated the locale changes in DragonFly 3.6, so they’d crash.  Forcing the update for all packages fixed the issue.

The other problem, PHP on the web server, is not new to me.  The binary package for PHP does not include the module for Apache.  The solution is to build from source with that option selected.  I understand that pkg is destined to support (some?) port options in the future.  There’s also an immediate workaround for locking it.

However, the port would not build because of a security issue.  The binary package installed without any warning.  This, I am told, will change to pkg giving you the option to install if you are aware of the security problem, and whether it really affects you.  (which is just what I want, yay!)

Anyway, other than the system changes biting me because I didn’t realize some packages weren’t updated, it went very quickly.  That is the reason for binary updates through pkg, or at least a major one.

Lazy Reading for 2013/12/22

Still quiet out there, but I found some good reading.

PHP functions originally named for string length and sorting.  Yeesh.  (via)

A great old-timey game programming hack.  There’s an initial speed hack in this story, and then there’s another clever trick to fix memory corruption.  (via)

My hardest bug.  This was a pretty fiendish problem.  (via)

Gitdown: don’t commit when drunk.  I’ve done that.  Actually will use an Arduino-based breathalyzer.  (via)

Another Perl One-Liners review.

Zeno of Elea, a game.  It’s based on a classic… (via)

Vim plugins you should know about.  From that One-Liners author.

Speaking of Perl, here’s a Larry Wall interview.  An old-school hacker – he wrote patch, too.

Moonpig: a billing system that doesn’t suck.  An in-depth review of system design.  More Perl, too.

Three Books You Should Read…  Mostly BSD content.

How to use Tor wrong, in multiple ways.  It’s not for petty crimes, and it’s not any use when you’re using it from a monitored network.  (via)

Your unrelated comics link of the week: Cookie Puss.

In Other BSDs for 2013/12/21

Odds and ends for the quieter holidays.

Who’s for an OpenPF?

Things are very quiet this week; I’ve had nothing to post for some days – DragonFly or even for other BSDs.  The end of the year has most people distracted, I think.  This makes it a good time to bring up something that’s been bothering me: the state of software firewalls in BSD.  The pf utility is a BSD advantage; I’ve heard people say “I used iptables on Linux and pf is a much better alternative.”  I know that’s anecdotal, but there it is.  Here’s the question, and the reason I’m writing this: which pf?

DragonFly has a version of pf equivalent to what was shipped in OpenBSD 4.4.  FreeBSD has a version equivalent, I think, to OpenBSD 3.8 4.5’s pf, and it has been further modified.  NetBSD has a similar, older pf, but there’s people working on a NetBSD-specific version called npf, which isn’t yet ready.  And of course, OpenBSD has its version of pf.  If you feel good about these different alternatives, you call it divergence.  If you don’t feel good about it, you call it fragmentation.

Compare this to OpenSSH – it works the same on each platform.  There’s no confusion on how to configure it, or interoperability problems.  It would be wonderful to have the equivalent for pf, where other BSD platforms would import a portable version.  This software firewall is a strength, and it’s much easier to tout it when there’s only one.

I doubt there’s a way to bring it all back to one source tree.  There’s a lot vested in the different forks out there.  You know what would take a lot less effort: a compatibility test suite.  Agreeing on a common syntax and set of functions would make life easier for every end user.  It would incidentally make vendors a lot happier, too.  Even if a user or vendor wasn’t hoping to move between BSD flavors, a test suite would still guarantee a certain known level of functionality for any BSD release.

How likely is this?  I don’t know.  But I want to bring up the notion before it gets missed.  Now is a good time, with each pf version still being relatively close to one another.

Update/note: Henning Brauer is willing to help.

Lazy Reading for 2013/12/15

Halfway to Christmas; time to buy presents if you haven’t already!

DragonFly on Hacker News.  I haven’t read through the comments fully.

The Meaning of “Doom”.  This article makes a very good point; Doom was one of the first game that encouraged user participation in the creation of the game.  Not the creation when it was first made, but the endless recreations as mods.  It’s sort of the same mechanism as open source, but as an activity and not a license.

Alphabet of the Obsolete.  Also known as “Things my children don’t know and don’t care about.”

Now is a good time to donate to the Internet Archive.  (via many places)

The Development of the C Language.  Dennis Richie was good at telling stories about some otherwise very dry subjects; his histories are enjoyable.  Maybe you have to have a certain kind of temperament or interest to really like them.  (via)

The Birth of Standard Error.  It was a smelly typesetting machine where it first started.   (via EFNet #dragonflybsd)

There’s some other interesting articles on that site, including “Programming Languages vs. Fat Fingers” and “The Importance of Being Declarative“.

Better and Better Keyboards.  Continuing the keyboard theme from previous weeks.  (via)

Building the Commodore C-128.  I never used one of these, but I’m sure there’s a few readers that will be gripped with nostalgia.  (via)

The Amiga 500 as a Chrome add-in.  Nostalgia, again.  (via)

Running 4.3BSD Quasijarus with simh VAX.  It’s apparently 4.3BSD for Vax hardware.  I did not know of this, or at least I don’t remember it.

When a Bash script asks, “Where am I?”.

Have you heard the axiom that every program grows in scope until it reads email?  It’s really all programs grow in complexity until they have their own auto-updater.  (Also, XScreenSaver is awesome.)

Vim, in Javascript.  Or maybe the axiom should be ‘Everything eventually is rewritten in Javascript’.  (via)

Did you see that interstitial?  It was dope!”  (via I forget, sorry)

Your unrelated animated gif of the week: Happy talking boat.

In Other BSDs for 2013/12/14

Another week where I could get away without any commit links, just cause there’s so much BSD stuff out there.