Rethinking The Color Fader User Interface(s)

May 6th, 2008 by patorjk

I’ve split my color fading app into two new online apps with interfaces that utilize Yahoo’s YUI. You can see them here:

http://patorjk.com/software/colorfader/
http://patorjk.com/software/gradientimage/

The new designs are meant to be more concise, cleaner, and easier to use. I tried to think up a nice way to let the user manipulate lots of colors without it looking cluttered. The old design had the problem where the input colors were stacked vertically. The more colors one decided to use, the longer the page got. To fix this, I decided upon using a two thumbed slider bar and a horizontal row of colors that would shift depending on what your selection was (see image below). One thumb indicated the number of colors the user wanted to use and the other one indicated which color the user was currently editing.

I thought it was a really clever way of handling the problem, however, after watching a couple of people try to use the app, I realized it wasn’t that intuitive. People kept clicking on the colors they wanted to edit. And when that wouldn’t work, they assumed there was something wrong with the thing (no one bothered to read the instructions). Oh well. I made a modification to it to allow “color clicking” selection to work.

Hopefully this is the last time I do a complete redesign this program(s). I’ve been perpetually annoyed with myself over the past 3 design jobs I’ve done with it. I was actually working on something else for a while, but for some reason I got side tracked, oh well. I think I have programmer ADD sometimes.

Anyway, both redesigns were finished tonight, so there may be a few bugs. Let me know if you have any problems (or suggestions). The widgets I used from the YUI were the two slider bars and the color picker dialog.




Posted in Uncategorized | 9 Comments »

Drop Graveyard and Snake Updates

April 27th, 2008 by patorjk

Does archive.org ever delete files that its archived? I’ve noticed that some of the archived files from the older versions of patorjk.com have started disappearing. I went there the other day to grab up my old Snake game and I was unable to retrieve it. My other Flash games were also gone too. This is no big loss, but it’d suck if they actually routinely cleaned house on files that weren’t accessed much. It’d sort of defeat the purpose of archiving.

However, with some Googling I was able to find another one of my old Flash games. The port I did of Sloat’s Drop Graveyard:

Drop Graveyard

I have no idea what it’s doing there. I never uploaded the swf file to any site other than this one. However, I do find it pretty cool that it made its way around the internet and found a new home, even if it is one with tons of ads.

The game seemed to work pretty well for the most part, however it does have a two annoying problems: First off, the high score table doesn’t work since the php file that handled that was on my server. Second off, once you finish a game you’re redirected to their sign up page, which in my opinion is kind of shady. It looks like they modified the game so it’d do that. Though since I’m kind of amused just to see the game again I don’t really care that much.

With my googling I also found the old Drop Graveyard arcadepod page. If you read the reviews on that link you’ll see I got ripped a new one. I honestly thought the game was kind of fun. Not terribly challenging, but its a fun way to spend a few minutes. When I played Sloat’s original game I liked it, but it was the premise and story that really shaped it for me. If you don’t read the story before playing, you wont really know what’s going on.

patorjk.com Banners

While at archive.org, I also noticed that some of the old patorjk.com banners were gone. Some were missing before, but more are missing now. Luckily I grabbed up the ones I saw last time, since the image I based the old patorjk.com logo on is now gone. You can see it here:

That was probably made mostly with filters, but at the time it really blew me away. Ping was actually a really cool guy, I’m not sure what happened to him.

Snake

I’ve made some improvements to the Snake game that I posted up last week. Though I have a couple more ideas for it, I think I’m going to cool it on this project for a while (with the exception of bug fixes). This is mostly because I want to focus more on tool creation rather than on game creation. Anyway, the updates are enumerated below.

  • A control panel was added to the bottom of the screen that gives some useful links and tells you the current length of the snake.
  • When the snake dies, the part that made a collision turns grey.
  • Various bug/anomalies fixed.
  • The game was altered so that it could handle faster key presses. Basically I created a direction queue. This helps when you press a couple of arrow keys really quickly. Instead of using the last pressed arrow key as the direction to move in when you arrive in a new square, the game queues up all of the arrow keys you press and executes each movement as you go along. I noticed that this helped out in those really tense situations where you have to make a lot of careful turns.




Posted in Software | 2 Comments »

Javascript Snake

April 21st, 2008 by patorjk

During my senior year of high school I took an independent study course in C++. Originally it had been a full fledged C++ course with a teacher and everything, but since only 4 students signed up, they had us all do independent study projects instead. Independent study courses at my school worked by allowing you to work by yourself to create some project that you would then present to some committee to show that you had learned some stuff.

The only problem with this was that we had no text books, no access to any compilers of any kind, and no authority figure who really knew anything about computers. The lady who was in charge of the school’s computer labs (referred to behind her back as “The Troll Lady”) was mean and irrational.

She forbid us to use the c++ compilers that were available in the upstairs computer lab because they were “too old” (we weren’t even allowed access to that lab). We also weren’t allowed to install stuff on the computers in the downstairs lab. So we were basically left with no way to do anything c++ related at school, unless we wanted to sit and read the books we had purchased ourselves. To make things worse, we didn’t really get along. Since our school was more arts/drama oriented, the kids who were good at computers tended to be kind of snobby. The kind that would call you an idiot for not knowing some obscure unix fact.

I digress though. The only reason I mention all of this is because this is when I discovered the game of Snake. Since I couldn’t do anything programming-related, I’d just sit and play Flash or Java games for the first hour and a half of the school day (we had block scheduling).

Basically I’d come in, watch Flash videos from NewGrounds, and then horse around on the different internet games I was able to find. Snake ended up being my favorite. I honestly sucked at it then and still suck at it now, but it was pretty mindless and actually pretty fun. Years later I’d implement my own version in Flash (which used to be featured at this site).

Anyway, a couple of days ago I was working on some other Javascript project for this site when I randomly started thinking about the olden days. After remembering how much I loved Snake I thought to myself “Hrm, I bet I could write a version of Snake entirely in Javascript”. Since Snake is such a simple game, I decided to run with the idea and try and crank out a Javascript version as quick as possible. You can see what I’ve got so far by following the below link:

http://patorjk.com/games/snake

That is fresh from my hard drive, and it’s a really bare bones version. I hope to add a couple more features and to optimize it some over the next week. Since Javascript is interpreted, the game may be a little jumpy on some of your computers (let me know if you have any major problems). When it’s totally done I’ll probably also post the source as a Javascript example. You could peak at it right now if you wanted, but it’s in a not-ready-for-prime-time state right now.

As an aside, under the hood the snake is a linked list. I googled “Javascript linked list” for some quick linked list code and came across this link, which is actually pretty nifty. It’s worth a look if it’s been a while since you’ve done anything with linked lists.

TAAG

TAAG was updated with a couple of fonts (they all start with “JS”) and I fixed up the feature that allows you to share messages you create with others.




Posted in General News, Software | 7 Comments »

Today I am 26

April 3rd, 2008 by patorjk

Knowing that I’m 26 makes me feel old. When I don’t think about the number, I feel like a young guy. At work, I’m the only person on my team who’s in their 20’s. Less than 2 years ago I was in college working on my masters. So on one hand, I am sort of still young, but knowing that college is completely behind me and that I’m more than a quarter century old makes me feel like I’m beginning to exit the “young” era.

Time seems to just fly by, doesn’t it? It was actually almost 10 years ago that I started this site up. I don’t remember the exact date the site went online, but I believe it was sometime during the Spring of 1998. Here’s an early screen shot from its first incarnation (the very first version of the site was just the main frame without the left hand navigation panel):

I still remember getting email from people who said they loved the content of my site, but hated the design. Each page had its own crazy background image and moving gifs. I had no clue what I was doing though, it was just a fun project. It’s cool to think that its survived so long.

As an interesting side note, I was originally inspired to start this site after getting an email that said “Your site sucks”. See, back in ~1996 I found a free personal webpage service called Geocities. Since no one had their own web page back then, I thought it was the coolest thing in the world. So I created a Geocities webpage. However, since I wasn’t very computer literate, I fumbled around with their online editor, got frustrated, and then left. The site ended up being a black background with black text, the text being a list of jokes I had swiped from some other site. And for no apparent reason, the page had a picture of Spock in the upper left hand corner (they only had like 5 sample images that their editor would let you use). This guy must have found my forgotten creation while browsing the Geocities’ website directory. Apparently it upset him so much that he felt like he needed to send me an email. I was so annoyed with the message that I decided to go fix the page up, and while doing that I decided to make it about my current interest - which at the time was programming.

Had I not gotten that email I probably would have still eventually started this web site, however, it would have had a different history and it might have even gone in a different direction. It’s odd that a piece of hate mail motivated me to create something that evolved into what you now see before you. The butterfly effect at work.

Anyway, going back to age, I suppose you’re only as old as you feel, and at the moment, I feel pretty young.

TAAG

I’ve been trying out some new Javascript tools for possible inclusions in upcoming apps, but nothing I really want to get too much into now. TAAG has seen some significant updates in the past few days though. I completely changed the interface in the control panel and added two new features:

  • A feature that lets you open your text up in a new window. So you can more easily share what you type with your friends. Check it out. Right now the feature is still in beta and doesn’t have all of the capabilities of the normal text that’s generated (colors, alignment, etc). I hope to add that by the end of the week (it’s a quick addition, I’ve just been really really short on time).
  • This one was a request, it’s a feature that allows you to replace the white spaces with whatever character you want. This feature can be found in the “More Options” section.

Originally I had been aiming to update the “Image Color Palette Generator”, but I ended up getting stuck on something so I decided to take a break and work on some TAAG updates. Hopefully there will be a new version of ICPG out sometime this month.

Forums

Despite not catching immediate fire, I’m keeping the patorjk.com forums alive and active. I plan to check them out at least 3 times a day. So feel free to look around or make a post or two. I’ve recently changed the “SEO” forum into a “Web Related” forum. It’s sort of a catch all forum for anything interesting that’s web related.

Posted in General News, Software | 6 Comments »

Forums!

March 20th, 2008 by patorjk

It’s late and if I don’t get to bed soon I’m going to be sincerely sorry in the morning (I’ve got a 9:30 meeting - only early if you consider the fact I’ll be going to bed at 2). So it’s finally here. Tell your friends, tell your neighbors, tell anyone who will listen, patorjk.com has forums again:

http://patorjk.com/forums/

Please sign up and make a post - feel free to write about anything as long as it makes sense for the category in which its posted. If you have any suggestions please let me know.

Some side notes: I deleted my old forum installation and reinstalled a new one. I saw that two of you had created user names. I didn’t purposely delete your user names. I’m assuming those of you who signed up for the forum found it via Google. For some reason it showed up as the 4th link for when you do a search for “patorjk” (it’s moved down a little now). At the time I figured I’d let it be since it’d probably make for an interesting find for anyone who was randomly searching for stuff.

Posted in General News | 4 Comments »

Visual Basic 6.0 Example Archive

March 17th, 2008 by patorjk

A discussion within the comments of one of my previous posts got me thinking about the past and how this site used to host a lot of neat programming examples. When I restarted the site last year one of my aims was to reinvent the site and to stay away from being an example depot. However, some of the examples I used to host weren’t available elsewhere and people did put a lot of effort into what they sent me. Not only that, the examples did seem to help people out.

When I made a post complaining about how all of my files were deleted, someone sent me a zip of all the programming examples they had downloaded from my site. The person had apparently made the zip one summer when they had decided to teach themselves how to program. The person told me they weren’t going to have net access during that summer so they had gone through my site and grabbed up all of the examples they thought would be useful.

Apparently they learned a decent amount and had archived some of them on their computer for future reference. I thought this was a pretty cool story, though since I was still in my “no old stuff” mind set, I didn’t post up the examples. However, thinking back about the VB Contest and Craig Jr, I decided it was worth putting up an archive of the old examples. I’ve re-created the old example page with everything listed, though some of the files are still missing. What’s available for download either comes from the zip I was sent or from archive.org. You can view the new example archive here:

Visual Basic 6.0 Example Archive

If anyone has any of the examples that are currently labeled “Missing” please let me know.

Forums

I’ve made my decision. There will be forums on this site, and soon. For now, give me around a week or two to get things set up - I want to iron out the details and play around with the forum software I have.

I know only a hand full of you said you’d be up for it, but there’s definitely a decent amount of passer byers / lurkers coming to this site, if interesting discussion cropped up I’m sure people would join in.

Also, thanks to everyone who replied in that thread.

Small Updates

  • The About page was updated.
  • The Ad format was changed for the blog. I figured the footer of each blog post would be a good place to stick them. I read up a little on inserting them inside of the actual blog post content, but that almost always annoys me when I see it so I went with the footer option.

Things Coming Soon

I’m working on a number of things but due to time issues everything seems to be taking forever. However, I hope to have TAAG and Image Color Palette Generator updates out soon.

Posted in Programming Examples | 4 Comments »

Can This Site Sustain a Forum?

March 10th, 2008 by patorjk

If I opened one back up, would anybody be interested in posting? I’d want to keep the number of sections low, like I had when I used ezboard. Right now I’m thinking of having the following sections: Programming Discussion, Web Programming Discussion, Thoughts and Opinions, and Errors and Suggestions.

It’s been almost a year since the relaunch of this site, and though I’m now getting between 500 and 600 visitors a day, the blog only sees a small fraction of that (maybe around 15%), so I’m unsure if I have a large enough base to actually launch a forum like the old one I had. I may try and partner up with other sites and do a shared forum type thing, though I’d have to think about it. Let me know if you’d be interested in one. If I get no / little feed back I’ll just wait on it.

Also, I am working on some updates. I aim to have some new content up by the end of the week.

Posted in Uncategorized | 4 Comments »

Yahoo UI and Image Color Palette Generator Updates

February 27th, 2008 by patorjk

After talking to a friend who had been going on and on about it, I decided to take a look at the Yahoo User Interface Library, or YUI. From Yahoo’s own website YUI “is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.”

They’re actually really cool, and surprisingly easily to use. After doing some searching I found a few other free Javascript toolkits: jQuery, Prototype, Mootools, and Google Web Toolkit. This of course isn’t an exhaustive list of all that’s out there, but these seem to be the most popular. I had actually heard of jQuery, but because of it’s name I had always thought it had something to do with SQL or Java.

After a not too extensive check of the available features, I decided to try YUI first. Mostly because I thought their tools looked the nicest and they have an Image Uploader (something I haven’t tried yet, but plan to). I decided to soop-up my Image Color Palette Generator, which has so far been pretty plain. I’m still in the process of adding stuff to it (which I’ll describe below), so it’s currently a mess, but it’s now set up so that once you generate a color palette you can play around with a nifty little slider bar that will allow you to navigate through the HSL color space.

I’m sure a lot people will look at it and think “Ok, so you added a slider bar…”, but it’s pretty freakin’ cool. Once the app is fully complete it’ll come together a lot better. These new tools are great though. I can’t wait to check out some of the others.

On a related note, these toolkits remind me of an interesting article I read a couple months back on the possible emergence of a new SDK that could spell the end for Google’s Gmail. It’s a neat read if you have some time.

Image Color Palette Generator Updates

First, let me say I did some house cleaning on this app and sped it up by 700% on my machine. So if you were having trouble with it before, you should be able to use it fine now (if not, please let me know). I even have some more ideas for speed ups, but they’ll be in the next release. I was a bit sloppy in my initial implementation, I guess I thought I could get away with doing some simple math and string concatenation inside of the loop that looked at the image’s pixels, but those fractions of a second add up fast. I used table lookups to replace the unnecessary calculations. As soon as I’m done with everything on it, I’ll release the source so people can better understand what’s going on.

Aside from that, the program is now set up to generate 4 color palettes for you. The two it generates that get displayed on the left side of the screen represent the color palette for the image and the complimentary color palette for the image. The two it generates that get displayed on the right represent the “Muller Formula” versions of these color palettes. The Muller Formula is something that professor Aemelius Müller from Switzerland came up with that basically predicts what colors users will find pleasing. No actual formula is given on that website, so I had to infer one based on the basic idea. Right now I’m still tweaking it, so it’s still kind of experimental for the moment.

Posted in Software | 6 Comments »

A Story, An Update, and Some Blogs

February 17th, 2008 by patorjk

A Real Programmer?

“I’m not one of these younger guys who don’t really know anything. I’m an older guy, a real programmer with real experience.” So those weren’t his exact words, I’m paraphrasing from memory, but it contains the basic idea he was expressing. I over heard this from the cube next to me while I was eating lunch. Honestly, I was pretty shocked to hear someone say this. While experience does make one a better programmer, I actually haven’t noticed that much of a quality difference between the younger programmers and the older programmers. In fact, the most talented programmer I’ve met at work is 27. It almost seems like programming skill grows logarithmically. You learn and a lot in the beginning, but then as you get more experienced, the skills you pick up only make you slightly better over all. And people who aren’t that great after a year or two, never really become that great.

So hearing some old guy go on and on about himself while bashing on the younger guys sort of ruffled my feathers. Since I had been pretty busy running around all over the place, I wasn’t at my cube but at a “general use” cube (so to speak), so I didn’t know who sat in this area. I was just kind of by myself, eating a sandwich and surfing the web. The voice sounded familiar though. The man continued to trumpet his own skill and put down the “less experienced” when I suddenly realized who he was.

I had actually spent the whole previous day fixing his mangled software. He hadn’t been able to get it to work, even after a 2 week extension, and he had now moved onto another project, so his work had been tasked to me. And I, a younger and “less experienced” programmer, had done what he could not do, and in a day, and now here he was bashing on the younger guys. I was actually pretty annoyed. Even if he had been a good programmer I would have been annoyed. I’m by far the youngest person on my team (by at least 8 years) so part of me had to wonder if he was thinking about me while he gave this little speech. He may have just been trying to talk himself up to his new boss, but what he was saying was still BS.

Anyway, I had enough sense not to interrupt his diatribe or let him know I was around, but I did file it into the back of my mind. Hopefully when I’m 40+ I don’t have an arrogant streak where I go around thinking I’m better just because I’m older, especially if it leaves me blind to my own incompetence.

Image Color Palette Generator Update

I’ve thrown in the towel and done away with the image uploading. The new Color Palette App simply wasn’t being consistent in what it could handle. The ability to upload an image is extremely useful to the user, but since I’m currently under shared hosting (ie, lots of other sites are hosted on the same server), I apparently don’t really have the horse power to handle some of the more heavy duty stuff.

The app is now set up to take in a URL to an image. This shields me from having to worry about people uploading unsavory content (though for safety reasons the app was deleting all images after they had been processed) and it keeps the user from having to worry about me spying on what they upload (something some webmasters do - always be careful about what you upload to websites).

In the future I definitely want to have apps that take in images from a user’s computer, so eventually this issue will be worked out. Anyway, for the time being you can check out the new version of the app here. If it dies on you let me know. This has sort of thrown a wrench in my plans for more image oriented apps, however, I’m still going to charge on and see if I can make the best of this. If worse comes to worse, I’ll just make C# versions.

Oh! And before I forget, I changed the formula for calculating the complimentary colors. I now convert the color space from RGB (red, green, blue) to HSL (hue, saturation, lightness) and then shift the hue by 180 degrees, then I convert back to RGB space. This appears to give much more accurate complimentary colors, though I’m not sure if this is the correct way of doing it. I still cannot find a proper formula for calculating them.

New Blogs

iamstuffed.com - My friend David’s website (he’s also currently my roommate). David is half Korean, half Porto Rican. When he was younger he got a full scholarship to Carnegie Mellon, but he dropped out after a year due to issues that were going on in his personal life (he later got a BS and an MS in computer science at other universities). Currently he works at NASA doing neat stuff with visualizations and web development tools. He’s told me he plans to build up his website with cool web apps and other random stuff he’s interested in. Since his interests change so rapidly (last month he was into guitars - he ended up buying 4 of them) I have no idea if he’ll follow through on this, however, he’s a smart and interesting guy so I figured I’d give him the benefit of the doubt and put him in my blogroll.

chicanerous - Chicanerous is the author of the popular VB Array Tutorial on this site. And I do mean popular, it now averages over 200 visitors a day. Chic also used to be a regular contributor to a message board I once had. On his blog he says he’ll “probably post poorly written proofs, unastounding thoughts on literature and criticism, overgeneralized musings on strength training and conditioning, and half-hearted ruminations on various other subjects.” Chic’s a cool guy so you should check his site out. Hopefully he doesn’t mind me spamming it here :P.

Posted in General News, Software | 6 Comments »

New Web App: Image Color Palette Generator

February 10th, 2008 by patorjk

After upgrading to PHP5, which was much less painless than I thought it would be, I decided to take a deeper look into how to do image manipulation in PHP. This is usually done with the gd library, which provides an assortment of useful image handling functions. There are certain aspects which were annoying (no Windows bmp support, difficulty in displaying images I didn’t want to keep on the server), but overall it appears to be a pretty handy toolset. If all goes well, I hope to create more image-based online apps. I’ve already got a big list of ideas, but I don’t want to get too far ahead of myself.

Anyway, the new application is Image Color Palette Generator - not the catchiest of names, but it describes what it does, which is create color palettes from images. This is useful when you’re designing a website and you want it to have the same look and feel as a particular image. This program will tell you what the most frequently used colors within an image are. It will also generate a color palette of the complimentary colors to the most frequently used colors. This can be useful if you want a look and feel that’s totally different from your input image.

The current implementation works by placing colors the app encounters into “buckets” which represent similar looking colors. After the image has been fully examined, the color palette is created by taking the average color from the “buckets” that contain the most colors. Pretty simple algorithm, eh? The complimentary colors are generated in RGB-space (Red, Green, Blue). If anyone knows the formula for calculating a complimentary color in the traditional artist color space (Red, Blue, Yellow) please let me know! I googled for at least an hour but couldn’t find any info on how to do it.

In the future I hope to make the program a bit more sophisticated. I’ve studied colors a little bit so I know the human eye is more sensitive to green than it is to red or blue, so colors with lots of green should probably have more weight than colors with less green. People also tend to notice areas where there is change going on in the image, and whether one notices the change can be estimated using the contrast sensitivity function. That may be getting a little too fancy. Though I’ll keep it in mind since it could be a nice tweak to the algorithm.

The app worked great on my machine, but I’m noticing now that it’s on my server that it’s struggling and timing out when larger images are inputted. So for now try and stick with smaller images (less than 40kb). I’m going to look into ways of getting around this. I may be doing something in an suboptimal way which would explain why it’s dying. Or it could just be because I’m on shared hosting and they don’t want me using a lot of resources. I’m not sure.

If you have any problems or suggestions relating to the new app itself, just post a comment in this blog entry or email me (see the About page for an email address).

Update: I’ve made some modifications and the program should now be able to handle images up to 200kb in size without timing out. It looks like the server only gives the php file a certain amount of time to do its thing and then it kills it. I may have to separate the functionality out into several files (even the it’s a small app). Also, right now I’m doing extra processing for gif images, so the program will work best with jpgs or png files.

Spam Blogs

Has anyone encountered these bot generated “automatic blogs” that seem to be all over the internet? I have no idea how long they’ve been around, but as this site has grown, I’ve become more aware of their presence. They seem to work by either grabbing content from other sites or from article databases. They then display this content and hope to grab visitors from search engines. Since these blogs are full of ads, and since 1-2% of users click ads, these phony blogs end up turning a decent profit, even though they don’t really serve a useful function.

To gave an example, on my stat page I noticed an incoming link from the Jessica Alba is Hot Blog (possibly NSFW). This site apparently has some bot that combs the internet looking for posts on Jessica Alba. It found my previous post, and then copped the begining of it saying:

Emily wrote a wonderful post today on “Slider Puzzle Source Code And Other Nonsense.” Here’s a quick excerpt:
I’ve finally gotten around to releasing my Slider Puzzle source code. Hopefully someone out there can find a good use for it. I was tempted to set up a Jessica Alba puzzle on some free web hosting site […]

Normally I welcome incoming links, but there’s something unsettling about an automatic blog spidering through my site just so it can grab content it can use to promote itself. I suppose it’s not really hurting anything, but it does leave a bad taste in my mouth. So far it’s only happened a few times, but I may end up blocking these sites.

No Housewarming Party

My roommate and I have opted not to throw a house party. The majority of you probably don’t know me in real life so you could probably care less, but I figured I’d say something here since I know there was a bunch of talk about it when I first moved in and some of my friends do read this blog and I don’t want them thinking they weren’t invited or anything. The main reason there will be no party is because my roommate and I are kind of lazy and we’re not really the type to throw huge social gatherings. We kind of prefer smaller groups of like 3-6 people. Anyway, if you haven’t seen the place and want to, feel free to shoot me an email. There’s not really a whole lot here, but the apartment complex itself is pretty damn cool.

Posted in General News, Software | 2 Comments »

Slider Puzzle Source Code and Other Nonsense

January 28th, 2008 by patorjk

I’ve finally gotten around to releasing my Slider Puzzle source code. Hopefully someone out there can find a good use for it. I was tempted to set up a Jessica Alba puzzle on some free web hosting site and then link to it from here (as an example of how this code could be used), but I thought better of it.

At work, we do these things called “code reviews”, where everyone on the team reads over your code and gives you comments. It’s actually more helpful than one would think. Sometimes you don’t see small mistakes, like forgetting to update a comment, and sometimes people have suggestions on how to more gracefully do something. You actually learn a decent amount after attending a few of them. Occasionally someone will get ripped a new one, but that doesn’t happen too often.

I tried to give myself a code review before I released this code, but undoubtedly there will still be some imperfections somewhere. Hopefully the code is understandable though. If you decide to use it, let me know and I’ll give you a shout out on this blog.

Google Reader / Welcome to 2005

Despite all the press they’ve recieved, I’ve never used a feed reader. I knew what they were for, but for some reason I didn’t think I really needed one. When I re-started this site last year, someone emailed me asking me to put a link to the RSS feed, so I did, but I didn’t really bother trying out a feed reader myself. I finally got around to checking out Google Reader today, and honestly, I can’t believe I waited so long! This thing is great! You wouldn’t think they it would be that handy, but after setting things up, it’s actually a really nice tool.

Feed readers basically keep track of various sites you’re interested in and alert you when a new blog post / update occurs. In Google Reader, if you think a particular blog post / news story / whatever is interesting, you can share it with your “friends” (this is really your Gmail contacts, so you have to be careful - Google got some flap over this recently).

After playing around with it some, I went around to all the places I normally visit to see if they had links for feeds. Most didn’t, which was slightly annoying, but since I didn’t really bother paying attention to feed readers until recently, I can’t really blame other site owners. Anyway, if you’ve never bothered to check out a feed reader, I highly recommend taking a look at Google Reader (side notes: it’s free and I’m not being paid anything to talk about it or link it here).

Ads

After doing some experimentation, I’ve decided to keep the Google Ads strictly to the blog. They’re not generating a whole lot of clicks, but they’ve gotten a few. I placed them on a few choice pages for a while, but I decided to take them down because I think ads can cheapen the look certain pages (plus I felt kind of dirty having them on things like the VB Array tutorial). I think my rule of thumb will be to keep this site ad free unless I’m dealing with a) the blog or b) a page that’s getting 10,000+ views a day. A friend of mine gave me the second option as a rule of thumb for when to use ads and it seems to make sense (the ads can help deal with the bandwidth plus make you a couple of extra bucks). I don’t mind having them on the blog since I don’t think they come off as annoying, they can be blocked without the page looking strange, and since I don’t update every day, they can serve as somewhere to go if you’re truly bored (for those of you who click ads, whoever you are).

Ambitions / New Company

So yeah, I haven’t been doing all this ad experimentation simply for just this site. For about a year now I’ve been talking to some of my old grad school buddies about possibly starting a web 2.0 style site that could generate revenue. Nothing really came out of it at first since they were still finishing their thesis projects, however, now that one is done and the other is almost done, we’re actually making some progress. We haven’t coded anything yet, but we’ve spent the past month brainstorming ideas and narrowing things down. It actually looks like we’re going to make a run at this, which I think would be pretty cool. If you never hear me mention this again, you’ll know things fell through, but if the wheels keep turning I’ll make sure and keep you all posted on this.

Posted in General News, Programming Examples | 2 Comments »

The Miscellaneous Section

January 22nd, 2008 by patorjk

The other day I realized that I sort of missed some of the more light hearted content this site used to have. When I relaunched patorjk.com, my original vision was for something a bit more focused, however, I think neglecting the humorous content took away a piece of this site’s personality. So I took a trip over to archive.org and grabbed up some of my old pages for a new section I’m calling “Miscellaneous”. It’ll basically house content that doesn’t fit into the categories of Software or Programming. Specifically, I grabbed up my old collection of funny chain letters: 1, 2, 3, and 4. I also grabbed up a funny IM conversation my friend Mike Smetak sent me when we were in high school, a neat poem about coke, and a profanity filled rant on room busters by Ping (who used to do art work for this site).

While creating this new section, I also did a little house cleaning around the site:

  • The Links section was removed. I noticed this section wasn’t getting much traffic and it was slightly redundant to my Blogroll (which is basically a links section), so I decided to remove it. I think I’ll think of the Blogroll as my new links section.
  • The Contact page was merged with the About page. Having a whole page for just my email address seemed kind of silly, plus it sort of cluttered up the navigation a bit.
  • The VB Array Tutorial [fixed] was updated. Someone emailed me requesting that I add a section on multidimensional arrays, so I added a blurb at the end of the article that discusses them.

Google Penalty for the Color Fader

Woe is me. My Color Fader app seems to be suffering from a Google penalty. The program went from being ranked #3 on Google for the phrase “color fader” to not being ranked at all for that phrase (I checked all 68 pages). A Google penalty occurs when Google decides your page is somehow violating their terms of service. No published data is available about the kinds of penalties, but they’ve been speculated to fall into the categories of the -30 penalty (your search rank goes down by 30), the -950 penalty, and being removed from Google’s index. The program still ranks for one key phrase, so its not gone from the index, but I’ve also noticed that Google Analytics doesn’t appear to be reporting any data for the app, so for one reason or another, Google has decided it doesn’t like my color fader.

I’m kind of at a loss for why this is. I emailed the support team through their Webmasters Tools application, but I haven’t heard anything so I’m not sure what to do. Google had been bringing that page around 30 visitors a day, so it sucks that all of a sudden its facing this bizarre penalty. Luckily Yahoo and the other search engines still seem to like the app.

Edit: Woo! It appears the mysterious penalty has been lifted. I now rank again for various color fader related search terms. My guess is that the penalties are auto-generated and that to undo one someone at Google has to go look at the page and make sure everything’s cool. I probably should have been more patent (I sent my reconsideration request on the 15th), but for some reason I was thinking I was in for a long penalty. I read a couple Google penalty stories I found online of most of them revolved around people having long penalties (up to 10 months). I guess I just got lucky.

DarcFX is Not Dead

In my “Three Things to Say” post I mentioned that DarcFX.com was no longer with us, however, it apparently is not dead and was just offline for a while. In the comments to that post Syber dropped by to say “DarcFX is still around and the victim of me recently being useless with linux and ruining his entire site. All the stuff still exists though.” So it’s good to know it’s not gone, it’ll be interesting to see if anything new is in store for the site.

Posted in General News | 6 Comments »

C#, wasting time, and hunting down AOL fonts

January 14th, 2008 by patorjk

C#

I’ve decided to make C# the next language I learn. On Sloat’s suggestion, I download the free Express Edition, and have been playing around with it a little the past few days. I have a few ideas running through my head on apps I want to make, but before I jump into anything I’m going to try and get a decent background (via online tutorials - right now I’m using what comes up on Google, if anyone has any suggestions for some good resources, let me know).

Later on I may take a look at VB 2007, but since there currently doesn’t seem to be any advantages to using it (at least from what I can tell), I’ll probably delay learning it.

Scrolling Text Time Waster

While looking around on some old CDs I found this, a fun little scrolling text time waster. It’s a PHP version of one of my old Javascript apps. The PHP version was originally located at my UMBC personal page, though at some point I took it down. After looking over the script, I touched it up a bit and figured it was amusing enough, so I decided to post it up.

As a side note, my decision to post it up was partly because of these people. I had honestly never received any feed back on my old Javascript app and had actually wondered if it ever got used at all (or if people thought I was childish for posting it). It’s neat to see how stuff can find its way around the net. As a side note to this side note, I sometimes wonder if my googling skills come off as creepy. My old suite mate Mike (who I talked about in the last post) helped me refine them a little bit when I lived with him. He was actually kind of legendary for his googling skills. I have some funny stories about Mike and googling, but I’m sure he’d kill me if I posted them here.

More AOL Macro Fonts

The number of AOL fonts has doubled in the TAAG app. You can view them by selecting “AOL Macro Fonts” from the Font Type combo box and then running the Test All feature. In addition to these new fonts, the “TRaC” and “Cheese” AOL fonts were fixed (woo!).

This deludge of new fonts comes from various old apps I obtained through lenshellarchive.com. It’s a pretty neat place, it aims at having the largest archive of old progs. What one can do with progs written for software that isn’t used anymore is anyone’s guess, but it’s cool to see they’ve been saved somewhere. However, even though it says everything has been run through a virus checker, I’d be cautious before downloading anything. Some of that stuff is kind of shady.

Interestingly enough, the site actually hosts my old fader program, giving it the low rating of 5/10, which I thought was kind of amusing. It honestly wasn’t that good of an app, though it was the first program I released on this website (when I was at geocities), and it actually generated a lot of positive feed back, so it encouraged me to keep going. How it ended up at lenshellarchive is anyone’s guess. I had no idea anyone else hosted it (btw, I encourage outside hosting of any of my downloadable apps), but according to a txt included in the zip I downloaded:

You Should Have Downloaded This From
Kamz Domain [ http://www.kamzdomain.com ]
If You Did Not Please Email Me At
Kam@kamzdomain.com
and Let me Know Where You Got It So
I can End This Link Stealing Bullshit

|¯|’/¯/    /¯/\ |¯|\/|¯|
|÷|/_/ ‘  /÷/\¯\ ‘ |÷|\/|÷|
|÷|\¯\ ”/÷/ ¯\÷\ |÷|  |÷|
|_|’\_\ |_|    \_| |_| |_|  

According to archive.org, kamzdomain.com existed for a brief period of time in 1999. It’s neat to find stuff like this, I feel like an internet archaeologist. I wonder if the app made any more stops before ending up at lenshellarchive.

Posted in General News, Software | 4 Comments »

Three Things to Say

January 6th, 2008 by patorjk

As I type this sentence my clock says its 5:00am… I’m sure it’ll be much later than that when this entry is finally done. So much for having a normal sleeping schedule :P. Oh well, on with the updates…

Updated Test All

I’ve updated TAAG’s “Test All” feature. It should now be much faster. In fact, based on some tests I ran, it should be 11 times faster than before. The old “Test All” feature worked by having Javascript and PHP continuously talk to each other during the text generation process. Now everything is done server side with PHP code. The downside to this is that all my Javascript text generation code had to be duplicated in PHP. This sucks for a number of reasons, but I couldn’t see away around it :/. With the exception of bug fixes, I think I’m pretty much done with this app. Well, no program is ever really “done”, but I think I’ve come to a decent stopping point.

Also, after doing some testing in Opera, I realized the color dialog script I was using doesn’t work in that browser, so now I’ve put up a little notice when you push that button (it’ll pop up only if you’re using Opera). I’m not sure if there’s a way around this, but I’ll try and find one. It makes me nuts that every browser is so different.

Thoughtful Programming and Forth

While searching the net for an old college friend’s / suite mate’s webpage, I discovered an old article he’d written on Thoughtful Programming and Forth. Though I didn’t agree with all of it, and I’m not about to start programming in Forth, I thought it was a well thought out piece. Since he used to have it on his web page, I emailed him (he’s now off in Canada working on a PhD in Math) and asked him if it’d be cool if I posted it up here. He told me he was fine with me posting it up, as long as I updated the email address and fixed a spelling error. So anyway, if you’re interested in learning a little about Thoughtful Programming and Forth, his article is worth a read:

Introduction to Thoughtful Programming and the Forth Philosophy By Michael Misamore

It’s a shame the rest of his webpage is gone, because he had some interesting content, but nothing lasts forever. Which leads me to my next topic…

RIP DarcFX

DarcFX.com, possibly the last of the great AOL programming websites, has closed down. This is probably for the best, since it hadn’t had any new content in years. In fact, I was actually a little shocked that the site lasted so long. For those of you who don’t know, DarcFX was known for being the site the succeeded KnK4Life.com after it closed down. KnK4Life was once the biggest resource for AOL add-on development. I’m talking thousands of unique visitors a day big. I mention its relevance here mostly because the site housed a couple of my programs and programming examples. It boosted my visibility a decent amount, and for that I’m thankful.

It’s a shame to see sites die, but unless they can evolve there’s really no point in having something that isn’t relevant anymore lying around. DarcFX was still giving me 5 or 6 referrals a month though, so I’d assume the site was still bringing in a decent amount of traffic. It’ll be interesting to see what happens to the domain. KnK4Life.com is apparently available for purchase. I’m surprised some spam site hasn’t grabbed it up, though it’s been so long that the domain is probably worthless. DosFX.com is another site that seems to have died. Dos was probably the most well known AOL add-on developer. Bofen.com was once a major site, until it went down in disgrace. Now the domain is owned by some company that sells “premium domains”. That’s the sort of thing I would expect to see happen to a lot of these late 90’s / early 00’s AOL hacking / programming / software sites that brought in tons of visitors. It’d suck if that were the fate of this site, though at my current status, I don’t see that happening.

Other sites I remember from back in the day:

Magintta.com - This site never brought a lot of people in, but I remember her. It’s good to see it hasn’t disappeared. Though it doesn’t look like it’s been updated in a long time.
Pixelsex.com [currently NSFW] - Plastik’s old site. Originally this site was hosted at dosfx.com. Plastik had a cool site with lots of tutorials. Looks like it’s gone now.
TPA Software - This site seems to be alive and well, it’s been a long time since I last visited.

I know there were a lot more than this, but these are the only ones I can think of off the top of my head. Anyway, I should probably get bed now…

Posted in General News, Software | 30 Comments »

Year End Review: The patorjk.com Comeback

December 31st, 2007 by patorjk

I’ve decided I’d write an entry summing up what I learned this year. I basically want to talk about what worked and what didn’t work, and talk a little about what I hope to accomplish in the future. It weird to think back and remember that the main page of this site used to get 1000+ visitors a day. This was of course when I was back in high school, and too apathetic and naive to really appreciate it. Anyways…

Things That Worked:

TAAG: This was the first new program I decided to release on this site. In the beginning it faltered and didn’t get much attention. It was an odd choice as my first new program because I had originally passed on the idea back in 1999 (right after I’d written an AOL Macro Shop - Fallen Legion). However, I had been wanting to create more web-oriented applications, so I thought it’d be a good place to start. During the first few weeks I was actually worried it’d fall into the abyss of the internet and never be seen again. As of this writing it seems to have found an audience, and it’s now by far the most visited page on this site. I attribute the following reasons to why it didn’t fall into the abyss:

  • Joining the ASCII Arts Ring & Directory. Yeah, joining a web ring seems pretty amateurish and late 90’s, but I worried that no one would ever see this app so I signed up. The ring only brings in 1 or 2 visitors a day, however, being listed was a huge boon to the page’s search engine ranking. Shortly after joining I started getting 10-20 visitors a day from Google (now that number is 120+).
  • Emailing the FIGlet emailing list. FIGlet fonts have an emailing list, I emailed it and told them about the new app. No better way of getting the word out then contacting people who might actually care.
  • Changing the default font to something stylish/cool. I noticed that changing TAAG’s default font from “Standard” to “Dancing Font” had an almost immediate effect: people stayed a bit longer to play with the app. I guess this means that making an immediate impression on people is important. If you don’t grab someone’s interest with something cool or stylish, they may not stay long. I’d assume the same goes for interfaces. If your interface sucks, people aren’t going to stick around to see your app, even if it is really cool.
  • A “Test All” feature. This was something that’s sort of essential for an app like this, and adding it upped its usage, but it still kind of sucks at the moment. I’m working on a fix to make it faster.
  • Other people showing this app to their friends. Someone listed the site on Stumbleupon and over a period of days I got an influx of 600+ visitors. I would not have thought to submit my site there. At the end of the day, I think the only way something can be successful is if other people like it and decide to pass it on.

Color Fader: I’m not sure how to feel about this. I wrote it mostly because someone sent me an email requesting that I post it back up, and when I finally came out with a new version, I hated it. On top of that, the only reason it’s indexed highly on a couple of different search engines is because the old version was so popular (there are even clones of it here and here - though I OKed mostuff’s version back in the day and I think Zak’s version is cool and well designed, both are somewhat flattering, though under normal circumstances I’m not cool with people lifting the source to my pages).

I felt a little silly writing this app, and even sillier supping it up (I recently added a whole bunch of features), but it might as well be a quality app if I’m going to host it here. The biggest thing I learned with this program was that even after all these years, my old files actually still hold a decent page rank in many search engines. I couldn’t even find one new link to my Color Fader until this month. Also, as an aside, the audience for this app is all over the map. There’s actually a cam girl site that links to it, a MMORGB site that links to it, an advice column that mentions it, and it was brought up in some Disney forum for preteens. So I suppose it’s users are a colorful bunch (yeah, that was a pretty crappy pun, I apologize).

Visual Basic Arrays Tutorial [LINK FIXED]: This tutorial was written for this site by the multitalented Chicanerous, back when he was a member of a forum I used to run. I decided to resurrect this gem of a web page after looking through an archived version of this site. The tutorial still held up and it seemed like a terrible thing to waste, so I reposted it. Everyone seems to think static content is dead, but this page has steadily grown in visitors since I posted it up. It now receives 70+ views a day, which is pretty amazing, considering I didn’t do anything to promote it other than mention it in this blog once or twice. With some googling, I even found that it was cited in some university compsci handout, which I thought was cool. I talked with Chic briefly about the tutorial’s gaining popularity and he didn’t seem that interested. He left the programming world a while back, which is a shame, because he was a pretty damn good coder, but oh well.

VB Code Bank: This grabs a lot of odd queries up from search engines. It a reasonably decent resource, I should probably find a way to expand it. The more relevant content this site has, the better.

Reposting Old Apps (Mosaicer and API Spy): Most the links to this site are from sites talking about my free Mosaicer program (and about 50% of the email I get related to this site is from people interested in Mosaicer), which boggles my mind because it’s so old that I’m actually afraid to look at its source code (I wrote it while I was in High School). The API Spy also brings a decent number of people in. It’s sad to think so many people come here for my old stuff, but I suppose that should also be flattering, without those apps, this site would not exist today. One day I’ll update both of them.

Things That Didn’t Work:

Slider Puzzles: Ugh, this kills me. I enjoyed working on this. I really did. It was a spontaneous creation that seemed like it had so much potential, but it now currently get less them one visitor a day. I think it’s biggest problems are:

  • Slider puzzles are all over the internet. This app isn’t very unique.
  • I didn’t do anything to promote it other than talk about it on this blog.
  • The images for the puzzles are old paintings. My old Sarah Michelle Gellar puzzle got a lot of views, but that was mostly because the puzzle was of Sarah Michelle Gellar.

I’m currently working on cleaning up the source code for this app so I can release something others can install on their websites. Maybe someone else in need of some slider puzzle code will have more luck than me. Or maybe they can find a way to creativity build on the app. I’ve briefly entertained the idea of changing from old paintings to Sarah Michelle Gellar or Jessica Alba pics, but copyright issues concern me, and I never seem to hear back from “fan” sites when I email them asking if I can use the images.

The Future / Ambitions

I’m 25, and this coming year I’ll be 26. It’s scary to think I’ll be approaching my 10 year anniversary as a coder. When I started out coding, I learned mostly by reading message board posts on AOL’s add-on development board. It seemed like I learned something everyday. It’s been a long time since I’ve had something like that.

This coming year I hope to be a lot more prolific in my coding and more productive in my learning. I want to write some more web apps as well as get back into writing programs in Visual Basic (I installed Visual Studio 2003 a couple of months ago, but I haven’t used it yet). I have various un-finished projects on my computer, but all of them would take a decent amount of polishing before I posted them up.

New Years

I’ve never really been a fan of New Years. It seems like the kind of day where everyone has to be at a party, and whatever happens, it always tends to be anti-climatic, at least for me. When I was younger, I’d just celebrate by watching MTV’s countdown of the top videos of the year. I kind of miss those days. It seems like everyone feels like they need to do something big for New Years. Last year I didn’t have anything to do up until 5pm. Everyone else seemed to have made plans weeks before hand and my friend and I were just kind of hanging around when his roommate, who had recently been hired as a bouncer at The Guards in DC, made a rather interesting proposal. Apparently some 20-something year old rich girl was holding a private party at his new place of work. Word had it that it was going to be a pretty killer party, and because the guest list was so huge (100+), no one would really notice if a couple of nondescript 20-something’s snuck in (this was later proven true, when I actually met face to face with the rich girl).

So we took the roommate up on his offer and snuck in the backdoor. The party was insane. It was the kind of party that was fully catered, had an open bar, everyone was dressed to kill, beautiful women were everywhere, and a hired photographer was taking pictures of the festivities (somewhere there are some New Years Eve photos with us grinning hysterically). It’s funny, at first we just kind of stood in the corner and tried not to get noticed, but by 10:30 we were shit faced and high fiving random dudes who were probably future high priced lawyers. I even remember being out on the dance floor, which is strange because I can’t dance to save my life.

So anyway, that’s how I started the year. I’m actually thinking I’ll end it on a much quiter note, most likely just hanging out with some friends. Even though that doesn’t make for as good a story, it can still be just as fun.

I hope everyone has a safe and happy News Years!

Posted in General News | 10 Comments »

« Previous Entries