<?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>Yann's Blog</title>
	<atom:link href="http://yannramin.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://yannramin.com</link>
	<description>Software and life</description>
	<lastBuildDate>Wed, 07 Jul 2010 20:04:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>DigiChrome 0.2 Now Available &#8211; Shareable links, single-page search results</title>
		<link>http://yannramin.com/2010/07/07/digichrome-0-2-now-available-shareable-links-single-page-search-results/</link>
		<comments>http://yannramin.com/2010/07/07/digichrome-0-2-now-available-shareable-links-single-page-search-results/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 20:04:59 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[DigiChrome]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=360</guid>
		<description><![CDATA[DigiChrome &#8211; DigiKey Enhancements now has version 0.2 available through the Chrome Extensions Gallery. The extension will auto-update, but you must re-enable it when prompted for it to function. The permissions have changed in order to allow some new features to work. New in this version: Multi-page loading of search results &#8211; loads up to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://yannramin.com/wp-content/uploads/digichrome_ss4smal.png"><img src="http://yannramin.com/wp-content/uploads/digichrome_ss4smal.png" alt="" title="digichrome_ss4smal" width="528" height="182" align="right" class="alignright size-full wp-image-361" /></a> <a href="https://chrome.google.com/extensions/detail/micdjccnffipgjiidgldfekaokmcbipi?hl=en-US">DigiChrome &#8211; DigiKey Enhancements</a> now has version 0.2 available through the Chrome Extensions Gallery. The extension will auto-update, but you <em>must</em> re-enable it when prompted for it to function. The permissions have changed in order to allow some new features to work.</p>
<p>New in this version:</p>
<ol>
<li>Multi-page loading of search results &#8211; loads up to 20 pages in one search results page (configurable). Loading progress indicator is also displayed, and the Next and Previous links are updated to skip 20 pages at a time. </li>
<li>Get shareable links to search results and filter pages, shorten links with Bit.ly!</li>
<li>New options link on search pages.</li>
</ol>
<h3>Git repository</h3>
<p>DigiChrome is Open Source, and available as source from <a href="http://gitorious.org/digichrome">http://gitorious.org/digichrome</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/07/07/digichrome-0-2-now-available-shareable-links-single-page-search-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DigiKey Enhancements Chrome Extension</title>
		<link>http://yannramin.com/2010/07/06/digikey-enhancements-chrome-extension/</link>
		<comments>http://yannramin.com/2010/07/06/digikey-enhancements-chrome-extension/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 00:58:59 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[DigiChrome]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=358</guid>
		<description><![CDATA[Ever got frustrated with DigiKey.com&#8216;s interface, specifically the &#8220;In Stock&#8221; checkbox and the limited size of the search selector boxes? Are you using Google Chrome? Then get my Chrome DigiKey Enhancements extension now! The current version: Adjusts the height of the search selector boxes to a user configurable value Auto-checks all &#8220;In Stock&#8221; checkboxes (when [...]]]></description>
			<content:encoded><![CDATA[<p>Ever got frustrated with <a href="http://www.digikey.com/">DigiKey.com</a>&#8216;s interface, specifically the &#8220;In Stock&#8221; checkbox and the limited size of the search selector boxes? Are you using <a href="http://www.google.com/chrome/">Google Chrome</a>?</p>
<p><a href="https://chrome.google.com/extensions/detail/micdjccnffipgjiidgldfekaokmcbipi?hl=en-US">Then get my Chrome DigiKey Enhancements extension now!</a></p>
<p>The current version:</p>
<ol>
<li>Adjusts the height of the search selector boxes to a user configurable value</li>
<li>Auto-checks all &#8220;In Stock&#8221; checkboxes (when configured)</li>
</ol>
<p>The extension has an options pages (under the Tools->Extension page, click &#8220;Options&#8221; under DigiKey Enhancements) which allows you to pick which modifications the extension performs.</p>
<p>Untested: International DigiKey pages, full ordering workflow.</p>
<p>More features coming soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/07/06/digikey-enhancements-chrome-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minor site updates</title>
		<link>http://yannramin.com/2010/06/08/minor-site-updates/</link>
		<comments>http://yannramin.com/2010/06/08/minor-site-updates/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 03:38:27 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[EVE-Central]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=355</guid>
		<description><![CDATA[EVE-Central has received a minor site update today. Two new features were introduced: The usesystem parameter is now supported on the marketstat API call. Statistics are now recalculated on upload, flushing any cached data. The point-in-time statistics are now stored as well, which will lead to a future site feature. Feel free to submit futher [...]]]></description>
			<content:encoded><![CDATA[<p>EVE-Central has received a minor site update today. Two new features were introduced:</p>
<ul>
<li>The <tt>usesystem</tt> parameter is now supported on the <tt>marketstat</tt> API call.</li>
<li>Statistics are now recalculated on upload, flushing any cached data. The point-in-time statistics are now stored as well, which will lead to a future site feature.</li>
</ul>
<p>Feel free to submit futher patches and features. I have a few patches to merge into Contribtastic and the website once they are tested.</p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/06/08/minor-site-updates/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tyrannis Cache Trouble</title>
		<link>http://yannramin.com/2010/05/26/tyrannis-cache-trouble/</link>
		<comments>http://yannramin.com/2010/05/26/tyrannis-cache-trouble/#comments</comments>
		<pubDate>Thu, 27 May 2010 06:08:50 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[EVE-Central]]></category>

		<guid isPermaLink="false">http://yannramin.com/2010/05/26/tyrannis-cache-trouble/</guid>
		<description><![CDATA[I am working on the cache format change that was released in the latest EVE release. This may take a few days to sort out.]]></description>
			<content:encoded><![CDATA[<p>I am working on the cache format change that was released in the latest EVE release. This may take a few days to sort out. </p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/05/26/tyrannis-cache-trouble/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Contribtastic Alpha 5 Available</title>
		<link>http://yannramin.com/2010/05/11/contribtastic-alpha-5-available/</link>
		<comments>http://yannramin.com/2010/05/11/contribtastic-alpha-5-available/#comments</comments>
		<pubDate>Wed, 12 May 2010 05:20:04 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[EVE-Central]]></category>

		<guid isPermaLink="false">http://yannramin.com/2010/05/11/contribtastic-alpha-5-available/</guid>
		<description><![CDATA[My Windows build machine is up and running again. Alpha 5 of Conttibtastic is prepackaged for testing.]]></description>
			<content:encoded><![CDATA[<p>My Windows build machine is up and running again. Alpha 5 of Conttibtastic is prepackaged for testing. </p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/05/11/contribtastic-alpha-5-available/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Contribtastic Alpha5 is coming soon</title>
		<link>http://yannramin.com/2010/05/10/contribtastic-alpha5-is-coming-soon/</link>
		<comments>http://yannramin.com/2010/05/10/contribtastic-alpha5-is-coming-soon/#comments</comments>
		<pubDate>Tue, 11 May 2010 05:51:34 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[EVE-Central]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=351</guid>
		<description><![CDATA[As many of you noticed, Contribtastic Alpha4 is bugged. The code is fixed, but I haven&#8217;t had a functioning Windows build machine to turn the handle on in order to produce the installer package. Stay tuned.]]></description>
			<content:encoded><![CDATA[<p>As many of you noticed, Contribtastic Alpha4 is bugged. The code is fixed, but I haven&#8217;t had a functioning Windows build machine to turn the handle on in order to produce the installer package. Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/05/10/contribtastic-alpha5-is-coming-soon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Contribtastic Alpha4 Available</title>
		<link>http://yannramin.com/2010/04/27/contribtastic-alpha4-available/</link>
		<comments>http://yannramin.com/2010/04/27/contribtastic-alpha4-available/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 06:58:15 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[EVE-Central]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=349</guid>
		<description><![CDATA[A new version of Contribtastic, the 100% open source cache reading uploader, is now available. If you&#8217;ve been hit with the data.pickle corruption bug from previous versions, this is an essential upgrade. Next release may actually add the CSV export option along with re-implementing login functionality. Contributions welcome!]]></description>
			<content:encoded><![CDATA[<p>A new version of <a href="http://dev.eve-central.com/contribtastic/start">Contribtastic</a>, the 100% open source cache reading uploader, is now available. If you&#8217;ve been hit with the data.pickle corruption bug from previous versions, this is an essential upgrade.</p>
<p>Next release may actually add the CSV export option along with re-implementing login functionality. Contributions welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/04/27/contribtastic-alpha4-available/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ELC Wrap-up: Good presentations and things to watch in Kernel land</title>
		<link>http://yannramin.com/2010/04/19/elc-wrap-up-good-presentations-and-things-to-watch-in-kernel-land/</link>
		<comments>http://yannramin.com/2010/04/19/elc-wrap-up-good-presentations-and-things-to-watch-in-kernel-land/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 05:49:12 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=344</guid>
		<description><![CDATA[I had the privilege of attending the Embedded Linux Conference in San Francisco this year. All in all it was a great experience, especially the networking opportunities with other developers working on core functionality. Personally, I found the following presentations and technologies the most memorable: Linux Without a Bootloader (Greg Ungerer) &#8211; A well paced [...]]]></description>
			<content:encoded><![CDATA[<p>I had the privilege of attending the <a href="http://www.embeddedlinuxconference.com/elc_2010/index.html">Embedded Linux Conference</a> in San Francisco this year. All in all it was a great experience, especially the networking opportunities with other developers working on core functionality. Personally, I found the following presentations and technologies the most memorable:</p>
<ul>
<li><a href="http://elinux.org/images/7/7b/LinuxWithoutABootLoader.pdf">Linux Without a Bootloader</a> (Greg Ungerer) &#8211; A well paced example on booting Linux without a direct bootloader (for NOR flash) or without U-Boot (for NAND flash). Good demos, and a good discussion post presentation. This will be an approach I will try in future systems, combined with <i>Kexec</i>
</li>
<li><b>Kexec &#8211; Ready for embedded Linux?</b> (Magnus Damm) &#8211; A good talk discussing the Kexec framework on embedded systems &#8211; especially relevant after Greg&#8217;s talk</li>
<li><a href="http://elinux.org/images/e/e6/Gregkh-android-presentation-celf2010.tar.gz">Android: A Case Study of an Embedded Linux Project</a> &#8211; All around fun, and highlighting some of the problems with the current fork of Android. The only thing this keynote could have done better is presenting at least one concrete example of how mainlining reduces overhead for the developers. Not that I don&#8217;t agree with Greg, but it would be great to use this keynote as ammunition in all companies.</li>
<li><a href="http://elinux.org/images/b/b6/ARM_Device_Tree_Status_Report.pdf">Flattened Device Tree ARM Support Update</a> (Grant Likely) &#8211; In the &#8220;things to watch&#8221; camp is the upcoming unification of the flattened device tree support in PowerPC and SPARC, adding ARM support. This will be something to hack on to make sure all the various system drivers work correctly, and something I will be tracking.</li>
<li><a href="http://people.redhat.com/srostedt/ftrace-embedded.odp">Ftrace &#8211; Embedded Edition</a> (Steven Rostedt) &#8211; A very energetic example of what FTrace can do for you, and the announcement of trace-cmd and kernelshark. This will be going into my toolchest.</li>
<li><a href="http://elinux.org/images/1/1f/Status-of-embedded-Linux-2010-04-ELC.odp">State of Embedded Linux</a> (Tim Bird) &#8211; Overviews can be drab and boring, but this was enough context to bring in people who don&#8217;t follow lkml on a daily basis. And Tim, I will test out LogFS and ramzswap on my systems and report back <img src='http://yannramin.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li><a href="http://elinux.org/images/5/5f/ELC2010-gc-sections_Denys_Vlasenko.odp">Link Time Dead Code and Data Elimination Using GNU Toolchain</a> (Denys Vlasenko) &#8211; A good overview on the current support and caveats with -function-sections and &#8211;gc-sections in the GNU toolchain. Could have used some more technical insight, but the discussions it triggered generally filled any holes.</li>
<li><a href="http://elinux.org/images/9/9f/ELC2010-memory-saving-takahashi.pdf">A Consideration of Memory Saving by Efficient Mapping of Shared Libraries	</a> &#8211; A very indepth technical discussion which is invaluable for very small systems. The slides are great as well.</li>
</ul>
<p>This is hardly a complete list of the talks I went to, and only reflects some of the most interesting and relevant areas to me (sorry, I don&#8217;t do much RT or media). To those not mentioned, I still enjoyed hearing you speak!</p>
<p>And yes, I do have a shiny new free <a href="http://www.google.com/phone">Nexus One</a> thanks to Chris DiBona and all of Google. You still should work on mainlining your code though <img src='http://yannramin.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/04/19/elc-wrap-up-good-presentations-and-things-to-watch-in-kernel-land/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MSP430 BSL Attacks, new F5xxx series, musings</title>
		<link>http://yannramin.com/2010/01/14/msp430-bsl-attacks-new-f5xxx-series-musings/</link>
		<comments>http://yannramin.com/2010/01/14/msp430-bsl-attacks-new-f5xxx-series-musings/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 07:41:07 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[EVE-Central]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[StackFoundry]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=341</guid>
		<description><![CDATA[I thought I&#8217;d do a small interlude into the embedded hardware and firmware space (which is generally my main area of work) from the normal EVE-Central heavy side of this blog. I have been musing about the code security protections of the MSP430 micro-controller, specifically the Boot Strap Loader (BSL), which remains enabled at all [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d do a small interlude into the embedded hardware and firmware space (which is generally my main area of work) from the normal EVE-Central heavy side of this blog. I have been musing about the code security protections of the <a href="http://ti.com/msp430">MSP430 micro-controller</a>, specifically the Boot Strap Loader (BSL), which remains enabled at all times, even if the JTAG interface is disabled (via a fuse on most MSP430s).</p>
<p>The BSL disallows memory reads and writes until a &#8220;password&#8221; has been transmitted over the serial interface. The password is actually a copy of the interrupt vectors (32bytes) used by the micro-controller, which limits the entropy available by a significant margin: addresses are all even aligned, reset vector is generally start of flash, many interrupt vectors will be identical, general case has all interrupt vectors located in flash. The only defense against this low-entropy brute force attack is the rate limit of the BSL: some versions of the BSL prevent you from changing from 9600 baud until after the password has been verified. However, on devices with small amounts of flash (say, 8Kib), there are only about 61,000 passwords generally in use, which reduces the search time tremendously. </p>
<p>Some BSL versions are also susceptible to side channel attacks are discussed in this paper:<br />
<a href="http://events.ccc.de/congress/2008/Fahrplan/attachments/1191_goodspeed_25c3_bslc.pdf">Practical Attacks against the MSP430 BSL</a></p>
<p>Texas Instruments has improved code security on the new F5xxx series devices in a drastic way:<i> an invalid password will cause a complete device erase.</i> Note that the flash memory also differs from the previous generation devices by being rated to erase and program as low as 1.8V (where the core voltage normally sits &#8211; the 5 series has an integrated LDO).</p>
<p>I can see two possible attack vectors &#8211; undervoltage to the entire processor (I have a &#8217;5438A running as low as 1.5V, however the BSL is not yet tested down here), or &#8220;glitching&#8221; the processor (in this case, complete power down) if the start bit of the acknowledgement packet is not transmitted within an allowable window. The second scenario can be defended against in the BSL firmware (delay the acknowledge by a large value).</p>
<p>I have not tried either of these attacks on the 5xxx series yet (specifically, the 5438 and 5438A). Generally, there are easier ways to attack processors to capture embedded code, or simply replicate external functionality based on observed behavior (code security is not on most programmers&#8217; minds). If small-memory variants of the 5xxx series become available (to allow the brute-force searching of the keyspace), the flash memory erase issue would have to be overcome. </p>
<p>In the mean time, you can use some chip disassembly techniques from <a href="http://www.flylogic.net/blog/">Flylogic</a>. </p>
<p>On another note, I will be announcing a security related, open source hardware project shortly. Its been keeping me distracted from EVE-Central (trade route tool version 2, specifically), Contribtastic, and working on the EVE-Metrics/EVE-Central unified uploader. </p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2010/01/14/msp430-bsl-attacks-new-f5xxx-series-musings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>About rle_unpack in libevecache</title>
		<link>http://yannramin.com/2009/12/28/about-rle_unpack-in-libevecache/</link>
		<comments>http://yannramin.com/2009/12/28/about-rle_unpack-in-libevecache/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 20:07:05 +0000</pubDate>
		<dc:creator>Yann</dc:creator>
				<category><![CDATA[EVE-Central]]></category>

		<guid isPermaLink="false">http://yannramin.com/?p=332</guid>
		<description><![CDATA[I have had several questions regarding the &#8220;rle_unpack&#8221; function in libevecache. In order to not repeat myself in e-mails, I decided to make a quick post describing the logic: The market rows are compressed with an odd variant of run-length-encoding. In this case, the extra &#8220;0&#8243; bytes are suppressed and encoded into one byte. The [...]]]></description>
			<content:encoded><![CDATA[<p>I have had several questions regarding the <a href="http://gitorious.org/libevecache/libevecache/blobs/master/lib/parser.cpp#line42">&#8220;rle_unpack&#8221;</a> function in <a href="http://gitorious.org/libevecache/">libevecache</a>. In order to not repeat myself in e-mails, I decided to make a quick post describing the logic:</p>
<p>The market rows are compressed with an odd variant of run-length-encoding. In this case, the extra &#8220;0&#8243; bytes are suppressed and encoded into one byte.</p>
<p>The row starts with a opcode byte, which is split as follows (high bit to low bit). You can find this broken out in the struct packer_opcap.<br />
<code><br />
x  x  x  t  y  y  y b<br />
7 6 5 4 3 2 1 0<br />
</code></p>
<p>There &#8220;t&#8221; is a flag to say &#8220;unpack 0s&#8221; if the bit is set, and &#8220;copy from source&#8221; if the bit is not set.  So if the bit is set, &#8220;XXX&#8221; bytes of &#8220;0&#8243; are copied to the output buffer, and if its not set, &#8220;XXX&#8221; bytes are copied from the input to the output.</p>
<p>This repeats with B and YYY. After one opcode byte has been processed, the next opcode byte is read, or processing is terminated if the input buffer has been exhausted. </p>
<p>This took a fair bit of time to figure out, with lots of sample data and market logs as the study set. </p>
<p>How much space does it save per order row? About 10-30%, from my samples. </p>
]]></content:encoded>
			<wfw:commentRss>http://yannramin.com/2009/12/28/about-rle_unpack-in-libevecache/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.317 seconds -->
<!-- Cached page served by WP-Cache -->
