Category Archives: Uncategorized

A Round Up Of Updates

Listed below are some small updates that have happened over the last week.

  • The Color Fader now has a neat fade-in/fade-out interface. I figured this was more intuitive than telling the user to scroll down every time they hit the “generate” button.
  • The Keyboard Layout Analyzer now has information explaining what it is and contains a handy chart mapping fingers to keys.
  • I helped out Franz Tarr on a neat little VB app that lets you set the transparency of windows. It’s pretty simple and comes with its source code. I only helped out and didn’t write the app. Since Franz seemed like a cool guy I told him I’d mention his program in my next site update.

Somehow I felt like I did a little more than that, but that’s all that’s coming to mind right now. New stuff is being worked on, however, I’m not sure when it’ll be ready to be posted up.

Is Someone Pretending To Be You Online?

Hopefully I’m not making myself seem like too much of google fanboy, but the other day I found a neat little tool by them called Google Alerts. Google Alerts allows you to monitor search results for key phrases you input to it. When a new webpage gets indexed for that key phrase, and it ranks above a certain threshold, you get an email telling you about the webpage. Though you can schedule these emails to only come at certain intervals. The idea is that you can get the latest info on topics you’re interested in. I thought it sounded useful, so I signed up for a couple of key phrases.

This morning when I opened by email, I found an alert telling me about this website. When I clicked it I found someone with the username “patorjk” was asking a question about Excel. Below you can see a screen capture of the post, my mouse is hovering over “patorjk”‘s username in this shot.

At first I naively thought to myself “whoa, another patorjk, I wonder if its a married couple or something…” So I clicked the username to see the user’s profile. Lo and behold, the user’s profile stated that their name was “Patrick Gillespie” and that they were from Baltimore. What the hell!? The statistical odds of there being another Patrick Gillespie with the internet pseudonym “patorjk”, who lives near Baltimore and programs computers, are basically zero.

I should also note that I had only been awake for about 2 minutes at this point, so I was kind of groggy. At first I thought it had to be some kind of joke, like that fake presidential candidate video going around, but everything I looked at pointed to it being real. So then I wondered what the exact motive for this person was. Was it sinister? Was it that the person was just lazy? Did the person just latch onto my name for some reason (maybe they have a patorjk shrine in their room)? I couldn’t really tell from their posts, but I did notice that they started signing them with the name “Murali Krishna”. So maybe at some point they decided they wanted to be themselves again. patorjk.com doesn’t get massive amounts of traffic, so pretending to be me is really weird and makes me wonder about the mental state of the person. I’ll report the user to the website’s owner if they don’t voluntarily delete their account or change it so it doesn’t look like they’re trying to be me. However, I figured I’d give them a chance to do it themselves or to at least say their piece, since there may be a mix up of some kind somewhere.

Anyway, besides keeping up with the latest trends, it appears as if this tool can also clue you in on when weird stuff is happening regarding your name or website. Whether its someone talking about you or someone trying to pass themselves off as you – whether they’re trolling, trying to slander you or trying to steal your identity. If you run a website or have an online pseudonym, I’d recommend creating a Google Alert for them. And although this post has focused on the negative, most alerts will probably bring you positive news.

Sept. 2, 2009 Update: About a month after this post was made the site owner contacted me to figure out what was going on. We did a little detective work and discovered that the problem was due to some database issues he had when he moved his site. Apparently I had created an account for his forum around 7 months before making this post, but never made any posts (I probably created an account thinking I’d post something, but then forgot about the site). When he moved the site, some accounts ended up getting mapped incorrectly, and the “patorjk” account ended up being one of them. He had been fixing the accounts manually when people complained, but “Murali Krishna” didn’t come forward wondering about his old posts, so they remained under “patorjk”. When Google saw the newly updated posts had “patorjk” in them, it alerted me via its Google Alerts. So “Murali Krishna” isn’t an impostor, his posts are just the result of a database mix-up.

When what had happened had been figured out, I think the webmaster was kind of embarrassed, though he didn’t say much. I didn’t want to do a post saying “hey, look at this guy’s mistake”, so I figured I’d say what happened if someone asked me. However, this post still gets a little bit of traffic and the “Murali Krishna” posts are still under “patorjk”, so I figured I’d put a small little update in this post for those of you who are curious as to what happened afterwards.

Google App Engine Talk

Today I went to a talk at UMBC on the Google App Engine, a product from Google that came out earlier this year. The talk was given by an old friend of mine from Grad School who now works at Google. I was his partner for an Operating Systems project where we built a distributed file system using Bamboo and for a Database project where we built an Amazon-like online grocery store. He’s a pretty smart guy and is usually on top of the latest stuff, so I figured it’d be a really good talk.

The Google App Engine basically allows web app developers access to some neat Google API’s and to have Google servers to host their application and its data. The main things I got out of the talk were:

  • Relational Databases don’t scale well. If you create an insanely popular app, your Relational Database could end up becoming a bottle neck. Google got around this by creating their own Database Management System called BigTable. The Google App Engine lets you use BigTable for you apps.
  • BigTable uses GQL, an SQL-like query language.
  • Using the Google App Engine is free, however, there are certain storage and bandwidth limitations. I’m assuming that in the future they’ll charge users to go beyond the set limits, however, currently you cannot buy more space or bandwidth.
  • If your application requires users to verify themselves, you can set things up so that users log in with their Google username and password.
  • The same Google API’s that are available to in-house Google developers are available to you.
  • Currently all Google App Engine apps have to be written in Python, which kind of sucks since it adds a barrier to entry. They do plan to support other languages, but that will be at some unknown point in the future.

I came away from the talk pretty impressed, however, I think I’ll wait to see what other languages they’ll support before trying it out.

Besides the talk, it was neat to walk around campus again. It was a nice cool Fall day and everyone walking around seemed pretty laid back. I miss being able to get up at noon and then to waltz over to the food court to get some lunch. Everyone looked really young too, I wondered if I looked old to them. The experience reminded me of when another friend of mine stayed in my dorm room for St. Patrick’s Day after having been out in the working world a year. It seemed refreshing for him to be out walking around the campus again. He kept joking about wanting to be a life long college student and to get all of the degrees the school offered, which I think would be a lot of fun, if it paid well and people didn’t age (you wouldn’t want to be the old creepy guy living in the dorms).

Anyway, if you have any thoughts or opinions on the Google App Engine feel free to share them. Right now I can’t recommend it one way or the other, since I haven’t tried it, but from all appearances, it looks really cool.

Keyboard Layout Analyzer Now A Mashup

I just finished a very small glass of Disaronno, an Italian liqueur. I’m never sure if you’re supposed to take shots of liqueurs or if you’re supposed to drink them straight. I don’t think I’d want to do a shot alone, and Disaronno is really tasty, so I figured I’d use it as a night cap. Anyway, it’s almost 1:30 and tomorrow I have a doctors appointment at 8 so I should probably get to bed really soon. However, I’m having a hard time getting myself to hit the hay since I’ve been almost finished with my Keyboard Layout Analyzer for a few days now (I decided to rename it from Typing Analyzer since its really analyzing the layout and not the typing).

I’ve had a lot of ideas over the past two weeks, and rather than go in depth on every detail I’ll give you a really quick run down of this app’s updates:

  • Pie chart statistics were added for finger, hand, or keyboard row usage. The pie charts were created using Plotkit, an awesome javascript library that uses Mochikit. I don’t know much about Mochikit, but according to Google Trends and its website’s own lack of updates, its future doesn’t look too promising. Which is a shame, since Plotkit is really cool.
  • The hot spot visualization was fixed for IE6 users. Apparently IE6 does not like transparent PNG files.
  • A tab view was set up to make viewing the data easier. The tab control comes from Yahoo’s kick ass YUI library.
  • A fade-in/fade-out effect was added when processing data. I figured this way of displaying information would make more sense to the user. I noticed when I showed my parents to app my mom didn’t realize she needed to scroll down to see the output. This feature doesn’t work 100% of IE yet, but I’m deciding it works “good enough” for now.

To see the app just click the following link: Keyboard Layout Analyzer

Let me know if you have any problems or have any suggestions.

I Feel Kind of Nerdy

So I was thinking to myself today, “When would I ever use the Typing Analzyer?” The only situation I can think of would be if I got into some kind of argument over which keyboard layout was best, and even then I think I’d be kind of hesitant to play that card. Oh well, I think this project is one of those ones that is neat to make, but isn’t really that useful. Hopefully it can give passer-byers a couple minutes worth of amusement or possibly get someone to check out an alternative keyboard layout.

Besides questioning the relevance of what I’ve been doing, I’ve also made a few updates:

  • Added “Left Hand Dvorak” and “Right Hand Dvorak” layouts
  • Updated layout graphics
  • Added the Shift and Tab keys into the calculations
  • Fixed the IE issues (I’ve gotten in the bad habit of only checking my work in FireFox)
  • Added a personalized keyboard layout to the output

I stole the last idea from Tritonio, who created his own app for layout generation. I thought the idea was really really cool so I put it in (I’ll make sure and give you a link on the app’s page, once I straighten out the “Other Typing Resources” section). Right now the generated layouts are kind of silly, though they have some semblance of being correct.

I aim to finish up this app next week. I’m going to tweak a few things and then add in some stats and pie charts on finger usage. After that I’m going to move onto a new web app. After a brainstorming session earlier this month I’ve got a collection of neat ideas I want to explore. Part of me wants to do a web app a month until the end of the year, but I don’t want to set goals I’m not sure I can complete. I’ll do the next one and then decide where to go from there.

New Web App: Typing Analyzer

I’ve created a new web app that allows you to analyze and visualize the typing patterns you create when you use a Qwerty, Dvorak, or Colemak keyboard layout. You can find it here: Typing Analyzer.

If you have no idea what I’m talking about, the keyboard layout you’re currently isn’t the only one that’s out there, and not all keyboard layouts are created equal. Some are better for your wrists and allow you to type faster and with more comfort. Here are the layouts of the keyboards I mentioned above:


Qwerty


Dvorak


Colemak

My interest in keyboard layouts came after I read a Discover magazine article entitled “The Curse of QWERTY”. The article tells the story of the Qwerty and Dvorak keyboard layouts and makes a compelling case for switching from a Qwerty layout to a Dvorak layout. Here is a quick summary of its most important points:

  • The Qwerty layout was created in the early 1870’s before touch typing and without speed or comfort in mind.
  • The Dvorak layout was created in the 1930’s and is based on years of research. It takes speed and comfort into account.
  • On average, the left hand does 56% of the typing when a Qwerty layout is used. With a Dvorak layout, the right hand does 56% of the typing.
  • The Dvorak layout forces you to alternate hands more frequently when typing, this causes you to type faster.
  • Users type fastest on the home row. With a Qwerty layout, only 32% of your typing occurs on the home row. With a Dvorak layout, 70% of your typing occurs on the home row.
  • It’s hypothesized that the Dvorak layout will make it less likely that you’ll develop Carpal Tunnel Syndrome (CTS).
  • Anecdotally, people who develop carpal tunnel syndrome seem to find relief when they switch from a Qwerty layout to Dvorak layout.

There are more reasons, but those were the ones that stuck with me. I was so convinced by what I read that I switched my work and home keyboard layouts to a Dvorak layout by configuring some Windows XP settings in the control panel (to see how click here). This lasted for about 6 days (3 of those were over the Labor Day weekend), and then I had to switch back since learning the Dvorak layout was slowing me down at work. I also discovered that the Dvorak layout made all the nice Qwerty keyboard shortcuts (Undo, Cut, Copy and Paste) virtually unusable. This was a big minus since I use those shortcuts constantly. The Dvorak layout also over worked my right pinky. I found myself having to take typing breaks, something I hadn’t done since high school.

After talking to someone who had Carpal Tunnel Syndrome (something I’m worried about getting), I learned about yet another improved keyboard layout that preserved Qwerty’s bottom row short cuts and didn’t put massive amounts of stress on the right pinky. This layout was known as the Colemak. Unlike the Dvorak, the Colemak layout is relatively new (developed within the last 5 years), doesn’t have a lot of research behind it, and it doesn’t have a very large following (online estimates put the number of users between 650 and 1,300). It also wasn’t on my computer at work (I can’t install things on my work computer) so in order to use it, I’d have to talk to some sys admin people. However, the layout looks really promising.

All of this research is what motivated me to create the Typing Analyzer. I wanted to visually compare my typing patterns with the different layouts and get some stats on what hand and which fingers I was using the most (a feature I’ll put in soon).

Hopefully the user interface is straight forward enough. Its in the same vein as the Image Color Palette Generator and the Color Fader, but with some adjustments. I decided to start the page off with a section explaining which fingers you use for which keys, since I know a lot of people don’t know the exact fingerings. In fact, I know people who constantly use a computer yet still hunt and peck for keys. After the chart comes the application’s controls and after that comes a section for the output.

I have more features in mind for this program, but I figured I’d release what I had now just to see how it’d be received and to see if anyone had any suggestions. The other ideas I have in mind are:

  • Allowing a user to enter in a feed URL, so that the program can analyze all of their blog posts instead of having the user paste the text into the text box.
  • Give stats on finger and hand usage. Possibly also include pie charts.
  • Give recommendations to the user on which keyboard layout would benefit them the most.

Oh…

And I haven’t forgotten about patrickgillespie.com. I’m just not as excited about it as I was 10 days ago. I’m going to let myself mull over some more ideas before I take any action. I still don’t think I have the right idea for it yet.

Thinking Out Loud

Right now my plan is to make patrickgillespie.com a depot for random projects and ideas. I was thinking that it might make sense to move some of my more random content (the miscellaneous section and Javascript games) this new site. That’d allow me to narrow the focus here to tools and programming.

For this new site’s interface, the main idea I was throwing around in my head was for the user to see a bunch of images floating through space. Each image would represent a piece of content and none of the content would be related. The idea would be that this was just a bunch of random stuff floating through cyberspace.

I whipped up a quick prototype using Van Halen album covers, which you can see by clicking the above link, and was unimpressed with the outcome. The movement ended up being pretty jumpy, and I’m not sure I like how the images just disappear when they “hit the screen” (when they do that they’re reset to way back in the distance). I’m starting to think that this kind of stuff is best left to Flash. There’s also some other issues, but since this is just a prototype I didn’t bother with certain details.

Right now I’m thinking of stealing my slider puzzle’s interface for patrickgillespie.com since I liked how that came out and nobody ever uses that thing anyway.

I’m Not Dead

I’ve had a hectic past few weeks. Not the normal kind of “oh man I’m stressed”, but the “holy shit I’m stressed” kind of weeks. Things appear to be calming down now though. I’ve been thinking about new things I can do for this site, but all I’ve got so far are a bunch of half finished ideas and projects. Things coming in the near future (next month or so): A new version of the Image Color Palette Generator, the source code to that project, and a rough draft of patrickgillespie.com. The patrickgillespie.com project is the most fun, so that may be out first.

Web App URLs

I’ve decided to change the URLs to my web apps so that they are one level down. Basically, I think having someone type “patorjk.com/software/taag” is a little much. It’s easier to remember “patorjk.com/taag”. The “software” text doesn’t really add much value. I haven’t moved them all yet, and when I do I’ll 301 redirect the old links, but I figured I’d let people know my reasoning for doing this.

Exits

Months ago I removed my links page. I did this because I was replacing it with the links you see in the left panel under the headings “Interesting Blog Links” and “Programming/Hacking Links”. I’ve now decided that it was a mistake to do this. I’m going to keep the links in the left hand panel, but I’m also going to add the links page back in. It will now be called “Exits“. I haven’t had time to fully populate this page, but you can expect the Exits page to grow over the next few weeks. In the mean time, if you’re bored, here are some amusing sites to waste your time with:

Where is Bob? Tales of an Absentee Manager – A really funny blog about a manager named Bob who terrorizes his IT employees. I get the feeling this is fiction, but it’s still a fun read.

The Trolls Among Us – One of the most fascinating articles I’ve read in recent memory. A reporter dives down into the world of internet trolls.

Riddle Me This

Lately I’ve been exchanging riddles / mind puzzles with some coworkers of mine. I’m not really sure how it started, but one ended up on my white board at work and before I knew it everyone wanted to know the answer or had their own riddle to challenge me with. I’ve collected up some of my favorites. If you’re unfamiliar with one and you solve it, feel free to post your proposed solution as a comment.

As far as site updates go, I have some coming, but I’ve had a distracting past couple of weeks. Since January I’ve been suffering from tinnitus (ringing in the ears), but it didn’t really get bothersome until the middle of last month. I ended up going on a huge research quest for a cure, but it appears there are only things you can take to prevent tinnitus (NAC, antioxidants) and nothing that’ll really cure it. Right now it’s at a volume I can deal with, so I’m fine, but I want to caution everyone and let you know its important to take care of your hearing. Also, avoid things that are too good to be true. There seems to be a lot of snake oil out there when it comes to tinnitus.

Anyway, enough of my personal problems, on with the riddles…

1) In front of you there are ten boxes of books and a digital scale large enough and strong enough to hold all of the boxes when they’re filled with books. Inside of each box is ten books. In nine of the boxes, the books weigh 1.0 pounds each. In one of the boxes the books weigh 0.9 pounds each. Using the digital scale only once, how do you determine the box that contains the books that weigh 0.9 pounds? You may take the books out of the boxes and you can assume the weight of each box is 1 pound.

2) You’re one an island and you want to get off of it. There are two caves off the island. One leads to certain doom while the other leads off the island. In front of the caves there are two guards. One always tells the truth and the other always lies. You do not know which one is which. You may ask one question which they both will answer. What question can you ask that will guarantee you pick the right cave to get off of the island? [Editors Note: After much discussion, we discovered there were actually multiple answers to this question, so if you know the answer, try to come up with another one]

3) Four men are standing in a row. They are ordered tallest to shortest. The tallest man is facing west while the other three men are facing east. Each man is wearing a hat that is either black or white. Each man knows that there are 2 black hats and 2 white hats, however, they do not know the color of the hat that they are wearing. The tallest man cannot see anyone’s hat, the next tallest man can see the hat color of the two men in front of him, the next tallest man can see the hat color of the man in front of him, and the shortest man can see no one’s hat color. Imagine that the hat ordering from tallest to shortest is: black, white, black, white. Where the tallest person is wearing a black hat and the shortest person is wearing a white hat.

None of these men can move around, however, they can talk to each other – though they do not have to be truthful when answering each other’s questions. As soon as a man figures out his hat color he screams it out (and he cannot scream unless he really knows his hat color). Which man can figure out his hat color and why? [Editors Note: This one is easier if you draw it]

4) You have 25 runners. When raced, they always perform the same, and no two runners perform identically. You can only race 5 at a time, and once a race is over, the only information you get is the order that they finished in. How do you determine the fastest, second fastest, and third fastest runner using only seven races?

5) This was the puzzle that started it all. No one I’ve told it to has been able to figure it out. And it always takes a while for the answer to make sense.

Did Yahoo Punish Me For Reporting Spam?

I’m a little prone to conspiousy theories, so I might be jumping the gun here, and I may end up looking totally silly, but I think Yahoo deleted my Color Fader from of their index after I reported some spam in their search results.

A little background: For some reason most of the pages on this site don’t rank well in Yahoo. For the month of May, only 1.87% of my visitors came from Yahoo. That’s compared to 46.37% that came from Google. The Color Fader was the only page that really pulled in visitors from Yahoo. It used to rank #1 for the search phrases “Color Fader” and “Online Color Fader”. Those phrases only brought in around 20 visitors a day, but that’s better than nothing.

Anyway, seeing as these are the only phrases that bring me anything from Yahoo, I check them out every once in a while to see where I am. Around 3 weeks ago I noticed a new site was #1 for them (not unusual – the results tend to get shaken up every so often). However, this new site had the exact same title as my site, so I was a little curious. I opened it up and discovered the page was just auto-generated gibberish with lots of ads.

I was annoyed, but figured I’d just report the site to Yahoo’s Customer Care. In my note I said something like “I was searching for my site when I discovered one that had the exact same title. This site turned out to be auto-generated spam with lots of ads.” I’m not sure why I mentioned I was searching for my own site, I guess I was just typing off the top of my head.

After I submitted my report, I got an email confirmation saying it’d be processed within 48 hours. I checked back twice within that time period. The first time both sites were there, although mine had recaptured the #1 spot. The second time I checked back, both sites were gone.

At first I thought they’d just done some reindexing and I’d fallen a bit. However, after some pretty thorough searching, I found that my app, along with that spam page, was gone from their index. I quickly filled out a resubmit form explaining what I thought had happened – that the reviewer had accidentally deleted my site. I read my message over a couple of times to make sure it was short and polite and then sent it off. A day or so later I got back this reply:

Hello Patrick,

Thank you for writing to Yahoo! Search.

If you are not seeing your pages in the Yahoo! Search results, they may
not have been indexed or they may not be in the top results for the
searches that you are conducting. Here are some Yahoo! Help resources
for submitting your page to Yahoo! Search:

http://help.yahoo.com/l/us/yahoo/search/indexing/indexing-06.html

and for improving your site’s ranking:

http://help.yahoo.com/l/us/yahoo/search/ranking/ranking-02.html

in the Yahoo! Search results. There are no current indications that your
pages have been blocked from the Yahoo! index. Please note that all
pages are at all times subject to Yahoo!’s Content Quality Guidelines
located at:

http://help.yahoo.com/l/us/yahoo/search/basics/basics-18.html

Thank you again for contacting Yahoo! Search.

Regards,

Carmen

So according to that email I wasn’t blocked, which was good. However, something still didn’t seem right to me. It seemed like too much of a coincidence that my app and the spam page would disappear from the index at the same time. So I decided to check out Yahoo’s Site Explorer to see what it had on my Color Fader. This is what I found (note: searching with the “www” brings up additional links):

So for some odd reason only the style sheet for the Color Fader is in the index, and not the Color Fader page itself. Even though the links it has recorded for the Color Fader URL point to the app itself and not its style sheet. That seems really bizarre to me. My gut feeling tells me that the page was removed and didn’t drop from the index due to algorithmic reasons. I’m guessing it was either removed by accident, the person processing the spam report just glanced at the URLs and decided to remove them both, or the guy processing the request just didn’t like the fact that I was searching for my own site and decided to knock me off too. The last idea is a little cynical, but my mind tends to wonder all over the place when stuff like this happens. I suppose it could also be a quality issue, but I’d be surprised if that was the case since I don’t think I did anything particularly egregious in my design.

I probably shouldn’t care too much, the Color Fader is kind of girly app, but it annoys me when I try to do something good and then ended up getting punished. As thing are right now, I wouldn’t recommend reporting spam pages to Yahoo, since they might remove your content along with the spam.

It’s been over two weeks since I sent them my last email. I may try to resubmit the site again later today, however, if I say blocked, I stay blocked. It’s annoying, especially since I was beginning to like Yahoo, but I’m not going to lose any sleep over it.