Tag: I Hate the Fucking 90s

Web Design Got Complicated

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.

Thad Doesn't Review The Avengers

Here's the thing: I'm boycotting The Avengers.

It was Steve Bissette who convinced me, in a blog post last summer just following the summary judgement against Jack Kirby's heirs. After that judgement it looks like the heirs will never receive their due through the legal system, and the court of public opinion is their last recourse. I haven't bought Kirby-derived Marvel product since.

People have argued this one up and down, and done it well -- James Sturm, David Brothers, Chris Roberson, Heidi MacDonald, Steve Bissette again -- so I'm not going to go into an extensive retread just at this moment. But to summarize:

Yes, Jack Kirby is dead. No, his children didn't write or draw those comics. Neither did Bob Iger or Roy Disney III, both of whom stand to make massive bank on this movie and both of whom are in the position of making a lot of money on this movie because of who they are related to. Captain America should be in the public domain by now, but he's not, again thanks to Disney.

Marvel gives Stan Lee a million dollars a year. His contract stipulates that if he dies before his wife, then she (who also did not write or draw any of those comics) will continue to get a million dollars a year until she dies.

Kirby should have gotten the same deal Lee did. And if he had, he would have left his money to his children.

Never mind the rights questions and the work-for-hire versus spec questions. (Personally I believe Kirby did at least some of his work on spec, and Marvel "lost" the evidence among the thousands of pages of art they contractually agreed to return to him and then didn't. But again, never mind that for now.) Just giving some form of compensation to the Kirby heirs at this point would be a step toward rectifying the injustices Marvel did to Kirby over the course of his life. Plus, as Kurt Busiek recently noted, if Marvel (and DC for that matter) started retroactively applying their current standard contracts to past creators, people like the Kirby heirs and Gary Friedrich would spend less time suing them and more time promoting their movies.

Anyway, here's the other thing: last night somebody handed me a free ticket to go see The Avengers, and I realized that yes, this was a loophole in my boycott. If I don't pay to see it, I'm not supporting it.

Now granted, Marvel/Disney/Viacom/whoever paid for my ticket, and it was part of a marketing strategy -- word-of-mouth, buzz, what-have-you. So here's my thinking: if I talk about the movie, then they've accomplished their goal, and I've broken my boycott.

So I'm not going to talk about the movie. If I say I liked it, then I'm doing just what Disney wants me to. If I say I hated it, then that misses the point -- then I'm suggesting people shouldn't see it because it's a bad movie, not for ethical reasons. If you choose not to see a bad movie, that's not actually a boycott. (I remember lots of people in various comments sections saying they would boycott Ghost Rider 2 over Marvel's treatment of Gary Friedrich -- I reminded them that it's only a boycott if they had planned on seeing the movie in the first place.)

But yeah, I saw it. And I'm going to talk about my moviegoing experience.

I suppose you could argue that I'm still giving them what they want, if you really believe there's no such thing as bad publicity and any mention of the movie is good for them...but, well, read on.


The movie was at 7 PM, and my fiancée and I arrived before 5. She'd eaten and I hadn't, so she grabbed us a spot in line while I found the nearest place to grab a slice of pizza.

The slice I bought was mediocre and I would probably not go back. I felt particularly disapponted inasmuch as the theater is a couple of blocks from my favorite pizza place ever, but I didn't have the time or the money for that spot.

(Tangentially, several nights before I'd had a dream where I was lost in the New York subway system trying to find a good slice of pizza. Because yes, of course you can find a slice of pizza on any given corner in Manhattan, but I was trying to find a really good place. I am sure that this is a metaphor for something.)

So anyway, I got back and grabbed my 3D glasses and my spot in line. I love my fiancée but I think I may have to fire her from holding-my-place-in-line duty. Holding someone's place in line requires more than just waving him over when he walks in; you also need to make sure that you leave enough room around you for a human adult to stand comfortably in.

And so began the hours-long wait in line. It went about how these things usually go: standing in line sucks, but you're there with other people who share a common interest. I was next to a kid who had just read Knightfall and gushed about it while describing The Brave and the Bold as "unwatchably terrible" -- well, at least he's a kid who's enthusiastic about comics.

'Round about 5:45, a manager came up to the line and announced that no cameras would be allowed in the theater.

Including camera phones.

IE, a thing that every single fucking person carries in their pocket, because this is two thousand and goddamn twelve.

Now, I know that this completely fucking boneheaded policy was Disney's and/or Viacom's fault, not the theater's. But what is the theater's fault is that they waited until we'd been in line for an hour to tell us. Yes, as it turns out it was written on our tickets -- in an illegibly-tiny, illegibly-antialiased font way down at the bottom —, but how the hell hard is it to post signage and tell the guy at the door to let everyone know as they come in?

So I went back to the car, along with at least one person from every single group in line. Fortunately, this allowed the line to rearrange itself in a way so that I actually had room to stand comfortably when I got back. And hey, it could have been worse -- as I discovered when the line started moving, the guys who got there first had to stand in a really cramped spot, next to lighted movie posters that gave off a noticeable amount of heat.

And then came the wands.

They didn't pat us down, at least, but there were actually people in suits outside the theater entrance who wanded us to make sure we didn't have cell phones on us.

Let me fucking tell you something, Disney and Viacom.

Captain America did not go to war and punch Hitler in the goddamn face so that he could wake up 70 years later in an America where people have to pass through security to see a goddamn movie.

All so that somebody wouldn't record a 3D movie with their fucking phone and post it on the Internet. Because that would really hurt this movie's business, I'm sure.

Well, the good news is it totally worked and nobody managed to sneak a camera into any of the screenings and post the movie on the Internet within a matter of houohhhhh I'm just messin' with you guys, of fucking course somebody did. I checked this morning, just for curiosity's sake, and yes, surprising absolutely no one, a bootleg cam video of the movie is now readily available on the Internet.

What, you mean irritating and inconveniencing law-abiding customers didn't actually stop anyone from pirating something? I sure never would have guessed that from every single time anyone has tried it, ever!

Anyway. After the wanding we were admitted into a theater that really was not big enough for the size of the crowd. I'm given to understand they opened a second one -- which means we would have gotten better seats if we'd shown up later, because as it was we wound up way too damn close to the screen. (We were in the second row. We were told the first row was reserved for press. If the people who wound up sitting there were press, they must have been there for their high school paper.)

The seats sucked, but on the whole I was surprised to find that they didn't really suck any more for a 3D movie than they would have for a 2D one. There was a sense that the whole thing was hovering above us, and of course since you are actually looking at a plane, yes, shapes distort depending on your viewing angle. And there were bits where the screen had some single massive object filling it that made my eyes cross. But still, I don't think it was any worse than if I'd watched a regular movie from that seat. The problem isn't 3D, it's poor theater design.

All in all, I would say the theatergoing experience left a lot to be desired, and I'm certainly going to remember it the next time I think about attending a prerelease screening -- or even a popular new release.

But I will say one good thing about it: it's the only time this century I've gone to a movie and nobody in the audience had a damn phone.


There's been some talk about credits over the last few days -- an interviewer asked Stan Lee why Jack Kirby wasn't credited in the movie and Stan gave the kind of tone-deaf response he often makes when people ask him questions about credit: he actually said "In what way would his name appear?" (He added that "it's mentioned in every comic book; it says 'By Stan Lee and Jack Kirby'"; I'm going to give him the benefit of the doubt and assume he's referring to the original comics that Jack actually co-wrote and drew with him, because no, Jack does not get a creator credit on most of the current Marvel books.) I know Stan doesn't make these decisions (anymore), but I think he should have responded with "Well, that doesn't sound right; I'll ask around and see what I can do."

People have pointed out since that Kirby's name is in the credits. I didn't see it, but I think it was probably in the "special thanks" section 2/3 of the way down; the credits went by fast and the only names I caught there were Millar, Hitch, and Lieber. (And I'm certainly not saying those names don't belong there, mind; Lieber co-created Iron Man, and this movie is largely adapted from Millar and Hitch's The Ultimates -- indeed, I read an interview where Millar says they're not getting any compensation from the movie and if that's true I think it's outrageous.)

At any rate, my point is, I didn't see Kirby's name in the credits, and I was looking for it.

So, to answer Stan's question, "In what way would his name appear?" Well, Spider-Man had a big "Created by Stan Lee and Steve Ditko" credit right at the beginning, and I think the Marvel Studios movies should have the same thing. I realize that Avengers, in particular, has a lot more creator credits, but I don't care; I still think they should be up onscreen in the opening titles, every one of 'em.

(An alternative idea, that I know could never actually happen but would like to see: in the end credits you get a prominent credit for each of the leads. The Iron Man helmet with Downey's name, the shield with Evans's, and so on. You could couple those with creator credits. Prominent, middle-of-the-screen credit saying "ROBERT DOWNEY JR.", and then, lower down and in smaller type, "Iron Man created by Stan Lee, Jack Kirby, Larry Lieber, and Don Heck". Then the big "CHRIS EVANS", with a smaller "Captain America created by Joe Simon and Jack Kirby". And so on down the line. No, this would never happen in real life, because I am talking about messing with the top-billed actors' credits, but...a man can dream.)


Playing: Xenoblade
Reading: The Neverending Story
Drinking: Lumberyard IPA. It was on sale at my local liquor store, and I checked the label only to discover that "Lumberyard" is actually the Beaver Street Brewery, my old college watering hole. It tastes like the good ol' days. And hops.

An Overrated Classic

Now, I love me some Grant Morrison. He wrote the quintessential Superman story, he made me revise my "I hate the fucking X-Men" policy, and just look at what he's done with Batman.

But in the mid-1990's, I was more of a Marvel guy, so I never read his run on JLA.

Now, I've been told for years that it's a classic run, and so I finally picked up the first trade the other day. And I have to say...what the fuck is this shit?

Image: Constipated Green Lantern

Yeah, it would be a lot easier to appreciate the spectacle of the seven greatest and most iconic DC superheroes if they didn't look like this:

Image: Mullet Superman, Pointy Batman, Bimbo Wonder Woman, Popeye Flash, Surprised Martian Manhunter, Enraged Green Lantern, Angry Aquaman

Hell, let's take a look at that entire Popeye Flash panel; it's a great "goofy faces" picture in and of itself:

Image: Giant Spitcurl Superman, Grimacing Green Lantern, Martian Manhunter picking up his skirts, Very Surprised Wonder Woman, Popeye Flash

And of course the 1990's art aesthetic didn't just apply to the pencils -- let's see some Photoshop Blur!

Image: Photoshop Blur Abuse!

WHUTT! indeed. And the Photoshop problems don't stop there. It's not really easy to tell onscreen, but I can assure you that on the printed page, there are badly-antialiased fonts and jaggy pixels on backgrounds.

Now, I'm picking on the art a lot here, because it is a constant barrage of pure eye-searing awfulness, but what about the story? Can a brilliantly-written Grant Morrison story redeem truly reprehensible art?

Well, as we all know from New X-Men, the answer is "sometimes". Unfortunately, that doesn't happen here. In fact, I'm not entirely convinced this story was written by Morrison, or even a human being; it reads like it was written by the Justice League Cliché-o-Matic 5000.

New superhero team shows up and promises to save the world?
Image: The Hyperclan pledges to save the world.
Check. They're actually bad guys?
Image: The Hyperclan pledges to bring the world to its knees.
Check. They lose because they underestimate Batman?
Image: Protex dismisses Batman as too fragile to be a threat.
Check. Martian Manhunter is set up as a traitor because he's an alien who doesn't fit in...
Image: Protex recruits J'onn.  Sure he does.
...but it turns out he was a double-agent the whole time and he's still on the JLA's side?
Image: J'onn fakes out the bad guys.
Check and check. (An aside: that's the one artistic touch I really like in the book, is the Martians' shape-shifting depicted as clay crumbling off and reshaping. So kudos for that.)

Overcompensating for the fact that everyone makes fun of Aquaman by constantly showing that no really guys, Aquaman is a total badass!?
Image: AQUAMAN IS HARDCORE.
Check. Kryptonite?
Image: Protex has Kryptonite.
Ch--
Image: THE KRYPTONITE IS A LIE.
Ha, good one, Grant. Almost had me there. But I'm still pretty sure I had a Bingo two clichés ago. ...okay, one more.

Facile explanation for why the JLA doesn't just fix the world like the bad guys said they should?
Image: If you fall they will catch you, they'll be waiting -- time after time

Check. Also, what the hell are they all looking at?

Soooo yeah, a JLA story that would have sent me to the hospital if I'd made it into a drinking game, complete with Liefeld-lite 1990's art atrocities.

My question is, does it get better after that, or has everybody been having fun at my expense and this "classic" run is actually that terrible all the way through? Should I bother picking up any of the rest of it, or just skip to Earth 2? Please advise, Internet.