Document Actions

News

Site News

Apparently Gentoo recently enabled a per-package license approval feature for portage.  As with most things Gentoo, the feature was discovered unceremoniously when I tried to do 'emerge -uDavt world' and it complained loudly in new and confusing ways.  But a quick investigation shed light on the issue, and I set about making the small changes necessary to become compliant.

Basically, Gentoo now maintains a (comprehensive) list of licenses with which any given portage package might be associated.  And portage treats the licenses as opt-in, meaning that it doesn't presume that you're willing to accept them.  Also, just like use flags, there is an emerge variable (ACCEPT_LICENSE) that can be set for all packages in make.conf.  It defaults to '* -@EULA', which means all licenses are accepted automatically except any within the 'EULA' group.  A full list of licenses and groups is available in /usr/portage/profiles/license_groups.  Overrides to this variable can be made on a per-package basis using a dedicated file: /etc/portage/package.license.

I elected to leave ACCEPT_LICENSE at its default, and use the package.license file to individually manage non-free licenses.  Thus I needed to create a package.license file with the following contents:

dev-java/sun-jdk dlj-1.1
app-emulation/virtualbox-ose-additions PUEL
net-im/skype skype-eula

Obviously, those were only necessary because I have (or want to have) those packages installed.  Your package.license file might contain completely different entries.  With those exceptions in place, emerge went on its merry way and so did I.  Note that this process doesn't alleviate the need to say 'yes' to certain package licensing verbage at emerge-time. 

 

Unrelatedly, as of 20100131, the gentoo overlords have removed libGL.la, saying thus:

Eselect-opengl package now strips the libGL.la file. This file was broken and
thus we proceeded with its removal. It brings slight inconvenience on you fellow
users. After emerging the new version =app-admin/eselect-opengl-1.1.1-r2 please
emerge one more package dev-util/lafilefixer and use it for fixing all various
compilation issues by running as root:
# lafilefixer --justfixit
Note that not-running this command will bring you compilation issues so you
should really pay attention to this message and act upon it.

Oh, act upon it I did.  By taking precisely the suggested actions.

hoss @ 20091003:12:50 (Sat)

I guess once the proverbial writing on the wall is large enough, even the zealots find it hard to continue pretending they can't see it.

What am I talking about?  The realization that Apple, like Microsoft, Intel, Dell, and every other behemoth company (tech or otherwise), eventually bends to the crushing demand for year-over-year stock growth.  And when you're so big you create your own weather, the only way to manifest continued growth is to become a psychopathic, malignant entity hell-bent on squeezing the market for that extra shred of revenue even if it means the ruin of civilization.  Morphing from plucky, idealistic, everyman's company, fighting the good fight, to card-carrying agent of evil is not a transition that's instantaneous, but neither is it subtle.  If you're not so busy kneeling at the obelisk, head bobbing back and forth, watering eyes squeezed shut, while you try to suppress the gag reflex, you generally can see your beloved company changing quite apparently.  

With increasing frequency, Apple is demonstating just how far down the slippery slope they've slide, and that they're accelerating rather than arresting their descent.

And I don't blame them, not specifically anyway.  Or, rather, I'm not in the least bit surprised.  They're playing the corporate market-share game, and it's a ruthless, bloody, lawless-behind-closed-doors, game that is unfortunately the only game in town.  Don't hate the playa, as they say.  Well, I hate both the players and the game.  Our economic systems, global and national, reward and encourage evil.  Expecting corporations to not be evil under those circumstances is pure folly.  And expecting the systems to change when they're controlled directly by the entities benefitting from them is equal folly.

For those who haven't been paying attention, here's a decent summary of the stuff Apple's been doing: Jason Calacanis makes the "Case Against Apple in Five Parts".

And of course the Google Voice App rejection fiasco is proving to be very effective at snapping many out of their hypnotic coma of Apple idolatry.  Even so, some want to argue that it was just "out of character" for Apple, whereas I say that it was a textbook bellwether indicator, and there's every reason to expect more of the same.

One bit of irony in this that isn't lost on me is that the other half of the controversy (Google) is itself an entity tetering on the edge of morality.  Which direction it will ultimately sway is not a mystery.

[UPDATE] Still not sure?  Still hoping Apple's culture-shaping brand power hasn't taken root as a festering infection within its proverbial core?   Well, apparently Apple is convinced it owns the concept of an apple, as in the fruit.

hoss @ 20090811:19:27 (Tue)

I still get Gamasutra's Game Developer Magazine, though it's just a 'webzine' now unless you pay for it, which I do not.  Anyway, the fact that I'm still subscribed means they think I'm a game developer, or at least they pretend to not notice and/or care that I'm not, and as such they include me on their regular surveys (salary, publisher reputation, etc..).  I just recently filled out the publisher survey, and since I figure my input to them will dribble into a black hole, I wanted to capture my signature industry vitriol here for posterity's sake.

After having the chance to numerically rate all of my most loathed publishers as low as possible, I was then given the opportunity to say a few words.  So I did.

Activision/Blizzard:

Recent behavior regarding perceived rights to broadcasting of starcraft games is indefensible and reprehensible.  Also, the imminent monopolization of all games to battle.net is a blatant erosion of consumer rights.

EA:

They're not in the games business, they're in the extortion business.  They treat their own paying customers as the enemy.  EA is the poster child for what's wrong with mainstream game development and publishing.

LucasArts:

Do they do anything new anymore, or are they just busy milking the back catalog?

Microsoft:

Hurry up and die.  Microsoft is a cancer on gaming.  XBox Live is like eugenics for gamers, breeding out all the wholesome qualities of gamers and leaving only purely hedonistic selfish sociopaths.

Nintendo:

Consciously and systematically alienating real gamers in the relentless pursuit of the profitable calculus effect of 'casual' crap.

 

Is it any wonder nobody ever sends me Christmas cards?

 

hoss @ 20090723:17:28 (Thu)

Finally fed up with the awful RAM consumption of the firefox 3.0.* branch, I decided to roll up my sleeves and convert to the Amazing New Wonderfabutastical 3.5 branch.

But it's not marked stable yet on gentoo, so I had to get out the ~x86 divining rod and navigate through the minefield of getting a major package and all its dependencies unmasked.

Here, for your viewing pleasure, is the result of that exercise.

/etc/portage/package.use:

media-video/vlc -nsplugin
app-office/openoffice -nsplugin

/etc/portage/package.keywords:

www-client/mozilla-firefox ~x86
x11-libs/cairo ~x86
net-libs/xulrunner ~x86
dev-libs/nspr ~x86
dev-libs/nss ~x86

/etc/portage/package.unmask:

>=www-client/mozilla-firefox-3.5
>=net-libs/xulrunner-1.9.1
>=dev-libs/nspr-4.8
>=dev-libs/nss-3.12.3

Given all of that, a mere 'emerge -uDavt mozilla-firefox' should dutifully install the new browsing nirvana on your system.  At least, it did for me.

And, at least thus far, I'm thrilled.  Firefox runs leaner and meaner and nearly all of my plugins remained usable.

This is all transient minutia, since I imagine it'll only be a few more months perhaps before all of this percolates into the stable tree.

hoss @ 20090723:16:18 (Thu)

I'm acclimating myself to bazaar, in anticipation of migrating all of my subversion repositories to it in the near future.  One of the first things I desperately needed to do was get bazaar to use xxdiff for diff'ing and merging, since I xxdiff so much.  Turns out it was trivially easy -- much easier than the hoops I had to jump though to get svn to use xxdiff.

I just added the following to my $HOME/.bazaar/bazaar.conf file:

[ALIASES]
diff = diff --using xxdiff

That fixed diff, and the following fixed merges:

[DEFAULT]
external_merge = xxdiff

Aliasing is documented in the bazaar user's guide, but the external_merge option wasn't discovered until I did some googling.  It looks like it started out as a plugin, but is now included natively in bazaar.

hoss @ 20090628:01:26 (Sun)
Hail to the king, baby.

3D Realms closed.

Zero Punctuation ripped on the whole sordid story.

Honestly... I guess I don't care.  My prevailing emotion is a sense of tragedy over the cumulative amount of time, energy, resources, and most of all opportunity wasted over the whole affair.  Sure, it's a running gag to compare all of the things that have happened in the same time that DNF hasn't.  But that just highlights the gross mismanagement involved.  What saddens me is what could have happened.  I have no doubt that very smart, talented, capable, and creative people were involved in the development of DNF at every step.  Not necessarily all of the people, but I imagine the vast majority.  And what we, as gamers, have to show for their collective efforts is precisely zilch.  What they toiled for didn't need to be a Duke game, I honestly didn't care, but it should've been something that saw the light of day, enriched the gaming landscape, and validated their devotion and hard work.

I wanted to let the dust mostly settle before registering my feelings on the matter, as I was one of those that initially felt that things looked and smelled a lot like a very coy marketing stunt - the perfect setup for what would've been the announcement of all gaming announcements.

Instead, it was the just the obituary it claimed to be, and the only spectacle left is the inevitable lawsuits as the sharks circle in to fight over the carcass.

hoss @ 20090401:21:48 (Wed)

Here's another look behind the curtain of independent game development, this one courtesy of Vic Davis of Cryptic Comet, recounting the tale of Armageddon Empires.  This is both similar and categorically different than Jeff Vogel's success story.  Vic basically caught lightning in a bottle, experiencing an exponential upsurge of interest in his little nichey strategy game due to what amounted to a perfect storm of new games journalism.  But it wasn't entirely, or even mostly, luck (though getting the Penny Arcade firehose pointed at you doesn't hurt).   He took a decidedly non-mainstream approach to supporting his game:

  • Keep your mouth shut until you've got something people can play and buy.  Allowing a gamer to go instantly from 'never heard of it' to 'oh - it's done and I can buy it for $10' has a tremendously powerful effect.  Hype has to be sustained, and that's why mainstream marketing budgets are so huge, they have to finance the hype crescendo.  Curiousity is an itch and being able to scratch it immediately can turn casual interest into a sale.
  • Never stop updating.  The product launch is just that - the 'launch' of an extended voyage.  It's not lighting the fuse on a sales bomb, seeing how much you can get in the first month after release, after which both you and the customers flee from ground zero.
  • Make customer support personal and visible -- do it yourself on community forums.  This will directly stimulate peer-to-peer word-of-mouth sales recommendations (what the article calls the 'infection vector').  An interesting point was that Vic didn't host his own forums (on his company's website), opting instead to defer the game's individual community germination to existing broader community sites.  This put both his personal support of the game and the players' buzz about it in a more 'infectious' environment - he wasn't bootstrapping a new community out in some uncharted corner of the internet.  He set up camp smack in the middle of the very people for whom he was designing his game.  And as mentioned in the article, he recognized the importance of being genuine and not acting like a viral marketing person masquerading as a native.  He was honest and helpful and it paid off.

The end result was that he turned an unflinchingly hardcore, niche, turn-based strategy game (made with Macromedia Director of all things) into a smashing indie success.  And he's off and running on his next title.  Godspeed!

hoss @ 20090329:20:09 (Sun)

Jeff Vogel of Spiderweb Software has been kind enough (and narcissistic enough) to undertake a bit of blogging on the topic of independent game development.

Which is cool.  Don't take my narcissistic comment the wrong way - everyone who blogs is narcissistic.  It's cool because the more attention indie game development can get, particularly successful indie game development, the better.  And I don't necessarily think there are really any trade secrets worth hoarding here, so why can't successful indie developers pull aside the curtain a bit more?  Indie game development is hard work, besodden with failure and ruin, and almost utterly devoid of accolades.   And in that sense, it's not really any different than mainstream game development.  It's also risky business, but perhaps one 'secret' is that it might actually be less risky than mainstream game development.

Jeff's been making a steady living doing games for over 15 years.  That's a pretty stout achievement, particularly given the nature of the games he does.  He makes butt-ugly old-school RPGs only die-hards will love.  But the 'trick' is that there are evidently enough die-hards to make the exercise profitable.  Predictably and consistently profitable.  Having read the two recent posts Jeff made as 'tell-all' confessionals of the financial numbers behind one of his recent games, I wanted to distill some of the key disclosures that were made.  Again - these aren't trade secrets.  It's common sense stuff for anyone who's not totally drunk on EA and Microsoft's relentless propaganda.

  • The Long Tail is a real thing and it works.  If you're not beholden to pay back someone else's huge initial capital investment, you can ride the tail to profitability.  For the purposes of this discussion, the long tail is the steady, word-of-mouth driven sales sustained well after initial release, in contrast to the 'blockbuster opening weekend' effect that mainstream games tend to rely on to make it into the black, financially.  I've referred to this as the 'spike economics' of the game industry, and mainstream developers and publishers alike live and die by it.  Indies can't, because it requires huge (i.e. expensive) marketing campaigns, and it needs a steady diet of game releases allowing for the occassional blockbuster to pay for both itself and all the non blockbusters that 'missed'.  Note that this model may ultimately prove to be the undoing of mainstream game development as well, but that's the a story for another day.
  • Time is the most valuable thing you have.
  • Making multi-platform games is like printing free money.  You're already doing the design and implementation work.  If you take the right approach from the beginning, it's only a marginal amount of 'extra' work to get one implementation to work on multiple platforms and you've just hugely broadened the size of your potential customer base.  Which is critically important when your customer base is niche to begin with.  Which brings us to...
  • Serve an underserved niche.  Mainstream game development is like a whale - it has to eat an ungodly number consumers just to stay alive.  For that reason, many particular kinds of gameplay just get shoved aside categorically by the big publishers because the games simply don't exhibit the scale of consumer popularity necessary to offset the increasingly bloated development budgets.  And so the world is rife with cliques of gamers whose true desires go unmet by the industry at large.  And it is precisely these gamers that will forgive your pitiful little game its glaring deficiencies compared to a AAA mainstream game, if only your game scratches their specific itch when none others will.  As Jeff put it: "You have to write something that they can't get easier and cheaper elsewhere."   Because if they can they will.  You may eventually nurture some consumer loyalty, but you'll have none initially, and never enough to offset the fundamental disadvantages you'll face as an independent.  Like any successful organism, you have to discover an unclaimed part of the ecosystem.
  • "Big budget games will ALWAYS look better."  And "graphics are expensive. Really expensive."  Moral of that story - don't even try to match mainstream graphics quality.  You'll lose, and you'll just go broke/crazy trying.  Your time and budget (which is mostly time) are better spent pursuing the handful of unique things that are going to attract that underserved niche.  Good graphics aren't unique, and definitely aren't underserved.  Yes, a certain percentage of people will ceaselessly hate on your game for how crappy it looks.  Screw 'em.  They're not buying your game anyway.
hoss @ 20090214:11:15 (Sat)

As usual, I'm so culturally disconnected that I get all my news from Penny Arcade, and a recent post made brief mention of Blizzard hiring 'Fargo'.  I'll say it in question form, just as PA did, to convey the sense of perplexity that accompanied the concept:  Fargo?  Naturally I thought the reference was to one Brian Fargo, of former Interplay fame, whose name is associated with gaming classics like Fallout, Descent, Baldur's Gate, among others.  That's odd, I thought, isn't he like the CEO of some studio or something?  Yes, as a matter of fact, he is.  But given his history, I guess it's not a bad fit: Blizzard & Fargo.  But as it turns out, the entire concept is moot since the 'Fargo' involved is actually Dave 'Fargo' Kosak of (formerly) GameSpy fame.  You'll forgive me the mistake, I hope, on the grounds that I have in fact never heard of Dave Kosak, a consequence no doubt of the fact that I basically hate GameSpy, don't read it, and have been known to opine it as a traveshamockery of gaming journalism.

It just so happens, though, that Dave 'Fargo' Kosak is really funny.  I mean _really_ funny.  Despite my better judgement, I didn't eject myself out of GameSpy after following the original link on the PA post to Kosak's farewell letter (at which point I realized none of this involved Brian Fargo).  Instead, I proceeded to waste copious time reading archives of content authored by Kosak over his tenure at GameSpy, and it's good stuff.  Genuinely entertaining.  One part sophomoric teen gamer humour, and one part frustrated-literature-major-working-at-a-gaming-website, it adds up to some great comic content.  I recommend browsing the archives if you've got nothing better to do.

I still hate GameSpy.  Just so there's no confusion on that front.

 

Oh - I almost forgot, just to tie Blizzard back into this, I chuckled at the following comment posted to Kosak's farewell article:

ZombieMessiah on February 13, 2009 09:24 PDT
For all it's polish, WoW is pretty much the worst MMO ever.

A handholding, dumbed down, grindfest of 'epic' proportions.

I'm sure this is a wise career decision, but that doesn't change the fact that WoW is a steaming pile of horse...poop.

Indeed.
hoss @ 20090123:10:07 (Fri)

I've recently been doing some internationalization work for a gui tool using wxPython, and was confounded by an apparent inconsistency in how 'common' dialogs adhered to the locale settings in effect.  Everything worked as expected on Linux and OSX, but on windows the dialogs stubbornly ignored all of my efforts to enforce a specific translation on their widget strings.  Note that I'm talking about the 'convenience' dialogs offered by wxPython, such as wx.DirDialog, not dialogs that I construct from scratch.

As it turns out, on windows some of the dialogs actually completely defer to windows shell API calls, and therefore aren't sensitive to any wxPython localization state.  The dialogs simply reflect whatever language settings are in effect on the windows machine on which they're invoked.  So if you have your application set to, say, Japanese, but you're running on a windows machine configured for english, the dialogs will always show up in english.  Which is bubkis.  But  it's also 'just the way it is', unless/until the wx folks (whom are ultimately responsible for how the underlying dialog entities are implemented) change the affected dialogs to be constructed from other wx primitives rather than using a direct windows call.

After wrestling with the problem for bit, I had begun to suspect the reason behind it, and ultimately did find some verification of my suspicions in a forum post.  Interestingly, it references an MSDN forum post which describes a .Net developer struggling with the same issue -- namely the inability to localize, within a .Net application, a common windows dialog.

hoss @ 20090119:14:29 (Mon)

For the record, I wanted to archive the letter that I sent to my Maryland representatives in the US Congress regarding the EESA (Emergency Economic Stabilization Act) of 2008, which I consider (then and now) to be a resoundingly bad idea.

Here it is in its entirety:

Dear <congress person>,

I would just like to register my severe disappointment that you voted in favor of the HR 1424 amendment (EESA) on Oct 1, 2008, and in so doing recklessly disregarded the long term sustainability of the US economy.

The seeds of this fundamental dysfunction of the global monetary system were not sown overnight, and any solution to it will not be found in the spasmodic and woefully impertinent flailings of a panic-riddled congress.

Furthermore, EESA is not merely impotent to the current problem, which would be shameful enough.  In the long term it may very well be the equivalent of pouring water on an oil fire.

I find it tragically disconcerting that the Senate would choose to completely ignore the consensus opinion of not only this nation's best economists, but those of other countries as well, many of whom have first-hand experience characterizing the behavior of lending crises, and all of whom implore the pursuit of alternative solutions.

Instead, the Senate has stayed true to form and chosen to grasp at the most convenient bauble simply for the sake of appearing to do something, anything, as urgently as possible, sacrificing all pretense of informed evaluation and objective judgement.

Your complicity in this debacle of reason, foresight, and leadership is duly noted.

I particularly liked the phrase 'impertinent flailings of a panic-riddled congress'.  Remember, the key to politicians isn't to make them your friends, it's to make them fear for their jobs.  Plus, I figure there's probably only a 1% chance someone actually read it anyway.  At best it got registered on a tally in the 'against' column for their feedback tracker.  And it made me feel incrementally better to have written it.

 

[update - in the extended body of this post I've included the text from a blog post that did a great job summarizing why the EESA is a terrible idea.

 

More…

hoss @ 20090115:17:42 (Thu)
Hudson Humor

Comments following the US Airways flight 1549 crash into the Hudson river provided today's Moment of Marvelous Mirth:

Ben: So why are some people standing in 12 inches of water, while others are being rescued in a raft?

ellen: because they're in first class. ;)

It's ok to laugh because noone died in the crash (at least, as of reports immediately following).

Of course, a hilarious irony would be if the crash was caused by someone on the plane twittering away during takeoff, screwing up the plane's electronics systems like they keep trying to scare us about.  But no, that wouldn't happen because the threat of plane crashes from onboard cellular use is bunk.

Note that I still think twitter does little but masquerade aggrandized minutia as discourse.

hoss @ 20081219:11:15 (Fri)
Energy

Here's an awesome chart from the brains at LLNL which demonstrates in glaring fashion just why the 'Foreign Oil Problem' and 'Electricity Generation' are two separate issues.  See that tiny little sliver of a line going from 'Petroleum' to 'Electricity Generation'?  That represents the amount of oil used in the generation of domestic electricity.  Imagine, if you will, that we instantaneously installed a massive national infrastructure of electricity generation powered exclusively by all kinds of clever technologies, and that we suddenly got 100% of our electricity from something besides oil (either domestic or foreign).  That tiny sliver of green going from 'Petroleum' is the only reduction in oil use that we'd see as a result of that effort.

When corporations and politicians talk about our foreign oil dependency and our electricity generation in the same breath, they're purposefully trying to confuse the issue.  They are shills for the oil industry, which is desperate to do anything to keep you from realizing that the problem is transportation.  Cars, trucks, cars, planes, cars, and especially cars.

If you want to talk about electricity generation and environmental responsibility, the problem revolves around coal.  Period.   Coal is the electricity demon in the closet.  The chart tells you that plainly as well.

But perhaps the most interesting story the chart has to tell is the grey block labeled 'Lost Energy' at the right hand side.  Imagine what would happen if we actually focused on that problem!  It's a tragic and shameful indictment that our entire civilization operates at well under 50% efficiency.

While in a previous post I claimed that Finder had the 'good sense' to not show .DS_Store files, the fact of the matter is that in general I don't want it hiding things from me.  If something's on disk, I want to see it.  Apparently I'm in the universal minority here, since all three main platforms (*nix, OSX, and Windows) have as their default behavior the cloaking/supressing of various filesystem content.  On linux, 'ls' requires the '-a' argument if you want to see everything.  Windows forces you to edit folder visibility properties.  And OSX hides all '.*' content unless you apply the following bit of voodoo:

defaults write com.apple.finder AppleShowAllFiles TRUE

A quick restart will reveal all, including things like '.localized' on your desktop.

 

hoss @ 20081128:12:04 (Fri)

There are a lot of ways to capture image buffers in an X-Org based environment, but I found one that I preferred, and it's ImageMagick's 'import' utility.  Very flexible, and more importantly, well documented and maintained.  Out of the box, it does time-lapse multi capture, which is generally what I'm after when I'm playing games (which I'm doing more and more of on Linux and not on Win32) and I want to have a framegrabber running in the background taking periodic grabs.  A line like the following will get the job done adequately:

import -depth 32 -pause 10 -quality 100 -silent -snaps 5 -window root foobar.png

I'm probably going to cook up a little python script that leverages import, rather than relying on just the command line, since it will provide greater control and flexibility for a session-based use of the tool, and because it looked like import keeps all the grabs in memory until it's done, which isn't suitable for accumulating a lot of images in one session.

This worked a lot better than other attempts with things like scrot, fbgrab, etc..  xv is good for one-off manual grabs, but doesn't provide any automated time-lapse feature, which is what sent me googling in the first place.

hoss @ 20081125:11:15 (Tue)

An OS and/or window manager shouldn't be leaving little turds all over my filesystem.  That's exactly what OSX does.  It poops everywhere it goes.  Little OSX dingleberries named '.DS_Store'.  It's annoying enough that it does it locally, where it at least has the good sense to not show them in the GUI file browser (though they're in full view from the shell).  But the fact that it flings its poo all over any and every network mounted directory is just inexcusable.

Thankfully, its easy enough to get it to behave a bit more civilized 'in public', by disabling the creation of the .DS_Store files on network mounted directories.  The necessary bit of OSX voodoo is the following command:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

I think a reboot is necessary for it to take effect.  And you'll probably want to take a broom to any locations that have been sullied, via something like:

find . -mount -name '.DS_Store' | xargs -L1 -I {} rm -v {}

Bad OSX -- No biscuit!!

hoss @ 20081121:17:33 (Fri)
OSX Graffiti

I was feeling churlish and finally annoyed enough with the default login background for OSX that I figured I'd google out the recipe for changing it.  Turns out it was trivially simple.  And in addition I swapped in an 'improvement' on the apple logo itself  [snicker snicker].

hoss @ 20081114:11:34 (Fri)

I run nightly backup scripts, which email me a summary report that includes, among other things, information on disk usage.

I'd been watching the percentage creep steadily up on my main (root) mount drive with increasing concern, but not sufficient concern to actually investigate what the culprit was and whether or not it was a legitimate use of drive space.

Except the other day the percentage finally got dangerously close to 100%, so I finally had to stop putting it off and figure out what was going on.

Turns out it was embarrassingly simple.  MySQL was happily generating binary log files which tracked Every Single Thing it did, ever, all the time.  Just like it was told to do by my /etc/mysql/my.cnf file (via the 'log-bin' option).  Only apparently the files never go away and don't participate in the normal logrotate process (for obvious reasons, once you understand the purpose of the binary logs).  So they just keep piling up, indefinitely.  To the tune of ~25GB, in my case, for a small set of low-footprint MySQL databases running since about 2006.

Once I understood the situation, it was easily remedied by adjusting the options I supplied to the nightly run of mysqldump (which is what I employ as my MySQL backup method):

--flush-privileges
--flush-logs
--delete-master-logs
--master-data=2

The critical one was '--delete-master-logs', not surprisingly, but the other ones came along for the ride as I waded through the mysqldump man pages.

"Why not just disable binary logging", you ask.  Because they're actually a good thing, which is why they're enabled by default.  In a disaster recovery scenario, they let you bridge the gap between your last full backup and whatever transactions occurred until the point of the disaster.  The issue wasn't that they were being generated, it was that they weren't being cleaned up each time I did a full backup (at which point they become superfluous).

So.. the moral of the story is the age-old lesson that computers always do precisely what you've told them to do, whether you actually want what you asked for or not.

hoss @ 20081103:09:10 (Mon)

Here's a recent listing of free/open-source FPS games.  I was aware of about half of them.  Anyway, I just wanted to jot down the list for future reference.  Free is good.

And actually, while I'm at it, here's a similar article, this one listing free linux RTS games.

Oops -- apparently a well-known ~x86 dependency 'bug' was allowed to surface in stable gentoo.

Here's a forum post and a bug report.

Here's the recipe I used to get around the recent shenanigans associated with e2fsprogs-libs going stable.

  1. emerge -uDavft world
    • That ensures that the packages are pre-fetched,which is critical to this recipe working.  The unmerge that happens below temporarily eliminates the ability to fetch portage packages.
  2. emerge -avt1 --nodeps e2fsprogs-libs
  3. emerge -avt --unmerge com_err ss
  4. emerge -avt1 --nodeps e2fsprogs-libs
  5. emerge -avt1 --nodeps e2fsprogs
  6. emerge -avt1 --nodeps mit-krb5
  7. emerge -avt1 --nodeps e2fsprogs-libs
  8. emerge -avt1 --nodeps e2fsprogs
  9. revdep-rebuild -v

Then world updates can proceed, or whatever else you planned on doing.