blogrify » Work

Remote rickroll

Posted on April 11, 2008 by mogrify

After yesterday's rickroll, I had an idea… what if you could get the victim's computer to play the evil track whenever you wanted, on demand? So today I fired up Visual Studio and put something together in C#. It's a Windows service (a program that runs in the background) that waits for an incoming UDP network packet to trigger it. When it receives the packet, it starts playing Rick Astley.

Once the service is installed and started on the victim's machine, I can start the song whenever I want using a simple little program that runs on my computer. I even worked out a way to install and start it remotely, so I never have to set foot in the victim's office or wait for them to leave their workstation unlocked.

I didn't work very hard to cover my tracks this time; when the Remote RickRoll service gets triggered, it writes "You've been Rickroll'd!" in the system log. It shows up in the regular list of Windows services too. My favorite part is that the service listens on port 1987, the year Never Gonna Give You Up hit the charts.

Update: Yep, I'm going to publish the source and everything else needed to get it running. It'll be on my geek blog next week. Stay tuned.

Update redux: See code in the ruins for binaries, docs, and source code!

The stealth Windows rickroll

Posted on April 10, 2008 by mogrify

I pulled off an epic rickroll today; it was a total success. Here's what I did:

  • Grabbed an MP3 of Never Gonna Give You Up through flv2mp3.com.
  • Using an audio editor, converted it to WAV format and added five seconds of silence onto the beginning
  • Copied it to my buddy John's computer while he was out for a smoke
  • Set the WAV file to be the sound played by Windows whenever a program is closed

He spent half an hour trying to figure out why he kept hearing Rick Astley… the five-second delay was enough to make it unclear what caused the music to start, and of course once it's playing you can't turn it off. There's no program to kill - the only way to make it stop is to turn off the speakers or shut down the computer. In the end he just restored his sound settings to the defaults.

I really got a taste for doing pranks on April Fool's Day this year. I'd never really done anything before, but this year I emailed the whole department, saying that I was going to go work for Microsoft, and professing my undying love for Internet Explorer. This is an obvious joke for anyone who knows how I really feel about Internet Explorer. Anyway, it was a lot of fun, although kind of nerve-wracking. On Facebook I pretended to be a conservative for a day.

I'm thinking that for a software developer and system administrator, there should be all kinds of ways to rickroll people that I haven't explored yet. So we'll see what else I can come up with.

Repositioned

Posted on October 23, 2007 by mogrify

Today I decided to accept a new position, as a Java developer at the Virginia DEQ. Still working at the same place, but it'll be in a different office. Instead of managing the website and doing small-to-medium-sized public information applications, I'll be working on larger systems that deal with the agency's core data. And instead of working (primarily) alone, I'll be working with other developers in a team.

It's a good position for me, because it gives me experience in areas that I haven't had much exposure to yet; but I'm not sure yet how everything will play out. I love my current position; it's a great job, but I've decided that I need to try something new. Hopefully I'll like the new job as much as this one. If not, hey, that's life. Can't win if you don't try.

I'm going to miss working in the Public Affairs office - I've been there for over three years, and have enjoyed every minute of it.

This is an important step on the path I'd like to take; I would like to be someone who Designs and Builds Very Big, Important Pieces of Software That Do Very Important Things, Solve Very Difficult Problems, and Generally Make People's Lives Easier. Essentially, a software architect. Can't get there working alone, so now that I've broken into Java, it's time to be part of a larger shop and stretch my limits a bit.

So there it is… the big decision.

Kathy

Posted on September 14, 2007 by mogrify

We learned today at work that our policy division director, Kathy Frahm, has died. She was my boss's boss, and worked right down the hall from me.

I didn't know Kathy well, and so I'm completely unqualified to write a proper tribute. That is my fault; I don't socialize as much at work as I ought to. But I can say that Kathy had remarkable warmth and dedication, and that I always enjoyed working with her when the opportunity arose. She was well loved at DEQ, and she will be sorely missed by many, many people who knew her.

My thoughts are also with her partner, Steve Frazier, and with her parents, and all those who loved her. What they are feeling right now is something no one should ever have to feel.

I've been deeply shaken since I learned of her death; I'm struck by how sudden it seems. Just this Monday, I was posting a document for her on our website. I taught her how to create a PDF from a Word document, and she said she'd do it from now on. And now she's just gone.

It doesn't seem right that someone can simply be removed from people's lives, that this is a normal and acceptable thing to have happen. It is unfair. I find myself thinking over and over again of the times we spoke, as though I'm trying to reassure myself that she cannot, in fact, be gone; that she will certainly return, and ask me to post the agenda for the October 1st meeting of the citizen board legislation work group. I keep wondering what her plans for the weekend were, what she was reading, where she would have wanted to go on her next vacation. That so much can be so interrupted, never to be fulfilled, must surely be the greatest injustice the world can know.

Update: Kathy's obituary in the Roanoke Times.

Another update: The Richmond memorial service will be at 1pm on Thursday, September 20, at Second Presbyterian Church at 5th and Main.

And an invitation: I know that people are finding this post as they look for information. I didn't expect that, but I welcome it. If you worked with Kathy, or knew her, please feel free to comment here. I know I would enjoy hearing more about Kathy from people that knew her better. Thank you.

Yet another update: The Richmond Times-Dispatch has an article about Kathy.

How to communicate with me effectively

Posted on July 27, 2007 by mogrify

This is an open letter to people I work with who call me on the telephone. You know who you are.

Our office has an excellent voice communications system. It was engineered by Cisco, a fine company, and it is world-class in every way. The equipment is easy to use and it integrates well with our mail system and user directory.

Yes, we have a fine telephone system. Please do not use it.

Here's the thing: when you call me on the telephone, you are essentially telling me that your time is more important than mine. A telephone call, if it is to be answered, must be dealt with immediately. If I don't answer it in four rings, I'll miss it. I have four rings worth of time to stop what I am doing and prepare my brain for something else. I do not do this easily. It is presumptuous to assume that I will not be inconvenienced by answering your phone call. And generally, I won't answer.

So then you leave me a voice mail. Which is understandable; that is, after all, what you do when you call someone and they don't answer. But this is also inconvenient for me. I have to dial in to the voice mail system, retrieve your message, listen to it, and write down what it says. This takes a considerable amount of time, but it is necessary if I want to deal with your message on my own time.

Now that I have listened to your message, I would really, really appreciate it if it actually said what you wanted. No, "a call back" is not a valid option. For me to call you back is not what you want. What you want is for me to do something, or possibly for me to answer a question for you. You see, there's a payload involved. When you say your name, and then "give me a call back," and then your phone number, you have neglected to include the payload. I can tell that you want to talk to me, because you called. I know what your name and phone number are, because of our excellent phone system. You have provided me with no information whatsoever.

Worse, it is now incumbent upon me to answer you by telephone. When I call you, I will be completely unprepared. I will have had no time to think, research, discuss, or delegate your question or request. If you had included the payload, I would be able to reply quickly and efficiently. Most likely, however, I will need to get back with you once I've divined your motives, which necessitates another phone call. So you begin to see the problem.

If you are one of the fine people who leaves informative, detailed voice mails, thank you. It's not perfect, but it does eliminate some steps in the process.

While I speak with you on the telephone, I will be writing things down. I will write down your name and the date. I will write down your question or request along with any supporting information you provide. I will write down possible answers or solutions as I think of them. If I do not write things down, I will not have a record of what was said. See how that works?

I find this whole process very awkward and inefficient. In fact, I'd say our office is crying out for a system in which you would instantly convey your wants or needs to the sender, who would be able to respond in his or her own time frame, possibly after doing whatever research was required to address the original message. It would be great if it could be transcribed into text automatically, and perhaps even filed according to date and the sender's name. What if subsequent communications could somehow be associated with each other, thus forming a sort of record of the discussions that took place?

Oh wait, we do have that. Email, if it is available, is superior to the telephone in nearly every way. Its only shortcoming, which is a distinct inability to express a lighthearted tone, has long been addressed by the emoticon, which was discovered by Johannes Gensfleisch zur Laden zum Gutenberg in 1453 when he accidentally dropped a tray of punctuation.

I'd even go far as to say that those who send me email may well receive a higher level of service than those who attempt to contact me by phone. I'll usually look at your email quickly and decide what to do; easy ones will get a quick response, and the others get done in a day or so. I tend to let a few voice mails pile up before I listen to them, simply because it's more trouble. I don't like doing it at all, but obviously they can't be completely ignored. Rest assured that I'm not avoiding you out of spite.

At least not entirely.