Thursday, March 14, 2013

Solder fume extractor

12 V DC computer fan with grill, filter and a 2.1 mm DC connector. 

Make's Candy tin fume extractor had me pestering friends and coworkers for 40 mm x 40 mm fans for a long time until I finally googled up this picture instead. A bare bones solder fume extractor that I find a lot more appealing than the candy tin version. Even better it delivers more "suck" and I already had a suitable fan.

I might paint it somewhere in the future. I think matte white would look
pretty cool in contrast to the black fan, filter an cable. 

Filter side, yes it's missing one set of nut/bolt/washers.
My idea about using the already rounded corner of the filter
to my advantage turned out as a disadvantage. 

Wednesday, March 13, 2013

Breathing new life into a sluggish iBook G4

Well maybe not as much new life. Let's call it an iBook G4 on dialysis, anyway the main objective was to erase and reinstall OSX 10.5 Leopard on my 12" iBook G4 1,33 GHz . Unfortunately my original DVD was "lost" so I had to go and find another solution.

Failure 1 - Burned image on DVD

I did try to burn a new DVD using an image of the original but that didn't pan out very well as the installation process got stuck in the verification phase. I did try to skip the verification process but that just left me with a totally unusuable system.

Failure 2 - External USB DVD 

I moved on to trying to boot from an external USB DVD reader/writer using instructions I found at Ben Collins blog. But for some reason my external USB DVD reader/writer just wouldn't show up in Open Firmware.

Success - Image on USB stick

When I was busy googling for options to get my external DVD functioning I briefly read something about USB sticks being friendlier in this scenario than a USB drive of some sort. So I used OSX's "Disk Utility" to write the aformentioned ISO image to a USB stick and went back to step 1 of Ben Collins instructions and success showed its pretty little face at step 4 i.e typing boot ud:,\\:tbxi in open firmware. From there on everything worked flawlessly. To get to open firmware press and hold Command+Option+O+F as soon as you power up your iBook.


The only problem was that many of the apps I had installed on my iBook now only supports Intel architecture. But I quickly realized I'm not alone! I found the Power PC Software Archive a great collection with the latest release of many PPC apps on local mirrors. This means I that I once again can run Spotify on my iBook G4. Also I found the Mac PowerPC blog, and the great great great app MacTubes. Normally YouTube is out of the question on the old iBook, ok so I might get it to start but viewing pleasure is out of the question. MacTubes changes all that, now I can search, browse and play videos to my hearts desire with out any lag or out of sync audio what so ever.

Tuesday, March 12, 2013

Shutdown Linux nicely with a USB stick the right way

Forget everything I wrote in my previous post. Like Andrew pointed out in the comments on my youtube video and the blog, running a cron job every minute isn't really optimal. There is a better way to do it.

The fun part is that it doesn't require autofs since it uses udev rules and can find out the id of a USB stick (or any other device I guess) upon connection instead of going through the mounting process. At the same time it also manages quite nicely renders my script obsolete since you can issue "shutdown -h now" directly. Oh, did   mention it's A LOT faster. 

Well enough with the talk here's how you do it: 

Find out the vendorId and productId of your USB stick: 
$ lsusb
Here's my output, the numbers you want are the ones after "ID" the first one is the vendorId and the latter productId:
Bus 001 Device 003: ID 0781:7114 SanDisk Corp. Cruzer Mini
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Then create an aptly named file in: /etc/udev/rules.d/ I went with: 100-usb-device-action.rules 

Then add the following line, just substitute your vendorId and your productId
ACTION=="add", ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7114", RUN+="/sbin/shutdown -h now"

That's it! Your done. Insert that USB device and watch your system shutdown in a nice way. 

Sunday, March 10, 2013

Shutdown Linux nicely with a USB stick


This post is sort obsolete since there is another way to shutdown linux nicely that requires less of everything. You can read about it here. However maybe you came for the script that looks for a file and issues a command. Well then you're in the right place, just scroll down a bit.

Shutdown Linux nicely with a USB stick

If I had such a thing like a following from regular readers you would probably know about my ancient Toshiba Satellite 320CDS laptop that now serves as a digital picture frame. The only problem is to have it shut down properly.

Why is that a problem you ask?
Well, I can't use the power button as it just cuts the power and I risk getting disk errors that most likely forces me to hook up a keyboard on the next boot. Something that I rather avoid.
But I can do it via a ssh connection. However that requires a working network connection and another device. That leaves me with the option I'd rather avoid. Connecting a keyboard and manually shutting the system down. Ok, not the end of the world but it's a bit tedious to have to drag out a keyboard each time I want to do a shut down.

My solution for this is a script that checks if a certain file is present in a defined directory. If the file is present the script issues the "shutdown -h now" command. The physical part of this is that the file is contained on a USB stick that when inserted automounts to a certain location. By running the script from root's crontab I now have a way to make Linux shut down nicely without a working network connection or keyboard.

Howto: Shutdown Linux nicely with a USB stick 

So what is needed for this to work? Well first of all here's my script. It's not very complicated and you should be able to tailor it according to your needs. Perhaps you want to run a slideshow with the pictures on a USB stick when inserted or maybe even completely wipe your system.

The next step is to make a USB stick automount in a certain directory.
For this we need to install autofs. There's good tutorial on this here and here, but I'll give you the basics below.

Since I run debian installation is as easy as:
$ sudo apt-get install autofs 

To configure autofs I started by adding this line to /etc/auto.master
/media   /etc/auto.removable     --timeout=2

Then I added this line to /etc/auto.removable
usb-shutdown -fstype=ext2 UUID=UUIDOFYOURDEVICE

The UUID is the Universally unique identifier of a disk. In this case we use it as way to know what USB stick to mount in /media/usb-shutdown/
You can find out the UUID of your device with:
$ ls -la /dev/disk/by-uuid/ 

This will give you a list of your devices with symlinks pointing to their labels i.e /dev/sda1 etc. Alternatively you could run the following command, substituting /dev/sda1 to your device.
$ sudo blkid /dev/sda1

Finally to make autofs recognize your changes run:
$ /etc/init.d/autofs restart

Last but not least we have to make the script run at a certain interval. This is done via the cron daemon. To edit root's crontab type following, if you want to edit the current user's crontab just omit the "sudo":
$ sudo crontab -e

Add the following lines:

# Check if USB device with "systemHaltNow" is present
  * *   *   *   *    /PATH/ >/dev/null 2>&1

The stars tell cron to run the script once every minute forever and ever and ever. The last part stops cron from e-mailing you and logging everytime it executes the script, more info on that here.

Well that's it.

Friday, March 8, 2013

Big wall mounted buttons

Here's a little unfinished project that got trashed during my last relocation. Rather than playing around with LEDs and sensors this project is actually based on the idea to be both visually appealing and functional. The plan was to make a sort of interface to a media player such as iTunes or Spotify with the use of the Arduino and a proxy like Gobetwino or (the apparently now dead) ASproxy from (the equally dead)

Since it's been on ice for quite some time, well actually in this case it rather got  "iced" in the mafia sense of the word, I thought it was about time to share the concept of the project.

Step 1. Cut shapes of the buttons in a foam of choice.
Step 2. Glue some foil on the back of the buttons and scotch taped a wire
or solder if you're awesome at that.
Step 3. Paint the buttons in a nice color. 
Yeah, I never really got around to step 3. 

When I started out my intention was to make a simple circuit and a button that either breaks or closes a circuit. But then I started dabbling with capacitive sensing, hence just the one wire in the pictures.

Tuesday, March 5, 2013

shairport on 233 MHz, a success story

Well like the title says shairport works quite nice with really old hardware and I do think 16 years qualifies as really old when it comes to computers.

Here's the specs:
Toshiba Satellite 320CDS
: 233 Mhz Pentium MMX
RAM: 96 MB
HDD: SandDisk Compact Flash 8 GB Extreme IV via Lycom CF 2 IDE Bridge
OS: Debian Gnu/Linux Squeeze

When streaming music from iTunes shairport uses about 38% CPU, quite a lot compared to mpg123 that only draws 10 % CPU. But really I'm just impressed that it works. When it comes to RAM shairport uses roughly 4 % of my available 95 MB.

The output of shairport isn't really that much fun
to look at so here's a screenshot of top instead. 

I'm not going to tell you how to do it. That's pretty much covered here.