Using LaTeX for Equations

October 16, 2009 by austinmarton

In the technical reports I find myself writing these days there are usually a lot of equations and I have found LaTeX to be the best for this. I usually use the Sitmo online editor. The following post is a reference for some of the LaTeX commands I can never remember (to be appended)

  • Matricies
    example:
    LaTeXExample1Matricies
    code:

    \frac{d}{dt}
    \left( {\begin{array}{cc}
    \omega \\
    I \\
    \end{array} } \right)
    =
    \left( {\begin{array}{cc}
    -\frac{B}{J} & -\frac{K}{J} \\
    -\frac{K}{L} & -\frac{R}{L} \\
    \end{array} } \right)
    \left( {\begin{array}{cc}
    \omega \\
    I \\
    \end{array} } \right)
    +
    \left( {\begin{array}{cc}
    0 \\
    \frac{1}{L} \\
    \end{array} } \right)
    E

Linux for gumstix on Fedora 11

September 17, 2009 by austinmarton

This will be a guide to how I built gumstix on a fresh install of Fedora 11, if I ever manage to get it to work! It has been nearly 6 months since I first tried this and no more progress has been made. I don’t understand why there is such little information about gumstix is online. I am following the instructions at http://docwiki.gumstix.org/Buildroot

Install the tools needed to build
sudo yum install gcc patch bison flex gettext ncurses-devel

make menuconfig go to “Toolchain Options” and change the date of “daily snapshot of uClibc”. It was set to “20070424″, change this to “snapshot” for latest

The error I am getting is:

make -C /home/austin/gumstix/gumstix-buildroot/toolchain_build_arm_nofpu/uClibc \
PREFIX=/home/austin/gumstix/gumstix-buildroot/toolchain_build_arm_nofpu/uClibc_dev/ \
DEVEL_PREFIX=/usr/ \
RUNTIME_PREFIX=/home/austin/gumstix/gumstix-buildroot/toolchain_build_arm_nofpu/uClibc_dev/ \
HOSTCC="gcc" \
pregen install_dev && \
touch /home/austin/gumstix/gumstix-buildroot/toolchain_build_arm_nofpu/uClibc/.configured
/bin/sh: /home/austin/gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-uclibcgnueabi-gcc: No such file or directory
make[1]: /home/austin/gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-uclibcgnueabi-gcc: Command not found
make[1]: Entering directory `/home/austin/gumstix/gumstix-buildroot/toolchain_build_arm_nofpu/uClibc'
make[1]: /home/austin/gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-uclibcgnueabi-gcc: Command not found
GEN include/bits/sysnum.h
extra/scripts/gen_bits_syscall_h.sh: line 27: /home/austin/gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-uclibcgnueabi-gcc: No such file or directory
extra/scripts/gen_bits_syscall_h.sh: line 31: /home/austin/gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-uclibcgnueabi-gcc: No such file or directory
ERROR: Could not generate syscalls.
Make sure that you have proper kernel headers.
Your .config in KERNEL_HEADERS="" was set to:
/home/austin/gumstix/gumstix-buildroot/build_arm_nofpu/staging_dir/include/
make[1]: *** [include/bits/sysnum.h] Error 1
make[1]: Leaving directory `/home/austin/gumstix/gumstix-buildroot/toolchain_build_arm_nofpu/uClibc'
make: *** [/home/austin/gumstix/gumstix-buildroot/toolchain_build_arm_nofpu/uClibc/.configured] Error 2

So I will try to build gcc for “arm-linux-uclibcgnueabi”, I have downloaded gcc-4.4.1 sources and try to configure:
./configure --target=arm-linux-uclibcgnueabi
Complains I need GMP and MPFR
yum install gmp-devel.i586 mpfr-devel.i586
Now try configure again and it works! now making
make
… it may take some time.

…to be continued…

Dreamcast Display Stand

September 14, 2009 by austinmarton

The neighbours were giving it away!! I cannot understand why!

Dreamcast Display Stand

USB NES controller using a keyboard brain

September 14, 2009 by austinmarton

This is a little thing I made while procrastinating recently, it is similar to what I did with the controls on my first arcade machine – ripped a keyboard apart and wired the matrix up to switches. This time I used a USB keyboard and tried to put it all inside a NES controller. I have seen NES controllers being recycled all over the show so this isn’t really anything new, although using a generic USB keyboard means it works with Linux, Windows and Mac. I used the linux command “showkey” and a lot of trial and error to probe around and find the correct combinations to produce up down etc.

Making a Nintendo DS charger from a USB cable

June 21, 2009 by austinmarton

I have just acquired a Nintendo DS original. It didn’t come with a charger but after inspecting the charger socket on the DS it looks very similar to a USB cable, enough so to fit a modified one!

  • I salvaged the end of a USB cable which I had cut up for something else. I used a male but a female could work with a bit of modification. The USB male is slightly wider than the socket on the DS so I cut off half of the shielding using small pliers:

    DS charger plug made from USB

    00042

    00043

  • As stated on the bottom of the DS, it requires 5.2V DC. I had a recently slaughtered Sanyo phone charger which puts out 5V DC which I decided to use. One could just as easily use the 5V from a USB port.
  • The USB cable I had was already cut in half, showing the familiar Red, Green, White and Black wires. The +ve and-ve terminals are reversed on the DS – the Red wire goes to the Negative and the Black wire goes to the Positive from the phone charger in my case. I just cut the rest of the wires short.
  • This is the final product!

    00047

    00045
    As you can see from the orange LED, it’s charging my DS splendidly.

Dead iMac Hard Drive Recovery

June 18, 2009 by austinmarton

This is a tale of loss, love but in the end, happiness. My girlfriends 20″ iMac hard drive recently died, although the computer was still under warranty the hard drive could not be easily recovered by ‘MagnumMac’ and if it is replaced under warranty you don’t get to keep the old drive! The hard drive contained the last 3 years photos and Uni work. There was no choice but to pay for a replacement and keep the broken drive. (For anyone who’s iMac starts going slow for a couple of months, then started making a clicking sound, a ‘plonking’ sound and the inability to boot will follow.) These are the steps I used to recover the drive, only loosing about 20 files in 160GB. Note that this drive was VERY dead, it would still spin but would not mount, it had a hardware fault and would ‘plonk’ off if you tried to do so.

  • Put the drive into an external SATA enclosure and connect it to a computer with more free space than the entire drive capacity.
  • Hopefully the disk will mount, if not open /dev directory and try find it. For me it was rdisk3. Now create an image of the disk using dd, from the terminal type:

    dd bs=64k if=/dev/rdisk3 of=/recovered.dmg conv=noerror,sync

    The original post I found used a blocksize of 512, but this was going to take about 25 days to copy using USB, I used 64k which only took about 3 hours. You will end up with a .dmg file.

  • Get DiskWarrior , it REALLY WORKS so I would advise buying it if you have the money. To use DiskWarrior the .dmg must be mounted. As mine wouldn’t mount I had to attach it using the command:

    hdiutil mount -nomount -readwrite /recovered.dmg

  • From DiskWarrior use the “Rebuild” option on the image which will now be in the popup menu. It only takes a minute and will come up with a Report. From the report click “Preview” and it will mount your files as a drive on your desktop. BACKUP YOUR DATA and enjoy!

Websites which made this all possible:
http://www.macosxhints.com/article.php?story=20050302225659382

http://www.friday.com/bbum/2006/02/20/recovering-disk-images-with-diskwarrior/

Writing Linux Device Drivers

June 18, 2009 by austinmarton

Some links I have found useful:

(will be appended as they crop up)

Searching for a file containing some text – Linux Command Line

May 13, 2009 by austinmarton


cd /directoryToSearch
find . -type f | xargs grep -l "patternToSearchFor"

Configuring Massey University Wireless for Linux

May 7, 2009 by austinmarton

As there is no specific instruction set for Linux and I’m sure to need to set this up again, here are the steps which I use to connect to the Massey University Student wireless network. If anyone else other than me actually uses this let me know!

Open the network connections manager:
System > Preferences > Internet and Network > Network Connections

Click on the wireless tab and add a new network with the following properties:
masseywirelesslinux

The ThawteServerCA certificate can be downloaded from http://www.thawte.com/roots/. It will prompt for a name/email but you can enter a fake one as it doesn’t send anything to it.

In Firefox you will also need to do the usual:
autodetect

Theo Jansen inspired mechanical sculpture

May 3, 2009 by austinmarton

Being the “Creative Campus” Massey Wellington is, in 2nd year of my BE we had to design a moving mechanical sculpture. The machine I designed was heavily based on Theo Jansen’s large wooden creatures which walk along beaches driven by the wind. Mine is a smaller scale, but still interestingly large as seen in the video. It has a steel frame and crank handle which is turned to make it walk. The rest of the body is made in a “kit set” fashion from plywood and PVC piping fastened with split pins.