<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>from __future__ import *</title>
	<atom:link href="http://bob.pythonmac.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://bob.pythonmac.org</link>
	<description>Bob's Rants</description>
	<pubDate>Sat, 03 May 2008 20:49:55 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>simplejson 1.9</title>
		<link>http://bob.pythonmac.org/archives/2008/05/03/simplejson-19/</link>
		<comments>http://bob.pythonmac.org/archives/2008/05/03/simplejson-19/#comments</comments>
		<pubDate>Sat, 03 May 2008 20:49:55 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[python]]></category>

		<category><![CDATA[simplejson]]></category>

		<category><![CDATA[json]]></category>

		<category><![CDATA[library]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=234</guid>
		<description><![CDATA[


simplejson is a simple, fast, complete, correct and extensible JSON (RFC 4627) encoder/decoder for Python 2.3+.  It is pure Python code with no dependencies.
simplejson 1.9 is a minor update:

Rewrote test suite with unittest and doctest (no more nosetest dependency)
Better PEP 7 and PEP 8 source compliance
Removed simplejson.jsonfilter demo module
Misc. bug fixes

There is one backwards [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p><a class="reference" href="http://undefined.org/python/#simplejson">simplejson</a> is a simple, fast, complete, correct and extensible <a class="reference" href="http://json.org/">JSON</a> (<a class="reference" href="http://www.ietf.org/rfc/rfc4627.txt">RFC 4627</a>) encoder/decoder for Python 2.3+.  It is pure Python code with no dependencies.</p>
<p><a class="reference" href="http://undefined.org/python/#simplejson">simplejson</a> 1.9 is a minor update:</p>
<ul class="simple">
<li>Rewrote test suite with unittest and doctest (no more nosetest dependency)</li>
<li>Better PEP 7 and PEP 8 source compliance</li>
<li>Removed simplejson.jsonfilter demo module</li>
<li>Misc. bug fixes</li>
</ul>
<p>There is one backwards incompatible changes in this release:</p>
<ul class="simple">
<li>simplejson.jsonfilter is no longer included</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2008/05/03/simplejson-19/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google App Engine - Changes Everything</title>
		<link>http://bob.pythonmac.org/archives/2008/04/08/google-app-engine-changes-everything/</link>
		<comments>http://bob.pythonmac.org/archives/2008/04/08/google-app-engine-changes-everything/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 12:28:43 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[Mochi Media]]></category>

		<category><![CDATA[appengine]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/archives/2008/04/08/google-app-engine-changes-everything/</guid>
		<description><![CDATA[


I had the privilege last night of going to Google's Campfire One where the Google App Engine was launched, which is basically a service that I've been secretly hoping that Google would release for the past three years. App Engine is going to change everything -- as soon as they come up with a pricing [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>I had the privilege last night of going to Google's Campfire One where the Google App Engine was launched, which is basically a service that I've been secretly hoping that Google would release for the past three years. App Engine is going to change everything -- as soon as they come up with a pricing model, anyway. I'm sure whatever it is will be more than competitive with Amazon's offerings, which isn't really worth any price given that they can't keep it fully operational. Yesterday was the perfect day for EC2 to fall over again, they might as well shut it off altogether once Google gets this service into production ;)</p>
<p>So why does <a class="reference" href="http://code.google.com/appengine/">Google App Engine</a> change everything? I don't have a lot of time to spend here but a few key points:</p>
<blockquote>
<ul class="simple">
<li>Single sign-on for Google users. Everyone with a gmail account is already registered for your service. You have no idea how cool this actually is :)</li>
<li>BIGTABLE. My god. I would've spent in excess of $100k to have access to this part of Google's infrastructure and <em>saved money</em>. Scaling SQL databases sucks. If you have the kind of access patterns that we do, databases designed for OLTP are simply not suitable and it's a real pain to try and make it work. The fact that schema is managed directly in the code and that schema upgrades look awfully painless is a huge extra bonus.</li>
<li>Works locally, deploys globally</li>
<li>Python and WSGI!</li>
<li>No more going to the data center, provisioning bandwidth from telcos, etc.</li>
<li>Payment is surely coming. No more PayPal or Verisign or whatever.</li>
</ul>
</blockquote>
<p>In the same way that Google Apps (and Mac OS X) have enabled people to run without IT departments, Google App Engine is going to let them go big without an ops department. With the current imposed limits I can't prove this theory at <a class="reference" href="http://www.mochimedia.com/">Mochi Media</a>, since everything we do is beyond the scale of their current quotas, but maybe I'll allocate some of my &quot;infinite spare time&quot; to ditch this Wordpress crap and try it out for my blog while they sort that out :)</p>
<p>The minus is that this project is actually probably pretty horrible for open source. Yahoo and the rest of the Hadoop team have their work cut out in making that stack competitive with this. If they don't, Google is going to own scale for a while. While MySQL and PostgreSQL still have some years left in them as people learn how to write scalable apps, I can't see that model lasting very long now that you don't have to be in Google's employ to use better solutions to the data problem.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2008/04/08/google-app-engine-changes-everything/feed/</wfw:commentRss>
		</item>
		<item>
		<title>simplejson 1.8.1</title>
		<link>http://bob.pythonmac.org/archives/2008/03/24/simplejson-181/</link>
		<comments>http://bob.pythonmac.org/archives/2008/03/24/simplejson-181/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 15:40:59 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[python]]></category>

		<category><![CDATA[simplejson]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=232</guid>
		<description><![CDATA[


simplejson is a simple, fast, complete, correct and extensible JSON (RFC 4627) encoder/decoder for Python 2.3+.  It is pure Python code with no dependencies.
simplejson 1.8.1 is a major update:

Optional C extension for accelerating the decoding of JSON strings
Command line interface for pretty-printing JSON (via python -msimplejson)
Decoding of integers and floats is now extensible (e.g. [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p><a class="reference" href="http://undefined.org/python/#simplejson">simplejson</a> is a simple, fast, complete, correct and extensible <a class="reference" href="http://json.org/">JSON</a> (<a class="reference" href="http://www.ietf.org/rfc/rfc4627.txt">RFC 4627</a>) encoder/decoder for Python 2.3+.  It is pure Python code with no dependencies.</p>
<p><a class="reference" href="http://undefined.org/python/#simplejson">simplejson</a> 1.8.1 is a major update:</p>
<ul class="simple">
<li>Optional C extension for accelerating the decoding of JSON strings</li>
<li>Command line interface for pretty-printing JSON (via <tt class="docutils literal"><span class="pre">python</span> <span class="pre">-msimplejson</span></tt>)</li>
<li>Decoding of integers and floats is now extensible (e.g. to use <tt class="docutils literal"><span class="pre">Decimal</span></tt>) via <tt class="docutils literal"><span class="pre">parse_int</span></tt>, <tt class="docutils literal"><span class="pre">parse_float</span></tt> options.</li>
<li>Subversion and issue tracker moved to google code: <a class="reference" href="http://code.google.com/p/simplejson/">http://code.google.com/p/simplejson/</a></li>
<li>Misc. bug fixes</li>
</ul>
<p>There is one incompatible change:</p>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">&quot;/&quot;</span></tt> is no longer escaped, so if you're embedding JSON directly in HTML you'll want to use <tt class="docutils literal"><span class="pre">.replace(&quot;/&quot;,</span> <span class="pre">&quot;\\/&quot;)</span></tt> to prevent a close-tag attack. Sorry, but the in-HTML use case just isn't worth the bloat in everyone else's documents.</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2008/03/24/simplejson-181/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cogent = Bad choice</title>
		<link>http://bob.pythonmac.org/archives/2008/03/15/cogent-bad-choice/</link>
		<comments>http://bob.pythonmac.org/archives/2008/03/15/cogent-bad-choice/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 22:58:44 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/archives/2008/03/15/cogent-bad-choice/</guid>
		<description><![CDATA[


So it seems that I made the wrong decision for our uplink at Mochi Media. We have a gigabit line to Cogent at 365 Main. They've been mostly good so far (and cheap), but their recent spat with Telia has cut us off to parts of Europe (at least Sweden and Denmark). Not cool.
Anyone have [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>So it seems that I made the wrong decision for our uplink at Mochi Media. We have a gigabit line to Cogent at 365 Main. They've been mostly good so far (and cheap), but their recent <a class="reference" href="http://gigaom.com/2008/03/14/the-telia-cogent-spat-could-ruin-web-for-many/">spat with Telia</a> has cut us off to parts of Europe (at least Sweden and Denmark). Not cool.</p>
<p>Anyone have any recommendations on other providers we should talk to? I don't want us to be dependent on Cogent for a minute longer than we have to be.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2008/03/15/cogent-bad-choice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Exploring Erlang @ C4[1] video</title>
		<link>http://bob.pythonmac.org/archives/2008/03/08/exploring-erlang-c41-video/</link>
		<comments>http://bob.pythonmac.org/archives/2008/03/08/exploring-erlang-c41-video/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 16:56:03 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[erlang]]></category>

		<category><![CDATA[mochiweb]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=230</guid>
		<description><![CDATA[


The video of the Exploring Erlang talk I gave at C4[1] last August is up on the interwebs! It only took seven months :)

Video:
http://rentzsch.com/c4/c41VideosAvailable
Slides and source:
http://bob.pythonmac.org/archives/2007/08/11/exploring-erlang-c41/


]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>The video of the Exploring Erlang talk I gave at C4[1] last August is up on the interwebs! It only took seven months :)</p>
<dl class="docutils">
<dt>Video:</dt>
<dd><a class="reference" href="http://rentzsch.com/c4/c41VideosAvailable">http://rentzsch.com/c4/c41VideosAvailable</a></dd>
<dt>Slides and source:</dt>
<dd><a class="reference" href="http://bob.pythonmac.org/archives/2007/08/11/exploring-erlang-c41/">http://bob.pythonmac.org/archives/2007/08/11/exploring-erlang-c41/</a></dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2008/03/08/exploring-erlang-c41-video/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Printing floats with Erlang</title>
		<link>http://bob.pythonmac.org/archives/2007/12/17/printing-floats-with-erlang/</link>
		<comments>http://bob.pythonmac.org/archives/2007/12/17/printing-floats-with-erlang/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 06:37:36 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[erlang]]></category>

		<category><![CDATA[mochiweb]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=229</guid>
		<description><![CDATA[


The float printing options that ship with Erlang all suck. You either don't have sufficient precision, or you have an extremely verbose representation:

1&#62; io:format(&#34;~w ~.18g ~g ~s~n&#34;, [0.1234567, 0.1234567, 0.1234567, float_to_list(0.1234567)]).
0.123457 0.123456700000000003 0.123457 1.23456700000000002548e-01
2&#62; io:format(&#34;~w ~.18g ~g ~s~n&#34;, [0.1, 0.1, 0.1, float_to_list(0.1)]).
0.100000 0.100000000000000006 0.100000 1.00000000000000005551e-01

mochiweb includes an implementation of the algorithm from the &#34;Printing Floating-Point [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>The float printing options that ship with Erlang all suck. You either don't have sufficient precision, or you have an extremely verbose representation:</p>
<pre class="literal-block">
1&gt; io:format(&quot;~w ~.18g ~g ~s~n&quot;, [0.1234567, 0.1234567, 0.1234567, float_to_list(0.1234567)]).
0.123457 0.123456700000000003 0.123457 1.23456700000000002548e-01
2&gt; io:format(&quot;~w ~.18g ~g ~s~n&quot;, [0.1, 0.1, 0.1, float_to_list(0.1)]).
0.100000 0.100000000000000006 0.100000 1.00000000000000005551e-01
</pre>
<p><a class="reference" href="http://mochiweb.com/">mochiweb</a> includes an implementation of the algorithm from the <a class="reference" href="http://www.cs.indiana.edu/~burger/fp/index.html">&quot;Printing Floating-Point Numbers Quickly and Accurately&quot;</a> paper in the <a class="reference" href="http://mochiweb.googlecode.com/svn/trunk/src/mochinum.erl">mochinum</a> module (which is standalone, if you just want to use it without the rest of <a class="reference" href="http://mochiweb.com/">mochiweb</a>):</p>
<pre class="literal-block">
3&gt; io:format(&quot;~s~n&quot;, [mochinum:digits(0.1234567)]).
0.1234567
4&gt; io:format(&quot;~s~n&quot;, [mochinum:digits(0.1)]).
0.1
</pre>
<p>Problem solved :)</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2007/12/17/printing-floats-with-erlang/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using the mochiweb project skeleton</title>
		<link>http://bob.pythonmac.org/archives/2007/12/17/using-the-mochiweb-project-skeleton/</link>
		<comments>http://bob.pythonmac.org/archives/2007/12/17/using-the-mochiweb-project-skeleton/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 05:06:27 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[erlang]]></category>

		<category><![CDATA[mochiweb]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=228</guid>
		<description><![CDATA[


A bit over a week ago we moved a slightly modified version of our project skeleton into the open source mochiweb repository, which gets you a start shell script, a skeleton application following (most of) the OTP paradigms, a Makefile, and a web server that serves static files out of priv/www.
The first thing you have [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>A bit over a week ago we moved a slightly modified version of our project skeleton into the open source <a class="reference" href="http://mochiweb.com/">mochiweb</a> repository, which gets you a start shell script, a skeleton application following (most of) the OTP paradigms, a Makefile, and a web server that serves static files out of <tt class="docutils literal"><span class="pre">priv/www</span></tt>.</p>
<p>The first thing you have to do is make sure <a class="reference" href="http://mochiweb.com/">mochiweb</a> is built:</p>
<pre class="literal-block">
$ cd ~/src/mochiweb
$ make
(cd src;make)
make[1]: Nothing to be done for `all'.
</pre>
<p>After that you just run <tt class="docutils literal"><span class="pre">./scripts/new_mochiweb.erl</span></tt> with the project name and destination (you can put a symlink of that script on your <tt class="docutils literal"><span class="pre">PATH</span></tt> somewhere).</p>
<pre class="literal-block">
$ ./scripts/new_mochiweb.erl mochidemo ~/src
...
</pre>
<p>Starting it is easy, just build with <tt class="docutils literal"><span class="pre">make</span></tt> and then run <tt class="docutils literal"><span class="pre">start.sh</span></tt> or <tt class="docutils literal"><span class="pre">start-dev.sh</span></tt> from <tt class="docutils literal"><span class="pre">~/src/mochidemo</span></tt>. The only difference between the two at the moment is that <tt class="docutils literal"><span class="pre">start-dev.sh</span></tt> will poll for changes in ebin files and purge them automatically when they're updated. The default port is 8000 listening on all IPs and it's configured in <tt class="docutils literal"><span class="pre">src/PROJECT_sup.erl</span></tt>.</p>
<pre class="literal-block">
$ cd ~/src/mochidemo
$ make
...
$ ./start-dev.sh
...
=PROGRESS REPORT==== 17-Dec-2007::20:58:33 ===
         application: mochidemo
          started_at: nonode&#64;nohost

1&gt; http:request(&quot;http://127.0.0.1:8000/&quot;).
...
{ok,{{&quot;HTTP/1.1&quot;,200,&quot;OK&quot;},
     [{&quot;date&quot;,&quot;Tue, 18 Dec 2007 04:58:55 GMT&quot;},
      {&quot;server&quot;,&quot;MochiWeb/1.0 (Any of you quaids got a smint?)&quot;},
      {&quot;content-length&quot;,&quot;88&quot;},
      {&quot;content-type&quot;,&quot;text/html&quot;}],
     &quot;&lt;html&gt;\n&lt;head&gt;\n\n&lt;/head&gt;\n&lt;body&gt;\nMochiWeb running.\n&lt;/body&gt;\n&lt;/html&gt;\n&quot;}}
</pre>
<p>As far as deployment goes, it's a convenience that <a class="reference" href="http://mochiweb.com/">mochiweb</a> makes a symlink to itself as <tt class="docutils literal"><span class="pre">PROJECT/deps/mochiweb-src</span></tt> so that the start scripts can find it and put them in your code path. You'll probably want to put a full copy of <a class="reference" href="http://mochiweb.com/">mochiweb</a> in its place, use a svn:external (which is what we do right now), or manage the <a class="reference" href="http://mochiweb.com/">mochiweb</a> dependency by some other means.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2007/12/17/using-the-mochiweb-project-skeleton/feed/</wfw:commentRss>
		</item>
		<item>
		<title>mochiweb - another faster web server</title>
		<link>http://bob.pythonmac.org/archives/2007/11/07/mochiweb-another-faster-web-server/</link>
		<comments>http://bob.pythonmac.org/archives/2007/11/07/mochiweb-another-faster-web-server/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 05:39:54 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[erlang]]></category>

		<category><![CDATA[mochiweb]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=227</guid>
		<description><![CDATA[


mochiweb is finally well on its way to becoming a proper open source project, thanks to Matthew Dempsky. We've got a mochiweb project on google code and a mochiweb group on google groups.
Similarly interesting is that iserve is now turning into something more useful. iserve and mochiweb are pretty much the same thing under the [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p><a class="reference" href="http://code.google.com/p/mochiweb">mochiweb</a> is finally well on its way to becoming a proper open source project, thanks to Matthew Dempsky. We've got a <a class="reference" href="http://code.google.com/p/mochiweb">mochiweb project</a> on google code and a <a class="reference" href="http://groups.google.com/group/mochiweb">mochiweb group</a> on google groups.</p>
<p>Similarly interesting is that <a class="reference" href="http://blog.tornkvist.org/blog.yaws?id=1193866043645631">iserve</a> is now turning into something more useful. iserve and mochiweb are pretty much the same thing under the hood, but mochiweb exposes a different API (which I find to be nicer, but I designed it) and supports more of the HTTP protocol. They both (ab)use inets' {packet, http} mode and they're both very minimal.</p>
<p>Here's a mochiweb version of the minimal example that <a class="reference" href="http://blog.tornkvist.org/">Tobbe</a> gave for <a class="reference" href="http://blog.tornkvist.org/blog.yaws?id=1193866043645631">iserve</a>:</p>
<pre class="literal-block">
-module(mochiweb_demo).
-export([mochiweb_request/1, start/1]).

start(Port) -&gt;
    mochiweb_http:start([{port, Port}, {loop, {?MODULE, mochiweb_request}}]).

mochiweb_request(Req) -&gt;
    Req:ok({&quot;text/html&quot;,
    &lt;&lt;&quot;&lt;!DOCTYPE html PUBLIC \&quot;-//W3C//DTD HTML 4.01 Transitional//EN\&quot;&gt;
        &lt;html&gt;
        &lt;head&gt;&lt;title &gt;Welcome to mochiweb&lt;/title&gt;&lt;/head&gt;
        &lt;body&gt;
            Hello
        &lt;/body&gt;
        &lt;/html&gt;&quot;&gt;&gt;}).
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2007/11/07/mochiweb-another-faster-web-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MochiAds.com public launch!</title>
		<link>http://bob.pythonmac.org/archives/2007/10/15/mochiadscom-public-launch/</link>
		<comments>http://bob.pythonmac.org/archives/2007/10/15/mochiadscom-public-launch/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 18:12:57 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[Mochi Media]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[mochiads]]></category>

		<category><![CDATA[mochibot]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=226</guid>
		<description><![CDATA[


It's hard to believe that almost a year has gone by since we launched the first private beta of MochiAds, but we just relaunched the site last night and the doors are wide open now! Every user of MochiBot already has an account via our MochiPass single sign-on, and anyone else can sign up and [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>It's hard to believe that almost a year has gone by since we launched the first private beta of <a class="reference" href="http://www.mochiads.com/">MochiAds</a>, but we just relaunched the site last night and the doors are wide open now! Every user of <a class="reference" href="http://www.mochibot.com/">MochiBot</a> already has an account via our MochiPass single sign-on, and anyone else can sign up and get in instantly. You can start making money with your Flash games <em>today</em>!</p>
<p>It's been quite a ride so far -- this time last year Jameson and I were working out of our apartment in the Mission with Ryan freelancing all of the design. Fast forward through a round of venture financing and a tremendous uptake by game developers and here we are with our own floor of office space in SoMa (so much space that we're subletting to three other startups) and 12 people on payroll. We've even got a team who writes Erlang code every day, who else can say that? :)</p>
<p>Oh, and we're hiring people of all sorts, so if you're interested in working at a cool startup in San Francisco with a real business model (and revenue, today), cool technology, and a LOT of potential then please <a class="reference" href="http://www.mochimedia.com/#jobs">get in touch</a>! You'll even get to play cool Flash games every day, because &quot;reviewing&quot; them is part of our job :)</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2007/10/15/mochiadscom-public-launch/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Exploring Erlang @ C4[1]</title>
		<link>http://bob.pythonmac.org/archives/2007/08/11/exploring-erlang-c41/</link>
		<comments>http://bob.pythonmac.org/archives/2007/08/11/exploring-erlang-c41/#comments</comments>
		<pubDate>Sat, 11 Aug 2007 22:46:16 +0000</pubDate>
		<dc:creator>bob</dc:creator>
		
		<category><![CDATA[erlang]]></category>

		<category><![CDATA[macosx]]></category>

		<guid isPermaLink="false">http://bob.pythonmac.org/?p=225</guid>
		<description><![CDATA[


Slides from my Exploring Erlang talk today at C4[1] are available here: http://undefined.org/c4-1/
Yes, it is definitely caturday.
For those of you interested in learning more about Erlang, I highly recommend buying Joe Armstrong's Programming Erlang and/or read his 2003 ph.d thesis, which is kinda similar in content to his book but is more technical and is [...]]]></description>
			<content:encoded><![CDATA[
<div class="document">
<!-- -*- mode: rst -*- -->
<p>Slides from my Exploring Erlang talk today at <a class="reference" href="http://c4.rentzsch.com/1/">C4[1]</a> are available here: <a class="reference" href="http://undefined.org/c4-1/">http://undefined.org/c4-1/</a></p>
<p>Yes, it is definitely <a class="reference" href="http://en.wikipedia.org/wiki/Lolcat">caturday</a>.</p>
<p>For those of you interested in learning more about <a class="reference" href="http://www.erlang.org/">Erlang</a>, I highly recommend buying <a class="reference" href="http://armstrongonsoftware.blogspot.com/">Joe Armstrong</a>'s <a class="reference" href="http://www.pragmaticprogrammer.com/titles/jaerlang/">Programming Erlang</a> and/or read his 2003 ph.d thesis, which is kinda similar in content to his book but is more technical and is freely available: <a class="reference" href="http://www.sics.se/~joe/thesis/armstrong_thesis_2003.pdf">Making Reliable Distributed Systems in the Presence of Software Errors</a>. The thesis is a bit more dense, but it was what really made <a class="reference" href="http://www.erlang.org/">Erlang</a> &quot;click&quot; for me.</p>
<p>If you want to play with the examples, go to <a class="reference" href="http://cean.process-one.net/download/">CEAN</a> and download &quot;Erlang/OTP Full (Standard)&quot; at the bottom for you version of Mac OS X and follow the &quot;How do I install CEAN to /usr/local/bin&quot; <a class="reference" href="http://cean.process-one.net/faq/">FAQ entry</a>. Alternatively, if you want to wait longer, you could use <a class="reference" href="http://www.macports.org/">MacPorts</a> to download and compile it. Once you've got that set up just run <tt class="docutils literal"><span class="pre">erl</span></tt> from the examples directory in the slides download and it <em>should</em> all work.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bob.pythonmac.org/archives/2007/08/11/exploring-erlang-c41/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
