<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Thoughts, Pictures, and Quotes from Nicholas Schiefer</description><title>A Random Random Walk</title><generator>Tumblr (3.0; @randomrandomwalk)</generator><link>http://blog.nicholasschiefer.com/</link><item><title>"I have figured for you the distance between the horns of a dilemma, night and day, and A and Z. I..."</title><description>“I have figured for you the distance between the horns of a dilemma, night and day, and A and Z. I have computed how far is Up, how long it takes to get Away, and what becomes of Gone. I have discovered the length of the sea serpent, the price of priceless, and the square of the hippopotamus. I know where you are when you are at Sixes and Sevens, how much Is you have to have to make an Are, and how many birds you can catch with the salt in the ocean – 187,796,132, if it would interest you.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;James Thurber, &lt;em&gt;Many Moons&lt;/em&gt;&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/19558117285</link><guid>http://blog.nicholasschiefer.com/post/19558117285</guid><pubDate>Sun, 18 Mar 2012 23:56:05 -0400</pubDate></item><item><title>"We do not know what electrons are doing in the atom: circles, ellipses, figure eights, the..."</title><description>“We do not know what electrons are doing in the atom: circles, ellipses, figure eights, the mambo…”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Nelson Chemistry 12&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/10150536553</link><guid>http://blog.nicholasschiefer.com/post/10150536553</guid><pubDate>Mon, 12 Sep 2011 22:16:57 -0400</pubDate></item><item><title>Perhaps the most impressive wind-driven device on the...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/HSKyHmjyrkA?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Perhaps the most impressive wind-driven device on the planet… &lt;em&gt;robotics team, take note&lt;/em&gt;.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/7463488223</link><guid>http://blog.nicholasschiefer.com/post/7463488223</guid><pubDate>Sun, 10 Jul 2011 15:43:27 -0400</pubDate></item><item><title>"Before this decade is out, of landing a man on the moon and returning him safely to the earth"</title><description>&lt;p&gt;Sometime in my childhood, perhaps at the age of 10 or 11, I entered a phase, much like any other child. Space was my obsession. Not space of the personal variety, but space of the outer kind, that black void that envelopes our own planet Earth. In particular, a book entitled &amp;#8220;Space and the Future&amp;#8221; captivated my attention. It chronicled the advancements made in current space technology, and made rather bold predictions about space technology in the near (that is, in this millennium) future. Among the predictions were implementations of Reagan&amp;#8217;s beloved &amp;#8220;Star Wars&amp;#8221; missile defense program (due in by 2050), factories orbiting the Earth and producing ultralight, ultra-strong metallic foam at one millionth the cost of Earth-based production methods (due by 2016, my expected year of graduation with an undergraduate degree), and giant, spinning habitats halfway between the Earth and the moon. Such dreams seemed so real to me: so near, so tangible; they were, after all, beautifully illustrated in exacting detail in the pages of the softcover book in my hands.&lt;/p&gt;

&lt;p&gt;I, of course, added my own printout of a map of the plans for the International Space Station to the front.&lt;/p&gt;

&lt;p&gt;Unfortunately, I believe that, due to a series of societal transformations and shifts in values, space exploration as we all (yes, I&amp;#8217;m sure you did too) dreamed it to be has died. Part of that dream is being taken off life-support right now, as Atlantis is completely her last mission and the International Space Station looms as a solemn reminder of ambitions once held. In many ways, this post is my obligatory goodbye, a wave to the object of so much fascination (and a trip to Space Camp). In many other ways, it expresses my feelings about the nature of space exploration, and the path forward. A smattering of opinion mixed with history, so to speak.&lt;/p&gt;

&lt;p&gt;On October 5, 1957, a missile took off from an air base in the Soviet Union. Aboard was a device which, other than scaring the crap out of the Americans by emitting a periodic, unwavering beep, had no purpose other than to become the first man-made satellite to orbit the Earth. Less than two years later, Yuri Gagarin became the first human to enter space (and return safely; who knows how many might have died before him). And, a decade after the first human successfully returned from space, Neil Armstrong became the first human being to step foot on another celestial body.&lt;/p&gt;

&lt;p&gt;In a period of time shorter than my life, our perception of space was transformed from that of a dark, mystical place, removed from our experiences to that of a new frontier of exploration, larger than any faced on Earth.&lt;/p&gt;

&lt;p&gt;Yet, since 1972, no human has left low Earth orbit. Furthermore, before the end of this month, the United States, the same country whose president promised that, in less than a decade from the time that the US entered the space race, man will walk on the moon, will lose the capacity to launch humans into space; a break in 50 years of manned space flight.&lt;/p&gt;

&lt;p&gt;Furthermore, the planned replacement for the Shuttle Program, the Constellation Program (which has now been cancelled), was essentially a return to the Apollo-era technology developed in the 1960s. What happened? What have we been doing for the past four decades? What happened to the hopes and dreams of film makers, writers, comic book artists, and children around the world? In 2001, the groundbreaking film &amp;#8220;2001: A Space Odyssey&amp;#8221; finally became out of date. Were its dreams too fantastic? Perhaps, but what could be more fantastic than creating a machine that could safely bring humans to another body?&lt;/p&gt;

&lt;p&gt;By any means, JFK&amp;#8217;s challenge to the American people to pursue the goal, &amp;#8220;before this decade is out, of landing a man on the moon and returning him safely to the earth&amp;#8221; was absurd. He posed the challenge a mere month after the first American was put into space, and only barely so. Most people today would be surprised if a country announced that it would put people on the moon in a decade, and &lt;em&gt;the technology already exists&lt;/em&gt;. The entire Apollo program was, quite frankly, absurd to begin with, and absurd to the end. Everything about it was too ambitious, too risky, too adventurous, and by every possible measure of reasonableness should have been shut down before it expended its first million dollars. Yet, the Apollo program was a near-perfect success, punctuated only by the Apollo 1 disaster, which happened on the ground, and the Apollo 13 incident, which was a testament to the quality of the program itself.&lt;/p&gt;

&lt;p&gt;The Apollo program could never have existed in the 21st century. Such a monumental project, involving over one hundred thousand people and billions of dollars, would never be attempted, never mind completed. The naysayers and the protesters would be too powerful, any government proposing it would be criticized for misuse of taxpayer money, and any individual suggesting it would quickly be neutralized, probably by promotion into a less dangerous position.&lt;/p&gt;

&lt;p&gt;Compare the safety measured in place for Atlantis&amp;#8217;s last mission with those prepared for Apollo 11. The latter is, by every measure, far more dangerous: it was the first of its kind, it was &lt;em&gt;far&lt;/em&gt; more ambitious, and posed a far greater engineering challenge. Yet, Nixon actually prepared a speech to give to the public should the Lunar Module fail to ascend from the moon, stranding the two astronauts forever. No rescue mission was planned; NASA had made preparations to simply cut off communication with the &lt;em&gt;Eagle&lt;/em&gt;, leaving Aldrin and Armstrong to die or commit suicide in total radio silence, and Collins to return home alone. In stark contrast, since no rescue Shuttle mission could be planned, each astronaut aboard STS-135 carries a space suit compatible with the Russian Soyuz craft, at a cost of millions of dollars each. Should the Shuttle be unable to return from the ISS, Soyuz probes will be sent up to rescue the crew members, one by one, over a period of a year.&lt;/p&gt;

&lt;p&gt;Note that I do not believe that the safety measures are a bad thing, nor do I believe that the safety measures have made the Space Shuttle program the most dangerous American space program to date, in terms of lives lost. In fact, I applaud NASA for committing itself to preserving human life. However, we must recognize that we, as a planet, have tremendously scaled back our ambitions in the past fifty years, in part due to safety concerns.&lt;/p&gt;

&lt;p&gt;If Barack Obama were to announce that humankind will land on the moon once more within a decade, he would not be re-elected. The next president, much like Toronto&amp;#8217;s mayors, would immediately cancel the program, to the cheering of those who look out for &amp;#8220;taxpayers&amp;#8217;&amp;#8221; money.&lt;/p&gt;

&lt;p&gt;The world has changed, as have our values and ambitions. It is the nature of each era to attempt to predict the technologies of the future, while hopelessly failing to do so with any accuracy. At the turn of the century, if you were to ask a person about the future, they might chatter on about fantastic aircraft and automobiles. If you were to ask a person in the 1950s or 60s about the future, they would praise the virtues of manned space exploration and talk of trips to Mars, vacations on the Moon, and interstellar travel. Instead of underwater cars, the people of the first half of the twentieth century got space exploration. Instead of vacations on other celestial bodies, the people of the second half of the twentieth century got the Internet. After all, is the Internet not a marvel comparable to the space program?&lt;/p&gt;

&lt;p&gt;Our modern society is simply too risk adverse to pursue something as ambitious about the capabilities of human explorers as Apollo. Our ambitions have shifted; this is not necessarily a bad thing. However, with the early end of the Apollo program, the slow reduction of energy put into space exploration (especially manned space exploration), and now the end of the great momentum of American space travel, it seems that the window of space exploration is closing. And that makes me a little bit sad.&lt;/p&gt;

&lt;p&gt;However, this situation is far from unique. Theodore Gray, the author of that beautiful coffee table book featuring his element collection, has argued that we may currently be living in the only period of time during which new elements are being actively created. Until recently, nobody had the capability, and in a few decades, nobody may even try.&lt;/p&gt;

&lt;p&gt;Space exploration was once the new frontier. The fence lines, however, have shifted. To me, the creation of the Internet, the Google search engine, and the IBM Watson deep Q&amp;amp;A system are all as marvelous as Sputnik, Vostok, and Apollo. Surely the great frontier of technology will continue to change in directions unknown. And despite my twinge of sadness at the near-terminal nature of a childhood fantasy, I have enormous hope for the future. Now, as in the past and in the future, we can relish in the next &amp;#8220;small step for a man&amp;#8221; and &amp;#8220;giant leap for mankind&amp;#8221;. However, I am ambivalent about making predictions. Really, the only certainty is that whatever the next frontier of innovation is, it will be totally different from what we envision it to be.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/a/a8/NASA-Apollo8-Dec24-Earthrise.jpg" alt="Earthrise" width="100%"/&gt;&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/7443144598</link><guid>http://blog.nicholasschiefer.com/post/7443144598</guid><pubDate>Sun, 10 Jul 2011 00:18:00 -0400</pubDate><category>space</category><category>NASA</category><category>innovation</category><category>opinion</category><category>science</category></item><item><title>"And now for something completely different: implementing LOGO in LOGO:
‘turtles all the way..."</title><description>“And now for something completely different: implementing LOGO in LOGO:
‘turtles all the way down’”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;PyPy (implementation of Python in Python) prompt&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/7230787869</link><guid>http://blog.nicholasschiefer.com/post/7230787869</guid><pubDate>Mon, 04 Jul 2011 12:27:00 -0400</pubDate></item><item><title>Simplicity and Elegance; or, why I love math</title><description>&lt;p&gt;Here&amp;#8217;s a beautiful little problem found in a (very instructive and interesting) book on functional equations (Small&amp;#8217;s &lt;em&gt;Functional Equations and How to Solve Them&lt;/em&gt;):&lt;/p&gt;

&lt;p&gt;Let $f$ and $g$ be real-valued functions defined for all values of $x$ and $y$, and satisfying the equation:&lt;/p&gt;

&lt;p&gt;$$f(x + y) + f(x- y) = 2 f(x) g(y)$$&lt;/p&gt;

&lt;p&gt;for all $x, y$. Prove that if $f$ is not identically zero, and if $|f(x)| \leq 1$ for all $x$, then $|g(y)| \leq 1$ for all $y$&lt;/p&gt;

&lt;p&gt;While the problem might seem obtuse, its solution is nothing less than stunningly beautiful, if difficult to arrive at.&lt;/p&gt;

&lt;p&gt;We note that since $|f(x)| \leq 1$ for all $x$, then $|f|$ has a least up bound of some $M$. That is, there exists an $M$ such that $|f(x)| \leq M$ for all $x$. We now suppose that there exists a $y_0$ such that $g(y_0) &amp;gt; 1$. We then have that:&lt;/p&gt;

&lt;p&gt;$$2|f(x)||g(y_0)| = |f(x + y_0) + f(x - y_0)|$$&lt;/p&gt;

&lt;p&gt;By the triangle inequality,&lt;/p&gt;

&lt;p&gt;$$2|f(x)||g(y_0)| \leq |f(x + y_0)| + |f(x - y_0)| \leq 2M$$&lt;/p&gt;

&lt;p&gt;Therefore,&lt;/p&gt;

&lt;p&gt;$$|f(x)| \leq \frac{M}{|g(y_0)|} &amp;lt; M$$&lt;/p&gt;

&lt;p&gt;since $|g(y_0)| &amp;gt; 1$, by our assumption. This is clearly a contradiction since $M$ has been defined to be the least upper bound of $|f|$, and the result follows.&lt;/p&gt;

&lt;p&gt;What a nice little proof! Doesn&amp;#8217;t required anything more advanced than knowledge of the basic properties of real numbers and the triangle inequality.&lt;/p&gt;

&lt;p&gt;Philosophically, this is my favourite type of problem. Its solution, while difficult to elucidate, is clear and easy to follow. Best of all, it is accessible to many, many people.&lt;/p&gt;

&lt;p&gt;Puts a grin on my face, really.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/7029645226</link><guid>http://blog.nicholasschiefer.com/post/7029645226</guid><pubDate>Tue, 28 Jun 2011 22:00:52 -0400</pubDate></item><item><title>"You acknowledge that Licensed Software is not designed or intended for use in the design,..."</title><description>“You acknowledge that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Sun Microsystems, Inc. disclaims any express or implied warranty of fitness for such uses.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;JDK 6 license agreement
(&lt;a href="http://java.sun.com/javase/6/jdk-6u18-license.txt"&gt;http://java.sun.com/javase/6/jdk-6u18-license.txt&lt;/a&gt;)&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/6401440851</link><guid>http://blog.nicholasschiefer.com/post/6401440851</guid><pubDate>Fri, 10 Jun 2011 20:29:13 -0400</pubDate></item><item><title>"The work of Newton was so revolutionary for European society that it inspired several contemporary..."</title><description>“The work of Newton was so revolutionary for European society that it inspired several contemporary poets to compose poems reflecting on his work. From you perspective, living in the 21st century, create a free-verse poem describing the impact of the scientific revolution of Galileo, Newton, and others in changing our view of nature, society, and technology.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Physics 11 textbook
(&lt;em&gt;&lt;strong&gt;&lt;em&gt;Facepalm&lt;/em&gt;&lt;/strong&gt;&lt;/em&gt;)&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/6362901566</link><guid>http://blog.nicholasschiefer.com/post/6362901566</guid><pubDate>Thu, 09 Jun 2011 17:27:00 -0400</pubDate><category>physics</category><category>humour</category></item><item><title>"Telescopes and bathyscapes and sonar probes of Scottish lakes, Tacoma Narrows bridge collapse..."</title><description>“Telescopes and bathyscapes and sonar probes of Scottish lakes, Tacoma Narrows bridge collapse explained with abstract phase-space maps, some x-ray slides, a music score, Minard’s Napoleonic war: the most exciting new frontier is charting what’s already here.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Randall Munroe (xkcd)&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/5089105646</link><guid>http://blog.nicholasschiefer.com/post/5089105646</guid><pubDate>Sat, 30 Apr 2011 23:03:05 -0400</pubDate></item><item><title>Protecting the rubies -- Generating secure registration tokens in Ruby</title><description>&lt;p&gt;For a recent Ruby on Rails web application, I needed to restrict registration to a small subset of those who might discover the website. Specifically, I needed to ensure that only users who are authorized to register can do so, without any manual intervention.&lt;/p&gt;

&lt;p&gt;Among web application developers, this is a relatively common scenario. Whether to grant access only to beta testers, only to friends and family, or only to registered API developers, we must constantly struggle to ensure that a random visitor cannot simply register and access sensitive data.&lt;/p&gt;

&lt;p&gt;However, my particular application had some fairly unique needs:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;p&gt;Several hundred people may potentially be required to use the system. Certainly, I could not simply check for a certain e-mail address, or a certain name before granting registration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A majority of the users are not particularly computer savvy. The registration process must be a painless as possible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is highly likely that the registration e-mails would be compromised.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Very little user-specific data, such as passwords or dates of birth, is available.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Given these needs, I decided that a registration token system would be most effective. That is, the e-mail inviting the new user to register would include a randomly-generated token. This token would be presented upon registration and checked for validity, allowing the new user to register successfully.&lt;/p&gt;

&lt;p&gt;However, the exact method for generating these tokens remained to be decided.&lt;/p&gt;

&lt;p&gt;In the end, I developed the following system:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;&lt;p&gt;Create a &lt;code&gt;Token&lt;/code&gt; model, with fields for &lt;code&gt;value&lt;/code&gt; and &lt;code&gt;salt&lt;/code&gt;. The &lt;code&gt;value&lt;/code&gt; column holds the actual token, while the &lt;code&gt;salt&lt;/code&gt; token stores a cryptographic salt (more on this later).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;During the invitation process (performed by an administrator), a random string of characters called a &lt;em&gt;salt&lt;/em&gt; is generated. This value is used to increase the variability of the data and prevent precomputed &amp;#8220;rainbow&amp;#8221; table of cryptographic hashes from potentially exposing the underlying data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Also, during registration, a new &lt;code&gt;Token&lt;/code&gt; is created. Its &lt;code&gt;salt&lt;/code&gt; field is set to the aforementioned random string (in my implementation, the string was 25 characters long). Additionally, a cryptographic hash (such as MD5 or SHA1) is used on a combination of the invitee&amp;#8217;s e-mail address and the salt. This combination can vary by implementation, although interspersing one string within the other provides relatively cryptic results. This is stored in the &lt;code&gt;value&lt;/code&gt; field.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;During registration, the invitee is asked to enter their registration token and their e-mail address. The &lt;code&gt;tokens&lt;/code&gt; table is searched using the presented token, and the same algorithm from (3) is applied to the entered data. The tokens will only match if the e-mail address to which the token was sent is identical to the entered address. If the match was successful, the token is deleted and the registration process continues. If the match was unsuccessful, 2 more entries are permitted, after which a new token is generated (with a different salt), and the invitation e-mail is resent. The registration form notes this and asks the user to check their e-mail.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;h2&gt;Ruby on Rails implementation of hashing algorithm&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;require 'digest/sha1'

class Token &amp;lt; ActiveRecord::Base
  def self.generate(email)
    token = Token.new
    token.salt = Token.generate_salt(25)
    token.value = Digest::SHA1.hexdigest(email + token.salt)

    return token
  end

  def self.generate_salt(length)
    chars = ['A'..'Z'] + ['a'..'z'] + ['0'..'9'] + "!@#$%^&amp;amp;*(){}[]|\\.,&amp;lt;&amp;gt;?/:;".to_a
    salt = ""

    length.times do
      salt += chars[rand(chars.length)]
    end
    return salt
  end
end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;Note that the other elements of the algorithm are application-specific. Therefore, I am unable to post any more code.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;Basic mathematical analysis of security&lt;/h2&gt;

&lt;p&gt;Having generated these tokens, I was curious about the probability that a hacker could register through a brute force attack. Assuming that a SHA1 cryptographic hash was used to generate the token, the tokens are 160 bits, or 40 hexadecimal digits long. In addition, similar input strings often result in a completely different cryptographic hash, so the fact that many e-mail addresses have similar formats is unimportant. There are 16 hexadecimal digits, so the chance that a hacker could guess a particular token (given 3 guesses) is:&lt;/p&gt;

&lt;p&gt;$$3(\frac{1}{40^{16}}) = 6.98491931 \times 10^{-26}$$&lt;/p&gt;

&lt;p&gt;Supposing that there are even 1000 open tokens in the database at a given moment, the probability of guessing even one of them is $$6.98491931 \times 10^{-23}$$, a quantity so vanishingly small that a single guess every second would take on the order of $$10^{15}$$ &lt;em&gt;years&lt;/em&gt; to have a decent chance of guessing a single token.&lt;/p&gt;

&lt;h2&gt;Coda&lt;/h2&gt;

&lt;p&gt;Certainly this approach is not novel; it has doubtlessly been used in hundreds of web applications. However, the evidence shows that a &lt;a href="http://insecureweb.com/"&gt;very large number&lt;/a&gt; of web applications are incredibly insecure. In any case, I hope that this worked example of secure token generation has proven at least instructive or thought provoking.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/2837531441</link><guid>http://blog.nicholasschiefer.com/post/2837531441</guid><pubDate>Wed, 19 Jan 2011 23:41:00 -0500</pubDate><category>cryptography</category><category>web-applications</category><category>ruby</category><category>rails</category><category>programming</category></item><item><title>"Niobe mourned the loss of her children, who were killed by Artemis and Apollo, while I mourn the..."</title><description>“Niobe mourned the loss of her children, who were killed by Artemis and Apollo, while I mourn the loss of one of my samples of niobium, which was confiscated by the FBI. What I had assumed was an obsolete missile part—a rocket engine with a niobium superalloy nozzle—turned out to be quite up to date and very much missed by the Air Force base from which it had been stolen. (You never can tell what you’re going to find on eBay.)”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Theodore Gray, &lt;em&gt;The Elements&lt;/em&gt;&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/2836754724</link><guid>http://blog.nicholasschiefer.com/post/2836754724</guid><pubDate>Wed, 19 Jan 2011 22:44:13 -0500</pubDate><category>chemistry</category><category>funny</category><category>books</category></item><item><title>"Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than..."</title><description>“&lt;p&gt;Beautiful is better than ugly.&lt;/p&gt;

&lt;p&gt;Explicit is better than implicit.&lt;/p&gt;

&lt;p&gt;Simple is better than complex.&lt;/p&gt;

&lt;p&gt;Complex is better than complicated.&lt;/p&gt;

&lt;p&gt;Flat is better than nested.&lt;/p&gt;

&lt;p&gt;Sparse is better than dense.&lt;/p&gt;

&lt;p&gt;Readability counts.&lt;/p&gt;

&lt;p&gt;Special cases aren’t special enough to break the rules.&lt;/p&gt;

&lt;p&gt;Although practicality beats purity.&lt;/p&gt;

&lt;p&gt;Errors should never pass silently.&lt;/p&gt;

&lt;p&gt;Unless explicitly silenced.&lt;/p&gt;

&lt;p&gt;In the face of ambiguity, refuse the temptation to guess.&lt;/p&gt;

&lt;p&gt;There should be one— and preferably only one —obvious way to do it.&lt;/p&gt;

&lt;p&gt;Although that way may not be obvious at first unless you’re Dutch.&lt;/p&gt;

&lt;p&gt;Now is better than never.&lt;/p&gt;

&lt;p&gt;Although never is often better than &lt;em&gt;right&lt;/em&gt; now.&lt;/p&gt;

&lt;p&gt;If the implementation is hard to explain, it’s a bad idea.&lt;/p&gt;

&lt;p&gt;If the implementation is easy to explain, it may be a good idea.&lt;/p&gt;

&lt;p&gt;Namespaces are one honking great idea — let’s do more of those!&lt;/p&gt;”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt; Tim Peters, &lt;em&gt;The Zen of Python&lt;/em&gt;&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/2723489007</link><guid>http://blog.nicholasschiefer.com/post/2723489007</guid><pubDate>Wed, 12 Jan 2011 22:14:49 -0500</pubDate></item><item><title>Tragedy rears its ugly highlighters</title><description>&lt;p&gt;&lt;em&gt;This entry was written for an English assignment, in response to the question: What is tragic?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If one imagines the high-performing student, pads of sticky notes, neatly formatted agendas, and highlighters in every imaginable colour come to mind. Traditionally, the perfect student has high grades, an organized planner, and “excellent study skills.” The student excels in every course, be it mathematics, English, physical education, or basket weaving. When questioned, the student cannot pick a favourite or least favourite subject; he or she is simply indifferent to the seemingly interchangeable subjects at school. The question puzzles the student; in his or her mind, studying for mathematics is no different than studying for history. Such students might also wonder how somebody can adore mathematics, live for tennis, or write essays for fun. While they might read outside of the classroom, their goal is neither enlightenment nor amusement; knowing the importance of a large vocabulary on standardized tests, they simply want to maximize their score. Such students exist, dutifully studying, memorizing, and organizing without purpose, drive, or motivation beyond the grade or reward that they will receive. Without a passion or driving force, such students are common and becoming increasingly so.&lt;/p&gt;
&lt;p&gt;Skills in the intricacies of English spelling, the fine art of handwriting, and the science of time management, while valued by educators for centuries, are of more dubious importance in modern life. As the world becomes increasingly automated, simple mechanical skills have fallen from their long-held podium in favour of creative, higher-order thinking skills. However, these students, the organizers, achievers, and perfectionists, are not stupid or misinformed. Instead, they are simply intelligent enough to realize that the greatest rewards and praise come not from thinking beyond current expectations and limitations but by arranging their lives to garner the most mechanical rewards. Most exams and tests do not reward the students with the greatest understanding or most creative thought. In their place, simple facts and their elementary “applications” are emphasized instead.&lt;/p&gt;
&lt;p&gt;As a result, our society&amp;#8217;s best and brightest young people are permanently lost in a world of dated notebooks, underlined subheadings, and punctuation. Our world&amp;#8217;s future engineers, scientists, writers, philosophers, great thinkers, innovators, and inventors become tomorrow&amp;#8217;s pencil pushers and bureaucrats. Looking back in history, those who changed the world were not those who optimized a single variable of their life, but instead those who could dream of a better future and tried crazy ideas; it was those who were fuelled by their passion and hoped that somehow, someday, through passion and hard work, their masterpiece would come to fruition. In the most ironic twist, the future suffering of an entire society is contrasted with the glee of a praised student; the lack of passion of the individual leads to the stagnation of the society as a whole. There is no greater tragedy than the loss of a young mind, brilliant and poised to change our world. In the end, as with the classical dramatic tragedy, the society falls and is reborn, ruled by a new leader reflective of the society&amp;#8217;s new virtues and values. Our future leader has sticky notes and is not afraid to use them.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/2301819358</link><guid>http://blog.nicholasschiefer.com/post/2301819358</guid><pubDate>Mon, 13 Dec 2010 11:53:00 -0500</pubDate><category>english</category><category>essay</category><category>education</category></item><item><title>Werewolf rainbows
As the title of the photograph suggests, this...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_lcxu38s0ju1qepucwo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;Werewolf rainbows&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As the title of the photograph suggests, this picture is of a full-moon and a circular “rainbow” circling the moon with concentric rings of light and colour. While the effect on a clear night is simply beautiful, the physics behind the photo are very simple.&lt;/p&gt;
&lt;p&gt;According to &lt;a href="http://en.wikipedia.org/wiki/Corona_(meteorology)"&gt;Wikipedia&lt;/a&gt;, the optical phenomenon which produced this “werewolf rainbow” is known by meteorologists as a corona. It is produced by the diffraction of light (in this case, from the Moon) by tiny ice crystals and water droplets in the clouds. Apparently, these only occur when there is a certain amount of water or ice in the atmosphere; if too much moisture is present, the corona will be obscured, while if too little is suspended, insufficient amounts of atmospheric diffraction will occur.&lt;/p&gt;
&lt;p&gt;In any case, the corona certainly brought one particular photographer/physicist some amusement, fascination, and frozen fingers on a cool November night.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/2103407835</link><guid>http://blog.nicholasschiefer.com/post/2103407835</guid><pubDate>Sat, 04 Dec 2010 23:35:31 -0500</pubDate><category>photography</category><category>nature</category><category>physics</category></item><item><title>"Then wear the gold hat, if that will move her;
If you can bounce high, bounce for her too,
Till she..."</title><description>“Then wear the gold hat, if that will move her;&lt;br/&gt;
If you can bounce high, bounce for her too,&lt;br/&gt;
Till she cry “Lover, gold-hatted, high-bouncing lover, I must have you!”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Thomas Parke D’Invilliers, as quoted in the epigraph of &lt;em&gt;The Great Gatsby&lt;/em&gt;&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/2082130035</link><guid>http://blog.nicholasschiefer.com/post/2082130035</guid><pubDate>Fri, 03 Dec 2010 09:01:06 -0500</pubDate><category>philosophy</category><category>literature</category></item><item><title>Bacteria that can substitute arsenic for phosphorus... enough said.</title><description>&lt;a href="http://www.sciencemag.org/content/early/2010/12/01/science.1197258"&gt;Bacteria that can substitute arsenic for phosphorus... enough said.&lt;/a&gt;: &lt;p&gt;In all seriousness, these bacteria, of the GFAJ-1 strain of Halomonadaceae, a genus of halophilic bacteria, show the incredibly frightening powers of evolution. Genetically stranded in Mono Lake, California, one of the largest concentrations of arsenic on the planet, these bacteria evolved to replace scarce quantities of phosphorus (which are limiting nutrients in such aquatic environments, due to the abundance of nitrogen) with abundant, chemically and physically similar, but famously toxic, arsenic.&lt;/p&gt;
&lt;p&gt;While able to chemically combine arsenic in place of phosphorus with other elements to to synthesize nucleic acids and proteins, GFAJ-1 is made more impressive by that fact that it is also able to use phosphorus, with normal biological efficiency, when quantities of arsenic are scarce. Through random mutation and natural selection, the first known life form to no only survive, but thrive in environments that would be &lt;em&gt;highly toxic&lt;/em&gt; to all other life, including humans, is a subtle, but haunting reminder that humans are not, by far, the most successful organism on the planet, at least as defined in purely biological terms.&lt;/p&gt;
&lt;p&gt;As a mere carbon-hydrogen-oxygen-nitrogen-sulfur-&lt;strong&gt;phosphorus&lt;/strong&gt; based life-form, I am biologically astonished and humbled by these impressively evolved bacteria. My genetic codes quake in envy.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/2076933712</link><guid>http://blog.nicholasschiefer.com/post/2076933712</guid><pubDate>Thu, 02 Dec 2010 20:58:25 -0500</pubDate><category>biology</category><category>discovery</category><category>epicness</category></item><item><title>An (archer) fish named Wanda</title><description>&lt;p&gt;Sometimes, nature really outstands me. It frightens me, too, but astounds me nonetheless. Human beings &lt;a href="http://en.wikipedia.org/wiki/Pathetic_fallacy"&gt;like&lt;/a&gt; to &lt;a href="http://en.wikipedia.org/wiki/Dualism_(philosophy_of_mind)"&gt;think&lt;/a&gt; that we’re &lt;a href="http://www.wyrdology.com/mind/index.html"&gt;really special&lt;/a&gt;; nature frightens and astounds me when it proves me otherwise.&lt;/p&gt;
&lt;p&gt;Perhaps the scariest of them all is the rather-unassuming archer fish (&lt;em&gt;Toxates blythii&lt;/em&gt;), a fish 5-10 centimetres in length that is native to the brackish waters of Australia and Polynesia.&lt;/p&gt;
&lt;p&gt;What could be so scary about archer fish?&lt;/p&gt;
&lt;p&gt;This:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Archer_fish"&gt;&lt;img alt="The (scary) archer fish" height="200" width="300" src="http://upload.wikimedia.org/wikipedia/commons/d/db/Toxotes_jaculatrix_1280.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In case you didn’t catch that, the archer fish hunts small hydrophilic insects by&lt;em&gt;shooting them down with a narrow stream of water&lt;/em&gt;. Archer fish pioneered the whole “supersoaker” idea millions of years before the first precocious child held one in his hands.&lt;/p&gt;
&lt;p&gt;As if that wasn’t enought, archer fish can do &lt;em&gt;math&lt;/em&gt;, too. No, you won’t be able to teach one to do your homework, but it might have a deeper understanding of some concepts than we do. Archer fish, given their visual acuity, have adapted to account for the refraction of light at the boundary between the water and the air, and for the downward force of gravity on the stream of water.&lt;/p&gt;
&lt;p&gt;These fish can solve quadratic and trigonometic equations; some high school graduates can’t even do that.&lt;/p&gt;
&lt;p&gt;These fish have &lt;em&gt;evolved&lt;/em&gt; to understand nature in a way that took humans, with our “special” minds thousands of years to understand. If there were ever stronger evidence that humans seriously overrate their own importance in the universe, this would be it.&lt;/p&gt;
&lt;p&gt;As depressing as it is, humans might not even be the dominant species on this planet. Consider this: there are more microorganisms, including bacteria, archaea, and protists, on your skin than there are &lt;em&gt;cells in your body&lt;/em&gt;. On a larger scale, it is estimated that there are almost ten times as many ants and termites on Earth than there are humanoids.&lt;/p&gt;
&lt;p&gt;Really and truly, we are just another sack of molecules with reproductive capacities. Just like the other few billion species alive today, because frankly, we are &lt;em&gt;seriously&lt;/em&gt; behind the archer fish in attaining world-wide dominance.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/2065489751</link><guid>http://blog.nicholasschiefer.com/post/2065489751</guid><pubDate>Wed, 01 Dec 2010 20:23:00 -0500</pubDate></item><item><title>Counting lamb-das in the night</title><description>&lt;p&gt;First, the elephant in the room, or rather, the mouse which has already scared away the elephant for good. This is my &amp;#171;censored to avoid personal embarrassment&amp;#187; attempt at blogging; it should go without saying that all previous attempts collapsed rather miserably.&lt;/p&gt;
&lt;p&gt;Given my lack of prior success, one might ask what motivates me this time; that is, what driving force shall compel me, against all circumstances, to blog? The answer to this benign question is less so, for this time I shall blog because I do not want to do so.&lt;/p&gt;
&lt;p&gt;You see, the word blog carries certain baggage. In our online, social-media experience community building multi-media lives (subsidized by advertising and loss of personal privacy), to &amp;#8220;blog&amp;#8221; is to write, but for the sake of creating utility; an outlet of personal thoughts directed towards an audience, much like a newspaper, whose sole purpose is to meet the needs of its readers. So no, this is not a blog. It is an &amp;#8220;un-blog&amp;#8221;, my golb, if you will.&lt;/p&gt;
&lt;p&gt;Given that lengthy introduction, and my refusal to write to meet the needs of an audience, I will counteract blog traditional immemorial and &lt;strong&gt;not&lt;/strong&gt; welcome you to my golb!&lt;/p&gt;
&lt;p&gt;If I write not to entertain, nor to inform, nor to please, generate income (haha&amp;#8230; I bet you saw that one coming), or improve my &amp;#8220;social presence&amp;#8221;, a curious reader may inquire about my true motivations. Clearly my motivations to golb are different than motivations to blog.&lt;/p&gt;
&lt;p&gt;Instead, I consider my golb to be an outlet of personal thoughts, a river of (relatively) processed thought, fed by a constantly gurgling stream of weirdness, mathematics, and jokes about typography.&lt;/p&gt;
&lt;p&gt;You see, this golb is a sort of mental release valve: a place to dump those thoughts that haunt the subconscious mind: those that wake me at night, hunt my conscious self in the twilight of morning, and befuddle any rational explanation. Yes, I have been woken in the night by strange, amalgamated ruminations, with stranger consequences. Yes, I did use two colons in the same sentence. Yes, I did notice this.&lt;/p&gt;
&lt;p&gt;To answer a few questions:&lt;/p&gt;
&lt;p&gt;Yes, I am a little strange. Yes, my writing is long (RTFT!). Yes, I will use, overuse, abuse, and outright sadistically torture the semi-colon, and the comma, in that order. Yes, this blog is written (mostly) by a real person. And yes. Whatever your question was, I am sure that, if I were to answer it, I would state an unfettered, unreserved yes.&lt;/p&gt;
&lt;p&gt;Except if the answer is no.&lt;/p&gt;
&lt;p&gt;Prepare to see my posts be edited at least once; I am an unforgivable perfectionist.&lt;/p&gt;

&lt;p&gt;I believe that the world&amp;#8217;s best ideas once seemed crazy. I believe that no good idea has ever gone without scorn or mockery.&lt;/p&gt;
&lt;p&gt;Nobody mocked me when I said that I would start a blog. But, I think that someone must have giggled a bit when I told them that I wanted to start a golb.&lt;/p&gt;
&lt;p&gt;This golb is a trail of thoughts, a record of ideas, and (most likely) a heap of (mental) functions, with only the loudest and noisiest floating to the top.&lt;/p&gt;
&lt;p&gt;To heapify, I will slowly count lambdas in the the night.&lt;/p&gt;</description><link>http://blog.nicholasschiefer.com/post/2065432806</link><guid>http://blog.nicholasschiefer.com/post/2065432806</guid><pubDate>Wed, 01 Dec 2010 20:18:49 -0500</pubDate></item><item><title>"Oh day and night, but this is wondrous strange and therefore as a stranger give it welcome."</title><description>““Oh day and night, but this is wondrous strange and therefore as a stranger give it welcome.””&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Edwin Abbott Abbott, &lt;em&gt;Flatland&lt;/em&gt;&lt;/em&gt;</description><link>http://blog.nicholasschiefer.com/post/1324816458</link><guid>http://blog.nicholasschiefer.com/post/1324816458</guid><pubDate>Fri, 15 Oct 2010 23:16:56 -0400</pubDate><category>flatland</category><category>philosophy</category></item></channel></rss>
