Mad Cuz Bad

  • About
  • Random
  • Archive
  • RSS
  • Ask me anything

Game Show Questions for Developers #1

time to play a little game called “I feel like i’m taking crazy pills”

question 1: if you are a tester, and there is a story that specifies that people using IE6 should be taken directly to a specific page, and you log in with IE6 and are taken directly to said page, should you:

a) log it as a bug

b) A IS THE ONLY CHOICE BECAUSE I’M TAKING CRAZY PILLS

  • 1 year ago
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

Scenes from a Product Meeting: TFS

INT. MICROSOFT CONFERENCE ROOM - DAY

Four product execs sit at a table, discussing their new source control product.

EXEC #1

Guys, this is exciting. I think we really have something here!

EXEC #2

Yeah. I mean, I really didn’t think we could do it. When Ballmer challenged us to really think outside the box and find new ways to make developers developers developers hate doing software development, I really didn’t think we could top BizTalk. But this…

EXEC #1

Yeah. It’s so beautiful. So elegant. So completely unusable.

EXEC #3

Guys, look what I had the team do!

He opens Visual Studio. They all wait. He goes to the Team System window. They all wait. He expands a project node. They all wait. He opens the source control window. They all wait.

And wait.

He expands a node. 

They wait.

He expands another node.

Seasons change.

He clicks get latest.

As the thousands of files download, they turn back to their conversation.

EXEC #4

Johnson, that’s great. You’ve dramatically increased Time To Productivity, which is a key metric for Visual Studio as a whole. 

EXEC #3

Thank you. I know TTP has been steadily improving just as a side-effect of the speed of computers, and the VS team has been struggling to keep developer productivity low. We were able to come up with a solution that combined a frustrating user experience with brutally inefficient server communications to really spike that TTP at the start of the programmer’s day.

EXEC #2

Brilliant! I knew those UX specialists we hired would pay off.

EXEC #1

One of the big features of Source Safe was that it would periodically destroy a whole day’s worth of work when you checked in. Have we been able to replicate that?

EXEC #4

My team has been hard at work on an “auto-merge” feature that will do exactly that. 

They all look at him, expectantly.

EXEC #4

Our marketing research indicates that the target user for TFS is under-experienced with version control systems, and has never been exposed to a system that forces them to do things right. To continue that curve, we’ve implemented a way for TFS to automatically merge conflicts in the worst possible way, so that when you are too lazy to fix conflicts the right way, you end up completely destroying individual code files. 

EXEC #2

Ah! And that plays wonderfully with the code my team wrote that detects merge conflicts in seemingly random and arbitrary ways!

EXEC #4

Exactly! Piggybacking off of that achievement, we knew that eventually even the most cautious developers would get sick of ridiculous conflicts, and start opting for the automatic merge.

EXEC #2

But won’t they eventually catch on and start integrating more often and avoiding merge conflicts?

EXEC #4

  That’s the beauty part! We’ve made branching so inefficient that they’ll want to avoid it at all costs. And as for integrating, we’ve covered that in a few ways. First, the check-in dialogs are just awful. And you can use team system rules to make them even worse. Also, we’re going to make it hard to work with new, deleted, and renamed files. Plus we won’t force them to get latest and build before checking in to the server. That way the next developer will have the problems and not know why! I predict people will hold code for days before integrating.

EXEC #1

TTP will be through the roof! Oh, look!

They all look at the computer. The “get latest” operation has completed.

EXEC #3

                  Okay. I’m going to open the project and perform a build. Should we go to lunch while that happens and reconvene after? 

EXEC #1

Sounds great. Good work everyone!

  • 1 year ago
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+
This is representative of what I do in all the downtime I have while building and jitting very small changes to an asp.net site
Pop-upView Separately

This is representative of what I do in all the downtime I have while building and jitting very small changes to an asp.net site

    • #dotnot
    • #memes
  • 1 year ago
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

Loglines for Computer Programmers

scottcreynolds:

When I’m not working on a spec screenplay, or telling jokes I’m writing software and trying to figure out how to work it into a screenplay or a joke. Here are some loglines I came up with for computer-programmer movies. These are all sure to hit at the box office.

A lot of you won’t get it. Very nerdy stuff. That’s okay. Pretend it didn’t happen.

Big ‘O’ Notation 

Whitney, a young engineer at Google isn’t looking for anything more than rebound sex, but when she meets a passionate Linux hacker at a Tweetup, will she be able to settle for a one night stand?

Inversion of Control 

Sara is a dominatrix who is used to holding the reins, but her world is turned upside down when she’s taken hostage in a bank robbery. The robber may be the one with the gun, but is he really in charge of the situation?

Dependency Injection

Steve is a ruby on rails developer whose carefree bachelor lifestyle is put on hold when he finds out that not only does he have an infant daughter, but the court has ordered him to assume custody!

Buffer Overflow

The stakes couldn’t be higher as a team of eco-avengers attempt to cripple the systems of all the world’s largest polluting corporations simultaneously. Can they pull off this legendary hack in time to reverse the tide of Global Warming?

Test-Driven Development

Joe is a robotics engineer in the safety lab at Toyota. Can this recently widowed man learn to open up to human emotions? Or will his quest to create autonomic crash test dummies consume the last of his spirit?

Kanban

From acclaimed director Kiichiro Aichi comes this masterful samurai epic about a young ronin who is renowned for the quality of his work. Will the next assignment he pulls be his last? This action-packed thrill ride will have you screaming “Taiichi Oh Yes!”

  • 1 year ago > scottcreynolds
  • 1
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

Extension Method of the Day - IsReallyFuckingNullOrEmpty()

I never felt the need for something like this in Ruby https://gist.github.com/1583796

  • 1 year ago
  • 1
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

Rails Models for Marriage in GOP Apps

nicely formatted gist: https://gist.github.com/1577209

(pardon the inheritance and godless hippie framework usage)

  • 1 year ago
  • 1
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

There and Back Again - My Return to .Net Development

325 days.

That’s how long it took to recover from my last tech job. I quit on New Year’s Eve, 2010, completely burned out on the tech scene. I joined a new company on November 21, 2011. I am, once again, an employed software developer. But for 324 days, I was pretty sure I’d never be one again.

In the intervening time I “found myself”. When I say “found myself”, I don’t mean that I spent more time watching porn than I did figuring out what I want to do with my life. Actually, I do mean that, but that was just for the first few months.

Somewhere between the porn and sleeping all day and Chinese delivery, I decided I was going to be a writer. “FUCK SOFTWARE FOREVER!”, I exclaimed, as I bounded about my apartment, unshaven and unclothed and, I don’t know, probably eating a chicken wing. I was never going to go back.

I wrote a screenplay. I took some classes. I wrote sketches. I wrote a ton of stuff that was too horrible to even try to publish. In your parlance, I was forking things with no intent to issue a pull request because the cool kids are going to laugh at my untested code.

I got bolder and better and I wrote a series of columns on McSweeney’s. I wrote for Slacktory. I started writing jokes. I started working on a stand up routine.

325 days.

So it turns out that it’s kind of hard to make a living as a writer. Most working writers supplement their income with other work, like editing, or professoring, or selling handjobs for crack and then selling the crack. Hey, that’s a good business model. No cost to acquire inventory. Pure profit. And don’t give me that shit about selling your soul. It’s always available to the highest bidder. Yours too. Don’t front.

Plus, how many of your precious recently-funded techcrunch-media-darling startups have equivalent or worse business plans? Selling handjob-sourced crack might actually get someone something for their investment. For once. Maybe offer handjobs or crack to developers instead of that mystical ephemera you call “equity”. Before you get all equality police on me, women can enjoy both handjobs and crack as well. I’m for diversity in tech.

Digressing.

Long story short on the whole “figuring out what kind of writer I want to be” thing, I’m going for comedic screenwriter and stand up comedian. That’s the path. And that path doesn’t pay for shit. You need three *solid* scripts before you can even think about looking for an agent and that means you threw away at least 10 other scripts. FOR FREE. It’s like, you know, working on open source projects. You get NOTHING OF VALUE from it. That’s why everyone waits tables until they make it in Hollywood.

But seriously, fuck waiting tables. What am I, 18 and uneducated?

I thought about doing something new, like being a junior coffee getter at some ad agency, or at some coffee shop, but if you know me at all you know that was never going to happen. I’m Scott C. Reynolds. I used to be like a D-list celebrity programmer. I have a skill set forged in the fires of Mount Doom (all my previous projects were called “Mount Doom”. Greenfield dev is “the Shire”) and 15 years of experience leading teams and pushing xpscrumagileantddbdddddddddddddjfdkasjdf….ldfjjjjjl….oh my god I blacked out.

Anyway, I got a job as a web developer in a .Net shop.

“WHAT?!” is what the 10* of you who are reading this are yelling as you spit out the Starbucks coffee you purchased to illustrate messaging systems and eventual consistency. “Scott! You HATE Microsoft tech! You unfamously converted your whole previous team to Rails at the drop of a hat! We heard you once got caught making out with your iPhone!”…is what you’re saying for the purposes of this blog entry.

Well, all that notwithstanding, I am returning eagerly to .Net development.

It seems like the cool thing to do is make blog posts explaining why you’re leaving .Net. Well, you guys know that the only thing that surpasses my love of being a cool kid is my love of being a contrarian, so I present to you:

WHY I AM RETURNING TO .NET

.Net provides the perfect environment for me to continue doing what I love, that is, writing, while doing other things I love, such as: paying rent and eating food and buying diamonds to throw at random passers by. Being in .Net ensures that I will keep my eye on the prize and not fall victim to the complacency that comes with having a six figure job.

“But don’t all software projects suck, Scott?”

Yes.

“So why pick on .Net?”

Well let’s take a look. The name of the game is Using .Net vs Liking Being a Developer. Round 1 - FIGHT

Asp.Net MVC has come a long way since I last looked at it 64 years ago. It’s much better. I’d go so far as to say that I could probably bear to use it for 20 minutes before stabbing myself in the eyes and going back to Rails and creating a braille gem that takes commands like rails g bumpy_paper. I could actually get used to working in MVC3, maybe. That’s bad.

Fortunately, I found me a sweet legacy webforms project. Not unlike the one you have at your company or a company you buy a service from. Probably the one that makes said service unreliable. I AM LOOKING AT YOU, FANDANGO. Working in webforms is only slightly better than your doctor telling you that your crabs have super-herpes. Working in webforms ensures I’ll want out of software and will continue my comedy pursuits. Plus, early forays into MVC for classically trained .Net programmers yields results like a site with only a single, four thousand line of code controller with only one ActionResult method. Yeah. Good job on the guidance, guys. .Net 1, Liking Development 0

Because I’m back in c#, it takes longer for me to compile (and subsequently JIT) a change than it does to actually make said change. Furthermore, there’s apparently this practice where people compile their JavaScript as an embedded resource in the assembly, so even making a simple JavaScript change requires a build-and-JIT. That’s valuable time I can use writing down jokes and ideas for scripts while I’m still technically working. Plus debugging issues takes even longer, and is super frustrating, making me less likely to stay a developer. .Net 2, Liking Development 0

I sought out .Net because most big corporate .Net shops are far from agile. They employ approaches that encourage heads-down, code-to-the-letter-of-the-spec programming, and the platform tends to breed certain attitudes.

Back in the day I used to give a lot of thought to team development, product development, engineering practices, and efficiency. Now I just come in at…you know…10-ish or whatever and leave when I’ve knocked out a few features. It’s gold.

I also don’t have to keep up with what the latest tools are. In most .Net shops, if it didn’t come straight outta Redmond, you ain’t using it.

I don’t have to spend much excess brain power on anything super-taxing, and have plenty left in the tank to crank out a few scenes of the Big Bang Theory spec I’m working on. You try getting that kind of mental freedom at a small shop rocking python or ruby or php. .Net 3, Liking Development…0. Not looking good guys.

TFS! OH MY GOD TFS IS AMAZING FOR THIS. Why would I have fast, easy to use, disconnected, no-heavy-processing-required source control that encouraged me to branch locally, commit atomically, and integrate cleanly when I could just punch myself in the dick all day and use TFS? .Net 17, Liking Development - 5. Yeah. It’s like that.

Also I love having to wait for TFS, and then VS.NET, to grant me the magical exclusive, server-approved lock on a file before I can do anything with it (but after I’ve started typing). .Net 19, Liking Development -7

OH. Also I love bullshit conflict detection and automatic merging that just…is the best…and never breaks anything at all…ever. And I LOVE not being able to cherry-pick things from one branch to another. And I LOVE having the whole branch structure and source tree local, such that I have to point IIS to a different folder to work in a new branch.

And don’t get me started on IIS.

.Net 23, Liking Development -10

Community? The ecosystem and community around the language and tools is perfect for my needs. Before, I would spend so much time trying to interact in the community, or speaking at events, or giving a general shit. There was always a war between the “cares” and “care nots”, with the former forever trying to convert the latter. It’s nice to see that things haven’t changed much over in .net land. There’s a vibrant community of forward thinkers and a…whatever the opposite of “vibrant” is…community of…”whatever the opposite of “forward-thinking” is…developers on the other side and never the twain shall meet. And I’m planting my flag in the “care nots” half. That’s right. I am a…wait for it…5:01 developer! It’s great. No investment of time or energy needed. The grass isn’t green over here but brown fields mean job security and plenty of time to write spec scripts. Legacy code means it’s too hard to try new techniques and pay down tech debt and do proper testing.

I did make the mistake of trying to talk to someone about testing but then they said their unit tests talk to the database so I sat back down and wrote some inline SQL.

“Wait”, you say, “that’s not strictly a .Net thing”.

You’re right. Some software just sucks across the board. But it still takes away from the liking development score, and, let’s be honest, in Rails development circles it’s almost universally accepted that you’ll test and work toward maintainable code. So….Net 23.5, Liking Development -12. I’m all about being fair.

Finally, I’m so thankful to Visual Studio, and Windows in general, for sucking so much of my will to live during the day. That makes it all the more sweet to get home and get on my Mac and bang out some pages with utter glee. .Net gets points for that because in any other platform I’d be on a mac, so, .Net 25, Liking Development -15.

.Net wins the battle by a score of twenty-five to negative fifteen, which is like a 52 point spread. I’m a writer. Fuck math.

There’s an old joke that where a guy says “Doctor, it hurts when I do this” and the doctor says “Dude, why the fuck are you sticking your wang in a light socket? I’m ordering a psych consult.” .Net development is like sticking my wang in a light socket. Or, for you vagina-americans out there…well same thing. I mean we’re all adults. You know what a wang is and why it would hurt to put it in a light socket.

So there you have it. I’ve returned to software development, and .net in particular, to give myself a constant impetus to keep pursuing my dreams of being a comedy writer, because if I have to do this every day for the rest of my life, well, why don’t I just eat poison?

Welcome back, me.

*10 in binary, so two. Two of you remember me and are reading this. Self-deprecating joke PLUS binary joke. I am a professional comedian.

    • #general
  • 1 year ago
  • 53
  • Comments
  • Permalink
Share

Short URL

TwitterFacebookPinterestGoogle+

About

Avatar You should probably read the "about" page.

Me, Elsewhere

  • @scottadhoc on Twitter

Twitter

loading tweets…

Top

  • RSS
  • Random
  • Archive
  • Ask me anything
  • Mobile
Effector Theme by Pixel Union