<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>inportb &#187; Jiang Yio</title>
	<atom:link href="http://inportb.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://inportb.com</link>
	<description>salty nothings are yummier</description>
	<lastBuildDate>Thu, 17 May 2012 18:21:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Chair Thief</title>
		<link>http://inportb.com/2012/05/17/chair-thief/</link>
		<comments>http://inportb.com/2012/05/17/chair-thief/#comments</comments>
		<pubDate>Thu, 17 May 2012 18:21:13 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[Quotable]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=904</guid>
		<description><![CDATA[My table at the Flushing Library was missing a chair, and a rather disgruntled-looking lady was looking for somewhere to sit. When she saw that the next table had an extra seat, she decided to confront its occupant. Angry Lady: That&#8217;s my seat. Occupant [disengaging earbuds]: What? Angry Lady: You took that chair from my table....<a href="http://inportb.com/2012/05/17/chair-thief/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>My table at the Flushing Library was missing a chair, and a rather disgruntled-looking lady was looking for somewhere to sit. When she saw that the next table had an extra seat, she decided to confront its occupant.</p>
<blockquote><p><strong>Angry Lady:</strong> That&#8217;s my seat.<br />
<strong>Occupant</strong> <em>[disengaging earbuds]</em><strong>:</strong> What?<br />
<strong>Angry Lady:</strong> You took that chair from <em>my</em> table.<br />
<strong>Occupant:</strong> I don&#8217;t understand. You&#8217;re saying that my seat belongs somewhere else?<br />
<strong>Angry Lady</strong> <em>[pointing at her table]</em><strong>:</strong> It&#8217;s obvious! Now put it back, please.<br />
<strong>Occupant:</strong> Oh&#8230; if it would make you feel better, I could move over.<br />
<strong>Angry Lady:</strong> &#8230;<br />
<strong>Occupant:</strong> I don&#8217;t really mind where I&#8217;m sitting, but I don&#8217;t know why you&#8217;re upset about it.<br />
<strong>Angry Lady:</strong> &#8230;</p></blockquote>
<p>Fortunately, a library employee brought another chair, and everyone was satisfied.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2012/05/17/chair-thief/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BotBrew &#8220;anise&#8221;</title>
		<link>http://inportb.com/2012/04/09/botbrew-anise/</link>
		<comments>http://inportb.com/2012/04/09/botbrew-anise/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 11:38:32 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=898</guid>
		<description><![CDATA[I am delighted to announce the immediate availability of BotBrew on Google Play. This first release brings cross-compiled command line software to Android, along with a package manager based on opkg and a service manager based on runit. Some highlights include: an almost-complete busybox with 327 applets have more of your favorite commands without the...<a href="http://inportb.com/2012/04/09/botbrew-anise/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I am delighted to announce the immediate availability of BotBrew on Google Play. This first release brings cross-compiled command line software to Android, along with a package manager based on <a href="http://code.google.com/p/opkg/">opkg</a> and a service manager based on <a href="http://smarden.org/runit/">runit</a>. Some highlights include:</p>
<ul>
<li><strong>an almost-complete <a href="http://busybox.net/">busybox</a> with 327 applets</strong><br />
have more of your favorite commands without the bloat</li>
<li><strong><a href="http://www.python.org/">python</a> and </strong><a href="http://www.ruby-lang.org/"><strong>ruby</strong><br />
</a>script on-the-go, or run django- and rails-powered servers</li>
<li><strong><a href="http://subversion.tigris.org/">subversion</a> and </strong><a href="http://git-scm.com/"><strong>git</strong><br />
</a>access source code using two popular version control systems</li>
<li><strong><a href="http://www.tcpdump.org/">tcpdump</a> and </strong><a href="http://nmap.org/"><strong>nmap</strong><br />
</a>analyze network traffic and query remote hosts</li>
<li><strong><a href="http://lynx.browser.org/">lynx</a> and </strong><a href="http://w3m.sourceforge.net/"><strong>w3m</strong><br />
</a>go retro with lightweight text-based Web browsers</li>
</ul>
<p>BotBrew could be used with any terminal app that provides a local shell, but <a href="https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard">Hacker&#8217;s Keyboard</a> and <a href="https://play.google.com/store/apps/details?id=os.tools.scriptmanager">Script Manager</a> might be helpful, too. Spread the word if you like BotBrew! If you have trouble with BotBrew or have bugs to report, feel free to email us at <strong>botbrew<em>@</em>inportb.com</strong> or chat with us at <a href="http://webchat.freenode.net/?channels=botbrew&amp;uio=OT10cnVlde">#botbrew on irc.freenode.net</a>. And we&#8217;d love to hear from you if you want to distribute your own software using BotBrew.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2012/04/09/botbrew-anise/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>agcc.bash: Make Native Android C Programs Using the NDK</title>
		<link>http://inportb.com/2012/01/08/agcc-bash-make-native-android-c-programs-using-the-ndk/</link>
		<comments>http://inportb.com/2012/01/08/agcc-bash-make-native-android-c-programs-using-the-ndk/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 06:28:50 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Hacks]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=893</guid>
		<description><![CDATA[I return to school at noon, but before then, I&#8217;d like to share my evening project: agcc.bash, a rewrite of agcc and agcc2.pl that works with revisions 6 and 7 of the Android NDK. The NDK is a GCC-based cross-compiler that lets you embed object code in a traditional Android app. It also works as...<a href="http://inportb.com/2012/01/08/agcc-bash-make-native-android-c-programs-using-the-ndk/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I return to school at noon, but before then, I&#8217;d like to share my evening project: <a href="http://dl.dropbox.com/u/1213413/htdocs/agcc/agcc.bash">agcc.bash</a>, a rewrite of <a href="http://plausible.org/andy/agcc">agcc</a> and <a href="http://credentiality2.blogspot.com/2011/07/native-android-c-program-using-ndk.html">agcc2.pl</a> that works with revisions 6 and 7 of the Android NDK.</p>
<p>The NDK is a GCC-based cross-compiler that lets you embed object code in a traditional Android app. It also works as a standalone cross-compiler, though it is not advertised as such. It is quite rough when used by itself, and agcc wraps the complexity in a little script. While agcc and agcc2.pl are written in Perl, agcc.bash is a Bash script. It also supports the latest revisions of the NDK, though r7 is slightly buggy.</p>
<p>With agcc.bash, building native Android software feels almost like working with GCC. As a quick example, let&#8217;s try the classic <a href="http://dl.dropbox.com/u/1213413/htdocs/agcc/hello.c">hello world</a>:</p>
<blockquote><p>AGCC_NDK=~/android-ndk-r6 ./agcc.bash hello.c -o hello</p></blockquote>
<p>That wasn&#8217;t too exciting&#8230; but what happened there? I have the NDK installed at ~/android-ndk-r6 and I told agcc.bash where to look for it, using the AGCC_NDK environment variable. I then invoked agcc.bash as if it were GCC. Let&#8217;s see what agcc.bash did behind the scenes:</p>
<blockquote><p>AGCC_NDK=~/android-ndk-r6 AGCC_ECHO=yes ./agcc.bash hello.c -o hello</p>
<p>=&gt; ./agcc.bash hello.c -o hello<br />
&lt;= /home/jyio/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc -o hello -I/home/jyio/android-ndk-r6/platforms/android-8/arch-arm/usr/include -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -DANDROID -DSK_RELEASE -DNDEBUG -UDEBUG -march=armv5te -mtune=xscale -msoft-float -mthumb-interwork -fpic -fno-exceptions -ffunction-sections -funwind-tables -fmessage-length=0 -march=armv5te -mtune=xscale -msoft-float -mthumb-interwork -fpic -fno-exceptions -ffunction-sections -funwind-tables -fmessage-length=0 hello.c -Bdynamic -Wl,-T,/home/jyio/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/arm-linux-androideabi/lib/ldscripts/armelf_linux_eabi.x -Wl,-dynamic-linker,/system/bin/linker -Wl,&#8211;gc-sections -Wl,-z,nocopyreloc -Wl,&#8211;no-undefined -Wl,-rpath-link=/home/jyio/android-ndk-r6/platforms/android-8/arch-arm -L/home/jyio/android-ndk-r6/platforms/android-8/arch-arm/usr/lib -nostdlib /home/jyio/android-ndk-r6/platforms/android-8/arch-arm/usr/lib/crtend_android.o /home/jyio/android-ndk-r6/platforms/android-8/arch-arm/usr/lib/crtbegin_dynamic.o -lc /home/jyio/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a -lm -ldl</p></blockquote>
<p>See how it transformed our innocent little command into a monster! This might be overkill for a hello world program, but it provides pretty good support for more complex software such as OpenSSL, cURL, and Python. It would be a good idea to add the NDK toolchain and agcc.bash to $PATH before trying to build a big program. In my case, the toolchain resides in <em>~/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin</em>. If you want to build some software that come with configure scripts, you might start with:</p>
<blockquote><p><strong>CC=agcc.bash</strong> ./configure</p></blockquote>
<p>Do try this at home! Relevant links:</p>
<ul>
<li><a href="http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2">Android NDK r6</a> (or, <a href="http://developer.android.com/sdk/ndk/">the latest version</a>)</li>
<li><a href="http://dl.dropbox.com/u/1213413/htdocs/agcc/agcc.bash">agcc.bash</a></li>
<li><a href="http://dl.dropbox.com/u/1213413/htdocs/agcc/hello.c">hello.c</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2012/01/08/agcc-bash-make-native-android-c-programs-using-the-ndk/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Sparkler Candles, How Do They Work?</title>
		<link>http://inportb.com/2011/12/10/sparkler-candles-how-do-they-work/</link>
		<comments>http://inportb.com/2011/12/10/sparkler-candles-how-do-they-work/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 04:08:03 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=883</guid>
		<description><![CDATA[I sampled some sparkler candles today. These are narrow cylinders 2.5 mm across and 17 cm long. They burn just like regular candles, but they also sparkle intermittently and relight when blown out. I just had to investigate this strange pyrotechnic device. So I scraped the wax off one of the candles and found some...<a href="http://inportb.com/2011/12/10/sparkler-candles-how-do-they-work/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I sampled some <a href="http://www.wilton.com/store/site/product.cfm?sku=2811-1230">sparkler candles</a> today. These are narrow cylinders 2.5 mm across and 17 cm long. They burn just like regular candles, but they also sparkle intermittently and relight when blown out. I just had to investigate this strange pyrotechnic device.</p>
<div id="attachment_886" class="wp-caption aligncenter" style="width: 550px"><a href="http://inportb.com/wp-content/uploads/2011/12/candle.jpg"><img class="size-full wp-image-886" title="stripped and unstripped candles" src="http://inportb.com/wp-content/uploads/2011/12/candle.jpg" alt="" width="540" height="720" /></a><p class="wp-caption-text">on the left, a stripped candle</p></div>
<p>So I scraped the wax off one of the candles and found some gray flakes (fairy dust!) surrounding the wick. The material could be seen through the thin layer of wax along the entire length of the candle. The sparkling effect suggests that the flakes are metallic. They should also have a low heat capacity and autoignition point, so that even after the flame appears to be extinguished, they are warm enough to continue burning and light the candle again. What are these metallic flakes? I burned a candle to find out.</p>
<div id="attachment_885" class="wp-caption aligncenter" style="width: 535px"><a href="http://inportb.com/wp-content/uploads/2011/12/candle-burn.jpg"><img class="size-large wp-image-885" title="candle-burn" src="http://inportb.com/wp-content/uploads/2011/12/candle-burn-768x1024.jpg" alt="" width="525" height="700" /></a><p class="wp-caption-text">burning the candle</p></div>
<p>The white sparks of light were reminiscent of burning magnesium. Magnesium burns at or above 473 °C (883 °F), which is more than sufficient to ignite the paraffin vapor streaming away from a recently-extinguished candle wick.</p>
<div id="attachment_884" class="wp-caption aligncenter" style="width: 370px"><a href="http://inportb.com/wp-content/uploads/2011/12/mg-burn.jpg"><img class="size-full wp-image-884" title="mg-burn" src="http://inportb.com/wp-content/uploads/2011/12/mg-burn.jpg" alt="" width="360" height="480" /></a><p class="wp-caption-text">magnesium turnings on fire</p></div>
<p>Other metals could be added for a variety of spark colors.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2011/12/10/sparkler-candles-how-do-they-work/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Where in the World is Mark Pilgrim?</title>
		<link>http://inportb.com/2011/10/04/where-in-the-world-is-mark-pilgrim/</link>
		<comments>http://inportb.com/2011/10/04/where-in-the-world-is-mark-pilgrim/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 03:22:20 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=869</guid>
		<description><![CDATA[It appears that Mark Pilgrim, the author of one of my favorite Python language resources, has pulled a disappearing act. I wanted to recall a certain page on diveintopython.org, but was instead greeted with a 410 error: Gone The requested resource / is no longer available on this server and there is no forwarding address....<a href="http://inportb.com/2011/10/04/where-in-the-world-is-mark-pilgrim/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>It appears that <a href="http://en.wikipedia.org/wiki/Mark_Pilgrim_(software_developer)">Mark Pilgrim</a>, the author of one of my favorite Python language resources, has pulled a disappearing act. I wanted to recall a certain page on diveintopython.org, but was instead greeted with a 410 error:</p>
<blockquote>
<h3>Gone</h3>
<p>The requested resource<br />
/<br />
is no longer available on this server and there is no forwarding address. Please remove all references to this resource.</p></blockquote>
<p>His other websites, as well as social networking accounts, have also gone:</p>
<ul>
<li><a href="http://diveintopython.org/">Dive Into Python</a></li>
<li><a href="http://diveintopython3.org/">Dive Into Python 3</a></li>
<li><a href="http://diveintohtml5.org/">Dive Into HTML5</a></li>
<li><a href="http://github.com/diveintomark">GitHub</a> (though it seems that someone has re-created the account)</li>
<li><a href="http://twitter.com/diveintomark">Twitter</a></li>
<li><a href="https://plus.google.com/111966606387715428604/posts">Google+</a></li>
<li><a href="http://www.reddit.com/r/IAmA/comments/f545e/i_am_a_fourtime_published_author_i_write_free/">Reddit</a></li>
</ul>
<p>His <a href="http://diveintomark.org/">personal site</a> is missing, too.</p>
<p>Whoa. How does someone just evaporate off the Internet like that? The search continues, but there may be a <a href="http://news.ycombinator.com/user?id=MarkPilgrim">ray of hope</a>&#8230;</p>
<p>Pilgrim has shared an incredible volume of information with Internet users everywhere. I hope he is alright.</p>
<p><strong>Update:</strong></p>
<p><a href="http://twitter.com/ultimatebuster">ultimatebuster</a> pointed me to <a href="http://dl.dropbox.com/u/1213413/markpilgrim.htm">firehose.diveintomark.org</a> [<a href="http://dl.dropbox.com/u/1213413/markpilgrim.xml">ATOM</a>], which contained recent Twitter activity; the site is now inaccessible, so the link points to my personal mirror copy.</p>
<p><a href="http://twitter.com/textfiles">Jason Scott</a> called Pilgrim&#8217;s local police department, and Pilgrim was less than amused&#8230;</p>
<blockquote><p><a href="http://twitter.com/#!/textfiles/status/121429857153462272">I called his police department to ask for a welfare check &#8211; someone had done it 4 minutes before me.</a></p>
<p><a href="http://twitter.com/#!/textfiles/status/121436177298493440">Mark Pilgrim is alive/annoyed we called the police. Please stand down and give the man privacy and space, and thanks everyone for caring.</a></p>
<p><a href="http://twitter.com/#!/textfiles/status/121436401131716608">The communication was specifically verified, it was him, and that&#8217;s that. That was the single hardest decision I&#8217;ve had to make this year.</a></p></blockquote>
<p>&#8230; and that&#8217;s that!</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2011/10/04/where-in-the-world-is-mark-pilgrim/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Managing A VirtualBox Guest Using Upstart</title>
		<link>http://inportb.com/2011/08/11/managing-a-virtualbox-guest-using-upstart/</link>
		<comments>http://inportb.com/2011/08/11/managing-a-virtualbox-guest-using-upstart/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 20:34:50 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=860</guid>
		<description><![CDATA[With a Windows 7 guest comfortably installed on my Ubuntu host, I turn my attention to making it automatically boot and shutdown with the host. Traditionally, we would use a SysV-style init script that uses VBoxManage/VBoxHeadless to start the guest and VBoxManage to stop it. Upstart seems to be the way to go now, so...<a href="http://inportb.com/2011/08/11/managing-a-virtualbox-guest-using-upstart/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>With a Windows 7 guest <a href="http://inportb.com/2011/08/11/setting-up-a-virtualbox-guest-on-a-headless-linux-host/" title="Setting Up A VirtualBox Guest On A Headless Linux Host">comfortably installed</a> on my Ubuntu host, I turn my attention to making it automatically boot and shutdown with the host. Traditionally, we would use a SysV-style init script that uses VBoxManage/VBoxHeadless to start the guest and VBoxManage to stop it. <a href="http://upstart.ubuntu.com/">Upstart</a> seems to be the way to go now, so let&#8217;s make a configuration file for that. And instead of powering off the guest every time (which should be done using ACPI events), it would be easier and faster to simply save the running state and restore it during the next boot.</p>
<p><span id="more-860"></span>As before, the VM is named <em>mustard</em>, my username is <em>inportb</em>, and this file is called <em>/etc/init/mustard.conf</em>&#8230;</p>
<blockquote><p>description &#8220;mustard VM&#8221;<br />
author &#8220;Jiang&#8221;</p>
<p>start on (local-filesystems and net-device-up IFACE=eth0)<br />
stop on runlevel [016]</p>
<p>console output</p>
<p>respawn<br />
respawn limit 5 10</p>
<p>pre-stop script<br />
 su inportb -c &#8220;VBoxManage controlvm mustard savestate&#8221;<br />
end script</p>
<p>exec su inportb -c &#8220;VBoxHeadless &#8211;startvm mustard&#8221;</p></blockquote>
<p>As soon as the local filesystems are ready and the network is up, Upstart would run VBoxHeadless and monitor the process. Should the process die unexpectedly (such as if someone hits the guest&#8217;s shutdown button by mistake), Upstart would bring it right back up. Furthermore, if some problem keeps terminating the process soon after starting, Upstart would stop trying after 5 bounces in 10 seconds. The &#8220;correct&#8221; way to start and stop the guest, respectively, would be through the host&#8230;</p>
<blockquote><p>sudo start mustard<br />
sudo stop mustard</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2011/08/11/managing-a-virtualbox-guest-using-upstart/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Setting Up A VirtualBox Guest On A Headless Linux Host</title>
		<link>http://inportb.com/2011/08/11/setting-up-a-virtualbox-guest-on-a-headless-linux-host/</link>
		<comments>http://inportb.com/2011/08/11/setting-up-a-virtualbox-guest-on-a-headless-linux-host/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 19:02:32 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=854</guid>
		<description><![CDATA[VirtualBox comes with a rather nice commandline interface, and here&#8217;s how you&#8217;d work it. The following commands have not changed much since VirtualBox 3.1, and they have just been tested on VirtualBox 4.1. Before we start, here&#8217;re the guest specifications that we&#8217;re looking for&#8230; VM name mustard RAM 1 GiB SATA controller with 20 GiB...<a href="http://inportb.com/2011/08/11/setting-up-a-virtualbox-guest-on-a-headless-linux-host/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p>VirtualBox comes with a rather nice <a href="http://www.virtualbox.org/manual/ch07.html">commandline interface</a>, and here&#8217;s how you&#8217;d work it. The following commands have not changed much since VirtualBox 3.1, and they have just been tested on VirtualBox 4.1.</p>
<p><strong>Before we start, here&#8217;re the guest specifications that we&#8217;re looking for&#8230;</strong></p>
<ul>
<li>VM name mustard</li>
<li>RAM 1 GiB</li>
<li>SATA controller with 20 GiB disk at mustard.vdi</li>
<li>IDE controller with CD/DVD at installer.iso</li>
<li>Bridged networking using host adapter eth0</li>
<li>OS Windows 7</li>
</ul>
<p><span id="more-854"></span><strong>Create machine and disk&#8230;</strong></p>
<blockquote><p>VBoxManage createvm -<em></em>-name mustard -<em></em>-ostype Windows7 -<em></em>-register<br />
VBoxManage modifyvm mustard -<em></em>-memory 1024 -<em></em>-acpi on -<em></em>-boot1 dvd -<em></em>-nic1 bridged -<em></em>-bridgeadapter1 eth0<br />
VBoxManage createhd -<em></em>-filename mustard.vdi -<em></em>-size 20480</p></blockquote>
<p><strong>Create SATA controller and attach disk&#8230;</strong></p>
<blockquote><p>VBoxManage storagectl mustard -<em></em>-name &#8220;SATA Controller&#8221; -<em></em>-add sata -<em></em>-controller IntelAhci<br />
VBoxManage storageattach mustard -<em></em>-storagectl &#8220;SATA Controller&#8221; -<em></em>-port 0 -<em></em>-device 0 -<em></em>-type hdd -<em></em>-medium mustard.vdi</p></blockquote>
<p><strong>Create IDE controller and add disc&#8230;</strong></p>
<blockquote><p>VBoxManage storagectl mustard -<em></em>-name &#8220;IDE Controller&#8221; -<em></em>-add ide -<em></em>-controller PIIX4<br />
VBoxManage storageattach mustard -<em></em>-storagectl &#8220;IDE Controller&#8221; -<em></em>-port 0 -<em></em>-device 0 -<em></em>-type dvddrive -<em></em>-medium installer.iso</p></blockquote>
<p>The proprietary version of VirtualBox exports a nifty RDP service that you can use to set up the machine. With VirtualBox 4+, the proprietary extensions come in a separate package. Note that the local and remote mouse cursors are not synchronized, so it may be somewhat difficult to operate. Starting the machine is simple&#8230;</p>
<blockquote><p>VBoxHeadless -<em></em>-startvm mustard</p></blockquote>
<p>After installation, I&#8217;d recommend setting up RDP from within Windows (or SSH in a UNIXy guest), because of the subpar VirtualBox RDP experience. If you want, change the boot order and remove the installer CD/DVD&#8230;</p>
<blockquote><p>VBoxManage modifyvm mustard -<em></em>-boot1 disk<br />
VBoxManage storageattach mustard -<em></em>-storagectl &#8220;IDE Controller&#8221; -<em></em>-port 0 -<em></em>-device 0 -<em></em>-medium emptydrive</p></blockquote>
<p>&#8230; and that&#8217;s that! Since I&#8217;m using an Ubuntu host, my <a title="Managing A VirtualBox Guest Using Upstart" href="http://inportb.com/2011/08/11/managing-a-virtualbox-guest-using-upstart/">next post</a> deals with how to start and suspend this VM during boot and shutdown.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2011/08/11/setting-up-a-virtualbox-guest-on-a-headless-linux-host/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kindle2-Turned-Kindle3 Does IRC</title>
		<link>http://inportb.com/2011/06/03/kindle2-turned-kindle3-does-irc/</link>
		<comments>http://inportb.com/2011/06/03/kindle2-turned-kindle3-does-irc/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 16:29:53 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[Hacks]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=849</guid>
		<description><![CDATA[One of the improvements in the Amazon Kindle3 OS is the WebKit-based browser. Based on a tip, I tried communicating on Freenode using the Webchat interface. How do you get this particular OS update on a second-generation Kindle? Well, let&#8217;s just say it&#8217;s not officially supported.]]></description>
			<content:encoded><![CDATA[<p>One of the improvements in the Amazon Kindle3 OS is the WebKit-based browser. Based on a tip, I tried communicating on Freenode using the Webchat interface.</p>
<p><a href="http://inportb.com/wp-content/uploads/2011/06/freenode.gif"><img class="aligncenter size-medium wp-image-850" title="freenode" src="http://inportb.com/wp-content/uploads/2011/06/freenode-225x300.gif" alt="" width="225" height="300" /></a></p>
<p>How do you get this particular OS update on a second-generation Kindle? Well, let&#8217;s just say <a href="http://www.reddit.com/r/kindle/comments/hmyo5/hack_to_install_kindle_3x_on_kindle_2_and_dx/">it&#8217;s not officially supported</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2011/06/03/kindle2-turned-kindle3-does-irc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reblox Build Process</title>
		<link>http://inportb.com/2011/05/26/reblox-build-process/</link>
		<comments>http://inportb.com/2011/05/26/reblox-build-process/#comments</comments>
		<pubDate>Fri, 27 May 2011 01:14:22 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[Hacks]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=837</guid>
		<description><![CDATA[Since I&#8217;ve been asked several times to demonstrate how to make a reblox, I decided to put together a little photo tutorial. Enjoy! The Bloxes website features construction images as well, and the process is similar.]]></description>
			<content:encoded><![CDATA[<p>Since I&#8217;ve been asked several times to demonstrate how to make a <a title="Bloxes" href="/2011/05/21/bloxes/">reblox</a>, I decided to put together a little photo tutorial. Enjoy!</p>
<div id="attachment_839" class="wp-caption aligncenter" style="width: 285px"><a href="http://inportb.com/wp-content/uploads/2011/05/instruction.jpg"><img class="size-medium wp-image-839" title="instruction" src="http://inportb.com/wp-content/uploads/2011/05/instruction-275x300.jpg" alt="" width="275" height="300" /></a><p class="wp-caption-text">Look at the pretty pictures.</p></div>
<p>The Bloxes website features construction images as well, and the process is similar.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2011/05/26/reblox-build-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bloxes</title>
		<link>http://inportb.com/2011/05/21/bloxes/</link>
		<comments>http://inportb.com/2011/05/21/bloxes/#comments</comments>
		<pubDate>Sun, 22 May 2011 03:16:11 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[Hacks]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=824</guid>
		<description><![CDATA[Bloxes are nifty &#8220;modular adult-sized building blocks.&#8221; They are actually interlocking cardboard boxes that can be used to build things such as furniture. They&#8217;re not exactly inexpensive, and shipping takes a while. Instead of ordering bloxes, I decided to prototype my own on paper just for fun. This design might require some modification for use...<a href="http://inportb.com/2011/05/21/bloxes/">&#187;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bloxes.com/">Bloxes</a> are nifty &#8220;modular adult-sized building blocks.&#8221; They are actually interlocking cardboard boxes that can be used to build things such as furniture.</p>
<p>They&#8217;re not exactly inexpensive, and shipping takes a while. Instead of ordering bloxes, I decided to <a title="Reblox Build Process" href="/2011/05/26/reblox-build-process/">prototype my own on paper</a> just for fun. This design might require some modification for use with cardboard (in particular, I&#8217;m sure you could figure out how the original design works and apply it to your project).</p>
<p><a href="http://dl.dropbox.com/u/1213413/reblox/reblox.svg"><img class="aligncenter" title="inportbloxes design" src="http://dl.dropbox.com/u/1213413/reblox/reblox.png" alt="" width="256" /></a></p>
<p>If you have the resources, go ahead and roll your own cardboard modules. As usual, it&#8217;s easier said than done&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2011/05/21/bloxes/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

