April 9, 2008

Download files from terminal

I had come across a mp3 file online that would only load half way, or so I though. Apparently it wold load the whole thing but Safari thought that it was bigger than that, so it would never give me the option to download it. Frustrated after having it load a few different times I looked for a better solution, the Terminal! I figured that there must be some way to download file from terminal. I knew of wget, however that is not installed by default in 10.4, and I did not feel like downloading and installing the fink packages. Instead I found the cURL command...


curl -o "address"


The -o is for file output, see the curl manpage for more info.

April 5, 2008

PHP RC4 Encryption

One of the harder encryption problems comes when you need to encrypt something but need to also be able to decrypt it as well. I ran into such a problem recently in PHP. The regular simple methods such as sha1 or MD5 with a simple salt would not work because they are only one way, and to make matters worse the crypto modules I needed for a solution where not installed on the server.

Luckily I stumbled upon RC4Cript a simple php class that supports a simple RC4 encryption. Although RC4 is not exactly the safest encription Wikipedia, it was fine for simply securing the data I had, and I did not feel up to the task of coming up with a better solution. It took a while to get it to work because I was confused into thinking that I needed bin2hex() after encrypting it, however that is simply to give a more readable form, leave it as is when using the encrypted text in the decrypt function. Other than that, the source has an example that is pretty self explanatory.

April 4, 2008

Sonic CD in XP




After such a ridiculous week I felt like digging out my copy of Sonic CD. I had found this at a game store at home many years ago. It was one of the best purchases I have ever made, not just because the game is awesome, but because the soundtrack is in CD form so you can just pop the cd in a player and listen. Something I was ecstatic about finding out back when I was quite a bit younger and CD players where all the rage. Ah, that was a while ago back before IPods ever existed.

This was also one of my favorite sonic games because of two levels, wacky workbench, which had electrified floors which would shoot sonic to the ceiling for better or worse, and stardust speedway which was just long twist and runs with a awesome background and music. However after getting to the last level I was reminded of the one really horrible part in the game, the huge pit you must cross at the last level, which I always fall and die over and over again at.

If you even get a chance you grab this game take it, a great addition to a classic game collection, definitely better then the rather lame 3D attempts at a sonic games that have come out in recent years. 2D Side Scrolling FTW!

The game was coded for Windows 95/98 so you will need this patch to play it in XP however no idea about Vista.

April 3, 2008

Fortran 95 BattleShip


Because I want to try taking every programing the CS Department offers this semester was Fortran. Definitely not quite like the other languages I know, but after getting used to it, I can do almost everything I can with C short of graphics and some string manipulation. After some short homework assignments, we where given our first big assignment, two player ascii battleship. Simple enough to complete in the 4 weeks we where given. I decided however to up the ante and add a simple ai system for one player games. Nothing fancy, just a random seek, with a focus on areas when something was hit, sill very easy to beat every-time. Yet it was somewhat impressive and if nothing else made it easier to test the program because I did not have to play against myself everytime.

I have uploaded it here with the Mac and Windows compiled versions plus source.

Fortran was definitely not designed with games in mind, but as with most programing languages with some careful planing and a bit of force you can easily get around such constraints.

March 30, 2008

Best 404 Page EVER!

I was working on the AMS 404 page to make things more user friendly and also add some security, and ended up I stumbling upon this. Needless to say I was very amused.

Depressed Server 404

March 26, 2008

Interesting webcomic


It is not often I find a good web-comic that relates to my major. (Thanks Norman!) xkcd is one of the better ones I have seen, with the topics ranging from programing to zeppelins to the inappropriate. The image above is the comics map of online communities, which is awesome. Some other favorites include Useless (mathematics can't explain love), Compiling, Exploits of a Mom, A Minus Minus (Very Funny) and IN UR REALITY (i can has cheeseburger). However there are many more, just be careful it has already caused a massive amount of procrastination... You have been warned!

March 23, 2008

Happy Easter

Well easter has come once again, which means...

1. Lent is over!
2. Going to eat a lot of candy!
3. The beard is gone!
4. Spring changes for the blog.

I watched my cousins hunt for easter eggs, which we all colored yesterday, and this got me thinking. Easter eggs are not only in the real world. A quick search for easter egg reminded that there are a lot of computer ones to find. So happy hunting... EggHeaven

March 21, 2008

Laser + Moon = Fake

While on vacation a relative of mine was some what excited about a certain beer company and their viral advertising. Apparently they claim that on the 21 (Full Moon) they will be shooting a laser projector at the moon and displaying their logo. I am not very convinced. Also I will not mention the company, because I do not drink beer, nor am I going to support their fake sounding viral advertising campaign.

First of all I had not even heard of this stunt, which most of the gadget blogs that I read would have had this covered. The shooting down of the satellite is a good example. Also there where some other things that just did not add up, after doing some research I came up with some interesting facts that seem to say that this is fake.

It is not unheard of to shoot a laser at the moon, it is how we get a actuate distance, however...
"They beam the laser out through a large (5 meter class) telescope, and look for the reflection in that same telescope. By sending the beam out through the telescope, you get a much tighter beam than you would from just the raw laser, and the large telescope gathers 700 thousand times as much light as your eyeball would, making it much easier to see the reflection. (5 m vs. 6 mm squared = 700,000. A fully dilated human pupil is about 6 mm IIRC.) <-Full Page" That alone makes this impossible, however what makes it worse is that they chose a full moon. Looks great, but the laser would not be nearly powerful enough to be visible over the raw sunlight bouncing off. A new moon would be much more realistic.

Oh well, I will be looking up to see if there is something on the moon, but I highly doubt that I will see anything. I guess they could still try, at least then it would not be fake, just an example of poorly thought out design,

UPDATE: After seeing nothing last night, and looking online it looks like this was indeed fake. "The Boston Globe assures us this is a hoax. From the short article: To repeat: This is viral advertising; the company isn't actually going to project a laser beam 237,000 miles into space."

There you have it, a good example of poor and arguably FALSE advertising.

March 17, 2008

Ph34r the Gr33n





I have always loved the look of clovers, sitting in the grass during summer it is hard to miss them, so I was happy this morning to see google had them on the banner in honor of St Patrick's Day. Although I was not taking part in the alcoholic side of the holiday I was definitely wearing green today. Note: my favorite color is green.

Happy St Patrick's Day Everyone

March 16, 2008

School and Sleep Don't Mix

Recently I over heard someone saying that they rarely get 8 hours of sleep, which got me thinking that I also rarely get 8 hours as well. Normally sleep is around 11:45PM to 6:45AM so on average about 7 hours, which is not bad, but still leaves me tired in the morning, daylight savings did not help either. Luckily for me I do not have heavy physical activity in my daily schedule which helps reduce my sleep needs. Sitting in class, sitting at work, sitting at lunch, sitting doing homework and sitting in bed. Recently I have come to notice school does not help you stay physically fit, luckily going to school near mountains fixes that. Oh well, such is the life of a college student.

6 Hours and I am Sleepy
7 Hours if I am Lucky
8 Hours and I am Spoiled
9+ Hours and I am lazy.

I did a little research about why eight hours are recommended, because we always hear it, but why is it eight?
"Before the experiment began, the subject routinely got about six and a half hours of sleep. During the first night of the experiment he slept eight hours, the second night 10 hours, the third night 12 hours, and the fourth night 14 hours. Over the next several days, he began to reduce the number of hours slept, eventually falling to a steady eight hours and 13 minutes. This experiment was performed repeatedly with all types of people, with similar results, and this is where the recommendation of eight hours comes from."
Taken From Here...

There you have it, that is why they recommend eight hours of sleep, well I found it interesting at least.

March 9, 2008

PHP Thmbnail Function

I had whipped up a online photo album for the AMS website I am working on, however after photos where uploaded I realized that I was not using thumbnails, but instead the huge pictures, which on dial up would take years to load a large album. So I went looking for a good thumbnail function, sadly all the ones I found where way to complex for what I was trying to do. With no other options, I did some research and studied how the other functions worked an came up with my own simple version.


function makeThumb($im,$dest,$thumbwidth,$thumbheight)
{
$resizeResult = TRUE;
$imgResult = TRUE;

list($width, $height) = getimagesize($im);
$exttype = exif_imagetype($im);

$tim = ImageCreateTrueColor($thumbwidth,$thumbheight);

if($exttype == IMAGETYPE_GIF)
{
$image = imagecreatefromgif($im);
imagealphablending($tim, FALSE);
imagesavealpha($tim, TRUE);
$resizeResult = imagecopyresampled($tim, $image, 0, 0, 0, 0, $thumbwidth, $thumbheight, $width, $height);
//header('Content-type: image/gif');
$imgResult = imagegif($tim,$dest);
}
else if($exttype == IMAGETYPE_JPEG)
{
$image = imagecreatefromjpeg($im);
$resizeResult = imagecopyresampled($tim, $image, 0, 0, 0, 0, $thumbwidth, $thumbheight, $width, $height);
//header('Content-type: image/jpeg');
$imgResult = imagejpeg($tim,$dest);
}
else if($exttype == IMAGETYPE_PNG)
{
$image = imagecreatefrompng($im);
imagealphablending($tim, FALSE);
imagesavealpha($tim, TRUE);
$resizeResult = imagecopyresampled($tim, $image, 0, 0, 0, 0, $thumbwidth, $thumbheight, $width, $height);
//header('Content-type: image/png');
$imgResult = imagepng($tim,$dest);
}

if($resizeResult != TRUE || $imgResult != TRUE){ return FALSE; } else return TRUE;
}


To use just call makeThumb("Location of Image", "Place to put thumbnail", width, height); Very simple, also it will return false if something fails inside. Remember to make sure the directory it is writing to has the permission to write set correctly or it will always fail.

March 7, 2008

Next Year's Apartment

Well that time has come again, the stressful period of choosing next years living space. I have gone from two person dorm room, to a quad apartment, to a multi floor quad apartment, however because two of my friends are graduating, I have to look for another place again. My roommate and I though that a two person apartment might be nice, however it is not quite that easy...

To get a two person apartment you need to sign up for the draw, which only has apartments that people are moving out from, thus a small number, where as there are a lot of people who covet these sweet living spaces. I got to the apartment draw and dealt with the paperwork, and had to sit and wait for them to start. There must have been around 30-40 sets of people looking for a two person apartment, where as there where only 10 apartments up for grabs. The order of people who get to chose one is based on our ranking numbers (age, year, credits and grade) Luckily for me I got to choose second! (Take that youngsters ^_^).



So I chose an apartment, which our resident director of the student apartments said was her favorite, I figure it must be good. Here comes the intresting part... I walk by the place and from what I can tell by the windows it looks like it had cathedral ceilings, the living room window had another window on top that was a triangle against the sloping roof, which made me very happy. However later that night I could see there was light downstairs but not upstairs? Hold on, so there is some kind of random painted and finished loft/attic with what looks like a door above the apartment, that does not appear on any plans. Um, what? Now I am interested, if I can find a way into this space, like the Attic access panel in our current apartment I will be very happy, it could even mean my own room!

Well this is all speculation for now, but it looks like next year will be very interesting indeed.