<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2544857744985174434</id><updated>2011-11-22T18:24:40.013-08:00</updated><category term='personal'/><category term='i'/><title type='text'>searke</title><subtitle type='html'>Sean Clarke - Math/Cs Student @ UIUC</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://searke.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2834571374550724668</id><published>2011-11-21T15:27:00.001-08:00</published><updated>2011-11-21T15:45:45.552-08:00</updated><title type='text'>Random Name Generator</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-g8i734vaWfo/TsreRDy3ixI/AAAAAAAAAGM/AITLywqQKw4/s1600/rnd+names.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://1.bp.blogspot.com/-g8i734vaWfo/TsreRDy3ixI/AAAAAAAAAGM/AITLywqQKw4/s320/rnd+names.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;The graphic on the right shows the 100 most common male names in America where the size of &amp;nbsp;each name is proportional to its popularity. The graphic is a ton more compelling as an interactive 3D document, but the picture conveys the main idea of how name popularity is distributed.&lt;br /&gt;&lt;br /&gt;The difficulty in making an image like this, or anything like it really isn't in programming it. The program which was used to generate it is very simple. More difficult is acquiring the data. &amp;nbsp;In this case, I was able to acquire the data from Wolfram|Alpha in a computable format with very little work.&lt;br /&gt;&lt;br /&gt;For exploratory&amp;nbsp;programming, acquiring data to work with is probably one of the most important issues. &amp;nbsp;This is something not well addressed by most higher level programming&amp;nbsp;languages. For them, the data which the code acts on is a secondary feature of the&amp;nbsp;language&amp;nbsp;rather than seen as an integral part of it.&lt;br /&gt;&lt;br /&gt;Once I have access to the data, I am able to do a ton of difficult things that I would not normally be able to do. I can create a random name generator that returns realistic names back to me in the same proportion I would likely find them in the real world.&lt;br /&gt;&lt;br /&gt;Despite the fact that the internet has brought us a ton of data to work with, finding what you want in a computable format is still very difficult. &amp;nbsp;Wasn't the semantic web supposed to fix that by&amp;nbsp;assigning&amp;nbsp;meaning to the data?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2834571374550724668?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2834571374550724668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2834571374550724668'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/11/random-name-generator.html' title='Random Name Generator'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-g8i734vaWfo/TsreRDy3ixI/AAAAAAAAAGM/AITLywqQKw4/s72-c/rnd+names.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6706964176274500948</id><published>2011-11-09T18:51:00.000-08:00</published><updated>2011-11-09T19:05:34.209-08:00</updated><title type='text'>Random thoughts on design methods</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MmQ6VNXrXhA/Trs20Al2hBI/AAAAAAAAAFs/OBeKV15yT9w/s1600/turtle.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-MmQ6VNXrXhA/Trs20Al2hBI/AAAAAAAAAFs/OBeKV15yT9w/s320/turtle.jpeg" width="313" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;I've been thinking just now about how my style of programming has changed since going to college. My current work doesn't really lend itself to being called software engineering, but I do a fair amount of programming in it - usually in fairly small pieces. But even my programming outside of work has changed a bit.&lt;br /&gt;&lt;br /&gt;I don't really create programs anymore. Programs are restricted in what they can do. I thought for a while that I was instead creating libraries for programming. After a while though, I realized that wasn't the case either. To a certain degree, I try to think about my packages as domain specific languages. I think about creating a way to write out common concepts I need to express and build the underlying functionality in a way that will be flexible. Only after doing this a ton do I begin actually writing the thing I want.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4yjTgDyzsio/Trs20i7NcmI/AAAAAAAAAF0/PJ9bmidQEqk/s1600/turtle1.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-4yjTgDyzsio/Trs20i7NcmI/AAAAAAAAAF0/PJ9bmidQEqk/s320/turtle1.jpeg" width="267" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Maybe this is just something I never really got about programming before.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-qmIq4muMIJY/Trs20ymvZnI/AAAAAAAAAF8/qBhkbQzFV6o/s1600/turtle3.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-qmIq4muMIJY/Trs20ymvZnI/AAAAAAAAAF8/qBhkbQzFV6o/s320/turtle3.jpeg" width="248" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;But I'm not sure what it is I am really understanding except the concept of a programming language is still underrated.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;MakeTurtle[] := Turtle[{0.,0.},0.,{}]; MakeTurtle[loc_,angle_,lines_]:=Turtle[loc,angle,lines];&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Location[trtl_]:=trtl[[1]]; Angle[trtl_]:=trtl[[2]]; Lines[trtl_]:=trtl[[3]];&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Move[trtl_,distance_]:=With[{newLoc = Location@trtl+distance*Cos[Angle@trtl],Sin[Angle@trtl]})},&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;MakeTurtle[newLoc,Angle@trtl,Append[Lines@trtl,Line[{Location@trtl,newLoc}]]]]&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Move[distance_]:=Function[trtl,Move[trtl,distance]];&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;TurnRight[trtl_,angle_]:= MakeTurtle[Location@trtl,Angle@trtl+angle,Lines@trtl];&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;TurnRight[angle_]:=Function[trtl,TurnRight[trtl,angle]];&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;TurnLeft[trtl_,angle_]:= MakeTurtle[Location@trtl,Angle@trtl-angle,Lines@trtl];TurnLeft[angle_]:=Function[trtl,TurnLeft[trtl,angle]];&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;ShowTurtle[trtl_]:=Graphics@Lines@trtl;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;trtl:=Nest[(#//TurnRight[RandomReal[{0,2Pi}]]//Move[RandomVariate[NormalDistribution[0,1]]])&amp;amp;,MakeTurtle[],300];&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6706964176274500948?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6706964176274500948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6706964176274500948'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/11/random-thoughts-on-design-methods.html' title='Random thoughts on design methods'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-MmQ6VNXrXhA/Trs20Al2hBI/AAAAAAAAAFs/OBeKV15yT9w/s72-c/turtle.jpeg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-8384106195818075538</id><published>2011-11-02T17:45:00.000-07:00</published><updated>2011-11-02T17:45:16.702-07:00</updated><title type='text'>Some thoughts on usability of software and interfaces</title><content type='html'>&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Huffman_tree_2.svg/350px-Huffman_tree_2.svg.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="205" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/82/Huffman_tree_2.svg/350px-Huffman_tree_2.svg.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp;Usability seems to have a ton in common Huffman coding trees. If you are not familiar with them, take a look at the &lt;a href="http://en.wikipedia.org/wiki/Huffman_coding"&gt;wikipedia article&lt;/a&gt;. Roughly speaking, a Huffman coding is a way of assigning smaller symbols to the most common elements of a signal and larger symbols to less common elements of a signal. By doing this, you can get a representation of the signal which is of a minimal size, the Huffman encoding.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A good programming language for example will be a lot like a Huffman encoding. The more common a task is, the easier it should be to accomplish in that programming language. There are, of course, forces pushing to make any programming language more verbose, such as&amp;nbsp;readability&amp;nbsp;and desire for specificity. But this at least offers a good explanation for why there should be so many programming languages - different languages are different codings for tasks we may wish to do. Novices to programming languages wonder why there is such a diversity of programming languages since to them it seems that there is a sharp cost in learning a new programming language and that all programming languages are essentially equivalent in power (Turing complete). They attribute the diversity of programming languages to either&amp;nbsp;factionalism&amp;nbsp;caused by corporations or the idea that progress has been made in the design of languages, which creates&amp;nbsp;new languages while legacy ones remain to and require&amp;nbsp;maintenance. There is of course truth in both of these.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Not only does the Huffman code analogy help explain why there would be different languages for different areas, but it explains that some languages have different learning curves. By making it easy &amp;nbsp;to do common tasks, it&amp;nbsp;necessarily&amp;nbsp;makes it a bit harder to do less common tasks. Many programming languages seem hard then because they try to make a large set of tasks possible with them. Take for example spread sheet programs like Microsoft's Excel. They make it very easy to make graphs of data, but it is very difficult to get highly customized graphics. In fact, there are a large number of graphics which are basically impossible to make. Creating a simple graphic with a programming language like R, Python, or Mathematica though is more difficult than doing the same task with a spreadsheet. For this reason, people new to programming think that programming languages are needlessly difficult. However, when the graphs have to be customized in some way, they are likely to find they have much more freedom and can manage much more customization with a programming language than they could have with spreadsheet. In this way, programming languages resemble Huffman coding trees that are more well balanced than more task specific programs.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The analogy with Huffman coding trees does not only extend to programming languages but other kinds of interfaces as well. Consider a simple user interface. If a certain task is more common, we can choose to make a button to perform that task more prominent than others perhaps by making it bigger or placing it at the top of a list. By doing this, we have made the other capabilities of the interface a bit harder to find. In this sense there is an encoding for the action and other actions have a longer encoding.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-8384106195818075538?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8384106195818075538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8384106195818075538'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/11/some-thoughts-on-usability-of-software.html' title='Some thoughts on usability of software and interfaces'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2785667982357945552</id><published>2011-08-17T17:13:00.000-07:00</published><updated>2011-08-17T17:13:30.520-07:00</updated><title type='text'>Old Dog, New Trick</title><content type='html'>I've been using integration by parts lately to solve some unique problems. Unfortunately, it seems many people don't seem to think there is anything really interesting about it.&amp;nbsp;I would like to show here a simple example of some of its more complicated things I've done with it recently.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;First to start off with a quick definition of the integration by parts transformation.&lt;br /&gt;&lt;br /&gt;&lt;img align="center" alt="\int a b \, dx=(\int a \, dx) b-\int (\int a \, dx) \frac{db}{dx} \, dx" border="0" src="http://www.texify.com/img/%5CLARGE%5C%21%5Cint%20a%20b%20%5C%2C%20dx%3D%28%5Cint%20a%20%5C%2C%20dx%29%20b-%5Cint%20%28%5Cint%20a%20%5C%2C%20dx%29%20%5Cfrac%7Bdb%7D%7Bdx%7D%20%5C%2C%20dx.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This transformation is kinda useful for numerical integration as well. If you look at the right hand side, you'll see that a always appears integrated. For this reason, we can use this interpretation of the integral whenever the integral of a is better behaved than a itself. &amp;nbsp;Take this integral as an example:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.texify.com/img/%5CLARGE%5C%21%5Cint%20e%5E%7Bx%5E3%7D%20%5Ctext%7BSin%28%5Cfrac%7B1%7D%7Bx%7D%29%20%5C%2C%20dx.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This equation has no analytic solution and becomes very difficult to analyse numerically around 0. In fact a simple attempt to numerically integrate it won't give good results.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-8M7RHJEBRsA/TkxUWYMX9OI/AAAAAAAAAFQ/eCIDQ4MJYLM/s1600/integration+by+parts+notes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://2.bp.blogspot.com/-8M7RHJEBRsA/TkxUWYMX9OI/AAAAAAAAAFQ/eCIDQ4MJYLM/s320/integration+by+parts+notes.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;The&amp;nbsp;oscillations&amp;nbsp;are due to that problematic sine term. The amazing thing is how much better behaved the integral of sine(1/x) is than the original expression. The integral has an analytic solution in terms of&amp;nbsp;&amp;nbsp;the Cosine Integral function:&lt;a href="http://mathworld.wolfram.com/CosineIntegral.html"&gt; http://mathworld.wolfram.com/CosineIntegral.html.&lt;/a&gt; This function is not difficult to numerically approximate.&lt;br /&gt;&lt;br /&gt;We can then make this integral easier to solve numerically by applying the integration by parts transformation. "a" here will be Sin(1/x) and "b" will be the exponential. First we compute the Integral of a. First I define the integral of the oscillating function:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.texify.com/img/%5CLARGE%5C%21%5Ctext%7BoI%7D%20%3D%20%5Cint%20%5Ctext%7BSin%7D%5Cleft%5B%5Cfrac%7B1%7D%7Bx%7D%5Cright%5D%20%5C%2C%20dx%3Dx%20%5Csin%20%5Cleft%28%5Cfrac%7B1%7D%7Bx%7D%5Cright%29-%5Ctext%7BCi%7D%5Cleft%28%5Cfrac%7B1%7D%7Bx%7D%5Cright%29.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Here Ci is the previously mentioned CosineIntegral function. &amp;nbsp;The full transformed integral is:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.texify.com/img/%5CLARGE%5C%21-3%20%5Cint%20e%5E%7Bx%5E3%7D%20x%5E2%20%5Ctext%7BoI%20%7D%20%20dx%2Be%5E%7Bx%5E3%7D%20%5Ctext%7BoI%7D.gif" /&gt;&lt;br /&gt;&lt;br /&gt;oI still oscillates, but not as widely as the previous function. This integral is easy to evaluate numerically. If we take out the analytic&amp;nbsp;component&amp;nbsp;and just focus on the integral, we can see we basically just transformed the function in the graph above into an analytically evaluable expression and the integral of this function:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_Z7VTooilwQ/TkxYzJtrT_I/AAAAAAAAAFU/FohG86qVrr0/s1600/integration+by+parts+notes.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://1.bp.blogspot.com/-_Z7VTooilwQ/TkxYzJtrT_I/AAAAAAAAAFU/FohG86qVrr0/s320/integration+by+parts+notes.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I'm always kind of amazed what kinds of functions this technique can be applied to.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2785667982357945552?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2785667982357945552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2785667982357945552'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/08/old-dog-new-trick.html' title='Old Dog, New Trick'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-8M7RHJEBRsA/TkxUWYMX9OI/AAAAAAAAAFQ/eCIDQ4MJYLM/s72-c/integration+by+parts+notes.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2656642752030948197</id><published>2011-08-07T15:06:00.000-07:00</published><updated>2011-08-07T15:06:53.915-07:00</updated><title type='text'>Some fun consequences of the previous post on Cauchy distributions</title><content type='html'>Look at my kinda rant on stack exchange &lt;a href="http://quant.stackexchange.com/questions/1576/how-does-one-analyze-diversification-if-stock-prices-follow-a-cauchy-distribution"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Essentially, the theory of diversification for stocks is completely different if you assume that the differentials of stocks are Cauchy distributed instead of Normally distributed. In fact, as I kinda point out, diversification doesn't even seem to make any sense under the conditions that stocks are levy processes.&lt;br /&gt;&lt;br /&gt;There were a number of good answers and its gonna take me a while to go through the&amp;nbsp;recommended&amp;nbsp;reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2656642752030948197?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2656642752030948197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2656642752030948197'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/08/some-fun-consequences-of-previous-post.html' title='Some fun consequences of the previous post on Cauchy distributions'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3357497281980223893</id><published>2011-08-01T07:13:00.000-07:00</published><updated>2011-08-01T07:13:10.435-07:00</updated><title type='text'>Stocks are not Wiener Processes.</title><content type='html'>The controversy over the distribution that best fits the change of stock prices is apparently fairly recent. In turns out that stocks are actually Levy processes. I was stumbled across this fact while trying to fit the data onto the normal distribution and failing. Having read somewhere that the differential in stock prices is&amp;nbsp;normal (see Black Sholes model), I assumed it would be at least a reasonable fit. After failing, I&amp;nbsp;programmatically&amp;nbsp;tried a ton of random distributions till a suitable fit was found.&lt;br /&gt;&lt;br /&gt;Here is a histogram of the daily closing differences for General Electric. On top of it is superimposed a fit of the histogram with first the Normal distribution and then the Cauchy distribution. The fit was found using maximum likelihood estimation.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Lapi6XXPYaY/TjayESQis1I/AAAAAAAAAFM/iPXIKw3zWYY/s1600/compare.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="131" src="http://3.bp.blogspot.com/-Lapi6XXPYaY/TjayESQis1I/AAAAAAAAAFM/iPXIKw3zWYY/s400/compare.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;One of these is a better fit. Which do you think?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PuMXIdzBH8k/TjavvD0xROI/AAAAAAAAAFI/-1pBhY1G7io/s1600/compare.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-PuMXIdzBH8k/TjavvD0xROI/AAAAAAAAAFI/-1pBhY1G7io/s1600/compare.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;It blows my mind how terrible of a fit the Normal distribution is - why did it take Mandelbrot and Nassim Taleb to bring this fact up? In fact, running a simple test for normality on the data shows an incredibly small chance of it being normally distributed.&lt;br /&gt;&lt;br /&gt;Of course this is not proof that the differential is Cauchy distributed. For that however you have to simply look at the properties of each distribution. For example the sum of two Cauchy random variables is another Cauchy random variable with parameters equal to the sum of the two previous parameters. Define beforehand the properties of stocks and you can derive the behavior of the distribution which should match it.&lt;br /&gt;&lt;br /&gt;Using the normal distribution is fine if you are making some kind of approximation. However whenever an approximation is made, you have to ask how good it will be and under what conditions it fails. It looks like this hasn´t been seriously tried until recently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3357497281980223893?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3357497281980223893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3357497281980223893'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/08/stocks-are-not-wiener-processes.html' title='Stocks are not Wiener Processes.'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Lapi6XXPYaY/TjayESQis1I/AAAAAAAAAFM/iPXIKw3zWYY/s72-c/compare.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7988933693845304840</id><published>2011-07-30T12:59:00.001-07:00</published><updated>2011-07-30T12:59:28.154-07:00</updated><title type='text'>For anyone who's lost their dog:</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Epitaph_to_a_Dog"&gt;http://en.wikipedia.org/wiki/Epitaph_to_a_Dog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7988933693845304840?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7988933693845304840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7988933693845304840'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/07/for-anyone-whos-lost-their-dog.html' title='For anyone who&apos;s lost their dog:'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7813735082868783102</id><published>2011-07-22T12:07:00.000-07:00</published><updated>2011-08-01T07:20:10.699-07:00</updated><title type='text'>Analog Planimeter</title><content type='html'>I recently got one of these for my birthday:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.math.ucsd.edu/~jeggers/Planimeter/KE_4242_1930/picture05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://www.math.ucsd.edu/~jeggers/Planimeter/KE_4242_1930/picture05.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.math.ucsd.edu/~jeggers/Planimeter/KE_4242_1930/KE_4242_1930_gallery.html"&gt;http://www.math.ucsd.edu/~jeggers/Planimeter/KE_4242_1930/KE_4242_1930_gallery.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It´s called a &lt;a href="http://en.wikipedia.org/wiki/Planimeter"&gt;planimeter&lt;/a&gt;&amp;nbsp;- a simple device which is used to calculate the area of an arbitrary blob. What is incredible is how simple the device is. At it's most basic, it is nothing more than two joined sticks and small wheel. It works because of Green's theorem, which is basically just the fundamental theorem of calculus (see post below). The fundamental theorem of calculus is everywhere. &lt;a href="http://www.youtube.com/watch?v=FfPFtbJAEm8&amp;amp;feature=related"&gt;Mathematical!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The one I have is exactly like the one in the gallery above. It´s a 1930´s German&amp;nbsp;manufactured planimeter.&amp;nbsp;How did I come across this? About half a year ago, I was wandering in the beautiful stacks of the Math library at the University of Illinois. It might be one of the more interesting libraries around. The library is modeled on the throne room at Neushwarstein Castle of King Ludwig II of Bavaria, has dangerous translucent glass floors, and pictures of famous&amp;nbsp;mathematicians&amp;nbsp;whose gaze is at times very unnerving. The book collection isn't bad either. Although it is though a very small library by the university´s standards, they have a pile of books every month that they give away.&lt;br /&gt;&lt;br /&gt;These days, the books are usually on some obscure branch of analysis and almost always in&amp;nbsp;Cyrillic. I happened to find a book on the subject of &lt;a href="http://www.scribd.com/doc/17722767/Graphical-and-Mechanical-Computation"&gt;Graphical and Mechanical Computation&lt;/a&gt; however. &amp;nbsp;This book was of practical use at the time of its publication, but the direction of our progress has made the techniques nothing more than curiosities.&amp;nbsp;It's such a shame that progress has caused us to abandon such a beautiful technology. Fortunately, Google has preserved the book at the link above. I learned about the planimeter in some of the later chapters.&lt;br /&gt;&lt;br /&gt;Maybe there is new interest in the subject. John D Cook recently&amp;nbsp;reviewed&amp;nbsp;this book on &lt;a href="http://www.amazon.com/gp/product/1456479628/ref=as_li_ss_tl?ie=UTF8&amp;amp;tag=theende-20&amp;amp;linkCode=as2&amp;amp;camp=217145&amp;amp;creative=399373&amp;amp;creativeASIN=1456479628"&gt;Nomology&lt;/a&gt;, a form of graphical numerical computation. I guess I have now another book to add to my shelf now...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7813735082868783102?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7813735082868783102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7813735082868783102'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/07/analog-planimeter.html' title='Analog Planimeter'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3008334129162692539</id><published>2011-07-13T22:29:00.000-07:00</published><updated>2011-07-13T22:29:34.383-07:00</updated><title type='text'>Incarnations of the Fundamental Theorem of Calculus.</title><content type='html'>I'm not sure most people know how very often the&amp;nbsp;fundamental&amp;nbsp;theorem of calculus comes up. I'm &amp;nbsp;even more&amp;nbsp;surprised&amp;nbsp;how many people are hard pressed to be able to describe it, even if they work in a&amp;nbsp;technical&amp;nbsp;field were calculus is used.&lt;br /&gt;&lt;br /&gt;The&amp;nbsp;fundamental&amp;nbsp;theorem of calculus basically says that deriving the rate of change of something and finding integrating the area are like ying/yang hot/cold addition/subtraction. They're complementary and undo each other.&lt;br /&gt;&lt;br /&gt;Anyway, I'm writing this because I think I've stumbled across a kinda unintuitive result of it that shows how widespread this duality between area and rate is. I was looking at program written in Mathematica and came across the following snippet:&lt;br /&gt;&lt;br /&gt;Mean@Differences@list&lt;br /&gt;&lt;br /&gt;This code takes the mean of the differences of a list of numbers called list. The differences are simply the differences in the adjacent numbers: First minus Second, Second minus Third, and so on. The mean is just the average of them. The code here is inefficient. A small amount of algebra shows that there is a quicker way to compute this value than to take all of the differences and then take their means.&lt;br /&gt;&lt;br /&gt;Let's say that our list of numbers is (a,b,c,d,e,f). Then our list of differences is (a-b,b-c,c-d,d-e,e-f). To average them, we add them all up and divide by the length of the list which is 6:&lt;br /&gt;&lt;br /&gt;(a-b+b-c+c-d+d-e+e-f)/6&lt;br /&gt;&lt;br /&gt;which is equal to (a-f)/6&lt;br /&gt;&lt;br /&gt;It's not too hard to see. This result however is essentially just the fundamental theorem of calculus. This fact is not as clear - after all, there are no derivatives and integrals really used. They are discrete versions however and they are hidden in the actual problem.&lt;br /&gt;&lt;br /&gt;First, the Differences function is a kind of discrete derivative. It is changing our list of numbers into a list of the rate of changes in the numbers. Rate of change is essentially just a derivative.&lt;br /&gt;&lt;br /&gt;The second thing is that taking the mean of a set of numbers is kinda like integrating. In fact, most people will remember that you can take the average value of a continuous function by integrating it and dividing by the range over which you are averaging.&lt;br /&gt;&lt;br /&gt;Putting these two together shows that they undo each other. The integral from a to z of a derivative is just the original function evaluated at a minus it evaluated at z. We divide by the length of the z-a to get the average.&lt;br /&gt;&lt;br /&gt;Actually the correspondence between the difference operator and differentiation is kinda fun in general:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Difference_operator"&gt;http://en.wikipedia.org/wiki/Difference_operator&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3008334129162692539?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3008334129162692539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3008334129162692539'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/07/incarnations-of-fundamental-theorem-of.html' title='Incarnations of the Fundamental Theorem of Calculus.'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4391676044688791366</id><published>2011-07-04T15:17:00.000-07:00</published><updated>2011-07-04T15:17:53.825-07:00</updated><title type='text'>Literature Reading Plan</title><content type='html'>First, the word "Plan" really shouldn't be here. In fact, I've chosen the title simply so I could I can write about &amp;nbsp;how my grand book reading plan is actually an &lt;a href="http://en.wikipedia.org/wiki/Wu_wei"&gt;un-plan&lt;/a&gt;. I don't want to give the impression that I've created a regime and book reading list based on the great authors. Instead, the plan is an emergent behavior - I read books I've bought by wandering around aimlessly at bookstores without any kind of timetable. I read books which are around me compulsively. This plan is a pattern which has emerged without intention in my life.&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The books aren't all things I have fun reading. In most cases, I would really prefer to be reading about math. There are a number of books on I've acquired by way of recommendation or I've prescribed to myself because I feel like they will be good for me.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;I would have never been able to do this in college. Being compelled to read and lie about your views on one novel kills all of the energy needed to really read at least two or three of them. I'm amazed The&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's a short list of the some of the types I've been reading over the past year:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Kurt Vonnegut&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;TimeQuake&lt;/li&gt;&lt;li&gt;Sirens of Titan&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Like half of everything David Sedaris has written. "The Kid" by Dan Savage.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Haruki Murakami&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Reread Underground&lt;/li&gt;&lt;li&gt;Blind Willow, Sleeping Women&lt;/li&gt;&lt;li&gt;Wind-up bird Chronicle&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The Catcher in the Rye&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and a bunch of others I've forgotten or didn't feel were worth any comment. Overall, this list is a bit more impressive than I would have thought it would be a year ago.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think Murakami and Vonnegut are a specific kind of reading for me. &lt;a href="http://drjohnblog.guidetoself.com/2009/10/19/the-human-mind-is-a-meaning-making-machine/"&gt;Reading abusrdist literature makes you more creative.&lt;/a&gt;&amp;nbsp;It also probably makes you more likely to go insane, but the two are closely linked.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The other identifiable trend in my reading is clearly gay literature. Savage's work is more centrally about being gay than Sedaris's comedy. Both however are fairly important to me for being gay works. &amp;nbsp;I feel like I could be easily criticized for being a gay guy reading gay literature for sake of being gay.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;gay gay gay gay gay gay gay&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However it is important to me to see a reflection of my life in literature. Growing up, I never saw people living out gay lives. &amp;nbsp;I know a number of people who would say that I shouldn't need media like TV, radio, and books to tell me how to live, but those people always had a reflection of their lives available to them&amp;nbsp;wherever&amp;nbsp;they wanted it. Maybe Asian&amp;nbsp;Americans&amp;nbsp;feel the same way to a degree reading Amy Tan. I feel like the need to be represented in literature is kind of universal. People who don't see their own troubles reflected in books likely are not reading.&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4391676044688791366?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4391676044688791366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4391676044688791366'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/07/literature-reading-plan.html' title='Literature Reading Plan'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3100400247419813163</id><published>2011-06-16T15:50:00.000-07:00</published><updated>2011-06-16T15:50:45.432-07:00</updated><title type='text'>Some of my best reading recently</title><content type='html'>Cicero on the Cataline conspiracy:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bartleby.com/268/2/11.html"&gt;http://www.bartleby.com/268/2/11.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Julius Caesar on the Catiline conspiracy: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bartleby.com/268/2/19.html"&gt;http://www.bartleby.com/268/2/19.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3100400247419813163?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3100400247419813163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3100400247419813163'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/06/some-of-my-best-reading-recently.html' title='Some of my best reading recently'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7431112060689791173</id><published>2011-05-23T16:38:00.000-07:00</published><updated>2011-05-23T16:38:49.582-07:00</updated><title type='text'>Theo Jansen's Beasts</title><content type='html'>Dutch artist &lt;a href="http://en.wikipedia.org/wiki/Theo_Jansen"&gt;Theo Jansen&lt;/a&gt;&amp;nbsp;has been selling&amp;nbsp;miniature 3D printed&amp;nbsp;reproductions of his work online from &lt;a href="http://www.shapeways.com/"&gt;Shapeways&lt;/a&gt;. I got one last week. It's the only 3D printed plastic thing I own and strangely probably most&amp;nbsp;futuristic thing I own. 3D printing is part of the future means of production and simply owning a piece of that is interesting enough.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.shapeways.com/blog/archives/822-Theo-Jansens-3D-Printed-Strandbeests.html"&gt;http://www.shapeways.com/blog/archives/822-Theo-Jansens-3D-Printed-Strandbeests.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.shapeways.com/blog/uploads/agp07-640.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://www.shapeways.com/blog/uploads/agp07-640.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The most interesting thing is how people react to it. People can't help but think of it as some kinda of animal-spider-pet. I've had several people demand to know what its name is. The object can't even move on its own and has no face or eyes, so this really&amp;nbsp;surprised&amp;nbsp;me. People seem to somehow relate to the object more than a robotic&amp;nbsp;vacuum or one of those terrible robot puppies they sell at&amp;nbsp;Christmastime.&amp;nbsp;&amp;nbsp;Often people are just kinda freaked out about it. Its motion is pretty spider-like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7431112060689791173?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7431112060689791173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7431112060689791173'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/05/theo-jansens-beasts.html' title='Theo Jansen&apos;s Beasts'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4329790252333425696</id><published>2011-05-21T17:31:00.000-07:00</published><updated>2011-05-23T16:48:44.143-07:00</updated><title type='text'>Two Techniques in Functional Programming in Mathematica</title><content type='html'>When I code for customers, I often end up using techniques of functional programming that &amp;nbsp;many people haven't seen before. This often ends up being problematic, and I've begun to identify the techniques I use that cause the most confusion and explain them when needed. Nevertheless, I use these in my own code because they help in creating well organized, readable code.&lt;br /&gt;&lt;br /&gt;There are two techniques in particular that I find the most useful:&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Decorator_pattern"&gt;decorators&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Closure_(computer_science)"&gt;closures&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Decorators&lt;/b&gt;&lt;br /&gt;I use the term decorator very broadly. For this case, I define a decorator to be a function which takes in a function or a result and instead of using it as input for some other process causes some kind of side effect (it's not a very good&amp;nbsp;definition, but will work here). In Python, decorators are used when defining a function, but I often use the term to apply to higher order functions I wrap around other functions which have some generic usage. &amp;nbsp;A basic example is a "deprecated" decorator. To test if a function is a decorator, remove it from your code. It shouldn't really affect the core&amp;nbsp;computations&amp;nbsp;of your program. Decorators aren't really aren't integral to a &amp;nbsp;program. They simply decorate. A decorator should also be modular -- it shouldn't &amp;nbsp;be built to work with a specific function, but should be able to be used generally across many different functions.&lt;br /&gt;&lt;br /&gt;This example of a decorator is used to mark functions as having been&amp;nbsp;deprecated.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;deprecated[function_] :=&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; Function[args,&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Module[{}, Print["This function has been deprecated"];&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function[args]]&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp; ]&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;We can then simply use this when defining functions to give them a deprecation warning.&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;test = deprecated@&lt;br /&gt;&amp;nbsp; &amp;nbsp;Function[x, x + 1];&lt;/span&gt;&lt;/blockquote&gt;When test is ran now, it will warn that it is deprecated. The decorator could be used on pretty much any function definition. More advanced versions are possible. This version allows us to customize the deprecation message:&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;deprecated[replacement_?StringQ] :=&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; Function[function,&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Function[args,&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Module[{},&lt;/span&gt;&lt;/blockquote&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Print["This function has been replaced by "&amp;lt;&amp;gt; replacement];&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function[args]]&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Which can be used like:&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;test = deprecated["blarg"]@&lt;br /&gt;&amp;nbsp; &amp;nbsp;Function[x, x + 1];&lt;br /&gt;&lt;br /&gt;test[1]&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;This function has been replaced by blarg&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;2&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;b&gt;Closures&lt;/b&gt;&lt;br /&gt;Closures should be recognizable to anyone who knows functional programming. They provide a nice way to have state in a language without really explicitly mentioning state. Here is a really simple example in Mathematica:&lt;br /&gt;&lt;blockquote&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;makeCounter[] := Module[{count = 0}, Function[{}, count++]];&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;counter = makeCounter[];&lt;/span&gt;&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;counter[]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;counter[]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;....&lt;/span&gt;&lt;/blockquote&gt;Counter is a function which has a state because it references a variable in its parent function makeCounter. &amp;nbsp;This is cleaner than creating a global variable to hold the global count. The value of counter can only be properly accessed by using counter as we have intended it. I can't give a full treatment of closures and their uses here, but I hope this gives a good idea of what they are.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Combining them&lt;/b&gt;&lt;br /&gt;I've used the both closures and decorators together with great synergy in a number of tasks. For example, let's say we want a good way to keeping track of how many times certain functions have been called. We can make a closure which returns a pair: a function to be used as a decorator on functions which are to increment the counter and a function to access the value of the counter. For example:&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;makeCounterSystem[] := Module[{count = 0}&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;{Function[result, count++; result],&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Function[{}, count]}&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;];&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;{counts, totalCount} = makeCounterSystem[];&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;counts@&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;Sin[RandomReal[]]&amp;nbsp;;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;totalCount[]&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;1&lt;/span&gt;&lt;/blockquote&gt;This decorator here is different from the previous ones in that it decorates functions not where they are defined, but where they are ran. This can be modified to be a decorator on the definition of the function easily if needed. Whenever we call a function which has counts@ preppended to it, the count will incremented and can then be access by calling totalCount[].&lt;br /&gt;&lt;br /&gt;There are numerous uses for this kind of combination. A common use is to keep a log of the results of a function silently:&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;makeLoggingSystem[] := Module[{log = {}},&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{Function[function, Function[args, &amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp;Module[{output=function[args]}, &lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;AppendTo[log,output];&amp;nbsp;output]]],&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Function[{}, log]&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;];&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;{logger, getLog} = makeLoggingSystem[];&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;test = logger@&lt;br /&gt;&amp;nbsp; &amp;nbsp;Function[x, N@Sin[x^2]];&lt;/span&gt;&lt;/blockquote&gt;Now whenever we call test, the resulting value is secretly logged and the entire history of the output of the function and any other function decorated by logger is accessible by running getLog[].&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4329790252333425696?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4329790252333425696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4329790252333425696'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/05/two-techniques-in-functional.html' title='Two Techniques in Functional Programming in Mathematica'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6211106740204901096</id><published>2011-04-29T21:20:00.000-07:00</published><updated>2011-04-29T21:20:27.936-07:00</updated><title type='text'>I am Bored</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-A6fBQw0m_Y8/TbuNy4WXojI/AAAAAAAAADA/v7COrgwMCvU/s1600/pretty2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-A6fBQw0m_Y8/TbuNy4WXojI/AAAAAAAAADA/v7COrgwMCvU/s320/pretty2.jpg" width="305" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;I am Bored&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6211106740204901096?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6211106740204901096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6211106740204901096'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/04/i-am-bored.html' title='I am Bored'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-A6fBQw0m_Y8/TbuNy4WXojI/AAAAAAAAADA/v7COrgwMCvU/s72-c/pretty2.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1980512767590503137</id><published>2011-04-22T20:43:00.000-07:00</published><updated>2011-04-22T20:43:52.631-07:00</updated><title type='text'>Everyday Life</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="post-text" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; line-height: 18px; margin-bottom: 5px; margin-left: 0px; margin-right: 5px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; width: 660px; word-wrap: break-word;"&gt;This is taken from the a joke thread on stackexchange. I think I pretty much see this situation everyday.&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;A physicist, an engineer, and a statistician were out game hunting. The engineer spied a bear in the distance, so they got a little closer. "Let me take the first shot!" said the engineer, who missed the bear by three metres to the left. "You're incompetent! Let me try" insisted the physicist, who then proceeded to miss by three metres to the right. "Ooh, we&amp;nbsp;&lt;span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;got&lt;/span&gt;&amp;nbsp;him!!" said the statistician.&lt;/i&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1980512767590503137?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1980512767590503137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1980512767590503137'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/04/everyday-life.html' title='Everyday Life'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-636238992805998812</id><published>2011-04-19T20:31:00.000-07:00</published><updated>2011-04-19T20:49:15.492-07:00</updated><title type='text'></title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-F7touD2ftMo/Ta5TXS-9xPI/AAAAAAAAAC8/h6sbeAvhghQ/s1600/dull.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="268" src="http://1.bp.blogspot.com/-F7touD2ftMo/Ta5TXS-9xPI/AAAAAAAAAC8/h6sbeAvhghQ/s320/dull.jpeg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-636238992805998812?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/636238992805998812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/636238992805998812'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/04/blog-post.html' title=''/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-F7touD2ftMo/Ta5TXS-9xPI/AAAAAAAAAC8/h6sbeAvhghQ/s72-c/dull.jpeg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6876763779716529599</id><published>2011-03-26T17:58:00.000-07:00</published><updated>2011-03-26T17:58:06.949-07:00</updated><title type='text'>Finding a Regression for a Circle</title><content type='html'>I was recently asked to fit a circle to a bunch of data points much like the one right here. You can see that the points are roughly distributed around in a circle of some kind. The task then is to find the equation of the circle which best fits this data.&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2sd7E6me1Yw/TY6FIsQ4WMI/AAAAAAAAACs/vAma3dk4BVA/s1600/prob.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-2sd7E6me1Yw/TY6FIsQ4WMI/AAAAAAAAACs/vAma3dk4BVA/s200/prob.jpg" width="199" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The Problem&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Fitting an equation to a set of data is not an uncommon problem. There´s a large amount of work done in algorithms for finding the ¨best¨ fit for many different definitions of ¨best¨. The person asking me to solve this problem was under the assumption that the normal method, least squares regression, was the best way of going about solving this problem. Actually, performing least squares regression in this case doesn´t really make any sense since the theory applies to only functions. Circles are not functions and so the theory doesn´t apply.&lt;br /&gt;&lt;br /&gt;Despite this fact, there was a desire to stick with something like least square regression. I guess it´s like a brand name that people have come to trust. There was talk of some rather complicated solutions, like breaking up the circle into two branches and performing least squares regression on each half in some way, then averaging the results. Anyway you slice it, you´re coming up with an arbitrary algorithm for finding a fit for the function. So really you might as well come up with a sensible arbitrary algorithm.&lt;br /&gt;&lt;br /&gt;The solution for the problem is in fact incredibly easy. If you understand what least squares regression is, then you would never attempt to use it for this kind of problem, or anything really remotely close to it.&lt;br /&gt;&lt;br /&gt;I resolved the issue with two very clear ideas that cut the Gordian Knot:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;The center of the circle is probably around the center of the points.&amp;nbsp;&lt;/li&gt;&lt;li&gt;The radius of the circle is probably the average distance from the center.&lt;/li&gt;&lt;/ul&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wMUA6b0bCSM/TY6FTQ0AUoI/AAAAAAAAAC0/O2iGmgO4RiE/s1600/sol.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-wMUA6b0bCSM/TY6FTQ0AUoI/AAAAAAAAAC0/O2iGmgO4RiE/s200/sol.jpg" width="199" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The Simple Solution&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;This is what the end result is when you plot that circle with the data. &amp;nbsp;It´s probably pretty close to minimizing the absolute residual of the data against the function. The solution is perfect for what it needed to be used for and took about one line of clear Mathematica to program. Relying on math that you don´t understand often causes you to complicate otherwise simple problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6876763779716529599?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6876763779716529599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6876763779716529599'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/03/finding-regression-for-circle.html' title='Finding a Regression for a Circle'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-2sd7E6me1Yw/TY6FIsQ4WMI/AAAAAAAAACs/vAma3dk4BVA/s72-c/prob.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7801808413956263087</id><published>2011-02-06T13:04:00.000-08:00</published><updated>2011-02-06T13:04:51.804-08:00</updated><title type='text'>Quantum Zombies</title><content type='html'>The idea the physics induces different kinds of computing must at this point be taken seriously. If were now looking at &lt;a href="http://www.wired.com/wiredscience/2011/01/quantum-birds/"&gt;quantum entanglement in eyes of birds&lt;/a&gt;, then the idea that quantum mechanics might have a significant role in the physics of consciousness is not really that crazy of an idea. &lt;br /&gt;&lt;br /&gt;As I believe I've pointed out earlier, besides being completely ridiculous by themselves, Kripke's arguments for qualia seems completely useless in the case of quantum consciousness. I wrote a big paper on this subject called "Quantum Zombies".  I won't link to it here, since the paper itself is terrible. &lt;br /&gt;&lt;br /&gt;Philosophers love to use the analogy of &lt;a href="http://plato.stanford.edu/entries/zombies/"&gt;zombies&lt;/a&gt; to discuss consciousness. What you won't see in their discussion is any mention that intelligence might have some kind of quantum nature. Like the theory of computation did before, philosophers have assumed a kind of Newton model of physics when discussing these zombies. If their arguments are revisited knowing that the mechanics of thought might involve quantum mechanics, then their arguments about zombies stop making any kind of sense. &lt;br /&gt;&lt;br /&gt;For example, Kripke suggests that it would be allowable that there could exist a perfect copy of a person. This copy would be a zombie copy. In a quantum model of thought, this idea of a copy would be ridiculous.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7801808413956263087?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7801808413956263087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7801808413956263087'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/02/idea-physics-induces-different-kinds-of.html' title='Quantum Zombies'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-5627254469107502316</id><published>2011-02-03T21:13:00.000-08:00</published><updated>2011-02-05T10:15:58.833-08:00</updated><title type='text'>Design Versus Implementation</title><content type='html'>The process of software design is often broken up into software design and software implementation. Like all forms of organization and classification, it's inherently incorrect and misleading. It's also necessary for an intelligent conversation on software.&lt;br /&gt;&lt;br /&gt;In many of the software projects I've worked on, there has been a tension between these two parts. Very often the roles are separated out and worked on separately, when in a deep sense they are inseparable. The separation of work into design and implementation, architect and foreman, brings about a great danger. If the architect doesn't understand the material and structures houses are built with and the foreman does not understand the purpose of the architect's design, not only will there be conflict, but a chance for holistic creativity is lost. Innovation often requires mastery of both halves. &lt;br /&gt;&lt;br /&gt;In popular thought, business people are often guilty of this dilemma. There are many stories of business people who have an idea for the next great website. They only they need to get a programmer to implement their idea. All the hard work to them seems done. The business people are caught unaware of how software was made in practice and become frustrated. Not aware that software creation must be part of the creative process, their projects fail.&lt;br /&gt;&lt;br /&gt;Directing programmers is difficult, because software design isn't problem solving. It is problem avoidance. You can ask a programmer to solve a problem, but very often instead she will find a way to avoid it all together. The path of least resistance is often the best and not the one the designer had in mind.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Insert Taoist quote here about how programmers are like water or something like that...&lt;br /&gt;-&lt;a href="http://en.wikipedia.org/wiki/Laozi"&gt;Laozi&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Many have gone so far as to completely discredit the design part of the process. Many stories about internet startups are about how they stumbled into their niche. All they had were quality team of programmers and software designers. They went where their code took them. To some degree this is true. The book, &lt;a href="http://www.amazon.com/Do-More-Faster-TechStars-Accelerate/dp/0470929839"&gt;Do More Faster&lt;/a&gt;, suggests that ideas are much more worthless than people believe. This is the over arching theme of its first section. Despite the ridiculous name of the book, I recommend it.&lt;br /&gt;&lt;br /&gt;The greatest master of both implementation and design might be Frank Llyod Wright. His writings about architecture stress the importance of knowing the whole process of construction. Wright devoted a large amount of his time to understanding the construction methods and materials of his houses and this reflected in his teaching. His college of architecture was known for making students do menial work like carpentry and even farming on top of standard architectural education. Ayn Rand's Howard Roark was a construction worker for much of The Fountainhead. His understanding of the building materials and construction techniques allowed him to innovate where his competing architect's ideas stagnated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-5627254469107502316?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5627254469107502316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5627254469107502316'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/02/design-versus-implementation.html' title='Design Versus Implementation'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3746975892374971841</id><published>2011-01-30T20:44:00.000-08:00</published><updated>2011-01-30T20:44:14.971-08:00</updated><title type='text'>Japanese Wikipedia</title><content type='html'>Some things are just difficult to learn unless you´re in the correct setting. Japanese is a good example. A college classroom is okay for learning Japanese, and unfortunately better than what I can do right now. Studying abroad is the only way anyone ever seems to actually learn Japanese and I don´t think that will ever happen for me.&lt;br /&gt;&lt;br /&gt;Since I no longer have the burden of college, or the luxury of the being forced to study, I´m at a bit of a loss as to how to maintain my Japanese. I know just enough to make forgetting things really easy, and not enough to make the skill actually useful right now. I didn´t touch Japanese for over 2 years between when I took it highschool and college. I take it as a credit to my character that I didn´t forget it and actually slightly improved over those 2 years. &lt;br /&gt;&lt;br /&gt;I don´t know why I bother maintaining my Japanese now. What are the chances of me ever going to Japan? Unless I specifically move there or try to find a job there, I don´t see myself very likely using it. Maybe I like the challenge of learning to write more characters, but I find it hard to justify why I spend time on it. I´ve never been out of the country and hardly left the midwest of America. I didn´t make a choice never to travel. It just never happened. &lt;br /&gt;&lt;br /&gt;My friends think this lack of travel experience is a huge problem. I find it hard to see why. Many of benefits of study abroad are things I already consider well within in my skill set. I´ve managed to have a good amount of culture shock here at home. I´ve had to actively seek it, but I have always found it. Despite my lack of first hand international experience, I am a fairly international kinda guy. To my friends though, my apathy to travel is nothing short of a sure sign of an underlying phobia.&lt;br /&gt;&lt;br /&gt;Travel reminds me a Zen koan I read somewhere once. Went something like this:&lt;br /&gt;&lt;br /&gt;&lt;i&gt; A student once went to see his master. When the student arrived and found the master kept a  pet bird in a cage. The student asked the master why they kept the bird caged when it should be free to go where it wanted. The master opened the cage and as the bird flew away asked, ¨and how will the bird escape this? ¨.  &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Don´t hold me to the authenticity of that Koan. I simply want to use it to illustrate my feeling on travel. I´m pretty sure no one will accept it as an explanation, but there it is. &lt;br /&gt;&lt;br /&gt;Once I am in a new place, what will I do there thats different from here? That´s all that really matters to me. Traveling somewhere simply to escape the midwest isn´t really a good way to become free. Of course, this all might be the rationalization of someone who is afraid to travel.&lt;br /&gt;&lt;br /&gt;I recently tried to use &lt;a href="http://www.skritter.com/"&gt;Skritter&lt;/a&gt; to learn Japanese. It´s not for me. I can hear my old Japanese teacher deploring how it doesn´t teach proper writing style. I personally feel like I should be able to study without it.&lt;br /&gt;&lt;br /&gt;I recently decided I should read more Japanese Wikipedia. Even better, I should edit English Wikipedia to contain some of the information in Japanese Wikipedia. This would really help my ability to read and make me feel like I´m at least doing something productive (whether this is actually productive is a debate for later). I think that is something I can do and be happy with, even if it´s as close as I ever get to going to Japan.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3746975892374971841?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3746975892374971841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3746975892374971841'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/01/japanese-wikipedia.html' title='Japanese Wikipedia'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1098723191657713776</id><published>2011-01-09T16:29:00.000-08:00</published><updated>2011-01-09T16:29:36.767-08:00</updated><title type='text'>Orthogonality</title><content type='html'>There are some overarching ideas from math that seem to make their way into my everyday life. Orthogonality is one of the newer ones. I've come to appreciate it more recently, seeing it in so many different aspects in so many different areas and applications.&lt;br /&gt;&lt;br /&gt;Most engineers and scientists use the term to refer solely to vectors, while the use can be extended to many different types of mathematical objects. The idea however is a very broad one. Parts of code for example can be orthogonal. If changing one part doesn't affect the other parts, this is intuitively like orthogonal vectors. Part of good software design is then a kind of orthogonalization. ( My spell check keeps on warning me "orthogonalization" is technical jargon, but I can't seem to find a suitable expression for it in normal English. )&lt;br /&gt;&lt;br /&gt;Analysis is best done by breaking a complicated thing into orthogonal components. This is often an assumed fact. It is clearly intuitive in linear algebra. It is not so clear when it comes to Legendre polynomials for example where it appears to a student that we are adding complexity to make orthogonality. It is not so clear that this makes the computation easier. The best example of the perils of poorly orthogonalized systems might come from statistical modeling in the form of &lt;a href="http://en.wikipedia.org/wiki/Multicollinearity"&gt;Multicollinearity&lt;/a&gt;. A multicollinear model is nothing more than a statistical model whose variables are not well orthogonalized. Multicollinearity is an cause of poor statistical model design in the same way that strongly linked objects are a cause of poor program design.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1098723191657713776?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1098723191657713776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1098723191657713776'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2011/01/orthogonality.html' title='Orthogonality'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3157687322301784508</id><published>2010-11-26T21:20:00.000-08:00</published><updated>2010-11-26T21:26:47.973-08:00</updated><title type='text'>Christmas shopping.</title><content type='html'>There's almost too much that could be written about this. I have a feeling that each person's individual personality is reflected in how they go about finding presents for the friends and relatives. &amp;nbsp;Some people approach the task with glee and others with dread. Some people demand lists from people of acceptable items, and others give them random garbage they probably already have.&lt;br /&gt;&lt;br /&gt;To some degree every person ends up giving a gift that somehow&amp;nbsp;reflects&amp;nbsp;what they think of the&amp;nbsp;receiver. My family doesn't seem keen on giving me books and always tries to find an alternative present. I can't really blame them. Looking at my more recent purchases, &amp;nbsp;I can't seem to give someone a Christmas present that I wouldn't want myself. It's a terrible curse. Sometimes I often think I would enjoy the gift far more than they will. A bit of greed seeps into my thoughts. The&amp;nbsp;possessive&amp;nbsp;part of me thinks I should buy all the gifts I give in double and keep half for myself. Why don't I have these things for myself? I could never really justify their purchase for my own sake, so I hope others will for me.&lt;br /&gt;&lt;br /&gt;Last year there was a special on NPR about how the holiday gift giving frenzy is bad for the economy. The idea seemed reasonable. Focusing so much consumer spending in a short time can't be stable. It makes me sad to see my friends suffer working on Black Friday and even worse, when they have to work on Thanksgiving. Additionally, I'm sure its a huge pain to stock the stores like they must for the shopping season. Please just spread your holiday shopping evenly throughout the year, at least for&amp;nbsp;logistic's&amp;nbsp;sake.&lt;br /&gt;&lt;br /&gt;Oh I shouldn't forget:&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/z59gAXZ0ksQ?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/z59gAXZ0ksQ?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3157687322301784508?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3157687322301784508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3157687322301784508'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/11/christmas-shopping.html' title='Christmas shopping.'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6711575217732927403</id><published>2010-10-16T19:09:00.000-07:00</published><updated>2010-10-16T19:09:03.852-07:00</updated><title type='text'>Good-bye, Mandelbrot.</title><content type='html'>As a Mathematician, if you wish to remembered by the general public, make sure your area of study involves lots of pretty pictures.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6711575217732927403?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6711575217732927403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6711575217732927403'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/10/good-bye-mandelbrot.html' title='Good-bye, Mandelbrot.'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7403028049564555872</id><published>2010-10-03T20:20:00.000-07:00</published><updated>2010-10-03T20:20:49.694-07:00</updated><title type='text'></title><content type='html'>Wandering around campus at night, I think I could easily be the ghost of former self haunting my old college haunts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7403028049564555872?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7403028049564555872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7403028049564555872'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/10/wandering-around-campus-at-night-i.html' title=''/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6343679920874459714</id><published>2010-09-19T01:01:00.000-07:00</published><updated>2010-09-19T01:01:13.715-07:00</updated><title type='text'>transitions</title><content type='html'>What it the latin etymology for the word? well its completely the opposite of what i want. trans means across. the rest is from the verb ir "to go". its wrong to say im in a transition. I want to use a word that expresses the change which has come has come by my own decisions to remain static.&lt;br /&gt;&lt;br /&gt;unavoidable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6343679920874459714?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6343679920874459714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6343679920874459714'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/09/transitions.html' title='transitions'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-9915833902299639</id><published>2010-07-27T17:30:00.000-07:00</published><updated>2010-07-27T17:30:50.938-07:00</updated><title type='text'>Death in the Modern World</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;D&lt;/span&gt;&lt;/span&gt;eath is something much different for me than it was for my parents at my age. It's because the internet makes us manage our friendships differently now. &amp;nbsp;Its easier to keep in contact with more people, and easier to hear about everything thats happening in their lives. I've heard stories where, in the past, people would learn that their old friends had died - often in things like highschool reunions and chitchat when they ran into people they remembered. I can't even imagine this happening today. These days it seems like with anyone you've known, you learn about their death about as soon as their close loved ones do.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To my parents, it seems as if bad things are always happening to my friends. They're always astounded how many have caught some terrible disease, are in trouble, or have recently died. While they probably attribute it to bad luck, I know it's more the fact my network extends farther than they can imagine. They've never been aware of the social web.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I don't know what this means for death and mourning. Does more exposure to it mean that it will feel like less of a big deal? &amp;nbsp;Am I less likely to go far out of my way to mourn someone who wasn't a close friend or relative? Or maybe the enormity of it will that much more evident.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-9915833902299639?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/9915833902299639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/9915833902299639'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/07/death-in-modern-world.html' title='Death in the Modern World'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2679347209049989137</id><published>2010-07-01T18:01:00.000-07:00</published><updated>2010-07-01T18:01:09.409-07:00</updated><title type='text'>Algorithm</title><content type='html'>I was thinking about an old job interview question the other day:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;You have a list of numbers. Each number has a duplicate on the list except for one number. How do you find this number?&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;This is clearly linear time. A little less obvious is that it can be done in constant space. As far as I know, I was the only one to actually come up with a solution to this one. It's not easy, at least in my&amp;nbsp;appraisal. My solution, however, wasn't exactly the one they were looking for. I'll cover my line of thought, and then cover "the" answer and explain my feelings on them.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The constant space part led me to try adding all the numbers together. Fortunately, the sum of the numbers has an important relation to the exceptional number in the list: if it is even or odd, so is the exceptional number. This is due to the fortunate fact that the sum of two even numbers and two odd numbers is even. I immediately told this to my&amp;nbsp;interviewer&amp;nbsp;and convinced him it was true. He didn't seem to be impressed, so I abstracted my result using group theory and showed that the same process could be essentially used to derive the value of the number bit by bit. (The full thing is a fun bit of math. I'll leave it to the reader until I get around to writing it up.)&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;My&amp;nbsp;interviewer&amp;nbsp;wasn't impressed. Here's the official answer:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Bit-wise xor all the numbers together.&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;It's immediately clear why this works and I might have thought of it had I been more into low level programming. This solution seems so simple compared to the one I promised. So why is it so unappealing to me? It is the illusion of simplicity, nothing more.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;There's nothing particularly natural about bitwise Xor. The solution works, but its not clear how you could get to the solution other than to&amp;nbsp;conveniently&amp;nbsp;know a function which does what Xor does. More importantly, the solution doesn't reveal where the power of the solution comes from. Understanding this solution doesn't help with related problems. When I was asked the problem, I approached it abstractly -- which probably hurt my ability to solve it. Thinking more about programming would have helped, but it wouldn't have led to the deeper solution I found. This is why I am more fond of my own solution, and why I believe in abstract mathematical reasoning. Thinking about computers when trying to solve computers tends to lead to concrete thinking, destroying creative thought. Creative thought is rare.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2679347209049989137?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2679347209049989137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2679347209049989137'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/07/algorithm.html' title='Algorithm'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-9219428942748838545</id><published>2010-05-21T14:06:00.000-07:00</published><updated>2010-05-21T14:06:00.865-07:00</updated><title type='text'>Saul Kripke &amp; Computers.</title><content type='html'>I think there's a general problem with how &lt;a href="http://en.wikipedia.org/wiki/Saul_Kripke"&gt;Saul Kripke&lt;/a&gt; and others like him, treat computation. To him, computers really are second class to human cognition. Take this excerpt from &lt;a href="http://en.wikipedia.org/wiki/Naming_and_Necessity"&gt;Naming and Necessity&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;[Some philosophers] think that if something belongs to the realm of &amp;nbsp;a priori knowledge, it couldn't possibly be known empirically. This is just a mistake. ... To give a really common example: anyone who has worked with a computing machine knows that the computing machine that the computing machine may give an answer as to whether such and such a number is prime. No one has calculated or proved that the number is prime. We, then, if we believe that the number is prime, believe it on the basis of our knowledge of the laws of physics, the construction of the machine, and so on.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;If this already seems completely ridiculous to you, you already have the basic idea of my argument. Computers do not do anything unless they are instructed to by a programmer. Computers are an extension of our own computational power. How do we know the processes on the computer tell us whether a number is prime or not? The knowledge that the algorithm on the computer is correct is a priori. We have merely taken an a priori knowledge and loaded it onto another computational machine than our own brains. It is the same process our brains would use to determine whether a number is prime or not. At the very least, this supposedly simple example is anything but that.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;Why is Kripke so intent on treating the computer differently from our brain? If I taught someone how to do the prime detection algorithm in their head and asked them instead of the computer, would this not be the exact same situation? The human brain is not one piece of computational machinery, but a massively&amp;nbsp;parallel&amp;nbsp;device. The process of outsourcing computation from one part of the brain to another is normal and essential to us. There's no reason why the outsourcing of computation to my laptop should be treated differently.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;This misunderstanding of what computation is deep, and probably the source of my strong and general disagreement with his arguments.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-9219428942748838545?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/9219428942748838545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/9219428942748838545'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/05/saul-kripke-computers.html' title='Saul Kripke &amp; Computers.'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6922493533204240502</id><published>2010-05-20T13:27:00.000-07:00</published><updated>2010-05-20T13:27:18.784-07:00</updated><title type='text'>Book Reveiw</title><content type='html'>I don't know why I picked up&amp;nbsp;&lt;a href="http://oreilly.com/catalog/9780596802165"&gt;Inside Cyber Warfare&lt;/a&gt;&amp;nbsp;at the library. Maybe because it had an awesome cover. I'm not really interested in the subject area, yet this book was really interesting. The author covers the nature of modern cyber warfare in as non-technical of a manner as possible, instead focusing on the social and political aspects.&amp;nbsp;The book isn't at all a survey text. I actually found myself a bit bored by how it covered, in detail, the international&amp;nbsp;political&amp;nbsp;dialog surrounding the issue, but if you are willing to skip over parts, it's not bad. If I were into security, I'd probably love this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6922493533204240502?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6922493533204240502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6922493533204240502'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/05/book-reveiw.html' title='Book Reveiw'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1361210441498398365</id><published>2010-03-17T19:55:00.000-07:00</published><updated>2010-03-17T19:55:55.138-07:00</updated><title type='text'>A taste of what my papers on physics are like.</title><content type='html'>&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Thomas_Samuel_Kuhn"&gt;Kuhn&lt;/a&gt;'s simplified model of science overstates the extent of “Normal Science” and is part of an overstated dichotomy.  Multiple contradictory models of interpretation often exist side by side, providing a fertile valley in between where normal science, as he defines it, is useless. A scientist cannot just blindly use the contradicting standard models here without careful consideration of their foundations.  The rift between Relativity and Quantum Mechanics is such a fertile and dangerous area. Scientists here are not comparable to a janitor mopping up, as Kuhn fondly analogizes, but are instead more like kung-fu masters. According to Bruce Lee, a kung-fu master's style is formless. They can switch schools of thought with such fluidity that their style escapes categorization. So too, these scientists are aware of the paradigms in which they work and must be fluid with their use of both.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1361210441498398365?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1361210441498398365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1361210441498398365'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/03/taste-of-what-my-papers-on-physics-are.html' title='A taste of what my papers on physics are like.'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1858599316524762432</id><published>2010-03-15T18:44:00.000-07:00</published><updated>2010-03-18T23:27:27.236-07:00</updated><title type='text'>Lambda calculus for Tensor Analysis</title><content type='html'>I know I cant shut up about it, but I really like lambda calculus. Even better llama calculus, the anything goes fast and loose version I use for everything. In fact, the only place I dont like using lambda calculus for is theoretical computer science. I think it offers an abstraction thats really needed in clean math and this is extremely apparent now that im taking this tensor analysis course. Take for example, &lt;a href="http://en.wikipedia.org/wiki/Dual_space#Transpose_of_a_linear_map"&gt;pullbacks&lt;/a&gt;, where we're essentially dealing with higher order functions. Or the fact that we can make a &lt;a href="http://en.wikipedia.org/wiki/Dual_space#Bilinear_products_and_dual_spaces"&gt;map from a vector space V to its dual with a bilinear&lt;/a&gt;. In math notation, Wikipedia says this is done by the map:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;$ v \rightarrow \textless v , o \textgreater$&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This just seems ... wrong to me. I prefer because of its possibility to handle more complex ideas:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;$ \lambda v. \lambda x. \textless v, x \textgreater $ &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;More commonplace is to see this definition of the tensor product:&lt;br /&gt;&lt;br /&gt;$ \tau \oplus \theta(v,w) = (\tau v) (\theta w) $&lt;br /&gt;&lt;br /&gt;where i feel more comfortable writing in my notes:&lt;br /&gt;&lt;br /&gt;$\oplus = \lambda \tau, \theta. (\lambda v, w. (\tau w) (\theta w)) $&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Truth be told, I would write both, but trust the lambda notation more. The ideas are defined much more concretely. For pullbacks:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;$  F* = \lambda p. p \circ f $&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then of course we have an easy way to talk about the function that makes a pullback:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;$ \lambda f. \lambda p. p \circ f $&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Iono, maybe Im crazy for mixing different notation like this, but it makes things clear to me.&lt;br /&gt;&lt;br /&gt;This all ties back with earlier content in this blog -- Good notation concerns me alot. The symbols used for math reflect the content of the framework we are working in and can be seen as agents of them. Not only do concretely defined notations that are intuitive make learning and recording content easier, they may as I have argued free us from unintended&amp;nbsp;psycholinguistic&amp;nbsp;effects.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1858599316524762432?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1858599316524762432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1858599316524762432'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/03/lambda-calculus-for-tensor-analysis.html' title='Lambda calculus for Tensor Analysis'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6498063353392047282</id><published>2010-03-08T20:19:00.000-08:00</published><updated>2010-03-08T20:49:43.739-08:00</updated><title type='text'>Soft Science Paranoia</title><content type='html'>&lt;div&gt;It exists, I swear it does. Mention anything to a person in a soft science that doesn´t explicitly mention the value of their field of study and theres a good chance theyll freak out at you. Even if youre trying to be helpful (hey a computational approach might offer insight into this), be wary of the Liberal Arts student who may feel their domain of control threatened. People who believe in the inferiority of ¨easier majors¨dont even speak their mind to cause a defensive reaction.&lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Meanwhile, the soft science people prejudge anyone from the more the rigorous fields -  God knows Ill get angry people who are upset I think physics is more rigorous than Comparative Literature. Apparently knowing calculus makes me incapable of enjoying poetry, or some stupid crap like that. Theres some sort of strange anti-intellectual thing going on when someone can proudly declare they dont know basic college level math and are proud of it. If I were to say the same about literature Id never hear the end of it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To the people of Soft Sciences: We have never claimed that your field of study was inferior, so please stop being paranoid and treating us like shit because we are smarter than you.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6498063353392047282?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6498063353392047282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6498063353392047282'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/03/soft-science-paranoia.html' title='Soft Science Paranoia'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4693834420848708680</id><published>2010-02-23T15:58:00.000-08:00</published><updated>2010-02-23T15:59:00.763-08:00</updated><title type='text'>Graph theoretic software engineering??</title><content type='html'>&lt;div&gt;Im updating because I havent in too long. Ive spent the past semester using Dvorak and am now trying to get back into the swing of using Qwerty. I hope it doesnt make writing this too hard.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I was glancing over the first chapter of Event Based Programming, and I had this weired idea about coupling in software engineering. Coupling roughly means any dependency between parts of code. Strong dependency means that if one portion of the code is changed, the parts dependent on it must also. In this sense, a major goal of good software design would be &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I should first say that Im not endorsing the book in any way. As far as Ive read,  Its full of pseudo-mathematics and needless over-formalisms. In one part he talks about a couplings creating an algebraic space, and starts to apply a euclidean metric for god knows what reason, other than to make it seem more authoritative. This makes me afraid Im wasting my time, but maybe Im just being a jerk and should give it more of a read. Ive never read about formal treatments of the issue of coupling in software development before this. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The author mentions the existence of information theoretic approaches to the problem. Apparently, coupling is a form of entropy and therefore the information theory applies to the subject. His personal approach, on the other hand, is to classify the kinds of coupling, which isnt really satisfying in abstract. Despite this maybe he providing a common language in which to discuss them intelligently. Categorization is often the first step to understanding, but without a theory behind their organization, its pretty much just useless memorization.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My natural inclination is to describe coupling as a graph. Assume all parts of a program are functions in the sense of functional programming. We can draw a directed lines between all the functions in a program so that  a points to b if b depends on a. Without any superstructure applied we will have a giant mess. Naturally there will be regions of close mutual connections, giving us a sense that these portions should be located psychologically close to each other in our minds. These portions are the superstructures of software engineering: classes, libraries, modules etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Given that there is no way to really remove interdependencies between functions, how can we arrange them to reduce ¨clutter¨. The question is similar to one were confronted with in this game. A strategy is to put the functions in a group sy some kind. These groups are  connected to each other whenever they contain functions in each other that connect. Since these groups are abstractions, and all connections in them are abstracted away, we would like to set them up in a way that minimizes the connections between groups. Meanwhile, having too much complexity in a group is unacceptable. We could allow groups to be made of groups. What grouping reduces the clutter the most? With a simple definition of clutter we could write a program that determined the optimal arrangement.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4693834420848708680?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4693834420848708680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4693834420848708680'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/02/graph-theoretic-software-engineering.html' title='Graph theoretic software engineering??'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1425131388094206187</id><published>2010-01-06T16:32:00.001-08:00</published><updated>2010-01-06T16:33:03.190-08:00</updated><title type='text'>Self portrait</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nn5tlxdDx54/S0UrpxBFWAI/AAAAAAAAACE/U0Gp2qUdxss/s1600-h/100_1173.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://4.bp.blogspot.com/_nn5tlxdDx54/S0UrpxBFWAI/AAAAAAAAACE/U0Gp2qUdxss/s320/100_1173.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5423789322770143234" /&gt;&lt;/a&gt;Some examples, more to come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1425131388094206187?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1425131388094206187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1425131388094206187'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2010/01/self-portrait.html' title='Self portrait'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_nn5tlxdDx54/S0UrpxBFWAI/AAAAAAAAACE/U0Gp2qUdxss/s72-c/100_1173.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4957085416873994765</id><published>2009-12-07T23:24:00.001-08:00</published><updated>2009-12-11T15:15:24.852-08:00</updated><title type='text'>Big Miura-Ori</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_nn5tlxdDx54/Sx3_f_kWM3I/AAAAAAAAAB8/XHqb78ty8hw/s1600-h/100_1165.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 242px;" src="http://1.bp.blogspot.com/_nn5tlxdDx54/Sx3_f_kWM3I/AAAAAAAAAB8/XHqb78ty8hw/s320/100_1165.JPG" alt="" id="BLOGGER_PHOTO_ID_5412763252274115442" border="0" /&gt;&lt;/a&gt;I used painters paper I got from a hardware store, 9' x 13', if i remember correctly.Its hard to find a single sheet that big. The paper is a bit too thin and weak, i would have preferred something a bit stronger that could have held up to a bit more abuse. I had originally intended to make it stand up against a wall on its own. Im using tape now.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nn5tlxdDx54/Sx3_YbTX_wI/AAAAAAAAAB0/Fjfdn7rALKQ/s1600-h/100_1153.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 242px;" src="http://4.bp.blogspot.com/_nn5tlxdDx54/Sx3_YbTX_wI/AAAAAAAAAB0/Fjfdn7rALKQ/s320/100_1153.JPG" alt="" id="BLOGGER_PHOTO_ID_5412763122280169218" border="0" /&gt;&lt;/a&gt;I really like it as an exercise in creating a fluid object. It naturally seems to flow on any surface its put on.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nn5tlxdDx54/Sx3_RjH6gdI/AAAAAAAAABs/fnhY6_QU-ac/s1600-h/100_1156.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 242px;" src="http://4.bp.blogspot.com/_nn5tlxdDx54/Sx3_RjH6gdI/AAAAAAAAABs/fnhY6_QU-ac/s320/100_1156.JPG" alt="" id="BLOGGER_PHOTO_ID_5412763004120498642" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4957085416873994765?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4957085416873994765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4957085416873994765'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/12/big-miura-ori.html' title='Big Miura-Ori'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_nn5tlxdDx54/Sx3_f_kWM3I/AAAAAAAAAB8/XHqb78ty8hw/s72-c/100_1165.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6407557410413814014</id><published>2009-12-07T16:23:00.000-08:00</published><updated>2009-12-07T16:28:09.905-08:00</updated><title type='text'>dolphin</title><content type='html'>Yesterday, I walked into the the used book shop on Main in Urbana with a large helium balloon in the shape of a dolphin and asked if he had a copy of Boethius's &lt;span style="font-style: italic;"&gt;consolation of philosophy.&lt;/span&gt; He didn't.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6407557410413814014?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6407557410413814014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6407557410413814014'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/12/yesterday-i-walked-into-the-used-book.html' title='dolphin'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4160892355191085542</id><published>2009-12-04T11:27:00.000-08:00</published><updated>2009-12-04T11:31:42.747-08:00</updated><title type='text'>LATIN</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nn5tlxdDx54/SxljenSVzhI/AAAAAAAAABk/Ow72YctyRJI/s1600-h/4.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 272px;" src="http://3.bp.blogspot.com/_nn5tlxdDx54/SxljenSVzhI/AAAAAAAAABk/Ow72YctyRJI/s400/4.png" alt="" id="BLOGGER_PHOTO_ID_5411465804855496210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nn5tlxdDx54/SxljYo3ReII/AAAAAAAAABc/yGPANE2SnYE/s1600-h/3.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 272px;" src="http://3.bp.blogspot.com/_nn5tlxdDx54/SxljYo3ReII/AAAAAAAAABc/yGPANE2SnYE/s400/3.png" alt="" id="BLOGGER_PHOTO_ID_5411465702199621762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_nn5tlxdDx54/SxljSJZ0N4I/AAAAAAAAABU/4jDenFAPpwM/s1600-h/2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 255px;" src="http://4.bp.blogspot.com/_nn5tlxdDx54/SxljSJZ0N4I/AAAAAAAAABU/4jDenFAPpwM/s400/2.png" alt="" id="BLOGGER_PHOTO_ID_5411465590675355522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_nn5tlxdDx54/SxljNNarJZI/AAAAAAAAABM/NvvLXWVmdrU/s1600-h/1.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 272px;" src="http://3.bp.blogspot.com/_nn5tlxdDx54/SxljNNarJZI/AAAAAAAAABM/NvvLXWVmdrU/s400/1.png" alt="" id="BLOGGER_PHOTO_ID_5411465505853351314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I had to do this for extra cred for this class Im taking. Use 25 Latin phrases in context, so I thought why not make it awesome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4160892355191085542?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4160892355191085542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4160892355191085542'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/12/latin.html' title='LATIN'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_nn5tlxdDx54/SxljenSVzhI/AAAAAAAAABk/Ow72YctyRJI/s72-c/4.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4877522332218733079</id><published>2009-11-27T18:27:00.000-08:00</published><updated>2009-11-27T19:48:36.569-08:00</updated><title type='text'>Ultimate Garden Path</title><content type='html'>Im a plant loving guy, so when bored I think about my future fantasy garden in much the same way young girls plan out their weddings by age 7. Being a math guy, Im interested in seeing how I can make this garden as badass as possible. Life's just one giant nonlinear programming problem for maximizing awesome.&lt;br /&gt;&lt;br /&gt;Now when I go to a garden, I try to find a path through it that covers as much of it as possible without needlessly repeating parts of the path (as eularian as possible). This helps me see as much of the garden as possible. Sometimes this isnt possible. U of Illinois's Allerton park is a arranged mostly in a line and in no fun to walk through. To see it all and get back to your car, you have to walk through the entire park twice. Dead ends are espcially annoying, my ideal garden wont have those.&lt;br /&gt;&lt;br /&gt;Gardens that have even degree intersections are easy to find a path for. Its just a mathematical fact, so Ill use odd degree intersections. 5 paths convering to one spot seems a bit too much so ill keep it to 3 paths for all intersections. After much thought, I came up with the diagram below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_nn5tlxdDx54/SxCdOuMFe5I/AAAAAAAAAA8/qc5P2JHsDHQ/s1600/path2414.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 290px; height: 320px;" src="http://2.bp.blogspot.com/_nn5tlxdDx54/SxCdOuMFe5I/AAAAAAAAAA8/qc5P2JHsDHQ/s320/path2414.png" alt="" id="BLOGGER_PHOTO_ID_5408996028714417042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Each one of the circles is a modular unit that i can tack on as i please. This is my ideal garden. Walkng through it leasurely wont show you the entire thing, enticing you to come back later.&lt;br /&gt;&lt;br /&gt;Its interesting to think about how travesibility might be used in the design of public spaces, both real and virtual. Shopping centers are easy to traverse and have many even degree paths, but zoos are much harder to go through in that way. I think some games would benefit by having harder to traverse levels, They make less space feel like more and would increase the amount af playability. The real key is to not tick people off, which i think ive done in my garden plans.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4877522332218733079?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4877522332218733079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4877522332218733079'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/11/ultimate-garden-path.html' title='Ultimate Garden Path'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_nn5tlxdDx54/SxCdOuMFe5I/AAAAAAAAAA8/qc5P2JHsDHQ/s72-c/path2414.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-9008296782772701840</id><published>2009-11-15T23:09:00.001-08:00</published><updated>2009-11-15T23:56:57.390-08:00</updated><title type='text'>Coopertive pragmatics and semantics in proof writing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm1.static.flickr.com/71/178734860_b7ce470920.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 500px; height: 400px;" src="http://farm1.static.flickr.com/71/178734860_b7ce470920.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This post has a scary title.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://en.wikipedia.org/wiki/Cooperative_principle"&gt;cooperative principle&lt;/a&gt; basically states that when when people communicate, they try to be helpful by saying the strongest statement feasible.&lt;br /&gt;&lt;br /&gt;Example: Look at the puppies to the left.&lt;br /&gt;&lt;br /&gt;I could say "There is 1 puppy in this picture.", which translates into 2 different logical statements:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;(1) There is only 1 puppy.&lt;br /&gt;(2) There is at least 1 puppy.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;The word one here is a &lt;a href="http://en.wikipedia.org/wiki/Quantification"&gt;quantifier&lt;/a&gt; over the set of puppies. Unfortunately one represents the two different quantifications shown one of which is true and one of which is false.&lt;br /&gt;&lt;br /&gt;We tend to interpret the sentence to mean (1) because I could have just as easily said "There are two puppies". (2) is a weaker statement and just as much work to say. Thus, "There is 1 puppy in this picture."  feels like a lie because its uncooperative.&lt;br /&gt;&lt;br /&gt;It recently occurred to me that in math proofs I see this type of ambiguity all the time. I almost did it myself today and strangely I was never taught to not do this. Because the quantifier in meaning number two is essentially the &lt;a href="http://en.wikipedia.org/wiki/Existential_quantification"&gt;existential quantifier&lt;/a&gt; mathematicians may be more prone to intending the second meaning even when it is not really the cooperative one. I going to start making sure I explicitly mark which of the two meanings I mean when writing proofs from now on and take it as a general rule of good proof writing.&lt;br /&gt;&lt;br /&gt;Actually this post was just an excuse to show that picture of the two cute puppies. Arent they adorable?&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-9008296782772701840?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/9008296782772701840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/9008296782772701840'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/11/coopertive-pragmatics-and-semantics-in.html' title='Coopertive pragmatics and semantics in proof writing'/><author><name>Sean Clarke</name><uri>http://www.blogger.com/profile/17791394017772899894</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm1.static.flickr.com/71/178734860_b7ce470920_t.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1689761671028260076</id><published>2009-06-22T01:58:00.001-07:00</published><updated>2009-06-22T02:44:18.257-07:00</updated><title type='text'>some thoughts on language.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_z2SueNVI-F4/Sj9SR7EKhII/AAAAAAAAABE/c3YUDbJ6QGU/s1600-h/drawing.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 221px;" src="http://3.bp.blogspot.com/_z2SueNVI-F4/Sj9SR7EKhII/AAAAAAAAABE/c3YUDbJ6QGU/s320/drawing.png" alt="" id="BLOGGER_PHOTO_ID_5350085350205850754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Speaking forces information to be transmitted in a such a special way. Broadly, it forces us to encode information as a stream of characters knowing that the receiver has a very limited buffer. Speaking is unfortunately, sequential in nature.&lt;br /&gt;&lt;br /&gt;Semantic chunks of knowledge have to be ironed flat and then reconstructed later with only a small amount of processing. Like ive pointed out in earlier posts maybe about a year ago, this forces a convention of sequentialy on our math notation, the result being that our math notation is speakable but possibly a bad influence. Order free logic is a clear example of where no easily speakable notation can be made, maybe why something so obvious was overlooked. Order free logic is inherently a nonsequential type of thing.&lt;br /&gt;&lt;br /&gt;A similar principle holds true even for story telling. Stories are still told sequentially even with the capabilities of hyperlinked text. Of course speech pragmatics are involved. Its easy to mark time by having older things happen in the end of the text and new things later. Temporally sequential things are written sequentially.&lt;br /&gt;&lt;br /&gt;The only form of knowledge transmission i can think of that isnt restricted by this squentialness are diagrams. Unfortunately a well formed syntax for them is not availible.&lt;br /&gt;&lt;br /&gt;I like to think of information as abstractly a graph of nodes (either being a primitive concept or a graph themselves) with connecting thematic roles. In our normal communication, we take a region of the graph, cut it out, flatten it and then speak it. We force a sequential representation. Its interesting, but hard to imagine a writting system that isn't sequential like language. We should resist an attempt to fill in an N by N grid with characters and then attempt to ascribe some meaning. Instead my graph concept works fine.  The image is the representation of green ideas sleep furiously.&lt;br /&gt;&lt;br /&gt;need to get sleep. not even gonna see if anything i typed made sense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1689761671028260076?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1689761671028260076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1689761671028260076'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/06/some-thoughts-on-language.html' title='some thoughts on language.'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_z2SueNVI-F4/Sj9SR7EKhII/AAAAAAAAABE/c3YUDbJ6QGU/s72-c/drawing.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-5913227103216418865</id><published>2009-05-28T18:54:00.000-07:00</published><updated>2009-05-28T19:10:44.085-07:00</updated><title type='text'>Mathematical Intuitionism and the project</title><content type='html'>I don't really know what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;im&lt;/span&gt; talking about, but ...&lt;br /&gt;&lt;br /&gt;It &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;occurred&lt;/span&gt; to me that my project does not use &lt;a href="http://en.wikipedia.org/wiki/Negation_as_failure"&gt;negation as failure&lt;/a&gt;, and also doesn't use the &lt;a href="law%20of%20the%20excluded%20middle"&gt;law of excluded middle&lt;/a&gt;. Its not like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Im&lt;/span&gt; purposely trying to go against what would be normal, I only did what I thought made sense when writing. This just goes to show how much &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;creatively&lt;/span&gt; there is in ignorance.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Im&lt;/span&gt; not trying to &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;view&lt;/span&gt; this projects as something mathematically concrete. I don't really refer to anything as a "Model". My reasoning for the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;ternary&lt;/span&gt; model was that any proposition exists in one of THREE states with respect to a body of knowledge, that it either is confirmed, denied, or bears no relation. It looks like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ive&lt;/span&gt; somehow stumbled into being a mathematical &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;intuitionist&lt;/span&gt; though.&lt;br /&gt;&lt;br /&gt;Funny how the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;wikipedia&lt;/span&gt; article, which is my only source of info on this area, doesn't mention anything about &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;ternary&lt;/span&gt; logic, or modal logic (my &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;ternary&lt;/span&gt; logic is really just a cheap &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;substitute&lt;/span&gt; for modal logic after all).&lt;br /&gt;&lt;br /&gt;At any rate this &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;intuitionism&lt;/span&gt; appeals to me on some really sort of zen level. Maybe God can &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;separate&lt;/span&gt; out all logical statements into True, and False. We however can't and it leads me to be very unsettled. I don't think &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;ive&lt;/span&gt; ever written a nonconstructive proof in college. Now I don't feel safe in saying that anything &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;thats&lt;/span&gt; not false is true.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-5913227103216418865?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5913227103216418865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5913227103216418865'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/05/mathematical-intuitionism-and-project.html' title='Mathematical Intuitionism and the project'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3206510845965215720</id><published>2009-05-28T18:25:00.000-07:00</published><updated>2009-05-28T18:33:59.393-07:00</updated><title type='text'>Open Source Board Games</title><content type='html'>Earlier I talked about&lt;a href="http://searke.blogspot.com/2008/12/games.html"&gt; making Monopoly "open sourced"&lt;/a&gt; and how such an important piece of American culture should be owned by the culture. Now &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Im&lt;/span&gt; wondering how to do this for &lt;a href="http://en.wikipedia.org/wiki/Settlers_of_Catan"&gt;Settlers of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Catan&lt;/span&gt;,&lt;/a&gt; a really fun and unique board game I just learned about. This game too, seems a bit overdone, but nowhere nearly as bad as monopoly.  Making a game free from its manufactured nature often requires reducing the complexity of the game in several ways and just trusting the natural shape of the game to produce interesting situations. Ive been having some luck with a version &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Im&lt;/span&gt; trying with a deck of cards as the board.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3206510845965215720?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3206510845965215720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3206510845965215720'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/05/open-source-board-games.html' title='Open Source Board Games'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-5343457995500584408</id><published>2009-05-11T19:01:00.000-07:00</published><updated>2009-05-15T13:54:19.198-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='i'/><title type='text'>Logic Unification in Trinary Logic</title><content type='html'>Im still workin on making the logic programming language of my dreams. Right now I have to get some sort of unification working, but Im using trinary logic so its been a bit of an adventure. Prolog doesn't have real negation so it really manages to sidestep alot of actual work. Informally in my logic system, called Llull, a statement has three possible truth states: 0 = &lt;span style="font-weight: bold;"&gt;No&lt;/span&gt;, 1 =&lt;span style="font-weight: bold;"&gt;Iono&lt;/span&gt;, 2 = &lt;span style="font-weight: bold;"&gt;Yes&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Yes&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;No&lt;/span&gt; are basically like &lt;span style="font-weight: bold;"&gt;True&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;False&lt;/span&gt;. Iono is much different. Since negation is allowed in Llull, determining wether a model implies something is an NP Hard problem. My unification isn't an exhaustive search, therefore, for hard problems, Llull will just throw its hands up in the air and say "iono and i don't care to actually figure it out". Iono means that either theres no data about the thing you asked about, or that it just can't find it.&lt;br /&gt;&lt;br /&gt;Anyway, traditionally &lt;span style="font-weight: bold;"&gt;And&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Or&lt;/span&gt;, and &lt;span style="font-weight: bold;"&gt;Not&lt;/span&gt; have been defined for trinary as:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;And&lt;/span&gt;(s1,s2) = &lt;span style="font-weight: bold;"&gt;min&lt;/span&gt;(s1,s2)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Or&lt;/span&gt;(s1,s2)    = &lt;span style="font-weight: bold;"&gt;max&lt;/span&gt;(s1,s2)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Not&lt;/span&gt;(1) = 1&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Not&lt;/span&gt;(0) = 2&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Not&lt;/span&gt;(2) = 0&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;If you check, these definitions make tons of sense. But to see why they really arent sufficent for my purposes maybe I should cover my unification algorithm. My unification algorithm works by breaking up statements in this manner (where s1, s2, s3  are all Llull statements) :&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;ul&gt;&lt;li&gt;s1 -&gt; &lt;span style="font-weight: bold;"&gt;And&lt;/span&gt;(s2, s3) if&lt;span style="font-weight: bold;"&gt; And&lt;/span&gt;(s1-&gt;s3, s2 -&gt;s3)&lt;/li&gt;&lt;li&gt;s1 -&gt; &lt;span style="font-weight: bold;"&gt;Or&lt;/span&gt;(s2, s3) if &lt;span style="font-weight: bold;"&gt;Or&lt;/span&gt;( s1-&gt;s3, s2-&gt;s3)&lt;/li&gt;&lt;li&gt;s1 -&gt; &lt;span style="font-weight: bold;"&gt;Not&lt;/span&gt;(s3) if &lt;span style="font-weight: bold;"&gt;Not&lt;/span&gt;(s1-&gt;s3)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Rough Example:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Sean is a CS/Math Major -&gt; Sean Studies CS &lt;span style="font-weight: bold;"&gt;And &lt;/span&gt;Sean Studies Math&lt;br /&gt;iff&lt;br /&gt;Sean is a CS/MathMajor -&gt; Sean Studies CS &lt;span style="font-weight: bold;"&gt;And&lt;/span&gt; Sean is a CS/Math Major -&gt; Sean Studies Math&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Seeing this, it would be tempting to believe in rules such as:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;And&lt;/span&gt;(s1, s2) -&gt; s3 if &lt;span style="font-weight: bold;"&gt;Or&lt;/span&gt;(s1-&gt;s3, s1-&gt;s3)&lt;/li&gt;&lt;/ul&gt;This would be the case if we didnt' have &lt;span style="font-weight: bold;"&gt;Not&lt;/span&gt;, which is the source of all our &lt;span style="font-weight: bold;"&gt;No&lt;/span&gt;/0 values. But If we consider this case:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Suppose s1-&gt;s3 = 1. That is, Statement 1 doesn't tell us wether Statement 2 is True. Suppose s2 -&gt; s3 = 0. That is, Statement 2 tells us that Statement 3 is False.&lt;/li&gt;&lt;li&gt; Our algorithm gives us the wrong answer. It gives 1 when it should give 0.&lt;/li&gt;&lt;/ul&gt;Clearly what is needed is a function like &lt;span style="font-weight: bold;"&gt;Or&lt;/span&gt; and one thats like &lt;span style="font-weight: bold;"&gt;And&lt;/span&gt;. I figured out what they should be and named the &lt;span style="font-weight: bold;"&gt;Or &lt;/span&gt;substitute &lt;span style="font-weight: bold;"&gt;Kind&lt;/span&gt;, the &lt;span style="font-weight: bold;"&gt;And&lt;/span&gt; substitute &lt;span style="font-weight: bold;"&gt;Cruel&lt;/span&gt;. I really don't know how the names came up in my head, they just did. They names just seem to fit well somehow.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-5343457995500584408?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5343457995500584408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5343457995500584408'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/05/logic-unification-in-trinary-logic.html' title='Logic Unification in Trinary Logic'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4282018732005353761</id><published>2009-04-21T20:07:00.001-07:00</published><updated>2009-04-21T20:48:52.145-07:00</updated><title type='text'>Stupid projects</title><content type='html'>So I haven't been posting so i guess ill just take this opportunity to try to piece together some information about some of the projects i doing for my courses.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Project 1. Some sorta Model Checking/logic programming thingy:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Yea &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Im&lt;/span&gt; writing a logic programming "thingy" in python under the working title &lt;a href="http://en.wikipedia.org/wiki/Ramon_Llull"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Llull&lt;/span&gt;&lt;/a&gt;. You don't have to tell me why this is stupid, I know how to do it in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Ocaml&lt;/span&gt; or even more trivially in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Prolog&lt;/span&gt;. The reason &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Im&lt;/span&gt; doing it in Python is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;im&lt;/span&gt; trying to make it significantly different from the norm and i need to be able to hack stuff on.&lt;br /&gt;&lt;br /&gt;For example, right now it uses &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;trinary&lt;/span&gt; logic: True, False, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;IHaveNoDamnClue&lt;/span&gt;. If you ask &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Llull&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;wether&lt;/span&gt; a statement is True it can return any of those. I don't claim to actually know &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;prolog&lt;/span&gt;, but basically it doesn't have a real Not for a reason. The problem of model checking is NP hard, and my current implementation assumes you use Not in a pretty specific way. Sometimes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;IHaveNoDamnClue&lt;/span&gt; is returned when &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Llull&lt;/span&gt; is just too damn lazy to get to the truth(in special cases it actually returns false when it should return &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;IHaveNoDamnClue&lt;/span&gt;, but ill fix this i swear). It uses unification after all.&lt;br /&gt;&lt;br /&gt;Also, in accordance with past rants, the Logic in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Llull&lt;/span&gt; uses thematic arguments, which &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Im&lt;/span&gt; pretty excited about. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Thats&lt;/span&gt; the real reason for writing it in the first place.&lt;br /&gt;&lt;br /&gt;As a side effect of working in Python the entire implementation is very object oriented in a very weired way. I currently just use Python's interactive programming environment to run it. Everything from Statements to Logic Connectors  to the Environment are instances of objects. This has led to a number of weired situations where &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;ive&lt;/span&gt; used functional code to Map arguments  to functions which output &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Llull&lt;/span&gt; logic statements. And then i do logic programming with them. Needless to say &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;im&lt;/span&gt; very amused.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Project 2.  An Improper use of Neural Networks&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;I basically just want to see how well neural networks could be used as deciders for simple &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;contex&lt;/span&gt;t free &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;grammars&lt;/span&gt;. Some grad student said i was stupid for trying, but they're never to be trusted. After all, they know too much. I haven't really started, and writing about this is kinda procrastinating but Id like just to test the idea out on well bracketed strings like: (()()(())).&lt;br /&gt;&lt;br /&gt;I guess this is partially motivated by my fervent believe in the Chomsky faculty and that language is fundamentally context free. Another thing which grad students tell me &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;im&lt;/span&gt; stupid for believing in. But again, what the hell do they know?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4282018732005353761?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4282018732005353761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4282018732005353761'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/04/stupid-projects.html' title='Stupid projects'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-102655472187954807</id><published>2009-03-16T12:09:00.000-07:00</published><updated>2009-03-16T12:24:32.759-07:00</updated><title type='text'>Just a crazy idea.</title><content type='html'>So i was thinking about pylog yesterday. I still haven't had time to really figure it out yet, but the idea of having bindings for a logic programming language really intrigues me. In particular I had an idea for an application for it.&lt;br /&gt;&lt;br /&gt;Lets say i have a map class which is a 2d array of tiles, and each tile stores information about the map at the location: height, terrain, etc. I might have another class called cartographer which does stuff with the map class but unfortunately the cartographer and the tile class are interlinked. If i want the cartographer to give a certain tile a color, I would have to make a color field in the tile class.&lt;br /&gt;&lt;br /&gt;Now obviously the solution is to have a space that can be written to in some notation (maybe xml,yaml) and then be reinterpreted by the cartographer class. This of course isn't done because its not practical and not a really common feature of any language i can think of.&lt;br /&gt;&lt;br /&gt;But wouldn't it be really cool if these spaces for writing were actually little spaces of logic programming who all used common rules. Im not sure that this is the right encapsulation, but it would be fun.&lt;br /&gt;&lt;br /&gt;ps. i need new hobbies for doing in class.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-102655472187954807?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/102655472187954807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/102655472187954807'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/03/just-crazy-idea.html' title='Just a crazy idea.'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3265239644757101359</id><published>2009-03-14T22:45:00.000-07:00</published><updated>2009-03-14T23:11:04.118-07:00</updated><title type='text'>something i just thought about</title><content type='html'>Ive recently hit upon something about programming. There are two different kinds of objects that don't represent a data structure:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Generic objects with multiple possible meanings&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Concrete objects with only one intended meaning&lt;/li&gt;&lt;/ul&gt;Integers, for example, can be used to represent lots of things, quantities, distances, speeds, and even the color of a pixel. Objects this basic aren't even really objects often, they don't need to be. The ability to correctly interpret the meaning of the variable is left to the programmer in the future. It is possible for example to add the number of apples on a tree to a persons height if the programmer decided to store those as ints (which they most likely would).&lt;br /&gt;&lt;br /&gt;Most objects written by programmers have only one intended meaning. I could for example create a height class which would allow me to add heights and the embedded semantics of the operations would prevent me from adding height and apples together.&lt;br /&gt;&lt;br /&gt;Whats interesting is creating classes of the first type and then being asked what the class is for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3265239644757101359?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3265239644757101359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3265239644757101359'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/03/something-i-just-thought-about.html' title='something i just thought about'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7128640035605682281</id><published>2009-02-26T23:02:00.001-08:00</published><updated>2009-02-26T23:04:17.094-08:00</updated><title type='text'></title><content type='html'>There was a ladybug in my bedroom, living among the plants. I moved it to where I have moved all the plants and i hope its happy.&lt;br /&gt;&lt;br /&gt;If I did the kinds of things I wish people did, I would have never gone to college.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7128640035605682281?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7128640035605682281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7128640035605682281'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/02/there-was-ladybug-in-my-bedroom-living.html' title=''/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-8698969324582936612</id><published>2009-02-18T21:31:00.000-08:00</published><updated>2009-02-18T22:03:21.351-08:00</updated><title type='text'>Stupid game programming in Python</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_z2SueNVI-F4/SZzwSgVy9aI/AAAAAAAAAA8/kiWAfAreTh8/s1600-h/Screenshot.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 263px; height: 320px;" src="http://3.bp.blogspot.com/_z2SueNVI-F4/SZzwSgVy9aI/AAAAAAAAAA8/kiWAfAreTh8/s320/Screenshot.jpg" alt="" id="BLOGGER_PHOTO_ID_5304378661845267874" border="0" /&gt;&lt;/a&gt;So i decided to write a short game like thing in python using pygame (fun library). It became known as pizza-shamrock even though i was initially going for some type of sumo wrestling like game. I guess it all started as me wanting to use pythons native support for complex numbers for awesome. I had just come out of a complex analysis course and it seemed obvious that the position of the sprites in any game should be represented by complex numbers.&lt;br /&gt;&lt;br /&gt;I know it sounds insane. Its clear its not a great idea to represent their position with two integers, but you could at least just use a vector right? That would be better right? maybe...&lt;br /&gt;&lt;br /&gt;Historically, complex numbers and their 4d friends, &lt;a href="http://en.wikipedia.org/wiki/Quaternions"&gt;quaternions&lt;/a&gt;, came about long before vector notation became the standard for describing physics. This isn't a mistake, complex numbers and quaternions form a beautiful algebra, unlike vector math. Complex numbers have multiplication and addition as operations. Vectors have addition and a two different kinds of multiplications and man its not as cool, either trust me or take complex analysis.&lt;br /&gt;&lt;br /&gt;In short by using complex numbers im able to do cool tricks that would be much harder to do with vectors. Like, i can transform the game to polar coordinates by complex exponentiation. With a vector id have to use trig. I don't really understand how Python does complex exponentiation natively, esp since you have import a math library to do trig, but whatever.&lt;br /&gt;&lt;br /&gt;If you don't believe me that the weirdness of complex numbers is worth it, read the quaternion article. They're being used more and more in computer graphics to succinctly describe transforms that would normally be ugly as hell with vectors.&lt;br /&gt;&lt;br /&gt;I guess you can argue that for maintainability reasons (cuz very few people are comfortable with complex numbers) my code should've used vectors. So im not really arguing that complex is the way to go, im just arguing that its awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-8698969324582936612?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8698969324582936612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8698969324582936612'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/02/stupid-game-programming-in-python.html' title='Stupid game programming in Python'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_z2SueNVI-F4/SZzwSgVy9aI/AAAAAAAAAA8/kiWAfAreTh8/s72-c/Screenshot.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-5027985805242846155</id><published>2009-01-11T17:12:00.000-08:00</published><updated>2009-01-11T17:41:27.871-08:00</updated><title type='text'>late winter break.</title><content type='html'>Not much to say apart from snow viewing. Can't say i feel really good about education right now, but im more relaxed than I normally would be.&lt;br /&gt;&lt;br /&gt;Not sure where to devote my efforts now: quaternions, tensors, numeric algorithms, stupid stuff in python, human syntax, japanese.&lt;br /&gt;&lt;br /&gt;Its hard convince myself that ive done anything, or that im allowed to relax.&lt;br /&gt;This is sinning at its worst.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-5027985805242846155?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5027985805242846155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5027985805242846155'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2009/01/late-winter-break.html' title='late winter break.'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2432318219348829456</id><published>2008-12-16T19:25:00.000-08:00</published><updated>2008-12-16T19:40:14.673-08:00</updated><title type='text'>connections</title><content type='html'>Ive always thought it was interesting how much of first half of 20th was spent on understanding our limits. Relativity tells us we can't go past the speed of light. Quantum mechanics tells us that our ability to concretely talk about things goes to hell when we get on small scales. Turing showed us how weak our computers are, and Godel showed that we can't even really come up with a consistent model of logic. Lorenz showed how the nonlinear world behaved so erratically, making weather prediction hopeless. I guess thats 5 examples: 3 from math, 2 from physics. Thats all i can really think of that fits.&lt;br /&gt;&lt;br /&gt;Thats what i think of that era in thought. Realizing we are limited. Ive read that at the turn of the century, many thought that physics as a field was dead because pretty much everything had been discovered. How cocky.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2432318219348829456?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2432318219348829456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2432318219348829456'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/12/connections.html' title='connections'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2645896558198406626</id><published>2008-12-14T17:54:00.000-08:00</published><updated>2008-12-14T18:21:18.866-08:00</updated><title type='text'>Games</title><content type='html'>I was thinking about monopoly a couple of nights ago and it occurred to me that the game is a piece of our culture. However, monopoly, is drastically different from lets say chess, go, shogi, chinese chess, cards... etc because its "owned". Over time the game has slowly made more and more complex until being mass manufactured has become the only option for the game.&lt;br /&gt;And so now im considering what it would be like if the game were streamlined and made more abstract. I think it would be beautiful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2645896558198406626?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2645896558198406626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2645896558198406626'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/12/games.html' title='Games'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6511698931515273696</id><published>2008-12-13T01:49:00.000-08:00</published><updated>2008-12-13T02:53:51.632-08:00</updated><title type='text'>like that</title><content type='html'>iono if ill remember it, but im happy after a couple of hours.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6511698931515273696?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6511698931515273696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6511698931515273696'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/12/like-that.html' title='like that'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-8721776952678723820</id><published>2008-12-06T19:54:00.000-08:00</published><updated>2008-12-06T19:55:14.943-08:00</updated><title type='text'>So I was wrong</title><content type='html'>Of course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-8721776952678723820?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8721776952678723820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8721776952678723820'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/12/so-i-was-wrong.html' title='So I was wrong'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1874336390715521095</id><published>2008-12-04T15:10:00.000-08:00</published><updated>2008-12-04T15:26:54.095-08:00</updated><title type='text'>Its that time of year again</title><content type='html'>Yes that time of year, the end of the semester. Right now im procrastinating studying for a complex analysis test. As always i use this time to review how this semester went.&lt;br /&gt;&lt;br /&gt;If i really force myself to look at my school work, its pretty clear that this semester was educational, even if i don't want to admit it. Unfortunately, Ive also learned that im not nearly as interested in some of the subject areas i once thought i was. Completing my major will involve work that im not interested in after all and my boredom with classwork seems to border ever closer into danger. I couldn't have lasted 4 years of imsa, I can't imagine lasting 4 here.&lt;br /&gt;&lt;br /&gt;What impresses me most is my more personal life. Even though I didn't meet any of my unrealisitic goals, it seems strange to say that just 4-5 months ago i didn't know anyone like me. I remember thinking a year ago about where id be in this process now. Whoever I was a year ago is so distant from me now, at least rationally.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1874336390715521095?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1874336390715521095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1874336390715521095'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/12/its-that-time-of-year-again.html' title='Its that time of year again'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-5761553131861533135</id><published>2008-11-15T17:34:00.000-08:00</published><updated>2008-11-15T17:43:18.045-08:00</updated><title type='text'>Elegance</title><content type='html'>Elegance: original meaning "select with care".&lt;br /&gt;&lt;br /&gt;The new abilities we acquire with computers will kill elegance.&lt;br /&gt;Elegance is forced simplicity because we cannot handle the complex.&lt;br /&gt;Maybe we see elegance because we can't see it otherwise.&lt;br /&gt;&lt;br /&gt;The smarter you are, the less elegant you have to be. The more elegant you have to be, the clearer everything looks.&lt;br /&gt;&lt;br /&gt;I would hate to believe everything looks so beautiful because we are stupid. Perhaps computers will make the world a very ugly place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-5761553131861533135?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.vdash.org/' title='Elegance'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5761553131861533135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/5761553131861533135'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/11/elegance.html' title='Elegance'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-752763085444089881</id><published>2008-10-25T23:50:00.000-07:00</published><updated>2008-10-26T00:00:46.346-07:00</updated><title type='text'></title><content type='html'>Grandfather passed away.&lt;br /&gt;I wonder if my major is what i should be doing. I don't seem to enjoy it, but when my mind is free it thinks about it compulsively.&lt;br /&gt;&lt;br /&gt;Are the tomato plants i keep alive indoors well into fall tortured by their prolonged existence?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-752763085444089881?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/752763085444089881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/752763085444089881'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/10/grandfather-passed-away.html' title=''/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-693596725210120993</id><published>2008-10-16T20:17:00.000-07:00</published><updated>2008-10-16T21:37:43.985-07:00</updated><title type='text'>what are complex numbers</title><content type='html'>&lt;style type="text/css"&gt;  &lt;!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;p style="margin-bottom: 0in;"&gt;I was asked once why mathematicians invented things like imaginary and complex numbers even though they “don't exist”. When we see the equation x^2=-1 we are inclined to believe that no solution exists. This was my reply.&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-size:130%;"&gt;The Island of Even Numbers.&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;Far far away on an distant island exists a civilization that has never heard of odd numbers. Everything on this island comes in even numbers – always. The locals count 2,4,6,8... and so on.  They know nothing about any of the odd numbers which we take for granted.  The following took place in a math class in this exotic land.&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;Teacher:  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;“Some algebra problems have solutions.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  6x – 8 = 40&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  6x = 48&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  x = 8&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;“However, many do not.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  4x -6 = 14&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  4x = 20&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  but 4*4 =16&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  and 4*6 =24&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  but there is no number between 4 and 6&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;  so there is no solution.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;“The most fundamental theorem of this course is an obvious one:  Given any number A there is no number you can multiply it by and get A back. Multiplication must always result in a different value unlike addition where we can add by zero.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;“There is no number x such that ax=a.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;“We can use this theorem to prove that certain problems do not have a solution”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt; 4x-6=14&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt; 4x=20&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt; 4x-16=4&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt; 4(x-4)=4&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;“By our theorem we know that there is no number that can be equal to x-4 and therefore there can be no number that is equal to x.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;But one student asked the teacher:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;“What if there was a number.... lets call it “1” such that A*1=A?”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;The teacher dismissed the bizarre idea, but slowly the student found out the number was extremely useful and built an entire branch of math called the study of "odd" numbers.&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-693596725210120993?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/693596725210120993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/693596725210120993'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/10/what-are-complex-numbers.html' title='what are complex numbers'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1941830313769052378</id><published>2008-09-23T11:33:00.000-07:00</published><updated>2008-09-23T11:44:37.549-07:00</updated><title type='text'></title><content type='html'>I haven't gotten to work on any of my ideas. Its been a long month between the two weddings and bachelor party I've gone to. School of course turns my life into a haze that I get lost in.&lt;br /&gt;&lt;br /&gt;Im pretty much done with the work i have to do in college and i have three more semesters to go after this one. I wouldn't be lying if i said that considering a viable future for myself is scary, even in the short term. I have absolutely no plans for myself that are in any way realistic.&lt;br /&gt;&lt;br /&gt;I guess then this stupid blog thing i do, as other people refer to this, is a way of centering myself in a timeline of sorts. As one comment went, if i read it correctly, I do write alot of entries when returning to this blog and die out for a while. Thats because this blog is a crutch for me in bad times.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1941830313769052378?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1941830313769052378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1941830313769052378'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/09/i-havent-gotten-to-work-on-any-of-my.html' title=''/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3909637653268477401</id><published>2008-08-29T23:07:00.000-07:00</published><updated>2008-08-29T23:09:46.325-07:00</updated><title type='text'></title><content type='html'>Nietzsche's eternal recurrence is sometimes the only convincing argument I have to show Im not alone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3909637653268477401?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3909637653268477401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3909637653268477401'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/08/nietzsches-eternal-recurrence-is.html' title=''/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4924693436905439302</id><published>2008-08-26T20:53:00.000-07:00</published><updated>2008-08-26T21:04:49.181-07:00</updated><title type='text'>school year start</title><content type='html'>Maybe its the fact I have almost nothing really to do at college anymore, and its the knowledge that I now know what needs to be done and am confident that I could do them as a homeless bum which drives me into this rage.&lt;br /&gt;&lt;br /&gt;The way my current japanese class is taught goes against almost everything I fundamentally believe in.  And the hidden axiom at the core of their logic is their belief in the lazy nature of the human intellect. Nothing they do is justified.&lt;br /&gt;&lt;br /&gt;The build up time for restoring my day to day life has been almost 2 weeks. Its something Ive come to be aware of, how leading a rich life is something that needs some kind of stability. Like making my tea everyday. Even a simple necessary trip can screw up how things go and throw me off for a week before Ill have everything in order again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4924693436905439302?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4924693436905439302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4924693436905439302'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/08/school-year-start.html' title='school year start'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3761244104174400859</id><published>2008-08-14T19:57:00.001-07:00</published><updated>2008-08-14T20:01:30.705-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>In other news</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_z2SueNVI-F4/SKTxa6U0ioI/AAAAAAAAAAs/_I-wFKGctF4/s1600-h/fish4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_z2SueNVI-F4/SKTxa6U0ioI/AAAAAAAAAAs/_I-wFKGctF4/s320/fish4.png" alt="" id="BLOGGER_PHOTO_ID_5234574111546837634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Im back in Urbana tomorrow, in a new and hopefully better apartment. enjoy the vectorized fish.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3761244104174400859?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3761244104174400859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3761244104174400859'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/08/in-other-news.html' title='In other news'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_z2SueNVI-F4/SKTxa6U0ioI/AAAAAAAAAAs/_I-wFKGctF4/s72-c/fish4.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7721602286524288333</id><published>2008-08-14T19:34:00.000-07:00</published><updated>2008-08-14T19:54:37.037-07:00</updated><title type='text'>How scary the whole lining things up really gets</title><content type='html'>I should admit here and now that i haven't really taken a full course on logic, but this seems to fall under the same catagorizes as everything else does.&lt;br /&gt;&lt;br /&gt;In the traditional logic they teach in undergraduate CS, member of sets are described using quantifiers(the universal and existential quantifier namely). The meaning of the expression changes based on what order the quantifers are put in. Existential quantifers "depend" on the universal quantifer they come after. This concept is a bit difficult for new students no thanks to the fact that human language is often very abigous about the meaning of sentences. Scope ambitguity is a big problem in language.&lt;br /&gt;&lt;br /&gt;What always seemed weired to me was that it was never proven to me that all in my classes that all of the different possible relations between universal and existential quantifers could be expressed by lining them up in a row with different permutations. Turns out this was wrong like I thought. Some Swedish dude came up with "&lt;a href="http://en.wikipedia.org/wiki/Independence-friendly_logic"&gt;Independance Friendly Logic&lt;/a&gt;", which is a not too shabby notation for describing all the possible relations. You can use skolemization, but thats lame. I personally diagram the relations using circles and dots. Universal quantification are circles, existential quantification is dots. If a dot is in a circle then it depends on that universally quantified variable. In this system FOL is just all the diagrams which have concentric circles.&lt;br /&gt;&lt;br /&gt;but ill nitpick on all this a little more later&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7721602286524288333?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7721602286524288333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7721602286524288333'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/08/how-scary-whole-lining-things-up-really.html' title='How scary the whole lining things up really gets'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-796344508996496202</id><published>2008-08-13T08:41:00.000-07:00</published><updated>2008-08-13T09:24:38.882-07:00</updated><title type='text'>More rants about marked roles</title><content type='html'>One of the interesting things about marked roles is how it really goes against the standard definition of a function. Functions are really a low level concepts. A function which receives marked inputs can be thought to act more intelligently than a function which takes a fixed number of arguments and handles them without having to think about what they are. Marked-input functions do not need to have a fixed number of arguments, nor do all roles have to be filled in before the function can be evaluated.&lt;br /&gt;&lt;br /&gt;Lets take a function which computes the area of a rectangle called "AreaofRec". There are many different ways we could feed a function the information needed to compute the area. The prototypical being:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;AreaofRec(length.5, width.4);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Or these other less common ways of input:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;AreaofRec(length.5, diagonal.3);&lt;br /&gt;AreaofRec(width.4, perimeter.20);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;We can compute area of anyone of these rectangles from the information given. What we have effectively described is a function which evaluates in a certain way when it has received enough information.&lt;br /&gt;&lt;br /&gt;Its an interesting idea, so why is it not done? Well its pretty clear that the terms we use to mark the roles of the input with will be difficult to work with. Take these for example:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Sort(sorted.[1,3,6,2,4] , method. &lt;);&lt;br /&gt;Sort(list.[1,3,6,2,4], orderingfunction.&lt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Theres nothing to tell us which to write unless we look at the documentation. Sure you have to look at the documentation to see wether the function or the list comes first but thats not nearly as irritating as not knowing what to call your arguments.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt; We would have to some sort of agreement ontology and knowledge representation. These are still fields in their infancy, and therefore we shouldn't expect anything like this until we've come farther in knowledge representation. If we don't have any intuitive way of figuring out what we are supposed to call each of the roles, then memorized the role names becomes a task worse than memorizing the place each role is supposed to take.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I guess its a good thing Im interested in ontologies.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-796344508996496202?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/796344508996496202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/796344508996496202'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/08/more-rants-about-marked-roles.html' title='More rants about marked roles'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7756101568820189157</id><published>2008-08-12T19:43:00.000-07:00</published><updated>2008-08-12T20:18:39.073-07:00</updated><title type='text'>久ぶり</title><content type='html'>Its been a long time since i last touched this probably because I had been writing elsewhere. That and stress. But the technical stuff I should really be writing in my notes a second draft, and i should probably write about less technical stuff and more intuitive things as well.&lt;br /&gt;&lt;br /&gt;Anyway I should use this post to sum up some general feelings I have had from my general studies this summer that I haven't yet noted.&lt;br /&gt;&lt;br /&gt;It has come to my attention that the single system of notation for logic and math may be damaging. Even from a psycholinguistic viewpoint, if one accepts the mild version of the whorf-sapir hypothesis then it is easy to conclude that multiple syntaxes for representing things would be important. One such example is the difference between explicit and ordered based role assignment. Current mathematical notation is based on the idea that arguments to functions are passed into it in a certain order and we determine the role of the arguments play in the function by matching them to variables which are also ordered. Example:&lt;br /&gt;&lt;br /&gt;F(x,y) = x-y.&lt;br /&gt;F(4,3)&lt;br /&gt;&lt;br /&gt;We can reason here saying "4 is the first thing so I will replace it with the first variable in the definition (x). 3 is the second so I will replace it with second variable in the definition (y)."&lt;br /&gt;&lt;br /&gt;Now this system is intutive and easy. It has served us well. But if we look at language as a structure we find a much different mechanism. Broadly speaking language marks the arguments role in the function/predicate. This doesn't seem to be recognized as much as it should  by semanticisits using logic and is pretty rare. As far as I know the only instance of it i can find in math and compsci is in ocaml where labeled roles are allowed for functions. An example is below.&lt;br /&gt;&lt;br /&gt;F(x,y) = x/y&lt;br /&gt;F(y:3 , x:6)&lt;br /&gt;&lt;br /&gt;We evaluate here by saying oh were supposed to replace y with 3 and x with 6 and we get 2. Here we have labeled 3 and 6 with their respective "roles" in the function.&lt;br /&gt;&lt;br /&gt;Now both of these systems are equivalent right? Both are just as good.. but if you think about it more closely, having the roles marked allows us much more flexibility. Take partial applications in lambda calculus.&lt;br /&gt;&lt;br /&gt;Let subtract = fun xy.x-y;&lt;br /&gt;&lt;br /&gt;If we wish to write a function that tells you what you get when you stubtract three from something we only need to write&lt;br /&gt;&lt;br /&gt;Let 3minus  = subtract 3;&lt;br /&gt;&lt;br /&gt;However if we want to see what happens when we take something and stubtract three from it, writing that function out becomes a bit more of a hassel&lt;br /&gt;&lt;br /&gt;let subtractfrom3 = fun a. subtract a 3;&lt;br /&gt;&lt;br /&gt;This is plan stupid. If we used marked roles the function becomes simpler to write.&lt;br /&gt;&lt;br /&gt;let subtractfrom3 = subtract b:3 ;&lt;br /&gt;let 3minus = subtract a:3;&lt;br /&gt;&lt;br /&gt;(instead of using a and b we could simply mark it with 1,2,3..)&lt;br /&gt;&lt;br /&gt;more fun uses of role-marking later&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7756101568820189157?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7756101568820189157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7756101568820189157'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/08/blog-post.html' title='久ぶり'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4416501874739362751</id><published>2008-06-02T01:57:00.000-07:00</published><updated>2008-06-02T02:02:48.197-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.boingboing.net/2008/05/12/stuart-kauffman-call.html"&gt;http://www.boingboing.net/2008/05/12/stuart-kauffman-call.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://guerrillagardening.org"&gt;&lt;br /&gt;http://guerrillagardening.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Im not alone am I&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4416501874739362751?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4416501874739362751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4416501874739362751'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/06/httpwww.html' title=''/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4075105452253809746</id><published>2008-05-21T21:44:00.000-07:00</published><updated>2008-05-21T21:57:57.258-07:00</updated><title type='text'>the cure</title><content type='html'>Smile&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4075105452253809746?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4075105452253809746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4075105452253809746'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/05/cure.html' title='the cure'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4519403718049054522</id><published>2008-05-19T09:45:00.001-07:00</published><updated>2008-05-19T10:10:27.036-07:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.kuvalauta.fi/b/src/121068448338.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://www.kuvalauta.fi/b/src/121068448338.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I went to the new champaign public library. It sure does alot to impress. The opening requires one to weave confusingly to enter in the main library. Inside one is greated with a corbusier scale interior that looked like it was refined by groupius. Unfortunately its evident that shelves were an after thought. Its a two story warehouse with no really effective system of partitioning space.&lt;br /&gt;&lt;br /&gt;Thats not to say it doesn't look nice. It looks very classy. The rest of it is in good taste and theres several fun surprizes. But nothing makes up for bad room by room planning.&lt;br /&gt;&lt;br /&gt;Interestingly enough the second floor is populated by wifi users on their laptops. Lots of them holding some sort of meeting at the table. The building is rather quiet even for a library, though i can't tell if its reverence or good acousitics. I see similar behaviour in cafe kopi downtown champaign everytime i visit. More and more people seem to be using public spaces as rented working areas. This as far as i can tell doesn't happen on campus where it only appears that people study and not actually work. I can only wonder how this relates to the new "culture of renting" that I keep on hearing about. Maybe coffe shops are good investments when the economy favors small scale organizations.&lt;br /&gt;&lt;br /&gt;I keep on searching for outdoor spaces designed for study or work. There are few and in fact all of them have to be shaded to be laptop friendly. One such spot is a neglected garden area on the northwest side of the engineering hall. The seats are very comfortable. You have many more options if you just choose to read a book, but even then i find that hard to do laying down on grass or anything. Also, these days books are printed on paper that is almost shiny its so white. Older books used to age a bit but these don't turn yellow at all. I dont want to sound like some old japanese lament of the modern but really the aging of a book is a beautiful thing, and in bright sunlight these new books reflect so much light back from their disturbingly white covers that its unreadable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4519403718049054522?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4519403718049054522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4519403718049054522'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/05/i-went-to-new-champaign-public-library.html' title=''/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-6247278363359607377</id><published>2008-04-09T22:23:00.000-07:00</published><updated>2011-05-21T17:53:10.366-07:00</updated><title type='text'>did i rush this?</title><content type='html'>Oh god, what have i done. I was supposed to feel better, but now i don't know. I don't even really feel like me right now.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;It's often been said that I should probably remove some of the less mature content on this blog like this. Although I am sure many would disagree, preserving to myself entries such as this one is crucial and I do so intentionally. The overall tone of this blog was never intended to be&amp;nbsp;professional. The choice of orthography is enough to show that. How this kind of honesty is damaging is debatable.&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;This entry was made right after coming out to my friends for the first time and is the best reminder of that day in my life I have. That is why it is here.&lt;/u&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-6247278363359607377?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6247278363359607377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/6247278363359607377'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/04/did-i-rush-this.html' title='did i rush this?'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-868978461958875277</id><published>2008-03-29T22:42:00.000-07:00</published><updated>2008-03-29T22:50:06.714-07:00</updated><title type='text'>Champaign-Urbana Culture</title><content type='html'>Champaign urbana does have alot to offer, both on and off campus. Im feeling really disconnected from my academic life right now, and I need something else. Ive been looking on yelp and lists of things to do in the area and im happy with whats availble for me in this area: farmers market, good used bookstores, surprizingly amusing art museums, IMPE gym, good restaurants ( i need a good place i can frequent), ethnic food stores.&lt;br /&gt;What i really want though is closer "regular" shopping, and maybe some forest preserve.&lt;br /&gt;&lt;br /&gt;what i really want is a club i can really care about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-868978461958875277?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/868978461958875277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/868978461958875277'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/03/champaign-urbana-culture.html' title='Champaign-Urbana Culture'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4810189511287272151</id><published>2008-03-20T22:33:00.001-07:00</published><updated>2008-03-20T22:39:18.287-07:00</updated><title type='text'>Things I Do</title><content type='html'>Im into linguistics again, mainly because i keep on thinking about resource description frameworks and why no one seems to have made one thats an actual language.&lt;br /&gt;&lt;br /&gt;Everything out there is based on the concept of a triple (Subject Verb Object) rather than actually looking at linguistic typology and producing an actual language (one that is recursive). I really need to figure out why languages need context sensitive grammars; not so sure thats a good idea at all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4810189511287272151?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4810189511287272151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4810189511287272151'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/03/things-i-do.html' title='Things I Do'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7453384083304761812</id><published>2008-03-09T20:44:00.000-07:00</published><updated>2008-03-09T20:49:25.750-07:00</updated><title type='text'>Hacking myself</title><content type='html'>i normally don't believe in doing things that force your will one way or another. If you don't care to do something then forcing your will (ex. having class attendance) is artificial and wrong. But, ... iono need to reevaluate, is hacking yourself in some way wrong if the will is just not willing to cut it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7453384083304761812?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7453384083304761812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7453384083304761812'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/03/hacking-myself.html' title='Hacking myself'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3671767575685649864</id><published>2008-02-26T19:36:00.000-08:00</published><updated>2008-02-26T19:39:48.110-08:00</updated><title type='text'></title><content type='html'>Matsuo Bashou renounced his life work on his death bed. I can only hope i will do the same.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3671767575685649864?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3671767575685649864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3671767575685649864'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/02/matsuo-bashou-renounced-his-life-work.html' title=''/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-483163830017485174</id><published>2008-02-10T19:26:00.000-08:00</published><updated>2008-12-08T22:15:54.497-08:00</updated><title type='text'>Update</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_z2SueNVI-F4/R6_DNBUWr2I/AAAAAAAAAAM/i6GGi-oZkE4/s1600-h/pizza.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 373px; height: 260px;" src="http://4.bp.blogspot.com/_z2SueNVI-F4/R6_DNBUWr2I/AAAAAAAAAAM/i6GGi-oZkE4/s320/pizza.jpg" alt="" id="BLOGGER_PHOTO_ID_5165561926076772194" border="0" /&gt;&lt;/a&gt;I cook alot now to pass the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-483163830017485174?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/483163830017485174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/483163830017485174'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/02/update.html' title='Update'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_z2SueNVI-F4/R6_DNBUWr2I/AAAAAAAAAAM/i6GGi-oZkE4/s72-c/pizza.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-8243504639050812082</id><published>2008-01-17T12:15:00.000-08:00</published><updated>2011-05-21T17:36:37.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Books</title><content type='html'>So id say 150$ is becoming common for an average textbook in my classes now. Idealy, textbook content would be free, possibly by some program set up by a university. Standard textbooks are way too pretty, and have way too many problems in them. An ideal textbook would be thin, possibly even paperback made from newspaper quality paper, and have content mostly online in a wiki format. It once again fits into the idea that proffesors shouldn't be teaching but facilitating learning by removing obstacles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-8243504639050812082?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8243504639050812082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8243504639050812082'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/01/books.html' title='Books'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2485126121347983314</id><published>2008-01-15T22:03:00.000-08:00</published><updated>2011-05-21T17:36:37.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Intercession</title><content type='html'>I didn't want anyone to be there who didn't want to be there, but that's highschool I suppose. Theory of computer science might have been a bad choice for a couple of reasons.&lt;br /&gt;&lt;br /&gt;- They didn't sign up for a week of it knowing what they were really getting into&lt;br /&gt;- I don't think many of them were high enough on the Maslow heirachy of needs to really care. I would rather have had students eat well, sleep, and develop meaningful social ties. Theres no point in teaching to a class without these. ( I can only claim to do the first two )&lt;br /&gt;- Many saw the jump into higher mathematics as merely overly specialized knowledge rather than a profound overveiw of basic philosophical thingys. The only thing i wanted them to see the entire class was the chomsky heirarchy and vaugely understand my proof about the existance of unsolvable problems.&lt;br /&gt;- Many students complained about not learning anything, when in fact it was amazing how much they had learned in such a short amount of time. If there had been hands on things, it would have been easier to demonstrate that they had learned something. I think maybe they expect pain as a sign of learning, a certain sense that math/cs is a field of no pain no gain.&lt;br /&gt;&lt;br /&gt;Frankly I did it because i believe theoretical computer science is probably the most important /beautiful thing Ive learned in college and im sad I didn't know about it earlier. It might be the fact that breaks are stressfull for me, being cut off from everyone, but i remember saying to everyone  "cs273 taught me not to fear death" as a joke. It certainly affects how i see the world more than i think it was meant to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2485126121347983314?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2485126121347983314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2485126121347983314'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2008/01/i-didnt-want-anyone-to-be-there-who.html' title='Intercession'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-8099043108384290300</id><published>2007-12-01T15:53:00.000-08:00</published><updated>2011-05-21T17:36:37.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Q and A</title><content type='html'>Q: do i need to know this math material to be successful in future courses?&lt;br /&gt;&lt;br /&gt;A: Well, the word math comes from the latin root mathilalalarus  meaning: "better learn this because yea, you have to know this stuff later". so yes&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-8099043108384290300?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8099043108384290300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/8099043108384290300'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2007/12/q-and.html' title='Q and A'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-4011770747432298504</id><published>2007-11-11T21:25:00.000-08:00</published><updated>2011-05-21T17:36:37.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>There're</title><content type='html'>Contractions. why is that one wrong? i know i use that one verbally all the time (there're pronounced as there) its basically copula deletion. so what does there're mean? there are, meaning there exists (plural)... question is why is the word there there? is it because its derivable from:&lt;br /&gt;&lt;br /&gt;it exists there. it is there.  there is  it.&lt;br /&gt;they exist there. they are there. there are them.&lt;br /&gt;&lt;br /&gt;anyway there several ways to see it&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-4011770747432298504?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4011770747432298504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/4011770747432298504'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2007/11/therere.html' title='There&apos;re'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-7433298476502120008</id><published>2007-11-06T16:55:00.000-08:00</published><updated>2011-05-21T17:36:37.789-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>regex</title><content type='html'>something something darkside, something something complete.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-7433298476502120008?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7433298476502120008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/7433298476502120008'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2007/11/regex.html' title='regex'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-129323286009200833</id><published>2007-10-31T22:16:00.000-07:00</published><updated>2011-05-21T17:36:37.790-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>:'(</title><content type='html'>lots of grading, and midterm in programming languages and compliers.&lt;br /&gt;&lt;br /&gt;i should pick out courses&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-129323286009200833?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/129323286009200833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/129323286009200833'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2007/10/blog-post.html' title=':&apos;('/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-2087798122822354311</id><published>2007-10-25T15:12:00.000-07:00</published><updated>2011-05-21T17:36:37.791-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Im an idiot</title><content type='html'>so im spontaniously asked to do a problem for 173 number three on homework 7.&lt;br /&gt;&lt;br /&gt;its a structural induction to show an induction hypothesis is true for every nondirectional graph.&lt;br /&gt;so i come up with a grammar to describe all graphs&lt;br /&gt;a single vertex is a graph.&lt;br /&gt;  A not connected to B is a graph where A and B are graphs&lt;br /&gt;  A connected by a new edge to B is a graph if A and B are graphs.&lt;br /&gt; &lt;br /&gt;  this doesn't produce the set of all nondirectional graphs and i realized this when a student asked me to produce the "triangle" graph and i realized i couldn't.&lt;br /&gt;&lt;br /&gt;the correct production is&lt;br /&gt;a single vertex is a graph&lt;br /&gt;    A not connected to B is a graph iff A and B are graphs&lt;br /&gt;   C with an extra edge is a graph iff C was  a graph and not saturated with edges.&lt;br /&gt;&lt;br /&gt;so much easier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-2087798122822354311?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2087798122822354311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/2087798122822354311'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2007/10/im-idiot.html' title='Im an idiot'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-3032355865780097782</id><published>2007-10-22T20:41:00.001-07:00</published><updated>2011-05-21T17:36:37.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>bourgeoisie</title><content type='html'>yes, i spelled it correctly....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-3032355865780097782?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3032355865780097782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/3032355865780097782'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2007/10/bourgeoisie.html' title='bourgeoisie'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2544857744985174434.post-1818920403934959035</id><published>2007-10-21T15:45:00.000-07:00</published><updated>2011-05-21T17:36:37.792-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>people</title><content type='html'>Ive become one of those people who sit in secluded corners of the library next to big windows near trees.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2544857744985174434-1818920403934959035?l=searke.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1818920403934959035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2544857744985174434/posts/default/1818920403934959035'/><link rel='alternate' type='text/html' href='http://searke.blogspot.com/2007/10/people.html' title='people'/><author><name>Sean Clarke</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
