Speaking of git esoterica (and my Git Fundamentals talk), one of the questions during Part 1 was “what about the new switch and restore commands?”

The … uh … what now? So I did a quick search and, lo and behold, they were added late last year in version 2.23. The goal is help new users confused about the two most common uses of git checkout: switching branches and restoring files from the index, which admittedly have nothing to do with one-another, why are they managed by the same command?[*]

I see this as a definite positive development, and I wanted practice with them, so I could promote using them when I’m teaching folks, because I’m sure it will reduce confusion and improve velocity. I knew I had to go cold-turkey, so I deleted my git co alias and added a git sw alias to replace it.

It worked well enough, though I am still overcoming years of ossified motor-memory. But there was one glaring omission: my shell stopped tab-completing branch names. A minor annoyance, to be sure. But I didn’t realize how much I used it until it was gone. So I eventually went digging, and discovered this patch that added these commands (and a few other updates for 2.23) to zsh’s git completion.

I was not looking forward to trying to apply a patch across versions when I stumbled upon items in the base _git file that reminded me that zsh completion is handled via autoloaded functions. 💡 I might be able to extract them into files in my own autoload directory, and then I don’t have to muck with applying the patch at all!

Long story short(er), it works perfectly! You can drop these files into any directory in your zsh $fpath and if you open a new shell[**], git restore will tab complete command-line arguments and file names in the index / staging area, and git switch (or any aliased you’ve added to it) will complete its command-line arguments and branch names. Huzzah!

 

[*] Fun fact: in the very early days of git they were different commands, git checkout only switched branches, git checkout-index was how you restored files. But there was a clamor to make things “easier,” and the user experience never recovered. I see the new names as a huge step forward.

[**] Or run autoload -U _git-switch && autoload -U _git-restore in a shell you do not want to close.

This may be somewhere in 4D space, since it’s a bit of a corner case on a corner case, but I wrote a pre-commit hook plugin to handle a bit manual work required when dealing with git reverts.

Introducing: reinstate-revert-revert.

It automates the manual leg-work I would do when reverting a revert commit. Typically this is when I’m reinstating a merge commit that had to be reverted, usually as the first step toward fixing the bug that caused the initial revert in the first place.

This is definitely not something that comes up very often, but the amount of effor required was just annoying enough to make me want to automate it. It only took me, er, several years to sit down and do it. This was inspired by my most recent presentation of my two-part Git Fundamentals talk.

Hopefully it will save someone else a bit of time as well, and the savings can compound.

I love this recipe because it’s dead simple, goes from dry beans to delicious soup in a little over an hour, and most of that time is unattended cooking!

Fortunately for all of you I’m not a food blogger worried about SEO, so I don’t have to ramble on to a certain length and can skip straight to the recipe.

[As the potted petunias said: “Oh no, not again.” I am giving myself a birthday gift: a free and open internet. You should join me!]

Commissioners:

I urge you to keep the current Title II classification for broadband internet.

Over past 20+ years I have had the great fortune to make my living building both applications and the “plumbing” on the Internet and what has become the World Wide Web. I have seen first hand how innovation works in this industry. The disruption that takes the entire network by storm one day becomes the de facto standard the next. 

I am deeply concerned about the recent proposed rule changes regarding the neutrality of network providers. Allowing last-mile providers to charge for “premium” access to their subscribers will cause two separate, deleterious effects: It will harm innovation, and it will widen the digital divide in this country.

First, no one can predict where the storms of disruption will form. ISPs are trying to maintain a delicate balance providing the best service to their customers. Disruptions, by definition, wreck that status quo. Allowing the ISPs to pick winners (at best, and giving priority to their own offerings at worst) gives a huge advantage to entrenched incumbents. It would be disastrous to the innovation that has been driving one of the shining stars in our economy of late, and one that has been sorely needed.

This is doubly disastrous for the majority of Americans for whom their ISP is a virtual monopoly. They cannot vote with their wallets and move to a provider more willing to allow the disruptive traffic the innovative service requires. They are stuck with whatever their ISP deigns to offer.

Second, allowing ISPs to double-dip and charge both subscribers and content/service providers for the privilege of connecting will exacerbate the digital divide in this country, and will mean that only the relatively wealthy consumers will be able to afford a decent Internet experience. It will also further widen the divide between the US and the rest of the developed world, where we already pay more for much slower connectivity.

Finally, and perhaps most distressingly, it will have a chilling effect on the freedom of expression that is central to a free and open society.

You have the power to change all of this. For these reasons and more, I urge you to keep broadband internet classified as a Title II telecommunications service, and keep access equitable for everyone.

Thank you for your time.

Erik Ogan
San Francisco, CA

/cc:
Diane Feinstein
Kamala Harris
Nancy Pelosi

[Note: A friend who has heard me lament the popularity of D&D and the relative obscurity of other, “better” games asked the question: “So: my group is thinking about starting to play a roleplaying game. What should we play?” These answers are a bit tailored to her, and mostly tailored to the starting player.]

I am curious what the rest of my RPG-steeped friends think of these as introductions.

Hey, so I’ve been thinking about your “what are those better games you like to talk about?” question, and I wanted to expand on my answer. I still think (TL;DR) “just start with D&D” was fundamentally a fine answer, but I also wanted to give you some context to make a more informed decision.

(It appears I went a little crazy writing this. Your question gave me an excuse to write down thoughts that have been rolling around in my head for a while. I will likely post it (edited) online for others to tell me where I got it all wrong.)

It looks like you’ve jumped the first hurdle, you have found a group of people you like who also want to play.

Out of curiosity, do you have an experienced game-master? (GM, D&D call them a Dungeon Master, DM) It is certainly not required, but if not, then it is even more important (if only at the beginning) that you choose a game with a rich back-catalog of adventures & campaigns. The neophyte GM will have enough to learn and worry about without adding world-building to the mix. (Though some folks take to world-building like fish to water, I still think it’s important to set the whole early experience up for success for everyone.)

Even if your [DG]M has experience, but has not done so in decades, it probably makes sense to keep things simple at first and start with an off-the-shelf adventure. (but, of course, YMMV).

Playing RPGs require a commitment, in materials, in learning, in time. But this does not have to be the only game you ever play. No matter what you start with, you’ll learn mechanics and ideas that will carry-over to other games if you ever decided to try something else, and you’ll hopefully learn which parts of the game appeal to you and which ones don’t.

Which brings up another point about RPGs: they appeal to people for different reasons. Some folks want to solve puzzles; or tell a good, entertaining story; or embody a character very different than themselves. Others love the tactical and strategic planning of combat, or more generally to play around in an internally consistent world simulation. There are also folks who just want to bash heads as a way to blow off the stresses of life. And then there’s the friend who always just wants to play a ninja, regardless of the setting. :)

Obviously different players will embody those archetypes in different amounts over time. And the best games will have something for each of them, but in differing quantities. Of course, some players are very particular about their preferred ingredients, and may not enjoy a game that doesn’t conform to their notions. (Even if they are unable to articulate why.)

So with all that out of the way, what are some of the things you could play?

[Fair warning: Some of the games I suggest below I have not played since you were in swaddling clothes, the information given may be woefully out of date]

Dungeons & Dragons

There is a reason that the granddaddy of them all is not just still around, but is far and away the best known RPG of all time. It has grown from its antecedents in tactical war-gaming, and beyond its origin as “LotR with the serial numbers filed off.”

It has something for everyone in a good proportion. If it did not, it would never have survived this long.

Some might quibble on the fact that it seems to favor combat over role playing, but that is not an insurmountable hurdle.

Moreover, in the latest (5th) edition, they have done a lot to streamline some of the more Rococo excesses of the 2nd-4th editions. I have come around to it as a decent system by which to introduce new players to the joy of roleplaying. That is the main reason I suggested you start there. It’s kinda the Coca-Cola of RPGs.

… Umm … ?

So, given that, why did I rail against it so much (and, though you did not know this, for so long)? I think there are a few reasons:

First and foremost, the progression of the game is one gigantic power fantasy. Characters may start out puny (and more recent editions have (IMNSHO, correctly) shortened that curve, too). But every. single. thing. they do after that makes them stronger and more powerful. That one-way trip to godhood was appealing as a wimpy, largely powerless 13 year old. But that power progression on rails gets tiresome. I wanted more variation in dramatic progression. But as a first game, nobody’s been in that Skinner Box on rails over and over yet. For players learning rules, there is some comfort in knowing that while there may be danger to overcome, they don’t need to worry about making a bad decision in their character advancement.

Next, the concept of “leveling up” had another flaw in my mind. Even allowing for learning curves having natural cycles of plateaus and rapid development, the *poof* you suddenly have a whole bunch more abilities began rubbing me the wrong way.

Finally a bit of geek heresy. Beyond the magical trappings, the high fantasy setting doesn’t seem to appeal to me as much as it does to others. [GASP] When I swore off D&D I focused on the above and was highly critical of the iconic characters dealing as much damage when they were an inch from death as they did fresh and ready for battle. But that is high fantasy. I had also grown weary of the Murder-Hobo flavor to most D&D campaigns. (Whomp monsters, get gold, lather, rinse, repeat).

In short, I was one of those aforementioned players who knew what he didn’t like, but had a hard time articulating it. I misconstrued my own tastes for flaws in the system. It’s taken the intervening decades of maturing and occasional rumination to piece together everything I said above.

A Special Word About Pathfinder

Note: you might want to skip to the next, actual recommendation and ignore this part of the ranting (or come back later).

Pathfinder started as a modified (and many people feel improved) version of D&D 3.5. First, some positive notes about Pathfinder: It has a thriving community behind it, and Paizo (the publisher) has embraced the digital revolution: If I understand that correctly, it means all of the rules and supplements are available in searchable, cross-indexed form and/or tablet apps. If true, that’s a really, REALLY nice feature!

However, it is still, at its core, D&D 3.5:

AD&D 2nd Edition was, at least in some part, a reaction to the point-build, skill-based systems that took the RPG design world by storm in the late ’80s-’90s. It had plenty of other Second-System Effect oddities, as well. I distinctly remember flipping through some of the books and saying “Meh. Too little, too late.”

3rd Edition simplified some of the mechanics of 2nd Edition, removed some arbitrary limits and restrictions, and took the character specialization to new heights. Now most questions are resolved by rolling a d20 and adding your bonus. Sounds simple, right? How many bonuses would you like to add? You have a plethora from which to choose: flanking, unarmed, 2-handed, multi-strike, zippity-do-dah.

It is hard for me to talk about the effect that had without resorting to terms like munchkin, or the less pejorative, but still dismissive power-gamer. The freedom to tweak every aspect of a character, and multi-class to wipe out all the hindrances inherent in your class(es) can bring out these tendencies in just about anyone. Looking for the perfect storm of abilities that stack in ways that rain righteous, fiery death upon ones enemies, while making yourself impossible to be touched and to hell with the story, or even anyone else’s fun.

But, look, just as it is possible to write bad code in any language, a system appealing to the munchkin/min-maxer/power-gamer set does not mean that every game played with it is fraught with nothing but that style of play.

I am certain there are large swaths of people that would take umbrage at much of what I have to say about “f20”[*] gaming. But that’s just my take.

Call of Cthulhu

CoC sits at the other end of many of the spectra from D&D (though not all of them, it is still a product of the early ’80s in RPG design)

Set in the malevolent world of H.P. Lovecraft’s mythos against the backdrop of the real, roaring 1920’s. This is the granddaddy of all horror RPGs. Rather than building an iconic, heroic character on their way to being masters of the universe, you play occult investigators fighting a pitched battle against horrors from the beyond on their way to the grave or the asylum. The deck IS stacked against you. In fact, the more your character knows about what is really going on the lower the cap on their Sanity (a core character statistic) becomes.

This is not a game for murder-hobos. This is a game of slowly piecing together a series of clues and trying to keep the world safe and your sanity intact (probably in that order).

Another difference between Call of Cthulhu and your typical high fantasy game is that a frontal-assault on enemies will almost certainly backfire because: a) your Professor of History and Mythology character has likely never handled a gun in his life, and is much more likely to shoot his friends than any of his enemies; b) discharging a firearm within city limits is a great way to bring in the authorities in a hurry and with them come inconvenient and uncomfortable questions about what, exactly, it is you think you are doing, and where did all that blood come from? c) most of the horrors you are trying to keep from being unleashed on the unsuspecting world are not affected by corporeal weapons anyway. Happy shooting!

Why would anyone want to play a game where failure is the likely outcome? I think it appeals to the same part of us that became programmers. But yes, horror roleplaying is not everyone’s cup of tea, and you definitely need buy in from all of the players before starting this type of game.

I would be remiss if I did not mention that while the game itself is relatively safe, Lovecraft himself had some - unfortunate - politics and even much more unfortunate rabid xenophobia and virulent racism. It could be (and probably has been) argued that some of his horrors were metaphorical, but you can read his fiction without being aware of those elements (Or I could as a sheltered New England teenager, not far from his Providence home.) However, even if it is all in the public-domain now, some folks may be squeamish about playing in his worlds for reasons other than those indented.

Trail of Cthulhu

If investigative instead of monster-whomping gaming sounds appealing to you, but you are less sure of the cosmic horror, I would suggest Trail of Cthulhu. The system allows you to pick a more pulpy style of game instead of the purist horror genre. Full disclosure: I have not actually played Trail, but I have a great respect for designers Kenneth Hite and Robin D. Laws (more on him in a bit)

In fact, I might recommend ToC over CoC even for traditional horror gaming. I have been listening to their podcast, and their discussions of Robin’s design of the Gumshoe system makes me think it’s an ideal system for this type of game. I also recently discovered the “Dreamhounds of Paris” supplement where you play surrealists (including Dalí, Man Ray, et al.) roaming Paris and HPL’s Dreamlands trying to save the world while also trying to remake it. It’s like they wrote the material for ME! (Ask me why my laptop is named Celephaïs.)

Delta Green

Delta Green is a more modern (1990s last I saw, but presumably updated) setting for CoC. The premise is that after the government raid of Innsmouth (from HPL’s The Shadow Over Innsmouth), the US Government realized the mythos was a big problem, and formed Delta Green to combat it. Your PCs play DG agents working in other departments (FBI, CIA, CDC, ATF, TLA) who are trying to keep a lid on the problem and not let the rest of the country know what is going on.

Think X-Files-esque (though I am fairly certain DG was published before it aired). One advantage of DG is that it answer the question of “why would this mismatched collection of strangers talk to each other, never mind help one another?” Another advantage is that it is probably easier to draw some folks into a DG rather than a standard CoC game because they get to play secret agents.

Shadowrun

Oh, hey, I just realized that it might appeal to you as someone who enjoys NetRunner! (He says, moving it up the list.)

This game combines cyberpunk, urban fantasy, and conspiracy.

The setting starts out as a typical cyberpunk landscape: Mega-corps use their near-infinite power (including private armies, corporate policies more powerful than public law, etc.) to control most of the world and its population. Cyberware and bioware allow normal people to perform superhuman feats of all kinds. Most users of The Matrix jack-in via direct neural interface.

And into that dystopian world, magic returned. In the far-flung year of 2011 (Man, that makes me feel old!) Magic returned to the world, splintering the human race as many of them regained suppressed traits that came out as fantasy races. Dragons and other fantastic creatures also returned, and native ceremonies suddenly packed a wallop. Magic and ’ware can do things we once only dreamed.

Between the cracks of society the players are Shadowrunners: expendable sub-contractors who extract data, artifacts, and people from rival corps and governments.

Like the cyberpunk stories that inspired it, Shadowrun is dark and dystopian world, with high stakes and personal risk.

(I should note that earlier editions of Shadowrun had some - let’s just call them bugs - in some of the rules (combat, in particular had some break points), but I would be surprised if that were still the case.)

Savage Worlds

Savage Worlds is a generic system for pulpy adventures (think Raiders of the Lost Ark, or even Pirates of the Caribbean). I generally dislike generic systems, but Savage Worlds does not try to be all things to all people like GURPS[**] or even the abortive attempts to port all games to d20 a decade ago. [*shudder*]

Its mantra is “Fast, Furious, Fun!” and it strikes a nice balance of providing a framework to have fun and getting out of the way. The edges and hindrances give characters some depth, providing good hooks for role playing. And the exploding dice as well as the distinction between Wild Cards vs. random mooks really works well in a pulpy setting. I want to talk about two settings in particular:

50 Fathoms

This is a sword & sorcery setting with swashbucklers instead of knights. If you have any desire to play pirates, this is a good place to start.

The players can play pirates who, through a terrible storm, somehow found themselves in Caribdus, a world of islands left after 3 witches drowned the world with a curse. Or they can play one of the more fanciful races the visitors from our past meet along the way.

Necessary Evil

More geek heresy time: I never really got into comic books. I loved Sandman and Watchmen, as well as a handful of other graphic novels, but beyond those …

Given that, superhero games are even less appealing to me than high fantasy. ;). And yet this setting has a twist that I love: it’s your typical superhero world, or it was before the alien invasion came down and wiped out all the superheros. Now the only ones left to save the world are the supervillains.

That conceit makes the world interesting to me. I still am not itching to play it, but if everyone around me wanted a supers game, I might suggest it. (Or find other friends ;-`> ) However, if a comic book superhero game might appeal to you, this is my recommendation (though you should probably ask someone who actually likes them. ;)

Incidentally …

Savage Worlds is a streamlined and genericized version of Deadlands, a game by all rights I should absolutely hate: The Old West? [Bletch] A “cutesy” mechanic based on playing cards and poker hands? [Ugh] Where the Civil War never ended? [Check, please!]

And yet, my introduction to the game was through a group of friends who had played together for years, knew the system inside and out, and were a joy to play with. They made the poker-hand schtick seem clever and a nice nod to the setting, and the poker chip bennie system is, quite honestly, very clever. I also liked the depth the edges & hindrances gave characters, though it can be min/maxed a bit if you are not careful.

It just goes to show, with the right group, any game is fun!

Vampire: The Masquerade

Really, this is just a placeholder for any of the World of Darkness games.

More horror role-playing, yes. But when Vampire came on the scene it changed things dramatically. Its focus on storytelling (its underlying mechanics are called the Storyteller System) definitely appeal to the Method-Actor & Storyteller archetypes above. It generally doesn’t have enough “crunchy-bits” for the hardcore Tacticians in the group, but it can be a great way to introduce RPGs to everyone else.

Another game that is not for everyone, but if you find yourself surrounded by the type of folks who would enjoy it (and you would as well), it can be great fun!

Casting a Wider Net

I think those are my recommendations for a wide variety of places to start (or jump to after your first game). But I cannot leave well enough alone, here are some more, for your consideration.

Unknown Armies

Both the first and second editions of this game are completely out of print, but I love it too much not to recommend it. … And Greg Stolze has been hinting on Twitter that a 3rd edition is in well underway. [Cue the sound of me squealing like a schoolgirl, or gibbering like a madman in the tunnels under Fairfield Hills.]

UA is a game of “power and consequences” set in the modern day. It is gritty, twisted, and dark.

The Occult Underground. They don’t advertise, you cannot find them with Google, there is no map to their location. And yet, you know it exists. Or rather you know it must exist. You know because you have heard the rumors: a song that drives people to suicide, a man whose face melts with each dawn, a videotape of the birth of a goddess. And you have seen the signs. Once you started looking, they were everywhere. And now you know you must find it, before it finds you.

Players of this game are on the trail of the Occult Underground. Either they are on the cusp of discovering the true nature of the world, or they are well on their way to warping it to their own ends. Most of the characters in this game fall into two camps: adepts and avatars.

Adepts are chaos magicians whose obsessive world-view allows them to warp reality to fit that obsession. But that power comes at a cost, your obsession takes over your life, and brings with it taboos. Being an adept cannot be a part-time job, the obsession will eventually consume you. Cliomancers gain power from special places, plutomancers gain power from transactions, cryptomancers are obsessed with secrets.

Avatars channel a cosmic archetype: The Mother, The Fool, The Pilgrim, The Messenger. Unlike adepts, who force their view of the world into reality, avatars gain their power by passively tapping into the power of their archetype. Some do it consciously, but many do it unconsciously.

Where Call of Cthulhu has one sanity stat, UA has 5 madness meters: Self, Isolation, Helplessness, Violence, and Unnatural. Moreover, a character can become hardened as well as more susceptible to each type of madness. And they can do so at the same time, developing tics and obsessions that push them even further away from mundane society.

… And I could go on for ages about this game, and will if you let me.

Mouse Guard

Based on the wonderful comic strip of the same name. I’ve never played it, but I thought it might appeal to you for the obvious reasons.

Ars Magica

A collaborative game set in a version of the 12th & 13th centuries where all of the mystical and magical concepts of those times are literally true.

This game is most interesting because each participant plays multiple characters (“Troupe Style”), and the role of the GM is rotated around the players.

Nobilis

In Nobilis the players take on the roles of the personification of abstract concepts, anything they can imagine: night, time, pathways, water. In Nobilis our world, Prosaic Earth, is just a lie the world told itself to explain suffering and to keep mere mortals from descending into madness. Mythic Earth, by contrast is an animistic plane where everything is sentient, and is one of many of the worlds that hang in the boughs of Yggdrasil, the world tree.

One of the interesting things about Nobilis is that it doesn’t use dice or any other random elements for resolution, instead players spend Miracle Points to affect outcomes.

Feng Shui

Feng Shui is a game set in the worlds of Hong Kong action films. It tends to be combat-heavy, but the combat itself is a lot more cinematic and descriptive stunts rather than heavy crunchy-bits.

Character creation is based on choosing from template archetypes that embody the protagonists of those films.

Feng Shui is often credited as a progenitor of a new wave of simpler, descriptive RPGs, though Robin D. Laws demurs at that characterization, however he might just be being Canadian about it.

In Conclusion

There are a lot of games out there, I didn’t even really scratch the surface. I want to help you find a game you’ll love, because I think the most important part is that you have fun with the game.

But in reality, all of these games require one element in common: a good group of friends with which to play. The better the group, the less the game itself matters. (No matter what my adolescent self thought.)

(Have you figured out which gamer archetypes I gravitate toward based on these recommendations? :)


[*] Robin D. Laws’s name for the fantasy-d20 sub-genre of games. There are a lot of them, especially recently as the “old-school” movement taps into people’s nostalgia.

[**] I am fairly certain I will never play GURPS, but I am damned glad they continue making it. The setting books and supplemental materials are great things to mine for inspiration and flavor for other games!

My Email to the FCC

| | Comments (0)

 

Commissioners:

Over past 20+ years I have had the great fortune to make my living building both applications and the “plumbing” on the Internet and what has become the World Wide Web. I have seen first hand how innovation works in this industry. The disruption that takes the entire network by storm one day becomes the de facto standard the next. 

I am deeply concerned about the recent proposed rule changes regarding the neutrality of network providers. Allowing last-mile providers to charge for “premium” access to their subscribers will cause two separate, deleterious effects: It will harm innovation, and it will widen the digital divide in this country.

First, no one can predict where the storms of disruption will form. ISPs are trying to maintain a delicate balance providing the best service to their customers. Disruptions, by definition, wreck that status quo. Allowing the ISPs to pick winners (at best, and giving priority to their own offerings at worst) gives a huge advantage to entrenched incumbents. It would be disastrous to the innovation that has been driving one of the shining stars in our economy of late, and one that has been sorely needed.

This is doubly disastrous for the majority of Americans for whom their ISP is a virtual monopoly. They cannot vote with their feet and move to a provider more willing to allow the disruptive traffic the innovative service requires. They are stuck with whatever their ISP deigns to offer.

Second, allowing ISPs to double-dip and charge both subscribers and content/service providers for the privilege of connecting will exacerbate the digital divide in this country, and will mean that only the relatively wealthy consumers will be able to afford a decent Internet experience. It will also further widen the divide between the US and the rest of the developed world, where we already pay more for much slower connectivity.

You have the power to change all of this. For these reasons and more, I urge you to reclassify broadband internet as a telecommunications service, and keep access equitable for everyone.

Thank you for your time.

Erik Ogan
San Francisco, CA

/cc:
Diane Feinstein
Barbara Boxer
Nancy Pelosi

Thoughts on the Demise of Flash

|

[When I posted my glee at this announcement, a friend asked: “Could you explain what this means in English? How is it going to change what I can do on my Blackberry?”]

TL;DR? Jump to the direct impact on you.

It has been a crazy week. I have composed pieces of this in my head in spare moments, so hopefully it’s just a matter of getting them down and tying them together. Hopefully the days of rumination will have distilled out some of the prosthelytizing I will inevitably do.

So, assuming you haven’t already figured it out, what does [Adobe killing [mobile] Flash] mean for you and your Crackberry? I’m honestly not sure, but I have some thoughts:

Taking a step back, it is a tacit admission (murky marketing-speak notwithstanding) that Flash1, would take too much (additional) effort to shoehorn onto mobile platforms. And also that the few abortive forays into the mobile space have not really been viable. (Which is interesting given the PlayBook, which we’ll get to in a moment)

It is also an admission that everyone’s energy is better spent developing open-standards based web applications. This is something that many of us have been saying for a while, but only recently has it even partially viable2. And it is to Adobe’s immense credit that they’ve seen the handwriting on the wall and have taken the hard turn. So many companies who “own” a technology that defines, for better or worse, a space are more likely to bury their head in the sand and plow along insisting they’re still relevant. Right up until they fold.

But what does this mean to you, a Blackberry user? I don’t think it means much in the short term. It means you won’t see a Flash player on your device, but I don’t think that you have one now.

It also means that app developers can focus attention on building HTML 5-based applications/sites that degrade gracefully, yet consistently for less capable browsers (like, quite frankly, the BB browser), are much better adapted for accessibility (and by extension search engines and possibly the Semantic Web). And that browser developers can focus on delivering a consistent, standards-compliant experience (which RIM needs to do in a hurry, but more on that in a moment)

As for the longer term? That’s trickier, and a further twist was introduced within the last few days: See, RIM bet the farm on Flash with the PlayBook, and this announcement put them between a rock & a hard place. A few days afterward they announced that they were licensing the source from Adobe to continue updating it for the PlayBook.

In the long run this could be better for the PlayBook: they can customize it more for their particular hardware, and they don’t have to wait for Adobe to fix bugs.

But it is by no means a guaranteed win. And it definitely means that they’ll need more resources in the project (either people or time, and I know what I’d bet on), and the most likely source of those is the BB browser team, which will likely cause it to lag even further behind everyone else.

And none of this mentions the very (thoughtful) analysis in past months on the less-than-rosy outlook for RIM and the head-in-the-sand mentality of their co-CEOs. But I have babbled enough.

1 Flash, a technology designed for desktops (originally a stripped-down version of Shockwave for the web)

2 HTML5, while still very immature shows great, great promise. But I am not so idealistic (anymore) to believe that it will pan out exactly as we hope.

[I know it has been a long time since I’ve done one of these, but this one is directed mostly at my wonderful colleagues at Change.org. Others are more than welcome, but I think most of you will find the itinerary prohibitive. Have no fear, I plan to do another one come September (when the weather on the bridge is less capricious, and they’ve reopened the western walkway).]

Folks! We’re meeting in Sausalito! It’s a perfect excuse to grab your bike and ride across the bridge!

When:
Friday July 29th. We need to be in Sausalito at 9am. We need to work the timeline backward from there, adding enough buffer so that nobody feels rushed.
Who:
Anyone who has a bike, can manage to stay (mostly) upright on it, and wants to ride across the Golden Gate (C’mon! It’s fun! You should do it at least once!)
What:
Riding a bicycle across the Golden Gate Bridge. Also, you might want to consult your doctor about ADHD, and/or cut down on the fine herb clouding your short-term memory.
Where:
The Bridge down into Sausalito, see below
I have been trying to write this entry for two weeks, and have run out of time. Tomorrow/Today is my last day at Context Optional.

They are a great group of people and I wish them the best of luck. After some hard reflection and rumination I came to the painful realization that my destiny lies elsewhere.

For quite some time I have been wrestling with the nature of the work we do. I had chafed at the fact that I have, through them, hitched my wagon to a company whose corevalues” I despise. We may be making people “happy” to a degree, but with saccharine connections to “brands,” not real people. It is very hard to call what we do “important” by any metric that truly matters. The only possible exception is my current project: the Chase Community Giving program, where we have helped people tell J.P. Morgan Chase where to donate millions of dollars to charity … so that people will hate them slightly less.

In light of this assessment, I am ecstatic to say that I am moving on to Change.org, a network for social change and grassroots organization. I will be working with the team to scale their application to serve communities around the globe who are clamoring to use it, in spite of there being roadblocks in the way now.

We will be helping people work on the international, national, regional, and local levels to spur action on causes and issues that matter most to them. It is through these actions that we will start to see real change in our world.

I really look forward to rolling up my sleeves and beginning the work that needs to be done.

MovableType 5 and PostgreSQL 9

|
[Note to LiveJournal readers: this post is a week or so old, but I think I’ve finally vanquished the cross-posting demons]

When MovableType 5 was announced, there was a bit of a brouhaha about its lack of PostgreSQL support. Though it was completely unclear from the language of the announcement, all that meant was that PostgreSQL would not be officially supported and tested. The files would still ship with the distribution.

I discovered this fact just after the Slackers’ Network machine explosion, as we rebuilt from the ground up. Still, in the interest of the expedience of the restoration, we opted to install the latest version of MovableType 4, since our RDBMS of choice is still “supported.”

But when it finally came time to turn my attention to MovableType, I discovered it worked haltingly, throwing cryptic error after error (Can’t use string (“x42494e3a53455247000000000000000”) as an ARRAY ref while “strict refs” in use), with little else to go on. Well, that string is clearly not an array ref, but where is it coming from?

So, I rolled up my sleeves and dusted off the debugging tricks I’d learned when building my custom MovableType plugins (before there was much in the way of documentation for MT4)

…And I got nowhere fast. I figured out quickly that the string in question was ASCII (possibly UTF-8) encoded as a hexadecimal string. But the deeper I went, the more sure I became that this was some kind of decoding bug, because the data seemed to go into the database just fine, but it was being garbled on the way out.

A few weeks ago I sat down with Matt and we tried to puzzle it out. I'd done a lot of work to characterize the bug, but was stumped. With a fresh pair of eyes, rather than getting wrapped up in debugging MovableType’s own serialization logic, he had the epiphany to go look at PostgreSQL’s own encoding formats.

Lo, and behold! There is a new, improved output encoding format in PostgreSQL 9.0. So much improved it has been made the default. What's more, it looks suspiciously like the strings I've been looking at in the debugger.

Armed with that information, it didn't take us long to track down the means to revert a client connection to the old format, and apply it to our MovableType instance.

In our case, adding Setenv PGOPTIONS "-c bytea_output=escape" to the right portion of our Apache configuration was all it took.

TL;DR : PostgreSQL 9 changed bytea encoding defaults, if you’re having trouble with MovableType, try setting connection options for your client.

Who?

Another boy in San Francisco. I'm a geek, a cyclist, and an occiasional glassblower. more…

May 2021

Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Powered by Movable Type 5.04