<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://everything2.com/">
    <title>jkao's New Writeups</title>
    <link rel="alternate" type="text/html" href="http://everything2.com/index.pl?node=Everything%20User%20Search&amp;usersearch=jkao" />
    <link rel="self" type="application/atom+xml" href="?node=New%20Writeups%20Atom%20Feed&amp;type=ticker&amp;foruser=jkao" />
    <id>http://everything2.com/?node=New%20Writeups%20Atom%20Feed&amp;foruser=jkao</id>
    <updated>2005-08-17T05:53:52Z</updated>
<entry><title>Visual Basic (idea)</title><link rel="alternate" type="text/html" href="http://everything2.com/user/jkao/writeups/Visual+Basic"/><id>http://everything2.com/user/jkao/writeups/Visual+Basic</id><author><name>jkao</name><uri>http://everything2.com/user/jkao</uri></author><published>2005-08-17T05:53:52Z</published><updated>2005-08-17T05:53:52Z</updated>
<content type="html">&lt;p&gt;My first forays into programming as a kid were using Visual Basic, versions 1.0 and later, 2.0. &lt;a href=&quot;/title/Windows+95&quot;&gt;Windows 95&lt;/a&gt; had not yet come out, and VB still compiled to &lt;a href=&quot;/title/p-code&quot;&gt;p-code&lt;/a&gt; which was &lt;a href=&quot;/title/interpreted&quot;&gt;interpreted&lt;/a&gt; by &lt;a href=&quot;/title/VBRUN100.DLL&quot;&gt;VBRUN100.DLL&lt;/a&gt; or &lt;a href=&quot;/title/VBRUN200.DLL&quot;&gt;VBRUN200.DLL&lt;/a&gt;. Even back then, the VB interface builder was &lt;a href=&quot;/title/slick&quot;&gt;slick&lt;/a&gt;. Click on the button tool and draw a button on your window. Double click and the &lt;a href=&quot;/title/code+editor&quot;&gt;code editor&lt;/a&gt; pops up, complete with a skeleton click event function for your new button. Writing a graphical interface was as simple as drawing &lt;a href=&quot;/title/widgets&quot;&gt;widgets&lt;/a&gt; and connecting them with a few lines of code. Running and debugging your program was a matter of using the VCR-like controls on Visual Basic's toolbar -- no compilation necessary. Visual Basic brought programming to the masses.

&lt;p&gt;The only problem was, VB was a sandbox. It was designed to support a certain range of tasks, and anything outside of that was kludgey to the point of impossibility. Your widgets didn't resize themselves correctly when you changed your monitor's &lt;a href=&quot;/title/DPI&quot;&gt;DPI&lt;/a&gt;. Dynamic&amp;hellip;</content>
</entry><entry><title>cilantro (thing)</title><link rel="alternate" type="text/html" href="http://everything2.com/user/jkao/writeups/cilantro"/><id>http://everything2.com/user/jkao/writeups/cilantro</id><author><name>jkao</name><uri>http://everything2.com/user/jkao</uri></author><published>2005-04-03T02:59:24Z</published><updated>2005-04-03T02:59:24Z</updated>
<content type="html">&lt;p&gt;I never understood why people would &lt;a href=&quot;/title/dislike&quot;&gt;dislike&lt;/a&gt; cilantro until I moved from &lt;a href=&quot;/title/southern+California&quot;&gt;southern California&lt;/a&gt; to &lt;a href=&quot;/title/Chicago%252C+Illinois&quot;&gt;Chicago&lt;/a&gt;, where &lt;a href=&quot;/title/produce+is+imported+over+mind-boggling+distances&quot;&gt;produce is imported over mind-boggling distances&lt;/a&gt; a large fraction of the year. I discovered that it is absolutely vital that cilantro be fresh, sold and used soon after harvesting. This seems to be a matter of both flavor and simple &lt;a href=&quot;/title/mechanics&quot;&gt;mechanics&lt;/a&gt;. As an herb, the fragrance of fresh cilantro fades relatively quickly -- it is not durable like &lt;a href=&quot;/title/curly+parsley&quot;&gt;curly parsley&lt;/a&gt;. More mundanely, cilantro's large &lt;a href=&quot;/title/surface+area&quot;&gt;surface area&lt;/a&gt; and small volume means it dehydrates very rapidly. Thus, by the time cilantro reaches my kitchen in the &lt;a href=&quot;/title/Chicago+winter&quot;&gt;Chicago winter&lt;/a&gt;, it has morphed from a crisp brightly fragrant herb to something akin to &lt;a href=&quot;/title/flavorless+pieces+of+rubber+laced+with+fiber&quot;&gt;flavorless pieces of rubber laced with fiber&lt;/a&gt;.

&lt;p&gt;On a more practial note, cilantro is best stored washed and cleaned, in a  sealed &lt;a href=&quot;/title/tupperware&quot;&gt;tupperware&lt;/a&gt;-type container lined with paper towels. </content>
</entry><entry><title>Science fiction (idea)</title><link rel="alternate" type="text/html" href="http://everything2.com/user/jkao/writeups/Science+fiction"/><id>http://everything2.com/user/jkao/writeups/Science+fiction</id><author><name>jkao</name><uri>http://everything2.com/user/jkao</uri></author><published>2005-01-20T00:05:52Z</published><updated>2005-01-20T00:05:52Z</updated>
<content type="html">As &lt;a href=&quot;/title/futurehog&quot;&gt;futurehog&lt;/a&gt; points out, &lt;a href=&quot;/title/defining+science+fiction&quot;&gt;defining science fiction&lt;/a&gt; is difficult, and the results are usually unsatisfactory. I think this is best seen by comparing some examples, &lt;a href=&quot;/title/Neal+Stephenson&quot;&gt;Neal Stephenson&lt;/a&gt;'s &lt;a href=&quot;/title/Cryptonomicon&quot;&gt;Cryptonomicon&lt;/a&gt; and &lt;a href=&quot;/title/Baroque+cycle&quot;&gt;Baroque cycle&lt;/a&gt;, &lt;a href=&quot;/title/Isaac+Asimov&quot;&gt;Isaac Asimov&lt;/a&gt;'s &lt;a href=&quot;/title/Foundation&quot;&gt;Foundation&lt;/a&gt; series, and &lt;a href=&quot;/title/George+Lucas&quot;&gt;George Lucas&lt;/a&gt;'s &lt;a href=&quot;/title/Star+Wars&quot;&gt;Star Wars&lt;/a&gt;.

&lt;p&gt;Regardless of your opinions of the relative merits of these works, I believe most readers would say that Neal Stephenson's books have the &lt;a href=&quot;/title/spirit&quot;&gt;spirit&lt;/a&gt; of science fiction in them despite being historical, while Star Wars seems more like fantasy. Foundation is clearly classically &quot;science fiction&quot;.

&lt;p&gt;The node &lt;a href=&quot;/title/Defining+science+fiction&quot;&gt;Defining science fiction&lt;/a&gt; makes the statement that &quot;SF is the literary genre of the possible&quot;. Science fiction must be &quot;speculative&quot;, and it should &quot;result in a setting that is noticeably different from the reality we all know&quot;. &lt;a href=&quot;/title/Frederick+Pohl&quot;&gt;Frederick Pohl&lt;/a&gt; calls it &quot;the literature of change&quot;, while &lt;a href=&quot;/title/Damon+Knight&quot;&gt;Damon Knight&lt;/a&gt; says it's &quot;what we point to when we say it&quot;. Other definitions abound. All of these seem to lack some&amp;hellip;</content>
</entry><entry><title>Perl (idea)</title><link rel="alternate" type="text/html" href="http://everything2.com/user/jkao/writeups/Perl"/><id>http://everything2.com/user/jkao/writeups/Perl</id><author><name>jkao</name><uri>http://everything2.com/user/jkao</uri></author><published>2005-01-19T23:23:09Z</published><updated>2005-01-19T23:23:09Z</updated>
<content type="html">&lt;a href=&quot;/title/Perl&quot;&gt;Perl&lt;/a&gt; is the first &lt;a href=&quot;/title/postmodern&quot;&gt;postmodern&lt;/a&gt; computer language. This probably has something to do with why &lt;a href=&quot;/title/Python&quot;&gt;Python&lt;/a&gt; programmers often &lt;a href=&quot;/title/I+hate+Perl&quot;&gt;hate Perl&lt;/a&gt;. According to &lt;a href=&quot;/title/Larry+Wall&quot;&gt;Larry Wall&lt;/a&gt;, the creator of Perl,

&lt;blockquote&gt;...the essence of &lt;a href=&quot;/title/Modernism&quot;&gt;Modernism&lt;/a&gt; is to take one cool idea and drive it into the ground.... Think about &lt;a href=&quot;/title/Lisp&quot;&gt;Lisp&lt;/a&gt;, and parentheses. Think about &lt;a href=&quot;/title/Forth&quot;&gt;Forth&lt;/a&gt;, and stack code. Think about Prolog, and backtracking. Think about &lt;a href=&quot;/title/Smalltalk&quot;&gt;Smalltalk&lt;/a&gt;, and &lt;a href=&quot;/title/object-oriented+programming&quot;&gt;objects&lt;/a&gt;. (Or if you don't want to think about &lt;a href=&quot;/title/Smalltalk&quot;&gt;Smalltalk&lt;/a&gt;, think about &lt;a href=&quot;/title/Java&quot;&gt;Java&lt;/a&gt;, and objects.)

&lt;p&gt;Think about &lt;a href=&quot;/title/Python&quot;&gt;Python&lt;/a&gt;, and whitespace. Hi, Guido. 

&lt;p&gt;Well...Perl does one thing, and does it well. What it does well is to integrate all its features into one language. More importantly, it does this without making them all look like each other. Ducts shouldn't look like girders, and girders shouldn't look like ducts. Neither of those should look like water pipes, and it's really important that water pipes not look like sewer pipes. Or smell like&lt;/blockquote&gt;&amp;hellip;</content>
</entry><entry><title>finite difference (idea)</title><link rel="alternate" type="text/html" href="http://everything2.com/user/jkao/writeups/finite+difference"/><id>http://everything2.com/user/jkao/writeups/finite+difference</id><author><name>jkao</name><uri>http://everything2.com/user/jkao</uri></author><published>2002-09-11T05:30:22Z</published><updated>2002-09-11T05:30:22Z</updated>
<content type="html">To calculate &lt;a href=&quot;/title/derivative&quot;&gt;derivatives&lt;/a&gt; by &lt;a href=&quot;/title/finite+difference&quot;&gt;finite differences&lt;/a&gt; is both simple and subtle, like much of &lt;a href=&quot;/title/numerical+analysis&quot;&gt;numerical analysis&lt;/a&gt;. Simple, because it can be done with an &lt;a href=&quot;/title/AP+Calculus&quot;&gt;AP Calculus&lt;/a&gt; knowledge of &lt;a href=&quot;/title/Taylor+series&quot;&gt;Taylor series&lt;/a&gt;, and subtle, because to do it well takes some thought beyond mechanical manipulation.

&lt;p&gt;Here's an example.

&lt;p&gt;Suppose you have data for y(x) at a bunch of x's, and you want to find y'(x). Begin by writing out a Taylor series around x:
&lt;p&gt;y(x+h) = y(x) + y'(x) h + ...
&lt;p&gt;Solving for y'(x), you quickly get
&lt;p&gt;y'(x) = ( y(x+h) - y(x) ) / h
&lt;p&gt;This is known as &lt;a href=&quot;/title/forward+differencing&quot;&gt;forward differencing&lt;/a&gt;. Easy enough, right? But wait. What you actually did was
&lt;p&gt;y(x+h) = y(x) + y'(x) h + O(h^2)&lt;br&gt;
y'(x) = ( y(x+h) - y(x) ) / h + O(h)
&lt;p&gt;where O(h) means you left out terms of &lt;a href=&quot;/title/order&quot;&gt;order&lt;/a&gt; h. So using this formula to calculate y' will give you an &lt;a href=&quot;/title/error&quot;&gt;error&lt;/a&gt; that scales like h--to halve your error, you have to halve h. It turns out it's possible to do much better. Instead of stopping at h, go to h^2.
&lt;p&gt;y(x+h&amp;hellip;</content>
</entry><entry><title>Mobile Robots: Inspiration to Implementation (thing)</title><link rel="alternate" type="text/html" href="http://everything2.com/user/jkao/writeups/Mobile+Robots%253A+Inspiration+to+Implementation"/><id>http://everything2.com/user/jkao/writeups/Mobile+Robots%253A+Inspiration+to+Implementation</id><author><name>jkao</name><uri>http://everything2.com/user/jkao</uri></author><published>2002-09-06T05:45:27Z</published><updated>2002-09-06T05:45:27Z</updated>
<content type="html">Although &lt;a href=&quot;/title/Mobile+Robots%253A+Inspiration+to+Implementation&quot;&gt;Mobile Robots: Inspiration to Implementation&lt;/a&gt; is certainly an excellent &lt;a href=&quot;/title/book&quot;&gt;book&lt;/a&gt; to learn the basics of &lt;a href=&quot;/title/electrical+engineering&quot;&gt;electrical engineering&lt;/a&gt;, &lt;a href=&quot;/title/physics&quot;&gt;physics&lt;/a&gt;, &lt;a href=&quot;/title/computer+science&quot;&gt;computer science&lt;/a&gt;, and general know-how necessary for the building of simple robots, where it truly shines is in its presentation of a coherent vision of &lt;a href=&quot;/title/behavior+based+robotics&quot;&gt;behavior based robotics&lt;/a&gt; at a level suitable for &lt;a href=&quot;/title/amateur+robotics&quot;&gt;amateur robotics&lt;/a&gt; hobbyists. 

&lt;p&gt;Most books on robotics for those of us without a &lt;a href=&quot;/title/PhD&quot;&gt;PhD&lt;/a&gt; generally do a passable job of covering the basics of motors, sensors and electronics. You can learn how to wire up an &lt;a href=&quot;/title/H-bridge&quot;&gt;H-bridge&lt;/a&gt; or build an &lt;a href=&quot;/title/infrared+proximity+sensor&quot;&gt;infrared proximity sensor&lt;/a&gt; from any of a dozen books. Most also explain the rudiments of &lt;a href=&quot;/title/microcontroller&quot;&gt;microcontroller&lt;/a&gt; programming, and how to interface &lt;a href=&quot;/title/sensors&quot;&gt;sensors&lt;/a&gt;, &lt;a href=&quot;/title/actuators&quot;&gt;actuators&lt;/a&gt; and processors. What they don't explain is how to get anything but the most rudimentary and mechanical of behaviors out of your expensive heap of motors, chips and batteries. 

&lt;p&gt;Mobile Robots, on the other hand, is written by the &lt;a href=&quot;/title/engineers&quot;&gt;engineers&lt;/a&gt; who developed&amp;hellip;</content>
</entry></feed>
