<?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>TDI Web Log</title>
	<atom:link href="http://blog.tempusdictum.com/index.php/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.tempusdictum.com</link>
	<description>Cognitive Tools</description>
	<lastBuildDate>Tue, 01 Nov 2011 16:17:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>D2G Cricket Settings on CyanogenMod 7.1.0</title>
		<link>http://blog.tempusdictum.com/index.php/gepr/uncategorized/d2g-cricket-settings-on-cyanogenmod-710</link>
		<comments>http://blog.tempusdictum.com/index.php/gepr/uncategorized/d2g-cricket-settings-on-cyanogenmod-710#comments</comments>
		<pubDate>Tue, 01 Nov 2011 00:19:20 +0000</pubDate>
		<dc:creator>gepr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=83</guid>
		<description><![CDATA[I recently installed the CyanogenMod ROM on my Droid 2 Global.  Up to now, I&#8217;ve had to take the phone to the Cricket guy to change the settings so that the 3G data connection would work.  Perhaps I could have done it myself then, but I didn&#8217;t take the time to figure it out.  Anyway, ]]></description>
			<content:encoded><![CDATA[<p>I recently installed the CyanogenMod ROM on my Droid 2 Global.  Up to now, I&#8217;ve had to take the phone to the Cricket guy to change the settings so that the 3G data connection would work.  Perhaps I could have done it myself then, but I didn&#8217;t take the time to figure it out.  Anyway, I can now do it without that occult, crufty, Windows-centric method.  I learned the basics from here:</p>
<p><a href="http://www.droidforums.net/forum/droid-general-discussions/86800-custom-roms-cricket-network.html#post886957">http://www.droidforums.net/forum/droid-general-discussions/86800-custom-roms-cricket-network.html#post886957</a></p>
<p>which is a post-flash version of this:</p>
<p><a href="http://www.howardforums.com/showthread.php/1643218-Motorola-Droid-Full-Solution-Updated">http://www.howardforums.com/showthread.php/1643218-Motorola-Droid-Full-Solution-Updated</a></p>
<p>I modified the process a bit, though.  So, here&#8217;s what I did:</p>
<ol>
<li>Get <a href="http://www.whiterabbit.org/android/u2nl.zip">http://www.whiterabbit.org/android/u2nl.zip</a></li>
<li>Push u2nl.zip onto the sdcard either with ADB or USB mount.</li>
<li>Shell into the D2G with ADB or use the Term.app and mount the /system &#8220;rw&#8221;:
<pre>mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system</pre>
</li>
<li>Unzip the contents of u2nl.zip onto the sdcard:
<pre>cd /sdcard; unzip u2nl.zip</pre>
</li>
<li>Copy the u2nl executable to /system/bin:
<pre>cp /sdcard/u2nl/u2nl /system/bin/
chmod 755 /system/bin/u2nl</pre>
</li>
<li>Create a startup script to execute the commands in autostart.sh:
<pre>cp /sdcard/u2nl/autostart/motodroid/cricket/autostart.sh /etc/init.d/99cricket
chmod 750 /etc/init.d/99cricket
chgrp shell /etc/init.d/99cricket</pre>
</li>
<li>Delete the <code>exit 0</code> on the last line of the <code>99cricket</code> script.</li>
<li>Exit the Term.app or the ADB shell.</li>
<li>Menu-&gt;Settings-&gt;Wireless &amp; Networks-&gt;Mobile Networks-&gt;Access Point Names</li>
<li>Add the following APN:
<ul>
<li>Name &#8211; Cricket</li>
<li>APN &#8211; internet</li>
<li>Proxy &#8211; wap.mycricket.com</li>
<li>Port &#8211; 8080</li>
<li>Username &#8211; yourphonenumber@mycricket.com</li>
<li>Password &#8211; cricket</li>
<li>Server &#8211; wap.mycricket.com</li>
<li>MMSC &#8211; http://mms.mycricket.com/servlets/mms</li>
<li>MMS Proxy &#8211; wap.mycricket.com</li>
<li>MMS Port &#8211; 8080</li>
<li>MCC &#8211; 310</li>
<li>MNC &#8211; 004</li>
<li>Authentication Type &#8211; PAP or CHAP</li>
<li>APN type &#8211; &lt;Not set&gt;</li>
</ul>
<p>And don&#8217;t forget to hit Menu-&gt;Save.</li>
<li>Reboot</li>
</ol>
<p>And just for reference, the commands in the autostart.sh/99cricket file are:</p>
<pre>

#!/system/bin/sh

## set up the iptables for cricket

export PATH="$PATH:/system/bin"
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -A OUTPUT -o ppp0 -p 6 ! -d 10.132.25.254 -j REDIRECT --to-port 1025
u2nl 10.132.25.254 8080 127.0.0.1 1025 >/dev/null 2>&#038;1 &#038;
sh -c "sleep 5;kill `ps|grep nk.bla.android.autostart|grep -v grep|awk '{print $2}'`" &#038;
</pre>
<p>Thanks to <a href="http://www.whiterabbit.org/android/">http://www.whiterabbit.org/android/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/gepr/uncategorized/d2g-cricket-settings-on-cyanogenmod-710/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Axiom of Regularity and AFA theorem decidability</title>
		<link>http://blog.tempusdictum.com/index.php/gepr/uncategorized/regularity-decidability</link>
		<comments>http://blog.tempusdictum.com/index.php/gepr/uncategorized/regularity-decidability#comments</comments>
		<pubDate>Tue, 05 Apr 2011 22:44:36 +0000</pubDate>
		<dc:creator>gepr</dc:creator>
				<category><![CDATA[M&S]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[modeling and simulation]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=82</guid>
		<description><![CDATA[Representations seem separable from their interpretive context because of the false dichotomy implied by the von Neumann architecture, which is implied by the constructable sets allowed by von Neumann's axiom of regularity]]></description>
			<content:encoded><![CDATA[<p>Below are some thoughts I had in relation to an e-mail discussion where the following question arose: What is a representation?  The arching context of this discussion was a seminar exploring the psychological theory that feelings are a form of self-perception.  I.e. if self-perception theory is true, this would explain the abundance of clinical evidence showing that feelings follow behaviors rather than preceding them.</p>
<p>In any case, the group has a large contingent of technical types and the discussion of representation eventually raised the question of the difference between processes and things, verbs and nouns, [en|de]coders and an encoding, or code and data.  The underlying <em>itch</em> seems to be the concept of self-modifying processes or, in computer science terms, code as data and data as code.  It seemed to me the holistic thinkers see an aspect to living things, organisms, that is not present in machines.  (This inarticulate distinction isn&#8217;t new, of course.  Great minds have been trying to tease them apart for millenia.  And my puny mind won&#8217;t add anything to what they&#8217;ve already done.  But this blog has gotten a bit stale; so I must post something.)</p>
<p>The group seemed to have stalled at the ontological status of a representation.  Such a thing seems to have an autonomy all on its own.  For example, if you scratch an image of your grandmother into a piece of granite, then humanity goes extinct, do those scratches on the granite still represent your grandmother?  Or are they then just meaningless scratches on a rock?  To what extent is the decoding process required for an encoded artifact to still be meaningful?</p>
<p>Anyway, this obviously raises all sorts of questions for anyone who likes to think deeply or completely.  But the (shallow and incomplete) question it raises to me is fairly common to all the philosophical problems I think about: circular reference.  In logic, an impredicative definition is one that defines an object using a quantification over all the other objects like the object being defined.  In other words, it&#8217;s a self-referencing definition.  It&#8217;s im-predicative simply because it&#8217;s not predicative.  In the foundations of math, it boils down to von Neumann&#8217;s Axiom of Regularity, which states that sets cannot have elements that, when cracked open, contain elements present anywhere in the cumulative hierarchy of sets above them.  In other words, the set hierarchy cannot contain loops.</p>
<p>It seems to me that an organism, and in particular those of us who are capable of using symbols to communicate with one another, is impredicatively defined in terms of its environment.  The symbols used are in constant redefinition as the organism and its environment evolve.  Hence, any representation, e.g. of the environment by the organism or of the organism by the environment, will be self-referential and inseparable from its context.</p>
<p>So, this leads me to ask why we ascribe ontological status to representations?  Why do we think the image of a grandmother scratched into a rock will persist as a representation?  I think the answer lies in how we count, which is (probably) based on the fact that we have fingers, digits.  We count ordinally: 1, 2, 3 &#8230;.  And because we do so, our intuitive concept of numbers and sets of things is constructive.  Abstractly, math is about grammar, sentences, consistency, and completeness.  But concretely, math is about how we relate large bunches of things to small bunches of things, 100 cows to 10 bails of hay, 10 fingers to a billion stars, etc.</p>
<p>When considering these relationships, abstract or concrete, various problems arise like how to represent nothing, the result of taking away 6 cows from a total of 6 cows to give you no cows.  How does one represent no cows?  Infinity and density are other such problems.  What lies after the largest number to which you can count?  What lies between two very close numbers?  Etc.</p>
<p>In the course of handling some of these issues, von Neumann formulated a constraint (regularity) to avoid unconstructable, cyclic set hierarchies.  Later, Turing came up with the &#8220;halting problem&#8221;: given a step-by-step procedure, decide whether the procedure halts or continues forever.  These sorts of problem obviously depend critically on construction.  Whether you can tell if a procedure will halt depends on whether and how it can be constructed.  </p>
<p>It is this sense of constructability and automatic deduction (no consciousness required), that I think leads to ascribing more ontological status to representations/encodings than is objectively warranted.  Another interesting twist arises because so many people use the computer as a metaphor for organisms, the hardware is likened to the body and the software is likened to the mind.  But again, this metaphor raises the hackles of those who think organisms are categorically different from machines.</p>
<p>We can seamlessly use the term &#8220;representation&#8221; to mean a thought in the mind of an organism and an encoding in the software of a machine.  But the character of the term changes between the two usages.  Saying &#8220;the computer uses a representation of your grandmother&#8221; is very different to an ordinary layperson than saying &#8220;you have a representation of your grandmother in your mind&#8221;.</p>
<p>Perhaps this goes back to the axiom of regularity in that the most common modern computer architecture is the von Neumann architecture, where the CPU (process) is categorically distinct from the memory (objects) upon which it operates.  These modern computers function by counting, constructing one state from previous states.  That separation between the CPU and the memory disallows cyclic sets.  At any given time, the objects in the memory can be enumerated, which would not be true without the axiom of regularity.  No register can be a member of itself.</p>
<p>Of course, we can simulate circularity by first enumerating some of the set, then moving the CPU pointer back to a register it already finished reading and letting it read again from that same register.  But this is not a circular or impredicative definition because at any particular time, the memory is completely, acyclically, enumerable.  I take this to imply that a von Neumann architecture is incapable of realizing a non-well-founded set.</p>
<p>Of course, I&#8217;m not really a mathematician and I&#8217;m certainly not a meta-mathematician.  So, my intuition and/or reasoning could be completely off.  One discussant pointed out that an alternative set of axioms, called AFA (Anti-Foundation Axiom, which refers to the ZFC without the axiom of regularity plus the anti-foundation axiom) is just as <em>consistent</em> as ZFC (Zermelo-Fraenkel plus the Axiom of Choice).  And others[1] point out that AFA and ZFC are shown to be &#8220;mutually interpretable&#8221;.  So, perhaps this means that a sentence in AFA, involving a cyclic set (not possible in ZFC), can be &#8220;constructed&#8221; by first transforming the sentence into some equivalent in ZFC, constructing that in the normal way, then transforming it back.  This would mean that a von Neumann architecture machine, although based in the intuitive counting-based construction with which we&#8217;re familiar, would still be able to compute AFA sentences &#8230; kinda like transforming a problem from the time domain into the frequency domain, solving it there, and transforming it back.  I don&#8217;t know.  But it sure seems suspicious to me.</p>
<p>In any case, perhaps my suspicion is evidence that I&#8217;ve bought into the false dichotomy von Neumann so insidiously implanted in our modern, digitally myopic minds?  Perhaps representations (or symbols, in general) really do become entirely meaningless when violently torn from their context?</p>
<p>[1] http://research.microsoft.com/pubs/70350/tr-2006-138.pdf</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/gepr/uncategorized/regularity-decidability/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plain text message composition citation color in Thunderbird</title>
		<link>http://blog.tempusdictum.com/index.php/gepr/uncategorized/ptmcccit</link>
		<comments>http://blog.tempusdictum.com/index.php/gepr/uncategorized/ptmcccit#comments</comments>
		<pubDate>Thu, 24 Feb 2011 23:15:58 +0000</pubDate>
		<dc:creator>gepr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=81</guid>
		<description><![CDATA[Because it took me awhile to find this, I want to document it here. You can change much of the preferences in Thunderbird through the GUI. And you can change them directly with the Edit -&#62; Preferences -&#62; Advanced -&#62; General -&#62; Config Editor. But there doesn&#8217;t seem to be a way to set the ]]></description>
			<content:encoded><![CDATA[<p>Because it took me awhile to find this, I want to document it here.  You can change much of the preferences in Thunderbird through the GUI.  And you can change them directly with the Edit -&gt; Preferences -&gt; Advanced -&gt; General -&gt; Config Editor.  But there doesn&#8217;t seem to be a way to set the color of the cited text in a plain text reply.  In order to change that, you have to edit/create this file:</p>
<pre>/home/[username]/.mozilla-thunderbird/[profile].default/chrome/userContent.css
</pre>
<p>In that file, place the following CSS clause:</p>
<pre>span[_moz_quote=true] {
color: pink ! important;
}
</pre>
<p>But shut Thunderbird down before you edit that file.  Thanks to <a title="Reply Quote Colour in Plaintext " href="http://forums.mozillazine.org/viewtopic.php?f=39&amp;t=513670" target="_blank">this forum thread</a> for the answer.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/gepr/uncategorized/ptmcccit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Maverick (10.10) EC2 images</title>
		<link>http://blog.tempusdictum.com/index.php/gepr/uncategorized/ubuntu-maverick-1010-ec2-images</link>
		<comments>http://blog.tempusdictum.com/index.php/gepr/uncategorized/ubuntu-maverick-1010-ec2-images#comments</comments>
		<pubDate>Fri, 21 Jan 2011 00:28:23 +0000</pubDate>
		<dc:creator>gepr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=80</guid>
		<description><![CDATA[There were two obscure tricks to getting new EC2 Ubuntu Maverick (10.10) images for running our In Silico Liver Simulation: change /boot/grub/menu.lst root=LABEL=uec-rootfs to root=/dev/sda1, and copying some kernel modules so that nfs-kernel-server will work. link]]></description>
			<content:encoded><![CDATA[<p>There were two obscure tricks to getting new EC2 Ubuntu Maverick (10.10) images for running our In Silico Liver Simulation:</p>
<ol>
<li>change /boot/grub/menu.lst root=LABEL=uec-rootfs to root=/dev/sda1, and</ul>
<li>copying some kernel modules so that nfs-kernel-server will work. <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/659084">link</a></ul>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/gepr/uncategorized/ubuntu-maverick-1010-ec2-images/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expanding an VirtualBox XP system disk</title>
		<link>http://blog.tempusdictum.com/index.php/gepr/system-admin/expanding-an-virtualbox-xp-system-disk</link>
		<comments>http://blog.tempusdictum.com/index.php/gepr/system-admin/expanding-an-virtualbox-xp-system-disk#comments</comments>
		<pubDate>Wed, 01 Sep 2010 23:19:35 +0000</pubDate>
		<dc:creator>gepr</dc:creator>
				<category><![CDATA[System Admin]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=79</guid>
		<description><![CDATA[After spending an extraordinary amount of time trying to figure out why I couldn&#8217;t get NTFSResize to work, I finally found Seppe vanden Broucke&#8217;s log entry. For posterity, I&#8217;ll record what I did, here, following partly the instructions in the original post and one commenter&#8217;s modification: Get the SysRescCD ISO image. (Any live linux CD ]]></description>
			<content:encoded><![CDATA[<p>After spending an extraordinary amount of time trying to figure out why I couldn&#8217;t get <a href="http://darkstar.ucd.ie/timosh/links/ntfsresize.html">NTFSResize</a> to work, I finally found <a href="http://blog.macuyiko.com/2008/09/virtualbox-expanding-disk-drive.html">Seppe vanden Broucke&#8217;s log entry</a>.  For posterity, I&#8217;ll record what I did, here, following partly the instructions in the original post and one commenter&#8217;s modification:</p>
<ol>
<li>Get the <a href="http://www.sysresccd.org/Main_Page">SysRescCD</a> ISO image.  (Any live linux CD should work, including <a href="http://www.knopper.net/knoppix/index-en.html">Knoppix</a>.)</li>
<li>Create a new (larger) VirtualBox disk image (*.vdi) from within VirtualBox.</li>
<li>In the VirtualBox Details tab for your Windows instance, set your original VDI as the IDE Primary Master.</li>
<li>Set the new (empty) VDI as the IDE Primary Slave.</li>
<li>And set the linux ISO as the CD/DVD IDE Secondary Master.</li>
<li>Ensure that the instance is set to boot from the CD/DVD first in System->Boot Order.</li>
<li>Boot the instance.</li>
<li>At the command line, run<br />
<code>fdisk -l /dev/sda</code><br />
You should see a partition there of type 7, NTFS.</li>
<li>Then run<br />
<code>fdisk -l /dev/sdb</code><br />
You should see an error message that says there is no partition on that device.</li>
<li>Then run the command:<br />
<code>dd if=/dev/sda of=/dev/sdb</code><br />
This will take a long time.  It means copy from the input file /dev/sda to the output file /dev/sdb.</li>
<li>Shutdown the system with:<br />
<code>shutdown -h now</code></li>
<li>Change the Storage->IDE Secondary Master (CD/DVD) from the ISO image to your regular optical drive, or remove it completely so that it will boot into the original (small) Windows image.</li>
<li>In Windows, select Start->Run&#8230; and type:<br />
<code>diskpart.exe</code></li>
<li>Type:<br />
<code>select disk 1</code><br />
to select the (large) disk.</li>
<li>Type:<br />
<code>list disk</code><br />
to see that you&#8217;ve selected the right one with the right size.</li>
<li>Type:<br />
<code>select partition 1</code><br />
to select the 1st partition on that disk.</li>
<li>Type:<br />
<code>list partition</code><br />
to see that you&#8217;ve selected the right partition.</li>
<li>Type:<br />
<code>extend</code><br />
to extend the volume all the way to the end of the device.</li>
<li>Turn off the virtual instance and select the new (larger) VDI as the Storage->IDE Primary Master.</li>
<li>Boot the instance again and you should have a larger system (C:) disk.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/gepr/system-admin/expanding-an-virtualbox-xp-system-disk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>98-all-your-atmel-belong-to-us</title>
		<link>http://blog.tempusdictum.com/index.php/don/system-admin/98-all-your-atmel-belong-to-us</link>
		<comments>http://blog.tempusdictum.com/index.php/don/system-admin/98-all-your-atmel-belong-to-us#comments</comments>
		<pubDate>Wed, 14 Jul 2010 07:03:28 +0000</pubDate>
		<dc:creator>don</dc:creator>
				<category><![CDATA[System Admin]]></category>
		<category><![CDATA[ubuntu debian foobar udev]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=78</guid>
		<description><![CDATA[Foobarred is Normal Recently I started using my linux laptop as my primary avr-usb development environment. When I upgraded the laptop to the current Ubuntu-LTS release (10.4 aka Lucid lynx) a bunch of stuff was broken including all of the wonderful udev rules provided by my linux savvy friends at dorkbotpdx. I mean jeesh even ]]></description>
			<content:encoded><![CDATA[<h2>Foobarred is Normal</h2>
<p>Recently I started using my linux laptop as my primary avr-usb development environment. When I upgraded the laptop to the current Ubuntu-LTS release (10.4 aka Lucid lynx) a bunch of stuff was broken including all of the wonderful udev rules provided by my linux savvy friends at dorkbotpdx.</p>
<p>I mean jeesh even lsusb was broken.</p>
<pre>$ lsusb -vd "03eb:"|grep iM
cannot read device status, Operation not permitted (1)
iManufacturer           1</pre>
<p>When I started looking at what changed and how to adjust, the web dead ended to a lot of threads like the one at <a href="http://ubuntuforums.org/showthread.php?t=1360412" target="_blank">http://ubuntuforums.org/showthread.php?t=1360412</a> ; where two people declared that having to escalate privileges to root in order to talk to a user device was &#8220;normal&#8221;. Even when the developer said it wasn&#8217;t normal the ubuntu folk redeclared it normal (apparently after Bush you just have to repeat something blatantly stupid for it to be true). As an administrator the <strong><em>last</em></strong> thing you want is everything and its dog requiring root privileges.</p>
<p>Hanging around the #ubuntu channel was a lot like having people repeat the searches on the web that provided me with the same dead ends that I joined the channel trying to resolve.</p>
<h2>Cherchez la femme (look at the squeeze)</h2>
<p>This was getting stupid. All I wanted to do was to have devices that I could plug in and program and then communicate with them using ruby or perl or some other haphazzardly thrown together scripts without having to be root. Then I realized once again that ubuntu is really focused on making the users life easier and that this leads to a lot of non technical help. So I asked my friends what the nick name was for the Debian release that was the basis for the Ubuntu release nick named &#8220;Lucid&#8221; and then re did all of my dead ended web queries replacing &#8220;Ubuntu Lucid&#8221; with &#8220;Debian Squeeze&#8221;.</p>
<p>The results were heavy on the technical detail and light on social skills.</p>
<p>More importantly I quickly found the solution that I needed in the middle of <a href="http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=blob_plain&amp;f=README&amp;hb=HEAD" target="_blank">this link<em> (http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=blob_plain&amp;f=README&amp;hb=HEAD)</em></a> what I was missing was the difference between the new and the old udev rules.</p>
<p style="padding-left: 30px;"><em>&#8220;If you are running a newer version of udev (as in Debian Squeeze and<br />
Ubuntu 9.10), you need to adapt the rules-file to the new udev-version:<br />
sed -i -e &#8216;s/TEMPNODE/tempnode/&#8217; -e &#8216;s/SYSFS/ATTRS/g&#8217; -e &#8216;s/BUS/SUBSYSTEMS/&#8217; \<br />
/etc/udev/rules.d/xusbdfwu.rules&#8221;</em></p>
<p>One line of sed was all I needed and it had taken me a week of asking about <em>lucid</em> when i should have been asking about <em>squeeze</em>. With this I also was able to find the changes to the lay out of the /dev and /proc trees and the new tools to monitor udev and diagnose issues.</p>
<h2>All-Your-Atmel-Belong to Us</h2>
<p>I really just wanted to change the permissions so I could use my devices. Adding the following udev rule to your system will do just that.  You will also need to restart the udev service. Both of these will require you to be root.</p>
<pre># cat &gt;/etc/udev/rules.d/98-all-your-atmel-belong-to-us.rules&lt;&lt;EOF
#------------------------/etc/udev/rules.d/98-all-your-atmel-belong-to-us.rules
#
# Make atmel devices (dfu, LUFA, obdev) accessible in userland
# 
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", MODE="0666"
EOF
# service udev restart</pre>
<p>To actually own all my atmel I could have also added &#8216; ,USER=&#8221;don&#8221; &#8216; after the mode part but I just wanted to talk my Atmel  usb-avr devices and the open source firmware I was developing. And the above rule made things &#8220;just work&#8221;.</p>
<pre>$ lsusb -vd "03eb:"|grep iM
iManufacturer           1 mycompany.com
$</pre>
<p>This rule fixed all of my LUFA based devices including the my open source arduino programmer as well as the dfu programmer.used to code them. Hopefully it will be a while before I have to go through this again.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/don/system-admin/98-all-your-atmel-belong-to-us/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Sinatra from the Ubuntu Folk.</title>
		<link>http://blog.tempusdictum.com/index.php/don/uncategorized/more-sinatra-from-the-ubuntu-folk</link>
		<comments>http://blog.tempusdictum.com/index.php/don/uncategorized/more-sinatra-from-the-ubuntu-folk#comments</comments>
		<pubDate>Tue, 29 Jun 2010 21:13:42 +0000</pubDate>
		<dc:creator>don</dc:creator>
				<category><![CDATA[System Admin]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux ubuntu lucid]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=77</guid>
		<description><![CDATA[I remember when the kids decided that they wanted to adapt the unnecessarily complicated system V init system and I kissed the simple days goodbye (sometimes I miss early bsd/freebsd and sometimes i miss it alot). Nowadays even the sysv-init isnt complicated enough. We gotta have upstart. So after upgrading two systems to Lucid, I ]]></description>
			<content:encoded><![CDATA[<p>I remember when the kids decided that they wanted to adapt the unnecessarily complicated system V init system and I kissed the simple days goodbye (sometimes I miss early bsd/freebsd and sometimes i miss it alot). Nowadays even the sysv-init isnt complicated enough. We gotta have upstart.</p>
<p>So after upgrading two systems to Lucid, I can tell you that most of the details have been well paid attention to, and a few problems we were having with 9.10 and hardy actually got solved. But there is still stuff that wasn&#8217;t broken that the kids just had to fix. So without further adeau I will tell you how to get gdm (and X) to go away after you have installed sysv-rc configured it to runlevel 3 (multiuser &#8211; no x) and its still there.</p>
<h2>Setting the runtime.</h2>
<p>If you have a working inittab the existing scripts will reference it so you can skip to how to get rid of gdm.</p>
<p>if you don&#8217;t you will find that the default runlevel is set to 2 (linux&#8217;s &#8216;user defined&#8217; graphical runlevel since rc5 wasnt good enough for some reason) in /etc/init/rc-sysinit.conf. This should be changed to look like this.</p>
<pre># Default runlevel, this may be overriden on the kernel command-line
# or by faking an old /etc/inittab entry
env DEFAULT_RUNLEVEL=3</pre>
<p>rebooting and typing &#8220;runlevel&#8221; should verify the change.</p>
<h2>Why is gdm/X still running?</h2>
<p>Beats the begebes out of me. But if you want it to stop you need to edit the /etc/init/gdm.conf and comment out the &#8220;start on&#8221; conditions and change them so that they correspond to the appropriate runlevel.</p>
<pre>#start on (filesystem
#          and started dbus
#          and (graphics-device-added fb0 PRIMARY_DEVICE_FOR_DISPLAY=1
#               or drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
#               or stopped udevtrigger))
start on runlevel [24]
stop on runlevel [0136]</pre>
<h2>Grubby.</h2>
<p>If you don&#8217;t want gdm/x you probably don&#8217;t want the splash junk either. While /boot/grub/menu.lst allows you to set default options like nosplash every kernel upgrade i have done in the past year explicitly asks for quiet and splash way out at the end of each &#8220;kernel&#8221; line so just plan on hand editing the darned thing after each kernel update. I am sure you can uninstall splash but I prefer configuring things to keeping track of what needs to be uninstalled for a system to run correctly.</p>
<h2>Damned Kids.</h2>
<p>Hope this saves you some of your precious hair. All and all lucid (server and desktop) seems pretty sane and stable but they are still fixing things whether or not they were broken.</p>
<p><em>Dont even get me started on last weeks apparmor configuration update busting our dns. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/don/uncategorized/more-sinatra-from-the-ubuntu-folk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tracing Multiscale Mechanisms of Drug Disposition in Normal and Diseased Livers</title>
		<link>http://blog.tempusdictum.com/index.php/gepr/uncategorized/tracing-ii</link>
		<comments>http://blog.tempusdictum.com/index.php/gepr/uncategorized/tracing-ii#comments</comments>
		<pubDate>Tue, 20 Apr 2010 22:52:43 +0000</pubDate>
		<dc:creator>gepr</dc:creator>
				<category><![CDATA[M&S]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[biology]]></category>
		<category><![CDATA[modeling and simulation]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=76</guid>
		<description><![CDATA[Our second ISL tracing paper has been published online as a JPET FastForward Article Tracing Multiscale Mechanisms of Drug Disposition in Normal and Diseased Livers. I&#8217;ll repeat the brief blurb on my agent based modeling website. This paper talks in relative detail about how hypothesis formulation and falsification (failed validation) can be done at a ]]></description>
			<content:encoded><![CDATA[<p>Our second ISL tracing paper has been published online as a JPET FastForward Article <a href="http://jpet.aspetjournals.org/content/early/2010/04/20/jpet.110.168526.abstract" target="_blank">Tracing Multiscale Mechanisms of Drug Disposition in Normal and Diseased Livers</a>.</p>
<p>I&#8217;ll repeat the <a href="http://agent-based-modeling.com/" target="_blank">brief blurb on my agent based modeling website</a>.</p>
<blockquote><p>
This paper talks in relative detail about how hypothesis formulation and falsification (failed validation) can be done at a fine grain when only coarse grained validation data is available. Because our in silico liver (ISL) is an analog built in software, we can trace its internals. And because the internals of the analog were designed to map to the internal structure and dynamics of its referent (wet-lab liver perfusion experiments), traces of the ISL become detailed hypotheses about the internals of the liver. However, those detailed hypotheses are not falsifiable, except to the extent that they fail to reproduce the coarse validation data. Nothing can be done about that until we design wet-lab experiments to perform on real livers. In the meantime, though, we can alter the ISL mechanisms so that the coarse grained data matches that taken from wet-lab experiments under different conditions. In this case, we build 3 ISLs that generate the outflow profiles for drug and a sucrose marker for: 1) normal healthy livers, 2) alcohol damaged livers, and 3) carbon tetrachloride damaged livers. With the traces for each of the 3 ISLs, based upon the validated (i.e. not proven true, of course, but proven true enough) mechanisms of the ISL, we can formulate &#8216;proto-theories&#8217; for the translation of an experimental liver from a healthy to a diseased (cirrhotic) state.</p>
<p>Note that the particulars of the &#8216;proto-theories&#8217; suggested by these traces are not as sophisticated as those that might be generated by an expert hepatologist. In fact, these &#8216;proto-theories&#8217; may even seem bizarre or patently false to such an expert (though I believe they don&#8217;t seem so to the experts). Indeed, as Box&#8217;s aphorism says,</p>
<blockquote><p>&#8230; all models are wrong; the practical question is how wrong do they have to be to not be useful.</p></blockquote>
<p>The point is not to build computer programs that attempt to compete with the hypothesis formulation of experts. This is not an AI project. The point is to build devices, with whatever tools are available including computers, that make the experts more efficient and effective. By formulating these &#8216;proto-theories&#8217; about the translation of healthy livers to diseased livers (and vice versa), models like the ISLs provide a foil or sounding board to help sharpen the theories developed by the experts.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/gepr/uncategorized/tracing-ii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reprogramming your avr-usb device using atmel&#8217;s built in bootloader</title>
		<link>http://blog.tempusdictum.com/index.php/don/electronics/avr-development/reprogramming-your-avr-usb-device-using-atmels-built-in-bootloader</link>
		<comments>http://blog.tempusdictum.com/index.php/don/electronics/avr-development/reprogramming-your-avr-usb-device-using-atmels-built-in-bootloader#comments</comments>
		<pubDate>Fri, 05 Mar 2010 21:57:14 +0000</pubDate>
		<dc:creator>don</dc:creator>
				<category><![CDATA[Avr development]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=75</guid>
		<description><![CDATA[Getting code onto the MidiMonster or Benito device. Midi Monster Button Locations. Benito 7g Switch Lcations Benito 2010 Switch Locations Benito Without Buttons All of the code on the Benito and MidiMonster devices is open source and references an open source library called the Lightweight Usb For Avr (lufa). Getting the code compiled and onto ]]></description>
			<content:encoded><![CDATA[<h3>Getting code onto the MidiMonster or Benito device.</h3>
<table border="0">
<tbody>
<tr>
<td>
<div class="image"><a href="http://www.flickr.com/photos/7175086@N05/4404887952/"><img src="http://farm3.static.flickr.com/2717/4404887952_d72836dabc_m.jpg" alt="Midi Monster Button Locations." width="240" height="180" /></a></p>
<div>Midi Monster Button Locations.</div>
</div>
</td>
<td>
<div class="image"><a href="http://www.flickr.com/photos/7175086@N05/4404887950/in/photostream/"><img src="http://farm5.static.flickr.com/4068/4404887950_8b951295db_m.jpg" alt="Benito 7g Switch Positions." width="240" height="180" /></a></p>
<div>Benito 7g Switch Lcations</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="image"><a href="http://www.flickr.com/photos/7175086@N05/4404887938/in/photostream/"><img src="http://farm3.static.flickr.com/2752/4404887938_92aa8c439b_m.jpg" alt="Benito 2010 Switch Locations" width="240" height="180" /></a></p>
<div>Benito 2010 Switch Locations</div>
</div>
</td>
<td>
<div class="image"><a href="http://www.flickr.com/photos/7175086@N05/4404887926/in/photostream/"><img title="Benito Without Buttons." src="http://farm5.static.flickr.com/4066/4404887926_a264eca548_m.jpg" alt="Benito Without Buttons." width="240" height="180" /></a></p>
<div>Benito Without Buttons</div>
</div>
</td>
</tr>
</tbody>
</table>
<p>All of the code on the Benito and MidiMonster devices is open source and references an open source library called the Lightweight Usb For Avr (lufa). Getting the code compiled and onto the device requires a few other open source tools.</p>
<h3>AVR-GCC</h3>
<p>The most current and stable release of the toochain for the AVR has untill recently been maintained by Eric Wedddington and released as WinAvr (<a href="http://sourceforge.net/projects/winavr/" target="_blank">http://sourceforge.net/projects/winavr/</a>) Winaver integrates nicely into atmels avr studio <a href="http://" target="_blank">http://www.atmel.com/dyn/Products/tools_card.asp?tool_id=2725</a> and I reccomend that you get both if you are running windows. Each Winavr Release is closely followed by objective developments CrossPack for avr <a href="http://www.obdev.at/products/crosspack/index.html" target="_blank">http://www.obdev.at/products/crosspack/index.html</a> and a <a href="http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;file=viewtopic&amp;t=42631" target="_blank">script for building the current toolchain on linux</a> which is hosted by AvrFreaks at present there is also a debian package that was put out last month <a href="http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;file=viewtopic&amp;t=90172" target="_blank">http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;file=viewtopic&amp;t=90172</a></p>
<h3>HWB? DFU?</h3>
<p>Most Atmel &#8220;atmega&#8221; devices have a pin dedicated to determining whether or not the device goes into the bootloader depending on the devices flag settings. This pin is labled HWB (for hardware boot) on most of  the datasheets. The usb avr family has this mode set up by default. When you hold the hwb pin low and reset the device it goes into the bootloader. On these devices the built in bootloader uses a usb device class called the Device Firmware Uploader (DFU). Atmel provides a tool called flip for programming DFU devices on  windows and linux. There is an open source programmer called dfu-programmer <a href="http://dfu-programmer.sourceforge.net/" target="_blank">http://dfu-programmer.sourceforge.net/</a></p>
<h4>That other guys stuff.</h4>
<p>Those of you who have worked with the teensy boards from paul stoffregon will notice some subtle differences. Paul wrote his own (closed source) bootloader rather than use the bootloader tha comes installed on the chips. Then he uses a hardware trick similar to the auto reset hack to make a single button manipulate both the reset and the hwb pins to put his boards into the bootloader. I didnt feel that either the two button arrangement or the builtin bootloaders were broken so I like most people working with these chips dont fix them.</p>
<h4>Using the dfu-programmer</h4>
<p>All of the programs in Dean Cameras Lightweight Usb for Avr have a &#8220;dfu&#8221; target. Once you have the target into the DFU mode you can simply</p>
<pre>$make dfu</pre>
<p>This will cause the dfu-programmer to erase the flash reprogramm it with a new hex file and restart the chip. You can also do this manually with the following commands</p>
<pre>$dfu-programmer atmega32u2 erase
$dfu-programmer atmega32u2 flash mycode.hex
$dfu-programmer atmega32u2 start</pre>
<p>This will cause the dfu-programmer to erase the flash reprogramm it with a new hex file and restart the chip.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/don/electronics/avr-development/reprogramming-your-avr-usb-device-using-atmels-built-in-bootloader/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In Silico Liver port to MASON</title>
		<link>http://blog.tempusdictum.com/index.php/gepr/uncategorized/in-silico-liver-port-to-mason</link>
		<comments>http://blog.tempusdictum.com/index.php/gepr/uncategorized/in-silico-liver-port-to-mason#comments</comments>
		<pubDate>Tue, 23 Feb 2010 18:40:14 +0000</pubDate>
		<dc:creator>gepr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[modeling and simulation]]></category>

		<guid isPermaLink="false">http://blog.tempusdictum.com/?p=72</guid>
		<description><![CDATA[I set this task aside awhile back. When I returned to it, we had moved the source repository to a different machine. I had lots of changes in my local sandbox. Several of the prerequisite libraries had been upgraded. Etc. After doing all the catch-up work and checking it in, however, it compiled and ran ]]></description>
			<content:encoded><![CDATA[<p>I set this task aside awhile back.  When I returned to it, we had moved the source repository to a different machine.  I had lots of changes in my local sandbox.  Several of the prerequisite libraries had been upgraded.  Etc.  After doing all the catch-up work and checking it in, however, it compiled and ran right out of the box!  I&#8217;m always surprised when that sort of thing happens.</p>
<p><a href="http://blog.tempusdictum.com/wp-content/uploads/2010/02/screenshot1.png"><img class="aligncenter size-full wp-image-74" title="ISLJ" src="http://blog.tempusdictum.com/wp-content/uploads/2010/02/screenshot1.png" alt="Way early ISL in MASON mock-up." width="500" height="289" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tempusdictum.com/index.php/gepr/uncategorized/in-silico-liver-port-to-mason/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

