<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>PresidentBeef.com</title>
    <link>http://presidentbeef.com/blog/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>PresidentBeef.com</description>
    <item>
      <title>Carrot Carnage</title>
      <description>&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9101640&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9101640&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;Yum.&lt;/p&gt;</description>
      <pubDate>Sun, 31 Jan 2010 04:43:00 CST</pubDate>
      <guid>http://presidentbeef.com/blog/2010/01/31/#197</guid>
      <link>http://presidentbeef.com/blog/2010/01/31/#197</link>
      <category>turtles</category>
    </item>
    <item>
      <title>Retrospective 2009</title>
      <description>Since it is almost the last day of the year, I suppose it is time to take a look back and see what has happened.

My research has progressed, but not very quickly. I missed several conference deadlines, and I&amp;#8217;m still trying to get a paper done. However, I&amp;#8217;m quite close!

My advisor retired in February. Not much changed until recently, when he announced he was not sure about funding those of us left in the lab next year. This spurred some panic, but we have time to figure it out. I&amp;#8217;m thinking of taking an adjunct teaching position somewhere.

Inspired by &lt;a href="http://en.wikipedia.org/wiki/Why_the_lucky_stiff"&gt;_why&amp;#8217;s&lt;/a&gt; &lt;a href="http://github.com/whymirror/potion"&gt;potion&lt;/a&gt; language, I started working on my own little programming language called &lt;a href="http://brat-lang.org/"&gt;Brat&lt;/a&gt;. It&amp;#8217;s been my best project, keeping me busy pretty much all year. I&amp;#8217;m always running into or thinking of new things to do with it. Writing your own language forces you to learn a lot of things. Not just about parsers and compilers, but nearly everything, since any libraries will have to be written (or at least wrapped up) by yourself.

My parents came and visited around my birthday. That was pretty fun, although I now have a better list of things to do if they come visit again.

I was considerably absent last school year. Accordingly, this fall I made a resolution to be more involved, especially with the &lt;a href="http://csgsc.cs.ucla.edu/"&gt;&lt;span class="caps"&gt;CSGSC&lt;/span&gt;&lt;/a&gt;. So far, I&amp;#8217;ve been successful with this.

I also had an interesting programming experience wrapping up &lt;a href="http://github.com/presidentbeef/ffi-gdbm"&gt;gdbm&lt;/a&gt; using &lt;span class="caps"&gt;FFI&lt;/span&gt;, making it usable from &lt;a href="http://jruby.org/"&gt;JRuby&lt;/a&gt; and other Ruby VMs. It was my first time using &lt;span class="caps"&gt;FFI&lt;/span&gt;, writing a library for JRuby, and packaging up something to be used as a &lt;a href="http://gemcutter.org/gems/gdbm"&gt;gem&lt;/a&gt;. Quite a learning experience, but one I really enjoyed. Hopefully, it will eventually get included in JRuby itself.

I started a couple little websites: the &lt;a href="http://fll.presidentbeef.com/"&gt;Fledgling Languages List&lt;/a&gt; and a &lt;a href="http://www.nekotutorial.org/"&gt;Neko Tutorial&lt;/a&gt;. 

I picked up a T-Mobile &lt;a href="http://www.t-mobilemytouch.com/"&gt;myTouch&lt;/a&gt;, thinking I would get into Android programming. Hasn&amp;#8217;t happened yet, but I&amp;#8217;m still hoping to get going on it. I understand it&amp;#8217;s pretty straightforward once you get the dev environment all set up, I just haven&amp;#8217;t gotten past that part yet.

I lived through Michael Jackson&amp;#8217;s death and Los Angeles&amp;#8217; frenzy over it. He was taken to the &lt;span class="caps"&gt;UCLA&lt;/span&gt; hospital, so I got to &lt;a href="http://twitpic.com/8fa8k"&gt;see some of it first hand.&lt;/a&gt;

The summer roadtrip I had hoped to take didn&amp;#8217;t work out, although my girlfriend and I did get to go to Ohio for a little family reunion. We just flew instead of driving.

I was able to see &lt;a href="http://www.myspace.com/zao"&gt;Zao&lt;/a&gt; &lt;a href="http://www.facebook.com/album.php?aid=2071483&amp;#38;l=2ef9a8103e&amp;#38;id=32401898"&gt;play a concert&lt;/a&gt; in a tiny little place in the middle of nowhere.

Despite having completed the &lt;span class="caps"&gt;WQE&lt;/span&gt; two years ago, I just now filled out the paperwork to get my Masters&amp;#8217;s. Now it only takes 3-4 months to get my diploma.

Now I just have to get in gear for the new year!</description>
      <pubDate>Wed, 30 Dec 2009 12:38:00 CST</pubDate>
      <guid>http://presidentbeef.com/blog/2009/12/30/#196</guid>
      <link>http://presidentbeef.com/blog/2009/12/30/#196</link>
      <category>personal</category>
      <category>retrospective</category>
    </item>
    <item>
      <title>Suspicous of Gemcutter stats</title>
      <description>Recently, the main &lt;a href="http://docs.rubygems.org/"&gt;Ruby Gems&lt;/a&gt; hosting has moved from RubyForge to &lt;a href="http://gemcutter.org/"&gt;Gemcutter&lt;/a&gt;. This is pretty cool, and I was excited to publish my first gem there (the JRuby &lt;a href="http://gemcutter.org/gems/gdbm"&gt;gdbm&lt;/a&gt; library I&amp;#8217;ve mentioned before).

I get excited imagining that people actual use my stuff, so I&amp;#8217;ve been tracking the downloads reported by Gemcutter. I seem to recall there being a problem a little while ago with numbers being off, but I thought that had been solved. In any case, I was surprised by the number of downloads (up to 137 now). It&amp;#8217;s not very high for most things, I guess, but for a library for a specific dbm for a specific Ruby implementation, it seems suspicious.

My current theory is that people are installing it on accident, perhaps thinking that they need it to use gdbm in the main Ruby implementation (or perhaps others?). Fortunately, I&amp;#8217;ve checked it out, and it appears that even if you install it this way, it will not interfere with the gdbm library in Ruby&amp;#8217;s standard library. This is likely because the gem paths are later in the search path. Of course, if Ruby&amp;#8217;s standard gdbm is not working for you, then my gem probably won&amp;#8217;t either, &lt;em&gt;unless&lt;/em&gt; you are using it with JRuby, as intended.

In retrospect, perhaps I should have named the gem a little bit better, to avoid confusion&amp;#8230;</description>
      <pubDate>Tue, 24 Nov 2009 19:27:00 CST</pubDate>
      <guid>http://presidentbeef.com/blog/2009/11/24/#195</guid>
      <link>http://presidentbeef.com/blog/2009/11/24/#195</link>
      <category>ruby</category>
      <category>programming</category>
      <category>gemcutter</category>
    </item>
    <item>
      <title>Ruby links</title>
      <description>Here&amp;#8217;s some links to interesting Ruby information. I intend to update it periodically.

&lt;a href="http://ruby-doc.org/"&gt;Ruby Doc&lt;/a&gt; &amp;#8211; Best site for looking up the core Ruby &lt;span class="caps"&gt;API&lt;/span&gt; and the standard libraries.

&lt;a href="http://allgems.ruby-forum.com/gems"&gt;AllGems&lt;/a&gt; &amp;#8211; Documentation for most Ruby gems.

&lt;a href="http://www.ruby-forum.com/"&gt;Ruby Forum&lt;/a&gt; &amp;#8211; Mirrors of the main Ruby mailing lists. Some are read-only.

&lt;a href="http://gemcutter.org/"&gt;Gemcutter&lt;/a&gt; &amp;#8211; The new gem hosting site.

&lt;a href="http://rubyforge.org/"&gt;RubyForge&lt;/a&gt; &amp;#8211; The old Ruby project hosting site. It is slowly being phased out.

&lt;a href="http://tryruby.sophrinix.com/"&gt;Try Ruby&lt;/a&gt; &amp;#8211; The new Try Ruby page, where you can go through an interactive tutorial directly in your browser.

&lt;a href="http://www.rubyinside.com/"&gt;Ruby Inside&lt;/a&gt; &amp;#8211; Popular Ruby blog, with frequent articles.

&lt;a href="http://rubyflow.com/"&gt;Ruby Flow&lt;/a&gt; &amp;#8211; Community-submitted Ruby links.

&lt;a href="http://rubytrends.com/"&gt;Ruby Trends&lt;/a&gt; &amp;#8211; View and vote for trends in Ruby software, books, and more.

&lt;a href="http://www.rubypulse.com/"&gt;Ruby Pulse&lt;/a&gt; &amp;#8211; Screencasts of Ruby software and libraries.

&lt;a href="http://www.reddit.com/r/ruby/"&gt;Ruby Subreddit&lt;/a&gt; &amp;#8211; Reddit site for Ruby. Not incredibly active.

&lt;a href="http://stackoverflow.com/questions/tagged/ruby"&gt;Ruby Stack Overflow&lt;/a&gt; &amp;#8211; Ruby questions on Stack Overlow.

&lt;a href="http://confreaks.com/events"&gt;Confreaks&lt;/a&gt; &amp;#8211; Not strictly Ruby, but videos from many Ruby events are available for streaming.</description>
      <pubDate>Fri, 13 Nov 2009 14:49:00 CST</pubDate>
      <guid>http://presidentbeef.com/blog/2009/11/13/#194</guid>
      <link>http://presidentbeef.com/blog/2009/11/13/#194</link>
      <category>ruby</category>
      <category>programming</category>
    </item>
    <item>
      <title>Much nicer closure arguments in...</title>
      <description>I am just so excited right now. I was watching &lt;a href="http://pragdave.pragprog.com/"&gt;Dave Thomas&amp;#8217;&lt;/a&gt; (not the Wendy&amp;#8217;s guy) &lt;a href="http://rubyconf2008.confreaks.com/keynote.html"&gt;keynote talk&lt;/a&gt; from RubyConf 2008, in which he proposes several &amp;#8220;forks&amp;#8221; of Ruby. At about 40 minutes in, he discusses having a fork of Ruby that has real closures instead of blocks. I thought to myself, &amp;#8220;Self, that sounds a lot like &lt;a href="http://brat-lang.org"&gt;Brat&lt;/a&gt;.&amp;#8221; Five seconds later, he mentioned the problem with passing in multiple closure literals to a function: the comma is ugly.

&lt;code&gt;&lt;pre class="prettyprint"&gt;
some_method { do_stuff }, { 1 + 2 }
&lt;/code&gt;&lt;/pre&gt;

I agree! I think this is an ugly issue in Brat right now.

But then he proposed an awesome solution: if two closures are next to each other in the argument list, you don&amp;#8217;t need a comma! Now you can do this:

&lt;code&gt;&lt;pre class="prettyprint"&gt;
some_method { do_stuff } { 1 + 2 }
&lt;/code&gt;&lt;/pre&gt;

This took approximately 2 minutes to implement for Brat.

Now instead of

&lt;code&gt;&lt;pre class="prettyprint"&gt;
while { x &amp;lt; 1 },
    { 
        p x
        x = x + 1 
    }
&lt;/code&gt;&lt;/pre&gt;

You can do

&lt;code&gt;&lt;pre class="prettyprint"&gt;
while { x &amp;lt; 1 } { 
        p x
        x = x + 1 
    }
&lt;/code&gt;&lt;/pre&gt;

I think this is &lt;em&gt;awesome&lt;/em&gt; and makes Brat a lot more attractive.

In fact, I went totally crazy so now you can do

&lt;code&gt;&lt;pre class="prettyprint"&gt;
x = 101
true? x &amp;gt; 100
      { p "&amp;gt; 100!" }
      { p "&amp;lt;= 100!" }
&lt;/code&gt;&lt;/pre&gt;

Just be careful when using bare variables:

&lt;code&gt;&lt;pre class="prettyprint"&gt;
true? a { p "truth!" } { p "lies!" }
&lt;/code&gt;&lt;/pre&gt;

This is parsed into:

&lt;code&gt;&lt;pre class="prettyprint"&gt;
true?(a({ p "truth!" }, { p "lies!" }))
&lt;/code&gt;&lt;/pre&gt;

This is so cool&amp;#8230;now to update all of Brat&amp;#8217;s docs with this syntax. :)</description>
      <pubDate>Fri, 23 Oct 2009 13:51:00 CDT</pubDate>
      <guid>http://presidentbeef.com/blog/2009/10/23/#193</guid>
      <link>http://presidentbeef.com/blog/2009/10/23/#193</link>
      <category>programming</category>
      <category>brat</category>
      <category>language</category>
    </item>
    <item>
      <title>Initial Reactions to T-Mobile m...</title>
      <description>After nearly three years of using the &lt;a href="http://www.t-mobile.com/shop/phones/detail.aspx?device=f164419f-eee9-4cf6-a1bd-070dbe4b5023"&gt;T-Mobile Dash,&lt;/a&gt; I was finally seduced into getting a new phone. Let me say upfront that I am no Microsoft/Windows fan, but once I got a good &lt;span class="caps"&gt;ROM&lt;/span&gt; with the latest Windows Mobile, the phone was really good. There was really nothing wrong with my Dash, the only real issue was me getting a little bit tired of &lt;span class="caps"&gt;EDGE&lt;/span&gt; speeds. But Android sounded pretty appealing, as did the potential of writing my own apps (and possibly making a little bit of money from them (also, &lt;a href="http://blog.headius.com/2009/08/return-of-ruboto.html"&gt;this&lt;/a&gt; ).

&lt;strong&gt;Packaging&lt;/strong&gt;

I have no idea why, but they shipped the myTouch in a really nice hard case (never to be used again) with everything packed neatly in foam. Pretty fancy. It came with a two-piece charger (wall plugin + &lt;span class="caps"&gt;USB&lt;/span&gt; cable), earphones, earphone adapter (more on that later), a nice little bag for the phone, a screen protector, and a 4GB microSD card (installed).

Unfortunately, it was quite light on instructions, and I had to go online to figure out how to open the battery cover. (I wasn&amp;#8217;t going to start randomly pushing and pulling things on a brand-new phone.) The battery was charged, as usual.

&lt;strong&gt;Updating Services&lt;/strong&gt;

For some reason, I was expecting the T-Mobile website to detect my new phone. I thought it did that before. With it still thinking I had the Dash, the site (wisely?) did not offer the myTouch data plans. Once I manually set my phone, it came up and I signed up for the $25/month plan.

&lt;strong&gt;Using the Phone&lt;/strong&gt;

The onscreen keyboard takes some getting used to. However, after several hours of messing with the phone, I realized it expects you to use your thumbs, not fingertips. I would rather use my finger, personally, but it responds much better to &amp;#8220;fatter&amp;#8221; touches. Scrolling also takes some practice. For one thing, I&amp;#8217;m used to down being &lt;em&gt;down&lt;/em&gt; and up being &lt;em&gt;up&lt;/em&gt;, although I understand the abstraction of &amp;#8220;throwing&amp;#8221; the screen. It&amp;#8217;s also a little tricky to scroll instead of clicking on things. I assume in time I&amp;#8217;ll get the hang of it, though. Oh, and sweaty fingers don&amp;#8217;t work at all.

One other thing about the fingers: I was holding the phone landscape-style between the forefinger and thumb on my right hand, and touching the screen with my right pointer finger (probably behavior from playing the DS.) The problem with that is the volume key then directly underneath my thumb. Switching to thumbs-mode (like playing a &lt;span class="caps"&gt;NES&lt;/span&gt;, I guess) &amp;#8220;fixes&amp;#8221; this.

Another thing I kept confusing was the &amp;#8220;disconnect&amp;#8221; (red phone) key locking the phone. I am used to that being the &amp;#8220;close application&amp;#8221; or &amp;#8220;cancel&amp;#8221; button. But I got over that pretty quickly.

Besides basic dialing/browsing, the initial setup on the phone makes it kind of difficult to find anything. Settings are buried quite deep and I&amp;#8217;m not sure they are organized as best as they could be.

Strangely, I often feel lost when using applications on the phone. Most apps don&amp;#8217;t have &amp;#8220;Okay&amp;#8221; or any kind of confirmation buttons, you just use the &amp;#8221;&amp;lt;-&amp;#8221; key. It&amp;#8217;s hard to tell where you are or what you are expected to do.

&lt;strong&gt;Features&lt;/strong&gt;

I started missing some things immediately. First, being able to quickly call a contact. On the Dash, I had it down to two keypresses. Second, I&amp;#8217;m used to being able to see unread email counts right upfront, even when the phone is locked.

For the first issue, I found that &amp;#8220;AnyCut&amp;#8221; (free from the Market) will allow you to put a single-press shortcut on the home screen to call a contact. Problem solved.

For the email issue, I did not really find a solution. If you are an expert at writing email clients, here&amp;#8217;s your opportunity. Search for &amp;#8220;android email client&amp;#8221; and you will see huge numbers of complaints. I&amp;#8217;m using &amp;#8220;K-9 Mail&amp;#8221; now, which is a fork of the default client, but it&amp;#8217;s still not as convenient or snappy as the Windows Mobile client (which was nothing special). K-9 still uses the &amp;#8220;notifications&amp;#8221; mechanism to tell you about unread emails, which is workable, but I would really prefer some kind of widget deal.

To combat the buried settings, I installed an app called &amp;#8220;Toggle Settings&amp;#8221; and dropped it on the home screen. Works for me. That&amp;#8217;s how I found out the &lt;span class="caps"&gt;GPS&lt;/span&gt; was turned off.

&lt;strong&gt;Applications&lt;/strong&gt;

Anyhow, now for the stuff that worked. The &amp;#8220;voice search&amp;#8221; is pretty cool and works well, although I don&amp;#8217;t see myself using it. Google Maps is as good as you would expect, and that thing they showed in the G1 commercials with the street view actually works, too. Google SkyView is awesome. Of course, I had to get it during one of the rare cloudy days here, so I couldn&amp;#8217;t try it outside.

The Android Market is decent. I hear it&amp;#8217;s better in 1.6, but my phone hasn&amp;#8217;t updated yet. Going through popular apps is alright, and I like the way you can immediately see ratings and comments from people. If you are just browsing, you can sort by category and then popularity or date. Unfortunately, though, if you just do a search you cannot sort the results at all (unless I missed something).

&amp;#8220;Locale&amp;#8221; is an application I&amp;#8217;ve wanted forever. You can make all kinds of phone settings change according to your calendar, dates/times, location, or who is calling. You can set up all kinds of different things, and it&amp;#8217;s really useful. No more embarrassing phone sounds in the middle of silent rooms!

The YouTube app works. Since I mostly use YouTube to lookup/listen to specific songs, I can see this being useful. I assume the video quality is a function of both the device and the uploaded video, so I am reserving my opinion of that until I fiddle with it more.

I also installed &amp;#8220;Power Widget,&amp;#8221; which simply displays the percentage of your battery left. The battery icon at the top of the screen is definitely misleading (right now shows full for 86%).

The calendar it came with is decent. My only complaint is that, again, the Dash would show upcoming appointments on the home screen, which was pretty nice. Perhaps there is an app somewhere for that, I haven&amp;#8217;t looked yet.

I tried using one of the &amp;#8220;home replacement&amp;#8221; apps, but I could tell it slowed everything down, so I got rid of it pretty quickly. Like one blog I read, I think using the native one is going to provide the best performance/power usage for now.

&lt;strong&gt;Leftovers&lt;/strong&gt;

I promised to get back to the earphone adapter, and then I forgot. Basically, it&amp;#8217;s really short (like 3 inches), putting the microphone close to the phone and far from your mouth. I tried out the earphone/microphone deal from the Dash and it worked just fine. On the other hand, the adapter lets you use whatever headphones you want.

Anyhow, that&amp;#8217;s most of what I&amp;#8217;ve explored so far on the phone. I&amp;#8217;ve come to the conclusion that I would probably not pay $199 for the phone, because somehow that sounds like a lot more than $149. But at $149, it&amp;#8217;s pretty slick, and I imagine it will continue to improve as the Market expands and Android becomes better.</description>
      <pubDate>Tue, 13 Oct 2009 12:05:00 CDT</pubDate>
      <guid>http://presidentbeef.com/blog/2009/10/13/#192</guid>
      <link>http://presidentbeef.com/blog/2009/10/13/#192</link>
      <category>personal</category>
      <category>phone</category>
      <category>tmobile</category>
      <category>mytouch</category>
    </item>
    <item>
      <title>gdbm for JRuby</title>
      <description>h2. Motivation

(Warning: boring story ahead. Skip to next section if you want.)

Quite a while ago, I thought it would be kind of nice if my &lt;a href="http://www.kingdomsofahln.com/"&gt;Ruby &lt;span class="caps"&gt;MUD&lt;/span&gt; server&lt;/a&gt; would run on JRuby, since JRuby might be better at dealing with long-running server processes. Unfortunately, at the time, &lt;a href="http://rubyeventmachine.com/"&gt;EventMachine&lt;/a&gt; did not have a Java version, so I decided to wait for that to work.

A while later, there was some kind of Java release for EventMachine. I tried it out, but then ran into another problem: gdbm is provided as a C extension for the standard Ruby distribution. So, I gave up again.

Then, along came &lt;a href="http://blog.headius.com/2008/10/ffi-for-ruby-now-available.html"&gt;Ruby &lt;span class="caps"&gt;FFI&lt;/span&gt;&lt;/a&gt; and I thought, &amp;#8220;Hm&amp;#8230;wonder if I could use that&amp;#8230;&amp;#8221; and then I gave up because I am not very good at C, even just trying to read it.

&lt;span class="caps"&gt;THEN&lt;/span&gt;, I saw this &lt;a href="http://www.engineyard.com/blog/2009/5-things-to-look-for-in-jruby-1-4/"&gt;blog post&lt;/a&gt; about the next version of JRuby (1.4) and decided maybe I &lt;em&gt;should&lt;/em&gt; do something about it, after all. So I did.

h2. ffi-gdbm

The result is a gdbm library which should be fully compatible with the standard C extension distributed with Ruby, including reading and writing gdbm files which can be read/written by either implementation.

h3. Requirements

Although I had hoped to make this library compatible with any Ruby &lt;span class="caps"&gt;FFI&lt;/span&gt; implementation, unfortunately it only works with JRuby, and it needs at least version 1.4. Perhaps this will change as the other Ruby &lt;span class="caps"&gt;FFI&lt;/span&gt; implementations get fancier.

h3. Installation

You can checkout ffi-gdbm on &lt;a href="http://github.com/presidentbeef/ffi-gdbm"&gt;GitHub.&lt;/a&gt; All you actually need is the &lt;code&gt;gdbm.rb&lt;/code&gt; file.

Alternatively, you can install it as a gem:

&lt;code&gt;jgem install gdbm --source http://gemcutter.org&lt;/code&gt;

Make sure you &lt;code&gt;require "rubygems"&lt;/code&gt; if you do use the gem version.

h3. Usage

You can use this library just as you would the standard library that comes with Ruby. &lt;a href="http://ruby-doc.org/stdlib/libdoc/gdbm/rdoc/classes/GDBM.html"&gt;See here&lt;/a&gt; for documentation.

h2. Aftermath

Unfortunately, the Java version of EventMachine is still incomplete, so it&amp;#8217;s a bit of letdown, although &lt;a href="http://kingdomsofahln.com"&gt;kams&lt;/a&gt; does work at least nominally using it. Hopefully, EventMachine will one day be completely stable under JRuby.</description>
      <pubDate>Thu,  8 Oct 2009 21:26:00 CDT</pubDate>
      <guid>http://presidentbeef.com/blog/2009/10/08/#191</guid>
      <link>http://presidentbeef.com/blog/2009/10/08/#191</link>
      <category>programming</category>
      <category>jruby</category>
      <category>gdbm</category>
    </item>
    <item>
      <title>What I have enjoyed lately</title>
      <description>Lately, there has been a particular activity which I consistently look forward to with excitement. That is writing libraries for my own &lt;a href="http://www.brat-lang.org/"&gt;programming language.&lt;/a&gt; Even if it is just wrapping existing libraries, there is something really cool about enabling a language to do &amp;#8220;real world&amp;#8221; type things, such as communicating with other processes or generating &lt;span class="caps"&gt;HTML&lt;/span&gt; or making a full-blown &lt;span class="caps"&gt;GUI&lt;/span&gt;.</description>
      <pubDate>Wed, 16 Sep 2009 21:38:00 CDT</pubDate>
      <guid>http://presidentbeef.com/blog/2009/09/16/#189</guid>
      <link>http://presidentbeef.com/blog/2009/09/16/#189</link>
      <category>programming</category>
      <category>brat</category>
    </item>
    <item>
      <title>Announcing the Fledgling Langua...</title>
      <description>Since I have started working on my own little programming language, I have repeatedly made attempts to take a look around at other little languages that people may be working on. However, either my Google-fu is weak or it is just difficult to find these little guys.

Part of the difficulty is that most people do not want to see your little half-finished, half-working language. A recent discussion on &lt;a href="http://www.reddit.com/r/programming/comments/98p2e/introducing_snow_a_new_and_very_alpha_programming/"&gt;Reddit&lt;/a&gt; showed that people can be very reactionary to such languages. Now, there is &lt;a href="http://esoteric.voxelperfect.net/wiki/Main_Page"&gt;Esolang,&lt;/a&gt; but that site is more focused on languages that are purposefully unusable.

Thus, I have created a new site to be the home of fledgling languages, appropriately entitled &lt;a href="http://fll.presidentbeef.com/"&gt;The Fledgling Languages List.&lt;/a&gt; Anyone is welcome to submit their own language or languages they know about for listing. Each language has its own little page with a description and people can leave comments or feedback for each language.

I am very open to suggestions or feedback concerning the site, especially if something is broken.</description>
      <pubDate>Tue, 11 Aug 2009 17:38:00 CDT</pubDate>
      <guid>http://presidentbeef.com/blog/2009/08/11/#188</guid>
      <link>http://presidentbeef.com/blog/2009/08/11/#188</link>
      <category>programming</category>
      <category>languages</category>
    </item>
    <item>
      <title>Motivation</title>
      <description>Soon I will beginning my fourth year of graduate school. The thought of that makes me a bit nervous. With only a single paper published and the summer rapidly slipping away, I am a bit apprehensive about my progress. While I do have a good idea of my research area and am at least getting a bit of stuff down for it, I worry that I will be slow in getting stuff done, and therefore not have time to do something I can be proud of. My hope, truly, is to be able to do something that matters. Otherwise, what is the point?

I have recently seen a couple videos which have gotten me a little more excited about things, though. The first was &lt;a href="http://www.youtube.com/watch?v=0I5Fl1Qn-Do"&gt;this&lt;/a&gt; interview with Neil deGrasse Tyson. He talks a considerable amount about how he has managed to get to where he is now (well-known astrophysicist). The other video is &lt;a href="http://www.cs.ucla.edu/csd/movies/lk-myworkmylife/"&gt;this one&lt;/a&gt; of Leonard Kleinrock (&amp;#8220;Father of the Internet&amp;#8221;) giving a talk entitled &amp;#8220;My Life and My Work.&amp;#8221; Really interesting and inspiring, in my opinion. (You can download it from &lt;a href="http://www.cs.ucla.edu/csd/movies/lk-myworkmylife/LK-CS201.flv"&gt;here&lt;/a&gt; like I had to, since it kept stopping and restarting on me.)

I really wish to do &amp;#8220;big stuff,&amp;#8221; something that will matter. But it seems most of the people around me just want to graduate, get their degree, and get out of here. Of course, so do I, but I would like to be leaving while having accomplished something of importance, even if it is just a little bit of importance.</description>
      <pubDate>Sun, 19 Jul 2009 11:40:00 CDT</pubDate>
      <guid>http://presidentbeef.com/blog/2009/07/19/#187</guid>
      <link>http://presidentbeef.com/blog/2009/07/19/#187</link>
      <category>school</category>
      <category>personal</category>
    </item>
  </channel>
</rss>
