Update 2015-10-12: My new advice for getting Sprint data to work on a Nexus 5 phone running CyanogenMod 12 is "Don't bother." I never did get it working right, and had to reboot at least once a day to get it working. I've since reverted back to KitKat. Original post follows, but if you want my advice it's "Stick with CM11."


First, let's get one thing out of the way: if you're using a custom Android ROM on your phone (or any device that can receive text messages), you're going to want to make sure it's up-to-date. There's a vulnerability in an Android component called Stagefright that is potentially devastating; it allows an attacker to gain control by doing nothing more than send a text message, and there are now attacks in the wild.

If you've got the stock firmware on your phone, and your phone is relatively recent, you should get the patch to fix this vulnerability automatically. (If, for example, your phone is running Lollipop, either because it came with it or automatically updated to it, you're probably good.)

But if you're running a custom ROM and don't have automatic updates enabled, you're going to want to check on whether you're running a current version that includes the Stagefright fix.

I'm a CyanogenMod user. If you're using the latest version of CyanogenMod 11.0, 12.0, or 12.1, then you've got the Stagefright fix.

I recently took the opportunity to upgrade my phone to the latest 11.x series to get the fix. And I figured while I was at it, why not upgrade to 12.1 and see if it's any good?

So I installed CyanogenMod 12.1, and everything looked like it was working fine at first -- when I was using it in my own house, on my wifi network. It wasn't until a day or two later that I realized my Sprint data connection wasn't working.

It took rather more searching than it should have, but it turns out there's an easy solution (albeit an annoying one if you've already got your phone set up the way you want it, because it involves wiping it to factory again).

mjs2011 at XDA Developers links to a sprint.zip file assembled by somebody named Motcher41, and gives these instructions for use:

The fix should be flashed during initial installation, so:

  1. Flash ROM
  2. Gapps
  3. SU (if necessary)
  4. Sprint APN Fix zip

I can confirm that you don't need to worry about setting up root before sprint.zip; it's fine if you do it afterward (my recovery, for example, sets up su right before reboot). However, I can confirm that you need to install sprint.zip after Gapps and before your first boot; if you install it before Gapps or after your first boot then it won't work.

Update 2015-09-30: After a few days my data connection quit working again. I rebooted to recovery, reinstalled sprint.zip, and it started working again. So never mind about not working if you install it after you've already booted the ROM; it will still work just as well. Unfortunately, "just as well" appears to mean "just for a few days"; I'm not sure what happened that changed my settings to make it stop working, but if I figure it out I'll update this post again.

You may notice that the linked thread is old (it's from November 2013) and was written in reference to pre-11.0 versions of CyanogenMod. However, I can confirm that it applies to the 12.x series too. This issue appears to be a regression; CM fixed it in version 11 but then broke it again in version 12.

So if you're a Sprint customer and you just installed CyanogenMod 12 on your phone and then discovered Sprint data was no longer working, this is what you're gonna wanna do to fix it.

There's one more thing I want to get to before I close out my run of Ken Penders posts, and that's fanboy rationalization.

There's a meme that I've seen infect the anti-Penders fanboys, since the suit was settled: "If only Ken had been nice when he asserted his copyrights, the fans wouldn't be so angry at him."

Here's somebody named Strike Carson making that argument to me in a 2013 comments thread at TSSZ News (via archive.org since TSSZ News appears to have nuked its comments section in a software upgrade):

Penders did something behind the backs of Sega and Archie that strained the relationship and almost got the comic cancelled. Maybe I’m mixing the two stories up… But still, Archie may have ignored him for the royalties, but it was Penders decision not to let Archie know what he was going to do if he wasn’t given the compensation he deserves as stated by law. You know, that whole threatening legal action thing if he’s not paid for what’s legally his? Had he done that in the first place, perhaps he would have had much more sympathy from us.

And here's the same argument, as put forward by Tylinos on the Ken Penders messageboard:

While it'd be silly to deny that The Spice Must Flow is a significant factor in it, it should be pointed out that the most commonly cited reason here was the attitude of the whole thing, and how absurd it all looked. (Even outsiders who don't read or even dislike the comic have been among those against how Ken went about it.)

Ken could've even underminded The Spice Must Flow mentality a bit by easing into the situation with some psychology, starting out slow with a "Well, I did make these characters" and nothing more and slowly building support up to saying "I should get payment for their use," instead of immediately starting out with that.

Heck, odd as it is, even among people against how he's acted, there's been near-unanimous agreement toward him getting reprint compensation for the stories he wrote. (Which, I know, isn't in the way of the spice anyway.)

The Spice Must Flow definitely factored in, but it's fairly clear that going about the whole thing a different way would've changed fan reaction immensely, and could've bitten past it.

And jameygamer in the same thread:

If he had been a lot less uptight when this whole mess started, he would be better off in terms of reputation.

These are people who, during the years Archie was suing Penders, said they were mad at Penders because his claims were frivolous and false. Since it turned out his claims weren't actually frivolous or false, they've changed their rationalization; now they say they would totally have been on Penders's side if only he hadn't been so rude about the whole thing. We have always been at war with Eurasia.

Of course, that's nonsense; it's rationalization. They're not arriving at their conclusion based on facts; they're starting with their conclusion (Rrrr, Penders bad!) and then cherry-picking facts to support it.

A rational person changes his opinion when confronted with new facts. When I first heard about Penders asserting his copyrights, I reacted with disbelief; I thought it was unfathomable that Archie would have neglected to make him sign a contract.

As it became clear that I was wrong and that was exactly what had happened, I changed my opinion. (Not for nothin', I also admitted I was wrong and apologized for being kind of a dick about it.)

These fanboys, of course, are not rational; they haven't changed their opinions, only their justifications for those opinions.

And, needless to say, I don't believe for a second that there is anything Ken Penders could have done differently that would have prevented fanboys from howling for his blood. If he'd done exactly what Strike Carson, Tylinos, and jameygamer said he should have done, then Strike Carson, Tylinos, and jameygamer would be up there saying that they would have taken his side if only he'd done something else instead.

Well, maybe not Tylinos. He seems like a pretty reasonable guy, at least.

And I'm not just saying that because he was (at least partially) agreeing with something I'd said earlier. When he said "The spice must flow," he was referring to a phrase I'd used in a post about Jim Starlin back in 2012:

Guys like that? It's not about the law and it's not about the ethics. It's The Spice Must Flow. It doesn't matter how Marvel treats creators, as long as it keeps putting out product to consume.

There's always a fresh rationalization on the horizon. "He signed a contract." No he didn't. "Well, he's dead now." Okay, but this guy's alive. "The character we know is the work of dozens of creators over a period of decades, so no one person can really claim credit to him." Even if that were true in some cases, Thanos is unmistakably Jim Starlin's character. "Well, it was only a tiny cameo, so he's not entitled to anything." And once Thanos has more than a cameo, it's going to be "Well okay, that's terrible, but the industry's not like that anymore; it's all better now." (A point Scott Kurtz raised recently, right about two weeks before Static co-creator Robert Washington III died of multiple heart attacks at the age of 47 and his family had to turn to charity to get him buried.)

There is and will continue to be a vocal minority of comic book fans who will side with the publishers no matter what. (Oh God how I hope it's a minority -- but I think it is. You can find a vocal population of people on the Internet who will angrily, zealously defend absolutely any dumbass position you can possibly think of.)

And here's what I said to Strike Carson:

Every single comic book copyright dispute in history says the fanboys would have been just as enraged no matter what he did.

Siegel and Shuster sell Superman for $130? Tough titty; they signed a contract.

Jack Kirby gets no royalties for any of the work he did at Marvel? Tough titty; he signed a contract.

Point out that Jack Kirby didn’t actually sign a contract? Well, that’s just how things were done back then, man!

DC continues to exploit Watchmen against Alan Moore’s wishes, even though in 1985 they made a big thing of how it was a creator-owned book? Tough titty, man, he signed a contract!

Marvel demands $17,000 from broke Gary Friedrich and demands he stop referring to himself as the creator of Ghost Rider? They’re just protecting their interests!

Archie screws creators out of royalties for decades, grinds anyone who legally challenges them into paste, actually removes Dan DeCarlo’s name from reprints, then a creator comes along asking for what Archie legally owes him, Archie doesn’t respond, he provides sufficient evidence to back them into a corner and get them to agree to a settlement — and you’re complaining that he didn’t issue enough legal threats beforehand? Seriously, dude?

Yeah. I’m sure if Penders had threatened to sue Archie in 2010, all the people in this thread who are crying for Penders’s head for the crime of, um, asking for the rights he is entitled to by law, would have totally been on his side.

To the anti-creator fanboys, the facts don't matter, the law doesn't matter, the ethics don't matter, and actual human beings do not matter. All that matters is that they get the comics they want.

They'll tell you differently, and they probably believe it -- after all, most people don't realize when they're rationalizing, and most of these are individual people opining on individual cases. By and large, the guy dumping on Penders is probably not the same guy dumping on the Kirbys is not the same guy dumping on the Siegels is not the same guy dumping on the Shusters is not the same guy dumping on Wolfman is not the same guy dumping on Friedrich is not the same guy dumping on Starlin (or Ditko or Gaiman or Moore or DeCarlo or whoever). If you're not the sort of person who follows these stories, who's seen this conversation play out dozens of times in different permutations, you don't see the pattern.

But there is a pattern. And the pattern is, there are always fanboys who care more about the product than about the human beings who created it. That's the long and short of it. The justifications may change from case to case, but the attitude is always the same: "Fuck that guy, I just want my comics."

That's it for my Penders coverage. But I'm sure we'll be right back here talking about exactly the same things the next time a comics creator has a dispute with a publisher.

The plan was that this would be my last Ken Penders post for awhile, because this is not the All Ken Penders All the Time blog. Sometimes it is the Long Rambling Post About the Past 20 Years of Web Design blog.

However, the post wound up running long, and had a nice natural break in the middle, so now it's going to be two posts. There will be at least one more Penders post after this one.

But while Ken Penders is the focus, these posts aren't just going to be about Ken Penders. I intend to make a few unflattering generalizations about anti-creator fanboys in a minute here, and you may be interested to read them even if you don't care about Penders, Archie, Sega, or Sonic. If you like my posts about creators' rights, this is one of them, and the next one will be too.

So what brought me back to Ken Penders, anyway?

Well, awhile back I was looking at my site stats, and found a referral from a DeviantArt post titled A Summary of ACP Vs. Ken Penders, posted in a group called Save Archie Sonic, which is dedicated to petitioning Archie Comics to bring back all the Penders-created characters that it wrote out of the series. It was a pretty old post by the time I saw it, but at any rate it flatteringly linked to my previous Penders coverage.

And the second comment down, by a guy named CMAugust, had this to say:

The rest of this guy's articles on the subject are great too, well worth reading. On another cool note, this is the same fan who got the first online letter printed in the comic, way back in issue 40.

Holy God, what a thing for somebody to remember after all these years.

Yes, ladies and gentlemen, there you have it: the most obscure and inconsequential piece of Sonic the Hedgehog trivia ever. And it's me.

CMAugust went on to say:

Oh yeah, and if you check out his stories about other comic book people tagged under "creators rights," you'll find that whenever there's a creator vs publisher court case, the fanboys will dump on the creator every time. Sad but true, most fans only care about whether their favorite characters are featured month after month and attack anyone who rocks the boat. No matter who it is.

This is a depressing but entirely accurate observation. I will be coming back to it in my next post.

The third reply down took rather a different and less coherent tack. Somebody posting as THEATOMBOMB035 wrote:

where do we stand? same as last time
Penders is a greedy prick who doesn't deserve the right to even be remembered in the Sonic world after what he is done
he is now a living reason why we exist and why we must stand as are own group of Freedom Fighters
Penders, you are a shame to Sonic fans everywhere

It's the third line that really got me. The part where he compared the fanboys -- the people calling the guy who created or co-created a raft of their favorite characters "a greedy prick" -- to the Freedom Fighters.

And this got me thinking about something I've thought of often before.

The fanboys in these stories -- the ones who insult Jack Kirby's family, or Jerry Siegel's family, or Joe Shuster's family, or Marv Wolfman, or Gary Friedrich, or Jim Starlin, or whoever -- are, invariably, fans of a certain type of fiction. Specifically, these are fans who are extremely passionate about stories where a ragtag band of underdogs strives against impossible odds to defeat an evil empire that is far bigger and more powerful than they are.

And they sure like those stories, but they really don't seem to understand them.

Here is a guy, right here, who looked at Sonic the Hedgehog -- the story of a scrappy band of Freedom Fighters squaring off against an evil empire to regain control of their homeland -- and then looked at Archie v Penders -- the story of a lone cartoonist squaring off against a multi-million-dollar corporation to regain control of his own work -- and thought that in this analogy, the people siding with Archie were the Freedom Fighters.

I just don't get it, man. I don't get how you can be so passionate about a work of fiction while simultaneously failing so utterly to understand its message even a little bit.

Speaking of utterly failing to understand a message, I also found my Penders coverage linked from a comments thread under a piece of fan art called Bunnie's Choice. A user named AlcyoneSong said,

yeah its just sad, because the whole comic has had a reboot due to Penders lawsuit.

And then he linked to my Ken Penders coverage.

My Ken Penders coverage which contains the following passages:

And it is important to remember, throughout this discussion, that while fanboys continue to misstate the basic facts of the case, Archie sued Ken Penders, not the other way around.

and

If Archie does permanently drop Penders's characters and cease reprinting his comics, make no mistake: that's out of spite, not legal obligation. That's not Archie being forced to stop using those works, it's Archie choosing not to use them so it doesn't have to pay Penders for them.

Emphasis in originals.

I mean, for fuck's sake, maybe actually read the thing you're linking to before you describe it.

There was a time in my life where I would probably have gone to the trouble of signing up for a DeviantArt account just so I could argue with year-old posts misstating the basic facts of the case and the content of my posts. Fortunately, I'm past that now, and content to merely criticize them in really long blog posts.

In my previous post, I linked to a piece on Ken Penders written by TheAmazingSallyHogan, and I said that I had a few minor quibbles with it that I'd come back to. So here they are.

Ms. Hogan says this about work-for-hire law:

Under Work for Hire contracts, a creator is paid a flat fee for producing content. All artwork, stories, characters, plots, symbols, etc. become the property of the employer (or a third party, which would be SEGA in this example). Under Work For Hire, a creator does not receive further compensation/royalties if their work is reprinted, if their characters are reused due to popularity, or even if their work results in merchandise/mass media. This is not a salaried position – at any point a publisher can decide to simply stop asking a creator to submit work.

While that's true of Archie's work-for-hire agreements, it's not true of work-for-hire in general as Hogan suggests. It is entirely possible to have a work-for-hire agreement that does allow for royalties, or other profit-sharing arrangements; for example, the audiobooks I've recorded were all produced under work-for-hire agreements that only pay royalties, with no money upfront. Likewise, while the creators who produce work for Archie Comics are freelancers and not employees, it is possible (and indeed standard practice) for an employment agreement to include a work-for-hire clause.

And while Hogan correctly notes, here, that Ken was not an employee on salary, she incorrectly uses the word "employment" several times throughout the article to describe his work for Archie. But a job is not the same thing as employment. Ken was not an employee; he was a freelancer and Archie was his customer.

Hogan goes on to say:

These “no royalties” contracts are no longer the norm in the industry for creators working extensively on titles.

This is true (though the qualifier "extensively" is unnecessary); DC and Marvel both have royalty clauses in their work-for-hire contracts (Comic Book Resources has discussed both DC's current royalty policy and Marvel's). Archie is not the only comics publisher that does not pay royalties, but it is lagging behind the Big Two in terms of compensating its creators.

The point of all this is that all work-for-hire means is: Alice hires Bob to create something, under a contract which stipulates that for legal purposes, Alice is the creator.

That's it. That's what work-for-hire means.

How Alice pays Bob, whether Bob is Alice's employee or Alice is Bob's customer, and any other details of the arrangement between Alice and Bob are separate issues, and not determined by whether or not the work is for-hire. All work-for-hire determines is who is the legal creator of the work.

Some work-for-hire agreements pay a flat fee, some work-for-hire agreements pay royalties, some work-for-hire agreements are between a freelancer and a client, some are between an employee and an employer.

But in Archie's case, Hogan is correct: money upfront, no royalties; freelancers, not employees.

I'm going to talk about Ken Penders for a bit, because apparently somewhere along the line my blog became the Internet's foremost resource for information on Archie v Penders. And I never did get around to writing about the conclusion to the other suit, Penders v Sega et al, so I should probably start there.

To read my previous Ken Penders coverage, peruse the handy Ken Penders tag.

The gist: Archie forgets to make Ken Penders sign work-for-hire agreements prior to his work on the Sonic the Hedgehog comic, Penders asserts that he still owns or co-owns the copyrights to all that work and will be working on his own sequel, Archie sues him and writes all his characters out of the comic, fanboys flip out, Archie and Penders settle for undisclosed terms. And that's where I left off back in 2013.

Well, there were two lawsuits: Archie v Penders, where Archie sued Penders to assert that his work was for-hire and he held no ownership stake in it, and Penders v Sega et al, where Penders sued Sega and EA over Sonic Chronicles: The Dark Brotherhood, a game which featured characters similar to the Dark Legion he had created in the Knuckles the Echidna comic.

Last I talked about this, Penders v Sega was still awaiting resolution, but I learned recently that last year it was dismissed on a technicality.

I took a look at Ken Penders's messageboard a little while ago (I'll come back to that in a future post), and he linked to a Tumblr post by TheAmazingSallyHogan, citing it as an authoritative and scholarly rundown of the case.

I have a couple of minor, tangential quibbles with Ms. Hogan's piece, such as how she defines work-for-hire; I'll get to them in a later post. But they're not relevant to the specifics of the Penders case, which, near as I can tell, she has exactly right, and describes in great detail.

And as for the conclusion of the Sega case, here's what she has to say:

On September 26, 2011, Penders’ lawsuit against SEGA/Electronic arts was dismissed, with the Judge essentially telling Penders that he needed settle matters with Archie first, and then he could re-file. Penders re-filed on September 30, just four days later. The same Judge dismissed the case a second time, saying very firmly that Penders needed to settle matters with Archie before re-filing against SEGA/Electronic Arts.

[...]

In May 2012, Penders’ council appealed the dismissal of his case against SEGA and EA. Penders’ determination to have a case in progress against SEGA/Electronic Arts, instead of just waiting to re-file, was because there is a three year statute of limitations on US copyright claims – a legal time limit intended to make sure cases are tried while the evidence is fresh. Sonic Chronicles was released September 25, 2008, almost exactly three years earlier. Filing a new case later would mean he would lose the chance to sue SEGA for Sonic Chronicles’ sales, so Penders appealed the dismissal. The importance of these dates was not stated in his appeal, an omission that would later prove crucial.

[...]

On October 11, 2013, Penders’ appeal (concerning his case against SEGA/Electronic Arts) was heard. While the judges agreed that the timeline was highly relevant and that if the case was dismissed he would largely lose the ability to seek compensation for Sonic Chronicles, his previous lawyer had failed to state why the dates were important in the appeal, and thus the judges could not take that issue into consideration. Shortly after, the court rejected his appeal and upheld the dismissal. While he could re-file, Sonic Chronicles had been released September 2008. It was now well past three years later, putting essentially all sales outside of the three year statute of limitations window. However, any new usage of the characters introduced in that game (such as an appearance in the comic), could potentially lead to a lawsuit from Penders. Late October, Penders stated “this case may yet end up in the US Supreme Court if a resolution isn’t found prior to that”.

So there it is: due to a mistake in Penders's lawyer's legal filing, Penders v Sega was dismissed, and he missed the statute of limitations for collecting any of the money generated by Sonic Chronicles. No ruling, no settlement, no resolution. While I wouldn't be surprised to see some fanboys take the words "case dismissed" to mean that Penders's case against Sega was flimsy or lacking in some way, that is not what this dismissal means; the case was dismissed due to a mistake in filling out the paperwork, and no other reason.

I wouldn't expect to see Sega re-release Sonic Chronicles any time soon, as that would open them up to a new suit.

Penders's allusions to a Supreme Court case notwithstanding, this is most likely the end of it, though he's still got his own series coming at some point, whatever form it may take.

I noted before that a lot of the other writers and artists who worked on Sonic around the time Penders did could potentially file for their own copyrights (and that Scott Shaw already had). I haven't heard anything more about that. However, given how the Penders case went, I would expect Archie to quietly settle with any other creators who made similar claims, on similar terms, without suing them, and it's entirely possible this has already happened. It's one of those things we'll most likely never know.

Meanwhile, if you're interested in the case at all, I highly recommend that you read the entire piece by TheAmazingSallyHogan. It's as good and thorough a summary of the case as you'll find anywhere.

It's probably not surprising that rebuilding my website has gotten me thinking about web development.

The first six years I ran this site, I did it all by hand -- my own HTML, my own CSS, no scripting languages. I thought that CMS software was for pussies.

But ultimately, plain old HTML just doesn't scale. I conceded that when I started using b2evolution for my blog back in '06, and it's truer now than it was then.

You can poke around some of the old sections of the site a bit, the ones that haven't been updated significantly since the turn of the century -- KateStory's a good one, or the Features page (though I'd like to get at least the Features page up to date sooner than later, and maybe the KateStory one too, so maybe there'll be people reading this post well after those pages shed their 1990's style) -- and they get the job done. Breadcrumb navigation at the bottom of every section, leading you back to either the parent page or the main index.

But Jesus, you can only manually copy and paste "Back to Features / Back to Index" so many times.

And maintaining a years-long blog archive without a CMS to automate it for you? It gets old.

So, you want some automation? You're going to need a scripting language. That usually means PHP for server-side, and JavaScript for client-side.

I got to thinking the other day -- man, it's weird that you need extra toolsets to perform such common tasks as, say, reusing a navigation bar. It's weird that there's not some way just to write up a navigation bar and then write code, in HTML, no scripting required, to embed that common HTML block on the current page.

I thought this was a pretty smart observation.

For about three seconds.

At which point I realized I had just described fucking frames.

Course, the biggest problem with frames is that they weren't exactly what I'm describing. I'm talking about just an HTML snippet in some secondary file that you call from a primary file -- like an include in PHP.

That's not what frames were. Frames were complete fucking HTML pages -- <html>, <head>, <body> (or, more likely, <HTML>, <HEAD>, <BODY>, because in the old days we wrote HTML tags in all-caps) -- which is, most times, downright stupid and wasteful, and was much moreso in the days of 14.4 dialup. Even worse than the load time was the logistics -- if you used frames to build a website with a header, a footer, and a sidebar, you'd have a total of five separate web pages -- a content area, the three other sections, and some kind of main page that all of them were embedded into. This was a fucking nightmare for linking, both for the developer (who had to remember to set the target attribute on every single link, lest the page load in the navigation bar instead of the content area) and the end user (because the URL in the location bar would be the container page that called all the other pages, not the content page the user was currently looking at).

In a way, it's kinda weird that nobody's gone back to that well and tried to do it again, but do it right this time. Update the HTML spec to allow an HTML file to call a reusable snippet of HTML from another file, one that isn't a complete page.

Given all the concessions HTML5 has made to the modern Web, it's surprising that hasn't happened, even given how slowly it takes for a spec to be approved. We've got a <nav> tag, which is nice and all, but who the hell uses a <nav> tag without calling some kind of scripting language that automates code reuse? There really aren't that damn many reasons to use the <nav> tag for code that isn't going to be reused on multiple pages throughout a site.

And I dunno, I'm sure somebody's brought this up, maybe it's on the itinerary as a consideration for HTML6.

Which is another thing, really: the people making the decisions on the specs do not want the same things I want.

I liked XHTML. (In fact, lest this whole thing come off as a curmudgeonly damn-kids-get-off-my-lawn diatribe against new technologies and standards, I'd like to note that I was using XHTML Strict back when you pretty much had to be using a beta version of Phoenix -- before it was Firebird, before it was Firefox -- for it to render correctly.) I thought it was the future. I wish XHTML2 had taken off. HTML5 feels ugly and inconsistent by comparison, and, as legitimately goddamn useful as it is to be able to put something like data-reveal aria-hidden="true" in the middle of a tag's attributes, it always feels dirty somehow.

But I digress.

Point is, in 2006, I switched the blog from just plain old HTML and CSS, and added two more elements: a MySQL database to actually store all the shit, and a PHP CMS (originally b2evolution, later switched to WordPress).

And then came smartphones.

We live in a world now where every website has to be designed for multiple layouts at multiple resolutions. You wanna try doing that without using an existing library as a base? Try it for a few days. I guarantee you will no longer want that.

I think my resistance to picking up new libraries is that every time you do it, you cede a measure of control for the sake of convenience. I don't like ceding control. I like my website to do what the fuck I tell it to, not what some piece of software thinks I want it to.

I've spent the last decade arguing with blogging software to get it to quit doing stupid shit like turn my straight quotes into "smart" quotes and my double-hyphens into dashes. Just the other day, I built a page in WordPress and discovered that it replaced all my HTML comments with fucking empty paragraphs. Why would I want that? Why would anyone want that?! And that's after I put all the remove_filter code in my functions.php.

And that's the thing: WordPress isn't built for guys like me. Guys like me use it, extensively (it is the world's most popular CMS), because it automates a bunch of shit that we'd rather not have to deal with ourselves and because when we're done we can hand it off to end users so they can update their own site.

But I still write these posts in HTML. I want to define my own paragraph breaks, my own code tags, the difference between an <em> and a <cite> even though they look the same to an end user.

(And okay, I still use <em> and <strong> over <i> and <b>; there's really no explaining that except as a ridiculous affectation. I recently learned Markdown and used it to write a short story -- I'll come back to that at a later date -- and I could see switching to that. HTML really is too damn verbose.)

...and that was another lengthy digression.

So. Mobile design.

Bootstrap is the most commonly used toolkit for responsive websites. I've used it, it works well, but it's not my favorite idiom, and I've decided I prefer Zurb Foundation. So that's what I used to build the new site layout.

Except, of course, then you've got to get two dueling design kits to play nice to each other. Square the circle between WordPress and Foundation.

I started to build the new theme from scratch, and I'm glad I was only a few hours into that project when I discovered JointsWP, because that would have been one hell of a project.

JointsWP is poorly documented but has proven pretty easy to pick up anyway.

So. I've gone from HTML and CSS to HTML, CSS, and WordPress (HTML/CSS/PHP/MySQL), to HTML, CSS, WordPress, Foundation (HTML/SCSS/JavaScript, importing libraries including jQuery), and JointsWP (ditto plus PHP). And on top of that I'm using Git for version tracking, Gulp to process the SCSS, and Bower to download all the other scripts and toolkits I need and keep them updated.

So, going with Foundation (or Bootstrap, or whatever) as a standard toolkit, you get somebody else's codebase to start from. That comes with some elements that are a necessary evil (I hate fucking CSS resets, and think writing p { margin: 0; } is an abomination in the sight of God and Nature -- but if it means I can assume my site will look more or less correct in Mobile Safari without having to go out and buy an iPhone, then I guess I'll take it), and others that are actually pretty great -- I find SCSS to be really exciting, a huge saver of time and tedium, and it's hard to go back to vanilla CSS now that I've used it.

Course, with increasing complexity, you still hit those things that don't quite work right. One example I've found is that Foundation sets your placeholder text (the gray letters that appear in an "empty" input field) too light to be legible, and does not have a simple definition in _settings.scss to let you adjust it to darker. I've found a mixin that allows you to create such a definition pretty simply, but for some reason JointsWP doesn't like it (or maybe Gulp doesn't). So until I get around to finding a fix, the text stays light, and I'll just have to trust that you the user will be able to determine that the input field under the phrase "Search for:" and to the left of the big blue button that says "Search" is a search box.

I've also got loads of optimization still to do; part of that's going to mean figuring out what parts of Foundation's CSS and JS I'm not actually using and cutting them out of the calls, and part of it's probably going to mean minification.

Minification is one of those things I resisted for awhile but have come around on. It can be a real hassle for debugging, not being able to view a stylesheet or script in full, and it may not be practical just to save a few kilobytes (or a few dozen, rarely a few hundred) -- but on the other hand, well, it's not so different from compiling source code to binary; the end result is still that you take something human-readable and turn it into something much less human-readable.

And of course now that I'm using a preprocessor, my CSS file isn't my real source code anyway; it's already the result of taking my code, feeding it through an interpreter, and outputting something that is not my code. If you want to look at the stylesheet for this site, you want to look at the SCSS file anyway (it's on Github), not the CSS file. And if I'm already telling people "Look at the SCSS file, not the CSS file," then what's the harm in minifying the CSS file and making it harder for people to read?

For now -- prior to removing unnecessary code calls and minifying everything -- I feel like the site design's a lot more bloated than it needs to be. And even once I slim it down, there are going to be some compromises that go against my sensibilities -- for example, when you loaded this page, you loaded two separate navigation systems, the desktop version (top navigation and sidebar) and the mobile version (just a sidebar, which contains many of the same elements as the topnav and sidebar from the desktop version but is not exactly the same), even though you can only see one of them. That redundancy makes me wince a little bit, but ultimately I think it's the best and simplest way of doing it. Sometimes, good design does require some redundancy.

All that to say -- man, there have been a lot of changes to web design in the last twenty years. And while there are trends I really don't like (if I never have to build another slideshow it'll be too soon; gradients are usually dumb and pointless; and the trend of making visited links the same color as unvisited ones feels like a step backward into 1995), there are also a lot that I've eventually warmed up to, or at least accepted as something I've gotta deal with.

Anyway. Welcome to the new corporate-sellout.com.

And one more thing about the site before I go: it's probably worth noting that this site is different from the other sites I build, because it's mine. Its primary audience is me. I like having an audience, but frankly I'm always a little (pleasantly) surprised whenever anyone actually tells me they enjoyed something I put on this site.

Because this site isn't one of my professional sites. I didn't build it for a client. It's not my portfolio site, which I built to attract clients. This one? It's for me. As should be clear from this rambling, 2200-word stream-of-consciousness post about the technical ins and outs of web design, as it applies specifically to me and to this site.

Frankly I'm always surprised when anyone actually reads anything like this.

Well, that's the update done, and you should be looking at the new theme now.

It needs work (the current "Archives" list in the sidebar is 67 lines long and I need to remember how to limit it to just the last few months like in the old version), but it's a start.

I'll be puttering around behind the scenes for a little while yet. Course, the point of all this is that I'd like to start blogging regularly again; there's not much point to going to all this trouble to pretty it up if I don't start using it.

As you might expect, just the update itself gives me plenty of things to talk about -- what I like about modern Web design and what I don't.

More to come, I should think.

Gearing up for a major site update -- first I'm disabling all my plugins, then I'm updating WordPress, then I'm installing a brand new theme, and then I'll be beating the theme into working shape. Things may break at any and all points of this process.

So I spent the past few days trying to get Ubuntu Studio installed on my 2006-era Mac Pro 1,1. I can't speak for other Macs specifically, but here are some details you're going to want to know if you engage in that undertaking:

  • The Mac Pro 1,1 won't boot Linux from a USB stick.
  • It also won't boot it from a dual-layer DVD. Double-check and make sure you're not using dual-layer.
  • The LTS releases of Ubuntu (such as 14.04) have images that are specifically labeled "amd64+mac". Use those. Otherwise you might wind up stuck on an unresponsive "Select CD-ROM Boot Type" prompt.
  • You may or may not need to install rEFInd to help you boot from a Linux disc. If your disc isn't showing up when you hold the Option key at boot, give rEFInd a shot.
  • There's a useful guide at Ubuntu Community Help called Installing on a Mac Pro - Cylinder (Late 2013). As the title implies, it's not written for the older-model Mac Pros, but most of what it says is still applicable. (But it tells you not to use the Mac-specific ISO files. Don't listen to that part; you should use those on the 1,1 model.)

Dear DC,

Here is a list of DC Comics I would have purchased today if they had not contained obnoxious half-page Twix ads:

  • Batman Beyond #1
  • Bat-Mite #1
  • Bizarro #1

Here is a list of DC comics I purchased today:

DC, I do not have a fancy marketing degree. However, I can offer you a marketing suggestion for free: if one team of marketers suggests making money by releasing new comics that appeal to a different audience from the core DC line (albeit, granted, still pretty much just made up of spinoffs of Batman and Superman comics), and another team of marketers suggests making money through finding a really irritating and distracting way of putting advertisements in your comics, perhaps you might consider rolling out those two ideas separately instead of simultaneously. This is what is known as "isolating the variables".

I would also suggest that, if I were one of the writers, artists, editors, or marketers who had gone to considerable effort to create and market a new and different comic book to a nontraditional audience, I would be pretty unhappy right now with the people in management who had made a decision that actively sabotaged the appeal of that comic book.

I do not wish to be negative or ungrateful here. I greatly appreciate your decision to convince me to keep the nine dollars I would have spent on those three comic books. I went nextdoor and spent that money on beer instead. I had a Four Peaks Kiltlifter and a New Belgium Slow Ride. They were very good beers, and at no point in my drinking experience did they interrupt me and try to convince me to buy Twix.

Kisses,

Thad