Wednesday, July 27, 2011

Arduino Books

A great resource listing all the Arduino books ever published and even those yet to be published.

Thursday, September 16, 2010

The advertisement McDonalds doesn't want you to see.

I've been vegetarian for two years after my wife tricked me into it and became a GREAT cook !

This ad made me think.....




Thursday, January 31, 2008

Ubuntu Baby Rocker - When geeks have babies.......




Friday, September 08, 2006

Ubuntu based Speaking Podcast Player for the Blind

In English.
A special computer with no keyboard, mouse or screen, that plays music and spoken articles for blind people, and also reads aloud the titles so a blind person can select them using a special remote control.

In Geek.
An Ubuntu Linux based MP3 / Podcast player with a simple remote connected to the serial port. No keyboard, no mouse, no screen. Instructions are spoken with text to speech through Festival, and ID3 tags from podcasts are spoken as well. Podcasts are loaded from a CD, but could be automated with bashpodder. The remote is used for controlling the player.

Happy to open-source this if there is any interest. Leave a comment.

Video







Long Version - How it came about.

My uncle Jim, (not really an uncle, but one of those people who has always been there for the family!), he's sharp as a tack, and blind as a bat! (Well not completely blind, but he would not be able to use a computer, even if he had one...)

I was talking to him the other day about life the universe and everything, when he asked me what a blog was..... this led to a discussion on what a podcast was...... this led me to thinking how I could get him to listen to podcasts. The audio tapes he gets from the library and blind foundation are not about subjects that he's passionate about.

I asked him what he would like to hear about..... "travel, woodworking, religion, and world affairs" he said.....

After getting home I decided to make him a "talking ipod", so that he could listen to podcasts and not need to use an actual ipod or a full computer.

Thus "BOB" was born....

Bob is a PII 350, with 96 megs of RAM and a 6 gig HDD.

Bob has a main menu that runs one of two python apps, one is an MP3 player, the other is a CD loading app.

The CD loading app simply copies all Mp3's on a CD into a file on the hard disk, speaking a count-down as it does so, because 600 megs of podcasts can take a while to copy to the hard disk.

The player is a python application that waits for buttons to be pressed and then speaks the ID3 details and plays the tracks.

The remote is in the serial port using a python serial library to get the button pushes, and to set the LED's flashing differently depending on the players state.



Uncle Jim has never used a "real" computer, he does not even own a CD player, I could have got him an MP3 cd player but it would not have read him the ID3 tags, or kept his place when switched off.

If he ever gets broadband I'll setup bashpodder to get the files automatically, for now bashpodder puts his podcasts in a directory on my PC and I'll burn him a CD once a month.

That's about it ! I hope this gives someone else the boost needed to use Linux to help others !

Monday, July 03, 2006

How to install New Skype Beta for Ubuntu Dapper

Skype has released their New Beta for Linux !

Version 1.3.0.30, ALSA or OSS support, no Video conferencing yet.



















Why upgrade? It fixed my "problem with sound device" error that version 1.2.0.18 had, seems more stable.

How to install.

If you have Skype go to the command line and remove it ! (Don't worry, your contacts will not be deleted)

sudo apt-get remove skype

Download the new debian package from this link

http://www.skype.com/go/getskype-linux-beta-deb

Find the package by browsing to it from your "home folder" and right click on it, then select "Open with GDebi Package Installer"

Click Install, then enter your password

It should install under "internet / skype"

Or you could type this at the command line

skype &

All done !

Whats new in the new Skype see changelog
http://www.skype.com/download/skype/linux/changelog.html

Sunday, June 18, 2006

How to run Windows XP under Ubuntu Dapper


Why?

Because Dapper was just too Damn reliable... nah, seriously, I need to run Microsoft Visual Studio, and doing so under wine was not going to cut it, and dual booting was going to be a pain, VMWare was not open source so....QEMU to the rescue.

Briefly..

There's a program called qemu (http://en.wikipedia.org/wiki/QEMU), by Fabrice Bellard.

Basically it makes a virtual PC within your PC with some standard spec's (NE 2000 network card, Cirrus CLGD 5446 PCI VGA card, etc). The advantage of this is that you're running the actual OS ! (some may say that is not an advantage...)

QEMU keeps this "PC's" partition in one single file, so you can copy that file off somewhere safe and have a "snapshot" of your PC for when the viruses and other nasties get in.

Other neat things in the documentation.

-You can also make that image read only, so that it will never change. (it uses /tmp for a temp file)

-Just like VMWare you can move that image to another machine running QEMU and it should just work.

-QEMU uses a Samba option on the command line to let XP see a samba share, so you can get files in and out of your new OS.

HOW TO...

install qemu
sudo apt-get install qemu

make a directory to put the xp image / iso files etc.
mkdir winxp
cd winxp/

one off creation of the "partition", I used 4.3 gig so I could burn backups to a DVD.
qemu-img create winxp.img 4300M

put in xp cd and type...
qemu -boot d -hda winxp.img -cdrom /dev/cdrom -m 256 -localtime
read this line as "boot -d hda", d=boot from cdrom (c=boot from hdd)
"-cdrom /dev/cdrom" tells qemu where the CD to boot from is
"-m 256" is how much memory this machine has access to
-localtime" tells the new pc's bios to set itself to GMT/UTC from the real PC clock.

now go thru the XP install!

then to boot just make a shortcut to:
qemu -boot c -hda winxp.img -m 256 -localtime
Notice the "c" not makes us boot from the winxp.img file, not the cdrom, as I've left off the -cdrom option here this PC now has no access to the CD drive.

You're all done, log in and try going to google.com ! (it worked for me YMMV)

Note : If you get an error when logging on to XP (after entering password).

If you get an error Error code 0x800703e6 on Product Activation, then your XP is pre sp1 or sp2, follow these instructions....

download sp2
http://www.microsoft.com/downloads/details.aspx?FamilyID=049c9dbe-3b8e-4f30-8245-9e368d3cdb5a&displaylang=en

make an iso of the sp2 exe file.
mkisofs -o sp2.iso WindowsXP-KB835935-SP2-ENU.exe

boot into XP but press F8 immediately to go into safe mode, pointing -cdrom to the iso file of SP2 will mean that the XP machine will have a "cdrom" available when you boot into it.
qemu -boot c -hda winxp.img -cdrom sp2.iso -m 256

Use explorer to get to the cdrom and click the exe file to install SP2. One error will com up about "Invalid Access to Memory Location", no biggy, just hit OK and it will finish.

All done, no more 0x800703e6

Tuesday, May 30, 2006

Scan to PDF in Ubuntu, with Beagle Searchable Meta Data

This bash script lets you scan directly to a PDF and then search your scanned PDF's using beagle, not just by file name, but by the information (meta data), that you can save with your PDF.

I developed this script because I really want to have a paperless desk and I could not find an easy way to scan documents to PDF, (and find them again!).

A picture's worth a thousand words...

I have a "launcher" on my desktop called "scan", I just click it and....

Select colour or Grey (color or Gray) for the Americans!





Then press OK for each page of the PDF you want to make. (Cancel to finish)



Then give the PDF a file name... (jam recipe!)



Then some meta data so beagle can find it... jam, recipe, grannys, yum.



Thats all !

Now search for "grannys jam" in Beagle.....



And there it is !!



Here is the script, it was made pretty fast so......

Please feel free to mess about with it. And post improvements back here !

Programs you'll need..
zenity
ps2pdf
pdftk
scanimage

Copy the script into its own directory, chmod u+rxw. Thats all!.

-----------------------------------

#!/bin/sh

#scan to pdf with metadata, by Mac Jones, New Zealand
#http://maconstuff.blogspot.com/

#scan a batch

#decide grey or colour (gray or color for the Americans!)
colour=`zenity --list --title "Color or Gray?" --radiolist --column "-" --column "Scan" TRUE Gray FALSE Color`

a=0 #page counter
cont=1 #should we continue?

until [ $cont -eq "0" ] #keep doing it until cont variable is not a zero.
do
echo -n "$a "
let "a+=1"
if zenity --question --text "OK to scan a page, Cancel to finish, Page=$a" --title "Scanning pages"
then
cont=1
scanimage --format pnm --resolution 150 --mode $colour > "$a.pnm"
else
cont=0
fi

done # No surprises, so far.

#convert the raw file to postscript
convert -density 150 *.pnm out.ps | zenity --progress --auto-close --title "Converting to Postscript"

#convert the postscript to pdf
ps2pdf out.ps out.pdf | zenity --progress --auto-close --title "Converting Postscript to PDF"

#remove raw scan files
rm *.pnm

#remove old ps files
rm out.ps

#beep to get attention after processing
echo -e "\a"

#add the metadata and file name.
#this meta data can be searched from Beagle in Ubuntu.

#echo "Please enter a name for the PDF file (** no .pdf on end)"
nm=`zenity --entry --text "Enter file name, (no .pdf on the end)" --title "File Name?"`

#echo "Please enter Metadata for searching"
meta=`zenity --entry --text "Meta data for searching" --entry-text=$nm --title "Meta Data for Searching"`

echo "InfoKey: Producer" > tmp
echo "InfoValue: $meta" >> tmp
echo "InfoKey: Keywords" >> tmp
echo "InfoValue: $meta" >> tmp
echo "InfoKey: Title" >> tmp
echo "InfoValue: $nm" >> tmp

#update the metadata
pdftk out.pdf update_info tmp output "$nm.pdf"

#rm metadata file and pdf
rm tmp
rm out.pdf

zenity --info --text="All done, $nm.pdf is ready!" --title "Thanks!"

--------------------

Why this blog is here

This blog is a place for me to put the interesting things I find on my never ending adventure into Linux. I should have done it ages ago, as two years in I feel like a bunch of the stuff I learnt the hard way may have beenuseful to others !

For reference, I'm using BSD and Debian, my business has 80+ computers on Debian (Damn Small Linux & Ubuntu). BSD is running our firewalls.

So here goes....