Sunday, July 27, 2014

History, ashheaps, resignation

A view I've talked about with increasing frequency as of late is, what I sincerely hope to be viewing at the moment: the demise and dissolution of the Republican party in America.

From where I'm standing, it appears that without some large-scale restructuring of the party, the Republicans are caught between a rock and a dumb place, and this will provide increasingly smaller returns for their investment until they are (finally) regulated to a position of being mute, irrelevant, and shuffled from the political state. Or something like that. The hysteric thrashing of the Tea Party jerkoffs provides a strong signal that some for of change is required within, but my money is solidly behind the theory that being louder and more crass is not a winning combination. Cannibalizing the party with ideological purity tests where the losers are thrown out for being insufficiently vile isn't going to bring more voters into the big tent. Rather than win a race against a Democrat to pick up a seat, a vocal chunk of the right wing is now getting people ostensibly on their side tossed out of office, and replaced with rabies-infested lunatics.

This strongly mirrors the "Red Queen" scenario oft-cited by people who do not understand evolutionary biology, and which we get to view whenever a longstanding institution is sufficiently threatened to the point where the goons in charge lose their fucking minds and do whatever it takes to "win" by destroying an opponent, rather than relying on their own merit. I've seen first-hand evidence of the tactics the right now must resort to: collecting donations for "progressive causes" that are then funneled to the NRA, misrepresenting their causes in attempts to steal credibility, and just outright fucking lying to everyone who can hear them. These are not methods employed by an organization that expects to win on the strength of its ideas.

This is a process that is dreary and familiar to science, to the point where a new theory is generally accepted once all of the old guard has had the common courtesy to finally just die off, and a new generation grows up unhampered by the follies of their elders' viewpoints.
Or, to put it more bluntly: stupid fuckers are going to keep being stupid fuckers, and will fight to the bitter end to defend their backwards ideas. They money shot from that article, by the way is the following: "Thurmond never explicitly renounced his earlier views on racial segregation. [...]  'When Strom Thurmond ran for president, [Mississippi] voted for him. We're proud of it. And if the rest of the country had followed our lead, we wouldn't have had all these problems over the years, either.' Lott was ousted as Senate Majority Leader." Usually, you just have to wait for the old sons of bitches to die. They ain't gonna see reason.


Seeing more vocal screeds and overly dramatic action by an increasingly smaller population of 'conservatives' looks to me very much like the final collapse of a wounded beast thrashing at anything within reach.

Thursday, July 24, 2014

Girls can't compete in sports

Uh, unless you're Kacy Catanzaro. I'm a fan of Ninja Warrior for the same reason I like the Dark Souls games: I enjoy stuff that is difficult and will crush the spirit of the vast majority of people who attempt it.
Kacy completely fucking wrecks the Ninja Warrior course, which regularly destroys professional athletes, overzealous amateurs, and people at the height of physical fitness. And she's like 5'0". Watch this, it is awesome:



Kacy's performance is so good, it made me attempt to fix the stupid default widths that clip the edges of embedded YouTube videos which resulted in a new template thanks to Blogger being brain dead. The view works fine on my laptop, I'll get around to checking non-widescreen stuff . . . eventually.

Monday, July 21, 2014

By request, a diatribe on technological acumen as opposed to an MBA

This, I feel, is a natural reaction to the silly horseshit startup brogrammer culture, and, if I am lucky, a potential heads-up to young nerds lest they defile themselves unnecessarily with Nonsense.

During my regular media baths, I have come to conclude that one of the more lucrative and valuable job skill sets currently available is "MBA + technical programming ability." On paper, this sounds fantastic from an H.R. standpoint - you can hire someone to do business things, who can also add value to your software-product with sagelike recommendations and helping out by writing a fair bit of code at crunch time. A perfect natural fit for a Project Manager or Product Manager type position, allowing your company to dominate the market and devastate the balance sheets of any competing product/service.

To be sure, any tech oriented business would be delighted to hire such an individual, and a startup would be pleased indeed to have another 0.5 developer on board.

And therein lies the problem.

I am an adequate programmer. This is as close as you fuckers will get to modesty from me, but I will begrudgingly allow the point to stand. I know many devs that are far more talented than I am, and do not have the time/motivation/financial incentive to hone those skills further at the moment. That said, I have made a lot of companies and people a shocking amount of money over The Internet with the skills that I have.
On the other hand, being "adequate" by my standards, is apparently a much higher bar than it is for the rest of the semi-retarded jackasses programming for money these days. If you doubt the Truth of that statement, find a programmer, and ask about the quality of any code they've seen from any other developer. Alternately, wait until you see the next hacking or "website does not work" story on the news.

The skills it takes to write a properly functioning algorithm for a piece of software Do Not translate well to the field of Business. The Business wants a new product to sell. Out the door. Now. A Programmer, would like (ideally) to produce a perfect piece of software, one that functions without bugs, runs quickly, and satisfies all needs of the user.
Here, we see the problem writ large: Programmers will immediately see the clusterfuck implied by the above paragraph. Business people will Not.

There is no way to resolve this.

Some Clever Dicks in the audience may use Fog Creek as a counter example here, and to them I say "get fucked." They are a very rare software shop, and that is why they are notable. Look at every other program or app you have installed or use, and note the percentage that is Fog Creek stuff.

Fundamentally, we are looking at a different set of skills. MBA people have learned how to work in and maintain a business. Programmers know how to optimize algorithms and write FizzBuzz (hopefully.) As a Product Manager, I've released stuff that has bugs in it, with the reasoning that "no one should notice this" because we needed to Ship. As a programmer, I got very drunk that night, because I hated myself, my job, the entire industry, and anything that would put me in the position to add to the mountain of shit that constitutes all software.

So, we Released an update. And people used it. And some people complained. But the business made (more) money, so it was the Right Thing To Do.

We come to the synthesis of the piece: This is why being an MBA + technical skills is an incredibly valuable skill set. Very, very few people have both. There needs to be a person to release new stuff when it's perfect (to satisfy the Programmers. Which will never happen.) and can be released yesterday (to satisfy the MBAs. Which will never happen.) Perfect cannot happen yesterday, and neither goal is attainable. Being able to strike the balance between the unattainable, and have the extensive knowledge of both sides to be certain you're right? That's the billion dollar skill set. On the whole, I would rather advise people to concentrate their efforts into one field or the other, and do well in an arena that they enjoy.


Sunday, May 4, 2014

A collection of short things

1) Google, stop being a bitch about the browser I use. You have millions of dollars and many developers. I have a preference for a much better browser than Chrome. Live with it, and stop throwing up passive aggressive warnings. Everything works well enough in Opera. I am not a moron, and can deal with the things that do not do so out of the box.

2) I was going to write something up on Brendan Eich & Mozilla during that short lived shitstorm, but I am lazy and didn't get around to it. Suffice it to say that the dude supports some ignorant bullshit, and I am completely OK with people shitting on FireFox once he got the top spot at Mozilla.
Seriously. If the story had come out that Eich was against miscegenation, he would have been shown the door immediately. It's not OK to hate gay people. It is not OK to throw money at campaigns to deny them the same rights as other people. When you get caught doing stuff like this, then you really do deserve an awful response from the public.

3) Mozilla doubles down on stupid fucking ideas! Every time I see something pop up about Rust, I get a tiny hit of sweet, sweet schadenfreude. Write code is hard. Working on a large scale project is also hard.
Throwing away years of bug fixes is fantastically stupid. Not learning your god damned lessons the first time around is borderline retarded. There's a reason that Joel article is titled "Things you should never do". For a quick example, do this exercise: list all of the 1.0 versions of software that were awesome, bug free, and worked well out of the box.
I will helpfully provide the answer: that number is zero. More galling is the fact that those goofballs managed to lose the last browser war by doing this exact same thing. And now, they're going to use a  new language to rewrite a chunk (or all) of their browser? Jesus christ.

4) Moar bitcoin suicides plz. People hanging themselves over fake internets money puts the biggest smile on my face.

Monday, April 28, 2014

I can't even get served at Taco Bell with this mask on!

I have been a Deadpool fan for a very, very long time. This is not news. I had original copies of the Circle Chase and the 4-part series with Siryn, Black Tom and Juggernaut. I literally danced when Chris Hastings got tapped to write for the series. Deadpool, for me, was one of the D-list characters I like so much in the Marvel universe, and seeing the surge of popularity around the character in the last decade was awesome.
When the movie died the last time, I was . . . not pleased.



Fox / Marvel, do not fuck with me about this one. I have been lied to before.


Are we getting a for reals Deadpool movie this time? If so:



Tuesday, March 18, 2014

Adventures in product land

Part of my job is doing market research, and keeping up on developments in technology. A lot of that means reading dumb shit people have written about tech.
This delightful piece sets out to debunk a few common "myths" about technology, development, blah blah blah. Which is fine, as a concept.

Unfortunately, like goddamned near every article on software written by someone who don't know shit about development, it quickly goes off the rails.

"Myth" 1: The myth of the 10x software engineer. The article argues against "the claim of “10-fold differences in productivity and quality between different programmers with the same levels of experience."
This is a myth? Horseshit. There is absolutely this level of difference between someone who knows what the fuck they're doing and regular jackoffs. I have worked with people who did fantastically shitty work, to the point that everything they touched for weeks had to be thrown out rather than finished by someone competent. On occasion, I have been that jackoff, when fiddling around with a very poorly understood system.
Can code reviews and better methodology help with this? Absolutely.
Who is going to have to spend time mentoring the underperformers? The 10x developer who would otherwise being squashing bugs or gluing together a new feature. Now the codebase isn't getting shit all over it, but new stuff is happening at a much slower rate.

Being able to solve a problem, correctly, and implement that solution in a bug-free manner will save at least 10x the time as having a half-assed "solution" that doesn't work or takes another 3 weeks to debug.

"Myth" 2: "the “exponential defect cost curve,” that is: the claim that if it costs $1 to fix a bug during requirements, it will cost ten times as much to fix it in coding, a hundred times in testing, a thousand times if the software reaches production"

Jesus fuck. This entire concept is why we leave comments in the goddamned code. Shit you fix up front, when the code is fresh in your mind, is a thousand fucking times easier than trying to re-work what's going on in detail several weeks or months later. Every time you go back into the code to fix a sufficiently complicated widget, you run the risk of introducing new bugs. Also, you will piss off your customers if these bugs make it to production. That means they stop being your customers. That means you get to look for a new fucking job, you stupid bastard.
Unclear requirements lead to shitty decisions made that will influence future development. If things are fucked from the get-go, it is an order of magnitude more difficult to fix them later since you have to either
a) re-write everything
or
b) write the fix around the existing bullshit without breaking anything else

The hippies will lie and tell you that everyone is magical and special and equal at writing code. They are fucking liars. This is why Geocities sites looked like shit, and professional stuff does not.
Clearly defining what needs to be done before you get halfway through it saves an unbelievable amount of time. This is why you don't build half of a fucking house before you have blueprints for the other half.

Sunday, December 1, 2013

How to fuck up your UI in one easy step

No, this is not going to be about the questionable utility of Yet Another Fuck A Stranger App.

Step 1: Build the app.

Step 2:  Admit in public that you have no idea how users would . . . well . . . use it. Or what they would use it for. If you find yourself suggesting that additional applications are probably necessary to get anything done with your app, throw the fucking thing out and start over.

I know innovation is hard and all, but goddammit, if I had to fire up emacs on the side to get shit done with Visual Studio, I would Not Use Visual Studio. Designing the layout for the user interface on an application is hard enough when you have a clear vision of what the thing is good for. If it's such an amorphous mess or you haven't talked to your (potential) users to find out what they really like, then you are probably going to fuck things up terribly. Looking at you, Mozilla.

Now, I don't think that the Gmail UI is the best thing ever, but Google does try to get this stuff right.
You're using an email application? Great! Notice that the 'compose' button is the big red one? That is not an accident. All the individual messages on the right? Of course you can click those to read the whole thing. Google wants to plug their silly-ass Google Plus nonsense - there's a little link for 'Circles' on the left under all the other folders.
Now, if Google had no idea what the hell people were going to be doing with Gmail, I will guarantee that those buttons would not be in the same place, or even present on the main Gmail screen. And imagine how much of a pain in the ass a mail app would be with no compose / new message button front and center. This is the kind of crap that gets overlooked when you don't know what the fuck people are going to do with your shiny new program|service|whatever. Congratulations! You just wasted a bunch of development time to piss off your userbase and have to spend time 'fixing' the stuff you should have been paying attention to from the beginning!

Without letting this turn into a 50-page manifesto: You can't know everything that users are going to want to do with your program, but you should have a really, really good idea about the core functionality and make that easy to use.