Blog

A Tale of Two Bots

Pew pew pew

RedditBots Source: [ Download ]

One day, somewhere between Christmas and New Years, a coworker of mine was musing out loud about a vanity reddit account he had created. He was describing exactly what it would do and I was like "dude. We can automate that." So, in a fury of coding and some poring over reddit documentation, I pulled together a very simple bot that did exactly what he had described. Slapped it on an every ten minutes cron job and called it a day. The code was ugly and I vowed to make a nicer version.

That I did and, while I was at it, decided that I should make it a simple framework with which I could bots in a simple manner and have a central script that managed them all. The above source is what I settled on (complete with a working, if not banned, version of a binky79 clone).

My own bot idea, as it was Christmas, was for a bot named Ebeneezer_McUpvote (a portmanteau of Ebenezer Scrooge, Scrooge McDuck and everyone's favorite reddit term, upvote) to randomly upvote a new link and add the comment "Merry Christmas! Have an upvote ^ _ Q". Scripted, running, would execute every five minutes.

People hate it.

As of this writing, that bot has -310 comment karma. Now here's where the fickleness of reddit shows through.

Yesterday, as I was browsing, I came upon this post. So, Oprah giving random upvotes is considered cool, eh?

Enter, OprahGivesAnUpvote. She does pretty much EXACTLY the same thing as Ebeneezer_McUpvote, only she says "Look under your chair... you got an UPVOOOOOOOOTE!!". People love her. OprahGivesAnUpvote has, at this writing, 233 comment karma and she's only been running since yesterday morning.

Why the hatred? I dunno. Maybe people don't get the joke of Ebeneezer_McUpvote. Maybe the joke just sucks. Maybe it's not Christmas anymore. Either way, Oprah is loved, McUpvote is not. I'll be interested to see if Ebeneezer's fortune turns around when we get closer to Christmas again...

The Neverending Project - Part 1

I've blogged about it before, so I'll keep the introductions short: for the last three years I've been developing, on and off, a web based music player. The last time I talked about features was v3 and I'm now two versions up from that. In today's post, I'll highlight version 4.

More like a sandbox than a polished productClick for larger view...

As you can see, v4 was hardly polished. It fell victim to the "I want to add new features but I don't want to design for it" that v3 had towards the end of it's life (hint: it's the row of links towards the top). v4 was the first to go three column, based loosely off of what Microsoft was doing with the Zune player. The first column was for albums, second for whatever-the-fuck-I-wanted (songs, trending and latest in this case), and the third was the current playlist.

Also introduced in this version was a new extensible player module. I had tacked HTML5 capabilities onto v3 down at the end of its life, but this was the first to be built with that in mind. Also, it was the first to be able to switch output sources (here's where the modular part comes in) from HTML5 to remotely controlled VLC, which would play music out of the server itself. This could be done on the fly without having to use a separate page entirely, as had been done.

Finally, I had made a few things that would aid in the finding of media. Based upon recorded play data, you could get a list of media that was trending in the last seven days. Also added was a search-as-you-type function to quickly locate songs.

Oh, and yes there's a "video" tab there, but it never did anything. I had grandiose plans to merge my separate "video page" into this, but they never panned out.

Ultimately, v4 was just a testing ground for a lot of ideas that all got packaged up neatly in v5...

jsLive Updates - Now With Less Crappy

I haven't actually worked on jsLive since moving, though that's not to say no work has been done since my last update. In fact, I made some great strides in the graphics department as you can see below.

Not perfect, of course, but much, much better. So much better, in fact, that YouTube flagged this video as having copyrighted material from VisualArts whereas it didn't in the last one.

Sadly, all that graphics code is getting scrapped as I move everything over to HTML5 canvas, so really I'm back at square one.

The gauntlet, I have thrown it

Red warrior is about to die!

So good to be back at my computer with a real keyboard and a copy of Photoshop with which to make stupid blog headers.

So, in my previous post, I mentioned a particular game called SeaGlass. It is, or at least attempts to be, a Tetris Attack type clone. It's obvious that there was no love or effort put into this game and, being my favorite game of all time, it makes me sad inside.

I simply cannot stand for this.

So, as I am already in a heated battle with my much maligned younger brother developing just such a game, I will scrap the XNA codebase I've spent some evenings working on and move over to the iOS platform for development. Using the Airplay SDK, I will create a game for the App Store that is a truly worthy entry to the game series it plays homage to.

That and I can charge 99 cents and make a tiny profit. Really, this is me testing the mobile development world with an application I am already quite familiar with. I've been wanting to break into the arena for some time and this is where it begins.

JsLive - A Video of Buggy Fail

A little more teaser of my progress on JsLive. Honestly, this video probably seems like less progress than the screen shots I put up previously, but it does demonstrate some things that static pictures cannot: "motion" and audio.

As can be seen by that video, the graphics have quite some major problems and will be my next area of concern. However, I did get jumping between scenario files working and, in theory, the entire game is playable. After getting the graphics to a place I can live with, I plan on rolling out the public beta for people to tinker with.