tag:blogger.com,1999:blog-40376622024-03-13T13:00:08.259-04:00Pure Unadulterated.. Me.People say I'm crazy, but really I just have the brain of a child.... in a jar.... on my desk....gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.comBlogger238125tag:blogger.com,1999:blog-4037662.post-27741787047879750592013-12-04T20:04:00.000-05:002013-12-04T20:04:39.857-05:00Roadmap to the Universe - Part II - Control<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="orphans: 2; text-align: -webkit-auto; widows: 2;">
<div style="text-align: left;">
See Part I - <a href="http://gwyneth.blogspot.ca/2013/11/roadmap-to-universe-part-i.html">http://gwyneth.blogspot.ca/2013/11/roadmap-to-universe-part-i.html</a></div>
<h2 style="text-align: left;">
The Plan</h2>
<span style="text-align: -webkit-auto;">I picked Stellarium to control my Celestron NexStart 6SE.</span><br />
<br />
Stellarium has a plugin that lets you control a Telescope. Stellarium would send commands over the network to 'node-telescope-server' that was listening on the Raspberry Pi. The commands would be relayed to the Nexstar from the Raspberry Pi.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-0AQ2bApXOkc/Up_K0c7iLgI/AAAAAAAACKk/MUVjzKpKZPs/s1600/RoadmapToUniverse.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="398" src="http://1.bp.blogspot.com/-0AQ2bApXOkc/Up_K0c7iLgI/AAAAAAAACKk/MUVjzKpKZPs/s400/RoadmapToUniverse.png" width="400" /></a></div>
<br />
<br />
<br />
Although I'm using a Raspberry Pi, the node-telescope-server can be installed on a beagle board too. Also Stellarium is available for Mac, Windows and Linux so I'm not locked down to using my Macbook.<br />
<br />
<h2 style="text-align: left;">
Preparing the Raspberry Pi</h2>
<span style="text-align: -webkit-auto;">The Raspberry Pi is using this Raspbian OS build: 2013-09-25-wheezy-raspbian.zip. You can download it from here: <a href="http://www.raspberrypi.org/downloads">http://www.raspberrypi.org/downloads</a></span><br />
<br />
There are tons of references online on how to use the image file. I used Win32DiskImager to lay the image on a 4GB SD card.<br />
<br />
These are the configuration options I selected on the first boot of the Raspberry Pi:<br />
<br />
<ol style="text-align: left;">
<li><span style="text-align: -webkit-auto;"><b>expand_rootfs</b> – select expand_rootfs to expand the root partition to fill out the whole SD card</span></li>
<li><span style="text-align: -webkit-auto;"><b>memory_split </b>– the minimum (16mb) - I don't intend to start any intensive graphical tasks.</span></li>
<li><span style="text-align: -webkit-auto;"><b>change_pass </b>– replace the default password</span></li>
<li><span style="text-align: -webkit-auto;"><b>ssh </b>– enable the ssh server, so that I can use ssh to log in from my laptop</span></li>
<li><span style="text-align: -webkit-auto;"><b>keyboard, timezone and locale </b>- update these</span></li>
</ol>
<br />
To change these settings in the future use: <span style="font-family: Courier New, Courier, monospace;">sudo raspi-config</span><br />
<br />
Reboot. Connect ethernet.<br />
<h2 style="text-align: left;">
Installing Node</h2>
<span style="text-align: -webkit-auto;">The node-telescope-server installation kept failing. I realized that I would manually need to upgrade the nodejs version.</span><br />
<br />
<br />
<ol style="text-align: left;">
<li><span style="text-align: -webkit-auto;">Create a node directory under the /opt directory for node: </span></li>
<ul>
<li><span style="font-family: 'Courier New', Courier, monospace; text-align: -webkit-auto;">sudo mkdir /opt/node</span></li>
</ul>
<li><span style="text-align: -webkit-auto;">Download the latest version of node for raspberry pi (arm-pi): </span></li>
<ul>
<li><span style="font-family: 'Courier New', Courier, monospace; text-align: -webkit-auto;">wget http://nodejs.org/dist/v0.10.21/node-v0.10.21-linux-arm-pi.tar.gz</span></li>
</ul>
<li><span style="text-align: -webkit-auto;">Decompress file: </span></li>
<ul>
<li><span style="text-align: -webkit-auto;"><span style="font-family: Courier New, Courier, monospace;">tar xvzf node-v0.10.21-linux-arm-pi.tar.gz</span></span></li>
</ul>
<li><span style="text-align: -webkit-auto;">Copy the contents of the decompressed directory to the node directory we created earlier: </span></li>
<ul>
<li><span style="text-align: -webkit-auto;"><span style="font-family: Courier New, Courier, monospace;">sudo cp -r node-v0.10.21-linux-arm-pi/* /opt/node</span></span></li>
</ul>
<li><span style="text-align: -webkit-auto;">Create a symbolic link to both node and npm in /usr/local/bin:</span></li>
<ul>
<li><span style="text-align: -webkit-auto;"><span style="font-family: Courier New, Courier, monospace;">sudo ln -s /opt/node/bin/node /usr/local/bin/node</span></span></li>
<li><span style="text-align: -webkit-auto;"><span style="font-family: Courier New, Courier, monospace;">sudo ln -s /opt/node/bin/npm /usr/local/bin/npm</span></span></li>
</ul>
<li><span style="text-align: -webkit-auto;">Check the version of node:</span></li>
<ul>
<li><span style="text-align: -webkit-auto;"><span style="font-family: Courier New, Courier, monospace;">pi@raspberrypi ~ $ node -v</span></span></li>
<li><span style="text-align: -webkit-auto;"><span style="font-family: Courier New, Courier, monospace;">pi@raspberrypi ~ $ npm -v</span></span></li>
</ul>
</ol>
<h2 style="text-align: left;">
Installing node-telescope-server</h2>
This is the home of node-telescope-server: <a href="https://github.com/fcsonline/node-telescope-server">https://github.com/fcsonline/node-telescope-server</a><br />
<br />
Install it: <span style="font-family: Courier New, Courier, monospace;">sudo npm install node-telescope-server -g</span><br />
<a href="http://1.bp.blogspot.com/-mamRMcJOcQw/Up_OUl08dEI/AAAAAAAACKs/GoIa6niPfYU/s1600/Allview-update-1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-mamRMcJOcQw/Up_OUl08dEI/AAAAAAAACKs/GoIa6niPfYU/s320/Allview-update-1.jpg" width="184" /></a><br />
Connect your USB to RS232 Dongle to the Raspberry Pi and the handcontroller of the telescope.<br />
<br />
Now lets figure out which terminal node the USB device is connected to<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">pi@celestron ~ $ lsusb</span><br />
<span style="font-family: Courier New, Courier, monospace;">Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.</span><br />
<span style="font-family: Courier New, Courier, monospace;">Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub</span><br />
<span style="font-family: Courier New, Courier, monospace;">Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.</span><br />
<span style="font-family: Courier New, Courier, monospace;">Bus 001 Device 004: ID<b><span style="color: red;"> 0557:2008</span></b> ATEN International Co., Ltd UC-232A Serial Port [pl2303]</span><br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><span style="text-align: -webkit-auto;">pi@celestron ~ $</span>sudo modprobe usbserial vendor=<span style="color: red;"><b>0x0557 </b></span>product=<b><span style="color: red;">0x2008</span></b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b><span style="color: red;"><br /></span></b></span>
<span style="font-family: 'Courier New', Courier, monospace; text-align: -webkit-auto;">pi@celestron ~ $</span><span style="font-family: Courier New, Courier, monospace;">dmesg</span><br />
<span style="font-family: Courier New, Courier, monospace;">[ 14.191324] USB Serial support registered for pl2303</span><br />
<span style="font-family: Courier New, Courier, monospace;">[ 14.316493] pl2303 1-1.2:1.0: pl2303 converter detected</span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>[ 14.395813] usb 1-1.2: pl2303 converter now attached to <span style="color: red;">ttyUSB0</span></b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
Ok, so its connected to ttyUSB0. Lets start node-telescope-server and point it to that serial node.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">pi@celestron ~ $ nts -s stellarium -p 5000 -t nexstar -i /dev/ttyUSB0</span><br />
<span style="text-align: -webkit-auto;"><span style="font-family: Courier New, Courier, monospace;">Remote stellarium control server running at port 5000 to a nexstar telescope</span></span><br />
<br />
<h2 style="text-align: left;">
Setup Stellarium</h2>
Download and install Stellarium on your remote machine. <a href="http://www.stellarium.org/" style="text-align: -webkit-auto;">http://www.stellarium.org/</a><br />
<br />
Open Stellarium and press Ctrl+0 (Command+0) or go to the telescopes window. <span style="text-align: -webkit-auto;">Add a new telescope and choose the External software or remote computer. </span><br />
<span style="text-align: -webkit-auto;"><br /></span>
<span style="text-align: -webkit-auto;">Choose a name for your telescope, like "NodeJS-RaspberryPI". Then specify the ip assigned to the RaspberryPI and the port listening by nts instance, in my case 192.168.1.15 and 5000. Save the telescope configuration.</span><br />
<br />
The last step is to click on connect button and the status label should change to "Connected".<br />
<br />
Finally you have the Stellarium connected to your telescope!<br />
<br />
Choose the desired object and pres the Ctrl+1 to slew the scope to your target.<br />
<br />
Ta-Da!<br />
<br />
<span style="text-align: -webkit-auto;"><b>Note: </b>I keep hitting the slew limits on the Scope after a few wild slews. I have yet to investigate the settings on the scope - some day...</span><br />
<br />
<h4 style="text-align: left;">
References:</h4>
<a href="http://blog.rueedlinger.ch/2013/03/raspberry-pi-and-nodejs-basic-setup/">http://blog.rueedlinger.ch/2013/03/raspberry-pi-and-nodejs-basic-setup/</a><br />
<a href="http://doctorbin.tumblr.com/post/53991508909/how-to-install-the-latest-version-of-nodejs-npm-and">http://doctorbin.tumblr.com/post/53991508909/how-to-install-the-latest-version-of-nodejs-npm-and</a><br />
<a href="https://github.com/fcsonline/node-telescope-server">https://github.com/fcsonline/node-telescope-server</a><br />
<span style="text-align: -webkit-auto;"><a href="http://nodejs.org/dist/v0.10.21/">http://nodejs.org/dist/v0.10.21/</a></span><br />
<br /></div>
</div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-45435990729040341812013-11-20T19:13:00.000-05:002013-12-04T19:19:09.917-05:00Roadmap to the Universe - Part I<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<a href="http://1.bp.blogspot.com/-1INeCJJdj54/Up_Fgc_GB7I/AAAAAAAACKE/ktLA2fYOg74/s1600/master-CELE374.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="http://1.bp.blogspot.com/-1INeCJJdj54/Up_Fgc_GB7I/AAAAAAAACKE/ktLA2fYOg74/s200/master-CELE374.jpg" width="200" /></a>We just bought a Celestron Nexstar SE6 telescope along with the Eyepiece Kit and Power Tank. </div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
The Nexstar is a go-to scope. That means its computerized and you can use the inbuilt hand controller to tell the scope where to point to. This sounds quite cool but the interface is limited to a small LCD display with brief information. As a beginner I don't know where constellations are in the sky and I obviously haven't memorized the Messier (M) numbers. </div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
I did some digging around on how I could improve my setup. I found tons of upgrades and options. There is an insane array of gadgets you can buy for your scope and they all add up quite quickly price-wise. I realized that I would need to enter this arena carefully! I decided to use things that I have and keep costs to a minimum until I can justify a larger purchase. </div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
I laid my plan out and decided to work on it in increments. </div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
The Grand Plan is broken down into 3 phases:</div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<ol style="text-align: left;">
<li><span style="text-align: -webkit-auto;">Control - gain remote control of the scope from a laptop using Stellarium</span></li>
<li><span style="text-align: -webkit-auto;">Photography - connect a DLSR (Nikon D60) to the scope and gain remote control of it from the laptop </span></li>
<li><span style="text-align: -webkit-auto;">Video - gain remote control of a webcam from a laptop</span></li>
</ol>
</div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
And the Grand Plan..</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-2CrcBJyvp3E/Up_GDtmfhII/AAAAAAAACKU/FABYjXAkLZc/s1600/RoadmapToUniverse.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="508" src="http://2.bp.blogspot.com/-2CrcBJyvp3E/Up_GDtmfhII/AAAAAAAACKU/FABYjXAkLZc/s640/RoadmapToUniverse.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
Stay tuned for the next steps</div>
<div style="font-family: Tahoma; orphans: 2; text-align: -webkit-auto; widows: 2;">
<br /></div>
</div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-35149363671686685842013-06-20T22:52:00.001-04:002013-10-27T17:06:22.342-04:00Portable Speakers<div dir="ltr" style="text-align: left;" trbidi="on">
So I went on a Camping trip with Lendl. We wanted music but neither of us had portable speakers. I kept thinking about the old Sony MPS 60 portabl speakers that we had both bought on sale a many years ago for our Sony Walkman phones.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-uq9f2KPThAI/Um2AR2d6wPI/AAAAAAAAA8s/5Hg4qsyHK4g/s1600/mps60.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="123" src="http://1.bp.blogspot.com/-uq9f2KPThAI/Um2AR2d6wPI/AAAAAAAAA8s/5Hg4qsyHK4g/s320/mps60.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
After a little googling and some help from a colleague I now have a cool portable speaker set perfect for backpacking.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Njj6TukHMpc/UcO-0g3ggWI/AAAAAAAAAok/ebjL-bEp15A/s1600/2013-06-05_18-04-13_120.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-Njj6TukHMpc/UcO-0g3ggWI/AAAAAAAAAok/ebjL-bEp15A/s320/2013-06-05_18-04-13_120.jpg" width="180" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-UsHAUn_tAWE/UcO-1FZ4OJI/AAAAAAAAAos/RzJVxH-0Zs4/s1600/2013-06-05_18-04-27_878.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-UsHAUn_tAWE/UcO-1FZ4OJI/AAAAAAAAAos/RzJVxH-0Zs4/s320/2013-06-05_18-04-27_878.jpg" width="180" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-diLip1EFLpA/UcO-3AtacLI/AAAAAAAAAo8/27m--2z4sNk/s1600/2013-06-07_15-33-53_429.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-diLip1EFLpA/UcO-3AtacLI/AAAAAAAAAo8/27m--2z4sNk/s320/2013-06-07_15-33-53_429.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-bLuPSKIsiUg/UcO-2PyKoJI/AAAAAAAAAo0/5kLlcMaBjDU/s1600/2013-06-07_15-34-54_151.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-bLuPSKIsiUg/UcO-2PyKoJI/AAAAAAAAAo0/5kLlcMaBjDU/s320/2013-06-07_15-34-54_151.jpg" width="240" /></a></div>
<br />
The speakers have a great little amp in the connector. I connected a USB plug to power the amp. I have an old portable battery that has a USB outlet perfect for this purpose. And the audio is over a regular ole headphone jack.</div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-27523317430505501872013-06-20T22:43:00.001-04:002013-06-20T22:43:55.671-04:00Random Woodwork<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
I made the coffee table.. Drake made the mess!</div>
<div style="text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-8GxxhRg1Wb4/UcO9ZZWhkUI/AAAAAAAAAn8/7Lp8-TAE9Uk/s1600/2012-08-15_21-10-06_676.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-8GxxhRg1Wb4/UcO9ZZWhkUI/AAAAAAAAAn8/7Lp8-TAE9Uk/s320/2012-08-15_21-10-06_676.jpg" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Drake and his buddy Thor</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-g4lx5wiqzxc/UcO9bHO6x5I/AAAAAAAAAoM/bguZP3XVG4Q/s1600/2012-09-18_18-36-34_967.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-g4lx5wiqzxc/UcO9bHO6x5I/AAAAAAAAAoM/bguZP3XVG4Q/s320/2012-09-18_18-36-34_967.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Randa wanted a planter in the backyard</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-pTegeakIQw4/UcO9ankNmnI/AAAAAAAAAoE/HW3B54Hd-0c/s1600/2012-05-08_10-11-03_728.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-pTegeakIQw4/UcO9ankNmnI/AAAAAAAAAoE/HW3B54Hd-0c/s320/2012-05-08_10-11-03_728.jpg" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
Voilia!</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-6zceK_xUahU/UcO9lYDGVFI/AAAAAAAAAoU/WwValh9uyNc/s1600/WkH1rmn+-+Imgur.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://4.bp.blogspot.com/-6zceK_xUahU/UcO9lYDGVFI/AAAAAAAAAoU/WwValh9uyNc/s320/WkH1rmn+-+Imgur.jpg" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
</div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-41273795692435763962013-06-20T22:40:00.001-04:002013-06-20T22:40:21.776-04:00Ikea? Bah!..<div dir="ltr" style="text-align: left;" trbidi="on">
I've got way too many gadgets and dev boards and other crap that litters my computer table. I needed a big and long table. I couldn't find any at a thrift store and I didn't want to drop a wad of cash so I made my own.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-_LYsH18CC6I/UcO8fuJRMNI/AAAAAAAAAnM/t5dVe1veWPg/s1600/2013-03-29_14-53-26_771.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-_LYsH18CC6I/UcO8fuJRMNI/AAAAAAAAAnM/t5dVe1veWPg/s320/2013-03-29_14-53-26_771.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-OsmrRnaPmEc/UcO8gNBOe4I/AAAAAAAAAnU/ImnPNKIIaYI/s1600/2013-03-29_15-07-23_36.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-OsmrRnaPmEc/UcO8gNBOe4I/AAAAAAAAAnU/ImnPNKIIaYI/s320/2013-03-29_15-07-23_36.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-nHzTsrsk4Mk/UcO8jNNG0eI/AAAAAAAAAns/TD860EDqwO0/s1600/2013-03-29_20-00-21_165.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-nHzTsrsk4Mk/UcO8jNNG0eI/AAAAAAAAAns/TD860EDqwO0/s320/2013-03-29_20-00-21_165.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-4vOKiXQs0aY/UcO8hEg8V7I/AAAAAAAAAnc/2inN_RhnANw/s1600/2013-03-30_23-24-06_972.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-4vOKiXQs0aY/UcO8hEg8V7I/AAAAAAAAAnc/2inN_RhnANw/s320/2013-03-30_23-24-06_972.jpg" width="240" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-iB7HUkHhqlw/UcO8iu0QbSI/AAAAAAAAAnk/Hx4V126Otjc/s1600/2013-04-03_21-44-56_140.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-iB7HUkHhqlw/UcO8iu0QbSI/AAAAAAAAAnk/Hx4V126Otjc/s320/2013-04-03_21-44-56_140.jpg" width="320" /></a></div>
<br /></div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-69544377631946068672013-06-20T22:24:00.003-04:002013-06-20T22:24:52.909-04:00Meet Wilson...<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
Made this a year ago as a birthday gift for my buddy. Pallavi. She named him Wilson. He now lives on her desk at Blackberry, Mississauga.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Qagp_0rqlUE/UcO3tegSbxI/AAAAAAAAAl8/U5PSQbQhN9A/s1600/DSC_0506.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://2.bp.blogspot.com/-Qagp_0rqlUE/UcO3tegSbxI/AAAAAAAAAl8/U5PSQbQhN9A/s320/DSC_0506.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-zicpOuSBzTI/UcO3uewSxXI/AAAAAAAAAmE/safDRsrdl9Q/s1600/DSC_0508.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://4.bp.blogspot.com/-zicpOuSBzTI/UcO3uewSxXI/AAAAAAAAAmE/safDRsrdl9Q/s320/DSC_0508.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-CaYLefhW-3M/UcO3ziueOUI/AAAAAAAAAms/XUbgFA3A5So/s1600/DSC_0509.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://4.bp.blogspot.com/-CaYLefhW-3M/UcO3ziueOUI/AAAAAAAAAms/XUbgFA3A5So/s320/DSC_0509.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-AJhPwTF6CAw/UcO3vGlFzuI/AAAAAAAAAmM/taDCG6yDN1w/s1600/DSC_0511.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://2.bp.blogspot.com/-AJhPwTF6CAw/UcO3vGlFzuI/AAAAAAAAAmM/taDCG6yDN1w/s320/DSC_0511.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-5ryj0YgOwyY/UcO3wcjnwfI/AAAAAAAAAmU/xQMCbjF4_2E/s1600/DSC_0512.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://3.bp.blogspot.com/-5ryj0YgOwyY/UcO3wcjnwfI/AAAAAAAAAmU/xQMCbjF4_2E/s320/DSC_0512.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--mcE4bgXONc/UcO3ykodt0I/AAAAAAAAAmg/sJ_aEHA6AzA/s1600/DSC_0513.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://4.bp.blogspot.com/--mcE4bgXONc/UcO3ykodt0I/AAAAAAAAAmg/sJ_aEHA6AzA/s320/DSC_0513.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Fm716W7WLQU/UcO3ynKIFHI/AAAAAAAAAmc/hNm05CXJmoU/s1600/DSC_0514.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://4.bp.blogspot.com/-Fm716W7WLQU/UcO3ynKIFHI/AAAAAAAAAmc/hNm05CXJmoU/s320/DSC_0514.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-lsPHibmxRcE/UcO31jHiY0I/AAAAAAAAAm8/m1rjlIvl8Bo/s1600/DSC_0516.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://4.bp.blogspot.com/-lsPHibmxRcE/UcO31jHiY0I/AAAAAAAAAm8/m1rjlIvl8Bo/s320/DSC_0516.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/--5W4r_V9uAg/UcO30sTibUI/AAAAAAAAAm0/fLKqYRKiJYA/s1600/DSC_0566.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/--5W4r_V9uAg/UcO30sTibUI/AAAAAAAAAm0/fLKqYRKiJYA/s320/DSC_0566.JPG" width="214" /></a></div>
<br /></div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-32081081371104265962013-03-10T22:27:00.002-04:002013-03-10T22:27:21.757-04:00Convert a Router to a Switch<div dir="ltr" style="text-align: left;" trbidi="on">
I have an Asus RT-N16 running Tomato in my basement. The signal strength outside the house is quite poor.<br />
Also I do a lot of my tinkering with dev boards upstairs in my study. A lot of the dev board use ethernet and not wifi. To that end I decided to re-purpose an old Dlink WBR-1310 router as a switch and wifi range extender.<br />
<br />
It took me a few tries to get it right! On the Dlink:<br />
<br />
<ol style="text-align: left;">
<li>Disable DHCP</li>
<li>Disable UPnP</li>
<li>Disable Gaming Mode </li>
<li>Change Dlink's IP to be OUTSIDE the DHCP range of the Asus Router. This is important. My Asus router was at 192.168.100.1 and was handing out IP's from 100-129 so I set my Dlink IP to be 192.168.100.200.</li>
<li>Connect ethernet cable from Asus LAN port to Dlink LAN port. Nothing is connected to the Dlink WAN port</li>
<li>Setup Wifi with new SSID and password</li>
</ol>
<div>
<br /></div>
<br />
The DLink is not Gigabit like the Asus but that's ok since I'll be using the dlink for connecting my dev board and for browsing over a table or phone while I'm sitting outside at the pool. My NAS and HTPC are hardwired into the gigabit Asus.<br />
<br />
<br /></div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-84193481341894424232013-01-13T03:29:00.002-05:002013-01-13T03:29:58.633-05:00ZFS Health Check and Email Notification<div dir="ltr" style="text-align: left;" trbidi="on">
A simple cron script to monitor the health of a ZFS pool and email you if there are any problems. Tested on Ubuntu 12.04: (Taken from http://zfsguru.com/forum/zfsgurudevelopment/269)<br />
<pre type="code">#!/bin/bash
EMAIL_ADD=email@address.com
zpool status -x | grep 'all pools are healthy'
if [ $? -ne 0 ]; then
/bin/date > /tmp/zfs.stat
echo >> /tmp/zfs.stat
/bin/hostname >> /tmp/zfs.stat
echo >> /tmp/zfs.stat
/sbin/zpool status -x >> /tmp/zfs.stat
cat /tmp/zfs.stat | /bin/mail -s "Disk failure in server : `hostname`" $EMAIL_ADD
fi
<pre>
</pre>
</pre>
</div>
gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com2tag:blogger.com,1999:blog-4037662.post-30642681838425366052012-06-01T12:36:00.001-04:002012-06-01T12:37:13.663-04:00Subversion: enable auto-props<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
Subversion keywords are u great to auto update the headers in you code files.
<br />
<blockquote>
<a href="http://yaps.co.in/wp-content/uploads/2010/09/subversion_logo-384x332.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="172" src="http://yaps.co.in/wp-content/uploads/2010/09/subversion_logo-384x332.png" width="200" /></a>
<br />
<i>Subversion has the ability to substitute keywords—pieces of useful, dynamic information about a versioned file—into the contents of the file itself. Keywords generally provide information about the last modification made to the file. Because this information changes each time the file changes, and more importantly, just after the file changes, it is a hassle for any process except the version control system to keep the data completely up to date. Left to human authors, the information would inevitably grow stale.</i>
</blockquote>
<a href="http://svnbook.red-bean.com/en/1.7/svn.advanced.props.special.keywords.html">http://svnbook.red-bean.com/en/1.7/svn.advanced.props.special.keywords.html</a>
<br />
<h2>
How to setup Automatic property setting</h2>
In <span style="font-family: "Courier New",Courier,monospace;">~/.subversion/config</span>, un-comment the following line:<br />
<span style="font-family: "Courier New",Courier,monospace;">enable-auto-props = yes
</span><br />
<br />
And add the following to the<span style="font-family: "Courier New",Courier,monospace;"> [auto-props]</span> section:<br />
<pre>*.h = svn:keywords=Author Date Id Rev URL
*.c = svn:keywords=Author Date Id Rev URL
*.py = svn:keywords=Author Date Id Rev URL
*.java = svn:keywords=Author Date Id Rev URL
Makefile = svn:keywords=Author Date Id Rev URL
*.mk = svn:keywords=Author Date Id Rev URL
</pre>
<br />
If you are using TortiseSVN the General page of TortoiseSVN's settings dialog has an edit button to take you there directly.
</div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-72234584245371077932012-05-31T12:57:00.001-04:002012-05-31T12:57:57.565-04:00Creating Virtual Serial Ports in Ubuntu<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
</div>
<ol>
<li>Install
<pre class="wiki">sudo apt-get install socat
</pre>
</li>
<li>Create two virtual serial ports
<br />
<pre class="wiki">$ socat -d -d pty,raw,echo=0 pty,raw,echo=0
2012/05/31 12:41:56 socat[28162] N PTY is /dev/pts/6
2012/05/31 12:41:56 socat[28162] N PTY is /dev/pts/7
2012/05/31 12:41:56 socat[28162] N starting data transfer loop with FDs [3,3] and [5,5]
</pre>
</li>
</ol>
To Test, open two terminals
<br />
<ul>
<li>Terminal 1:
<pre class="wiki">cat < /dev/pts/6
</pre>
</li>
</ul>
<ul>
<li>Terminal 2
<pre class="wiki">echo "hello" > /dev/pts/7
</pre>
</li>
</ul>
You should see <tt>hello</tt> echo-ed on terminal 1
<br />
<br /></div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-267644266843042702012-05-28T12:50:00.000-04:002012-05-28T12:51:15.895-04:00Affordable Motion Control with Leap Motion<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-qOBlvxOet2g/T8OsY7XBViI/AAAAAAAAAaA/2OtsocjBGJc/s1600/the-leap.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="210" src="http://2.bp.blogspot.com/-qOBlvxOet2g/T8OsY7XBViI/AAAAAAAAAaA/2OtsocjBGJc/s400/the-leap.png" width="400" /></a></div>
Ever dreamed of setting up your own Minority Report setup and control your PC with a flicks of a finger and arms twists?! Check out Leap Motions gesture recognition device. It is available for pre-order at $70 and is expected to ship around December 2012-January 2013.<br />
<br />
From the Leap Website:
<blockquote><i>
Leap represents an entirely new way to interact with your computers. It's more accurate than a mouse, as reliable as a keyboard and more sensitive than a touchscreen. For the first time, you can control a computer in three dimensions with your natural hand and finger movements.
<br />
<br />
To learn more, pre-order, or apply for an SDK, please visit <a href="http://www.leapmotion.com/">http://www.leapmotion.com</a>.
</i></blockquote>
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/_d6KuiuteIA" width="560"></iframe>
<br/>
<br/>
<script src="http://player.ooyala.com/player.js?height=352&deepLinkEmbedCode=Z4OGF0NDo5x1ZWZDbDi3PCwlYQaGrBAj&embedCode=Z4OGF0NDo5x1ZWZDbDi3PCwlYQaGrBAj&video_pcode=A1ODY6azb9FqWlmbD6c72TU3PK_H&width=625">
</script>
</div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-45541830569673086092012-04-10T00:24:00.000-04:002012-04-10T00:24:48.651-04:00Asus P8B WS and Ubuntu 10.04<div dir="ltr" style="text-align: left;" trbidi="on">
Quick note for Ubuntu 10.04 and the Asus P8B WS. While this worked for me I decided to upgrade to Ubuntu 11.10 which has inbuilt support.<br />
<br />
Motherboard: <a href="http://ca.asus.com/en/Motherboards/Intel_Socket_1155/P8B_WS">http://ca.asus.com/en/Motherboards/Intel_Socket_1155/P8B_WS</a><br />
Chipset: <a href="http://www.intel.com/content/www/us/en/chipsets/server-chipsets/server-chipset-c202.html">http://www.intel.com/content/www/us/en/chipsets/server-chipsets/server-chipset-c202.html</a><br />
Processor: Sandy Bridge Intel XEON 1245<br />
<br />
Graphics Support:<br />
<pre class="alt2" dir="ltr" style="border: 1px inset; height: 98px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;">sudo add-apt-repository ppa:glasen/intel-driver
sudo add-apt-repository ppa:kernel-ppa/ppa
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install linux-image-generic-lts-backport-natty linux-headers-generic-lts-backport-natty</pre>
<br /></div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-71208150417520407542012-04-10T00:23:00.000-04:002012-04-10T00:23:35.294-04:00VirtualBox and Ubuntu 11.10<div dir="ltr" style="text-align: left;" trbidi="on">
So I'm switching over from VMWare Server to VirtualBox because, while it works well on Windows, I couldn't get it going on Linux.<br />
<br />
VirtualBox has little troublesome setup if you want the same features of VMWare like: web interface and auto-starting VMs. Instructions were a little hard to come by so here they are mashed together for you.<br />
<br />
<h2>
Installing Virtual Box </h2>
This is a simple one. Install the package: <br />
<div style="font-family: "Courier New",Courier,monospace;">
sudo apt-get install VirtualBox-OSE </div>
<br />
Reference: <a href="https://help.ubuntu.com/community/VirtualBox/Installation" target="_blank">https://help.ubuntu.com/community/VirtualBox/Installation </a><br />
<br />
<h2>
Installing the Headless Extension</h2>
<div style="font-family: "Courier New",Courier,monospace;">
sudo vi /etc/apt/sources.list</div>
add line:<br />
<span style="font-family: "Courier New",Courier,monospace;"># Virtual Box Headless</span><br />
<span style="font-family: "Courier New",Courier,monospace;">deb http://download.virtualbox.org/virtualbox/debian oneiric contrib</span><br />
<br />
<br />
Download Public Key:<br />
<span style="font-family: "Courier New",Courier,monospace;">wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -</span><br />
<br />
Update and Install<br />
<div class="command" style="font-family: "Courier New",Courier,monospace;">
sudo apt-get update</div>
<div class="command" style="font-family: "Courier New",Courier,monospace;">
sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.1 dkms</div>
<br />
Download Extension Pack from: <a href="http://www.virtualbox.org/wiki/Downloads" target="_blank">http://www.virtualbox.org/wiki/Downloads</a><br />
Install (Change Pack version to match your downloaded version)<br />
<div style="font-family: "Courier New",Courier,monospace;">
cd ~/Downloads #your download location for the extension pack</div>
<div style="font-family: "Courier New",Courier,monospace;">
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.12-77245.vbox-extpack</div>
<br />
<br />
Create new user that will run Virtualbox and add user to vboxusers group.<br />
<div style="font-family: "Courier New",Courier,monospace;">
sudo adduser virtualbox vboxusers</div>
<span style="font-family: "Courier New",Courier,monospace;">sudo adduser virtualbox </span><br />
<br />
Reference: <a href="http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-11.10-server">http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-11.10-server</a><br />
<br />
<br />
<h2>
Installing Web Interface</h2>
<br />
For the web interface you need a web server that supports PHP5. You should already have the heavy Apache2 web server installed, if not install it<br />
<div style="font-family: "Courier New",Courier,monospace;">
sudo apt-get install apache2</div>
<br />
Add on the PHP5 support and restart Apache2<br />
<div style="font-family: "Courier New",Courier,monospace;">
sudo apt-get install php5</div>
<div style="font-family: "Courier New",Courier,monospace;">
sudo apt-get install libapache2-mod-php5</div>
<div style="font-family: "Courier New",Courier,monospace;">
sudo /etc/init.d/apache2 restart</div>
<br />
Download phpvirtualbox from <a href="http://code.google.com/p/phpvirtualbox/downloads/list">http://code.google.com/p/phpvirtualbox/downloads/list</a><br />
<br />
Extract phpvirtualbox to your web hosting location<br />
<div style="font-family: "Courier New",Courier,monospace;">
cd ~/Downloads #your download location for phpvirtualbox</div>
<div style="font-family: "Courier New",Courier,monospace;">
mkdir /var/www/phpvirtualbox<br />
unzip phpvirtualbox-4.1-7.zip /var/www/phpvirtualbox/</div>
<br />
Rename config.php-example to config.php<br />
<span style="font-family: "Courier New",Courier,monospace;">mv /var/www/phpvirtualbox/config.php-example /var/www/phpvirtualbox/config.php</span><br />
<br />
Edit the config file<br />
<div style="font-family: "Courier New",Courier,monospace;">
nano /var/www/phpvirtualbox/config.php</div>
<br />
Enter the credentials for the virtualbox user you created to run the vboxweb-service earlier.<br />
<span style="font-family: "Courier New",Courier,monospace;">var $username = ‘virtualbox’;</span><br />
<span style="font-family: "Courier New",Courier,monospace;">
var $password = ‘plain-text-password’;</span><br />
<div style="font-family: "Courier New",Courier,monospace;">
<br /></div>
Edit the vboxweb-service<span style="font-family: "Courier New",Courier,monospace;"> </span><br />
<span style="font-family: "Courier New",Courier,monospace;">nano /etc/default/virtualbox</span><br />
<br />
<br />
Enter the username you for the same user account you created to run the vboxweb-service.<br />
<span style="font-family: "Courier New",Courier,monospace;">VBOXWEB_USER=virtualbox</span><br />
<br />
Start the vboxweb-service<br />
<span style="font-family: "Courier New",Courier,monospace;">
/etc/init.d/vboxweb-service start</span> <br />
<br />
Now navigate to the web interface<br />
<a href="http://localhost/phpvirtualbox">http://localhost/phpvirtualbox</a><br />
<br />
Login
with the default credentials:<br />
<div style="font-family: "Courier New",Courier,monospace;">
username:admin</div>
<div style="font-family: "Courier New",Courier,monospace;">
password:admin</div>
<br />
Change your password by clicking <i>File > Change Password</i> in the web interface<br />
<br />
References:<br />
<a href="http://thestorey.ca/wordpress/?p=24">http://thestorey.ca/wordpress/?p=24</a><br />
<a href="http://ethertubes.com/virtualbox-4-1-phpvirtualbox-on-ubuntu-10-04-lts-server/">http://ethertubes.com/virtualbox-4-1-phpvirtualbox-on-ubuntu-10-04-lts-server/</a><br />
<br />
<h2>
Installing VM Auto-Start</h2>
<br />
Download VBoxTool from: <a href="http://sourceforge.net/projects/vboxtool/files/">http://sourceforge.net/projects/vboxtool/files/</a><br />
<br />
Unzip VBoxTool to a new folder vboxtool <br />
<div style="font-family: "Courier New",Courier,monospace;">
cd ~/Downloads #your download location for vboxtool</div>
<div style="font-family: "Courier New",Courier,monospace;">
unzip vboxtool-0.4.zip -d vboxtool</div>
<br />
If the version has changed from 0.4 then refer to the <span style="font-family: "Courier New",Courier,monospace;">readme.txt</span> for the location of the file. The steps below follow the instructions in the 0.4 <span style="font-family: "Courier New",Courier,monospace;">readme.txt</span><br />
<br />
<div style="font-family: "Courier New",Courier,monospace;">
<br /></div>
<div style="font-family: "Courier New",Courier,monospace;">
cd vboxtool/script </div>
<div style="font-family: "Courier New",Courier,monospace;">
sudo cp vboxtool /usr/local/bin/<br />
sudo chmod +x /usr/local/bin/vboxtool</div>
<div style="font-family: "Courier New",Courier,monospace;">
sudo cp vboxtoolinit /etc/init.d/<br />
sudo chmod +x /etc/init.d/vboxtoolinit <br />
sudo update-rc.d vboxtoolinit defaults 99 10</div>
<div style="font-family: "Courier New",Courier,monospace;">
sudo mkdir /etc/vboxtool</div>
<br />
Create empty config files <br />
<span style="font-family: "Courier New",Courier,monospace;">sudo touch /etc/vboxtool/machines.conf</span><br />
<span style="font-family: "Courier New",Courier,monospace;">sudo touch /etc/vboxtool/vboxtool.conf</span><br />
<br />
Now you can add your VM(s) to the list of VM(s) to start up by
editing the <span style="font-family: "Courier New",Courier,monospace;">/etc/vboxtool/machines.conf</span> file.<br />
<br />
For Example, to start a VM named tristan and override its VRDP port add the following line to<span style="font-family: "Courier New",Courier,monospace;"> machines.conf</span><br />
<blockquote style="font-family: "Courier New",Courier,monospace;">
tristan,3390,,</blockquote>
To start the VM type:<br />
<div class="codecolorer-container text default" style="overflow: auto; white-space: nowrap; width: 435px;">
<div class="text codecolorer" style="font-family: "Courier New",Courier,monospace;">
vboxtool start "tristan"</div>
<div class="text codecolorer">
</div>
</div>
To start all configured VMs:<br />
<div class="codecolorer-container text default" style="overflow: auto; white-space: nowrap; width: 435px;">
<div class="text codecolorer" style="font-family: "Courier New",Courier,monospace;">
vboxtool autostart</div>
<div class="text codecolorer" style="font-family: "Courier New",Courier,monospace;">
</div>
</div>
Reference:<br />
<a href="http://vboxtool.sourceforge.net/">http://vboxtool.sourceforge.net/</a> <br />
<a href="http://automation.binarysage.net/?p=925">http://automation.binarysage.net/?p=925</a><br />
<br /></div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-72610111191731973602012-04-06T01:29:00.000-04:002012-04-06T03:41:45.607-04:00Windows NFS Mount<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.aspsys.com/userfiles/image/purchased/iStock_000004071470XSmall.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://www.aspsys.com/userfiles/image/purchased/iStock_000004071470XSmall.jpg" width="213" /></a></div>
For many Samba is the first thing that comes to mind when thinking of sharing data between a Windows and Linux machine. However Samba doesn't perform well. It seems to be because of the underlying protocol and not its implementation.<br />
<br />
What's the alternative? NFS. A quick and dirty way to share files.Apparently Windows 7 finally has support for NFS with the '<i>Services for NFS</i>' that you can install from <span style="font-family: "Courier New",Courier,monospace;">Program and Features > Turn Windows Features on or off</span>. But, that did seem to work well for me.<br />
Here are the instructions if you would like to give that a shot: <a href="http://blogs.msdn.com/b/sfu/archive/2007/04/11/set-up-server-for-nfs-in-windows-server-2003-r2.aspx">http://blogs.msdn.com/b/sfu/archive/2007/04/11/set-up-server-for-nfs-in-windows-server-2003-r2.aspx</a><br />
<br />
I picked the Cygwin route. The installation was painless - once I uninstalled the Win7 NFS applications that didn't work from the earlier step!<br />
Here are the instructions: <a href="http://www.csparks.com/CygwinNFS/index.xhtml%20" target="_blank">http://www.csparks.com/CygwinNFS/index.xhtml </a><br />
or the quick notes (once you've installed nfs for Cygwin):<br />
<ul style="text-align: left;">
<li>In a Cygwin Terminatl Run : <span style="font-family: "Courier New",Courier,monospace;">/usr/bin/nfs-server-config</span></li>
</ul>
<pre> ...
Do you want to continue? (yes/no) yes
...
Do you want to run nfsd under a separate user account? (yes/no) no
</pre>
<ul style="text-align: left;">
<li>Open /etc/exports and add line: <span style="font-family: "Courier New",Courier,monospace;">/opt/imb/fw/ (ro,all_squash)</span></li>
</ul>
<ul style="text-align: left;">
<li>Check listing (from remote machine <span style="font-family: "Courier New",Courier,monospace;">showmount -e 192.168.202.199</span>) </li>
<li>Dont forget to open your Windows Firewall ports to allow connections through! </li>
</ul>
<br />
Finally, here are the instructions to setup NFS on Ubuntu: <a href="https://help.ubuntu.com/community/SettingUpNFSHowTo">https://help.ubuntu.com/community/SettingUpNFSHowTo</a></div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-16911065885116247522012-03-10T02:58:00.000-05:002012-04-06T05:25:36.306-04:00Ultimate Maintenance Free PVR<div dir="ltr" style="text-align: left;" trbidi="on">
Flippety Awesome!! <a href="http://producerism.com/blog/building-the-perfect-htpc-media-server/" target="_blank">The ultimate PVR Recipe..</a><br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://readynasxtras.com/images/couchpotato.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://readynasxtras.com/images/couchpotato.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.readynas.com/wp-content/uploads/2011/12/couchpotato_110x110.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<h2>
Ingredients</h2>
Plex: <a href="http://www.plexapp.com/">http://www.plexapp.com/</a><br />
+ SABnzbd <a href="http://sabnzbd.org/">http://sabnzbd.org/</a><br />
+ CouchPotato: <a href="http://couchpota.to/">http://couchpota.to/</a><br />
+ Sick Beard: <a href="http://sickbeard.com/">http://sickbeard.com/</a><br />
+ a dash of usenet<br />
<br />
Tutorials for Ubuntu:<br />
SABnzbd: <a href="http://www.ainer.org/sabnzbd-install-setup-configuration-guide-for-ubuntu-linux-mint%20" target="_blank">http://www.ainer.org/sabnzbd-install-setup-configuration-guide-for-ubuntu-linux-mint </a><br />
Sick Beard: <a href="http://www.ainer.org/sick-beard-install-setup-configuration-guide-for-ubuntu-linux-mint">http://www.ainer.org/sick-beard-install-setup-configuration-guide-for-ubuntu-linux-mint</a><br />
CouchPotato: <a href="http://www.ainer.org/couch-potato-install-setup-configuration-guide-for-ubuntu-linux-mint">http://www.ainer.org/couch-potato-install-setup-configuration-guide-for-ubuntu-linux-mint</a><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<h2>
On the Go</h2>
NSB Unity: <a href="https://play.google.com/store/apps/details?id=com.phonegap.nzbunity">https://play.google.com/store/apps/details?id=com.phonegap.nzbunity</a> <br />
Plex for Android: <a href="https://play.google.com/store/apps/details?id=com.plexapp.android">https://play.google.com/store/apps/details?id=com.plexapp.android</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.plexapp.com/images/zoom/spacer.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.plexapp.com/images/zoom/spacer.gif" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.plexapp.com/images/imgPlexMenuHome.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="179" src="http://www.plexapp.com/images/imgPlexMenuHome.jpg" width="320" /></a></div>
<br />
<h2>
Next up </h2>
<br />
Headphones: <a href="https://github.com/rembo10/headphones">https://github.com/rembo10/headphones</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.readynas.com/wp-content/uploads/2011/12/headphones_110x110.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.readynas.com/wp-content/uploads/2011/12/headphones_110x110.jpg" /></a></div>
</div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-10399362233205059672012-03-09T22:43:00.001-05:002012-03-09T22:44:06.193-05:00Run a Webserver on TomatoUSB<div dir="ltr" style="text-align: left;" trbidi="on">
If you want to run your own little server on TomatoUSB, try this.<br />
<br />
You'll need optware installed first. Follow instructions here: <a href="http://gwyneth.blogspot.com/2012/03/installing-optware-on-tomatousb.html">http://gwyneth.blogspot.com/2012/03/installing-optware-on-tomatousb.html</a><br />
<br />
Install thttp:
<br />
<pre code="shell">ipkg install thttpd
</pre>
<br />
Create config file:
<br />
<pre code="shell">vi /opt/etc/thttpd.conf
</pre>
<br />
Add contents. This will run a server on port 4444 with the server root pointed to<span style="font-family: "Courier New",Courier,monospace;"> /opt/share/www</span>:
<br />
<pre code="shell">dir=/opt/share/www
port=4444
user=nobody
nochroot
nosymlink
novhost
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
</pre>
<br />
Start service:
<br />
<pre code="shell">thttpd -C /opt/etc/thttpd.conf
</pre>
<br /></div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com1tag:blogger.com,1999:blog-4037662.post-55564657428366899932012-03-06T00:23:00.002-05:002012-03-06T00:23:17.390-05:00TomatoUSB: Access Windows Share<div dir="ltr" style="text-align: left;" trbidi="on">
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://images1.wikia.nocookie.net/__cb20100622225335/infodepot/images/thumb/1/15/Asus_RT-N16e.JPG/830px-Asus_RT-N16e.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="180" src="http://images1.wikia.nocookie.net/__cb20100622225335/infodepot/images/thumb/1/15/Asus_RT-N16e.JPG/830px-Asus_RT-N16e.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Asus RT N16 [<a href="http://infodepot.wikia.com/wiki/Asus_RT-N16" target="_blank">1</a>]</td></tr>
</tbody></table>
So far it's great. I've setup TomatoUSB and Transmission.
Now my little dilemma is that I am using a 4Gb usb stick and I need a larger storage for the downloads.
My main PC has Windows and I don't want to use samba to share.<br />
<br />
The simple solution is to use Administration > CIFS Client.<br />
<br />
Ensure your UNC name is pointed to the share and not its sub-directory.<br />
Enter the username and password for the share and save it.<br />
<br />
If you have trouble mounting the share, enable debugging and manually try to mount the share:
<br />
<pre>modprobe cifs
echo 7 > /proc/fs/cifs/cifsFYI
mount -t cifs \\\\192.168.1.7\\d\\Downloads /cifs1 -o user=myusername,pass=secret
</pre>
<br />
<br /></div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com1tag:blogger.com,1999:blog-4037662.post-77708322685012048642012-03-05T23:15:00.000-05:002012-03-06T00:20:55.259-05:00Transmission for TomatoUSB<div dir="ltr" style="text-align: left;" trbidi="on">
These instructions are assuming you first followed <a href="http://gwyneth.blogspot.com/2012/03/installing-optware-on-tomatousb.html#links">http://gwyneth.blogspot.com/2012/03/installing-optware-on-tomatousb.html#links</a><br />
<br />
Install Transmission:
<br />
<pre>ipkg -verbose_wget install transmission</pre>
<br />
Start Transmission. Specify location for config file.
<br />
<pre>/transmission-daemon -g /mnt/data/torrents/.config/transmission-daemon</pre>
<br />
This will create all the default configs that Transmission needs.<br />
<br />
Check that it is running:
<a href="http://192.168.1.1:9091/transmission/web/">http://192.168.1.1:9091/transmission/web/</a><br />
<br />
Terminate Transmission
<br />
<pre>killall transmission-daemon</pre>
<br />
Create settings file with contents from online sample
<br />
<pre>wget http://www.3iii.dk/linux/optware/settings.json -O /mnt/data/torrents/.config/transmission-daemon/settings.json</pre>
<br />
Start Transmission with these new settings
<br />
<pre>/transmission-daemon -g /mnt/data/torrents/.config/transmission-daemon</pre>
<br />
Add the following to USB Support page > 'Run after mounting' to start transmission after usb mount.
<br />
<pre>if [ -d /mnt/Optware ]; then
mount -o bind /mnt/Optware /opt
<b style="color: #990000;">transmission-daemon -g /opt/share/transmission/config</b>
fi</pre>
<pre> </pre>
<pre></pre>
<pre><u><i>References</i></u></pre>
<pre><a href="http://airfart.blogspot.com/2010/11/how-to-install-transmission-optware-on.html">http://airfart.blogspot.com/2010/11/how-to-install-transmission-optware-on.html</a></pre>
<pre><a href="http://www.xtremecoders.org/forums/f76/guide-how-install-setup-transmission-tomato-56/">http://www.xtremecoders.org/forums/f76/guide-how-install-setup-transmission-tomato-56/</a></pre>
</div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-41957187794969055552012-03-04T16:54:00.000-05:002012-04-01T23:36:46.657-04:00Installing Optware on TomatoUSB<div dir="ltr" style="text-align: left;" trbidi="on">
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://images.wikia.com/infodepot/images/f/fb/Asus_RT-N16_v1.0_FCCc.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="239" src="http://images.wikia.com/infodepot/images/f/fb/Asus_RT-N16_v1.0_FCCc.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Asus RT N16 - [<a href="http://infodepot.wikia.com/wiki/Asus_RT-N16" target="_blank">0</a>]</td></tr>
</tbody></table>
<br />
For my setup I have an Asus RT N16 with Toastmans TomatoUSB build. My USB flash drive is 4GB.<br />
Despite the popularity of this topic it was hard to find complete instructions for installation on a USB flash drive.<br />
<br />
Following are the steps I took:<br />
<h2>
Unmount disk, if mounted</h2>
Open Tomato menu. On the USB Support page, be sure to check Core USB Support, USB 2.0 Support, USB Storage Support, Ext2/Ext3, and Automount. Save this. Your disk should appear lower on the page under Attached Devices. On the right hand side, if it is Mounted, click Unmount.
- [<a href="http://airfart.blogspot.com/2010/10/how-to-prepare-usb-disk-for-optware.html" target="_blank">1</a>]
<br />
<h2>
Create Partitions</h2>
SSH into the router using PuTTY to 192.168.1.1<br />
Use fdisk to create the partitions. In the following lines, # and after are comments. is the enter key. - [<a href="http://airfart.blogspot.com/2010/10/how-to-prepare-usb-disk-for-optware.html" target="_blank">2</a>]
<br />
<br />
<pre>fdisk /dev/sda # adjust for disk if necessary.
p # to see existing partitions
d # to delete partition if any
n # new partition
p # primary partition
1 # a one for partition 1 for Optware
# start at default 1 block
+512M # size of Optware partition in MB; can be larger
p # check partition
n # new swap
p # primary
2 # partition 2 Swap
# start at default block
+64M # size of Swap in MB; can be larger
t # set type of Swap partition
2 # partition 2 is Swap
82 # swap type
p # check partitions
n # new Data for remaining
p # primary
3 # partition 3 Data
# default start block
# default remaining blocks
p # check partitions
w # write it all out and exit
</pre>
<br />
At the end, if you see a:
<span style="font-family: "Courier New",Courier,monospace;">fdisk: WARNING: rereading partition table failed, kernel still uses old table: Invalid argument</span>
ensure you are starting fdisk with using<span style="font-family: "Courier New",Courier,monospace;"> fdisk /dev/sda</span> and not<span style="font-family: "Courier New",Courier,monospace;"> fdisk /dev/sda1</span>!
<br />
<h2>
Format Partitions</h2>
Since I'm using a USB stick and not a USB harddrive I picked ext2 for my filesystem. ext3 is journaled and will wear out a USB flash in no time.
<br />
<blockquote>
ext2 is still recommended over journaling file systems on bootable USB flash drives and other solid-state drives. ext2 performs fewer writes than ext3 since it does not need to write to the journal. As the major aging factor of a flash chip is the number of erase cycles, and as those happen frequently on writes, this increases the life span of the solid-state device. Another good practice for filesystems on flash devices is the use of the noatime mount option, for the same reason. - [<a href="http://en.wikipedia.org/wiki/Ext2" target="_blank">3</a>] </blockquote>
#-L sets the labels of the partitions<br />
<div style="font-family: "Courier New",Courier,monospace;">
mkfs.ext2 -L optware /dev/sda1 </div>
<div style="font-family: "Courier New",Courier,monospace;">
mkswap -L swap /dev/sda2 </div>
<div style="font-family: "Courier New",Courier,monospace;">
mkfs.ext2 -L data /dev/sda3
</div>
<h2>
Automount to /opt</h2>
In the USB support page hit refresh and click mount to mount the partitions.<br />
To automatically mount the partition named "optware" in /opt paste this in the 'Run after mounting' box<br />
<div style="font-family: "Courier New",Courier,monospace;">
if [ -d /mnt/optware ]; then </div>
<div style="font-family: "Courier New",Courier,monospace;">
mount -o bind /mnt/optware /opt</div>
<div style="font-family: "Courier New",Courier,monospace;">
fi </div>
On reboot this should take effect. For now, in PuTTY, type:<br />
<span style="font-family: "Courier New",Courier,monospace;">mount -o bind /mnt/optware /opt </span><br />
<span style="font-family: "Courier New",Courier,monospace;">mount</span><br />
you should see this:<br />
<div style="font-family: "Courier New",Courier,monospace;">
/dev/sda1 on /opt type ext2 (rw,nodev,noatime) </div>
<br />
Great! You're all set to install optware.<br />
<br />
<h2>
Install optware</h2>
Download the installation script and run it -[<a href="http://tomatousb.org/tut:optware-installation%20" target="_blank">4</a>]<br />
<pre>wget http://tomatousb.org/local--files/tut:optware-installation/optware-install.sh -O - | tr -d '\r' > /tmp/optware-install.sh
chmod +x /tmp/optware-install.sh
sh /tmp/optware-install.sh
</pre>
<br />
<h2>
Automatic package updater </h2>
To allow optware to update its package list once a day do the following:
Go to Administration » Scheduler and add the following line to the "Command" field of Custom 1, 2, or 3 (just use one that's available). Select the desired frequency (once a day is usually sufficient) -[<a href="http://tomatousb.org/tut:optware-installation%20" target="_blank">5</a>] <br />
<div style="font-family: "Courier New",Courier,monospace;">
ipkg update | logger -t Optware </div>
This will run the update and log the output
<br />
<h2>
Race-Contition Workaround</h2>
Details on the race-condition are here under '<a href="http://tomatousb.org/tut:optware-installation%20" target="_blank">How optware integrates with TomatoUSB</a>'<br />
To ensure that optware's firewall and wan scripts are run even if a race-condition occurs:<br />
Create a new file <span style="font-family: "Courier New",Courier,monospace;">/opt/.autorun</span> with the following contents -[<a href="http://tomatousb.org/tut:optware-installation%20" target="_blank">6</a>]:<br />
<pre>#!/bin/sh
if [ -f /var/notice/wan ]; then
for s in /opt/etc/config/*.wanup; do $s; done
for s in /opt/etc/config/*.fire; do $s; done
fi
</pre>
<br />
Make the file executable:
<span style="font-family: "Courier New",Courier,monospace;">chmod +x /opt/.autorun</span><br />
<br />
Awesome! optware is installed!
<br />
<h2>
Using Optware</h2>
List all installed packages:<br />
<pre>ipkg list_installed</pre>
<br />
List all available packages:<br />
<pre>ipkg list</pre>
<br />
Find a package: (eg find package 'transmission')<br />
<pre>ipkg list | grep transmission</pre>
<br />
Install a package (eg install 'transmission')<br />
<pre>ipkg install transmission</pre>
<br />
Remove a package (eg remove 'transmission')<br />
<pre>ipkg remove transmission</pre>
<br />
More options:<br />
<pre>ipkg --help</pre>
<br />
<u><i><b>References: </b></i></u><br />
http://airfart.blogspot.com/2010/10/how-to-prepare-usb-disk-for-optware.html<br />
http://tomatousb.org/tut:optware-installation<br />
http://www.webos-internals.org/wiki/Optware
</div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com6tag:blogger.com,1999:blog-4037662.post-78304264327059082612012-03-02T16:52:00.000-05:002012-03-04T16:54:26.228-05:00Klaros Test Management<div dir="ltr" style="text-align: left;" trbidi="on">
What do you use for your Test Case management? Excel? Word? Paper?! While most software companies have bug tracking systems, most have poor or no test case management systems. They have no easy way to record the tests run and report the results. <br />
<br />
After some digging, I found a free software (commercial use as well) that seems to do a good job managing tests and test cases. http://www.klaros-testmanagement.com/<br />
<br />
<div class="MsoNormal">
Tests can be broken down into projects, environments,
systems and test suites. Each test case can be broken down into steps.When executing manual tests it guides the tester
through the steps of the test case and allows the tester to pass/fail each
step.<br />
<br />
Klaros allows integration with popular bug tracking systems like JIRA, Mantis, Trac, Bugzilla, etc <br />
</div>
<span style="font-family: "Calibri","sans-serif"; font-size: 11pt;"></span><br />
The default installation uses Apache Derby as the database backend. It's easy to switch Klaros to use MySQL (or another DB of your choice) instead. <br />
<br />
The enterprise (paid) version has nicer reports but the free version is a little poor on useful reports. However, you can always tap into the database backend and write some scripts to roll your own reports. The database is complex but if you use MySQL Workbench to generate a nice ER diagram you can work your way through the rabbit hole and figure out the relationships<br />
<br />
<br />
<i><u>Installation Notes:</u></i><br />
<br />
For my evaluation of the software I used the full Ubuntu-10.04x64 Server on a Virtual Machine.
I ran most of the setup through an SSH terminal but the Klaros setup was run from within the VM's GUI console to the Ubuntu GUI.
In case anyone is out there struggling like I was here are the steps I took to install Klaros:<br />
<br />
<b>1. Download setup</b>
<br />
<pre class="shell" name="code">wget http://www.klaros-testmanagement.com/files/Klaros-Setup.jar
</pre>
<br />
<b>2. Install Java</b>
<br />
<pre class="shell" name="code">sudo add-apt-repository ppa:sun-java-community-team/sun-java6
sudo apt-get update
sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk
</pre>
<br />
Check Version
<br />
<pre class="shell" name="code">java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)
</pre>
<br />
<b>3. Install Klaros</b><br />
I ran this from within the Ubuntu GUI terminal.
<br />
<pre class="shell" name="code">java -jar Klaros-Setup.jar</pre>
<br />
Follow instructions here: <a href="http://www.klaros-testmanagement.com/files/doc/html/User-Manual.Installation.InstallationProcess.html">http://www.klaros-testmanagement.com/files/doc/html/User-Manual.Installation.InstallationProcess.html</a><br />
<b> </b><br />
<b>4. Stop Klaros, if you selected to start it.</b>
<br />
<pre class="shell" name="code">/path_to_klaros/bin/catalina.sh stop</pre>
<br />
<b>5. (Reccomended-Optional) Switch Klaros Database</b><br />
<i>*pick a real password please!</i> <br />
<br />
Install MySql:
<br />
<pre class="shell" name="code">sudo apt-get install mysql-server mysql-client
mysqladmin create klaros or mysqladmin create -uroot -proot<your_password> klaros
</your_password></pre>
<br />
Switch Klaros Database:
<br />
<pre class="shell" name="code">vi ~.klaros/hibernate.properties</pre>
<br />
Replace file contents with (replace mysql credentials with yours)
<br />
<pre class="shell" name="code">hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/klaros
hibernate.connection.username=root
hibernate.connection.password=root
</pre>
<br />
<b>7. Start Klaros</b>
<br />
<pre class="shell" name="code">/path_to_klaros/bin/catalina.sh start</pre>
You can use --help for more options<b> </b><br />
<b> </b><br />
<b>8. Test in browser</b>
Navigate to: <a href="http://localhost:18080/klaros-web/">http://localhost:18080/klaros-web/</a>
<b> </b><br />
<br />
<b>9. Check if Klaros has populated mysql </b>
If you switched the database in step 5
<br />
<pre class="shell" name="code">mysql klaros -uroot -p</pre>
<pre class="shell" name="code">... </pre>
<pre class="shell" name="code">mysql> show tables </pre>
<br />
<b>10. Setup email</b><br />
To allow Klaros to send out emails I installed postfix as my mailserver. You can find installation guides online. One snag I hit is the fully qualified hostname is in your hosts file before localhost<br />
<br />
<pre class="shell" name="code">user@ubuntu:~$ cat /etc/hosts
127.0.0.1 klaros.myserver.com localhost
127.0.1.1 ubuntu
</pre>
<br />
<br />
<br />
Thats It! </div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-6300427609820120702012-01-19T17:35:00.001-05:002012-03-04T16:54:46.504-05:00What is the install locations for apps on the Android?<div dir="ltr" style="text-align: left;" trbidi="on">
Location of pre-installed applications:<br /><span style="font-family: "Courier New",Courier,monospace;">/system/app</span><br />
<br />
<span style="color: red;">** you need root access to get to the directories below **</span><br />
Location of user installed application .apks (installer file):<br /><span style="font-family: "Courier New",Courier,monospace;">/data/app</span><br /><br />Location of user installed apps:<br /><span style="font-family: "Courier New",Courier,monospace;">/data/data</span><br /><br /><br /></div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-82448455557769676582011-11-30T16:23:00.001-05:002011-11-30T16:27:18.399-05:00Signal Strength of Wireless Clients<div dir="ltr" style="text-align: left;" trbidi="on">
Scanning RSSI for access points is easy and there are a million apps for that!. Scanning the signal strength of the clients stumped me for a while till someone pointed me to a linux tool called <a href="http://linuxwireless.org/en/users/Documentation/iw" target="_blank">iw</a>.<br />
<br />
On your router try:
<code>iw dev wlan0 station dump</code> (wlan0 is your interface name)<br />
<br />
Sample output:<br />
<code></code><br />
<pre><code>Station 00:c0:02:3d:bd:9f (on wlan0)
inactive time: 50 ms
rx bytes: 117633826
rx packets: 94924
tx bytes: 4450552
tx packets: 61371
tx retries: 2050
tx failed: 7
signal: -34 [-36, -40] dBm
signal avg: -33 [-35, -39] dBm
tx bitrate: 54.0 MBit/s
rx bitrate: 36.0 MBit/s
</code></pre>
</div>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-31562830957795092432011-10-05T10:42:00.001-04:002012-03-04T16:54:46.501-05:00Android SDK Java Source JarsThe easiest way to download the source jars for the Android SDK.
<br>
<a href="http://grepcode.com/snapshot/repository.grepcode.com/java/ext/com.google.android/android/2.3.3_r1/">GrepCode > com.google.android/android > 2.3.3_r1</a>
<br>
Click the down arrow on the page to find SKD Versions:
<ul><li>2.3.4_r1</li><li>2.3.3_r1</li><li>2.3.1_r1</li><li>2.3_r1</li><li>2.2.1_r1</li><li>2.2_r1.1</li><li>2.1_r2</li><li>2.0_r1</li><li>1.6_r2</li><li>1.5_r4</li></ul>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-69660352853352427962011-07-14T10:21:00.005-04:002011-07-14T10:24:25.464-04:00A Visual Explanation of SQL JoinsSQL join always drive me crazy. INNER, OUTER, LEFT, RIGHT, CROSS, FULL!!
<br>Here's a nice visual representation of the joins.
<br><br>
<a href="http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html">http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html</a>gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0tag:blogger.com,1999:blog-4037662.post-90137241110375759312011-05-04T23:24:00.003-04:002011-05-04T23:34:13.104-04:00SVN Keywords: Automating the Modification History HeaderRemember the days of manually editing the modification log in the header comment of your source? If you have SVN you can leverage SVN Keywords to automate inserting the log information. This way you never forget and each checkin has a revision number in the file!
<br>
<b>Here's How:</b>
<ul>
<li>In the source file header comments type:
<pre name="code" class="c">
/*
This is inside a Comment Block.
$Author$
$Date$
$Rev$
*/
</pre>
</li><li>Select source files
</li><li>Right Click > Tortise SVN > Properties
</li><li>Select New
</li><li>For <b>Property Name</b> select <i>svn:keywords</i> from drop down list
</li><li>For <b>Property Value</b> paste: <code>Author Date Rev Id</code>
</li><li>Commit
</li></ul>
The source will be modified to read:
<pre name="code" class="c">
/*
This is inside a Comment Block.
$Author: authorname $
$Date: 2011-05-04 14:51:48 -0400 (Wed, 04 May 2011) $
$Rev: 55648 $
*/
</pre>
A little crusty but automated!gwynethhttp://www.blogger.com/profile/16750060856118383224noreply@blogger.com0