December 31, 2008

Custom Projector Mount


Continuing with my attempts to improve on our family home entrainment system, after getting a very nice and almost too big projector screen, I had to figure out a way to ceiling mount the projector. However it needed to be not permanent and easy to remove. So off to the drawing boards I went, and after brain storming and coming up with a few concept sketches I had my design all worked out. Luckily the living room has pseudo support beams, not my family's decision they where here when we bought the house. I could use the one that was near center with the screen as an anchor point, and then build a brace around it that would hold the projector up. Later I went back and added extra sheet metal for preventive safety measures. It works quite well, and even better, this means no more coffee table alignment every time we watch a movie!

December 28, 2008

RCA to S-Video Converter




A small side project that I had worked on over the break was a S-Video to RCA adaptor. I had wanted something that would not only send all the video outputs from the receiver to the tv as it is set up to do, but to the projector as well. I do not do a lot of projector gaming as it is a bulb life waster, but still it is still nice to have the ability, and it lookd like a interesting project. So I started searching for instructions online, and while there was little information out there, one place I did find is here. The only problem was that the instructions are a bit fuzzy and the pictures do not help, so it took quite a bit of time to get the right pin out.





See the above pin out, which is how I have it wired, and for what I need it seems to work quite well. Also the ceramic capacitor I used was not the exact one specified in the instructions, instead it was a 221B, however it was mentioned "values form around 400 pF to around 10 nF should work somehow acceptably." so I was not concerned as it falls in that range. Plus it was the best I could rip off of an old circuit board laying around.

Now I must say that as was warned, the video quality is not amazing, but it works and was completely free, made from spare parts laying around, so beggars cant be picky. Also I think it would look better if it was S-Video converted to RCA, not the other way around like I am using it for.

December 26, 2008

Epic Ornament


My little sister, who definitely got the most artistic genes in the family, was kind enough to surprise me an Epic Box ornament for christmas. She had seen the original animation when I found it, and then she had seen my Epic Game I made in VB last semester, so it was only appropriate to have it on the Christmas Tree as well. I must say that this ornament is a keeper, as it is way too cute.

December 25, 2008

Merry Christmas


Well Christmas is once again here, the trees are up, stockings are hung and school is over for a while. It is nice taking a break for a while after school was way busier this semester then expected. So until I post the results of a few projects I am working on...

Below is a great Christmas flash loop to celebrate with. (Santa... Santa... Santa...) Oh, and if you think it is missing the real point, just wait it is coming. ^_^

CLICK ME!!! (<= Flash with sound...)

December 8, 2008

Koathangersmargen



What do you get when two science students get in a mood to decorate, but do not have all the required materials? You get Monster Tree, made out of coat hangers and wrapped with lights. It actually looks good at night, not so much in the day though.

On a whim I made up some mythology of the coat hanger tree, it started in a village in Sweden, and became know as koathangersmargen, forgotten till now...

December 4, 2008

Super Sumo



Ever wonder what would happen if Sumo, or any wrestling for that matter was like an arcade fighter, well wonder no more!

I needed a good laugh after this week, and this worked quite well.

It would seem that these super sumo videos come from http://check-it.org/14/flash/

December 1, 2008

Alice in wonderland remixes



I stumbled upon Alice a song by the artist Pogo. To quote him, 'Alice' is an electronic piece of which 90% is composed using sounds recorded from the Disney film 'Alice In Wonderland'. It is rather interesting to listen to, and although at first I did not love it, it has grown on me. Check out and download for free Alice and three other songs like it (Lost is also quite good) at Pogo's Last Fm page

November 26, 2008

Epic Box the Game


When I was told that I had to do a simple game for my Visual Basic class I had originally wanted to do a simple tank game with a progress bar that charged. However a friend of mine had the amazing idea of doing Epic Box the game, so when he decided to go with another idea instead, I quickly decided that Epic Box was a way better project. So after a few weeks of work and many laughs later I present Epic Box the Game (aka EpicGame).

Download it here!
(Requires the .NET libraries, Windows only...)



It is a very simple game. You move epic box with the arrow keys to go forwards, backwards and jump. You can also shoot, however this drains energy, jumping does as well. This will become a problem later as the hoards of Thirst Quenchers start to pile up. Luckily after killing enough of them, your Epic Meter will become full and you will receive new powers to help defeat them. After all the Thirst Quenchers are defeated, the Boss Fight begins...

Fun and short about 3 minutes of play, enjoy!

November 17, 2008

Efeion's Homework Uncertainty Principle

I have always hated the fact that answers to homework are never obviously correct especially in homework for math and physics, so the student can only assume that the answers which seem correct are indeed correct. This does not only apply to homework, but when viewed in a more generalized way is applied to almost anything. Such as in science, theories are always used, but not proven, until another better theory comes along. So, after having a somewhat witty and strange banter with Matt over homework answers in general, I have come up with My Homework Uncertainty Principle.

All answers to homework that are assumed correct are correct until proven false.



This is based on the Schrodinger Cat idea, as until the homework has been graded it is neither correct nor false in the eyes of a an indifferent and unaware party. However this changes because of the fact that a student has already assumed that the default state of the homework answers are correct, as it is taken as truth that no student should leave incorrect answers on a homework. The professor also must be assuming that the answers are correct and looking for false ones, based on the same reasoning. Because of this we get the first part of the principle, which is all involved parties have assumed the answer should be correct.

Going on from there, as we have established that the homework is originally assumed correct, then it would take another outside source of greater significance to prove the answers given are other then what has been established, which is currently by default true. If a more trusted source stating something outside what has already been established as true can be found, then it must be assumed that this new result is now the truth and if the answers that have been given do not agree then they must be the opposite of true and thus false.

This leaves us with an interesting problem, if no outside source can be shown to give an actual answer, then the default must be assumed and as such the homework must be correct. As in the case of some of the architecture homework. More interesting is the concept that if all other sources of another different answer are removed from the system then it must be assumed that the only answer that exists is the truth.

November 16, 2008

Integer Splitting in C

For our make project we are using a single int of 9 digits to send communication to the different units. However first we needed a simple way to split the integer into separate parts. Sadly there is no split or charAt functions for integers, so I had to do some math to split it apart. This resulted in the functions below.

Just drop theses functions in...


int* protoConvertFrom(int num)
{
int *data;
data[3] = num % 100000;
data[2] = ( (num % 10000000) - data[3]) / 100000;
data[1] = ( (num % 100000000) - (data[3] + data[2]) ) / 10000000;
data[0] = ( (num % 1000000000) - (data[3] + data[2] + data[1]) ) / 100000000;
return data;
}

int protoConvertTo(int *part)
{
return (part[0] * 100000000) + (part[1] * 10000000) + (part[2] * 100000) + part[3];
}


API information...


int* protoConvertFrom(int num)


Splits an integer of 9 places (our protocol) into an array of four parts .

Parameters:

num: The integer received from the network.

Returns:

An array pointer of four integers... [0] = from, [1] = to, [2] = ID, [3] = value

Example:

int num = 131100001;
int *data = protoConvertFrom(num);
int ID = data[2];




int protoConvertTo(int *part)


Take a array pointer of 4 parts and combines then into a 9 digit integer (our protocol).

Parameters:

part: A pointer to an array.

Returns:

An a nine digit integer that is ready to send over the network

Example:

int *data = new int[4];
data[0] = 1; // from
data[1] = 3; // to
data[2] = 11; // ID
data[3] = 1; // value
int num = protoConvertTo(data);
// returns 131100001

November 9, 2008

Make Controller network communication

For our project in Computer Architecture, we are programing several Make controllers to work together as a home control system. As the programing manager, apposed to the general manager, and part of the system controller group, I have been trying to compile function and a basic API together for the other teams to drop in and use. Here is the easiest way to get networking working on the make controller, using Datagram Sockets. I must say, I hate how small the code is compare to the 7+ hours of my own time and another 2+ hours working with others it took to get working...

Drop these functions into the code...



int sendMessage(int num, int address, int port)
{
struct netconn* udpSocket = DatagramSocket( port );
int val = DatagramSocketSend( udpSocket, address, port, &num, 4 );
DatagramSocketClose( udpSocket );
return val;
}

int recieveMessage(int address, int port)
{
struct netconn* udpSocket = DatagramSocket( port );
int num = 0;
DatagramSocketReceive( udpSocket, port, &address, &port, &num, 4 );
DatagramSocketClose( udpSocket );
return num;
}


API information...


int sendMessage(int num, int address, int port)


Sends out an integer over a specified socket on the network to a network device based on its IP.

Parameters:

num: The integer to send.
address: The IP address of the network device that will be receiving the packets.
port: The port that the network device will be listening on.

Returns:

This function returns an int returned by DatagramSocketSend, which gives the number of bytes sent.

Example:

int address = IP_ADDRESS( 192, 168, 0, 210 );
int num = 1;
int port = 12345;
sendMessage(num, address, port);



int recieveMessage(int address, int port)


Receives data from the network buffer and stores it for use. Please Note: This function sits and waits for data to be written to the socket buffer before continuing, so it best used in a separate task.

Parameters:

address: The IP address of the network device that will be sending the packets.
port: The port that the network device will sending packets on.

Returns:

This function returns an integer that was written using the sendMessage function.

Example:


int address = IP_ADDRESS( 192, 168, 0, 200 );
int port = 12345;
int num = recieveMessage(address,port);

November 6, 2008

Yume Nikki




While mindlessly surfing the internet I stumbled across a rather strange video (watch here), which left me at first amused and slightly confused, then after that I was left wondering what this was based off of. So like may of my other great discoveries, I looked up the game Yume Nikki which the video was based on.

Yume Nikki is a rather strange game, where you are a girl who lives in a small apartment, which you can not leave, at least not while you are awake. You go to sleep and then are able to wonder through the very strange dream world that exist, assumed to be in the characters mind.. You pick up various effects as you explore the areas, which range from a getting a bicycle to turing into a stop light. These effects can help you do things, though so far only the bike and lantern have been helpful.

The imagery of the game itself is what makes it unique, as you travel in dreams of a girl that obviously has some mental issues, it is hinted that she will not leave the room in the real world due to some physiological reason, so what ever caused that, has also twisted her mind, or at least the dreams that she has. Most of the areas are bizarre, in the fact that they mirror a twisted reality or just have creepy backgrounds and NPCs running around, such as a world with grasping hands jutting from the floor. However what I find far creeper is that you will enter a door in one strange area and all of a sudden be in a forest or someplace more normal, which in turn leaves you waiting for something to appear that will make the normal far less normal, which on occasion does indeed happen. It is these "normal" places that seem the most out of place and odd, which I give credit to the creator for pulling off so well.

I must say that this, like other games I have posted are a great example of how 3D does not always make for games better. Yume Nikki is what I would consider a work of art, as it lets the player judge for them selves what purpose the events and reasons behind the game hold, as there is little to no back story or help in the game. If you have time, check out Yume Nikki, there is an english version (Get it Here), which is for windows, but runs well under Crossover Games on the Mac.

Check out this video if you want to see more without actually playing.  (Contains spoilers!)


UPDATE: After getting very annoyed about the game crashing in the eyeball area, I did some forum searching. It seems that the 0.10 version of the game cannot play mp3s, so to fix the problem find the music folder for the game and rename the eight or so mp3 files and everything will work correctly.

November 1, 2008

Crossover for games

A short while ago, CodeWeavers was giving away copies of CrossOver Games for a promotion they where running, it dealt with politics so I am not going any further then that. Anyway... Everyone could grab a free copy of of any of their Crossover products. I grabbed games and mac, and so far I am very happy with it, it does not work for everything, but it does work for a lot. For those who do not know, Crossover uses the open source project Wine which "implements the Windows API entirely in user-space, rather than as a kernel module at the time of writing. Services normally provided by the kernel in Windows are provided by a daemon known as wineserver. Wineserver implements basic Windows functionality, as well as providing extra functions such as X Window integration and translation of signals into native Windows exceptions." Crossover is a commercial version of wine, so it provides a little more support then the open source project. If you have windows software and do not want to use BootCamp or Virtualization options, this is a very nice options. Plus I got to bust out my copy of Indiana Jones and the Infernal Machine, which was just plain awesome. Also it will play the Windows version of Hydro Thunder with full 3D support, unlike playing it under regular wine.

October 31, 2008

10 Most Disappointing Treats

I stumbled upon this yahoo food post on the 10 most disappointing Halloween treats, check out the original post here. Most of them I agree on, some however like Tootsie rools and Hard candy I never minded getting, especially the strawberry ones in the picture. (Yum!)

This has always been my list of lame Halloween treats.
1. Fruit (Why?... Just why?)
2. Money (Unless it is > $5, and pennies are just cruel!)
3. Popcorn (NO! Unless covered with candy!)

October 26, 2008

Hydro Thunder on Mac




Hydro Thunder has to be my favorite racing game ever! Fast boats, amazing tracks, all and all an amazing game. If you have never played, you may want to read this, it will explaine why Hydro Thunder is awesome.

I have had the PSX disk for a while now, but it is annoying to dig out the Playstation just to play it. So I tracked down the PC version (Yes it does exist!) and got it running on my mac through Wine. This was rather simple, just download the latest free build of Darwine here and install it. You may need the unstable 1.1.7 build, because I had issues with it working on the 1.0.1. Install it and then run the wine helper once, after that the Hydro.exe sould auto open with darwine when you double click. Just as a warning, it may crash once due to no 3D card support, if it does, just reopen it and choose the play in window mode at the recovery screen that will come up. Enjoy

UPDATE: There was a question asked about how you can get the game screen to be larger. The problem is that because WINE does not have good 3D support, it will only play in a small window. There are two thing you can do to fix this, you can use the screen zoom feature under Universal Access in the System Preferences to enlarge the window, or you can grab a copy of Crossover Games, which does have 3D support, see my post on it here

October 14, 2008

Quicktime VR Movie Of My Room

Check it out, a while a go I made a Quicktime VR movie of my room at home. Room VR. Making the movie was easy, apple released for free a simple application called MakeCubic, which takes a panoramic photo and twists it into a VR movie. The hardest part was getting a panaramic photo to use, luckly I am decent at photoshop and could blend the photos together, though the difference in lighting is quite apparent at some points. The settings also took a bit of work, but was not all that hard to figure out.

Sorry internet viewers not spreading this movie around, so on campus viewers only.

October 13, 2008

Fantastic Contraption



Well this is a dangerous find when I have a project I am researching and home to do! Check out Fantastic Contraption for an amazing way to kill time, or loose time that you should be doing other things with. I have been obsessed all weekend with this game. Basically you get an infinite number of motors, rollers and two types of sticks to connect it all together with, all with a mission to get a red piece into a predefined goal area. However getting to the goal is not so easy, especially when it is below you or up a wall, and to make maters worse you only have so much space to build in, although after you run it it can go anywhere! You can only experience it by playing, and after finishing a level check out the thousands of other ways people have found to solve the same problem. If you liked building small gizmos as a child you will love this!

Oh and you can save and share creations! Check out some of mine...
http://FantasticContraption.com/?designId=2972825
http://FantasticContraption.com/?designId=2973894
http://FantasticContraption.com/?designId=2974040
http://FantasticContraption.com/?designId=2975559
http://FantasticContraption.com/?designId=2977810
http://FantasticContraption.com/?designId=2993872
http://FantasticContraption.com/?designId=2994200

October 12, 2008

Religious Images


While doing research on icons for project that I have to present rather soon I stumbled upon this flicker album of
images for use in liturgy programs, which must be close to a hundred mostly black and white medieval religious images. I was rather impressed as you rarely find so many in one place ready to be used. It would be a good resource for any one teaching religious education or doing a project of the medieval church.

October 8, 2008

You have to burn the rope!



A very cute example of how even a very short flash game can be awesome. It is little flash games like this, that are going to take game creation from simple entrainment to form of art. It is not about how hard the game is, or how complex it is, it is how the game effects the users and after playing this you have to tell friends about it. Check it out You have to burn the rope.

A amazing in-depth look at the art of the game is here at 1UP.

UPDATE: Found the ending song! Can be download here.

October 7, 2008

Power Thirst

Another very funny video that was going around at work is the Power Thirst series that makes fun of all the random energy drinks out there. It is some what worrying that today energy drinks seem to be advertised as the solution to all your problems, which is what this parody plays off of, making some ridiculous claims such as giving you the ability to have 400 babies that will run as fast a kenyans! Check out the video below, warning there is one part that uses a bit of strong language but it is short..



There is a sequel to this that is also very funny, but it also contains some strong language as well as a few inappropriate jokes, but is still worth viewing at least once.

September 30, 2008

MIPS on Mac

A tip of the hat to my friend KDostie for finding a very decent mac MIPS simulator which you can get Here. I have only used it a few times so far, but it does everything I need it to do, and it is written in Java so there is a version for every platform. I will need it for the Computer Architecture course I am taking which is arguably the hardest CS class I have taken so far. I am a engineer, I like to use and build upon the basic theories that are already in place, not a scientist, who discovers new theories.

September 15, 2008

Uninstall and Reinstall Cydia

In an attempt to fix the Cydia POSIX errors, I stupidly removed the cydia.list sources files, then in an attempt to fix that I uninstalled cydia, only to realize that I could not reinstall because I had removed the apt-get sources for it, so I had to figure out how to reinstall cydia. After an hour of looking I finaly found a way!

1. ssh into the ipod touch...
2. grab the package from apt.saurik.com
3. rename to cydia.deb, for easy typing
4. place in the / directory "aka root directory" on the ipod
5. type and run "dpkg -i /cydia.deb"
6. respring
7. [click the advertising on the bottom of the page if this was helpful!]

Then it is back, but still POSIX errors... Still working on that.

Update: Fixed the broken link...

September 5, 2008

BZ Flag


While I was lazing today after work, I decided to check out the latest progress of BZFLAG, which is a rather well designed 3D MMO Tank game. Basically you drive a tank that can jump, due to rockets on the bottom, while shooting and avoiding getting shot by other players. However things get more interesting as players pick up flags that augment/de-augment their tanks. This can be something as simple as increasing their tanks speed, or far better, such as  giving the player guided rockets. Their are also bad flags that work the other way.

I have been playing here and there for over six years, so the game has been around for a while. It is good as a time killer, and can be quite fun if you like shooter type games. It is also convent that you can leap in and out of games with no restrictions, so there is nothing stopping you from getting in a quick match, then stopping when something comes up. You can also make your own maps and host your own servers, if customization is you thing.

Check it out it is free and ported for just about any OS out there...

September 2, 2008

POSIX Cydia Error Fix

For a few days now, Cydia on my 2.0 FW iPod Touch has been having problems downloading things from the apt.sauric.com repository, aka the source for all unix system items. It just keeps giving POSIX errors, however it does download a little bit each attempt. So for now I just keep retrying, 30 or 40 times till I download all of each update. This is rather annoying, hopefully this will be fixed, or I will be going back to installer when it comes out.

August 26, 2008

Epic Box

I found this rather cute.
UPDATE: See comments for original author and source.



Hm... The youtube video now has no sound due to copyright claim. Watch the flash version below instead...

You can now watch the flash file Here or download it Here...

Also check out my VB project Epic Box the Game

Below is a paper craft version I whipped up on a whim, now everyone can have their own epic box!

August 24, 2008

Run Riven on OS X




I have always been a big fan of the Myst series, I even still have the original Mac only Myst cd from 1993. Sadly that is still not playable on OS X, though there is a port for iPhone comming soon, which makes me happy, that might just be the first non free App that I will get from the iTunes store. Still there is progress being made to get all of the Myst games running on the latest systems, which is where /dev/klog · Riven X comes into play. Riven X is a program that runs the Riven (MYST II) card based engine on os x.

I had heard of this around two years ago, however at that time it would not play anything, it would just let users view any of the cards in riven. However it is has great progress, and now with the latest version 6 or beta 7 you can actually play the game. Of course it is still far from complete, lacking save in the latest stable release, and the beta crashes easily, the fact still remains that you are now able to play Riven on the latest Mac system, which is just plain awesome.

Remember you can still play Myst III Exile (My personal favorite), Myst IV Revelation and Myst V End of Ages(My least Favorite) in OS X with out extra work. Now we just need a update of the Original Myst, not realMYST, and I will be a happy fan.

August 22, 2008

The Internet Archive

I am sure, just like me, others have found a site with the information they needed, however only to have it disappear at a later date. Lack of funds or just lack of interest, it does not mater, it still is one of the most aggravating things about the web, sites can close with out a moments notice, why else would I constantly end up with a list of bookmarks that go nowhere. However just like anything on the net, once it is there it stays there, in some shape or form.

To help with this, there is the Internet Archive "The Internet Archive is building a digital library of Internet sites and other cultural artifacts in digital form. Like a paper library, we provide free access to researchers, historians, scholars, and the general public."(Taken from the front page of the Internet Archive). This is a very handy tool to know of, as it can help you get to any page at almost any time that the site was available, even if it does not exist anymore.

I think it was TUAW that first brought this site to my attention about a year ago, they where showing what the Apple site used to look like over the years. I have recently needed to use the site, so I figure it is worth mentioning.

August 21, 2008

New Get a Mac Ads

Normally I might laugh a little when I see the "Get a Mac ads" from Apple, however I have never been too fond of them. We all know that they tend to over hype Apple and shoot down Microsoft for things that, in all honesty, no power user really cares about. Even most of us that do have a intel based Mac put Windows on it through boot camp for those time that you just need to use Windows.

Still I found my self laughing rather hard when I saw the new Pizza Box skit. PC is hiding in a pizza box waiting for college students to be attracted so he can "get them!" The ad is rather cute, still I wish they would drop the Apple hype part. We all know that Window's PR is at an all time low right now, so instead of kicking a dead horse, Apple should focus on displaying their innovation in other ways.

August 18, 2008

AppleCare Repairs

I am very happy because I just got my Macbook Pro back from Apple, after undergoing some repairs/updates before I had back to school. I have been VERY impressed with the Applecare shipping, box in one day, ship to factory in one day, fix in one day, back to me the day after. My computer was gone for only three days, not just this time but every time Apple has fixed problems for me.

First off new hard drive, the old one had some bad disk sectors, and apple was happy to replace that. Fixed the DVD drive, that would not burn DVDs and as a bonus the new drive is noticeably quieter. Plus I have a new screen, the old one had some uneven backlighting, nothing horrible, but still for a $2000 computer I expect perfection! I think the new screen might even be LED lit, but I will have to compare with my friends MBP that is, to be sure. Also for some strange reason my computer came back loaded (but sans Install DVD) with 10.5, I only have 10.4 still, so apparently they want me to try out 10.5, not that I am complaining.

Sadly, Apple would not replace my 2 year old starting to die battery, no matter how much I reasoned/complained/pleaded, which I understand why, as batteries only last around two years on average, but I am still a little bitter about, hey if I am going to pay $300+ for apple care, it should cover everything, unless I personally break it.

Also I could not get ware the top (keyboard side) of my MBP fixed, Apple considers that user damage, which I expected, however still annoyed for the same reasons stated above. Still Apple is not a charity, they are a business, which had sold me a computer that so far I have been nothing but happy with.

August 17, 2008

Javascript Injection

Did you know you can edit the contents of sites with javascript? Yes you can, however browser security will limit what you can do, so a little ingenuity is needed. Also the Safari web browser seems to be most lenient about javascript injection, where as FireFox is the most preventive. So you might want to use Safari for this type of hacking, no Idea on IE yet.

Try typing in the address bar...


javascript: alert('Hello World');


This not just doing a javascript call, it is actually using the page to call the alert function.

As a more advanced example...

javascript: alert(document.body.childNodes[0].innerHtml);


This will actually display what text is in the first element on the page, hopefully a div, as if there is no text in it it will be blank.

I have been working on a small project which uses javascript injection to play a simple html game for you. Yep, it is a very simple bot. Although it is rather stupid in point, it was fun to get working, as I needed a good refresher in Javascript before I go back to school. Expect to see the finished version posted in a week or two after I finish tweaking it, and leveling up my character.

August 13, 2008

CVS Nightvision Camera





For my birthday I had some trouble thinking a something I wanted, however after a little thought I remembered about how people where able to modify and hack the CVS One Time Use Camcorders. So a trip to the local CVS store got me a model M230 camera to play with.

To take it apart, you remove the back sticker around the lcd. Then remove the four screws, the back cover pops off with a little prying, which leaves just two black screws on the board. When removed the whole circut board lifts up.

I wanted to try the nightvision camara hack, however to do so you must remove the IR filter on the lense assembly, I also wanted to keep the regular camera ability as well, so I had to find another lens that would work. The CS majors that I know will remember the old dead webcams that we could grab from the CS old stuff raffle, and guess what the lens fits! Still this lens also had an IR filter (blue tint not red) as well, so you have to cut it in half to remove it. After removing it and gluing it back together I had the first part of my nightvision camera done. The last part is to track down some IR emitters from a few dead remotes. I wired them up in series to the batteries with a small push switch (white dot right below the lense cover). LEDs require about 1.5V each so 1.5V * 2 = 3V, which is the two 1.5 batteries make by default. This is a rough estimate, normaly they would require a resister to even out the voltage, but this works for all intent and purposes. Make sure to check with a mulimeter when doing this to keep the polarity correct, as LEDs are still diodes. You can see in the second picture the IR emmiters working. Also I can easily switch back to regular camera mode by removing the IR lens and inserting the original back in. I kept the silver lens cover because it looks good, and keeps stuff from falling into the camera body

All that is left it to unlock the camera so I can download movies, to do this you need a custom USB cable that fits the connector at the top. For form information check out camerahacking :: Index for all the details on correct wiring of the usb cable as well as modifications to the camera. My cousin did not think I could do it but I made a tempary one out of tagboard from a paper plate (last picture), and it worked just fine. Sadly my camera has a newer chalenge/response then any current method can unlock, so I am stuck with just a nightvision scope. However, I do plan on waiting for the 17 type response to be broken so I can fully use this camera to its fullest, and play with the firmware.

If you have $30 laying around you might want to pick up one of these camcorders, they are very fun to play with.

August 1, 2008

Good Review Results

I love seeing my blog traval around the internet. So far in the 6 months I have been posting...
1. I have had a person use my successful findings about putting ATX power-supplies in MDD G4s.
2. Getting over 20 people viewing my blog a day from all over the world.
3. Made 5 moneys from adsense. (Click ads to give me more ^_^)

Now I have had a editor review from the blogged site, which has listed my blog as 7.7 out of 10, which is very good.

Twilight in Efeion at Blogged

July 30, 2008

OpenWrt on Linksys WRT56GL

There was an extra wireless router hanging around not doing anything, so today I want and took the time to play with OpenWRT, and get it installed and setup. OpenWrt is linux firmware for quite a few different routers, but it s best know on the Linksys WRT54(G/GL/GS) series. My friend Matt had gotten another verson of linux firmware running at school on one of the WRT56G routers, so I knew it was posible, I had just never had time/router to play with.

WARNING, As with any firmware update, it could brick your router if something goes wrong, proceed with caution!

Setup was quite easy, go to the site download the Kamikaze firmware bin file and upload using the built in website firmware upload page. By default it is pulling DHCP from the wan side, and is already set up on the lan side. Telnet from terminal into 192.168.1.1 and do a passwd root to chang the root password, afte that you just need to setup wireless and a web interface.

Check out X-Wrt, it is a seprate web interface project working with OpenWRT. To install, SSH into the router and type...


ipkg install http://downloads.x-wrt.org/xwrt/kamikaze/7.09/brcm-2.4/packages/haserl_0.8.0-2_mipsel.ipk

then type

ipkg install http://downloads.x-wrt.org/xwrt/kamikaze/7.09/brcm-2.4/webif_latest.ipk


thsi will install it and run the setup. Afterwards just go to 192.168.1.1 in a webbrowser and finish setting up the router.

I had a wierd error happen after settng up wireless, which stopped the router from working, however I was able to fix this, by putting the router into failsafe mode (unplug, replug, hold down reset button after the DMZ light turns on, stop after it starts blinking). Then set a static address of 192.168.1.2 and set the router address to 192.168.1.1. Then went to the terminal and used telnet to access 192.168.1.1, which took a while to connect, and used vi to change /etc/config/wireless. I removed the "#Remove this comment to annable wireless". After restarting the router this fixed the problem and internet was back again. This could just have been a random error, not sure. You can use the Config Settings page as a guide if you have problems setting up the network and wireless config files.

After that little hickup the webinterface is working fine, and I am surfing on the wirless signal as I type this. Also I have a deep feeling of satisfaction from the fact that I just SSHed into a router, there have been few networking moments more awesome then that.

July 29, 2008

Logictech Quickcam on Vista

I have never been a fan of the software team from logitech, which is too bad, because their hardware is generaly pretty good. One problem I reciently ran into was that the Quick Cam Zoom that my grandparents have does not work on vister <(not a mistake). Luckly some resourceful people have found out how to get it runnin on vista.

1 Download the latest quickcam drivers from any of the new quick cams, it was ver 11.5 at the time.

2 Install, but skip the set up camera part at the end.

3 Download the old 32 bit window xp drivers for the quick cam, ver 8.3.8 or something like that.

4 Install, but at the end it will say it can not update, this is fine.

5 Go to device manager and manualy chose the driver, it is in C:/Program Files/Logitech/Logitec WebCam Drivers/WinNew/PRO

6 Install and enjoy.

Apparently SP1 breaks the audio driver, but when I update I will post that fix too.

July 28, 2008

Somnium Nexus Site Up



Now that University Physics is over I have to start working again on my SN Project. However, I wanted to make a decient site for it first, other then the one that I had made at school. Googlepages is not perfect, but it will do the job. Probally the cleanest CSS that I have writen yet. Check it out here SN Project. There is a link for the latest build, though that was about a year ago, however it still works. Just remember it is a Mac only pre alpha, so no guarantee on stability and safety. ^_^

Expect more updates on the SN Project in the future, as it is going to be my Senior Project this year.

UPDATE: Brian gave me some constructive critisim on the art, so I added a more worn feel. Also played with the styling a bit, works in FF3 now, see previous post for the fix.

July 27, 2008

100% Height Divs

It is rare that I need to have a div fill the whole height of the window, but in my SN Project Website I thought that this would look rather nice, the problem is that if you just put "height: 100%; " in the css it does not work. This is because all parent divs must also have 100% height set, which makes sense after you finally are told this fact. So in order for you to have a 100% height div, you must first set the html and body to 100% then all other parent divs as well. See example below...


html, body
{
height: 100%;
}

div.content...
{
height: 100%;
min-height: 600px; /* I like 600 you can use any number */

}


UPDATE: You should also set a min height for your content divs, this will allow the page to stop only being 100% height and get smaller and scroll when the page size is reduced below that number.

Also, it makes the process a lot simpler to only use cascading inclosing divs, avoid any buggy fancy positioning, because this may break things. I am happy with the results, and to my supprise it worked with no issues in Saffari, Camino/FFox and IE 7.

July 25, 2008

Happy SysAdmin Day

It's the 9th annual Sysadmin day today!

To quote gizmodo... "You know... sysadmins? The people without whom your entire computing network would come crashing down in flaming ruins? According to the System Administrator Appreciation Day website, "on this special international day" you should "give your System Administrator something that shows that you truly appreciate their hard work and dedication."

So go find your system administrator and give them a big thanks and a pile of cash, or a high five and some Mountain Dew if you are too cheap.

Check out the official site here.

July 20, 2008

iPod Touch 2.0 & Jailbreak

Well the 2.0 firmware has been out for a while now, however I was holding off getting it till the iPhone Dev Team finished their new Jail break tool. As of last night that is finaly available, and I quickly grabed it after seeing comments of not too many people with trouble. Sadly this was not the case for me, I finaly got it working, but it took a bit (aka 3hours) of poking.

UPDATE* There is a newer version out, that hopefully has fixed the problems I had.

NOTE: As with all hack, you assume responsibly if something goes wrong and bricks your touch!

First off grab the 2.0 firmware from apple, yes there are other less costly ways, but I can't help you with that. Then grab the pwnage tool (link above). The firmware will take a while to download, so go get a snack... Ok when that is finished run the tool, it will ask you to click the device, then it will find the firmware you downloaded from apple, other wise it will complain and require you to find it. Then it will build a custom firmware for you to install, yes you will need to restore it again later when it is finished. This also take a few minutes, but has a cool pagkaging animation. Please note that you can stop it from putting the pineapple logo through the expert options, which I did because I like the apple logo better.

Here is where i started to have problems, had my touch pluged in, and the next screen finaly shows up with a failed DFU restore, I go back to the site and low and behold...
"Update 3: If you get Error 1600 from iTunes (or if you see in your log a failure to prepare x12220000_4_Recovery.ipsw), try: mkdir ~/Library/iTunes/”Device Support” ; if that directory already exists, remove any files in it. Then re-run PwnageTool. "
So I add that directory, but still no luck, finaly I figured out that I was in restore mode, not DFU mode, the diffrence being that you hold down the home button on restart to go into restore, but for DFU you hold both power and home till it shut off, then keep holding home till the screen goes black, but iTunes will still pop up a message saying you have done restore, that is the key piece of infommation that was missing. Finaly I ran the tool again and this time instead of saying failed it led me through the DFU steps, though I was already in that mode, then told me to used the custom firmware, that was placed on the desktop, to restore the iPod through itunes. You [option] click restore and locate the custom firmware on the desktop, and let it take its time restoring the jailbroken firmware.

Also as a hint, if you are getting a 1600 error with the custom firmware, try redoing the pwnage tool, but this time use expert mode and actualy click the firmware located in ~/Library/iTunes/iPod Software Updates.

Finaly I had it all up and running however there are still a few things I am missing from the pre 2.0 days.
Update... Everything I wanted is now back and available in 2.0!


Things Fixed or Updated...


  • Winterboard gives you themes again... Avoid Customize 2.0 it has too many issues right now

  • BossPrefs has fixed the Mobile Safari download plugin.

  • More apps are avalable between the App Store and Cydia now.

  • I have grown to like Cydia now that it has had some tme to grow, will not be switching to installer 4

  • The 5 icon dock is back, and works with icon dragging!



The root password is still alpine, so it is a good idea to change it. Terminal or ssh...

login root
password: alpine
passwd root
new password: *****
confirm new password: *****



So my oppinion, the app store is worth updating for, especially as more and more is added. I was happy that I no longer need to install email, maps...etc seprate, which saves me time and iTunes now syncs email and bookmarks, (Is this new? It is to me! Maybe I missed it in the last itunes update). Terminal, makeitmine and OpenSSH are already ported and ready to go, and AIM and VNC now are in the app store so I am all set with that. The remote app is also very cool! Even Cydia has grown on me as they have updated it, I don't think I can live without the changes list now, so I do not plan on updating to Installer 4, unless there is something I can only get on it. Also WInterboard is final out, and blows away Customize 2.0 in simpliciy and ease of use when applying themes on the 2.0 fw. I have my theme back now so I am very happy. If you have not updated yor iPod Touch or iPhone yet, now is the perfect time to do so.

July 18, 2008

Dad's Flash Series

I love finding awesome things online just by random coincidence. Today I stumbled upon Dad's Home and Dad's at work, both featuring a grinning guy in business casual attire that goes on a "friendly" rampage at home and then at work. The home one was goofy, especial the bizarre end, however the at work one had me laughing so hard that tears where coming out! I still crack up when he leaps and spins in the air then lands in a rolling chair that speeds away after exploding. This has to be the funniest animation I have seen is a great while. I have added the youtube versions below, however the original flash version are better in quality.



July 17, 2008

Map of visiting IPs

Ever interested in new cool webbased tools, I stumbled across Webmaps from ipligence. It is a free service that maps visitor's country/region based on IP. So you can get a view of where people are from that are looking at your site. I added it just below my ads on the left, so you can see what it does. The setup was painless, you enter a website and email address and it spits out the code to use. I will be interested in seeing roughly where people are from who read my blog, I am getting over 100 hits per week, so I know it is not just my friends.

July 10, 2008

ASP Email

I have never had such a hard time finding the correct way to create an online form that email the contents. Apparently there are several way to do email, but at least on the server that I have access to non of them work. Apparently there was/is a old way of doing email objects with CDONTS, however Microsoft has replaced that with CDOSYS, sadly most of the guides online to doing email forms with asp use the older CDONTS way, which on the server I have access to does absolutely nothing...

SO after looking through many guides I finally found a correct (in the fact that it works) way of doing ASP based email.


Set oCdoMail = Server.CreateObject("CDO.Message")
Set oCdoConf = Server.CreateObject("CDO.Configuration")

sConfURL = "http://schemas.microsoft.com/cdo/configuration/"

with oCdoConf
.Fields.Item(sConfURL & "sendusing") = 2
.Fields.Item(sConfURL & "smtpserver") = "localhost"
.Fields.Item(sConfURL & "smtpserverport") = 25
.Fields.Update
end with

with oCdoMail
.From = "your server"
.To = "email to send to"
.Subject = "Subject line"
.HTMLBody = "Body of email"
.Configuration = oCdoConf
.Send
end with

Set oCdoConf = Nothing
Set oCdoMail = Nothing


I do warn you that this works for me, and should... (and I take should lightly) work for you, however I feel that it is worth warning on that fact that depending on how your server is set up, who knows how ASP will function.

July 8, 2008

Multi Line ASP

I had been searching for a way to use multi line strings in ASP, because having it run for two pages across is just bad programing style, and so it string = string & new content over and over. Of course I finally found the solution, and once again ASP is like Fortran 95 in the fact that you can use &_ to continue onto another line, as reference you just use & in fortran. It still confuses me why Microsoft thought it would be a wonderful idea to ignore almost every other major programing language and not end lines in semicolons. But then again they always tend to create their own eccentric standards as they go, a luxury of having such a huge control of the market I assume.

July 4, 2008

Happy 4th of July


Well it is here again, the happy time of the year that we the people of the United States celebrate our independence by eating a grilled meal outdoors and watching people blow up explosives (aka fireworks), or at least that is what I and my family will be doing. I am happy to live in a state that allows fireworks, but for people in states that are a bit more restrictive (I am looking at you New York and Massachusetts) you will have to settle for this awesome screen-saver instead. For mac, but there is a linux and windows port as well. Skyrocket is one of the best fireworks screen-savers I have seen, plus you can control the show with the 1-0 keys, and shoot off the mega fireworks with the [ ] keys. Enjoy both the real and virtual fireworks today!

July 2, 2008

Blog > 1000 hits!

Well I have now hit over 1000 views of my blog since I put the google ad-sense banner on my blog!
It is funny, I am not really making money with the ads, but I love the fact that it tracks hit counts.

June 28, 2008

Sandy Neck






Sand neck is hands down my favorite beach on the cape. I can sum up why with two words, "sand bars". This is at low tide, high tide is never as fun, but that goes for every ocean beach. There is no other beach in my opinion on the cape that has better swimming conditions. You can walk a good hundred feet out and still be able to stand on the sand below. The waves are not big, but they are always fun to ride into shore by just floating. The one downside is that the water is always a bit colder, but that has never been a big deterrent.

If you are not swimming you can walk for miles and miles. While walking I have always found the best sea creatures at sandy neck, from big crabs to my favorite starfish. Near the shore there are areas of small rock that hide all sorts of creatures, which is one of the main reasons that I am so enamored with starfish. The sand is also really good for building, and it never fails that I end up helping my younger cousins build a huge dam to hold back the water flowing out from the sand bars with the tide.

The fun does not stop at night, you are allowed to drive out and build a bon fire on the further parts of the beach. Summer would not be complete with out smores on the beach.

If you spend some time on the cape during the summer you must check out sandy neck, you do not know what you are missing!

June 21, 2008

ASP Stock Ticker

Another little ASP script that I had to whip up was a stock ticker. I had searched around for a free javascript version, however they where either way to complicated and ad ridden to use, or they just did not work. So like most situation call for I just gave up on that idea and whipped up my own version.

It is very simple, it just pulls the CVS data on the stock from yahoo finance and prints out a table row, that way I can use single calls in a table row, and just make a new row and call for each different stock. Also I have an up and down arrow image, but you can make your own. This should be a good starter for people looking for a simple stock ticker. I am using an asp include to call the whole page for code simplification, but you can just drop the code in a page and it will work.


<%
function getQuote(name,location)
strURL = location
Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.open "GET",strUrl, false
objXMLHTTP.send
ProcessUrl = objXMLHTTP.ResponseText
Set objXMLHTTP = Nothing
Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")

dim quote
quote = Array()

' Split the string at the comma characters and add each field to a ListBox
quote = Split(ProcessUrl, ",")

if quote(4) >= 0 then
Response.Write "<td>" & name & "</td><td><img src='images/up.gif'></td><td><font color='green'>" & quote(1) & "</font></td><td><font color='green'>" & quote(4) & "</font></td>"
else
Response.Write "<td>" & name & "</td><td><img src='images/down.gif'></td><td><font color='red'>" & quote(1) & "</font></td><td><font color='red'>" & quote(4) & "</font></td>"
end if
end function
%>

<center>
<h3>Stock Ticker</h3>
<table width="190" border="0" cellspacing="1" cellpadding="1">
<tr>
<% getQuote "Dow", "http://download.finance.yahoo.com/d/quotes.csv?s=%5EDJI&f=sl1d1t1c1ohgv&e=.csv" %>
</tr>
<tr>
<% getQuote "Nasdaq", "http://download.finance.yahoo.com/d/quotes.csv?s=%5EIXIC&f=sl1d1t1c1ohgv&e=.csv" %>
</tr>
<tr>
<% getQuote "S&P 500", "http://download.finance.yahoo.com/d/quotes.csv?s=%5EGSPC&f=sl1d1t1c1ohgv&e=.csv" %>
</tr>
<tr>
<% getQuote "10Yr Bond(%)", "http://download.finance.yahoo.com/d/quotes.csv?s=%5ETNX&f=sl1d1t1c1ohgv&e=.csv" %>
</tr>
</table>
</center>

June 12, 2008

ASP Ad Generator

After playing with ASP for a while I figured out what I would need and started off programing with a internet browser open to w3schools asp page. My idea is grab a config file read it in and choose a random ad from it and display. At first I though of using ajax to pull the content, however I would rather avoid using ajax, because if javascript is not turned on then no ads will be displayed. Instead I like that fact that you can include asp pages and then call the function, this also allows you to specify a width, and maybe if needed I will add some other parameters later. So far works quite well, but still is in development.

ASP Generator


<%
'//////////////////////////////////////////////////////////////////////////
'Display ads when function is called
'//////////////////////////////////////////////////////////////////////////
function displayAd(width)
config = Array()
config = ReadConfigFile("///path to config file///")

' Count the elements in the array
dim count
for each arrValue in config
count = count+1
next

'Will give the correct ad count based off of interger division + 1
count = count \ 4 + 1

randomize()
adchoice = 4 * Int(count * Rnd)

Response.Write "<div class='" & config(adchoice+2) & "' style='background-color: " & config(adchoice+1) & "; width: " & width & "'>"
Response.Write "<p>" & config(adchoice) & "</p>"
Response.Write "</div>"
end function

'//////////////////////////////////////////////////////////////////////////
'Read from file and grab contents for ad display
'//////////////////////////////////////////////////////////////////////////
function ReadConfigFile(Filename)
const ForReading = 1, ForWriting = 2, ForAppending = 3
const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
strAllFile = Array()

' Create a filesystem object
dim FSO
set FSO = server.createObject("Scripting.FileSystemObject")

' Map the logical path to the physical system path
dim Filepath
Filepath = Server.MapPath(Filename)

if FSO.FileExists(Filepath) Then

set TextStream = FSO.OpenTextFile(Filepath, ForReading, false, TristateUseDefault)

' Read file in one hit
Counter = 0
do while not (TextStream.AtEndOfStream)
redim preserve strAllFile(Counter)
strAllFile(Counter) = TextStream.ReadLine
Counter = Counter + 1
loop
TextStream.Close
else
Response.Write "<h3><i> Config does not exist </i></h3>"
end if

set FSO = nothing
ReadConfigFile = strAllFile
end function
%>


Include & call

<!--#include file="adgenerator.asp"-->
<% displayAd(300) %>


Config file test

This is a ad in a rounded box...
#999999
adboxround'

This an ad in a box...
#235689
adboxsquare

June 10, 2008

50 Posts & ASP

Wow it has been over a half year since I started this blog!

For my internship I have been working an an updated site for Prescott Brokerages Services, and after getting the layout pretty much finished I I needed a very simple login page for agents, easy for me except for the fact that I can not use PHP, their web hosting company Webfodder uses Microsoft Server and only supports ASP. So just like last summer with learning PHP this time I am learning ASP. Luckily like most programing languages, it is close enough to PHP that I am having no problems picking it up. It may be just me but ASP reminds me of Fortran mixed with PHP.

It only took a few minutes to whip up a simple login script


<%
'// Check login if used, otherwise ignore
if request.form("pass")="password" then
'// Redirect to another page if correct
Response.Redirect "other_page.html"
end if
%>


This i pulling from a form on the home page, luckily it only need to be deterrent for legal reasons and not a full secure page, otherwise I would never hard code it.

June 8, 2008

Diving for Moorings


My grandparents have kept a few mooring on the lake they live next to for many years, and it is always an adventure getting them ready for the summer. Two years ago I had to dive and snake cable through 20 cinder blocks for the pontoon boat, and this year it was locating sunken mushroom anchors. Apparently they had sunk the moorings for the winter, but ice still developed too much and ripped the chains off, leaving the anchors sticking up some where on the bottom. I thought that they might have fallen over, but the mud ends up covering it rather well and securing it to the bottom.

As you can see from the picture my uncle and I went off from the beach and swam towards where they should be. The problem was we did not know exactly where they where, and swam around the area for about ten minutes till we found the first one, it was sticking up with a rope still floating off it. Still it was about 10 or so feet down and took a bit of looking to locate it. The second anchor was far worse, we had hopped that it was in a straight line, but some how ended up twenty feet off in the deeper water. I must say we where lucky to even find it, because we had to dive down about five feet just to see it, and took another ten or so minutes to actually find. Then even getting down to it took a full breath. I am used to diving five or eight feet but I usually avoid past ten because the pressure really starts to hurt my ears. Fifteen feet was really pushing it and that was just to get to the eye of the anchor! Still after several dives down we got it secured and ready to be pulled up later in the week.

It is funny, because I always end up doing something with the mornings every time I am down for the summer, yet my discomfort with diving in areas I can not see the bottom never goes away, what is worse is that at those depths even on a sunny day the water is too murky to see the bottom clearly. So I always have this vision of going down and meeting up with the huge snapper that lives in the lake (I have seen it it, is huge!), On the swim back near the shore we actually did end up swimming by a big snapper, so I guess my fears are not completely unfounded.

UPDATE: Upon pulling them from the bottom, they ended up not even the ones we where looking for. Oh well still cleaned up the lake!

June 6, 2008

Summers of Rappelz


Well it is summer again, and once again I have picked up playing Rappelz. It is a free to play MMORPG that I got slightly addicted to last summer. I have never got into the whole wow addiction, mostly because I am cheap and would never pay sums of my money just to play a game. Still I had wanted to check out what the big fuss was over it, luckily I ended up seeing an advertisement for Rappelz and on a whim decided to check out, I ended up liking it and continued to play it through most of the summer till I hit level 40, got bored and returned to school and now it has been a whole year.

(Yes the picture is a good screenshot I took of actual game play. What I like sitting near trees, haven't you noticed?)

Rappelz is fun, for the first 21 levels, after that it starts to slow, but having friends to play with helps starve off getting bored. I am not much for meeting people online, instead I had several of my friends from school also pick it up and play me me. Now my cousin wants to play, so I will start a new character and help him out, not that it hurts having a level 42 character as backup, a ton of items in storage, and over 3,000,000 in the bank. However I am sure I will probably quickly get bored again and start working on other projects.

If you too have been wanting to play a mmorpg, check out Reppelz, it is free and looks good so you can't beat that combo, and if you don't like it, hey you lost nothing but time in the process. The players are generally friendly, at least on the Tortus Server that I play on. You may even see me run by, keep an eye out for Efeion or my new cleric character Feiona and our Kampers Guild.

June 4, 2008

Rounded Corners


A big trend with web design right now is rounded corners on most rectangles. This is understandable, because when I am doing woodwork I smooth the edges, it just gives it a much more finished look, compared to rough or pointy edges. Not to mention in an artistic sense it both keeps the users eye path from moving around as much and helps the page as a whole blend. Corners tend to point in a direction or cause a UI element to stand out. Of course this is all contingent on how the page is designed.

Still I have done rounded corners for other sites with a brute force method, with separate positioning for both Firefox/Safari & IE7 because they rarely are the same. It looked good, but was annoying to implement, and that was only two corners, four would be much worse. Luckily there are now some options that make the job much easier. However there seems to be a big debate on what is the better method to use. One is raw css positioning like I had done, more work, but the benefit is low load times, just what the corner images need. The other way is with javascript I found Nifty Cube, a very simple and easy to use javascript engine that does all the work for you. The problem is that it loads after the page, and takes a small chuck of the users processing to run. This was not that big a lose so I was happy with the results.

Check it out if you need round corners, still not perfect, in the fact that it only does solid colors, however the only issue I have had is that it draws the corners across the top and bottom, so you need to pad divs by about 10px for it to work out.

June 3, 2008

Google Fight

1...2...3...Fight, oh I mean search!

While looking up something for work, I stumbled apon GoogleFight, which lets you pit two search terms against each other. It is a goofy little web app, but fun to try out, if you run out of ideas you can use the list of funny or recent fights. It can be a little disturbing watching the last 20 fights because as you constantly refresh you can see the terms that people are using, some of which can be just plain wrong...

Just goes to show you there is always more to find online.

June 2, 2008

CSS Layouts

Now that I have started my internship/summer job redoing the Prescott Brokerage Website I have remembered just how much a pain it is to start a new CSS layout from scratch, not that it is not fun to get the elements positioned properly, but but when you are working, it is not professionally to spend several hours getting a basic template built when there are plenty of resources online. Luckily there are sites like Free-CSS that have a huge number of free CSS layouts that make the job so much easier.

Now when I am taking about CSS layouts I am not taking about the already finished ones, those are finished CSS templates, I am talking about the blank ones that simply have the placement all set to go. You should be able to do your own designs! You guys know who I am referring to... ^_^

May 22, 2008

iBook CD Drive Upgrade

WIth all the ibooks I bought off surplus this year I had a good pile of parts. My sisters iBook, one of the few I was able to fix off surplus, apparently only had a cd drive, but luckily for her I had a combo drive sitting in my pile. However I had forgot how annoying replacing the cd is. Anyone that has taken an iBook apart will tell you of how hard the process is, it still takes me an hour from start to finish, and I have been taking them apart off and on for over 5 years! Oh and I still do not think it is possible to take apart an iBook with out ether loosing or gaining a screw...

I had read online oh how, minus taking the case off, removing the cd drive was easy http://www.powerbooktech.com/knowledge,type-6.htm, however apparently this model is different from the 900mHz iBook my sister has. There is a top bracket that holds the drive in place as well. The only way to get around this is to...
1) Remove the plastic cover and slide it into the case (too hard in my opinion)
2) Remove the awkwardly placed mounting bracket on the side facing the LCD (which requires a but of flexibility but is doable)

Sadly this is the easy part, getting the replacement drive back in is the hard part. It is way to difficult to screw the mounting bracket back on after the drive is in, so I just put that on first, then carefully jammed it back into the slot in the frame, bending the metal tab a little to make it fit, but it was fine.

Well this is what makes me love iBooks so much, they are so secured and covered that they can survive a lot of abuse and keep going, but that still make it a pain to do any maintenance on them.

May 19, 2008

DDR Pad Controller

Well after about 4 years the pad controller board died. I should have expected this, because I am forcing the circuit to run under much higher resistance then the 2 inches of wire it was designed for, but still 4 years of heavy ues is pretty good. So it was off to staples to grab a new USB key pad. I personally like the Targus Keypads because they are simple and support more then one key press at a time, which is very important for the pad to work correctly.

After getting the keypad I brought it home and took a look at the circuit, it was quite a bit different from the version they had 4 years ago, mostly because it used small contact pad instead of the holes for leads like I was hoping. This was a small set back, however after ripping the contact holder off the board to get access to the solder points I realized that I was going about it wrong. There where some lead holes on the board, just not right there.

I got some very thin copper wire with the insulating coat, and soldered them onto the board. It took some careful placement to correctly solder the wires that where very close to either the contact on the top, or the other solder points on the bottom of the board. Still after an hour of work I had it working, and could test in StepMania that it was indeed working.

All that was left to do was correctly wire it back to the pad. Sadly this was a lot more complicated then I had hopped, because the way I had the old version was slightly different. But I quickly fix this problem and had a wiring diagram to use. All I needed was the up,right,down and left buttons so I have two main wires 4 and 5 that are contacted to the remaining wires to get the correct button press. I am not sure if did something wrong or just shorted something, because after I had it all working for some-reason when you press left and up or down both up and down are pressed. Luckily this does not interfere with game play, it is just a small anomaly.

There you have it, all the instruction you need to make your own pad controller, however I expect that Targus will change the board again before this one breaks, so I am sure I will have to go through this hassle again sometime in the distant future.

May 15, 2008

Black Light Fun



Well I am almost all packed and ready to leave school, after covering the live feeds at graduation. My roommate was also packing and found his black light bulb. After sticking it in his lamp he turned off the lights and we had a good laugh about how it changed the appearance of the room, and even better showed us how much we really needed to vacuum, because there was a good amount of sand scattered around the carpet. This intrigued me so I set off with an extension cord around the apartment to see if there where any interesting spots. We had not done anything to trash the apartment (we are good students), so anything I fond would probably be from the last people in the apartment. My results? Well the stove had a lot around it, but that was from grease splatter, which with all the cooking that goes on is not surprising. The bathroom was not too bad, just the toilet. The really gross finding was the couch, which had a single very defined stain, that in normal light was not there. All in all it was very cool, just if you are germ-a-phobic or very paranoid, I really suggest you do not do this! I can't wait to do this next year on the new apartment.

Oh, you know you want to check out where you live now to see what is really hiding, plus it looks very cool!

May 14, 2008

Java Simple Physics



Well with classes over, I wanted to at least do something with the year of University Physics torture I have endured. Thus I present Java Simple Physics. It is just a quick physics example that uses the kinetic and potential relationship to have balls with different gravity constants drop then bounce with no loss of energy. It took a few hours to get right, mostly because I either did not know what I was doing, or was over complicating things. I hope to slowly improve on this concept till I have a VERY simple physics engine. Hey, it can only help to have a physics engine laying around, one day I might actually need one.


import javax.swing.*;
import java.awt.*;

public class Physics extends Thread
{
private int worldx = 200, worldy = 900, worldtime = 15;
private JFrame frame = new JFrame();
private Ball ball,ball1;

public Physics()
{
// Set up frame
frame.setSize(worldx,worldy);
frame.setVisible(true);
// Make new ball
ball = new Ball(400,450,9.8,worldx,worldy,worldtime);
ball1 = new Ball(400,450,3.8,worldx,worldy,worldtime);
}

public void run()
{
while(true)
{
try
{
// Cover old draw with fresh screen
frame.getGraphics().fillRect(0,0,worldx,worldy);

// Move and paint ball
ball.move();
ball.draw(frame.getGraphics());
ball1.move();
ball1.draw(frame.getGraphics());
Thread.sleep(worldtime);

}
catch(Exception e){System.out.print(e);}
}
}

public static void main(String args[])
{
Physics p = new Physics();
p.start();
}
}

class Ball
{
private double gravity = 9.8, t;
private double x,y,v,a,m,dx,dy,dv,k,u;
private int worldx,worldy,dir=-1,width = 90;

public Ball(int xin, int yin, double g, int wx,int wy, int time)
{
// Set Constants
worldx = wx; worldy = wy-width; t = time;
// Reduce gravity to fit with drawing refresh rate
gravity = g * .02;

// Center ba;; on x axis
x = worldx/2 + width/2;

// Set varables
y = yin;
v = 0;
a = 0;
m=.8;

// Preset u and k values based on varables
k = (m * gravity * (worldy - width)) - (m * gravity * y);
if(k < 0){ k = 0; }
u = m * gravity * y;
}

// Catch and reverse
public void move()
{
// Calculate u and k
k += u - (m * gravity * y);
u = m * gravity * y;
//Find dv based on k = .5mv^2
dv = ((2 * k) / m) - v;

// Catch and reverse on k or u < 0
if(k <= 0 && dir == 1)
{
dir = -1;
v = v*(-1);
a = a*(-1);
k = 1;
u = m * gravity * worldy-width/10;
dv = -1;
}
else if(u <= 0 & dir == -1)
{
dir = 1;
v = v*(-1);
a = a*(-1);
u = 0;
k = m * gravity * worldy-width/10;
dv = ((2 * k) / m);
}

// Finalise new movement
y += ((1+dv)*dir)/t;

// Print out values when needed
//System.out.println("x:"+x+" y:"+y+" u:"+u+" k:"+k+" - dv"+dv*dir);
}



public void draw(Graphics g)
{
// Draw to screen
g.setColor(Color.GREEN);
g.fillOval(worldx - (int)x, worldy - (int)y - width/3, width, width);
}

}

May 4, 2008

Student Senate Issues

I rarely get into politics, especial with the student government on campus, however this year the student senate has been quite poor in my opinion. Normally, student government is for the students in majors that are not quite as time consuming as the science majors or some of the arts majors, and do not have a decent job to keep them otherwise preoccupied during the semester. You can see why I generally ignore what they are up to, because I am usually far too busy with school and work, and at the same time nothing they do really has any effect on me. Other then somewhat interesting requests for equipment from the department I work for on campus.

What has greatly annoyed me this year is the utter lack of sense that the senate in general (not everyone) has displayed in their attempts to deal with some of the issues we have had on campus this year. One of the main things was a majority of the senate actually wanting to charge all the students (aka me who was sleeping at the time) for the student rioting earlier this year. Then they create "Task Forces" to deal with these issues, but to my knowledge nothing has come from these decisions. Non of this really surprises because I have actually been in classes with a few members of the current student senate and the dedication to their class work was just as lacking as the senates current abilities.

Interestingly, this is not just my single opinion. I know quite a few people in the senior and junior classes, and most of us do not have any great affinity for the student senate. More the one of us has actually witnesses a member of the senate displaying their opinion of how they apparently deserve a superior status then their follow students. Of course this is not going to go unnoticed, and one of the more entertaining results is an article in the clock stating on the status of the student senate this year. I think it sums them up perfectly in one sentence...

"I hope that this letter speaks to the more sensible members of Senate, and uses next year to rebuild the bridges that they have burned in their unethical reign as perceived supreme lords of the University."

Full article => Student org speak out about Student Senate behavior. Please note that I almost never read the clock, their opinions on things are generally very different from mine, however this was actually interesting enough for a friend to mention the article to me. Now I am sharing it as well, enjoy!

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.