February 29, 2008

How to fix an iBook

Well I got another iBook from surplus for another dollar, which also was showing the same symptoms of the GPU having solder connection issues. Also once again by putting pressure on the chip and the board the LCD would turn on. However unlike the last iBook I tried this fix on, this one required less pressure to get the screen going, and would stay on at certain angles, so what ever was wrong with the solder was quite a bit less than the last iBook, which makes my life easier.

So, I grabbed the propane torch and set up the board by removing anything that would melt. This time, after doing some research of others attempts at this process, and found that a slow heating and cooling process is much more effective. So I heated for a minute at a low setting from a little distance, then heated at full for about another minute while watching the screen. At the start, the screen was a garbled mess, however soon the chip overheated and the screen did a weird blurring effect. This was normal and happened last time, so I backed off with the heat and allowed it to cool a bit, after a few seconds the chip started again, but was still not quite right, so I repeated the process. This time after backing off with the heat, the screen went to the blinking question folder that I was looking for. After getting this far, I let the chip cool on its own, which took around ten minutes. After it cooled correctly, I made sure the board turned on, and shook and slightly bent the board to make sure it was securely connected. My last attempt had several failed successes, which by bending the board showed it had not correctly reflowed the solder. However this time it was fully connected.

Ha, it may have taken two attempts to get right, but now I have a working iBook for my digital picture frame project, and as requested I have pictures of torch in action, which where missing from my other post, enjoy.

February 28, 2008

Space Invaders for your wall

I randomly stumbled upon Blik Surface Graphics who carry a set of wall decals that look like Space Invader sprites. Space invaders for the video game challenged is a simple game where you shoot aliens, using a little mobile cannon, before they get too low and invade the earth, or shoot you. There have been many renditions, but Space Invaders still remains one of the first arcade shooters.

I thought the decals where very cool, but I am a poor student and did not feel like paying the $12.50+ so I set out to make my own. Firing up AppleWorks I went to town with a bunch of black squares. They ended up looking like the real thing, so I was happy, and printed out the same number as the decal set would have. If you are feeling lazy and do not want to make your own, I have uploaded my set here for anyone to use.

The end result turned out rather nice, but now Matt says we need a Mario wall too, sounds good to me!

February 27, 2008

Tesla Coils are awesome

After building a vandergraph generator, which worked rather well, I have looked at making one of the many other high voltage static generators out there. I really want to build a wimhurst, and eventually will, however I really want a Tesla Coil, because they are amazing. They are so powerful the intense electric field around them can light up fluorescent bulbs from a few inches to a few feet away depending on the size. The one big drawback to Tesla coil is they need an outside power-source, usually a high-voltage transformer of some kind, as well as other electronic components, so in reality it is not quite a static generator, but still amazing machines! If I ever find plans for a simple low power one I will definitely start building it.

I love the video above because it demonstrates a simple Tesla coil very well, plus I can not stop laughing every time it starts up, creates a static buz, and then BOOM (At 00:24). This is the first one I have heard do this.

Other people have done amazing things with Tesla coils, such as adjusting the frequency to play music on them!

February 19, 2008

Coolest NERF gun yet

Many guys my age had a hoard of NERF guns as a kid, heck I still have a hoard, although I do not use them quite as much. Still after seeing the new NERF Vulcan EBF-25 on Gizmodo, I know this might be worth looking into. It looks like some kind of advanced weapon, except for the orange coloring. However that is to make it not look real enough to get a kid shot for carrying this around, which is understandable. Still any moder could do a great paint job and make this look beyond awesome. Oh course the biggest question raised by this NERF gun is if you can modify the chain to be longer then 25 darts. A chain of 200 or more would be very impressive indeed.

After looking at the picture for a while another thing came to mind. The Vulcan EBF-25 looks very much like the portable turrets in Halo 3. They both grab on the top, and fire from the trigger on the back. The tripod is very similar as well. The front of the gun is the only major diffrence. So was this inspired from the NERF team playing halo? Who knows, but what I do know is any one I show the Vulcan EBF-25 to wants it. Way to go NERF!

February 15, 2008

How to break an iBook

Well I am usually pretty good about not breaking things worse when I am trying to fix them, but today was not my day...

I had got an iBook off of surplus for a buck, however it did not have any video, after taking it apart and pressing on the graphics chip on the board I could tell its connections had come loose. Similar to the story here. So I set off on an adventure to try to fix it. After making a cup out of aluminum, I got a propane torch and started heating it. It worked well enough and came very close to working, but shifting the board still caused video problems, so I had the bright idea to put some pressure on it while heating.... BAD IDEA! The solder balls underneath got squished and fused together, rendering the logic board useless.... Sigh. There are times when you wish life had an undo, this was one of the times I wanted to use it. Well I will remove the solder and chip from the board and see if it at least starts, right now it turns on shorts and shuts off. However it would take inhuman skill to solder it back on correctly. Ah such a waste, well maybe I can sell the working parts online.

Note: The clamp was not tightened any further then to simply hold the cup and a small metal piece on the bottom together, plus give me a grip to hold on to, but that was still to much pressure.

Luckily there are more iBooks on surplus with the same problem, and because I am probably the only one crazy/stupid enough to attempt this again to try to fix them, I at least have a couple more tries at making a digital picture frame. Yes that was the original goal.

Oh well, now excuse me while I go beat my head against a wall.

February 12, 2008

Simple Flat File Database

I had recently been refused access to a sql database for a project, this I started looking for other options. After a little searching I stumbled across txtSQL, which is a very powerful but easy to use flat file database.

To start off download the latest release (2.2 final at the time of writing this). Then read the read me in the doc folder it will walk you through setting up the include files you will need as well as the database folder, by default called data. One you have these placed correctly just like with mysql you will need to connect to the database.

$sql = new txtSQL('includes/data'); // Location of the database files
$sql->connect('root', ''); // This is the default name and password
$sql->selectdb('XXX'); // XXX is the database name

This will let you connect to the database you want to use, I do recommend changing the password from its default. However there is no database or tables right now so you should add these.

// txtSQL created a new database named testDatabase
$sql->createdb(array('db' => 'XXX')) or die('Error creating txtSQL DB, txtSQL said: '.$sql->get_last_error());

// Create Table in new database
$columns = array(
'id' => array('type' => 'int', 'auto_increment' => 1, 'permanent' => 1
'name' => array('type' => 'string', 'max' => 50),
'email' => array('type' => 'string', 'max' => 50) );

'db' => 'testDb',
'table' => 'testTable',
'columns' => $columns);

Now you have tables set up, unlike sql databases, this is all commands with arrays, so it takes a little getting used to, but is not to horrible to learn. Finally, you just need to manipulate the data.

// Select
$where = 'somthing = '.$_POST['something'];
$results = $sql->execute('select', array('table' => 'XXX', 'where' => array('0' => $where), 'limit' => array(1)));

// Grab first result
$result = $results[0]; // Just want the first result

//or use them all
foreach($results as $result) // Grab each row from the result
//... Do something

// Insert
$insertvalues = array( 'name' => 'matt', 'date' => '9/8/06' );
$sql->execute('insert', array('table' => 'XXX', 'values' => $insertvalues));

The rest delete and update are also similar, and you can find example in the documentation included.
Although txtSQL is not a perfect replacement for a real sql database it does work rather well. However it is suggested that is only be used with smaller database needs, otherwise stick to a real real database management system. Still for what I needed it to do I am quite happy.

February 7, 2008

Setting up web shares in Apache

One thing I wanted is the ability to share directories online other then having to make folders in my WebServ folder. So off I went to look up how to configure Apache to do this. As I expected this was not all that hard to do, you just have to add a few lines to the apache config file.

Just type " sudo vi /etc/httpd/httpd.conf " or use what ever editor you like, I like VI. then look for the section below...

# Aliases: Add here as many aliases as you need (with no limit). The format is
# Alias fakename realname
<IfModule mod_alias.c>

Find place you like to put the info for your new shared directory, and add the lines below. The #"stuff" lines are optional, but it is a good idea to comment about what you are adding.

#Share via online

<Directory "/PATH TO DIRECTORY/">
Options Indexes FolowSymLinks MultViews ExecCGI
Order allow,deny
Allow from all

This will set up a new directory that you can access with http:/serveraddress/name of share. This worked quite well, however I still wanted to take it a step further. I could make a php index page that prevented access, however that would not give me quite the level of security that I wanted. Instead I looked for a way to secure a directory with Apache. First of you need to change the directory set up by setting it to...

<Directory "/PATH TO DIRECTORY/">
Options Indexes MultiViews (+ other things you want)
AllowOverride All

This make it look for a .htaccess file that specifies the access rules for the directory. You will now need to add this file to the directory you are sharing. In that file you need to add these lines.

AuthName "Name of Stuff Share"
AuthType Basic
AuthGroupFile /dev/null
require user ADD USERNAME

This sets up the directory, the last thing you need to to add a password file for it to reference to.
To do this, cd to the password directory you used above. Then type htpasswd -c .htpasswd "USER NAME" this will add a password file to the directory for the use name.

There you have it a new directory in Apache which requires a password to access.