<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Rantings of an Angry Physicist</title>
	<atom:link href="http://angryphysicist.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://angryphysicist.wordpress.com</link>
	<description>An angry Physicist ranting about Quantum Gravity, foundational Quantum Mechanics, the gross incompotency of Economists, and other fun issues!</description>
	<pubDate>Fri, 14 Mar 2008 23:40:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Thomas Thiemann&#8217;s &#8220;Modern Canonical Quantum General Relativity&#8221;</title>
		<link>http://angryphysicist.wordpress.com/2007/11/15/thomas-thiemanns-modern-canonical-quantum-general-relativity/</link>
		<comments>http://angryphysicist.wordpress.com/2007/11/15/thomas-thiemanns-modern-canonical-quantum-general-relativity/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 19:03:22 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[Loop Quantum Gravity]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/11/15/thomas-thiemanns-modern-canonical-quantum-general-relativity/</guid>
		<description><![CDATA[Disclaimer: I&#8217;m told that many of the books that I love are considered dry, boring, long, and unexciting in the eyes of others (I certainly don&#8217;t think they are in the least!). So my opinions on this book as fascinating ought to be taken in this light. (End of disclaimer.)
I&#8217;m not sure how long ago [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><b>Disclaimer:</b> I&#8217;m told that many of the books that I love are considered dry, boring, long, and unexciting in the eyes of others (I certainly don&#8217;t think they are in the least!). So my opinions on this book as fascinating ought to be taken in this light. (End of disclaimer.)</p>
<p>I&#8217;m not sure how long ago Thomas Thiemann published his tome <i>Modern Canonical Quantum General Relativity</i> but I picked up a copy the other day when I was getting paper for my printer at the UC Davis bookstore. Please let me emphasize this is a <b>technical monograph</b> with the intended audience being mathematically savvy individuals, not an introductory text for the lazy layman (even the hyperactive layman may have some difficulty).</p>
<p>The forward is written by Christopher Isham, who gives a rather interesting personal background on his personal interest in quantum general relativity stemming from his encounter in 1969 with a researcher named Abdus Salam.<br />
The approach taken was perturbative quantization, which Isham notes:</p>
<p>&#8220;The perturbative quantum field theory schemes foundered on interactable ultra-violet divergences and gave way to super-gravity &#8212; the super-symmetric extension of standard general relativity. In spute of initial optimism, this approach succumbed to the same disease and was eventually replaced by the far more ambitious superstring theories&#8221; (Forward, paragraph 2).</p>
<p>Isham continues to explain his interest in canonical quantum gravity and in particular the Wheeler-DeWitt equation. The Wheeler-DeWitt equation is the Hamiltonian constraint in general relativity, it is the constraint corresponding to the time re-parametrization invariance gauge. It should be unsurprising that it is nightmarishly complicated and extremely difficult to solve in its traditional form using the metric tensor as the canonical position variable.</p>
<p>Thomas Thiemann pioneered the Master Constraint programme and did a tremendous amount of work on the Hamiltonian constraint that deserves the utmost respect (see these technical papers for a &#8220;small&#8221; taste: &#8220;<a href="http://arxiv.org/abs/gr-qc/9606089">Quantum Spin Dynamics</a>&#8220;,<br />
&#8220;<a href="http://arxiv.org/abs/gr-qc/9606090">Quantum Spin Dynamics II. The Kernel of the Wheeler-DeWitt Constraint Operator</a>&#8220;,<br />
&#8220;<a href="http://arxiv.org/abs/gr-qc/9705017">QSD III : Quantum Constraint Algebra and Physical Scalar Product in Quantum General Relativity</a>&#8220;,<br />
&#8220;<a href="http://arxiv.org/abs/gr-qc/9705018">QSD IV : 2+1 Euclidean Quantum Gravity as a model to test 3+1 Lorentzian Quantum Gravity</a>&#8220;,<br />
&#8220;<a href="http://arxiv.org/abs/gr-qc/9705019">QSD V : Quantum Gravity as the Natural Regulator of Matter Quantum Field Theories</a>&#8220;,<br />
&#8220;<a href="http://arxiv.org/abs/gr-qc/9705020">QSD VI : Quantum Poincaré Algebra and a Quantum Positivity of Energy Theorem for Canonical Quantum Gravity</a>&#8220;,<br />
&#8220;<a href="http://arxiv.org/abs/gr-qc/0510011">Quantum Spin Dynamics VIII. The Master Constraint</a>&#8220;,<br />
&#8220;<a href="http://arxiv.org/abs/gr-qc/0411138">Testing the Master Constraint Programme for Loop Quantum Gravity I. General Framework</a>&#8220;). He covers the quantum Wheeler-DeWitt equation in chapter 10 section 3 (&#8221;Derivation of the Hamiltonian Constraint Operator&#8221;) of his book.</p>
<p>The book is very well written (for a physics monograph). Even in the &#8220;Outline of the book&#8221;, Thiemann demonstrates a superior command of math. In this section of his book, he outlines and describes various other approaches to quantum gravity citing sources for the interested reader to read.<br />
This is something I always appreciate in books.</p>
<p>Unfortunately, I am sick, so I have had plenty of time to read the book! I am however a slow reader because I&#8217;m also taking notes as I&#8217;m reading. It&#8217;s a force of habit I&#8217;ve had since I&#8217;ve started reading. This book is an excellent introduction to <b>modern</b> canonical quantum gravity, that is to say Loop Quantum Gravity.</p>
<p>It covers the steps taken to introduce the subject matter. He begins by introducing the (ADM) Hamiltonian formulation  of general relativity and he does it with unparalleled clarity. Thiemann continues on this subject matter to deal with the gauge symmetries and their constraints and the geometric interpretation of these constraints. He found the Legendre transform and the gauge constraints, then gave a mathematical definition for functional differentiability (more precisely that &#8220;&#8230;a functional <img src='http://l.wordpress.com/latex.php?latex=G%3A+%5CPhi%5Crightarrow+C&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='G: \Phi\rightarrow C' title='G: \Phi\rightarrow C' class='latex' /> is functionally differentiable at&#8230;&#8221;).</p>
<p>I thought &#8220;Uhoh, Thiemann&#8217;s decided to go purely mathematical with his presentation!&#8221; But this initial fear was unfounded, I am relieved to report. Thiemann provides definitions from pure math on various mathematical objects that are relevant to the topic of each chapter and future chapters. This is actually something I appreciate, it allows the book to be more self-contained.</p>
<p>The next topic Thiemann tackles are the philosophical issues like the problem with time, locality in a relational formalism of general relativity, and various interpretations of quantum theory. This concludes chapter 2.</p>
<p>So far I&#8217;m on chapter 4, but I&#8217;m fascinated with the book. It is of a high quality and I recommend it for anyone remotely interested in modern developments of canonical quantum gravity&#8230;provided the reader has knowledge of classical general relativity and quantum theory. I can&#8217;t stress how well written this book is, it certainly makes up for the lack of such high quality books on the subject (there are how many others? One? How many are there on String theory? A thousand or two?).</p>
<p>And now back to studying for my classes and preparing for finals.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/52/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/52/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/52/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/52/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/52/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=52&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/11/15/thomas-thiemanns-modern-canonical-quantum-general-relativity/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>Common Sense isn&#8217;t so Common&#8230;</title>
		<link>http://angryphysicist.wordpress.com/2007/10/27/common-sense-isnt-so-common/</link>
		<comments>http://angryphysicist.wordpress.com/2007/10/27/common-sense-isnt-so-common/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 05:38:44 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[String Rant]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/10/27/common-sense-isnt-so-common/</guid>
		<description><![CDATA[I went to the D programming conference back in August this year, and I ran into several interesting people. One was a former researcher of supergravity; I told him &#8220;Honestly I think supergravity is bullshit&#8221; he smiled and said &#8220;Yes, it pretty much is&#8230;&#8221;. He had a fantastically dry sense of humor (e.g. when giving [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I went to the D programming conference back in August this year, and I ran into several interesting people. One was a former researcher of supergravity; I told him &#8220;Honestly I think supergravity is bullshit&#8221; he smiled and said &#8220;Yes, it pretty much is&#8230;&#8221;. He had a fantastically dry sense of humor (e.g. when giving his presentation he said &#8220;When you are programming, you don&#8217;t want to write harmful code&#8230;&#8221; I thought, yeah something that would harm the hardware; the speaker continues &#8220;&#8230;Like launching missiles.&#8221;). Another was an interesting software programmer that recommended me to the site &#8220;<a href="http://www.commonsensescience.org/">Common Sense Science</a>&#8220;. It&#8217;s basically a pseudoscience site.</p>
<p>I looked through the links and noted that a number of them are to Creationist websites, which immediately told me this was as pseudoscientific as Lubos Motl and the Easter Bunny <strong>combined</strong>.  Looking at, e.g., the &#8220;<a href="http://www.commonsensescience.org/contradictions.html">Contradictions</a>&#8221; page here are some of the problems:</p>
<p>&#8220;It is only a mathematical model consisting of  								equations and does not usually specify physical  								structure for elementary particles.&#8221;</p>
<p>I don&#8217;t know how well hidden this is, but historically science has <strong>always been described by mathematical models!</strong></p>
<p>It&#8217;s complaining about the <strong>language</strong> that the theory is formulated in. Well, there&#8217;s a problem with this argument that Wittgenstein points out long ago: what can be said in one language can be said in <strong>any</strong> language, or languages are isomorphic (for the mathematicians out there ;)).</p>
<p>Their criticism that quantum mechanics does not specify the structure of subatomic particles is somewhat justified&#8230;since quantum mechanics <strong>explicitly assumes that we are dealing with point particles!</strong> I myself have entertained the view personally that subatomic particles could possibly have an &#8220;atomic&#8221; structure to them. Maybe they do, maybe they don&#8217;t, maybe we&#8217;ll never know!</p>
<p>But quantum theory <strong>works</strong> despite this &#8220;catastrophic contradiction&#8221; and even makes some of the <strong>best damn predictions in Human History!</strong> The Dirac Equation, Quantum Electrodynamics, the Hydrogen atom&#8230;need I continue?</p>
<p>&#8220;It frequently contradicts itself.&#8221;</p>
<p>It contradicts itself&#8230;because it contradicts itself.</p>
<p>Ah, well, it&#8217;s hard to argue against a <strong>tautology</strong> but this is a meaningless proposition. Old Wittgenstein should be rolling in his grave at a frequency that could generate power for all of Western Europe from this argument alone.</p>
<p>&#8220;It provides no mechanism for such fundamental  								processes as the exchange of energy.&#8221;</p>
<p>Actually, this is an interesting argument because I&#8217;ve dealt with dialecticians&#8230;philosophers obsessed with pseudoscience, holism, and &#8220;change&#8221;.</p>
<p>A thermodynamic process specifies the initial conditions of the process, then the final conditions when the process ends. Quantum theory does the same thing. So therefore, logically, thermodynamics is wrong! Despite being the one of most important things coming from the 19th Century (the other being the Stanley Steamer ;)).</p>
<p>The mechanism for exchanging energy, etc. is actually done through photons (Feynman diagrams anyone?). There is a sound explanation of what&#8217;s going on&#8230;and it dates back to the hydrogen atom quantization. Apparently these people never learned quantum theory, so &#8220;common sense&#8221; dictates they criticize it.</p>
<p>&#8220;<span class="subH">Assumed properties of elementary  							particles.&#8221;</span></p>
<p>This argument is based on the previous argument, which is a considerably weak argument.</p>
<p>As I mentioned earlier, these people have links to Creationist websites&#8230;it turns out these people <strong>are Creationist philistines.</strong> For example, <a href="http://www.commonsensescience.org/explaining_life.html">explaining life</a> can only be done in the Judeo-Christian blah blah blah. After reading &#8220;can only be done with&#8230;Judeo-Christian&#8221; I stopped reading.</p>
<p>I refuse to part one pretty penny to purchase (yes, purchase) their technical papers since they appear to be crackpots already. (Nothing personal, dear Common Sense pseudo-Scientists, but I actually first derived the Lorentz factor by hand, geometrically from the two principles of Galilean relativity and the constancy of the speed of light back in high school&#8230;you mean to tell me that this is wrong because &#8220;there are contradictions&#8221; doesn&#8217;t jive with me.)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/51/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/51/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=51&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/10/27/common-sense-isnt-so-common/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>I&#8217;m not dead (yet)!</title>
		<link>http://angryphysicist.wordpress.com/2007/10/27/im-not-dead-yet/</link>
		<comments>http://angryphysicist.wordpress.com/2007/10/27/im-not-dead-yet/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 04:59:13 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[How...odd...]]></category>

		<category><![CDATA[In Retrospect...]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/10/27/im-not-dead-yet/</guid>
		<description><![CDATA[Alright, I know it&#8217;s been a while since I&#8217;ve last posted, so let me get everyone up to date. The school year has started and I&#8217;m taking a number of advanced math courses, which of course requires a lot of math proofs.
I&#8217;ve always approached math proofs as a sort of &#8220;construction&#8221; exercise&#8230;like masonry for the [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Alright, I know it&#8217;s been a while since I&#8217;ve last posted, so let me get everyone up to date. The school year has started and I&#8217;m taking a number of advanced math courses, which of course requires a lot of math proofs.</p>
<p>I&#8217;ve always approached math proofs as a sort of &#8220;construction&#8221; exercise&#8230;like masonry for the mind. The problem is that I&#8217;m of the <a href="http://youtube.com/watch?v=qKFASrqqx_E" target="_blank">Homer Simpson School of masonry</a>.</p>
<p>Anyways, in my spare time I&#8217;ve been doing things like quantizing the Newton-Cartan theory (canonically), finding the canonical conjugate momentum to the Cartan tetrad using the Einstein-Hilbert Lagrangian then working out the consequences of this (and comparing them to loop quantum gravity), and of course pursuing women.</p>
<p>Something rather interesting, which Dr. Woit has been angry about, is that materialism is kind of&#8230;being <strong>completely abandoned</strong> by String theorists. Indeed, Lubos Motl has <strong>boasted</strong> this! Call me &#8220;old fashioned&#8221; (or, if you are one of those rapscallion kids, &#8220;old school&#8221;), but isn&#8217;t materialism one of those <strong>foundations of Western science?!</strong> You know, along with causality and formal logic?</p>
<p>Coincidentally, I have been arguing a lot with philosophers (damn philosophers!) about what is &#8220;antiscience&#8221;. They would like to believe that criticizing a scientific hypothesis without providing a suitable alternative hypothesis is scientific&#8230;but this is comparable to saying, in the middle of a conversation with a friend, &#8220;You&#8217;re a &lt;insert profanity here&gt;!&#8221; Then refusing to speak with this friend any further. A philosopher brought up his crack pot idea that it is &#8220;society/culture/ethics&#8221; which <strong>really</strong> influence the behavior of particles and matter&#8230;and after an experiment of thinking very hard for him to physically disappeared, he remained. Thus I scientifically disproved his hypothesis, but he doesn&#8217;t believe me :-\</p>
<p>I don&#8217;t understand why Americans are so afraid of science. Which brings me to a funny anecdote. The other night I was dragged to the see &#8220;The Passion of the Christ&#8221;&#8230;against my will, as you would expect. I got kicked out for being too vocal. When the lights darkened and the movie was about to begin, I said loudly &#8220;I wonder if this will have a happy ending?&#8221; I owe this witticism to Groucho, of course. Then several scenes later, someone is riding a horse, and I ask again loudly &#8220;What? He isn&#8217;t riding a dinosaur? This isn&#8217;t very accurate according to the Bible.&#8221; Finally when Jesus was arrested, I asked &#8220;Wait, then when did he bury the dinosaur bones?&#8221; I guess not everyone there liked my views.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/50/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/50/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=50&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/10/27/im-not-dead-yet/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>If I&#8217;m not back in a week, avenge my death!</title>
		<link>http://angryphysicist.wordpress.com/2007/08/05/if-im-not-back-in-a-week-avenge-my-death/</link>
		<comments>http://angryphysicist.wordpress.com/2007/08/05/if-im-not-back-in-a-week-avenge-my-death/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 15:47:43 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[How...odd...]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/08/05/if-im-not-back-in-a-week-avenge-my-death/</guid>
		<description><![CDATA[I&#8217;m leaving town for a week, so no one get worried over my absence.
I also wanted to quickly announce my programming blog &#8220;Object Oriented Kool Aid&#8220;. So far I am writing about my analysis of file systems and virtual file systems. I might include &#8220;How-tos&#8221; on programming file systems and/or virtual file systems. I have [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m leaving town for a week, so no one get worried over my absence.</p>
<p>I also wanted to quickly announce my programming blog &#8220;<a href="http://pqnelson.blogspot.com/">Object Oriented Kool Aid</a>&#8220;. So far I am writing about my analysis of file systems and virtual file systems. I might include &#8220;How-tos&#8221; on programming file systems and/or virtual file systems. I have a lot to ramble on about and I thought that it deserved its own place separate from here.</p>
<p>That&#8217;s all, have a great week everyone!</p>
<p><strong>Update:</strong> (5:49 PM PST 11 August 2007) I&#8217;m back at work studying technical papers and writing file systems, so no avenging of death is required.</p>
<p><strong>Update 2: </strong>(9:12 PM PST 11 August 2007) I noticed that the spam program has deleted upwards of 20 comments, so if you commented here and its not posted please post it again!</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=48&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/08/05/if-im-not-back-in-a-week-avenge-my-death/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>Programming Questionaire</title>
		<link>http://angryphysicist.wordpress.com/2007/08/01/programming-questionaire/</link>
		<comments>http://angryphysicist.wordpress.com/2007/08/01/programming-questionaire/#comments</comments>
		<pubDate>Thu, 02 Aug 2007 03:59:40 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/08/01/programming-questionaire/</guid>
		<description><![CDATA[Some compadres (numero uno and numero&#8230;2) filled out a questionaire that came about from the Emacs/Vi flame wars.

  - How did you learn programming? Were any schools of any use? Or maybe you didn’t even bother with ending any schools  ?
Well I first learned how to program in a High School course. I [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Some compadres (<a href="http://chess-engine.blogspot.com/2007/08/stiff-asks-raj-answers.html">numero uno</a> and <a href="http://jdtaylor.org/stiff-answers.html">numero&#8230;2</a>) filled out a questionaire that came about from the <a href="http://www.stifflog.com/2006/10/16/stiff-asks-great-programmers-answer/">Emacs/Vi flame wars</a>.<strong><br />
</strong></p>
<blockquote><p><strong>  - How did you learn programming? Were any schools of any use? Or maybe you didn’t even bother with ending any schools <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ?</strong></p></blockquote>
<p>Well I first learned how to program in a High School course. I took AP programming (a college level course) which focused on object oriented programming in Java, and at the same time normal programming which focused on Karel++, C++, and Java.</p>
<p>The course was taught by Dr. Gregory Winston Neat who worked at JPL, which was just down the street from the High School. He was perhaps the best teacher I had in High School, he kept encouraging us to do things that were seemingly impossible.</p>
<p>My friend and I first tried to make an operating system then for our AP final project. It was a simple program which was written to the floppy disk boot sector that printed out to the screen &#8220;Raffi and Alex are cool&#8221;. Raffi was my partner in that project. That&#8217;s how I became interested in operating systems.</p>
<p>The courses I took were enough to push me to learn more. I learned Python, Perl, Scheme/Lisp, and C on my own within that year, as well as some x86 assembly.</p>
<p>I do intend to take a C++ course Winter quarter next year to help my friend out; it&#8217;s the so-called &#8220;weeder&#8221; course for computer science. It&#8217;s insanely difficult and has a failure rate of some ridiculously high rate like 80%&#8230;or something.</p>
<blockquote><p> <strong>  - What do you think is the most important skill every programmer   should posses?</strong></p></blockquote>
<p>Hmm&#8230;I think perhaps the ability to think critically is the most important skill to have.</p>
<p>Recently, I went to my friends place to talk about programming and math. He was surprised I came dressed in a suit without a laptop.</p>
<p>I think that he didn&#8217;t realize that my laptop isn&#8217;t my computer. My ability to solve problems is my computer.</p>
<blockquote><p> <strong>  - Do you think mathematics and/or physics are an important skill for a   programmer? Why?</strong></p></blockquote>
<p>Hahaha, what a loaded question to ask a <strong>theoretical physicist!</strong></p>
<p>I think that any programmer that hasn&#8217;t read Polya&#8217;s <em>How to Solve It</em> is not a good programmer. That&#8217;s my bias though, as I see programming somewhat as a parallel to what geometry was to the Ancient Greeks.</p>
<p>Eventually, physics will become necessary when quantum computing becomes more wide spread. I think that physics for programmers teaches them how to solve problems quite well.</p>
<blockquote><p> <strong> - What do you think will be the next big thing in computer programming? X-oriented programming, y language, quantum computers, what?</strong></p></blockquote>
<p>Uh, hmm&#8230;perhaps quantum computers?</p>
<p>It depends how big you want to talk about&#8230;of course quantum computing will be a big thing, just as an object oriented operating system would be big. Although the former is bigger than the latter I suppose. It depends on your perspective.</p>
<p>The biggest step forward for the end user would be having cheap, powerful, multiple core RISC processor computers. That would be nice <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p> <strong>  - If you had three months to learn one relativly new technology, which   one would You choose?</strong></p></blockquote>
<p>Uh&#8230;well, if I had three months <em>straight</em> without sleep to study a new field, I would choose nanotechnology applied to medicine.</p>
<p>I have always eagerly looked forward to every stride forward in medicine, and I think that nano-medicine would be the next penicillin.</p>
<blockquote><p> <strong>  - What do you think makes some programmers 10 or 100 times more   productive than others?</strong></p></blockquote>
<p>Well, the same thing that makes mathematicians more productive: amphetimines and coffee.</p>
<blockquote><p> <strong> - What are your favourite tools (operating system, programming/scripting language, text editor, version control system, shell, database engine, other tools you can’t live without) and why do you like them more than others?</strong></p></blockquote>
<p>Hmm&#8230;</p>
<p>OS: Linux (really, I don&#8217;t care specifics, any *nix is good with me)</p>
<p>Programming Language: C/C++/D/Java</p>
<p>Text Editor: Emacs or Jedit</p>
<p>Shell: BASH</p>
<p>Scripting Language: Python/Perl/Lisp/Scheme</p>
<p>Database engine: nihil</p>
<p>Laptop: AlienWare Sentia m3400&#8230;or something like that</p>
<p>Preferred processor: any RISC processor</p>
<p>Preferred Desktop Architecture: Pizza Box/Luggable architecture (think of a modern Apple ][ c that&#8217;s really light weight and upgradeable).</p>
<blockquote><p> <strong>  - What is your favourite book related to computer programming?</strong></p></blockquote>
<p>Well, uh perhaps Polya&#8217;s <em>How to Solve It</em>, which teaches the most important aspects on how to solve math problems which can be applied to programming.</p>
<p>On the other hand, <em>SICP</em> has been very influential on me. I carried it around like a bible back in High School Programming.</p>
<p>Then again, Tanenbaum and Woodhull&#8217;s <em>Operating Systems Design and Implementation</em> (Third Edition) is like my programming bible at the current moment&#8230;along with various other operating system books.</p>
<blockquote><p> <strong> - What is Your favourite book NOT related to computer programming?</strong></p></blockquote>
<p>Misner, Thorne, and Wheeler&#8217;s <em>Gravitation</em> is my favorite book. Period.</p>
<blockquote><p> <strong>- What are your favourite music bands/performers/compositors?</strong></p></blockquote>
<p>Well, this is a long response. I&#8217;m a musician you know (I play violin and viola).</p>
<p>I like: The Clash, Brahms, Bach, Flogging Molly, Vivaldi, Rossini, Judas Priest, Led Zeppelin, Miles Davis, Emerson Lake &amp; Palmer, Duke Ellington, van Halen, Bebop Jazz, Hard Bop, Jethro Tull, Ink Spots, Motörhead, Louis Armstrong, Iced Earth, Cannonball Adderly, Man-O-War, Mozart, Aerosmith, Deep Purple, Black Sabbath, etc., but neither Beethoven nor Wagner.</p>
<p>Mark Twain accurately stated &#8220;Wagner&#8217;s music is better than it sounds&#8221;.</p>
<p>As for why I dislike Beethoven, I dislike it only to spite one of my friends who dislikes Bach to spite me.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/47/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/47/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=47&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/08/01/programming-questionaire/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>Interesting Paper on the Immirzi Parameter, and more&#8230;</title>
		<link>http://angryphysicist.wordpress.com/2007/07/29/interesting-paper-on-the-immirzi-parameter-and-more/</link>
		<comments>http://angryphysicist.wordpress.com/2007/07/29/interesting-paper-on-the-immirzi-parameter-and-more/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 03:32:58 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[Loop Quantum Gravity]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/07/29/interesting-paper-on-the-immirzi-parameter-and-more/</guid>
		<description><![CDATA[In Loop Quantum Gravity, the Immirzi parameter is somewhat troubling&#8230;largely because it&#8217;s such an odd value.
It was once calculated to be some ugly value like:

Or something like that. Bizarre!
Well, a paper came out that argued that:
  Microscopic state counting for a black hole in Loop Quantum Gravity yields a result proportional to horizon area, [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In Loop Quantum Gravity, the Immirzi parameter is somewhat troubling&#8230;largely because it&#8217;s such an odd value.</p>
<p>It was once calculated to be some ugly value like:</p>
<p><img src='http://l.wordpress.com/latex.php?latex=2%2F%5Cln%7B3%7D%5Cpi&amp;bg=ffffff&amp;fg=000000&amp;s=0' alt='2/\ln{3}\pi' title='2/\ln{3}\pi' class='latex' /></p>
<p>Or something like that. Bizarre!</p>
<p>Well, a paper came out that argued that:</p>
<blockquote><p>  Microscopic state counting for a black hole in Loop Quantum Gravity yields a result proportional to horizon area, and inversely proportional to Newton&#8217;s constant and the Immirzi parameter. It is argued here that before this result can be compared to the Bekenstein-Hawking entropy of a macroscopic black hole, the scale dependence of both Newton&#8217;s constant and the area must be accounted for. <strong>The two entropies could then agree for any value of the Immirzi parameter, if a certain renormalization property holds.</strong></p></blockquote>
<p>(Emphasis added). Fascinating!</p>
<p>The paper is called &#8220;<a href="http://arxiv.org/abs/0707.4026">Renormalization and black hole entropy in Loop Quantum Gravity</a>&#8221; by Ted Jacobson.</p>
<p>There was a second paper that crossed my eye because of something that stuck out from Carlip&#8217;s Class. This student with a British accent asked why not place the universe within a box? We do it for the Hydrogen atom, among other things, so why not do it for quantum gravity?</p>
<p>Well, the obvious answer is the philosophical problems with this in the context of classical general relativity. However, a paper has come out about this very subject! It&#8217;s very exciting purely from the nostalgic feeling the abstract conjures:</p>
<blockquote><p><a href="http://arxiv.org/abs/0707.0361"><em> The curvature perturbation in a box</em></a> by David H. Lyth</p>
<p>The stochastic properties of cosmological perturbations are best defined through the Fourier expansion in a finite box. I discuss the reasons for that with reference the curvature perturbation, and explore some issues arising from it.</p></blockquote>
<p>Next on the reading List is a lengthy piece dealing with particle propagators in arbitrary backgrounds.</p>
<p>This piece fascinates me partially because it comforts my inner general relativist in dealing with background independency (or more spacifically, a sort of pseudo-background independency) for quantum theory.</p>
<blockquote><p><em><a href="http://arxiv.org/abs/0707.3899">  Particle propagation in non-trivial backgrounds: a quantum field theory approach</a></em> by Daniel Arteaga</p>
<p>The basic aim of the thesis is the study of the propagation of particles and quasiparticles in non-trivial backgrounds from the quantum field theory point of view. By &#8220;non-trivial background&#8221; we mean either a non-vacuum state in Minkowski spacetime or an arbitrary state in a curved spacetime. Starting with the case of a flat spacetime, the basic properties of the particle and quasiparticle propagation are analyzed using two different methods other than the conventional mean-field-based techniques: on the one hand, the quantum state corresponding to the quasiparticle excitation is explicitly constructed; on the other hand, the spectral representation of the two-point propagators is analyzed. Both methods lead to the same results: the energy and decay rate of the quasiparticles are determined by the real and imaginary parts of the retarded self-energy respectively. These general results are applied to two particular quantum systems: first, a scalar particle immersed in a thermal graviton bath; second, a simplified atomic model, seizing the opportunity to connect with other statistical and first-quantized approaches. In the second part of the thesis the results are extended to curved spacetime. Working with a quasilocal quasiparticle concept the flat-spacetime results are recovered. In cosmology, within the adiabatic approximation, it is possible to go beyond the flat spacetime results and find additional effects due to the universe expansion. The cosmologically-induced effects are analyzed, obtaining that there might be an additional contribution to the particle decay due to the universe expansion. In the de Sitter case, this additional contribution coincides with the decay rate in a thermal bath in a flat spacetime at the corresponding de Sitter temperature.</p></blockquote>
<p>Fascinating papers, all of them well worth reading.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/46/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/46/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=46&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/07/29/interesting-paper-on-the-immirzi-parameter-and-more/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>Lisp for the Low Level Man: An Introduction to Liskell</title>
		<link>http://angryphysicist.wordpress.com/2007/07/26/lisp-for-the-low-level-man-an-introduction-to-liskell/</link>
		<comments>http://angryphysicist.wordpress.com/2007/07/26/lisp-for-the-low-level-man-an-introduction-to-liskell/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 22:32:29 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[Old Fashioned Coder]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/07/26/lisp-for-the-low-level-man-an-introduction-to-liskell/</guid>
		<description><![CDATA[So, you want to program Lisp on a slow/old computer? Use Liskell, it&#8217;s Haskell and Lisp combined into a new language.
The example given on the home page of Liskell in action is actually pretty interesting:
(define (fact n)
 
   (if (== n 0)
       1
     [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>So, you want to program Lisp on a slow/old computer? Use <a href="http://liskell.org/">Liskell</a>, it&#8217;s Haskell and Lisp combined into a new language.</p>
<p>The example given on the home page of Liskell in action is actually pretty interesting:</p>
<blockquote><p><code>(define (fact n)</code><br />
<code> </code></p>
<blockquote><p><code>   (if (== n 0)</code><br />
<code>       1</code><br />
<code>       (* n (fact (- n 1))))))))</code></p></blockquote>
</blockquote>
<p>Compare this to the old school Haskell:</p>
<blockquote><p><code>fact n =</code><br />
<code> </code></p>
<blockquote><p><code>   if n == 0</code></p>
<blockquote><p><code>     then 1</code></p></blockquote>
<p><code>     else n * (fact (n - 1)))</code></p></blockquote>
</blockquote>
<p>It has the beauty of Lisp and the speed as well as efficiency of Haskell. It&#8217;s a beautiful language for those that like functional languages (all eyes turn to John Armstrong :P).</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=45&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/07/26/lisp-for-the-low-level-man-an-introduction-to-liskell/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>Please Criticize This&#8230;</title>
		<link>http://angryphysicist.wordpress.com/2007/07/22/please-criticize-this/</link>
		<comments>http://angryphysicist.wordpress.com/2007/07/22/please-criticize-this/#comments</comments>
		<pubDate>Sun, 22 Jul 2007 20:04:10 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/07/22/please-criticize-this/</guid>
		<description><![CDATA[OK, I am working on the explanation of Unix-like file systems intended for programmers that don&#8217;t know anything about the Unix-like file system structure. This is a rough draft, and I know the appendix is sketchy, it needs to be - well - written. I think I did a half decent job, but it occurs [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>OK, I am working on the explanation of Unix-like file systems intended for programmers that don&#8217;t know anything about the Unix-like file system structure. This is a rough draft, and I know the appendix is sketchy, it needs to be - well - written. I think I did a half decent job, but it occurs to me as I write the technical documentation that there is no explanation of the Unix-like file system concept. So please please please help me by demanding clarification at points!</p>
<p>Cheers!<br />
AngryPhysicist</p>
<blockquote><p>
<b>Revision 1</b> Added more information about how the directory really is-a file.</p>
<h1>An Introduction to Unix-like File Systems</h1>
<h2>What the hell&#8217;s a file system?</h2>
<p>A file system is used nowadays to manage the hard disk, floppy disk, and well any block device. It uses <strong>files</strong> to centralize data, and <strong>directories</strong> to organize files and other directories.</p>
<p>The hard disk has a geometry (see the appendix) so the file system has to &#8220;respect&#8221; this. There are various approaches to making a file system, we shall inspect the Unix approach specifically since this is a manual for a Unix-like operating system.</p>
<h2>The Unix Approach: Inodes</h2>
<p>It should be emphasized <strong>EVERYTHING &#8220;IS-A&#8221; FILE!</strong> Unix is (sorta) object oriented like that, that&#8217;s one of the appeals to it. Any operation that can be done on a file (read, write, open, close, etc.) can be performed on directories, devices, etc.</p>
<p>The file system is key to the Unix philosophy&#8230;everything &#8220;is-a&#8221; file after all! The file system is like the heart of Unix&#8230;so it is worthy to spend time to discuss the idea behind the Unix-like file systems. We shall use pseudo-code that is similar to C# or D.</p>
<p>The basic idea is this: everything is a file. A file is represented by a data structure called an <strong>inode (index node)</strong>. The inode (also written as &#8220;i-node&#8221;, &#8220;index-node&#8221;, etc.) has fields that store information about the file or the addresses of the <strong>blocks</strong>. If you are unfamiliar with disk geometry, there is an appendix on it. A toy inode could be:</p>
<blockquote><p><tt>struct inode{<br />
uint mode;<br />
uint size;<br />
uint *blocks[MAX_ADDRESSES];<br />
}</tt></p></blockquote>
<p>There are only three simple fields that really define an inode. One tells us what sort of file we are dealing with. In unix, we have ordinary files and directories, as well as file representation of the various devices, pipes, and sockets. (The last two, pipes and sockets, are a sort of data structure used in interprocess communication.)</p>
<p>The next thing that gives us information about the file is the size of the file, which is given to us by the field <code>uint size</code>.</p>
<p>Last, and by no stretch of the imagination least, <code>uint *blocks[MAX_ADDRESSES]</code>. This field is the pointers to the various blocks that the inode stores the data in. Typically, the last several blocks are so-called <strong>indirect blocks</strong>. They hold addresses to blocks which are then used to hold addresses to more blocks. Singly indirect blocks use 1 indirect block (that is, the address it refers to is a block full of addresses; the exact number of addresses is equal to (the size of the block in bytes) / (the size of the variable one uses for addressing in bytes)). TO figure out how much data storage this gives us, we have the number of addresses in the indirect block given, we shall call it <em>N</em>. Now, each address refers to a block of data, so there is: <em>N</em> * (size of a block in bytes) bytes per singly indirect block.</p>
<p>A doubly indirect block uses a block that is full of addresses to another indirect block. That is to say, the address referred to us by the inode is a block full of addresses. These addresses refer us to more blocks which are chalk full of addresses. These addresses then refer us to the data. To figure out how many addresses it refers to, we simply figure: (1 block of addresses) * (X bytes per block) * (1 address per Y bytes) = number of addresses referring us in the first indirect block. We previously called this <em>N</em>. Now, each address refers us to what is pragmatically a singly indirect block. So we have: <em>N</em> * ( <em>N</em> * (size of a block in bytes) ) = bytes supported in a doubly indirect block.</p>
<p>There is also the triply indirect block. If you haven&#8217;t spotted the pattern so far, here&#8217;s the trick: for an <em>Z</em> indirect block, it supports <em>N</em>**<em>Z</em> * (size of a block in bytes) bytes. So for our triply indirect block, it is: <em>N</em> * (<em>N</em> * (<em>N</em> * (size of a block in bytes) ) ) bytes.</p>
<p>To figure out how many bytes an inode supports total, simply sum up the direct blocks with the indirect blocks. It&#8217;s a simple sum.</p>
<h3>The Organization of the Disk</h3>
<p>The basic structure of the inode approach more or less organizes the hard disk (or any block device really) into several components. We shall briefly cover this organization here.</p>
<p>The first important block is the zeroeth block: the <strong>boot block</strong>. It is the block that is loaded into memory after bios. It must be preserved at all costs.</p>
<p>Then we have two bit map blocks. The first is the <strong>inode bitmap</strong>. The idea is that the disk has a finite space (despite our wishes!). There are only so many inodes that are needed. So we allocate a section of space for these inodes. We need to keep track of whether these inodes are being used or are free. We use a bitmap to do this. A <strong>bitmap</strong> is really just a collection of bits (ones and zeroes). The first bit refers to the first inode, the second bit refers to the second inode, etc. We indicate whether an inode is used by a 1 and it is free by representing it with a 0 in the bitmap.</p>
<p>The second bitmap that follows this is the <strong>block bitmap</strong>. Just as the inode kept track of the free and used inodes, the block bitmap tracks the blocks and whether they are free or taken.</p>
<p>Now we have the space allocated to the inodes. This is the <strong>inode table</strong>. It is the contiguous space of inodes that keeps track of, and organizes, the disk.</p>
<p>The rest of the disk is used for the data directly (or as indirect blocks full of addresses). They do not hold inodes, etc.</p>
<h3>Directories in Unix Like File Systems</h3>
<p>Well, we see what a file is (it&#8217;s just a collection of blocks basically!). What about a directory? It seems a little more complicated. The directory is a file. However, unlike an ordinary file that stores data, a directory has special entries within it. The directory entry is a glorified pointer to a file. It stores the file name, the inode number of the file, and sometimes other fields that are useful.</p>
<p>We treat the directory as a file. A file is an inode. An inode stores addresses to blocks of memory for data. A directory, however, has no data other than these glorified links called directory entries. Well, since we cannot really change the structure of the inode, we need to simply change the data that are stored on the blocks. We use things called <strong>directory entries</strong>, a data structure often shortened to <strong>dir_entry</strong>. Let us look at a simplistic one:</p>
<blockquote><p><tt><br />
struct dir_entry {<br />
char name[NAME_LENGTH];<br />
int inodeNumber;<br />
}</tt></p></blockquote>
<p>This is the simplest directory entry. It has two fields that are really important: the name of the entry within the directory, and the inode number.</p>
<p>The inode number refers to the inode being the <em>N</em>th inode in the inode table. This is useful if we wish to know where the inode is, and if we would just so happen like to actually access the data.</p>
<p>Supposing that the maximum length of the name is 256 (i.e. <code>#define NAME_LENGTH 256</code>), then the size of a <code>dir_entry</code> is: (256 char) * (1 byte per char) + (1 int) * (4 bytes per int) = 256+4 = 260 bytes. That is <strong>roughly</strong> half of a sector (512/2 = 206, I know I know!). And an inode can refer to (supposing that there are 16 addresses all together) 16 blocks directly (I&#8217;m lazy, so I won&#8217;t try to calculate out &#8220;What if we use 1 singly indirect block? What if we use 1 doubly indirect block? What if&#8230;?&#8221;). Thus, in a handwavy lazy fashion, there are at most 32 entries in a directory this way&#8230;yes yes this also assumes that 1 block is 1 sector big (and 1 sector is 512 bytes). &lt;!&#8211;I lied, I will calculate out how many <code>dir_entry</code> there are for: 1 singly indirect block, 1 singly and 1 doubly indirect block, and 1 singly 1 doubly and 1 triply indirect blocks. Well, for a singly indirect block using 4 bytes for addressing, we have (512 bytes per block) * (1 address per 4 bytes) = (512/4) addresses = 128 addresses. Thus if each refers to a block, we have (128 blocks) * (512 bytes per block) = 65536 bytes. Thus for an inode with 15 direct addresses and 1 singly indirect block, we have (15 addresses + 128 addresses) * (512 bytes) = 73,216 bytes. There are 281.6 directory entries, round it down and we have 281 directory entries.</p>
<p>Suppose now we have 14 direct blocks, 1 singly indirect block, and 1 doubly indirect block. The doubly indirect block has 128 addresses that refers to 128 addresses, or (128 addresses) * (128 addresses) = 16,384 addresses. Now, to add together all the addresses: (14 direct addresses) + (128 singly indirect addresses) + (16384 doubly indirect addresses) = 16,526 addresses. Now this supports: (16526 blocks) * (512 bytes per block) = 8,461,312 bytes. This in turn supports (8461312 bytes) * (1 dir_entry per 260 bytes) = 32543.507692308 dir_entries. We round down to 32,543 directory entries.</p>
<p>For 13 direct blocks, 1 singly indirect block, 1 doubly indirect block, and 1 triply indirect block, let us calculate this one out. We know how many addresses there are for direct, singly indirect, and doubly indirect blocks, but we are ignorant of the number of addresses supported by the triply indirect block. Let us figure it out now. There is a block that has addresses to other blocks full of addresses to other blocks. That is (128 addresses) * (128 addresses) * (128 addresses) = 2,097,152 addresses. Now this inode supports: (13 direct addresses) + (128 singly indirect addresses) + (16384 doubly indirect addresses) + (2097152 triply indirect addresses) = 2,113,677 addresses. This in turn supports a total of: (2113677 addresses) * (1 block per address) * (512 bytes per block) = 1,082,202,624 bytes. Now, each directory entry is 260 bytes, so that means that this inode approach supports (1082202624 bytes) * (1 dir_entry per 260 bytes) = 4162317.784615385 directory entries. We round this down to become 4,162,317 directory entries.<br />
&#8211;&gt;</p>
<h2>Appendix: Disk Geometry</h2>
<p>Disk geometry is an interesting concept in and of itself. The hard disk is divided into atoms of 512 byte sectors. Typically file systems use a &#8220;block&#8221; concept, where there are 1, 2, 4, 8, or sometimes 16 sectors in a block. Note how it&#8217;s always a multiple of 2 (2**0, 2**1, 2**2, etc.).</p></blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/44/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/44/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=44&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/07/22/please-criticize-this/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>A Brief Anecdote and A Deformation Quantization of Gravity</title>
		<link>http://angryphysicist.wordpress.com/2007/07/14/a-brief-anecdote-and-a-deformation-quantization-of-gravity/</link>
		<comments>http://angryphysicist.wordpress.com/2007/07/14/a-brief-anecdote-and-a-deformation-quantization-of-gravity/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 21:32:06 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[How...odd...]]></category>

		<category><![CDATA[In Retrospect...]]></category>

		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/07/14/a-brief-anecdote-and-a-deformation-quantization-of-gravity/</guid>
		<description><![CDATA[ The Brief Anecdote
OK, so I was talking with the lead developer of Brainix and we hit a snag. Largely because it&#8217;s a microkernel, it&#8217;s indescribably difficult to program correctly. So, we said to each other &#8220;What should we do?&#8221;
Our conclusion was, well, nonexistent. That&#8217;s right, we didn&#8217;t come to a conclusion (we&#8217;re too cool [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> <u><strong>The Brief Anecdote</strong></u></p>
<p>OK, so I was talking with the lead developer of Brainix and we hit a snag. Largely because it&#8217;s a microkernel, it&#8217;s indescribably difficult to program correctly. So, we said to each other &#8220;What should we do?&#8221;</p>
<p>Our conclusion was, well, nonexistent. That&#8217;s right, we didn&#8217;t come to a conclusion (we&#8217;re too cool to solve problems <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). What I suspect will happen is we&#8217;ll end up making Brainix a hybrid kernel with the drivers running in the user-space so the Operating System won&#8217;t crash so much.</p>
<p>We&#8217;ll try making the operating system Unix-like&#8230;but in doing so we&#8217;ll try to resolve some problems like: the devices are supposed to be represented as files, but there is an ambiguity over the &#8220;block device&#8221; vs. &#8220;character device&#8221; dichotomy (e.g. the Network device is neither apparently). Perhaps we&#8217;ll make a more object oriented approach to solve this problem.</p>
<p>I suggested that we should start using the <a href="http://www.digitalmars.com/d/">D programming language</a> and using <a href="http://java.sun.com/j2se/javadoc/">javadoc</a> in-code documentation so that: 1) it&#8217;s easier to program, 2) it&#8217;s easier for &#8220;newbies&#8221; to learn the operating system concepts. We&#8217;ll see how things turn out I guess. A &#8220;problem&#8221; that arises is that either we can&#8217;t use classes (we can just as easily use structs) or we will have to hack together our own special compiler from the GNU D Compiler front-end (we may have to &#8220;slightly&#8221; change the Object class). This problem depends on whether we want to focus on embedded systems (or really old computer systems) or if we want to make operating systems for &#8220;recent&#8221; computers (i.e. with at least 512 megs of RAM, 1 GHz processor, etc. etc. etc.).</p>
<p>But I wish to present a conjecture:</p>
<p><strong>AngryPhysicist&#8217;s Conjecture:</strong> It is <strong>impossible</strong> to have an <strong>efficient</strong> Microkernel that is also POSIX-compliant. It&#8217;s one or the other, but not both.</p>
<p><strong>Remark</strong>: It is possible to have an efficient microkernel! It just can&#8217;t easily be Unix-like.<br />
I&#8217;m actually a little sad that we are departing the microkernel approach, but we&#8217;re doing something that is easier to program. Perhaps first we should write a debugger for the operating system (supposing we want to make life easier for ourselves &#8212; real programmers don&#8217;t use debuggers though, they program in binary)? That would require us to figure out how to make a debugger though&#8230;</p>
<p>Now, on to the paper:</p>
<blockquote><p><a href="http://arxiv.org/abs/0707.1526"><em>Generalized Lagrange Transforms: Finsler Geometry Methods and Deformation Quantization of Gravity</em> by Sergiu I. Vacaru</a></p>
<p><strong>ABSTRACT:</strong> We propose a natural Fedosov type quantization of generalized Lagrange models and gravity theories with metrics lifted on tangent bundle, or extended to higher dimension, following some stated geometric/ physical conditions (for instance, nonholonomic and/or conformal transforms to some physically important metrics or mapping into a gauge model). Such generalized Lagrange transforms define canonical nonlinear connection, metric and linear connection structures and model almost Kahler geometries with induced canonical sympletic structure and compatible affine connection. The constructions are possible due to a synthesis of the nonlinear connection formalism developed in Finsler and Lagrange geometries and deformation quantization methods.</p></blockquote>
<p>I thought this was an interesting paper, Carlip remarked he never saw an attempt at Deformation Quantization of Gravity. Well, there you have it.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/43/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/43/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=43&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/07/14/a-brief-anecdote-and-a-deformation-quantization-of-gravity/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
		<item>
		<title>More Programming Notes of Pseudo-Interest&#8230;</title>
		<link>http://angryphysicist.wordpress.com/2007/07/04/more-programming-notes-of-pseudo-interest/</link>
		<comments>http://angryphysicist.wordpress.com/2007/07/04/more-programming-notes-of-pseudo-interest/#comments</comments>
		<pubDate>Wed, 04 Jul 2007 20:20:28 +0000</pubDate>
		<dc:creator>angryphysicist</dc:creator>
		
		<category><![CDATA[How...odd...]]></category>

		<category><![CDATA[Operating Systems]]></category>

		<guid isPermaLink="false">http://angryphysicist.wordpress.com/2007/07/04/more-programming-notes-of-pseudo-interest/</guid>
		<description><![CDATA[I have stumbled upon a few gems worth noting. First off, there is the Metalinguistic Abstraction. It&#8217;s a &#8220;good read&#8221; as far as blogs go, with respect to programming.
There is also an Object Oriented version of Unix out: UnixLite. It&#8217;s (unfortunately) written in C++, but it&#8217;s interesting (to me at least) to observe an object [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have stumbled upon a few gems worth noting. First off, there is the <a href="http://metalinguist.wordpress.com/">Metalinguistic Abstraction</a>. It&#8217;s a &#8220;good read&#8221; as far as blogs go, with respect to programming.</p>
<p>There is also an Object Oriented version of Unix out: <a href="http://www.unixlite.org/">UnixLite</a>. It&#8217;s (unfortunately) written in C++, but it&#8217;s interesting (to me at least) to observe an object oriented unix-like operating system&#8217;s source code. It is a &#8220;toy&#8221; operating system, but don&#8217;t let that fool you: you could possibly hack it into a full blown Linux clone.</p>
<p>Interestingly, <a href="http://www.minix3.org/news/">Minix3</a> has just recently announced they ported SQLite. It appears to be trying to become a server operating system, but it still has this air of being a toy to it (a certain <em>je ne sais quoi</em> as the French would say, if I remember how to spell in French).</p>
<p>I am considering going back to Davis a wee bit early (i.e. next Saturday perhaps?), so I will be busy meeting with old acquaintances and so on and so forth.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/angryphysicist.wordpress.com/42/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/angryphysicist.wordpress.com/42/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/angryphysicist.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/angryphysicist.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/angryphysicist.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/angryphysicist.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/angryphysicist.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/angryphysicist.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/angryphysicist.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/angryphysicist.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/angryphysicist.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/angryphysicist.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=angryphysicist.wordpress.com&blog=1074126&post=42&subd=angryphysicist&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://angryphysicist.wordpress.com/2007/07/04/more-programming-notes-of-pseudo-interest/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/angryphysicist-128.jpg" medium="image">
			<media:title type="html">angryphysicist</media:title>
		</media:content>
	</item>
	</channel>
</rss>