<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
  <title>Knowing.NET</title>
  <link rel="alternate" type="text/html" href="http://www.knowing.net/" />
  <link rel="self" href="http://www.knowing.net/SyndicationService.asmx/GetAtom" />
  <icon>favicon.ico</icon>
  <updated>2008-06-26T19:36:38.9957284-06:00</updated>
  <author>
    <name>Larry O'Brien</name>
  </author>
  <subtitle>Software development industry analysis by Larry O'Brien, the former editor of Software Development and Computer Language</subtitle>
  <id>http://www.knowing.net/</id>
  <generator uri="http://www.dasblog.net" version="1.9.7174.0">DasBlog</generator>
  <entry>
    <title>Recent Articles</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,e6f0f12c-0404-40ef-9eb5-eaefc0ed163e.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,e6f0f12c-0404-40ef-9eb5-eaefc0ed163e.aspx</id>
    <published>2008-06-26T19:36:38.9957284-06:00</published>
    <updated>2008-06-26T19:36:38.9957284-06:00</updated>
    <content type="html">&lt;p&gt;
I've been busier than some metaphorical thing in some metaphorical place where things
are really busy. 
&lt;/p&gt;
&lt;p&gt;
Here are some recent articles I've written:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.knowing.net/ct.ashx?id=e6f0f12c-0404-40ef-9eb5-eaefc0ed163e&amp;amp;url=http%3a%2f%2fwww.sdtimes.com%2fcontent%2farticle.aspx%3fArticleID%3d32251"" target="_blank"&gt;Drag
.Net -- Home Security Automation&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.knowing.net/ct.ashx?id=e6f0f12c-0404-40ef-9eb5-eaefc0ed163e&amp;amp;url=http%3a%2f%2fwww.sdtimes.com%2fcontent%2farticle.aspx%3fArticleID%3d32144"" target="_blank"&gt;Ozzie's
'Internet Tidal Wave' Leaves A Mesh&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=e6f0f12c-0404-40ef-9eb5-eaefc0ed163e" /&gt;</content>
  </entry>
  <entry>
    <title>Test from Mac</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,9b93c99d-1d33-4d48-bcc7-dc5507bd90ab.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,9b93c99d-1d33-4d48-bcc7-dc5507bd90ab.aspx</id>
    <published>2008-06-18T12:39:59.7132037-06:00</published>
    <updated>2008-06-18T12:39:59.7132037-06:00</updated>
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Test
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=9b93c99d-1d33-4d48-bcc7-dc5507bd90ab" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Fast Ranking Algorithm: Astonishing Paper by Raykar, Duraiswami, and Krishnapuram</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,2712480c-dc51-4780-a85e-eb957bf7ddf1.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,2712480c-dc51-4780-a85e-eb957bf7ddf1.aspx</id>
    <published>2008-06-07T13:34:43.4187378-06:00</published>
    <updated>2008-06-07T13:36:53.7764442-06:00</updated>
    <category term="AI" label="AI" scheme="http://www.knowing.net/CategoryView,category,AI.aspx" />
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <category term="SD Futures" label="SD Futures" scheme="http://www.knowing.net/CategoryView,category,SD%2BFutures.aspx" />
    <content type="html">&lt;p&gt;
The July 08 (Vol. 30, #7) &lt;em&gt;IEEE Transactions on Pattern Analysis and Machine Intelligence&lt;/em&gt; has
an incredible paper by Raykar, Duraiswami, and Krishnapuram. &lt;em&gt;&lt;a href="http://www.knowing.net/ct.ashx?id=2712480c-dc51-4780-a85e-eb957bf7ddf1&amp;amp;url=http%3a%2f%2fcsdl2.computer.org%2fpersagen%2fDLAbsToc.jsp%3fresourcePath%3d%2fdl%2ftrans%2ftp%2f%26toc%3dcomp%2ftrans%2ftp%2f2008%2f07%2fttp200807toc.xml%26DOI%3d10.1109%2fTPAMI.2007.70776"" target="_blank"&gt;A
Fast Algorithm for Learning a Ranking Function from Large-Scale Data Sets&lt;/a&gt;&lt;/em&gt; appears
to be a game-changer for an incredibly important problem in machine learning. Basically,
they use a "fast multipole method" developed for computational physics to rapidly
estimate (to arbitrary precision) the conjugate gradient of an error function. (In
other words, they tweak the parameters and "get a little better" the next time through
the training data.) 
&lt;/p&gt;
&lt;p&gt;
The precise calculation of the conjugate gradient is O(m^2). This estimation algorithm
is O(m)! (That's an exclamation point, not a factorial!)
&lt;/p&gt;
&lt;p&gt;
On a first reading, I don't grok how the crucial transform necessarily moves towards
an error minimum, but the algorithm looks (surprisingly) easy to implement and their
benchmark results are jaw-dropping. Of course, others will have to implement it and
analyze it for applicability across different types of data sets, but this is one
of the most impressive algorithmic claims I've seen in years.
&lt;/p&gt;
&lt;p&gt;
Once upon a time, I had the great fortune to write a column for a magazine on artificial
intelligence and could justify spending huge amounts of time implementing AI algorithms
(well, I think I was paid $450 per month for my column, so I'm not really sure that
"justified" 80 hours of programming, but I was young). Man, would I love to see how
this algorithm works for training a neural network...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=2712480c-dc51-4780-a85e-eb957bf7ddf1" /&gt;</content>
  </entry>
  <entry>
    <title>Embarcadero Acquires CodeGear (nee Borland Languages)</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,acdd99c8-ca39-4a0d-8ee9-7b33c67a4954.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,acdd99c8-ca39-4a0d-8ee9-7b33c67a4954.aspx</id>
    <published>2008-05-07T11:07:44.70927-06:00</published>
    <updated>2008-05-07T11:07:44.70927-06:00</updated>
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
CodeGear, the company semi-spun off from Borland's languages division, has been acquired
by Embarcadero, the company best known for enterprise-y DB tools such as ER/studio. 
</p>
        <p>
The half-measure of announcing the division's sale and then holding on to it was always
ugly and even though Embarcadero is probably not the most exciting company in the
SD tools marketplace, better a loving step-parent than continuing the cycle of abuse
at Borland. 
</p>
        <p>
Of course, being an "exciting" company that attempts to redefine the coding playing
field may not be smart for a tool company; I always cling to such when I talk about
Borland's languages division, which celebrated its 25th anniversary the other day,
but it is neither the only nor perhaps the smartest strategy. 
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=acdd99c8-ca39-4a0d-8ee9-7b33c67a4954" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Incompetent American Programmers</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,cd4a40f8-0549-4332-83d6-a71eca0d4417.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,cd4a40f8-0549-4332-83d6-a71eca0d4417.aspx</id>
    <published>2008-04-26T18:54:45.2357626-06:00</published>
    <updated>2008-04-26T19:41:54.5251892-06:00</updated>
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the Summer and Fall of 1999, at the peak of the dot-com boom, there was incredible
competition for software developers. Starting pay for developers with <strong>no experience </strong>had
already climbed to $60K and then, in the course of maybe 3 months, it went from $60K
to $75K to $90K. And that was actual money, not soon-to-be-toilet-paper stock options. 
</p>
        <p>
A guy as American as apple pie came in, fresh out of college, applying as a Java developer.
He didn't know the difference between a class and an instance and didn't know what
inheritance was. So, just as <a href="http://www.knowing.net/ct.ashx?id=cd4a40f8-0549-4332-83d6-a71eca0d4417&amp;url=http%3a%2f%2fwww.knowing.net%2fPermaLink%2cguid%2c1d765e54-5007-487b-a689-882d62ae9fd4.aspx">incompetent
as anything I'm seeing today</a>. I started to explain to him that software development
was a wonderful profession and that if he wanted to learn it, the traditional way
would be to apply as a junior tester, and ... He cut me off, told me he had 5 other
interviews lined up that week and made it clear that he expected to be hired at one
of them. And I don't doubt that he did.
</p>
        <p>
But I doubt that he's still incompetent and employed as a software developer and especially
not as a freelance coder. I think he either:
</p>
        <ul>
          <li>
was weeded out of programming (perhaps by going into management), or 
</li>
          <li>
got a clue</li>
        </ul>
        <p>
I complained the other day about an incompetent applicant from South American so I'll
use as an example another guy on the team who lives in South America, "gets it" as
far as software development goes and charges $24 an hour. He lives in a beautiful
house on, like, 10 acres or something, owns several horses, and I get the impression
that he's considered quite the young go-getter. 
</p>
        <p>
So when people think the moral of <a href="http://www.knowing.net/ct.ashx?id=cd4a40f8-0549-4332-83d6-a71eca0d4417&amp;url=http%3a%2f%2fwww.knowing.net%2fPermaLink%2cguid%2c1d765e54-5007-487b-a689-882d62ae9fd4.aspx">my
story</a> is "cheap employer...you get what you pay for" I think they're entirely
off-base. If you're willing to create a distributed team (the wisdom of which is a
whole question in and of itself), you <em>might</em> find yourself in the enviable
position of being able to give a smart person a high standard of living and contributing
to a developing economy tra-la-la-la-la all while paying less than an American median
wage. It's hard for me to see the argument that that is immoral.
</p>
        <p>
It's not the nationality of incompetence that's depressing me, nor is it necessarily
the scope of the incompetence embodied in a single person, it's how common it is that
I encounter people who have no respect for this activity that I love. I feel that
I'm seeing it more often than I used to, and while I may be imagining that ("When
we were kids we hiked 7 miles through the snow to the data center..."), I think it's
a real phenomenon.
</p>
        <p>
Some people suggested that the language involved might have something to do with it,
and others suggested that it might have to do with the increasing amount of hand-holding
in modern development environments. I still tend towards my feeling that global commodification
has something to do with it; more and more people applying for jobs in the field of
software development did not enter that field due to a love of computers or software,
they entered it because there's demand. 
</p>
        <p>
There have always been developers for whom programming is "just a job." Back when
I was Editor of <em>Computer Language</em>, it was common-place to refer to the statistic
that "the average programmer has less than 1 book on software development." But it
was easy for me to ignore that, because those weren't the people who read magazines
and attended conferences and swapped stories on Compuserve's CLMFORUM. So maybe I <em>am </em>just
being an old codger. Except instead of CLMFORUM, when I look for reaction to my thoughts
I find griefers on reddit making ad hominem attacks. Progress.
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=cd4a40f8-0549-4332-83d6-a71eca0d4417" />
      </div>
    </content>
  </entry>
  <entry>
    <title>I'm Looking to Hire Freelance Ruby Programmers</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,1d765e54-5007-487b-a689-882d62ae9fd4.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,1d765e54-5007-487b-a689-882d62ae9fd4.aspx</id>
    <published>2008-04-25T13:03:39.048482-06:00</published>
    <updated>2008-04-26T17:36:20.7323408-06:00</updated>
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm trying to hire a couple developers. One guy sent a resume that looked great --
degree in CS, C++ experience, a year with Ruby in Rails. So I sent him a simple programming
exercise. I <em>sent </em>him the testcases. 
</p>
        <p>
He shoots back an answer. I open a command-line, type <strong>ruby TestCases.rb </strong>and
see this:
</p>
        <p>
          <strong>9 tests, 0 assertions, 0 failures, 9 errors</strong>
        </p>
        <p>
He didn't even get to the freakin' assertions! His "solution" didn't treat the argument
as an array.
</p>
        <p>
Once upon a time, I programmed by sliding cards in a box under a window and returning
15 minutes later for the results. Once upon a time, I programmed by writing object
files that could take anywhere from a few minutes to overnight to link together. If
we still lived in those times, I could understand submitting some text and saying
"I think this is a solution." We don't live in those times anymore.
</p>
        <p>
This guy was from South America. A lot of the guys I'm dealing with lately have been
from outside the United States -- we're a distributed team and, all things being equal,
a guy with a CS degree, C++ experience, and a year with Ruby on Rails who's asking
$20 an hour is going to be more appealing than a guy with the same background asking
$60 an hour. 
</p>
        <p>
I don't know if it's a cultural thing or a "younger programmer" thing, but I have
to say that I'm getting really freaking tired of experiencing this level of incompetence,
even for the thirty seconds it took me to see that and respond "Nope. Not even close"
to HR. It's <em>actively depressing</em> to me to experience this crap. 
</p>
        <p>
To be clear, this has nothing to do with this guy's innate talent or intelligence.
What it has to do with is this ... mindset .... that seems to be entirely at odds
with my conception of the activity of software development. I'm not talking about
an ignorance of, much less disagreement with, my particular biases and judgments about
the niceties of methodology and process. I'm talking about people who don't seem to
"get" that programming is, at the very least, about making programs that run. 
</p>
        <p>
And, accuse me of jingoism if you will, but I have to say that it's depressing that
it's virtually impossible for an American to make a median wage being a freelance
coder because their resumes probably look <em>worse</em> than that of these people
with CS degrees who don't freaking bother to see if their programs run. 
</p>
        <p>
          <em>Of course</em> intelligence is distributed evenly throughout the world, but this
level of incompetence has largely been weeded out of the American freelance programming
community. <em>If</em> you're making a living and you have to charge twice what a
person in South America or Asia charges, you pretty much <em>have </em>to "get it."
And it is sad to consider a bunch of people who "get it" slowly being weeded out of
the workforce because we are unable to clearly and concisely demonstrate value to
potential employers.
</p>
        <p>
          <font color="#ff0000">Update:</font> I've removed the name of the fellow's country,
which is one I've always wanted to visit and which I'm sure has many fine developers.
It's not relevant, other than to make the point that it's not just one country in
Asia where there are freelance developers looking for work and charging significantly
less than their American or European counterparts.
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=1d765e54-5007-487b-a689-882d62ae9fd4" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Aloha, Cheyenne</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,9ab6cce7-d8fa-419a-b329-a1f2409ff182.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,9ab6cce7-d8fa-419a-b329-a1f2409ff182.aspx</id>
    <published>2008-04-17T10:48:54.7507926-06:00</published>
    <updated>2008-04-17T10:48:54.7507926-06:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.knowing.net/ct.ashx?id=9ab6cce7-d8fa-419a-b329-a1f2409ff182&amp;url=http%3a%2f%2fwww.knowing.net%2fcontent%2fbinary%2fWindowsLiveWriter%2fAlohaCheyenne_C8F1%2fimage_2.jpg">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="image" src="http://www.knowing.net/content/binary/WindowsLiveWriter/AlohaCheyenne_C8F1/image_thumb.jpg" width="332" border="0" />
          </a>
        </p>
        <p>
She was a good dog.
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=9ab6cce7-d8fa-419a-b329-a1f2409ff182" />
      </div>
    </content>
  </entry>
  <entry>
    <title>The ACM is Using ColdFusion to Deliver the CACM Electronically</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,5c11a026-5a6c-4c51-a65f-b95ba959a1ee.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,5c11a026-5a6c-4c51-a65f-b95ba959a1ee.aspx</id>
    <published>2008-04-14T10:00:54-06:00</published>
    <updated>2008-04-11T19:09:06.603359-06:00</updated>
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <category term="Languages" label="Languages" scheme="http://www.knowing.net/CategoryView,category,Languages.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.knowing.net/ct.ashx?id=5c11a026-5a6c-4c51-a65f-b95ba959a1ee&amp;url=https%3a%2f%2fportal.acm.org%2fpoplogin.cfm">https://portal.acm.org/poplogin.cfm</a>?
.... etc ... (I can't post the whole URL since it's linked to my account)
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=5c11a026-5a6c-4c51-a65f-b95ba959a1ee" />
      </div>
    </content>
  </entry>
  <entry>
    <title>30K application lines + 110K testing lines: Evidence of...?</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,1e1d2066-8a6f-4eb9-aff8-4298736712bc.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,1e1d2066-8a6f-4eb9-aff8-4298736712bc.aspx</id>
    <published>2008-04-14T10:00:29-06:00</published>
    <updated>2008-04-12T12:37:14.0920313-06:00</updated>
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <category term="SD Futures" label="SD Futures" scheme="http://www.knowing.net/CategoryView,category,SD%2BFutures.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently wrote an encomium to ResolverOne, the IronPython-based spreadsheet:
</p>
        <blockquote>
          <p>
[T]heir use of pair programming and test-driven development has delivered high productivity;
of the 140,000 lines of code, 110,000 are tests....ResolverOne has been in development
for roughly two years, is written in a language without explicit type declarations,
and is on an implementation that itself is in active development. It’s been brought
to beta in a credible (if not downright impressive) amount of time despite being developed
by pairs of programmers writing far more lines of test than application. Yet no one
can credibly dismiss the complexity of 30,000 lines of application logic or spreadsheet
functionality, much less the truly innovative spreadsheet-program features. 
</p>
          <p>
            <br />
ResolverOne is easily the most compelling data point I’ve heard for the practices
of Extreme Programming.
</p>
          <p>
[<a href="http://www.knowing.net/ct.ashx?id=1e1d2066-8a6f-4eb9-aff8-4298736712bc&amp;url=http%3a%2f%2fwww.sdtimes.com%2fcontent%2farticle.aspx%3fArticleID%3d31818">Extreme
Program</a>, SD Times]
</p>
        </blockquote>
        <p>
          <a href="http://www.knowing.net/ct.ashx?id=1e1d2066-8a6f-4eb9-aff8-4298736712bc&amp;url=http%3a%2f%2fwww.holub.com%2f">Allen
Holub</a> sees the glass as half-empty, writing:
</p>
        <blockquote>
          <p>
I want to take exception to the notion that Python is adequate for a real programming
project. The fact that 30K lines of code took 110K lines of tests is a real indictment
of the language. My guess is that a significant portion of those tests are addressing
potential errors that the compiler would have found in C# or Java. Moreover, all of
those unnecessary tests take a lot of time to write, time that could have been spent
working on the application. 
</p>
        </blockquote>
        <p>
I was taken aback by this, perhaps because it's been a good while since I've heard
someone characterize tests as evidence of trouble as opposed to evidence of quality. 
</p>
        <p>
There are (at least) two ways of looking at tests:
</p>
        <ol>
          <li>
Tools for discovering errors, or 
</li>
          <li>
Quality gates (they're one way -- are they quality diodes?)</li>
        </ol>
        <p>
There's no doubt that the software development tradition has favored the former view
(once you've typed a line, everything you do next is "debugging"). However, the past
decade has seen a ... wait for it ... paradigm shift. 
</p>
        <p>
The Agile Paradigm views change over time as a central issue; if it were still the
90s, I would undoubtedly refer to it as Change-Oriented Programming (COP). Tests are
the measure of change -- not lines of code, not cyclomatic complexity, not object
hierarchies, not even deployments. 
</p>
        <p>
(Perhaps "User stories" or scenarios are the "yard-stick" of change, tests are the
"inch-stick" of change, and deployments are the "milestone" of change.) 
</p>
        <p>
So from <em>within</em> the Agile Paradigm / COP, a new test is written that fails,
some new code is written, the test passes -- a <strong>one-way </strong>gate has been
passed through, progress has been made, and credit accrues. From <em>outside</em> the
paradigm, <strong>a test is seen as indicative of a problem that ought not to exist
in the first place</strong>. The <em>passing</em> of the test is not seen as the salient
point, the "<em>need" </em>for (i.e., existence of)<em> </em>the test is seen
as evidence of low quality.
</p>
        <p>
In true test-<strong>driven </strong>development, every pass fails at least once,
because the tests are written before the code. What is perhaps not appreciated by
those outside the Agile Paradigm, however, is that tests are written that one expects
to run from the moment the relevant code is created. For instance, if one had fields
for sub-total, taxes, and total, one would certainly write a test that confirmed that
total = sub-total + taxes. One would also certainly expect that test to pass as soon
as the code had been written. 
</p>
        <p>
As is often the case with paradigms, often just realizing that there are different
mental models / worldviews in play is crucial to communication. 
</p>
        <p>
          <strong>Update: </strong> This relates to Martin Fowler's recent post on <a href="http://www.knowing.net/ct.ashx?id=1e1d2066-8a6f-4eb9-aff8-4298736712bc&amp;url=http%3a%2f%2fmartinfowler.com%2fbliki%2fSchoolsOfSoftwareDevelopment.html">Schools
of Software Development</a>.
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=1e1d2066-8a6f-4eb9-aff8-4298736712bc" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Google App Engine: Another Python Victory</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,00075843-558b-49d7-bfcf-1f1e38b43877.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,00075843-558b-49d7-bfcf-1f1e38b43877.aspx</id>
    <published>2008-04-13T10:00:44-06:00</published>
    <updated>2008-04-11T11:47:54.7636418-06:00</updated>
    <category term="Knowing" label="Knowing" scheme="http://www.knowing.net/CategoryView,category,Knowing.aspx" />
    <category term="Languages" label="Languages" scheme="http://www.knowing.net/CategoryView,category,Languages.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
It's been <a href="http://www.knowing.net/ct.ashx?id=00075843-558b-49d7-bfcf-1f1e38b43877&amp;url=http%3a%2f%2fwww.knowing.net%2fSearchView.aspx%3fq%3dpython">quite
a year for Python</a>, and <a href="http://www.knowing.net/ct.ashx?id=00075843-558b-49d7-bfcf-1f1e38b43877&amp;url=http%3a%2f%2farstechnica.com%2fnews.ars%2fpost%2f20080408-analysis-google-app-engine-alluring-will-be-hard-to-escape.html">Google
App Engine</a> provides the dynamic language a very high profile indeed. GAE is a
cloud platform that is competitive with Amazon's S3 (much like <a href="http://www.knowing.net/ct.ashx?id=00075843-558b-49d7-bfcf-1f1e38b43877&amp;url=http%3a%2f%2fwww.startrek.com%2fstartrek%2fview%2fseries%2fTOS%2fepisode%2f68808.html">Stratos,
on the planet Ardana</a> might compete with <a href="http://www.knowing.net/ct.ashx?id=00075843-558b-49d7-bfcf-1f1e38b43877&amp;url=http%3a%2f%2fwww.starwars.com%2fdatabank%2flocation%2fcloudcity%2f">Cloud
City on Bespin</a> ). GAE provides Django and other major Python frameworks, but I
imagine that the real appeal is (a) the free hosting and (b) the CPU budget. 
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=00075843-558b-49d7-bfcf-1f1e38b43877" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Name That Arcade Game</title>
    <link rel="alternate" type="text/html" href="http://www.knowing.net/PermaLink,guid,a1b67e50-d97f-4de5-bc78-1a866a63ba87.aspx" />
    <id>http://www.knowing.net/PermaLink,guid,a1b67e50-d97f-4de5-bc78-1a866a63ba87.aspx</id>
    <published>2008-04-11T10:00:47-06:00</published>
    <updated>2008-04-11T12:59:22.0335485-06:00</updated>
    <category term="Offtopic" label="Offtopic" scheme="http://www.knowing.net/CategoryView,category,Offtopic.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sometime after Space War and Asteroids, but before color was widespread in arcade
games, there was a 2-person vector-graphics game in which you and your friend drove
"tractors" around and grabbed little diamonds (or whatever) from a pile in the center
of the screen and dragged them back to your base. You could shoot the other guy a
la Space War, but I think there were also bad guys flying around to shoot a la Asteroids.
</p>
        <p>
          <strong>Name that Arcade Game!</strong>
        </p>
        <p>
          <strong>
            <font color="#ff0000">Update</font>: KSharkey rocks!</strong> He correctly
identified <a href="http://www.knowing.net/ct.ashx?id=a1b67e50-d97f-4de5-bc78-1a866a63ba87&amp;url=http%3a%2f%2fwww.klov.com%2fgame_detail.php%3fgame_id%3d9326">Rip-Off</a> --
with graphics like this, it's no wonder I was enthralled:
</p>
        <p>
          <a href="http://www.knowing.net/ct.ashx?id=a1b67e50-d97f-4de5-bc78-1a866a63ba87&amp;url=http%3a%2f%2fwww.knowing.net%2fcontent%2fbinary%2fWindowsLiveWriter%2fNameThatArcadeGame_D276%2fimage_2.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="484" alt="image" src="http://www.knowing.net/content/binary/WindowsLiveWriter/NameThatArcadeGame_D276/image_thumb.png" width="644" border="0" />
          </a>
        </p>
        <p>
With the advent of color, there was this game involving a grid of city blocks. A dozen
or so triangles started moving from one side (or all sides?) through the grid. I don't
recall if you controlled the triangles or you controlled a car trying to get away
from them, but over time the triangles would end up crashing into each other and being
destroyed. And you either were trying to destroy them all before time ran out or you
were trying to keep them alive until you achieved some goal.
</p>
        <p>
          <strong>Name that Arcade Game!</strong>
        </p>
        <p>
          <font color="#ff0000">
            <strong>Update: </strong>
          </font>
          <font color="#000000">
            <strong>WillC2
Rocks</strong>! <a href="http://www.knowing.net/ct.ashx?id=a1b67e50-d97f-4de5-bc78-1a866a63ba87&amp;url=http%3a%2f%2fwww.klov.com%2fgame_detail.php%3fgame_id%3d10034">Targ</a> it
is! </font>
        </p>
        <p>
          <a href="http://www.knowing.net/ct.ashx?id=a1b67e50-d97f-4de5-bc78-1a866a63ba87&amp;url=http%3a%2f%2fwww.knowing.net%2fcontent%2fbinary%2fWindowsLiveWriter%2fNameThatArcadeGame_D276%2fimage_4.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="image" src="http://www.knowing.net/content/binary/WindowsLiveWriter/NameThatArcadeGame_D276/image_thumb_1.png" width="469" border="0" />
          </a>
        </p>
        <p>
Well, guess I'm going to have to renew my XNA Creator's Club membership...
</p>
        <img width="0" height="0" src="http://www.knowing.net/aggbug.ashx?id=a1b67e50-d97f-4de5-bc78-1a866a63ba87" />
      </div>
    </content>
  </entry>
</feed>