Category Archives: Software

This category is for new software / freeware releases.

Three Things to Say

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…

Color Fader Updated + Other Stuff

Color Fader Update

I’ve been annoyed at the job I did on my updated color fader since it was released. The interface was squished, awkward and clumsy, the color scheme was bland, and it over all just looked bad. I decided a few days ago to break from what I was doing and work on a re-design of it. I think I’ve come up with something that’s cleaner and easier to work with:

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

The ASCII Art heading is kind of cheesy, but nothing else seemed to fit that heading area and it seemed to fit the ambiance so I left it in. Along with the new design, I added a few new features:

  • Vertical text fading: Now you fade lines of text along with fading character by character.
  • Multi-color image fade: I always felt it was a HUGE design flaw to have a separate 2-color area for image fading. I’m not sure what I was originally thinking, perhaps I was just lazy.
  • Background color selection for text fades: You can now see what the faded text looks like on different colored backgrounds.

Ultra Edit

I’ve been looking around for a good text editor that I can use for development purposes. At the moment, most of what I’m doing is Javascript and PHP. Recently I’ve come across Ultra Edit, which appears to be a pretty snazzy editor. It has syntax highlighting, grep-like searching abilities, a customizable tool bar, line number information, the ability to hide nested code, and lots of other nifty features. It’s only negative is that it’s not free. It’s $50 if I want to use it past the trial period. I’m actually thinking about shelling the doe though, since it would be a big step up from WordPad. Anyone know of any other good Windows text editors I should try before I purchase a license for this one?

Garfield / Realfield

Some clever folks on the internet have discovered that the Garfield cartoon strip is actually pretty funny if you remove all of Garfield’s thought bubbles. It actually works on a whole new level, it’s pretty cool:

Google Ads

I’ve been mulling over the idea of possibly placing a few Google Ads on this website. Nothing crazy or annoying, but something that’d be reasonably discrete and only on a few choice pages. I was doing some calculating and with what I read I could probably make enough a month to cover hosting costs if I placed ads on the Color Fader and the VB Code Bank. I think that would be pretty cool – this site paying for itself.

My fears in doing this though would be that I could scare away visitors or annoy those who regularly visit. Or I could turn off people who think I’m just trying to cash in. So I’d probably only do it in a few select areas, and not in areas that would cause clutter. I dunno, I’ll have to think about it some more, but I just thought I’d give everyone a head’s up.

TAAG: Test All

A “Test All” feature has been added to TAAG. It will let you test all 281 fonts. You can access it by selecting the font called “__TEST ALL__”. It’s not as fast as I’d like, but it’s not terribly slow either. I debated uploading it but I finally decided to give in. I’m still trying to get a feel for the kind of load I can put my server under. Most of the work for this feature is done with Javascript, but the font files are still parsed and loaded on the server. That doesn’t seem like a whole lot of work, but I’m on shared hosting so it’s unclear how much is too much. Also, this new feature is still in BETA, so it may be a little buggy. Let me know if you have any problems.

After this, there’s only one more feature I’m interested in adding to TAAG. And it’s one of those things that most people wont notice and it’ll be a pain in the ass to program. So it’s way down on my list of things to do. In the meantime I’ll probably just keep working on other things and, when the mood strikes me, look into ways of optimizing TAAG.

That reminds me, I was reading a rather interesting article earlier this week on the death of Gmail:

The Death of Gmail

The cliff notes (possibly a little over simplified): History shows that utilizing new but bloated technology pays off in the long run because hardware keeps getting faster and faster and/or people find ways of speeding it up. It’s better to be ontop on the new technology than to be stuck working within the constraits of the old technology.

It’s an interesting read, but I don’t think the people at Google are so smug that they’d let a new technology slip by them like that. Plus, I don’t think most people would be so quick to give up their Gmail addresses.

Slider Puzzles

A long time ago I used to have a Sarah Michelle Gellar Javascript puzzle up. I made it one day while I was bored and trying to learn Javascript. I figured it’d fall into the abyss that a lot of my Javascript projects fell into (anyone remember that ghost clicking game I had?). Oddly enough though, it ended up generating quite a few emails. Mostly Sarah Michelle Gellar fans. Later I built a more advanced slider puzzle, but it was total crap and featured Britney Spears (not the best choice) and I’ve always wanted to write a better one. So on Sunday I sat down and churned one out. One that would allow me to do lazy updates by automatically looking for new puzzle images (keeping the data and the script separate).

Originally I was going to make a Sarah Michelle Gellar slider puzzle gallery – but then copyright issues came to mind and I decided to not to risk it. Plus I thought it might look kind of creepy for me to have a large, shrine-like Sarah Michelle Gellar puzzle gallery on my site.

My next choice was to do Salvador Dali paintings, but it turns out his stuff is under copyright too – and for the next 50 years at that. The ARS, who now manage Dali’s copyrights, seem to be pretty active in going after potential violators. Not the kind of people I want to tangle with.

So instead, for my first slider puzzle gallery, I decided to use the works of Paul Cézanne. He’s a famous impressionist painter whose paintings often pop up in computer graphics journal papers, since the images are public domain. You can see the resulting slider puzzles here:

http://www.patorjk.com/games/sliderpuzzles/

I think I’m going to try and have a variety of galleries since it simply involves finding free images to use.

As stated before this script is relatively new, so it may be a bit buggy. Let me know if you have any problems – or if you have any suggestions!

TAAG Update

One thing that annoyed me about my TAAG program was that every time you changed fonts, the top frame had to be reloaded. This was because the program needed to talk to the server to get the information about the new font. However, technically, nothing on the page needed to be redrawn, so refreshing the whole frame seemed like a little much, and when you change fonts a lot, it gets annoying. Anyway, this week I was reading up on AJAX, which is a way of talking to the server without reloading the webpage. Since this was just was I was looking for, I decided to incorporate the technique into TAAG:

http://www.patorjk.com/software/taag/

The top frame will still reload is you change the “Font Type” or if you select a font from the preview page. However, it should not reload if you change fonts via the drop down font list. Also, there is a bug in Firefox where the “onchange” event isn’t triggered for keypresses on listboxes, I’ve set things up so you should now be able to change fonts with your keyboard on Firefox. A few other things were updated as well, but it was all small stuff.

If you’re thinking about developing web applications or interactive webpages, AJAX is worth reading up on. I wish I’d known about it sooner. Later this week I think I’ll start on my next program, it’ll be another web program and I’m unsure of how long it’ll take to make.

New Online App

It’s here folks, check it out:

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

About a month ago someone emailed me requesting I put my old online color fader back up. You can find it at the web archives here:

http://web.archive.org/web/20050310095844/www.patorjk.com/ColorFader.htm

It’s a neat little app, but I figured I could do a lot better, so I told that guy I’d write a new one and post it up in a week :P. It took a little longer than I suspected, mostly because I was distracted with other things (I didn’t start on it until last week). This new color fader is MUCH better. It can fade up to 100 colors, and has a nifty little feature that allows you to create background fades. Example:

With this app you can generate faded images 1 pixel wide which you can use as the background for certain page elements

I like the idea of generating images with PHP. I’ll probably play around with it a little more and see if I can make anything interesting. Though right now I’m still feeling pretty sick so I think I’m going to go lay down. Let me know what you think of the new app though!

Three Crazy Software Ideas I’ve Tossed Out the Window

A while back I announced I was going to create 2 new online apps. I’m about 80% done with the first one. I started on it last week and have been working on it every once in a while. It’s a rather small app, but it’ll have some features which I think people will like – well, at least one person should, since it’s based off their request. It should be ready next weekend.

The other app, which I’ll reveal in the list below as #3, I’ve decided not to write. After thinking a bit, I decided it was the kind of application that would be cool to write, but that no one would have any practical use for. These kind of ideas come to me every once in a while, most of the time I come to my senses, though sometimes I actually end up implementing them and releasing them to the public (my Mini-Hex Editor comes to mind). Below is a list of four ideas I’ve had that I seriously considered and than later realized were ridiculous. If you happen to think any of them are not-so-ridiculous, feel free to take the idea and implement it.

1) Online Texture Synthesizer

Texture Synthesis is the process of taking in a texture and then outputting a much larger version of that texture. Usually, you want to minimize repeatability, so the texture seems more real, so you try to “learn” the texture and grow it out into a larger area. Below is an example. Texture A is inputted, and texture B is outputted.


Pretty cool, right? Texture Synthesis is the kind of thing you learn in grad school. It’s one of those weird topics that advisors try and push on their students since it’s apparently a ripening area with lots of creative solutions that people can publish papers on. My advisor had me learn all about texture synthesis. So naturally, as I was pondering possible apps to make, I thought to myself “Hey, why not make an online texture synthesizer!” It seemed like an intriguing idea at first. There are lots of algorithms to chose from, and I had already implemented a few of them for graphics projects I had to do. But then it occurred to me: What would anyone want with a texture synthesizer? Seriously. It’s a neat problem, but outside of a few far out purposes, there’s really no reason anyone would need such a program, at least your average person. And I’m sure people who would like a texture synthesizer would probably be more likely to build their own engine for it than to use some program some guy posted up on his website. So the idea was scrapped. It’s a neat problem though.

2) Moving Window Art Generator

A few years ago, while in daze of bordem at work, I suddenly had this weird idea of creating layered moving graphics. Only the graphics didn’t move, just the holes between them. I thought the idea was so cool that when I got home I whipped up a program to create the image stills and then I used a gif creator to make the gifs. Below are two such gifs I created:


I should say there is NO POLITICAL meaning behind the Pat/Bush picture. I just thought it was trippy looking. I made a few other various designs. Mostly people thought they were weird. Though I did have one Visual Arts major think they were really cool, which made my day. I thought about writing a polished version of the program that would fully create the gifs, but then I realized that no one had asked for such a program, and outside of a few friends, most people thought the images were really bizarre. Actually, if I get really really bored, I may one day re-write an app for this. But at the moment I have much more useful things on my plate.

3) Online Magic Eye TAAG Program

You’ve heard of Magic Eye pictures, haven’t you? Those neat little images where when you unfocus your eyes a 3D image appears? Well it turns out those things are actually called autostereograms and the wikipedia article on them explains the algorithm for how they are created:

http://en.wikipedia.org/wiki/Autostereogram

I thought that article was really fascinating. So much so that I thought about creating a Magic Eye generator, but then decided that the Magic Eye people might not look too favorably on that. But then I found this:

http://en.wikipedia.org/wiki/Single_Image_Random_Text_Stereogram

ASCII Art autostereograms, and I thought “hey, I’ve just written a program for creating large ASCII Art text, why not make a program that lets you see them in 3D!” I figured it’d be something that people would get a real kick out of. However, only the “Banner” font would work, since the generated ASCII images would not have the characters from the fonts pop up, but the areas of space that those characters took up pop out.

However, after giving this some good thought I came back to what had stopped me from creating apps #1 and #2: Would anyone ever have any practical use for this?

It might be fun to use once or twice, but I couldn’t see anyone using it more than that. And I couldn’t think up any situations where someone would actually use the app for something – other than maybe making generating some 3D text to show someone for the sake of showing them something they hadn’t seen before. That’s not really the kind of app I want to make. Plus it’d be a lot of hard work for something that would get such little use. And what if the Magic Eye people made one that generated pictures and not text? That would be so much cooler.

Anyway, that’s a sampling of apps I seriously considered and then later ditched. Hopefully you’ve found them somewhat interesting. Talking about them makes me feel less bad about spending so much time thinking about them.

IMapper Studios Re-Introduction

During my senior year of high school I had the bright idea that I could make a living developing shareware – or at least pocket a few extra bucks that would make life a little easier. So I set forth on an idea that I had been throwing around in my head – a program that would allow you to easily create image maps for your web pages.

This decision was not made after examining the market and realizing there was a demand for this product. No, I decided to make an image mapper because:

A) I thought it would be fun to develop the moveable shape interface (shapes you can draw and then move around). It seemed like an interesting challenge for a visual basic app.
B) I saw some shareware image mapper that was selling for $15 and it royally sucked. I knew I could do better than that – and I figured I could make my product half the cost.

The development itself went pretty smoothly. I remember being at school, making notes on how I’d design everything. The pre-hype for the program also seemed to be pretty good. After my API Spy, Form shaper, and Mosaic app, a lot of people were interested in what I’d put out next – especially as a shareware app. I was even able to coax the then well known graphic designer Plastik into doing my intro graphic. So I had high hopes for the program.

However, when the release date came, I was getting kind of sick of the application and didn’t do much promotion besides posting up a notice on my main page. This wasn’t just because I was bored of the program, college was coming up and I had agreed to work for some start up (long story). So to make a long story short, I spent a lot of time making the program, but didn’t spend enough time promoting it. And because my audience at the time (VB developers, mostly prog developers) had no need or interest in the app, it didn’t make much of a wave.

I think I made a total of $100 after the first year, which kind of bummed me out. I realized I had picked the wrong application to make and I had not promoted it correctly. It left a bad taste in my month and whenever I think of the program, it sort of reminds me of failing. However, every time I actually open it up and look at it, I think it’s a pretty cool. It reminds me that I was a pretty good developer while in high school, and for some reason, I always forget that I was able to get Plastik to do the intro art, which blew my mind at the time. Anyway, I opened up the app earlier today and thought to myself “why did I decide not to post this??” So without further ado, I’m re-introducing this program for download. Below you’ll find some screen shots and links to two different zip files.

[Download] – The setup file.
[Download] – Just the exe and help file.

136 Fonts Added to TAAG

Clear your caches people, TAAG has had the following updates made to it:

– 136 FIGlet fonts were added. Many of these I haven’t tested out yet, however, they should all work fine.
– “Smushing” should now work 100% correctly. Each FIGlet font has a series of rules that determines how its letters “smush” into each other when they are side by side. You can turn this option off/on by unchecking/checking the “Horizontal Text Smushing” checkbox.
– Some behind the scenes stuff that you wont notice but makes the code nicer.

View TAAG here: http://www.patorjk.com/software/taag 

I’m not sure I’ll finish the preview page today, which is why I’m updating this so early. If I do get it done within the next few days, I’ll just edit this entry to announce it.

Also, within the next few days around 10 new AOL fonts will be added. Awesome Andrew was kind enough to send me a copy of my old prog “Fallen Legion” which had a whole bunch of them. For more info see the comments in the post below this one.

More TAAG Updates

Last night I made two major updates made to the Text Ascii Art Generator:

– A whole crap load of fonts were uploaded, probably between 80 and 100.
– I added some Javascript that converted URLs into hyperlinks in the sections about the FIGlet font authors (the “Click for Info” link). I figured this would be a nice gesture toward the font authors since most people, including myself, are usually too lazy to copy and paste a URL. You can see this script in action in the information section for fonts like “AMC razor 2” and “Sub-Zero”, as well as many others. Alas, after implementing this I discovered most author’s homepages were long gone. Oh well, I still think it’s a nice addition.

To those of you curious as to how this was implemented I used regular expressions. This changed what could have been a lot of code, into one simple line of code! Check it out:

String.prototype.urlsToHyperlinks = function()
{
  return this.replace(/\bhttp:[^ \)\n\<]+/g, “<a href=’$&’ target=’_new’>$&</a>”);
}

And then to use it, do this:

var urlText = “blah blah blah http://www.patorjk.com/ blah blah blah http://www.google.com/”;
var hyperlinkedText = urlText.urlsToHyperlinks();
alert(hyperlinkedText);

Feel free to use this however you want.

If the above code just looked like a bunch of gibberish, don’t worry, regular expressions are easy to pick up. You just need to get the syntax down. Here are some links that should help you get on your feet pretty quickly:

http://www.webreference.com/js/column5/
http://www.javascriptkit.com/javatutors/re.shtml
http://www.w3schools.com/jsref/jsref_replace.asp – Make sure you read example 4. Too many people don’t realize that about the Javascript replace function.