Did Yahoo Punish Me For Reporting Spam?

July 1st, 2008 by patorjk

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.




Posted in Uncategorized | 4 Comments »

Getting A Little Flashy And Free Icons

June 25th, 2008 by patorjk

For some reason I couldn’t resist tinkering with the Text Ascii Art Generator (TAAG) app again. Last Wednesday I updated it so that its generated output would be displayed in Firefox without flickering. I used to do all my web development in IE since it was the most popular, but I switched to working in Firefox and Opera late last year since they have Error Console windows and don’t crash as much (if I have too many IE windows open, my computer slows down and I have to restart it). Though I still double check to make sure things work in IE.

Anyway, for this new update, I decided to get a little flashy and add in a footer that would fade-in when the user typed in a message. I’ve heard that presentation is an important part of the user experience and can be the difference between someone passing a site by and taking a closer look. Plus, after a rapid prototype, I thought the footer looked really cool.

Right now it currently holds the links for opening the message in a new window and generating an image from the text. They’re identified by these icons:

- - - - -

Which I found here. Luckily they’re licensed under the LGPL, which from what I gather from wikipedia, means they’re free for anyone to use as long as they don’t extend them (in which case they have to freely provide the extensions).

I think the new footer came out pretty well. TAAG now feels complete to me, though I’m not going to rule out any future updates. Later this week I’m going to try to get to work on some new stuff, but I don’t want to promise anything since lately I’ve been jumping around in what I work on.

$103

In completely unrelated news, if you’re bored, I found this website to be mildly amusing:

websitevaluecalculator.com

You give it a web address and it’ll tell you how much that site is worth. patorjk.com is apparently worth $103, though a couple of days ago it said 6k, so they must still be modifying their algorithm. I wouldn’t take an analysis from a site like this seriously, but it is kind of fun to see what it says different sites.




Posted in Interesting News Articles, Software | No Comments »

Souping Up WordPress and TAAG Updates

June 16th, 2008 by patorjk

I can’t believe it’s been almost 2 weeks since I last updated. It seems like every day I think about something new I could do for this site, yet I only get to do a small portion of what I think about. I have more stuff coming down the tube, though I’m not sure when I’ll have it out. Sometimes I think I’ve got programmer ADD. Anyways…

New TAAG Feature

I added a new feature to the Text Ascii Art Generator (TAAG) program that allows you to easily generate an image of your ascii art output. In the outputted text, you’ll now see a new link, next to the “Open In A New Window” link, that says “Generate Image”. When you click it, it’ll generate a PNG file of your output.

Currently this feature is only available for FIGlet fonts. I had some issues with getting some of the more eclectic Arial font characters to print. I’ve even noticed that the AOL fonts (which are done in Arial) don’t show up correctly unless I’m using IE, which I find a bit annoying. Anyway, let me know if you have any problems with this feature or if you see any obvious flaws.

WordPress

After reading up a little bit on WordPress optimization tips, I decided to re-do this site’s sidebar. Mostly because I felt like the site related content should come before the outgoing links (sorry guys). I’ve also read that it’s good to have a large feed icon so I made one that blended in with this site’s color scheme. I almost went with this icon:

Which was generated using this nifty little program. However, I wasn’t sure how many people would actually understand what that thing was for, and it is kind of ridiculously big, so I went with something more traditional that had some explanation text (”Get Updates in a Reader”). I read somewhere about an experiment someone did that showed that people were more likely to click a link that said “get updates” than they were to click one that said “subscribe”. I think that makes a lot of sense too, since subscriptions usually cost money and involve you giving out some kind of personal information, which most people don’t want to do.

The other feed icons, the brand-name ones, I got here. I’m not sure how long I’ll keep them. They’re not ads, they’re just links to online feed readers. However, the big Google Ad below them is an ad.

Right now I’m not really sure if this is the layout I want for the sidebar. I may try some different configurations in the coming days, but I haven’t made up my mind. I want something that flows and looks nice and I think I’ve sort of got it, but not really. So you may see things change around a bit. If you have any suggestions/complaints/ideas, let know know.

I also added a feedburner counter. I’m not sure if that’s a good idea or a bad idea. However, I do appreciate the adds from those of you who have for some reason or another decided to subscribe to this site.

Subscribe to Comments

Lastly, I also added a new WordPress plugin that allows you to subscribe to certain comment threads on this blog. When you subscribe, you’ll get an email notification each time someone posts a new comment to that thread. I figured this would be pretty useful. At least I know it would have been if I’d had it when everyone was giving their updates in the Three Things to Say entry.




Posted in General News, Software | 4 Comments »

StumbleUpon-ed

June 4th, 2008 by patorjk

I received 10,765 visitors yesterday, which is pretty good for a small site like this one. Late in the day yesterday I checked my stats and kind of had to do a double take. As soon as I saw the number I knew something had to be up. I checked my referrers and noticed StumbleUpon had sent me a boat load of people.

After a little investigation I found the Text Ascii Art Generator (TAAG) app had for some reason obtained a lot of “thumbs up”’s from the StumbleUpon community. Someone added TAAG to StumbleUpon months ago, and I received a flurry of visits for a few days after that, but it topped off at around 600, nothing close to the traffic I got yesterday. I’m not sure what caused this avalanche of attention (it seems to have started in the mid afternoon), but it was pretty cool. I haven’t had that many visitors in a single day since I was mentioned in the Lockergnome News Letter back in 2000 (which at the time was a very popular online news letter - now it appears to be some kind of blogging community).

Right now it’s almost 1:30AM and as I write this, and I currently have 1.5k visitors for today already. It’ll be neat to see how long this StumbleUpon bubble lasts. So far my site appears to have held up without any problems too, so site5 earns itself a plus mark in my eyes. 10k isn’t a whole lot, but it’s good to see that sudden bursts of traffic are handled without a problem.

What I’ve Been Doing

It’s been a while since my last update. I’ve been jumping between projects, probably a little too much. Last weekend I was doing some C# stuff, and this past weekend I did a little Javascript (which I’ll talk about below). After reading all the hype on Python, part of me contemplated rewriting the Image Color Palette Generator (ICPG) in Python just as a learning exercise, but I decided to drop the idea after a little more thought. I’ve got too much going on already, and it’s probably better for me to focus on a hand full of projects than it is to try and get a taste of everything.

Ajax Image Uploading

I got image uploading to work separately from the image processing in the ICPG program. Using this nifty jQuery plug-in I was able to set the program up so the user could upload an image and then hit the processing button. It actually worked right out of the box, which is something of a rare occurrence.

ICPG used to handle image uploads, but I kept getting time out errors because my host only allows 15 seconds of processing time for each php file before it kills it. By having image uploading occur separately, I think I can get around this.

However, even though I have something that works now, I’ve decided to wait on uploading it (sorry for being a tease). The new version seems kind of hacked together and since uploads have security issues, I figured I’d take some time to double check everything and try to speed things up as much as possible. I also want to tidy up the interface and get rid of the page reloading.

Well, that’s all for today, I should probably be getting to sleep now since I have to get up for work tomorrow.

Posted in General News, Programming Examples | 11 Comments »

Minor Updates and Future Plans

May 19th, 2008 by patorjk

I’ve spent the past couple of hours researching VPS (virtual private server) hosting. It’s apparently the next step up after shared hosting. This site isn’t at that level yet, however, I suspect I’ll probably need to upgrade if I keep creating web apps. Anyway, I’m not sure I really made any progress. There are a lot of VPS hosts that look nice, but they’re either too pricey ($100+ a month) or I get horror stories when I Google things like “[hosting company] sucks”. It’d be nice if my current host offered VPS hosting, though according to their forums, they don’t plan to do that anytime soon.

Anyway, over the past week I’ve made a couple of minor updates. I’ll enumerate them below.

  • The Snake game was updated to use a snazzy YUI loading dialog (see image below). The loading time is strictly taken up by div creation. I create 2000 divs so the snake can grow without any pauses when you “eat” the red dots. There’s probably a better way to do this, but I haven’t thought of it. Also, a lot of little updates were made to the Snake game, however, you probably wont notice the difference since it’s little stuff that only I’d care about. I know I said this before, but I’m now officially leaving this game alone (with the exception of bug fixes and possible significant performance improvements).
  • The dual-thumbed slider bars on the Text Color Fader and Gradient Image Generator were updated so that the thumbs will move when you click on a color.

What’s Next?

I’m thining of making a couple more simple web apps for the site. Right now that’s just what I’m into. I spent a few hours this past week reading some tutorials on jQuery, and it looks really cool. After that I may do some C# or VB stuff. The programming section of this site recently became more popular than the software section, so I’m thinking I should probably try to expand that more - though I’m not sure what angle to take (the old VB stuff is what’s pulling in the visitors). I may make some quizzes, those were fun back in the day and they’re easy to whip up, but I don’t want to get ahead of myself.

I think the forums are officially dead. They had some good exposure. I just don’t think they were targeted right for this site’s audience. Plus there seems to be database issues. Oh well though, there were a couple of interesting topics. I’ll leave them up for the next week or two, but after that I’ll probably take them down.

Posted in Uncategorized | 10 Comments »

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 | 11 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 | 4 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 »

« Previous Entries