<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>gfrlog</title>
    <link>http://www.gfredericks.com/main/</link>
    <description>Eat it before it gets cold!</description>
    <item>
      <title>MessageSucker</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/53</link>
      <description>Today's error message of the day:

bq. 17:54:01,994 WARN  [JBossASSecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this.</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/53</guid>
    </item>
    <item>
      <title>Mathematic Attacks</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/52</link>
      <description>Say what you will about technology, but there's something wonderfully sweet about a world where the term &quot;mathematic attacks&quot; can be taken seriously.

p=. !img.png!</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/52</guid>
    </item>
    <item>
      <title>nil.val</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/51</link>
      <description>Ruby lets you do the strangest things.

&lt;pre&gt;
  &lt;code&gt;
  class NilClass
    def val
      @val||=0
      @val+=1
    end
  end
  
  Array.new(10).map{|x|x.val}   ## =&gt; [1,2,3,4,5,6,7,8,9,10]
  &lt;/code&gt;
&lt;/pre&gt;

$100 to anybody who can go to RubyConf and give a scheduled talk about hiding variables in nil under the pretense of security. $200 for talking for the entire designated time without getting thrown out.</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/51</guid>
    </item>
    <item>
      <title>Privacy Policy</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/50</link>
      <description>I was recently required to choose between a handful of retirement-plan vendors, so I've had some information booklets lying around. One day on a stroke of pure reckless abandon, I decided to read a couple of the privacy policies, just to  see what it said. Of the two I read, MetLife's struck me as most interesting.

For instance, one of the reasons they list for why they might have to share information is to &quot;help us prevent [...] terrorism [...] by verifying what we know about you.&quot; Not to mention the all-inclusive reason: &quot;Help us run our business&quot;.

Then there's &quot;How We Get Information&quot;. I may as well quote verbatim here:

bq. What we know about you we get mostly from you. But we may also have to find out more from other sources to make sure that what we know is correct and complete. Those sources may include _adult relatives_, employers, consumer reporting agencies and others. Some sources may give us reports and may disclose what they know to others.

(emphasis mine)

As a software engineer, I'm particularly struck by the specificity of their method for protecting computer data: &quot;We also take steps to make our computer data bases secure and to safeguard the information we have.&quot; Good. I'm glad they've taken steps. The other privacy policy I read listed five specific techniques they use to protect computer data.

I didn't choose MetLife.

This makes me want to start a Privacy-Wiki where people can read privacy policies and EULAs and create summaries for mass consumption. That'd make it harder for companies to hide things.</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/50</guid>
    </item>
    <item>
      <title>Very Prime Primes</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/49</link>
      <description>&lt;p&gt;
I just finished the &lt;a href=&quot;http://www.amazon.com/Math-Book-Pythagoras-Milestones-Mathematics/dp/1402757964/ref=sr_1_1&quot;&gt;Math Book&lt;/a&gt;, 
  which means I've done a lot of reading about various mathematical discoveries, which means
  I'm feeling terribly jealous that I couldn't have discovered any of them myself (since of
      course half of them look obvious in hindsight).
&lt;/p&gt;
&lt;p&gt;
So to help myself cope I'm going to &lt;em&gt;pretend&lt;/em&gt; I discovered something interesting. Here's how
it goes:
&lt;blockquote&gt;
&lt;p&gt;
Define a sequence of numbers called P&lt;sub&gt;1&lt;/sub&gt;, which are simply the prime numbers (so 
    P&lt;sub&gt;1&lt;/sub&gt;(1) = 2, P&lt;sub&gt;1&lt;/sub&gt;(2) = 3, P&lt;sub&gt;1&lt;/sub&gt;(3) = 5, etc.). Then define a second
sequence P&lt;sub&gt;2&lt;/sub&gt; which simply indexes P&lt;sub&gt;1&lt;/sub&gt; into itself, so 
&lt;ul&gt;
  &lt;li&gt;
    P&lt;sub&gt;2&lt;/sub&gt;(1) = P&lt;sub&gt;1&lt;/sub&gt;(P&lt;sub&gt;1&lt;/sub&gt;(1)) = 3
  &lt;/li&gt;
  &lt;li&gt;
    P&lt;sub&gt;2&lt;/sub&gt;(2) = P&lt;sub&gt;1&lt;/sub&gt;(P&lt;sub&gt;1&lt;/sub&gt;(2)) = 5
  &lt;/li&gt;
  &lt;li&gt;
    P&lt;sub&gt;2&lt;/sub&gt;(3) = P&lt;sub&gt;1&lt;/sub&gt;(P&lt;sub&gt;1&lt;/sub&gt;(3)) = 11
  &lt;/li&gt;
&lt;/ul&gt;
These are the prime-primes - the primes whose indices are also prime (i.e., the 2nd prime, the 3rd prime,
    the 5th prime, the 7th prime, the 11th prime, etc.).
Of course the next step is to do this again. And again. Which gives us the following infinite sequence
of infinite sequences:
&lt;/p&gt;
&lt;style&gt;
table td.odd2{
  background-color: #EAA;
}
table td.odd1{
  background-color: #AAE;
}
table td.odd0{
  background-color: #AEA;
}
&lt;/style&gt;
&lt;table id=&quot;seqtable&quot; border=&quot;1&quot;&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;1&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;7&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;11&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;13&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;17&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;19&lt;/td&gt;
  &lt;td rowspan=&quot;8&quot;&gt;...&lt;/td&gt; 
  &lt;/tr&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;2&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;11&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;17&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;31&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;41&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;59&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;67&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;3&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;11&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;31&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;59&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;127&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;179&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;277&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;331&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;4&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;11&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;31&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;127&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;277&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;709&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;1063&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;1787&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;2221&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;5&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;31&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;127&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;709&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;1787&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;5381&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;8527&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;15299&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;19577&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;6&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;127&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;709&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;5381&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;15299&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;52711&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;87803&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;167449&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;219613&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;7&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;709&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;5381&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;52711&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;167449&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;648391&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;1128889&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;2269733&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;3042161&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td style=&quot;font-weight:bold;&quot;&gt;P&lt;sub&gt;8&lt;/sub&gt;&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;5381&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;52711&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;648391&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;2269733&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;9737333&lt;/td&gt;&lt;td class=&quot;odd2&quot;&gt;17624813&lt;/td&gt;&lt;td class=&quot;odd0&quot;&gt;37139213&lt;/td&gt;&lt;td class=&quot;odd1&quot;&gt;50728129&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td colspan=&quot;9&quot;&gt;...&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;
Finally we define a new sequence by taking the sum of the top-right to bottom-left diagonals (which I striped colorfully for your convenience):
&lt;blockquote&gt;
2, 6, 15, 40, 121, 484, 2589, 18896, 180243, 2176090, 32236017, 571516348
&lt;/blockquote&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
This sequence isn't in the &lt;a href=&quot;http://www.research.att.com/~njas/sequences/?q=2,6,15,40,121,484,2589&quot;&gt;Encyclopedia of Integer Sequences&lt;/a&gt;, so
that &lt;em&gt;must&lt;/em&gt; mean that I've discovered something interesting. Couldn't possibly mean anything else. I'm sure it's just been overlooked up till now.
&lt;/p&gt;
&lt;p&gt;
Anyways, if you factor the numbers, it looks like it &lt;em&gt;might&lt;/em&gt; be &lt;em&gt;mildly&lt;/em&gt; interesting:
&lt;ul&gt;
  &lt;li&gt;2 = 2&lt;/li&gt;
  &lt;li&gt;6 = 2&amp;#183;3&lt;/li&gt;
  &lt;li&gt;15 = 3&amp;#183;5&lt;/li&gt;
  &lt;li&gt;40 = 2&amp;#183;2&amp;#183;2&amp;#183;5&lt;/li&gt;
  &lt;li&gt;121 = 11&amp;#183;11&lt;/li&gt;
  &lt;li&gt;484 = 2&amp;#183;2&amp;#183;11&amp;#183;11&lt;/li&gt;
  &lt;li&gt;2589 = 3&amp;#183;863&lt;/li&gt;
  &lt;li&gt;18896 = 2&amp;#183;2&amp;#183;2&amp;#183;2&amp;#183;1181&lt;/li&gt;
  &lt;li&gt;180243 = 3&amp;#183;3&amp;#183;7&amp;#183;2861&lt;/li&gt;
  &lt;li&gt;2176090 = 2&amp;#183;5&amp;#183;7&amp;#183;7&amp;#183;4441&lt;/li&gt;
  &lt;li&gt;32236017 = 3&amp;#183;11&amp;#183;976849&lt;/li&gt;
  &lt;li&gt;571516348 = 2&amp;#183;2&amp;#183;13&amp;#183;89&amp;#183;123491&lt;/li&gt;
&lt;/ul&gt;
Oh who am I kidding? There's nothing interesting here.
&lt;/p&gt;
&lt;p&gt;
Stupid math.
&lt;/p&gt;</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/49</guid>
    </item>
    <item>
      <title>Self-Describing</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/48</link>
      <description>Inspired by a recent xkcd, I've constructed a self-describing blog post. This post has seven hundred and seventy-two characters, six hundred and three of which are letters. Three hundred and ninety-one of those are consonants, and the other two hundred and twelve are vowels. There are thirty-three 'd's, forty-four 'h's, thirty-one 'i's, and fifty-four 'n's. The fifth sentence has thirteen fewer vowels than the third sentence. The seventy-first word is &quot;frenzy&quot;, and the five hundred and sixteenth character is '%'. The next sentence has eighty-six letters. The previous sentence has thirty-four letters, and the first comment has one hundred and twenty letters. The letters 'j' and 'q' only appear once in the entire post. The first and last words are both &quot;inspired&quot;.</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/48</guid>
    </item>
    <item>
      <title>Venn Diagram for Real Numbers</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/47</link>
      <description>By popular demand, I'm posting a Venn Diagram illustrating the relationship between
the commonly-named subsets of real numbers:
 
p=. !nums.png!

The two rectangles are merely labels for the similarly shaded parts of the ovals. 
So the two green sections are the irrational numbers,
and the gridded section is the transcendental numbers. Irrational could be
defined as &quot;not rational&quot; and transcendental could be defined as &quot;not algebraic&quot;.
If anybody knows of a clearer way to venn-diagram these sets, I'd be interested
to see it.

Note that as far as infinite cardinalities go, the six terms fall into two different
sizes: Integers, Rationals and Algebraic numbers are the same size, and are each
smaller than the Irrationals, Transcendentals, and Reals, which are the same
size as each other.

Remind me to write a post about how there are as many points on an inch-long line
segment as there are in the entire universe.</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/47</guid>
    </item>
    <item>
      <title>Tetris Tile Trees</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/46</link>
      <description>&lt;p&gt;
Right when I was about to start working on a major improvement to the Mandelbrot program,
I was struck with an itch to write a JavaScript applet that takes an arbitrarily shaped
grid and tries to tile it with tetris pieces, using standard techniques for traversing
search trees. So &lt;%=link_to &quot;here&quot;, :controller=&gt;&quot;sandbox&quot;, :action=&gt;&quot;tetris&quot; %&gt; it is.
&lt;/p&gt;
&lt;p&gt;
I think it turned out pretty well for the amount of time I put into it. 
There's at least one more significant optimization I
hope to make, which takes advantage of the fact that connected components are
independent. 
&lt;/p&gt;
&lt;p&gt;
So that's all.
&lt;/p&gt;</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/46</guid>
    </item>
    <item>
      <title>Big Numbers</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/45</link>
      <description>&lt;p&gt;
I enjoy anything that can give meaning to really large numbers. For example,
the fractal program I recently started has generated the following image:
&lt;/p&gt;
&lt;div style=&quot;text-align:center;&quot;&gt;
  &lt;%p = image_path(&quot;gfrlog/45/img.png&quot;)%&gt;
  &lt;a href=&quot;&lt;%=p%&gt;&quot;&gt;
    &lt;img src=&quot;&lt;%=p%&gt;&quot; style=&quot;width:400px;height:300px;&quot;&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;
If we take this image to be roughly six inches across (an idea easier to accept
if you click and view the enlarged version), and try to describe the size of the
entire fractal at that scale, it turns out to be so large that if you start with
some object whose length is the diameter of the observable universe, it would take
ten million of these objects for every possible chess position (the Wikipedia
&lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Shannon_number&amp;oldid=329552107&quot;&gt;puts&lt;/a&gt;
the number of chess positions at approximately 10&lt;sup&gt;50&lt;/sup&gt;) laid end to
end to span it.
&lt;/p&gt;
&lt;p&gt;
And I only just started a couple weeks ago.
&lt;/p&gt;</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/45</guid>
    </item>
    <item>
      <title>Don't Read This, It's Not Worth Your Time</title>
      <link>http://www.gfredericks.com/main/gfrlog/post/44</link>
      <description>irb(main):001:0&gt; &quot;this is fun&quot;.gsub(&quot;&quot;,&quot;yep&quot;).gsub(&quot;&quot;,&quot;it is&quot;)
=&gt; &quot;it isyit iseit ispit istit isyit iseit ispit ishit isyit iseit ispit isiit isyit iseit ispit issit isyit iseit ispit is it isyit iseit ispit isiit isyit iseit ispit issit isyit iseit ispit is it isyit iseit ispit isfit isyit iseit ispit isuit isyit iseit ispit isnit isyit iseit ispit is&quot;</description>
      <guid>http://www.gfredericks.com/main/gfrlog/post/44</guid>
    </item>
  </channel>
</rss>
