Wednesday, July 10, 2013

Names changed to protect the guilty

Being a moderately-talented programmer, I am a big fan of the Daily WTF. Since I am also a shitty writer, I submit the following, in accordance with the style of the site.

Part 1: The Interview
Nathan arrived at the group interview for a webmaster / developer position with ACME Corporation. The phone interview had gone well, and he was one of 4 people selected for the final group interview. During the phone interview, the owner of ACME, Bob, briefly explained that they were looking for someone with expertise in HTML and XML to develop a new web app for their site, and gave Nathan the time & place to show up. Arriving at the office, there were two other applicants, an older gentleman in a suit, and a college aged guy. The final applicant never showed up. Since the position was offering far more than the average market value for salary, Nathan assumed the competition for the job would be stiff.

All 3 applicants were brought to a room, and Bob spoke about the company history, as well as what he was looking for in future development with the website. Then he started asking the 3 candidates questions. The older gentleman went first, and began his tale of woe about his failed business teaching people Java. After about 20 minutes, he finished by saying that he couldn't understand why he never attracted many clients, and was looking to get into "web stuff". The college kid hadn't had a web development job before, but he was currently running a Linux server out of his mom's basement hosting some sites for his friends. He didn't know XML, but he felt confidant that he would be able to master classic ASP well enough to do a bang-up job on ACME's projects. He lived two counties away, and assured Bob that his first priority upon being hired would be to buy a reliable car so he would be able to commute to the office regularly.

5 minutes into the older man's speech on "Object Orientated Programming", Nathan started idly doodling on the notepad he habitually carried around. When the young man finished, he looked at Bob and stated "I don't know if there's a new spec out, but all my Java books have the words 'Object Oriented' on the cover. I live around the corner from the office, and I've spent the last decade working in web development for [corporations you would recognize]." He slid his notebook across the table to Bob. "Here's a rough sketch of the XML and transactions to set up the service, based on what we've talked about. I would need some more detail on the points marked on that page, but it shouldn't be too tough to build."
Bob asked Nathan a few more questions, and the interview ended.

Part 2: A few months later
Nathan had learned over the course of the last few months that "HTML and XML" were indeed part of the requirements for the job. Also, managing ACME's SQL server, web server, Exchange server, as well as maintaining the site written in classic ASP using splashes of XML, JavaScript, VB Script, coded by roughly 10 people over the last few years with varying levels of documentation. And troubleshooting the PCs and printers used by the office staff. That along with a lengthy list of new app and feature requests made for a broad set of tasks each day. The company website was also the backbone of their operations, all work done at ACME was through the site. The office staff would log in every morning, and begin entering orders the less technical customers had faxed in, as well as processing the orders they had received. The front end of the site was the tip of a large iceberg of back end custom features to support this.
Around 11PM one Saturday night, Nathan's phone began ringing while he was in the middle of a 'liquid therapy' session at the local bar. Bob's voice was frantic: "The login page on our site doesn't work! We need this fixed now!" Nathan, drunk and feeling no urgency to overhaul a login page on a weekend, sighed, grabbed his laptop and checked the site.

Sure enough, his login failed when trying to access the site. He also noticed some strange script text showing up on various pages on the site. Odd, where was these strings coming from? In the back of his well lubricated mind, alarm klaxons started blaring. Logging in to the web server and SQL server, Nathan noticed a high volume of traffic coming from an IP in Russia. And that the table for user accounts now had all-new information instead of the encrypted usernames and passwords it was supposed to contain. Username fields now contained the same script tags he'd seen on other parts of the site. Knowing that this was bad, and not feeling up to resolving the obvious issue, Nathan set up a blanket ban for all IPs outside of the U.S., reset all user accounts and changed all of the passwords, and removed the login form from the site. Not wanting to try to explain this while drunk, he called Bob back and notified him that he located the problem, and that logging in to the site would be disabled until he had a chance to review the issue more thoroughly in the morning. Satisfied that whatever script kiddies were dicking around with SQL injection were thwarted for the time being, he headed home to catch a little sleep, sober up, and begin proper investigation.

A few hours later, examining the database revealed that 3 tables had data overwritten. Two of those had basic information that would be piped out to the site upon request, and the 3rd was the table of user data. Nathan restored the two tables with a backup from the previous week, since nothing there changed much and started going through the code on the site looking for vulnerabilities. Each passing hour spiked his blood pressure a little more. Finally, he called Bob. "Who set up the security on the site?" Knowing that the answer would be Local IT Outsourcing Shop. "The local shop did it. We had them run tests on the site, and patch all the holes." "Do we have any documentation on what was found and what they did?" Bob replied that there was indeed documentation, as ACME had paid handsomely for such a service. Nathan agreed to meet Bob at the office immediately to see that doc, as it appeared that there were still some outstanding issues.
Bob proudly handed over a 20 page document of noted security issues with the site, and a form verifying that they had all been addressed. Nathan checked each one in turn, noting that SQL injection was one of the issues tagged as 'high priority' on the very first page. After reviewing all of the issues and the code on the site, he walked into Bob's office.

"So, about those security issues in the report."
"Yes?"
"How much did we pay to have those fixed?"
"[large number of dollars]"
"You might have overpaid. The thing that broke the login page trashed some of our database, and was not fixed. Neither was anything else listed on that report. None of the security fixes were put into place."
Bob stared in disbelief. "What do you mean, nothing?"
"Not a single goddamned thing was ever patched. I checked the whole report, and the major flaws were not addressed at all. So . . . . I'm going to take a couple days to address these items, but here's a copy of the site files from the day I started. I imagine this will be useful to the lawyers."


Monday, July 1, 2013

Adventures in product land

*tap tap*
This thing still on?

So, one of the side-effects of getting a promotion for a position that I did very little research into means that I'm now part of a department that I have next to no knowledge about. To my eternal shame, I am now part of Marketing, and transitioning from a hard science tech oriented role to becoming another cog in the eternal bullshit factory has required that I do a lot of external reading to get up to speed.
But.
It's going well, so far. I enjoy most of what I do, and it's interesting work. On the other hand, I am now constantly evaluating things from a "product" standpoint. I stumbled across this article a little while ago: http://techcrunch.com/2013/06/18/the-offline-glass-ensures-you-talk-not-text-at-the-bar/ and I initially thought "That's kind of a neat idea. Force people to not be phone/Facebook addicted when they're out at the bar with their friends."

After a couple hours, I'm more concerned that the condensation from the glass will wreck the phone, and the bar runs a liability risk for destroying people's gadgets. I saw what the cost would be for my phone if I had to pay for the thing out of pocket, and I'm pretty sure "let it get soaked at the bar" isn't something my provider will look upon kindly.

If I got asked to solve this problem, I'd go about it from an incentive-based standpoint. A few bars here will grab a pint glass if you're running a tab and just drop slips in it with your drink orders then total it up at the end of the night. I'd suggest adding a small discount to all drink prices for any group or customer that added their phones to the pint glass / container and left them behind the counter for the time they're out. Obviously all drink prices immediately go up by $0.50 to offset any lost cashflow from the 'discount'.  Problem solved, no new hardware required.
Or redesign the glass to funnel all condensation off using a channel in the glass base, or whatever. I'm open to other options here.
Just a thought.

Saturday, January 5, 2013

I am entirely too pleased with this video

Obviously, it is Gagnam Style by PSY, because I am a fan of the absurd. The overall success of this thing baffles me - I like it because the song is moderately catchy, but the video itself looks like it was designed by committee. In an asylum. Where the good drugs were being pumped into the air, water, and testicles of everyone inside.
Let's break this down. I am using, for reference, this version.

0:05 in, we get this fade-in:

This. . . This appears to be a young woman with a PSY fan. I can't speak to the marketing genius of putting a  cartoon version of oneself on a fan, but OK, I can live with this.
Oh look, PSY is lounging and being fanned by this woman. OK, that's fine.
...
Wait. What the hell? 0:15


He's lounging on a goddamned playground. That kid looks pretty pissed-off about the dude setting up shop with his chair & umbrella in the middle of their dodgeball field. PSY, starting a trend for the video, gives exactly zero fucks. When PSY feels it is time to chill, children can go straight to hell. He's setting up shop and having some PSY time.
18 seconds in. Time to invade the local stables.
Wait, weren't we just in some playground? Fuck it. Horses are going to be part of this. Shit just got real.

And the local children rejoice! With an impromptu Michael Jackson dance as PSY spits a mouthful of Everclear into the air. Having successfully recruited a batch of urchins to his cause, PSY continues his crusade on the human psyche.

And here it begins. 26 seconds in. This goddamned horse dance shows up for the first time. This is PSY, seen here mastering his form, in the same way as kung-fu masters observe animal fighting techniques and learn to wreck faces. Why dance like a horse? You are asking the wrong questions. PSY doesn't need to answer that, he is here to start a crusade of shenanigans and YOU WILL BE A PART OF IT.

Aaaaand they let him near models. PSY, not understanding human needs like "breathing" has a bunch of fans blow fake snow at him. He accepts this as an awesome thing to do. The models cringe like every woman I've ever dated and shield their mouths & noses. Also like every woman I've ever dated. PSY gives zero fucks, and proceeds onward toward the storm, dragging the frightened and uncomfortable women with him towards glory.

Now he's in a sauna. Dressed like a woman. This is all of 4 seconds later in the video. Pudgy dudes have no protection against PSY, he will cuddle the fuck out of you in a sauna, you WILL join the crusade. If you refuse:


BOOM! Fuck you karate dudes, all opposition will be eliminated. Some directors would ask "why do we need that shot?", PSY just says "We already shot the footage, now you put that shit in, this is going to be a damned masterpiece."


One minute, eleven seconds in. We dance in a barn! With models! They will also the horse dance!
PSY, buddy, you have literally not worn the same outfit for more than 5 seconds in a row and you've been terrifying the local populace. Why are you on a rampage of horse dancing all up in peoples' shit?

HAHAHAHAHAHAHA!  See, if I were to do this, that would be considered "assault". PSY decides that horse dancing at people going for a pleasant jog is a way to remind them that they are never safe. This is 1:17 into the video, and those women are frantically trying to find a way to run at full speed in reverse. PSY cackles and chases them off frame before heading on to


. . . horse dance on a boat. Of course he does. But the life vest! Safety first! Now! On to the local outdoor yoga class where PSY will


. . . Scream at womens' asses. I . . . I have no idea what's going on anymore. I will confess, I have done a lot of various pharmaceuticals at various points in my life, and I still indulge in the demon booze on a regular basis. This man is now one minute and forty seconds into this video and he has already taken a hard right at crazy-town and is busy plowing through the strip mall in insanity-ville.


Oh thank christ. Someone thought to stop this man, and has summoned a guy in full-on Game of Death Bruce Lee getup to put an end to this. Horse dancing models flee, to avoid the oncoming carnage.


Or dance-off. I can already see how this will end. PSY's horse dance technique is unstoppable. The only thing left here is the gloating.


By having a young man in a cowboy hat sporting a PSY medallion do pelvic thrusts in an elevator. In all honesty? I can't think of a better way to show dominance. This is how I want to show up to an event, at least once in my life. You aren't getting on this elevator, this one is reserved for champions.
Let the above image soak in, and think about what went in to that shot: PSY is wearing a suit chilling on the floor, he's not even the focus of this. He's got a dude, whose sole purpose in life right now is to dance like a maniac over him, dressed in Roman legion sandals, 80s shorts, a cowboy hat, some lime-green shirt with a tail (!), and a medallion with his own face on it. And that guy looks ecstatic about it. PSY is brainwashing the world.


Random girls on the bus are even falling prey to this. PSY is a cult leader with no standards - you're in the elevator? HORSE DANCE. You're on the bus? DANCE MOTHER FUCKER. It no longer matters, everyone is going to get in on this. Also? We're just over 2 minutes in.

Listen woman. You're going to dance and like it.

That glazed-but-happy look on her face? That is acceptance.


PSY surfaces in yet another bath house, just to remind people: you are safe nowhere. PSY will find you. And there will be horse dancing. PSY never stops. He never sleeps. There is no escape. Hell, he probably does this when he's


Yes. Yes he does. The bar has been raised. Do you indoctrinate people when you're on the shitter? No? Get out of here, PSY doesn't never stop. This is now his world, we're just living in it. And horse dancing.



How ubiquitous is this shit? Youtube changed their damn code for this video. I am not lying:
PSY wins.


Thursday, January 3, 2013

The Reading List. 2012 Edition.

So, I will preface this by saying this Reading List is somewhat anemic compared to previous years. This is True, but I have helpfully marked the books over 1,000 pages with an asterisk as somewhat of a salve to mine own ego.

Things I have read in 2012, by Nyar. Age 31.

My Childhood
Notes from the Underground
The Gambler
Strange Communists I Have Known
The Yellow Line
Citizen of the Galaxy
Friday
Slaughterhouse Five
Stranger in a Strange Land
Starship Troopers
The Best War Ever
Broken Government
Alan Turing: The Enigma
The Sirens of Titan
Ender's Game
Speaker for the Dead
The Gunslinger
The Drawing of the Three
The Waste Lands
Wizard and Glass
Wolves of the Calla
Song of Susannah
The Dark Tower*
Wind through the Keyhole
Agents of Light and Darkness
Nightingale's Lament
Hex and the City
Paths not Taken
Sharper than a Serpent's Tooth
Hell to Pay
The Unnatural Inquirer
Just Another Judgement Day
The Good, the Bad, and the Uncanny
A Hard Day's Knight
The Big U
Zodiac
Snow Crash
The Diamond Age: or A Young Lady's Illustrated Primer
Cryptonomicon*
Quicksilver*
The Confusion*
The System of the World*
Anathem*
The Mongoliad
Reamde*
The Last Continent
Night Watch
Making Money
Pyramids
Snuff
Already Dead
No Dominion
Half the Blood of Brooklyn
Every Last Drop
My Dead Body
The Mystic Arts of Erasing All Signs of Death
Daughter of the Blood
Heir to the Shadows
The Preacher (1-9)

more than I cannot remember.

Wednesday, November 7, 2012

Nate Silver reveals Liberal bias

Correctly predicts 50 out of 50.
Also titled: "Working with the Other Side does not function in Asylums"

Despite the conservative warnings that Nate was Skewing the polls and dead wrong about a Great Many Things.

To the Republicans, Conservatives, Libertarians, etc. I say This:
Listen, you stupid cocksuckers, your entire party is based upon Bullshit.
Health Care is a Good Thing.
We are not Afraid of Gay people.
Brown people are pretty cool.
Supply-side economics is not going to do a Fucking Thing for You.

You Bastards have spent years and millions saying that anyone with an education was a Pointy-Headed elitist, and yet you are Surprised when We get the Math right?

How the fuck do you even justify that? "math and college are for faggots, they can't possibly know how to do statistics." Seriously.
States run by Republicans? You owe me Fucking Dollars. I go to work and pay taxes so you Sons of Bitches can say the president wasn't born here, Iraq had anything at all to do with 9/11, and you should have the option to not have Fucking Health Care so I can pick up the Goddamned tab when your ass goes to the hospital or needs lunch.
Fuck you all. If I am tempted to 'reach across the aisle' at this point, it is only to deliver a bitch-slap to anyone on the other side. Mission Accomplished my ass. Never Forget this. Your guy gave up, our guy makes terrorists into dead people.
Bitch about Obama all you fucking want, I am going to drink myself stupid because we only have about 4 years to fix as much of your garbage as possible before we have to do this all over again.
But, by all means, keep denying global climate change, an old Earth, the rights of homosexuals, womens' reproductive rights, minorities as citizens, the value of an educated and well paid labor force, first world medicinal care, math, science, computers, the internet, and pretty much anything else that confuses white elderly people. You will all die soon enough, and I will dance on your graves.

My unsolicited love letter to the makers of Demon's Souls

You magnificent bastards, I hope your children are sold into slavery and / or featured in clown-related pornography on the Internet. Demon's Souls is a spectacular throwback to the Nintendo games of the 80's which would punch you in the balls with no warning or possibility of respecting you in the morning, and does not give a fuck if you are OK with that.

The first clue(s) you will receive about this is that
a) there is no option to select the difficulty. This game assumes that you are a Bad Motherfucker, or it will happily turn you into paste.
or
b) you will die during the training level.
Death is only but so much of a problem in Demon's Souls, and you will get used to that state of being. You can play the levels while dead, with the minor impediment of losing half of your health bar.
I am a fan of challenging games, I have several MegaMan collections, I thoroughly enjoyed Maximo, and my go-to weapon in Resident Evil is the knife. I can enjoy playing titles like Halo or Super Mario Galaxy and experiencing things like "regenerating health", "save points", and "extra lives". But. Some of Us think of Samuel Johnson and smile: "Every man thinks meanly of himself for not having been a soldier." Or, as I think of it: "If you do not throw yourself into the meat-grinder, how do you know if you are tough enough to survive it?"

The original NES had a plethora of games like this, concepts such as 'game balance' not being invented until the mid 90's. Renting a random game would virtually guarantee that you would be crushed mercilessly and have your patience tried like Job. Lest we forget, the second Super Mario Brothers game had 1-UP mushrooms that would instantly kill you. Contra required a cheat code to complete. If you ran out of ammunition for Bubble Lead, Dr. Wily would dickslap your mother, etc.

Which is part of the "itch" I feel these days when playing modern games. It's too easy to load a save state, or re-start the level, or get power-ups and steamroll anything in your way. Once in a While, you need a game that says "No." and then says "Fuck You, very Bad Things are in your future. You will Know what Hard means, because you are about to be ruined."

Thursday, September 6, 2012

I hate new music

I have been Accused of hating all new music, and I do see a point. When a close friend mentioned that none of the bands I listen to are less than 10 years old, I had to accept that this was more or less true.
And while this is a great source of Distress for my inner punk rock kid, times like this, O my brothers, reaffirm this predilection in musical taste.
To Wit: I have been Given a CD by a Female

This has Never gone well.
Along with such Bull Shit as full albums from Bowling for Soup and Lostprophets, I now add "The Drug in Me is You" by Falling in Reverse.

For those too lazy to read the entire thing, your takeaway here is "you can't autotune the Suck from an album"

The lead singer spends much of the album assuring us that he is, in fact, good at singing, as well as music in general, despite no evidence given to bolster that assertion. The lyrics were obviously stolen from the Lisa Frank notebook of a mildly retarded fan of screamo, whom at least had the good Goddamned sense not to record any of the 'songs' due to a massive lack of fucking talent.
I will grant that several songs are relatively entertaining (Raised by Wolves, The Drug in Me is You) , but the surrounding wall of awful that is the rest of the album makes listening to them comparable to bobbing for horse apples in a latrine.
"I'm not a Vampire" is the song I imagine Edward from Twilight writing in his spare time. If this is "Post Punk", punk is indeed dead, and these fuckers killed it. I must now go listen to TSOL and pour one out for my homies.