<?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>Reflective Surface</title>
	<atom:link href="http://log.reflectivesurface.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://log.reflectivesurface.com</link>
	<description>Still powered by a contradiction in terms</description>
	<pubDate>Fri, 02 May 2008 15:17:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>A conversation with Randal L. Schwartz</title>
		<link>http://log.reflectivesurface.com/2008/05/02/a-conversation-with-randal-l-schwartz/</link>
		<comments>http://log.reflectivesurface.com/2008/05/02/a-conversation-with-randal-l-schwartz/#comments</comments>
		<pubDate>Fri, 02 May 2008 15:04:50 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Seaside]]></category>

		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/05/02/a-conversation-with-randal-l-schwartz/</guid>
		<description><![CDATA[During FISL, I had the opportunity to watch Randal L. Schwartz talk about Seaside. Schwartz is very well known in many open source communities&#8211;especially in the Perl one&#8211;and now is evangelizing Smalltalk and Seaside. I asked him if we could talk a bit about the subject, given my previous interest in the field, and he [...]]]></description>
			<content:encoded><![CDATA[<p>During FISL, I had the opportunity to watch <a href="http://fisl.softwarelivre.org/9.0/papers/pub/programacao/43">Randal L. Schwartz talk about Seaside</a>. <a href="http://www.stonehenge.com/merlyn/">Schwartz</a> is very well known in many <a href="http://twit.tv/FLOSS">open source communities</a>&#8211;especially in the Perl one&#8211;and now is evangelizing Smalltalk and Seaside. I asked him if we could talk a bit about the subject, given my <a href="http://log.reflectivesurface.com/index.php?s=seaside">previous interest in the field</a>, and he graciously agreed to an interview.</p>

<p>Without further ado, here&#8217;s what we talked about:</p>

<dl>

<dt>Tell us a bit about you: what&#8217;s your background, how did you started programming, what are you doing today?</dt>

<dd>
<p>I taught myself programming when I was 9.  By the time I was 15, I was
teaching programming from the front of the room to my classmates, and writing
contract code on the weekends for real money.</p>
<p>I worked for three different companies for a total of eight years, before
starting Stonehenge in 1985.  Stonehenge has grown over the years: we&#8217;ve
can count 17 of the Fortune 100 Companies as our clients.</p>
<p>I spend a lot of my time lecturing and writing these days, but I also still
design, create, and review code as well.  I answer questions for free for
about an hour or two each day on the dozens of mailing lists and blogs and web
communities I frequent.</p>
</dd>

<dt>You are extremely famous in the Perl community, but now you are
strongly advocating Smalltalk/Seaside. What did change? When did you
start using Smalltalk?</dt>

<dd><p>I started using Smalltalk before Perl was even invented, back in 1982.  I&#8217;ve
already written that story up at <a href="http://methodsandmessages.vox.com/library/post/transcript-show-hello-world-cr.html">my blog</a>.</p></dd>

<dt>What are Smalltalk advantages over other traditional languages like  Perl,
Ruby or Python, for example?</dt>

<dd>
<p>Smalltalk has a very simple syntax: I can teach the entire syntax in about 20
minutes, and include it as part of my talk introducing people to Seaside.
The major Smalltalk implementations (except GNU Smalltalk) also
have a mature IDE, allowing easy exploration of code relationships, and to
learn the libraries as needed by looking at both the implementation and the
uses.</p>
<p>And that&#8217;s a bonus as well: we have two commercial smalltalks (Cincom and
GemStone/S) as well as two open smalltalks (Squeak and GNU Smalltalk) all
supporting Seaside. This allows a nervous manager who might be hesitant at
selecting a strictly &#8220;volunteer-based&#8221; language to also have two commercial
vendors to pick up support.  Options are good!</p>
</dd>

<dt>Do you believe Smalltalk will finally reach mainstream status?</dt>

<dd>
<p>Well, it *had* mainstream status in the mid 90s, just before Java entered, at
least with large Wall Street firms and other institutions who wanted rapid GUI
development to stay ahead.</p>
<p>But yes, I believe Smalltalk is positioned today to reenter as a major
player.  For details, see my <a href="http://methodsandmessages.vox.com/library/post/the-year-of-smalltalk.html">&#8220;Year of Smalltalk&#8221; post</a>.</p>
</dd>

<dt>Also, your talk was entitled, &#8220;Seaside: Your Next Web Framework&#8221;.
What is really interesting about Seaside?</dt>

<dd>
<p>I like how Seaside can abstract both control flow (along one axis) and
representation (along the other axis) with relative ease.  Seaside seems to
put the right related things near each other.  I also like the &#8220;debug the
broken webhit within the webhit&#8221;: when something blows up, I can explore in
the standard debugger, fix what&#8217;s broken, patch up any mess, and then continue
within the same web hit, as if nothing broke.</p>
<p>Also, the traditional Rails persistence is provided with Active Record, which
requires objects to go through an object-relational mapper to drive SQL
queries.  Seaside can do the same thing (via GLORP), but a better solution is
to avoid the mapping entirely, using things like the open source Magma
solution, or the commercial GemStone/S Virtual Machine.  When you can get rid
of the ORM layer, you get a lot of speed back, and a much easier programming
environment.</p>
</dd>

<dt>What do you see in Seaside&#8217;s future, and how does it compare to the
future of the other frameworks?</dt>

<dd><p>The Seaside team is currently refactoring and repackaging Seaside so that
portability will be easier to manage and so that you can pull in just
the parts that you need.  I also see a lot of bolt-ons being created, like
the Pier CMS and adaptors for various APIs such as Google Graphs.</p></dd>

<dt>Do you think the market is ready for Seaside?</dt>

<dd><p>Yes.  Ruby on Rails reopened the discussions about what to do in a post-Java
world, by going back to the late-binding languages like Perl and Python and
Smalltalk.  And Seaside is a mature framework, being even older than Rails,
but just not as well known.  I&#8217;m hoping to change that.</p></dd>

<dt>Have you deployed anything using Seaside? If so, what were the
challenges?</dt>

<dd><p>I&#8217;m working on a few projects now, but nothing is public yet.  The initial
challenge was the relative lack of documentation, so I spent the better part
of two days going through every posting to the Seaside mailing list.  I feel
much better informed now, but my eyes were pretty bleary.  I hope to repackage
the knowledge I gained into postings to my blog as well as helping to answer
questions on the IRC channel and mailing list.</p></dd>

<dt>You are now part of the Squeak Foundation Board. What are your
plans for the Foundation?</dt>

<dd><p>My primary concerns are licensing issues, release management, and proper
publicity.  All of these issues are being addressed, but of course, we&#8217;re all
volunteers and always looking for more qualified volunteers to help.</p></dd>

<dt>Are there any Squeak Foundation plans for Seaside?</dt>

<dd><p>Nothing formal that I&#8217;m aware of.  However, Squeak is the primary development
platform for Seaside, so we&#8217;re sure that Squeak will remain an essential
component.</p></dd>

<dt>What are the most promising developments in the Smalltalk/Seaside
world currently?<dt>

<dd><p>Well, what got me involved is GLASS, the GemStone/Linux/Apache/Seaside/Squeak
solution to get people up and running with Seaside quickly.  This also
entailed the GemStone management creating a zero-cost commercial license for a
fully functional (but limited) version of GemStone/S.  With this free version
of GemStone/S, you can build a business, and when your business exceeds the
capabilities, there are strategies about migrating to larger licenses that are
reasonable.  It&#8217;s a great solution for getting a rock-solid
commercially-supported Smalltalk VM with persistence and clustering into your
plans.</p></dd>

<dt>What about next year&#8217;s FISL. How did you manage to get three entire
days for Smalltalk?</dt>

<dd><p>As I said, &#8220;it all started over a couple of Caipirinhas&#8230;&#8221;</p></dd>

<dt>What are your plans for those three days? Do you plan to bring
other Smalltalkers?</dt>

<dd><p>I will be working with the FISL organizers and the various vendors and groups
of the Smalltalk community to produce a full mini-conference.  I hope to have
both beginning and advanced Smalltalk training, as well as various Seaside
tutorials.  I expect this conference will attract a significant number of
Smalltalk developers to FISL for the first time, as well as expose Smalltalk
to the remainder of FISL, so it&#8217;s a win for everybody.</p></dd>

</dl>

<p>Many thanks, Mr. Schwartz, for the interview.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/05/02/a-conversation-with-randal-l-schwartz/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Arc</title>
		<link>http://log.reflectivesurface.com/2008/03/03/arc/</link>
		<comments>http://log.reflectivesurface.com/2008/03/03/arc/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 11:28:20 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Funny / Weird]]></category>

		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/03/03/arc/</guid>
		<description><![CDATA[Arc&#8217;s Out:


  Arc is still a work in progress. We&#8217;ve done little more than take a snapshot of the code and put it online.


I&#8217;ve working on this for a long, long time and realized I&#8217;ll never get it done properly so I&#8217;ll release it anyway.


  Why release it now? Because, as I suddenly [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://paulgraham.com/arc0.html">Arc&#8217;s Out</a>:</p>

<blockquote>
  <p>Arc is still a work in progress. We&#8217;ve done little more than take a snapshot of the code and put it online.</p>
</blockquote>

<p>I&#8217;ve working on this for a long, long time and realized I&#8217;ll never get it done properly so I&#8217;ll release it anyway.</p>

<blockquote>
  <p>Why release it now? Because, as I suddenly realized a couple months ago, it&#8217;s good enough.</p>
</blockquote>

<p>It&#8217;s shit but I&#8217;m famous enough that people will be talking about it for a long time. People will think it&#8217;s good even if it&#8217;s really just a bunch of macros on top of Scheme.</p>

<blockquote>
  <p>I worry about releasing it, because I don&#8217;t want there to be forces pushing the language to stop changing.</p>
</blockquote>

<p>I&#8217;m not going to change it, but if you idiot enought to want to use it, remember that there&#8217;s not documention. In other words, don&#8217;t call me if you can understand a single line of the code.</p>

<blockquote>
  <p>Which is why, incidentally, Arc only supports Ascii. MzScheme, which the current version of Arc compiles to, has some more advanced plan for dealing with characters. (&#8230;) But the kind of people who would be offended by that wouldn&#8217;t like Arc anyway.</p>
</blockquote>

<p>I don&#8217;t understand and don&#8217;t care for any <a href="http://jacobian.org/writing/2008/jan/30/arc/">other character</a> set other than my precious ASCII. I learned it forty years ago and I&#8217;m not giving it up now. No way. Ah, that why Yahoo! completely rewrote the application I sold them. Bunch of losers.</p>

<blockquote>
  <p>Why? Because Arc is tuned for exploratory programming, and the W3C-approved way of doing things represents the opposite spirit.</p>
</blockquote>

<p>Also, I don&#8217;t understand anything about new and modern standards and technologies like XHTML and CSS. And I&#8217;m not waste my precious VC time learning them. And I don&#8217;t care about you people who dare to make the Web less complicated. Did I mention why Yahoo! had to rewrite the program they bought from me?</p>

<blockquote>
  <p>Tables are the lists of html. The W3C doesn&#8217;t like you to use tables to do more than display tabular data because then it&#8217;s unclear what a table cell means.</p>
</blockquote>

<p>I told you. I don&#8217;t understand anything about HTML.</p>

<blockquote>
  <p>So experience suggests we should embrace dirtiness. Or at least some forms of it; in other ways, the best quick-and-dirty programs are usually quite clean.</p>
</blockquote>

<p>Look! A dumpster! Let&#8217;s have some fun!</p>

<blockquote>
  <p>Arc tries to be a language that&#8217;s dirty in the right ways. It tries not to forbid things, for example. (&#8230;) For now, best to say it&#8217;s a quick and dirty language for writing quick and dirty programs.</p>
</blockquote>

<p>I lost so much time with this shit that the world should share my pain. Basic, watch yourself. It&#8217;s Arc time! Agora é a vez do Arc.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/03/03/arc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Pragmatic Programmer</title>
		<link>http://log.reflectivesurface.com/2008/03/02/the-pragmatic-programmer/</link>
		<comments>http://log.reflectivesurface.com/2008/03/02/the-pragmatic-programmer/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 15:54:19 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Reading]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/03/02/the-pragmatic-programmer/</guid>
		<description><![CDATA[This is another book about software as a craft but written in a style that&#8217;s much more interesting and accessible. Dave Thomas and Andy Hunt have a lot of experience in the field and it shows.

Most of the advice given is pretty obvious but every programmer should remind himself now and them of what&#8217;s important [...]]]></description>
			<content:encoded><![CDATA[<p>This is another book about software as a craft but written in a style that&#8217;s much more interesting and accessible. Dave Thomas and Andy Hunt have a lot of experience in the field and it shows.</p>

<p>Most of the advice given is pretty obvious but every programmer should remind himself now and them of what&#8217;s important to his programming career. This book does exactly that.</p>

<p>Most of the advice provided in the book is in those areas where programmers have more trouble&#8211;like communication and dealing with managers. That&#8217;s very necessary, considering how much more integrated progamming has become today, and more so in Agile contexts where outside interaction is paramount. But there is also a lot of practical advice about the best way to prototype, how to handle the problem domain in terms of languages choice and lots of similar subjects.</p>

<p>Also, reading this book reminds me again of how bad <a href="http://log.reflectivesurface.com/2008/02/07/software-craftsmanship/">Software Craftsmanship</a> was. McBreen really sounds like he read this book, had a couple of nice insights and decided to write an entire book on what should have been an article or an essay.</p>

<p>Of course, two of the most interesting parts of the books are the challenges and exercises. The challenges are questions about the text just read, leading the reader to expand his comprehension and think about the way what has been just learned applies to his work. The exercises, on the other hand, are more about practicing the knowledge in code. Both are good tools to make sure the knowledge acquired in fixed into the reader&#8217;s memory.</p>

<p>Of course, the book is not without flaws although many of them may be attributed to the time in which it was written. For example, there is a tendency in the text to present Java and its related technologies as leading the way to the future. But those are small problems in a otherwise great book.</p>

<p>The ending was a little slow, as well, in face of everything that was already said but I would encourage readers to stick with the book. Even in the slow chapters there a lot of food for thought.</p>

<p>All in all, this is a practical and current book that will benefit every programmer reading it. Even programmers with a lot of experience will learn something or at least be reminded of things they should be doing and may not be doing right now. I strongly recommend it.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/03/02/the-pragmatic-programmer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Seaside Bookshelf</title>
		<link>http://log.reflectivesurface.com/2008/02/14/the-seaside-bookshelf/</link>
		<comments>http://log.reflectivesurface.com/2008/02/14/the-seaside-bookshelf/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 18:28:36 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Seaside]]></category>

		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/02/14/the-seaside-bookshelf/</guid>
		<description><![CDATA[To those curious about the way Seaside applications are structured or just looking for a simple example to see how they differ from the other more usual Web frameworks, I&#8217;m making available the code of a simple experiment of mine: a small system to keep information about the books I&#8217;m reading, have read or intend [...]]]></description>
			<content:encoded><![CDATA[<p>To those curious about the way <a href="http://seaside.st">Seaside</a> applications are structured or just looking for a simple example to see how they differ from the other more usual Web frameworks, I&#8217;m making available the code of a simple experiment of mine: <a href="http://books.reflectivesurface.com/">a small system to keep information</a> about the books I&#8217;m reading, have read or intend to read.</p>

<p>For the remote possibility somebody asks about this, the system is inspired and modeled after <a href="http://www.nodecaf.org/">Caffo</a>&#8217;s <a href="http://books.nodecaf.org/">bookshelf</a>. Of course, his system is prettier&#8211;and faster too, at the moment.</p>

<p>Some caveats about the code:</p>

<ul>
<li>It&#8217;s running on a very old and underpowered server.</li>
<li>This is an alpha version so don&#8217;t expect subtleties in the code. I&#8217;m still learning Seaside, and migrating from 2.6 to 2.8 proved an interesting exercise. </li>
<li>The application depends on an instance of [GOODS]. The connection data for the instance can be configured in the application settings.</li>
<li>The login is a beautiful example of how things <strong>should not</strong> be done. I started with a normal login system, got lazy in the process, and adapted it to allow just one user to log. The user can be configured in the application settings as well.</li>
<li>I&#8217;m not using any deployment optimizations. Everything is in memory, and thumbnails are generated on the fly.</li>
<li>The code is Squeak-specific.</li>
</ul>

<p>That said, the system shows how a Seaside application runs, and how Magritte can be used to model data. It&#8217;s enough to show how Seaside is different from any other of the usual Web frameworks in use today.</p>

<p>The code can be found below:</p>

<ul>
<li><a href="http://static.reflectivesurface.com/binaries/2008/02/13/Bookshelf-rmf.19.mcz">Base code</a></li>
<li><a href="http://static.reflectivesurface.com/binaries/2008/02/13/MagritteFixes-rmf.5.mcz">Magritte adaptations</a> (personal taste)</li>
</ul>

<p>While the code will run in any Squeak 3.9 image, I recommend Damien Cassou&#8217;s <a href="http://damien.cassou.free.fr/">Squeak-Web image</a>. With his latest image, it&#8217;s just a matter of loading GOODS and the code to begin development. GOODS configuration, of course, is left as an exercise to the reader.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/02/14/the-seaside-bookshelf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Obama ahead</title>
		<link>http://log.reflectivesurface.com/2008/02/13/obama-ahead/</link>
		<comments>http://log.reflectivesurface.com/2008/02/13/obama-ahead/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 13:34:26 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Society]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/02/13/obama-ahead/</guid>
		<description><![CDATA[I&#8217;m impressed with the extent of Obama victories in the past weeks. Not only he is surpassing the margins predicted, but those numbers are predicated on people who analysts were sure would vote for Hillary&#8211;like the Latino population in Virginia, for example.

I confess I&#8217;m still trying to decide whether people are voting for Obama because [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m impressed with <a href="http://edition.cnn.com/2008/POLITICS/02/12/potomac.primaries/index.html">the extent of Obama victories</a> in the past weeks. Not only he is surpassing the margins predicted, but those numbers are predicated on people who analysts were sure would vote for Hillary&#8211;like the Latino population in Virginia, for example.</p>

<p>I confess I&#8217;m still trying to decide whether people are voting for Obama because although black he&#8217;s still a man. I&#8217;m not naïve enough to presume all voters are choosing him because he&#8217;s more qualified, especially considering the Latino population&#8211;at least here in Brazil&#8211;has always been strongly sexist where woman in leadership positions are concerned.</p>

<p>Of course, part of this will be tested when Obama&#8211;as it seems likely now&#8211;goes against the Republican candidate in November. Considering the way the Republican nomination is going, and that many Republicans are actually voting for Obama, the outcome of the election will demonstrate how ready the American people is ready for a president unlike any other in history.</p>

<p>I&#8217;m hoping that Obama wins. Not because Hillary is a woman but because I dislike the way she abides to the old school of politics. America needs a new face and Obama would clearly resonate a lot better with the rest of the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/02/13/obama-ahead/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Software Craftsmanship</title>
		<link>http://log.reflectivesurface.com/2008/02/07/software-craftsmanship/</link>
		<comments>http://log.reflectivesurface.com/2008/02/07/software-craftsmanship/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 16:11:33 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/02/07/software-craftsmanship1/</guid>
		<description><![CDATA[Recently, somebody recommended me to take a look at Software Craftsmanship, by Pete McBreen, as a good treatment of software engineering versus software craftsmanship as approaches for software development.

The theme is indeed interesting, but I was surprised to see how badly the book is written. McBreen, granted, does a decent job of presenting the main [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, somebody recommended me to take a look at <a href="http://www.mcbreen.ab.ca/SoftwareCraftsmanship/">Software Craftsmanship</a>, by Pete McBreen, as a good treatment of software engineering versus software craftsmanship as approaches for software development.</p>

<p>The theme is indeed interesting, but I was surprised to see how badly the book is written. McBreen, granted, does a decent job of presenting the main arguments for both sides&#8211;which is more than you would expect from a proponent of a specific approach&#8211;but he also repeats those same arguments endlessly. I don&#8217;t know how an editor managed to let something like that happen, but if the incessant repetition were to be eliminated the book would lose at least three quarters of its almost three hundred pages.</p>

<p>McBreen&#8217;s argument is simple: Software engineering is appropriate only for huge projects (those is the 100 developer-years and above). For simple projects, needing faster development and no critical hardware infrastructure, the old concept of craftsmanship is much more interesting: a master craftsman running a team of journeyman and apprentices.</p>

<p>I agree with the arguments and many of the other conclusions presented my McBreen. In fact, to the extent I&#8217;m concerned, that&#8217;s exactly the way I&#8217;ve been running my own small company. The results, so far, have been excellent.</p>

<p>Mane people reading the book, however, will quickly give up after reading two or three entire chapters essentially saying the same thing. They won&#8217;t look kindly also, to statements like the one below:</p>

<blockquote>
  <p>Software craftsmanship is the new imperative because many members of the software development community are stating to chase technology for its own sake, forgetting what is important.</p>
</blockquote>

<p>The fact that the second part of that sentence is painfully obvious and that the relationship between the first and second part is clearly a <span class= "foreign-word" lang="la">non-sequitur</span> doesn&#8217;t seem to bother McBreen, tough.</p>

<p>Nevertheless, much of what McBreen is talking about is valid and necessary, as when he describes how <em>good enough software</em> is not really good to users or the industry. Some of this analysis of the prevalent (and wrong) metaphors&#8211;like car building versus car design&#8211;were interesting enough to motivate me to finish the book.</p>

<p>Ultimately, the book is necessary and part of one of the most important debates taking place today in the industry. I&#8217;m afraid, however, that many readers will abandon the book after a couple chapters after being put off by McBreen&#8217;s redundant style. More&#8217;s the pity because a good editor would made the book the new Peopleware.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/02/07/software-craftsmanship/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Online Primary</title>
		<link>http://log.reflectivesurface.com/2008/01/30/online-primary/</link>
		<comments>http://log.reflectivesurface.com/2008/01/30/online-primary/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 21:11:43 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[World]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/01/30/online-primary/</guid>
		<description><![CDATA[Via Read/Write Web, an interesting site that simulates the US primary: Online Primary. According to the article, the site is an experiment in online elections&#8211;something I believe we are very far from being able to do, not because the technology is not here but because we can&#8217;t trust the established providers.

Very few people have &#8220;voted&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.readwriteweb.com/archives/onlineprimary_internet_elections.php">Via Read/Write Web</a>, an interesting site that simulates the US primary: <a href="http://onlineprimary.us/">Online Primary</a>. According to the article, the site is an experiment in online elections&#8211;something I believe we are very far from being able to do, not because the technology is not here but because we can&#8217;t trust the established providers.</p>

<p>Very few people have &#8220;voted&#8221; using the site so far but it&#8217;s interesting to see that Democrats seems to be more likely to engage in such experiments and it&#8217;s also interesting to note the Barack Obama almost doesn&#8217;t have votes in the &#8220;Anybody But&#8221; category.</p>

<p>The Democratic nomination being about people rejecting a candidate and not about people choosing one, it will be fascinating to follow the site and see the nascent trends.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/01/30/online-primary/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Living in Code</title>
		<link>http://log.reflectivesurface.com/2008/01/27/living-in-code/</link>
		<comments>http://log.reflectivesurface.com/2008/01/27/living-in-code/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 13:01:07 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Geek Stuff]]></category>

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

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/01/27/living-in-code/</guid>
		<description><![CDATA[God said, &#8220;Cancel Program GENESIS.&#8221; The universe ceased to exist.&#8212; Arthur C. Clarke

The Universe as a virtual machine or a simulation is a very old idea. Even outside of science, many culture have thought of the material existence as the dream of a god.

Christianity has always dealt introspectively with questions about the relationship of God [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>God said, &#8220;Cancel Program GENESIS.&#8221; The universe ceased to exist.</p><p align="right">&mdash; <cite><a href="http://www.wired.com/wired/archive/14.11/sixwords.html">Arthur C. Clarke</a></cite></p></blockquote>

<p>The Universe as a virtual machine or a simulation is a very old idea. Even outside of science, many culture have thought of the material existence as the dream of a god.</p>

<p>Christianity has always dealt introspectively with questions about the relationship of God and the Universe. For example, if only God existed before time and space, where is the Universe in relation to God, and whether the Divinity had to limit Himself when He created the Universe.</p>

<p>More recently, with the rise of favorable conditions, many people have started to devote more time to this kind of exploration&#8211;which is a very natural curiosity I may add, considering we all want to know how and why we are here, in this particular time and state.</p>

<p>So it&#8217;s no surprise that a recent article, <a href="http://arxiv.org/abs/0801.0337">The Physical World as a Virtual Reality</a>, attempts to frame the virtual reality question in light of modern physics. The article is the result of a scientist&#8217;s exploration about the implications of a virtual Universe within our current physics framework.</p>

<p>It&#8217;s a fascinating reading although no conclusion is given, and no attempt is made to create any mathematical models around the questions present&#8211;something I doubt is possible now, and which, in fact, may not be ever possible. Of course, if we were able to prove that the Universe is a simulation, the implications would be civilization-changing (<a href="http://en.wikipedia.org/wiki/Simulacron-3">Simulacron-3</a> / <a href="http://en.wikipedia.org/wiki/The_Thirteenth_Floor">The 13th Floor</a> are very good fictional explorations of those themes).</p>

<p>But more interesting than that would be attempts to hack the code of the Universe, changing and introducing new laws. One could imagine an infinite series of Universes, each running their own giant simulations and experiments.</p>

<p>Of course, that begs the ultimate questions: if we are in a simulation, which form do take <a href="http://en.wikipedia.org/wiki/Blue_Screen_of_Death">blue screens of death</a>?</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/01/27/living-in-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Kenna</title>
		<link>http://log.reflectivesurface.com/2008/01/22/kenna/</link>
		<comments>http://log.reflectivesurface.com/2008/01/22/kenna/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 21:14:23 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/01/22/kenna/</guid>
		<description><![CDATA[In Blink, Malcolm Gladwell uses musician Kenna as an example of good music that is not marketable because marketing people can&#8217;t usually recognize it as good but who knowledgeable music lovers will love.  According to Gladwell, this is an example where just sampling something will not yield accurate results when using intuitive expertise.

Regardless of [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://en.wikipedia.org/wiki/Blink_%28book%29">Blink</a>, Malcolm Gladwell uses musician Kenna as an example of good music that is not marketable because marketing people can&#8217;t usually recognize it as good but who knowledgeable music lovers will love.  According to Gladwell, this is an example where just sampling something will not yield accurate results when using intuitive expertise.</p>

<p>Regardless of Gladwell&#8217;s conclusions, I decided to try and hear a bit of Kenna&#8217;s music&#8211;and I was floored. Kenna&#8217;s music is unclassifiable. It&#8217;s a powerful mix of many styles, so well matched that one can&#8217;t help but listen endlessly to the variations just one song can provide.</p>

<p>I&#8217;ve been listening to the songs of the <em>Make Sure They See My Hands</em>, and the variation is unbelievable. <em>Daylight</em>, the album&#8217;s first song, for example, opens with a very New Age intro, evolves to a mix of soul and eletronica, and finally becomes an operatic rock song. <em>Be Still</em>, on the other hand, has the melodic roots of a traditional rock son but also includes a soft blend of synth pop that makes it unforgettable.</p>

<p>All other music share this kind of diversity, using a mix of hip hop, house, synth pop, eletronica, soul, rock, and many other styles that will probably satisfy even the most demanding music lover. The U2 influence is evident in many songs (<em>Sun Red, Sky Blue</em> could have been a U2 song) and I liked that aspect of Kenna&#8217;s music as well.</p>

<p>In short, a very worth addition to my music library.</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/01/22/kenna/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Needed: a new paradigm for Web development</title>
		<link>http://log.reflectivesurface.com/2008/01/18/needed-a-new-paradigm-for-web-development/</link>
		<comments>http://log.reflectivesurface.com/2008/01/18/needed-a-new-paradigm-for-web-development/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 04:51:59 +0000</pubDate>
		<dc:creator>Ronaldo</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

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

		<guid isPermaLink="false">http://log.reflectivesurface.com/2008/01/18/needed-a-new-paradigm-for-web-development/</guid>
		<description><![CDATA[In the past few days I have been thinking about the future of development&#8211;especially about the growing interest in tests and domain specific languages, and about the new trends in Web development. I was surprise to realize that, despite the fact the much talking has been done about how they may revolutionize the field, no [...]]]></description>
			<content:encoded><![CDATA[<p>In the past few days I have been thinking about the future of development&#8211;especially about the growing interest in tests and domain specific languages, and about the new trends in Web development. I was surprise to realize that, despite the fact the much talking has been done about how they may revolutionize the field, no significant application or framework is combining those concepts in something truly new.</p>

<p>The historic of the field is abysmal. We are now forty years into a period of very few changes in the conceptual basis of software development. For twenty years we have been using basically the same tools, practicing the same moves, and not moving are all. The industry remains bound to the minefield of object oriented programming, relational databases, and bottom-up design.</p>

<p>With regards to Web development, for example, although innovative in many ways, Rails and Django share two flaws that will make them obsolete as quickly as the other many frameworks that have graced the field in the last decade.</p>

<p>The first flaw is conceptual fragmentation. In an attempt to make Web development &#8220;painless&#8221;, those two frameworks and their descendants have diluted the way the application domain is considered in the application. It&#8217;s a more manageable&#8211;dumbed-down, if you will, way to develop application but the disconnection between code and domain is fairly evident.</p>

<p>The second flaw is the fixation of opinionated solutions. The use of REST by Rails is a good example of this kind of fixation. REST is a very useful concept, even necessary for some applications, but Rails half-baked external solution, full of accessory tricks, is sub-optimal. But Rails developers are sticking to it without questioning what it represents for their applications because Rails is opinionated software.</p>

<p>In fact, many of those so-called modern frameworks are just pretending complexity does not exist or that they can be easily managed by the use of small methods and a couple of tests.</p>

<p>Test-driven development is now being considered a silver bullet. New developers are using it as a panacea&#8211;as a way to guide design as if it would be possible to analyze the problem domain of the application by peering at the small window offered by TDD. The enormous amount of examples showing how to test what has been already tested is quite insane.</p>

<p>Seaside, which I tend to defend as a next step in Web development because of its innovative application of old concepts and its refusal to submit to the common solutions, is not the full solution though. Is great, it&#8217;s necessary, but it is still a step below what we really need.</p>

<p>Hopefully, the interest in concepts like <a href="http://en.wikipedia.org/wiki/Language-oriented_programming">language oriented programming</a> will invite attempts to solve the Web development problem is new ways that will transform the field until the next revolution is needed.</p>

<p>Maybe we need a way to generate <a href="http://blog.davidchelimsky.net/articles/2007/10/21/story-runner-in-plain-english">executable specifications</a> that will really a way to build applications, and not a inferior way to model the expected behavior of an application. Maybe that can be a New-Year resolution: to think of a way to connect the dots, to join the loose treads created in the past twenty years. Is anybody up to it?</p>
]]></content:encoded>
			<wfw:commentRss>http://log.reflectivesurface.com/2008/01/18/needed-a-new-paradigm-for-web-development/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
