Wednesday, November 09, 2016

Monday, November 07, 2016

Let's Get This Over With

I know these things happen every four years and therefore cannot last any longer than that, but it feels like I can no longer remember a time when I wasn't worrying that a superbly-qualified world leader might lose the presidency to a prejudiced reality show pseudo-celebrity.

In the primaries I voted for Bernie, because I think we desperately need some socialist ideas and tools to pull us back from the brink of commercialist self- (and planetary-) destruction.  My wife voted for Hillary, and we were both glad to be supporting both candidates.  They each rank among the most honest politicians our country has to offer, and the most progressive.  (Yes really.  Do some actual research if those things sound strange to you.)  Voting felt really good in the primary.

Since then, we've witnessed the rise of a monster created and fueled by the worst runaway features of our young nation - money equaling speech, entertainment posing as news, echo chamber information bubbles, and more racism, sexism, zealotry, bigotry, and other forms of reckless fear-mongering hate than I would have ever imagined.

I've been all but paralyzed by anxiety for what feels like ages.  I'm normally not a terribly worrisome person.  I've always trusted that most of the time, most of the people will do the best they can.  I still feel that way.  But there is so much influence and so much concentrated power which is willing to swallow any pill no matter how horrifying, as long as it means perpetuating itself.  There are so many lies told so often and so loudly.

My wife observed that every four years the Republican party puts up somebody worse than the last time.  We had Dole, who seems a perfectly respectable statesman at this point, then W, McCain, Romney, and now Drumpf.  (I wouldn't necessarily have ranked McCain as worse than Bush if it hadn't been for Palin, who herself almost sounded cogent compared to today's toupee'd cheesepuff.)  In trying to figure out who is next, assuming we get to keep having elections, the only figures who come to mind for me are Scott Walker (yes, more dangerous than Trump, because he's actually accomplished terrible things instead of just blustering on about them) and whomever is the head of the KKK.  (Please excuse my gross ignorance of the grossly ignorant.)

We've always liked the ritual of voting on election Tuesday.  Ours are not particularly ritual-filled lives, but we've got a few we really feel are worth hanging on to.  Next time around though, we think we'll vote early, as so many have done this time.  I doubt I would have quite the same level of apprehension if this thing were already 100% out of my hands.

Anyway, I look forward to being productive again.  I look forward to being able to relax, find some peace, maybe even fall asleep.  I hope I can do it here in the nation of which I was born.  The one where different kinds of people can work together.  I hope that nation is still here.  I think it is.  Hillary Clinton is seeking what seems to me an impossible job, but if anybody on the planet is up to it, if anyone can be prepared enough, strong enough, compassionate enough, she's the one.

Please vote tomorrow if you haven't already.  Let's get this over with.

Monday, October 31, 2016

Happy Halloween!

This election and this year in general can't be over soon enough.  But there is always room for warmth and fun in life, and Halloween is one of my favorite times to find such things.

A big round one with fuzzy facial hair, a cute classy one, and a splotchy little one with fangs.

Pre-carving inspection by this family's splotchy little fanged member.

...And for everybody's sake get out and vote next Tuesday.  (For the sane, qualified one, please.)

Thursday, June 02, 2016


Some day, I will stop thinking of ways to ruin Tetris. But it is not this day.

A little while ago my brain finally realized that two very familiar sets of numbers match up.  Ten main keys on a computer keyboard's homerow, four main rows of ten keys each.  Ten columns in a Tetris playing field, four orientations for Tetris pieces.  And that was that.  From that moment, I had no choice.
A version of Tetris requiring most of the keyboard had to exist.  If it already did, I couldn't find it.  So now the world has one more Tetris clone.
KBtris has a steep learning curve, which is something I would normally shy away from in a game.  But the idea is too compelling.  Traditionally, when a Tetris piece appears, even if you are a master player you still have to get your fingers or thumbs to input something like:
Now, you can do the same thing with:
One keystroke will both rotate your piece to the desired orientation and move it to the desired column.  This of course means you need to _have_ a desired orientation and column, and then hit the correct key out of forty.  It's efficient, but you need all your fingers and your wits about you to get started.  From there, it's not completely unlike learning the piano.

I've played a lot of Tetris in my life; I consider it one of the purest gaming experiences imaginable.  My first goal now that KBtris exists is to get as good and as fast as I can at it.  I'm curious whether I'll be able to keep up with friends who are faster typists.

Beyond that, I want to see someone get really good.  Way beyond my abilities.  I want to see a KBtris Olympian and be shamed.

Maybe _then_ I'll stop thinking up ways to ruin Tetris.

Tuesday, March 29, 2016

How to Fix: Firefox + Wine + "Open With" List

I forget why I even have wine in the first place, but I do.
(Wine, in this context, is a piece of software that lets me run Windows programs on my Linux system.)

Every once in a while, Firefox and Thunderbird would come across a file or attachment and prompt me for what to do with it.  Infuriatingly, the default choice was sometimes wine or some terrible wine version of explorer, or something.  I scoured Firefox's about:config and anything else I could think of, but there was no mention of wine associated with file types.  Web searches were useless too.

Finally, I found this:

Relevant snippet:
rm -f ~/.local/share/mime/packages/x-wine*
rm -f ~/.local/share/applications/wine-extension*
rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
rm -f ~/.local/share/mime/application/x-wine-extension*

That is what I needed.  ~/.local/share had some crap in it which many desktop applications, Mozilla's included, found and used to figure out handlers for different file types.  I can't imagine that setting anything to do with wine for such things could ever be useful for any reason ever, but if you use windows programs on purpose, you may wish to pick through those files a little bit more carefully than I did.

After nuking those, extensionless text files no longer try to open in some bastardized version of notepad.exe, oddly-formatted image files no longer try to launch some weird windows tool, and I no longer get angry at my computer for trying to run terrible programs for no reason.

My hope is that if I post this, I'll save at least one poor sap some time in their search for the same answer.

Monday, December 14, 2015

BUB on Nintendo 3DS

Well here it is, my first game "published" (in some sense anyway) via entirely-above-board means on a Nintendo console.  (Tong on Wii was great fun to do, but requires a little hacking for others to play.)

I got to draw Ork a couple dozen times.  I got to play and re-play a game-in-progress over and over.  I got to write a program in BASIC, complete with PRINTs, GOSUBs, and DATA blocks.  Every once in a while, I engage in a project that makes me feel like a kid again.  This was such a project.

For anyone and everyone who has SmileBASIC, here is the download code for BUB:

I posted that code on Nintendo's own built-in chat-about-games-you're-playing service, and it looks like some people are already having fun, including someone who recognized BUB from its Gamebuino version!

Anyway, that's my latest.  Some insomnia-hours programming and scribbling has become my favorite-so-far version of BUB.  I like to think somewhere there's somebody whose mind is set to sparking by this and other such toys.  Toys they can enjoy both as games and as a means of learning to program.  May the source be with you!

Friday, December 11, 2015


A short while ago, the best software yet came out for the Nintendo 3DS.  It's not even a game.  It's called Smile BASIC, and it turns any 3DS into the magical kind of flexible, programmable, easily-learnable computer that is sadly otherwise absent from the modern world.

I was a child in the 80s, when Apple II and Commodore 64 computers were everywhere.  You could check out computer books and magazines from any library and type in listings of BASIC programs.  Once you got something running, you could modify or expand on it in any way you were clever enough to figure out.  The first open-source software that got me excited wasn't GNU or Linux or anything like that - it was some random maze-generating program or box-drawing routine that I copied off a printed page.

Now, that same magic, that sense of learning BASIC from examples and figuring out how to make a computer do things of your own design, is available in a $10 download, on a ubiquitous handheld computer.  And in addition to all those tricks we did on 8-bit, keyboard-enclosed, tube-TV-connected 80s technology, a slew of new BASIC commands are available which open up the 3D display, stereo speakers, wireless networking, and many megabytes of RAM to the same kinds of easy programming as PRINTing "Hello World".

If it were up to me, this or something like it would come standard on anything and everything with a CPU.  I don't care if BASIC isn't a powerhouse language, or if the hardware abstraction is limited in some ways, the point is that there needs to be a way to begin learning, on some level, how these gadgets we keep buying actually work!

A while back, I became a registered Nintendo developer.  That meant I could order dev kits, create software, and sell it through Nintendo's eShop services on Wii U and 3DS.  As a long-time Nintendo fan this was an exciting step, but as someone who values sharing ideas (and code) more than making money, it tore me up a bit to think I'd be putting out software which the next generation of me's couldn't poke around in, learn from, and make their own changes to.

Now, I don't have to.  Anybody who creates anything using Smile BASIC can publish it online, ready for anybody else to download, use, and edit just as if they'd copied it out of the back of a magazine.  Stay tuned; I'll be posting my first 3DS game very soon!