I’m still doing things

It’s been a while.

The credulity of my tagline — where I’m still writing but you’re not reading — seems to be a bit stretched lately, as it’s been months since I last posted anything about anything.  That’s not for a lack of interesting things to write about, but mostly for a lack of time in which to do it:  I most often think of things to say while driving to or from work, or while lying in bed at night having spent my evening feeding and cleaning up after small children, and neither scenario is especially conducive to posting on one’s blog.  Even when I do get a little private time, I tend to spend it working on Smile, rather than posting here about Smile, which doesn’t especially help with anybody else knowing what’s going on with it.

So let’s talk about Smile.

Continue reading

1 Comment

Filed under Smile, Technology


Downfall. 2236, Pogo Publishing, Lagos, Nigeria. 577 pages.

It goes without saying that the collapse of America was the defining event of the 21st century.

Historian Warren Keeler’s new book, Downfall, explores the collapse of the world’s most technologically-advanced empire in breathtaking scope, and while it leaves some to be desired — I found the scant mention of the Harriman Riots disappointing — it is still among the most comprehensive analyses of the collapse to date.

The core outline — that poorly-educated, rural Americans were taken in by a fast-talking real-estate mogul who became not only America’s last President but its first Dictator, ultimately driving the nation to despotism and ruin — this story is well-known to any schoolchild today.  Still, despite all of the analyses of the rise and eventual fall of the Trump Dynasty, few attempt to trace its origins farther back than Donald Trump’s rise to power in 2016.  Keeler’s book fares excellently in this time period, chronicling not only the rot in the Democratic Comradeship that ultimately led to the failed candidacy of Hillary Crookton, but also the weaknesses in the Strong Republicans For Strength Party that allowed Trump to rise in the first place.

Keeler also excellently covers the pivotal first three years of Trump, long before he became Grand Commander.  I had not realized, for example, that the retirement of a single Justice from the American Ultimate Court — then called the Supreme Court, apparently — was what ultimately led that Court to rule in favor of abolishing term limits on the American President.  It is also interesting to wonder what might have happened had the election of 2018 swung the other way:  Perhaps the American Legislature might have been a better check on Trump’s ambitions; with just one more Democratic vote to tip the balance toward his opposition, he might not have been able to run roughshod over the other two branches of government.

But, of course, history did not play out that way.  The Legislature quickly became Trump’s rubber stamp; laws were passed to silence all information except Foxnews and Trumpitter; and by the time Democratic leaders began to disappear at the hands of ICE, his private army, even his original supporters were too terrified to stop him.  The Battle of New York City — then simply called “quieting the insurgent rats” — was the final fight between Trump’s Blackshirts and the Hashtag Resistance, and it put an end to any attempt to stop his seizure of power.  The collapse of the American economy during the subsequent Deportations — his epithet used to describe the murder of his opposition and critics — was almost inevitable.

In the wake of Donald Trump’s reign, and the failed dictatorship of his son, nearly a hundred million people died.  And, of course, America is ruined, its landscape now badly irradiated:  Trump’s decision to use his nuclear weapons on California is rightly denounced not just today but was even denounced by some of his supporters at the time.  Yet Keeler does not attempt to place judgment on either Trump or his family:  True to his trade, he is a dispassionate historian, chronicling the facts as accurately as he can from the remaining records, many of which were lost in the collapse of the internet.  I would have liked stronger opinions from Keeler on the worst of Trump’s atrocities, but I understand his desire to remain objective.

Ultimately, of course, without the collapse of America, the rise of the African Empire would have been unlikely.  And while our continent is strong and wise and capable, there are still technological and artistic wonders that America’s world knew that we are yet rediscovering.  One cannot help but wonder what the alternative history of Earth might have been — had the American people put up a little more of a fight against the greatest despot and mass-murderer mankind has ever known.

— Jax M’nungo

Comments Off on Downfall

Filed under Uncategorized

Lessons from an Old Coder

I’ve been coding for a lot of years — next year, it’ll have been 35 years since I wrote my first line of code — and I’ve worked on a lot of projects over those years.  Some of those projects have wildly succeeded, and some have absolutely bombed.  (I’d like to think my lifetime average is positive, though.)  Through all that work, I learned a lot of lessons the hard way, and today, after a discussion at work, I decided I’d share with the younger crowd some of the most important programming lessons I’ve ever learned.  The lessons below are hard-won, and they cycle through my head on every line of code I write, even to this day:

Continue reading

Comments Off on Lessons from an Old Coder

Filed under Uncategorized

Pop Quiz

I spent all day today dealing with too many different someone elses’ bad code, and it’s left me feeling irritable and grumpy and very elitist. I swear, most people really shouldn’t be allowed to program, ever.

So are you one of the good “programmers”? Are you actually solving more problems than you create? Take my “easy” ten-question pop quiz and find out!

  1. Which book is more important: Design Patterns or Antipatterns? Why?
  2. When you design any component — a class, an interface, a function, a module, a networked API, anything, in any programming language, in any environment — what’s the single most important consideration?
  3. What is the real purpose of comments?
  4. How would you go about trying to demonstrate that a piece of code must be or can’t possibly be the source of a bug? How about without unit tests? How about without strong typing either?
  5. Name at least three problems you’ve solved in the past using metaprogramming — that didn’t involve using your language’s version of “generic types” as the solution.
  6. Name at least five unrelated programming languages in which you’d be comfortable immediately switching to for your next programming project.
  7. It’s been said that design patterns are really just patches for defects in the programming language’s design. Is this true? Does it apply to all languages in all circumstances? Why or why not?
  8. For your most favorite programming language, list all the features and patterns that should usually be avoided most of the time.
  9. When is copy+paste actually the right technique for code reuse?
  10. What’s the single most important quality that all good code has, no matter what project, year, or programming language it was written in?

Answered them all? Great! Go back to coding, safe in the knowledge that your code probably doesn’t completely suck. Probably.

Stuck? Can’t answer some of them? Sorry. They’re not intended to be easy questions you can just pop the answers to right out of college. Keep working on that experience level and expertise, and maybe someday you’ll be able to answer the rest.

(But if you’re really stuck, here’s a hint: Go look up Harold Abelson’s most famous quote, and see if that teaches you anything more about the right answers.)

Comments Off on Pop Quiz

Filed under Uncategorized

Wow, where have I been?

I just realized I haven’t posted anything really serious about Smile in all of 2017.  I’m definitely overdue for a status update!  There have been over 360 commits in it this year, more than one commit per day (on average).

GitHub Contributions Chart Continue reading

Comments Off on Wow, where have I been?

Filed under Uncategorized

Life, as a story told in Git commits

Coders who are parents will know.

Comments Off on Life, as a story told in Git commits

Filed under Uncategorized

After Further Review…

I’ve spent a little time in the Stack Overflow review queues as of late, trying to do my civic duty by helping the programming community, and I’ve learned a few things: Continue reading

1 Comment

Filed under Uncategorized

Some thoughts on Islam

There was a time that I was mostly innocent of knowing anything about Islam.

I remember learning about Islam in school in the ’80s; it was a religion practiced by a bunch of people in parts of the world I’d never been to, lumped in my mind with Hinduism and Buddhism and Shintoism into the category of “other weird religions.”  My, how times change.

The only real interaction I had with Islam was over the Israel/Palestinian crisis.  I am unabashedly a supporter of Israel.  That’s what being half-Jewish gets you, really.  I’m not a hard-liner about it, but Israel has a right to exist, and I viewed the Islamic world’s hard position on Israel and a lot of the PLO’s actions in the ’90s with extreme skepticism.  The Israelis needed their home, and the Palestinians, well, they were Arabs and had an entire Middle East to live in:  They didn’t need that tiny, tiny strip of land.

Then 9/11 happened.

I remember watching the towers fall.  I was an adult, twenty-five years old, standing in a bathrobe in front of a TV trying to make sense of the impossible pictures and death.  It was like a bad action movie, only it was real, and those dots falling out of the collapsing towers were real, live human beings, plummeting to their deaths.  My father was in Washington, DC during the attacks, and watched the third plane strike the Pentagon out the State Department window.  And then the last plane crashed out in Schwenksville, its valiant passengers daring to try to do what was right, and etching their names in the pantheon of American heroes.

And I remember very distinctly watching, on that very same day, video of Palestinians dancing, dancing, dancing, and cheering in the streets.  Celebrating the deaths of another man.  And I thought to myself — regardless of religion — who does that?  Who dances when another man dies?

In that moment, Islam became a dirty word.

Good men don’t dance in the streets when their fellow men are murdered.  Therefore, these men I see cannot be good.

In five seconds of video, Islam went from a “religion of peace” to an absolute evil.  The Palestinian claim to Israeli land?  Forfeit, null, and void.  The Arabic claims of mistreatment at the hands of Americans?  Voided.  The claim that Islam was on equal footing with all other religions?  An absolute falsehood.

I was then supportive of efforts to seek out Bin Laden.  The perpetrators of that evil had to be found, and stopped.  And while I tried hard to be reasonably fair, it was impossible for me to give Islam an equal shake with every other religion.  It had perpetrated an unfathomable evil, and though there were those who claimed it was still a religion of peace, that the Wahhabists who wrought that terrible crime were unsupported by the majority, the video of the Palestinians dancing and celebrating spun on endless loop in my head, and contradicted any contrary claims about their religion.

But I am a researcher by nature, and I read.  To better understand our joint foe, I read about them:  About the origins of Islam and Mohammad, about the Sunni/Shia split, about its early spread, about the European and American mistakes there in the 19th and 20th centuries, about the birth of Wahhabism, about the origins of Israel and the Palestinian crisis, about Bin Laden and the growth of Al Qaida, and about Islam in its present day.

To my chagrin, many of the things that were predicates on which America founded its attacks in the Middle East in the early 2000s were false.  There were no weapons of mass destruction in Iraq.  Afghanistan was a failed state of guerrilla thugs, not a violent Islamic power bent on world domination.  The Iranian revolution was, frankly, more directly America’s fault than it was anything else, and they had every right to be angry over us propping up the Shah.

But still, I viewed Islam with considerable skepticism.  Knowing it better raised a lot of questions about it, but it was still an enemy at the gates, and it still had to be stopped.  Those 1.6 billion people were all either potential violent attackers or brainwashed accomplices or simply dupes.

I equally distinctly recall the moment my position on Islam changed.  Thank you, Mr. Khizr Khan.

I suppose I knew that there were Muslims in the military before Mr. Khan spoke at the Democratic National Convention.  I saw the crescents at Arlington National Cemetery.  But it didn’t come home quite the same way as it did when he spoke.  Here was a husband and wife, devoted parents who had lost their only son.  Their son had made the ultimate sacrifice:  He had joined the military, gone overseas at his country’s asking, and came back in a box draped with an American flag.  And far from being bitter, Mr. Khan was defiant.  Their family had offered the ultimate sacrifice for America, and the only thing that Mr. Khan asked, the only thing he insisted on, was respect for the Constitution and what it stood for.  Respect for America, for the rights and freedoms and truths it was founded on.  Respect for his home — and nothing about his religion.

He was an American first, and a Muslim second.

That moment struck me.  Somewhere in the back of my mind, I had always seen Islam as an overriding force:  Its adherents were Muslim before all else, and therefore couldn’t really be human first.  They couldn’t be humane first.  And they certainly couldn’t be American first.  But here was Khizr Khan, and he and his wife had sacrificed more for the belief that all men are created equal than anyone I knew had.  Here was a man shaking a copy of the Constitution on live TV, and insisting that it was more important than who belonged to which religion, that its insistence of freedoms and rights mattered more than our petty squabbles, that its assurances and guarantees were worth any price.  Here was a good man holding up that document I hold so dear and insisting that it was worth the ultimate sacrifice — that he had paid and I had not.

Over the course of the next month, my animosities crumbled.  I read and I read and I read and I read, and a decade of hateful walls began to fall down.

Today, I still have some skepticism of Islam.  But it’s mostly academic:  I have some real, hard questions about its founding, and equally hard questions about its early spread.  I have no good answers about the Israel/Palestine mess.  And many of the bad things I had formerly attributed to Islam I now rightly attribute to problems in traditional Arabic culture, such as the region’s abysmally poor record on women’s rights.

But all of those are isolated components.  1.6 billion people mostly view Islam as a peaceful, stabilizing force, and I now respect that as it is.  There’s a tiny fraction of a percentage of those people that are troublemakers, and while a tiny fraction of a percentage is large in absolute numbers when multiplied by 1.6 billion, it’s still a tiny fraction of a percentage.  Christianity is neither better nor worse on its percentages.  Most Muslims want the same things I want:  To have a home, to have a job, to have a daily meal, to have a spouse, to raise their families, to watch their children learn and grow, to live in a peaceful place, to have meaning in their lives.

Which is a very long and roundabout way of saying that I finally see Muslims for simply what they are:  People.

Not evil monsters, not villains, not caricatures, not a violent force to be opposed at all costs, and certainly not the standing army in an impending clash of civilizations:  The followers of Islam are people, other human beings, mostly good most of the time just like anyone else, and neither more nor less than that.

It’s a shame it took me so long to get there.

Comments Off on Some thoughts on Islam

Filed under Religion

Live from a future BBC One

June 30, 2017

[begin transcript]

We come to you live from Balmedie, Scotland, where BBC One producers are about to make an announcement.

Trumball:  Hello, hello, thank you all for coming.  I’m Harold Trumball, the new director of BBC One under Theresa May, and we have a fabulous announcement for you today, just fabulous.  With me is Andrew Scotterpyne, the lead producer on the upcoming Doctor Who series.  Andy, it’s all yours, take it away.

Scotterpyne:  Thank you, Harry.  Good afternoon, all.  I’m pleased to announce that after an exhaustive search, we’ve found a wonderful new Doctor for 2018.  An actor who needs truly no introduction, but we’re so proud we got him that we’re giving him one anyway.  You know him from a wide variety of American cinemas, and although it’s the first time we’ve cast an American as the Doctor, he’s a genuinely tremendous pick, and we couldn’t be happier.

Trumball:  Absolutely!

Scotterpyne:  It’s hard to fill the shoes of such a great actor as Peter Capaldi, but we think we’ve managed to find someone even better, truly even better.  Ms. May herself personally wanted to interview him, he’s that good.

Trumball:  I jumped when I heard the name!

Scotterpyne:  Now I know that the Thirteenth Doctor has a bit of superstition around the number, but we think we’ve found someone far, far bigger than any of that nonsense you’ve seen debated in the press.  So without further ado, I present to you your Thirteenth Doctor, Donald J. Trump!

Audience murmurs and a few people are heard shouting

Trumball:  I say, I say, you couldn’t have found a better man for the job.  We didn’t know what to do — really, how could you top Capaldi? — but then the Americans went and impeached Mr. Trump.  Ms. May called me the very same day and demanded we jump at the chance to hire such a big celebrity.  Money was no object!

Scotterpyne:  Let me say that writing scripts for Mr. Trump will be a highlight of my career.  He’s so good that you can give him a blank page and he’ll manage to make an interesting show for three or four hours!  But I shouldn’t put words in his mouth; everyone, if you could please put your hands together, please offer a hearty round of applause for Donald J. Trump, your new Thirteenth Doctor!

Trump comes out from behind a curtain

Trump:  Thank you, thank you, thank you all, I’m honored.  I have to say that when these guys came to me and asked me to be the Doctor, I was like, eh, what’s a Doctor?  But then they explained it, and it’s a tremendous, tremendous role, and I’m honored to be chosen for it.  We’re gonna have a great series, a great series, it’s gonna be the best series ever.

Someone comes out, whispers something to Trump, and the Secret Service man standing beside him nods

Trump:  Anyway, I have to say, this is gonna be great.  Let me tell you about this series.  We got an all new Tradis —

Scotterpyne:  Tardis.

Trump:  — Tardis, and it’s fabulous, tremendous.  You should see it.  It’s the biggest, best, Tardis ever.  Yuger on the inside than any Tardis before, just yuge.  And classy.  None of that tacky plastic crap, or those white frickin’ round things.  We got all gold, mahogany, marble floors, completely classy from start to finish.  Jacuzzi room off the one side, shrimp lounge, a fully-stocked wine bar, we got Tony Danza to bartend, and he serves up a way, way better Screwdriver than that sonic piece of junk.  And dancing girls, none of those dumb levers and dials, just hot dancing chicks on gold poles.  You should see it.  It’s amazing.  We spared no expense.

Scotterpyne:  Tell them about the Daleks.

Trump:  Oh, yeah, we totally classed up those trash cans.  What, they got plungers and eggbeaters for hands?  Whose idea was that?  We got way better Daleks this time, way better.  Solid gold, and scary, like with chainsaws and hand grenades.  That’ll put your kids where you want them.  Cybermen too, those tin can robots are gone, we got Michael Bay to loan us some of those Transformers of his, and it’s gonna be awesome, just awesome.

Scotterpyne:  And don’t forget the companions!

Trump:  I was just gettin’ to that.  We got the best companions this time.  None of those actors you never heard of, no, bein’ all whiny and crap.  I got Lou Ferrigno for the one, and he’s just tremendous, just tremendous, a great guy, all around the best you could want, he’s gonna be just clobberin’ bad guys left and right.  And we got Sarah Palin playing the rootinest, tootinest sheriff in the old West, along for the ride to meet some aliens and kick some butt.  You haven’t ever seen a Doctor What like this.

Trumball:  Doctor Who.

Trump:  What?

Trumball:  Doesn’t matter, carry on.

Scotterpyne:  That’s about all we have time for.  Mr. Trump has to be off for a round of golf, but before he goes, does anyone have a question for him?  We have just time for one question.  Mr. Neely, is it?  From the Times?

Neely:  Yes.  Are — you people insane?

Scotterpyne:  Why, of course not.  Mr. Putin would have us committed if —

Trumball:  — uh, that’s all the time we have.  I’d like to thank you all for coming, have a delightful Brexit, and I’d like to remind you that whatever you may think of our decisions, however you may consider all this, it’s still far better than letting him start World War III.  Thank you, and good day.

[end transcript]

Comments Off on Live from a future BBC One

Filed under Humor

A Letter to Donald Trump

I am well-known for never cursing.
I don’t curse, because I believe that it isn’t necessary for most discourse. It’s certainly impolite and often impolitic to use them, but in addition to the social norms, omitting curses forces me to organize my thoughts more carefully than a simple expletive demands. And wantonly using curses robs them of their power: By reserving them, those around me know that if I were ever to curse, something is really, truly, genuinely bad.
So those who know me well will recognize the gravity of what I’m about to say.
As Burke was sometimes paraphrased, “All that it takes for evil to triumph is for good men to do nothing.” And as evils now not merely wander our midst but clamber for access to the highest levels of earthly power, I declare now on which side of the line I stand:
Mr. Trump, when you lie, when you exaggerate, when you apply doublespeak and doublethink to confuse and ruin the minds of lesser men, I promise that I will call “BULLSHIT” as loudly as I can. And much of what you say, every single day of your life, has been, is, and likely will continue to be “BULLSHIT.” I promise to support those institutions which have the greatest skill at calling you on your lies, and to that end, I have purchased a subscription to the New York Times to help fund real journalists. And I will never support or acknowledge the partisan muckrakers of your personal propagandists, Breitbart and Fox News.
Mr. Trump, when you seek the ruin of the First and Fourth Amendments, when you seek to jail those who burn the flag, when you seek to jail people merely for love or for prayer, when you seek to cancel the rights of men to assemble in protest, when you seek to silence those who criticize you, when you seek a permanent watchful eye over those who might think contrary to you, I promise to join the side of right and to tell you to “FUCK YOU,” as loudly as I am able. And to that end, I plan to donate regularly to the ACLU and EFF, so that institutions with the strength to fight you more ably than I will be able to continue their cause.
And Mr. Trump, I promise to remind you, every day that I can, that you did not win the popular vote. You were not chosen by your fellow Americans to lead. Many, many more people voted against you than voted for you, and only through the quirks of a historical anachronism were you ever elevated to power. In a more civilized world, you would never have even approached your new post, much less claimed it. And to ensure that you understand my meaning, I promise to repeat this truth so you can understand it, as oft as I can: “YOU’RE A LOSER. YOU LOST.
I hope not to have to use such language, and it pains me to even write these things; but your repeated insistence has pressed me to my limit. I will not be one of the men who sits idly and lets tyranny range on ’till each man drops by lottery. I promise that I will credit you if and when you do good: But I promise also that I will fight you, with both actions and coarse words when righteousness demands them, for as long as you are in office and I have breath with which to fight.

Comments Off on A Letter to Donald Trump

Filed under Politics