<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacks on Diogo Gomes</title><link>https://diogogomes.com/tags/hacks/</link><description>Recent content in Hacks on Diogo Gomes</description><generator>Hugo</generator><language>en</language><copyright>{year}</copyright><lastBuildDate>Fri, 13 Jul 2012 16:35:26 +0000</lastBuildDate><atom:link href="https://diogogomes.com/tags/hacks/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating a KVM virtual machine using debootstrap</title><link>https://diogogomes.com/2012/07/13/debootstrap-kvm-image/</link><pubDate>Fri, 13 Jul 2012 16:35:26 +0000</pubDate><guid>https://diogogomes.com/2012/07/13/debootstrap-kvm-image/</guid><description>&lt;p&gt;How to create a Debian virtual machine outside a virtualization environment.&lt;/p&gt;
&lt;p&gt;The challenge here proposed is to create a virtual machine inside a remote server and boot it up using KVM. Sure I could have used VNC and go through all the setup steps of the Debian install disk running inside the virtual machine, but that would have taken ages and would be virtually impossible to automate.&lt;/p&gt;
&lt;p&gt;Therefore the next steps detail how to install Debian using debootstrap on a qcow2 image disk and how to successfully boot the debian install using kvm (I&amp;rsquo;m assuming here your kvm environment is already properly setup).&lt;/p&gt;</description></item><item><title>Linux kernel 2.6.38.4 for the Iomega iConnect</title><link>https://diogogomes.com/2011/05/02/iconnect-linux-2-6-38/</link><pubDate>Mon, 02 May 2011 11:21:31 +0000</pubDate><guid>https://diogogomes.com/2011/05/02/iconnect-linux-2-6-38/</guid><description>&lt;p&gt;After a long &lt;a href="https://diogogomes.com/2011/01/31/binary-kernel-iconnect-rc1"&gt;hiatus&lt;/a&gt;, I&amp;rsquo;m back with the latest version of the linux kernel (2.6.38.4) for the iomega iconnect.&lt;/p&gt;
&lt;p&gt;This new kernel brings several improvements to the previous ones, since it improves support for Marvell&amp;rsquo;s Kirkwood platform (on which iConnect is built upon) and finally includes in the main kernel the wireless driver for the RaLink RT3090 Wireless 802.11n 1T/1R PCIe which is built in the iConnect.&lt;/p&gt;
&lt;p&gt;Without further due, here are the files:&lt;/p&gt;</description></item><item><title>Binary Kernel and Modules for the Iomega iConnect running Linux Debian</title><link>https://diogogomes.com/2011/01/31/binary-kernel-iconnect-rc1/</link><pubDate>Mon, 31 Jan 2011 11:21:31 +0000</pubDate><guid>https://diogogomes.com/2011/01/31/binary-kernel-iconnect-rc1/</guid><description>&lt;p&gt;In the last months after I&amp;rsquo;ve published an howto on &lt;a href="https://diogogomes.com/2010/12/23/custom-kerne-iconnect/trackback/"&gt;how to customize the Linux kernel for the Iomega iConnect&lt;/a&gt;, I&amp;rsquo;ve been getting lots of comments from people who would like to have a go at installing it, but which are not proficient Linux users.&lt;/p&gt;
&lt;p&gt;In order to assist those situations, I&amp;rsquo;m hereby making it available binary versions of Linux 2.6.37 configured for the Iomega iConnect, as well as the source code used to compile those binaries.&lt;/p&gt;</description></item><item><title>Customizing a Kernel for the Iomega iConnect</title><link>https://diogogomes.com/2010/12/23/custom-kerne-iconnect/</link><pubDate>Thu, 23 Dec 2010 17:41:16 +0000</pubDate><guid>https://diogogomes.com/2010/12/23/custom-kerne-iconnect/</guid><description>&lt;p&gt;If you have followed my &lt;a href="https://diogogomes.com/2010/11/14/debian-install-iconnect/"&gt;previous post&lt;/a&gt; on how to install Debian to the Iomega iConnect Wireless Data Station you have been dying to read this follow-up post on how to take you iConnect to the next level by customizing the kernel and finally controlling the buttons and leds in the device (not to mention making use of the wireless card).&lt;/p&gt;
&lt;h4&gt;Setting up a cross-compile environment&lt;/h4&gt;
&lt;p&gt;First thing you need is to setup an environment in which you will cross compile the kernel and everything else that needs to go into the iConnect. Don't take me wrong here, the iConnect is a great device and all, but it just can't compete with your state of the art laptop/workstation ;)&lt;/p&gt;</description></item><item><title>Installing Debian on a Iomega iConnect Wireless Data Station</title><link>https://diogogomes.com/2010/11/14/debian-install-iconnect/</link><pubDate>Sun, 14 Nov 2010 17:35:26 +0000</pubDate><guid>https://diogogomes.com/2010/11/14/debian-install-iconnect/</guid><description>&lt;p&gt;Installing Debian on a Iomega iConnect Wireless Data Station is not that difficult but will unavoidably void your warranty. You will need to rip apart the device in order to access the console port.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Requirements:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Access to the Serial Console through a USB to serial interface such as the &lt;a href="http://uk.farnell.com/ftdi/ttl-232r-3v3-we/cable-usb-ttl-ser-conv-wire-end/dp/1740365?Ntt=ttl-232R-3v3-we"&gt;FTDI - TTL-232R-3V3-WE&lt;/a&gt; (some soldering required)&lt;/li&gt;
	&lt;li&gt;USB harddisk or stick (harddisk is advisable since stick tend to wear off)&lt;/li&gt;
	&lt;li&gt;Ethernet Connection for debian installation - &lt;strong&gt;Important!!! you MUST use Gigabit Ethernet!!!&lt;/strong&gt; due to a bug in the Debian Install Kernel&lt;/li&gt;
	&lt;li&gt;Linux Host in order to setup the kernel&lt;/li&gt;
&lt;/ul&gt;
First step is to rip apart the iConnect and reach the serial port as depicted &lt;a href="http://doip.org/iconnect_console"&gt;here&lt;/a&gt;.
&lt;p&gt;After connecting your host to the iconnect through the usb serial adapter you should be getting a prompt:&lt;/p&gt;</description></item><item><title>Low Power Home Server</title><link>https://diogogomes.com/2010/11/10/low-power-home-server/</link><pubDate>Wed, 10 Nov 2010 01:26:44 +0000</pubDate><guid>https://diogogomes.com/2010/11/10/low-power-home-server/</guid><description>&lt;p&gt;For a long time I&amp;rsquo;ve searched for a way to replace my aging &lt;a href="http://gdgt.com/asus/wl-500g/"&gt;ASUS WL500gx&lt;/a&gt; which looks like the WL500g but packs 2 USB2.0 ports and has extra RAM (64MB).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://diogogomes.com/images/2010/11/WL500g-Deluxe-Small.jpg"&gt;&lt;img class="size-thumbnail wp-image-2852 alignright" title="WL500g Deluxe" src="https://diogogomes.com/images/2010/11/WL500g-Deluxe-Small-150x150.jpg" alt="WL500g Deluxe" width="150" height="150" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The ASUS has been my home server for a long time now (&amp;gt;5 years), providing me with a reliable SSH server through which I can proxy my Internet usage whenever I&amp;rsquo;m in a public space, with a small webserver in which I keep Internet and Power Usage statistics and for a brief period of time was my printing server (it was replaced first by an &lt;a href="http://www.apple.com/airportexpress/"&gt;Apple Airport Express&lt;/a&gt;, and more recently by &lt;a href="http://www.zon.pt/zonhub/"&gt;ZON&amp;rsquo;s HUB&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>Arduino - Network Remote Control</title><link>https://diogogomes.com/2010/03/30/arduino-network-remote-control/</link><pubDate>Tue, 30 Mar 2010 01:17:26 +0100</pubDate><guid>https://diogogomes.com/2010/03/30/arduino-network-remote-control/</guid><description>&lt;p&gt;Although my Phd is in Electrotechnics, I&amp;rsquo;m mostly a Software Engineer. Trying to put things straight, I&amp;rsquo;ve picked up a personal project with a bit more hardware :)&lt;/p&gt;
&lt;p&gt;The idea is to build something resembling &lt;a href="ttp://www.filewell.com/iRed/"&gt;this&lt;/a&gt; or &lt;a href="http://thinkflood.com/buy/products/redeye/"&gt;this&lt;/a&gt; without leaving my pocket empty, and in the time between build something with my bare-hands.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://diogogomes.com/images/2010/03/Screen-shot-2010-03-30-at-00.17.33-150x150.png" alt="Arduino plus Ethernet Shield"&gt;&lt;/p&gt;
&lt;p&gt;So today I set things in motion by visiting &lt;a href="http://inmotion.pt/store/"&gt;InMotion&lt;/a&gt; in it&amp;rsquo;s office in Oporto where I met Filipe Valpereiro. There I picked up an Arduino Duemilanove and an Ethernet Shield to go with. Tomorrow I hope to drop by the local electronics shop to pickup a photodiode and an IR LED. That should account for all the hardware I need in this project.&lt;/p&gt;</description></item><item><title>Nokia 7100 Supernova plug-in for iSync</title><link>https://diogogomes.com/2008/12/28/nokia7100supernova-isync/</link><pubDate>Sun, 28 Dec 2008 20:27:33 +0000</pubDate><guid>https://diogogomes.com/2008/12/28/nokia7100supernova-isync/</guid><description>&lt;p&gt;This xmas I got my wife a new cellphone a &lt;a href="http://europe.nokia.com/7100supernova"&gt;Nokia 7100 Supernova&lt;/a&gt; which although not a 3G phone fits perfectly her needs. It has a slick design, a good enough camera (1.3 megapixel), GPRS/EDGE, support for the usual suspects (MMS, Java MIDP) and Bluetooth.&lt;/p&gt;
&lt;img src="https://diogogomes.com/images/2008/12/n7100_.jpg" alt="Nokia 7100 Supernova" title="Nokia 7100 Supernova" width="291" height="264" class="size-full wp-image-199" /&gt;
&lt;p&gt;Now comes the catch:&lt;/p&gt;
&lt;p&gt;I completely forgot to check if it was supported by iSync.
So after the gift unwrapping I was faced with an unsupported phone with no plugin available either by &lt;a href="http://europe.nokia.com/get-support-and-software/product-support/isync"&gt;Nokia&lt;/a&gt; nor anyone in the internet (as far as my google search is concerned).
Faced with this situation, I decided to go ahead and develop the plugin myself with Apple&amp;rsquo;s &lt;a href="http://developer.apple.com/documentation/DeveloperTools/Conceptual/iSyncPluginMakerUserGuide/"&gt;iSync Plug-in Maker&lt;/a&gt;. This utility is available in your system in case you have installed the developers tools in your OSX DVD. You can find it under /Developer/Applications/Utilities/.&lt;/p&gt;</description></item><item><title>DISTCC + AVAHI</title><link>https://diogogomes.com/2007/08/21/distcc-avahi/</link><pubDate>Tue, 21 Aug 2007 13:22:05 +0100</pubDate><guid>https://diogogomes.com/2007/08/21/distcc-avahi/</guid><description>&lt;p&gt;When considering a project involving a large number of source files, compilation time is always an issue.
&lt;a href="http://distcc.samba.org/"&gt;DistCC&lt;/a&gt; is in these cases a very good solution.
From DistCC site:&lt;/p&gt;
&lt;blockquote&gt;distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network. distcc should always generate the same results as a local build, is simple to install and use, and is usually much faster than a local compile&lt;/blockquote&gt;
My problem was how to keep the **$DISTCC_HOSTS** variable updated, since computers in my lab never seam to be left alone (after all... this is a lab :) ).
&lt;p&gt;My idea was therefore to use &lt;a href="http://avahi.org/"&gt;AVAHI&lt;/a&gt; and to come up with a simple unix pipe that would feed the $DISTCC_DIR/hosts file.&lt;/p&gt;</description></item></channel></rss>