Navigation

Recent site activity

Blog

This is my personal blog.

My MakerHackerSpace

posted Oct 7, 2011 7:38 AM by Thomas Fiema   [ updated Jan 10, 2012 11:51 AM ]

I decided since I actually have tools and a garage and i like to make and hack stuff - that I am going to start my own small maker space.
There are 2 maker spaces within a large 1hr drive radius from me (Hamilton and Kitchener)
What is a maker space?  check this: http://en.wikipedia.org/wiki/Makerspace
Basically its a workshop

So this is just a post to mark the day it was started.
 
Update: Jan 10 2012
So it's winter and so cold in the garage that spending more than 10 seconds in there makes you shiver.
So since I want to use this space year round I decide to insulate (my observed insulative effect on temp in Celcius with ouside at -2 )
  1. I installed weather stripping on the perimiter of the garage door.  (+3)
  2. I installed new rollers on the garage door making it stay closer to the frame and keep a nice seal on the weather stripping. (+1)
  3. Installed Barricade floor insulation (+6)
  4. Got an insanely efficient Kerosene space heater (+15)
  5. TODO: cover 4' high concrete foundation with rigid insulating panels.
  6. TODO: cover inside of garage door with flexible insulating blanket.
  7. TODO: replace wood frame single pane fixed window with a vinyl dual pane casement.

 

nookcolor to full android tablet

posted Jun 23, 2011 2:04 PM by Thomas Fiema   [ updated Aug 3, 2011 10:54 AM ]

This is is how you turn a nookcolor to a full up to date android tablet without B&N restrictions.

  1. get a nookcolor
  2. get a 8GB micro SD card with a reader for your PC
  3. download Win32DiskImager 0.1
  4. download ClockWorkMod
    • this link is for the 8GB image, use this link to select other sizes
  5. download phiremod nook v6.2
    • I stick with 6.2 (6.3 and 7 are newer but one doesn't work with my wifi router and the other doesn't import my openvpn certs)
  6. extract the Win32DiskImager 0.1 from the zip to some place on your PC
  7. extract the tar file from the 8gb_clockwork-0.1-ext4.tar.gz (gz=gzip which is like zip) (the tar will be 8GB in size so you'll need space)
  8. extract the img from the above tar (the img will be another 8GB in size so you'll need even more space)
The process goes like this: ClockWorkMod is installed onto the SD card. The nook boots from the SD card and runs ClockWorkMod. ClockWorkMod is used to install CynogenMod which is the replacement OS.
  1. connect the SD card to your PC
  2. run Win32DiskImager0.1 and select the img file from step 8. above
  3. select the drive letter that corresponds to your SD card and let it rip (this will take a while so go get a coffee)
  4. once that's done, remove the SD card from your PC and then re-connect it.
  5. copy the phiremod zip file from step 5. to the root of the SD card
  6. turn off your nookcolor (hold the power button until it shuts down)
  7. insert the SD card into you turned off nookcolor
  8. hold the "n" button + power button until the nookcolor turns on and then turns off
  9. press and hold the power button until the nookcolor turns on (look for the screen flicker and release the power button)
It takes a moment to boot, after which you should be in the ClockWorkMod menu
    • use the volume buttons to move the selector up and down
    • use the "n" button to select
    • use the power button to go back
  1. go to to mounts and storage and format /system, /data and /cache partitions
  2. go back
  3. choose install zip from sd card and select the cynogenmod zip from the sdcard
  4. wait for it to finish
  5. remove the SD card and format it on your PC
  6. reinsert the SD card into the nook
  7. go back
  8. select the reboot option and select it again if it goes back into the clockwork menu after reboot
  9. wait for it to boot up
Done.

The Canadian Iron Curtain

posted Jun 14, 2011 7:01 AM by Thomas Fiema   [ updated Jun 14, 2011 9:16 PM ]

Canada is not like China or Iran in this regard, but living so close to the US and being exposed to marketing for all the wonderful US-only Internet services makes us Canadians kinda envious. Access permission aside, Canadian mobile Internet options are VERY expensive compared to the US. So what are we to do here in the Monopolistic CorpoSocialist Republic of Canadian Consumer Misery... What I came up for myself is a hacked NookColor android tablet with unlimited mobile internet connecting through a us proxy which gives me access to anything US-only. This is how:

a) get an unlimited internet account with Wind - current promo ~$30/mo
b) get a mobile hot-spot on wind-tab about ~$0 
        seriously checkout wind-tab it's an awesome concept.
        you pay nothing while you're with wind and the longer you stay the more they take off your tab

- so now you have this little thing that will provide you with unlimited broadband everywhere you take it. 

c) then setup an EC2 account with Amazon
b) bring up a micro instance in the us-east-1a zone (Virginia - close to Toronto) use AMI-06ad526f, (that's a ubuntu 11.04 image which worked perfectly for me)
c) install OpenVPN
d) configure OpenVPN on your Android device
e) signup for Netflix and Pandora and anything else that's US only (I know Netflix is in Canada,  but their Canadian offering is pretty lame)

The hard part is the OpenVPN config with Android
It requires certs and keys created on the OpenVPN server and packaged up as a single PKCS12 file that your android device can import.

The server side setup of OpenVPN is straight forward:

1. get the instance up and running and open tcp 1194 and tcp 22 to it from 0.0.0.0/0 
        (This should be easy to google out. i'm not getting into the EC2 stuff, just the zone and ami hints above)
2. ssh to it and run these commands in order:

    sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y openvpn

    sudo modprobe iptable_nat
    echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
    sudo iptables -t nat -A POSTROUTING -s 10.4.0.1/2 -o eth0 -j MASQUERADE

    sudo mkdir /etc/openvpn/easy-rsa/

    sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

    sudo chown -R $USER /etc/openvpn/easy-rsa/

    cd /etc/openvpn/easy-rsa/
    source vars
    ./clean-all
    ./build-dh
    ./pkitool --initca
    ./pkitool --server server
    cd keys
    openvpn --genkey --secret ta.key
    sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/

    cd /etc/openvpn/easy-rsa/
    source vars
    ./pkitool myandroid

    openssl pkcs12 -export -in /etc/openvpn/easy-rsa/keys/myandroid.crt -inkey /etc/openvpn/easy-rsa/keys/myandroid.key -certfile /etc/openvpn/easy-rsa/keys/ca.crt -name myandroidcerts -out myandroidcerts.p12 

UPDATE: (I think the above asks to create a password for the file. Make sure you create one, don't just hit enter. I couldn't import it on the android without the password being set)

    sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
    sudo gzip -d /etc/openvpn/server.conf.gz

3. edit the /etc/openvpn/server.conf file to make sure the following lines are correct, if not change them to this and leave everything else alone.
        
    port 1194
    proto tcp
    dev tun
    ca /etc/openvpn/ca.crt     cert /etc/openvpn/server.crt     key /etc/openvpn/server.key
    server 10.4.0.0 255.255.255.0

4. IMPORTANT: restart the openvpn server, and make sure it doesn't come back with a fail. If it does start EVERYTHING over.
    sudo /etc/init.d/openvpn restart
    
5. Transfer the /etc/openvpn/easy-rsa/keys/myandroidcerts.p12 file to the root of your android's SDcard
6. On the android go to settings > Location & security > Install from SD card
    The p12 file in the root of the SD card will be recognized as importable and you will be prompted for the password to it. Follow the prompts to finish the cert import.
7. On the android go to settings > Wireless & networks > VPN settings > Add VPN > Add OpenVPN VPN
    VPN name - can be anything
    Set VPN server - must be the public IP of your EC2 OpenVPN server
    User authentication - must NOT be checked
    Set CA certificate - set to the cert you imported in step 6.
    Set user certificate - also set to the cert you imported in step 6.
    DNS search domains - just leave it blank
8. tap the menu button and select Advanced
    Server port = 1194
    Protocol to use = tcp
    Device to use = tun
    LZO compression = checked/yes/true/green/set
    Redirect gateway = checked/yes/true/green/set
    Remote Sets Address = checked/yes/true/green/set
    Cipher algorithm = default
    Size of cipher = default
    Extra arguments = don't type anything here 
9. tap the back button
10. tap the menu button and select Save
11. tap your new connection entry and wait approx 10-20 seconds for the connection to establish
12. test by going to whatismyip.com, it should return your EC2 server's IP. 

    So now whatever you do on your android while connected to the VPN server, actually looks like it's done in the US. 
    The caveat is that Amazon's IP's are sometimes flagged as suspicious or get blocked for using anonymous proxy tools (hulu)

The cost of running this amazon server goes like this:

If you're gonna run this instance on a demand basis, meaning that you'll start it up whenever you need it and shut it down when you don't, then you'll be paying something like this:
    
    assumptions: zone is us-east-1a, type is micro, os is linux, 4hrs of uptime per day, and lets say you download 15 GB in the month, that's a lot of streaming for a mobile device.
    
    124hrs of micro = $2.48
    8GB of EBS space = $0.80 (not related to server usage because the server takes that much space even when it's stopped.)
    15GB xfer down = $2.10 (1st GB is free, then it's $0.15/GB)
    3GB xfer up = $0.30 ($0.10/GB - 3 GB should be enough upload bandwidth for 15GB down)

That's more or less $6/mo to be a part-time US netizen

Let's say you leave the server up full time. You now should take advantage of the reserved instance, which lowers costs a bit and allows you to use it whenever.

    You pay $58 for a year and then your server costs $5.20 per full month of uptime + monthly bandwidth usage
    That doesn't sound like an advantage but full uptime otherwise costs $14.88/month.
    That's $178.56 /year vs $120.00/year. So you save the equivalent of what you prepay.

Obviously the bandwidth used is the question, I think 15GB is a lot if you stream netflix or pandora, but If you regularly download 720p movies you will hit 200GB. 
But then you don't want to pretend to be in the US - they have the RIAA.

You can use the OpenVPN service for home browsing too. Just install Viscosity as the OpenVPN client and use the ca.crt, myandroid.crt and myandroid.key files instead of the p12 package. You should create a new set for the desktop and use those instead:

    cd /etc/openvpn/easy-rsa/
    source vars
    ./pkitool mydesktop

So that's it. My first post on this incarnation of my site. Feel free to ask questions.

    
    
    
    
    

1-3 of 3