photosinensis: It's the 100x100 version of XKCD #353 (Default)
posted by [personal profile] photosinensis at 10:40pm on 06/07/2010 under
So I ran across this blog entry while browsing Reddit today. Now, the bank got taken by this guy. They wanted a Caesar cypher, and he gave them, well, it's an abomination.

In Python:

def caesar(string, key):
  return "".join([x if ord(x.lower()) not in range(97, 123) else chr((((ord(x.lower()) - 97) + key) % 26) + 97) for x in string])

That's in one line, and it preserves spaces and punctuation. We'll not mention his problems with command line user interfaces, which are quite powerful and awesome.
photosinensis: It's the 100x100 version of XKCD #353 (Default)
posted by [personal profile] photosinensis at 12:46am on 13/07/2009 under , , ,
This was posted originally at my WordPress blog, here.

On my personal site, I’ve thrown together a dice roller using Django.

While writing the program was easy (as per the norm with Python), let’s face it: deploying with Django is a royal pain in the ass. Really, they need to come up with a better way of handling these things that doesn’t involve server-wide reconfiguration or any nonsense like that.

No, there are no graphics yet. I’m working on them right now. Yes, this application is in active development. However, it is usable.

photosinensis: It's the 100x100 version of XKCD #353 (Default)
posted by [personal profile] photosinensis at 11:54am on 19/05/2009 under ,
Rarely is a crazed Hitler the voice of reason. Here is a glimpse at one of those moments.

photosinensis: It's the 100x100 version of XKCD #353 (Default)
posted by [personal profile] photosinensis at 08:39pm on 05/05/2009 under , ,
I'm finally done with my first major commercial project. This was done for a class I was taking, and as such, there's no money in it at the moment. However, it is resume material.

If you've been following along properly, I've been working on a video site that uses Amazon's Simple Storage Service to store videos and Elastic Computing Cloud to encode them. Well, now that it's in open beta, I'll talk a bit more about it, and actually give you some details. You can check it out at The primary service is providing encoding and streaming capabilities, not actually displaying videos. We're not trying to be YouTube, after all. Instead, we're going for more corporate and large scale clients who want professional video embedded in their websites, without watermarking. As such, we don't provide the ability to view videos publicly on our own site--we just give you a link to embed.

Don't blame me if you hate the UI. I had absolutely nothing to do with that part, as I have no eye for design. I handled the middleware, specifically the EC2 application programming interface and the encoding queue manager. The former simply takes Amazon's incredibly granular functions and makes them a bit more generalized so that I can use them more readily in the queue manager. All it provides is three functions: the ability to launch an EC2 instance, the ability to kill an EC2 instance, and a function that checks the current state of an EC2 instance (because we need to wait for an EC2 instance to boot before we can do anything with it).

The encoder queue manager, on the other hand, is a bit more interesting. It not only assigns videos to an encoder client (an EC2 instance), but manages EC2 instances as well. This particular service (it's a full-fledged Windows service1) launches new threads for each video, which it assigns to an encoder by the encoder's hostname. New encoder clients are launched every 5 GB, though if one sends through a file larger than that, it'll get its own encoding server.

The service charges no set monthly fee, but instead charges only for access to storage and bandwidth that your videos use. The first gigabyte of storage and transfer is free, and after that, the rates are competitive2. I'm asking you to check out our service and put it through its paces.

1. Yes, Windows. Given the client-driven nature of the whole project, Windows wasn't a terrible choice. Also, the specific implementation of ffmpeg we used was designed for Windows.
2. No, I can't give discounts/use it for free. The authentication system and the payment system are pretty closely tied together. Not even our client company can do anything without seeing a bill from Amazon.
photosinensis: It's the 100x100 version of XKCD #353 (Default)
I've been a bad boy. I haven't even gotten started on my statement of purpose, much less sent formal requests for letters of recommendation yet. Admittedly, I need to speak to two of the people I'll be asking in person before I send formal requests.

As for my current project, which is nearing completion, my part is pretty much done. I should probably clean a little bit up, just because I'm not sure it's working properly right now. I should also probably try to deploy the user interface, which might take a few hours. For that, though, I've got to install a network adapter on the family's primary computer, which has been off the Internet since we switched our television and Internet services back in January. Yeah, we don't use that box much.

I've also been pretty mopey lately, even more so than usual. Things just haven't been that good for me lately, and I'm getting tired of being at loose ends.


29 30