<?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</title>
	<atom:link href="http://inportb.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://inportb.com</link>
	<description>salty nothings are yummier</description>
	<lastBuildDate>Tue, 09 Apr 2013 17:58:45 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Fixing Print Alignment with Brother DCP-7065DN on Linux</title>
		<link>http://inportb.com/2013/03/25/fixing-print-alignment-with-brother-dcp-7065dn-on-linux/</link>
		<comments>http://inportb.com/2013/03/25/fixing-print-alignment-with-brother-dcp-7065dn-on-linux/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 05:51:04 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[Hacks]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=945</guid>
		<description><![CDATA[Knowing that it could be difficult to get printers and scanners working with Linux, I did quite a bit of research before settling on the Brother DCP-7065DN. Because I use Ubuntu, I did not have much trouble installing Brother&#8217;s proprietary debs. The scanner worked nicely; but the printer test page was shifted up and right,...<a href="http://inportb.com/2013/03/25/fixing-print-alignment-with-brother-dcp-7065dn-on-linux/">&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Knowing that it could be difficult to get printers and scanners working with Linux, I did quite a bit of research before settling on the Brother DCP-7065DN. Because I use Ubuntu, I did not have much trouble installing <a href="http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_prn.html">Brother&#8217;s proprietary debs</a>. The scanner worked nicely; but the printer test page was shifted up and right, such that the output was clipped on the top and right borders, with the <a href="http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/faq_prn.html#147">correct paper size setting</a>.</p>
<p>Enabling <code>Job Options &gt; Scale to fit</code> fixed the clipping, but the image was still off-center. I played around with the PPD file a bit, and achieved favorable results by shifting the <code>ImageableArea</code> values a bit in the opposite direction:<br />
<span id="more-945"></span></p>
<pre><code>--- /usr/share/cups/model/DCP7065DN.ppd
+++ /usr/share/cups/model/DCP7065DN.ppd
@@ -85,18 +85,18 @@
 *CloseUI: *PageRegion

 *DefaultImageableArea: A4
-*ImageableArea Letter/Letter: "18 12 594 780"
-*ImageableArea Legal/Legal: "18 12 594 996"
-*ImageableArea Executive/Executive: "18 12 504 744"
-*ImageableArea A4/A4: "18 12 577 830"
-*ImageableArea A5/A5: "18 12 403 583"
-*ImageableArea A6/A6: "18 12 279 408"
-*ImageableArea Env10/Com-10: "18 12 279 672"
-*ImageableArea EnvMonarch/Monarch: "18 12 261 528"
-*ImageableArea EnvDL/DL: "18 12 294 612"
-*ImageableArea EnvC5/C5: "18 12 441 637"
-*ImageableArea EnvISOB5/B5: "18 12 463 697"
-*ImageableArea EnvISOB6/B6: "18 12 336 487"
+*ImageableArea Letter/Letter: "0 0 576 768"
+*ImageableArea Legal/Legal: "0 0 576 984"
+*ImageableArea Executive/Executive: "0 0 486 732"
+*ImageableArea A4/A4: "0 0 559 818"
+*ImageableArea A5/A5: "0 0 385 571"
+*ImageableArea A6/A6: "0 0 261 396"
+*ImageableArea Env10/Com-10: "0 0 261 660"
+*ImageableArea EnvMonarch/Monarch: "0 0 243 516"
+*ImageableArea EnvDL/DL: "0 0 276 600"
+*ImageableArea EnvC5/C5: "0 0 423 625"
+*ImageableArea EnvISOB5/B5: "0 0 445 685"
+*ImageableArea EnvISOB6/B6: "0 0 318 475"

 *%==== Information About Media Sizes ========
 </code></pre>
<p>Since I&#8217;d already added the printer to CUPS, I also had to edit the corresponding file under <code>/etc/cups/ppd/</code>, but removing and adding the printer again would have worked as well. The <code>Scale to fit</code> setting was still necessary; alternatively, similar results could be achieved by tweaking the <code>PaperDimension</code> values.</p>
<p>This might work for other Brother printers as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2013/03/25/fixing-print-alignment-with-brother-dcp-7065dn-on-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Keep Calm and Be Nice</title>
		<link>http://inportb.com/2013/03/23/keep-calm-and-be-nice/</link>
		<comments>http://inportb.com/2013/03/23/keep-calm-and-be-nice/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 04:42:13 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=941</guid>
		<description><![CDATA[The recent donglegate debacle brings to light a poignant issue relevant to the programming community, the medical community, and the human community in general &#8212; that misunderstanding and miscommunication could easily cause a small problem to escalate out of control: A male conference participant makes a silly joke to his friend. A female participant overhears...<a href="http://inportb.com/2013/03/23/keep-calm-and-be-nice/">&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>The recent donglegate debacle brings to light a poignant issue relevant to the programming community, the medical community, and the human community in general &#8212; that misunderstanding and miscommunication could easily cause a small problem to escalate out of control:</p>
<p>A male conference participant makes a silly joke to his friend. A female participant overhears this and finds it offensive. She publicly criticizes the behavior, <a href="https://twitter.com/adriarichards/statuses/313417655879102464">posting his photograph</a> to some 10000+ Twitter followers. The male participant is <a href="https://news.ycombinator.com/item?id=5398681">fired</a> from his job. Commenters make hateful statements about the female participant, and <a href="http://pastebin.com/ubmznGhn">anons threaten</a> to attack her company. She is <a href="http://blog.sendgrid.com/a-difficult-situation/">fired</a> as well.</p>
<p>This is not about men, women, or anons; nor is it about sexism or dongle size. Because of inappropriate reactions to what began as an inappropriate joke, two people are out of jobs and there is much outrage in the community. There are <a href="http://amandablumwords.wordpress.com/2013/03/21/3/">better ways</a> to handle situations like this. Let&#8217;s always try to be tactful, give each other the benefit of the doubt, and treat fellow humans with respect.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2013/03/23/keep-calm-and-be-nice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Data Plan is Required?</title>
		<link>http://inportb.com/2012/11/24/a-data-plan-is-required/</link>
		<comments>http://inportb.com/2012/11/24/a-data-plan-is-required/#comments</comments>
		<pubDate>Sat, 24 Nov 2012 17:48:19 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=936</guid>
		<description><![CDATA[I wiped my Galaxy Nexus last night and reinstalled ClockworkMod+CyanogenMod. This morning, I woke up to a SMS from at&#38;t: AT&#38;T Free Msg: Did you know a data plan is required for your Smartphone? We have added an appropriate data plan. Learn more at www.att.com/dataplans. This is funny, because I had no idea that a...<a href="http://inportb.com/2012/11/24/a-data-plan-is-required/">&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I wiped my Galaxy Nexus last night and reinstalled ClockworkMod+CyanogenMod. This morning, I woke up to a SMS from at&amp;t:</p>
<blockquote><p>AT&amp;T Free Msg: Did you know a data plan is required for your Smartphone? We have added an appropriate data plan. Learn more at www.att.com/dataplans.</p></blockquote>
<p>This is funny, because I had <em>no idea</em> that a data plan was required for my phone. <em>Thanks</em>, at&amp;t, for preemptively adding <em>services that I don&#8217;t need</em>. They do this once in a while, and it&#8217;s getting ridiculous.</p>
<p>I was able to have a customer service representative remove the data plan.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2012/11/24/a-data-plan-is-required/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ingress</title>
		<link>http://inportb.com/2012/11/18/ingress/</link>
		<comments>http://inportb.com/2012/11/18/ingress/#comments</comments>
		<pubDate>Sun, 18 Nov 2012 19:45:46 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=929</guid>
		<description><![CDATA[I stepped out this afternoon planning to paint the town as if it were St. Patrick&#8217;s Day, but I was disappointed to find a bleak landscape mostly devoid of portals. I did manage to capture a couple of unoccupied portals, submit a few portal candidates, and top off my XM meter. Ostensibly, Ingress is an...<a href="http://inportb.com/2012/11/18/ingress/">&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I stepped out this afternoon planning to paint the town as if it were St. Patrick&#8217;s Day, but I was disappointed to find a bleak landscape mostly devoid of portals. I did manage to capture a couple of unoccupied portals, submit a few portal candidates, and top off my XM meter.</p>
<p><a href="http://inportb.com/wp-content/uploads/2012/11/ingress.png"><img class="wp-image-320 alignleft" title="Ingress" src="http://inportb.com/wp-content/uploads/2012/11/ingress.png" alt="" width="240" height="320" /></a></p>
<p>Ostensibly, <a title="Ingress" href="http://www.ingress.com/">Ingress</a> is an augmented reality MMOG by Google for Android devices. Players join one of two factions, collect &#8220;exotic matter&#8221; (XM) for energy, and capture portals associated with physical locations. Three or more portals may be linked into a polygon, and the population covered by the polygon is added to the &#8220;mind score&#8221; of the player&#8217;s faction. Since the game involves publicly-accessible landmarks, it is best played in more densely-populated areas. As a side effect of playing Ingress, players submit landmarks, GPS coordinates, and other mapping data to improve Google&#8217;s mapping service.</p>
<p>Ingress is currently in closed beta. To get an invitation, you could either lodge a request at <a title="Ingress" href="http://www.ingress.com/">ingress.com</a> or <a title="Niantic Project" href=" http://www.nianticproject.com/">nianticproject.com</a>, or hang out on <a title="#invites at irc.irchighway.net" href="http://widget00.mibbit.com/?settings=ba98b0e263309da29de2045992f403c4&amp;server=webchat.irchighway.net&amp;nick=&amp;channel=%23invites">#invites at irc.irchighway.net</a>. Details regarding Ingress lore could be found at the unofficial <a title="Niantic Project Wiki" href="http://inportb.com/2012/09/09/should-mobile-phones-be-allowed-in-class/">Niantic Project Wiki</a>, and a list of in-game <a title="Ingress passcodes" href="https://docs.google.com/spreadsheet/lv?key=0Aq0C8gtcMlhodGRudkNNTHBfX25PMFhFRTBjQlpWcUE&amp;rm=full#gid=0">passcodes</a> is on Google Docs. Good luck and enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2012/11/18/ingress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Should mobile phones be allowed in class?</title>
		<link>http://inportb.com/2012/09/09/should-mobile-phones-be-allowed-in-class/</link>
		<comments>http://inportb.com/2012/09/09/should-mobile-phones-be-allowed-in-class/#comments</comments>
		<pubDate>Sun, 09 Sep 2012 19:46:31 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=921</guid>
		<description><![CDATA[My younger cousin was enrolled in a persuasive writing class, and this was one of his prompts. The prevailing answer was no, because they present distractions and enable users to look up answers without thinking. A handful of students answered yes, because they are useful learning aids and provide points of contact in emergency situations....<a href="http://inportb.com/2012/09/09/should-mobile-phones-be-allowed-in-class/">&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>My younger cousin was enrolled in a persuasive writing class, and this was one of his prompts. The prevailing answer was <em>no, because they present distractions and enable users to look up answers without thinking</em>. A handful of students answered <em>yes, because they are useful learning aids and provide points of contact in emergency situations</em>. On a more fundamental level, the question heralds a technological revolution so pervasive, even among children, that we need to re-imagine the role of education.</p>
<p><span id="more-921"></span>Pocket calculators used to be banned at school many years ago, under the premise that calculators would prevent students from learning mathematics. Students were also tested based on their ability to perform computations quickly, and calculators would level the playing field during exams. Teachers soon realized that it was more important for the students to learn <em>why</em> computations were necessary in the first place, and <em>how</em> to express a problem in the language of mathematics such that it could be solved with or without the help of a calculator. Now, after students have a solid foundation in arithmetic, they are gradually introduced to calculators while they learn more advanced concepts.</p>
<p>Mobile phones would eventually be allowed in class, regardless of how we answer the question today. Furthermore, we would be encouraging students to bring their phones, and loaning units to students without them. In a society that is saturated with mobile Internet devices, we would be doing our students a disservice if we did not teach them how to use the devices effectively. Through their phones, they would have access to a massive amount of information shared on the Internet. We would need to teach them to ask the right questions and, perhaps more importantly, to validate the answers, finding facts in a sea of half-truths. We might actually need to teach them how to <em>think</em> rather than to learn everything by rote.</p>
<p>Thus, I propose a modification to the titular question: <em>how should mobile phones be integrated into modern education?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2012/09/09/should-mobile-phones-be-allowed-in-class/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hello, Avocado</title>
		<link>http://inportb.com/2012/07/09/hello-avocado/</link>
		<comments>http://inportb.com/2012/07/09/hello-avocado/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 01:21:31 +0000</pubDate>
		<dc:creator>Jiang Yio</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://inportb.com/?p=916</guid>
		<description><![CDATA[I started growing an avocado today. What secrets lie dormant within the oversized seed? Since the seed had already cracked down the middle by the time I dug it out of the avocado, I guess I have a few weeks&#8217; head start. Join me for a guacamole party in a few years, maybe.]]></description>
				<content:encoded><![CDATA[<p><a href="http://inportb.com/wp-content/uploads/2012/07/avocado.jpg"><img class="aligncenter size-large wp-image-917" title="avocado" src="http://inportb.com/wp-content/uploads/2012/07/avocado-768x1024.jpg" alt="" width="525" height="700" /></a></p>
<p>I started growing an avocado today. What secrets lie dormant within the oversized seed? Since the seed had already cracked down the middle by the time I dug it out of the avocado, I guess I have a few weeks&#8217; head start. Join me for a guacamole party in a few years, maybe.</p>
]]></content:encoded>
			<wfw:commentRss>http://inportb.com/2012/07/09/hello-avocado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>2</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>29</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>
	</channel>
</rss>
