<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>defmacro.org</title>
    <link>http://www.defmacro.org/</link>
    <description>Ramblings on Lisp, Haskell, C++, compilers, web frameworks and more.</description>
    <language>en-us</language>

    <item>
      <title>Databases - A New Frontier</title>
      <link>http://www.defmacro.org/ramblings/relational.html</link>
      <description>
	Explicitly stating an interest for non-relational technologies
	is a little misleading. It suggests contempt for relational
	databases. And the talk about innovation suggests RDBMSes are
	are not innovative. Perhaps I started off on the wrong
	foot. Although my calculus is rusty, I am a mathematician at
	heart, and I can only admire the beauty and simplicity of
	relational algebra. Although modern databases are
	"pragmatized" versions of relational algebra, with much of its
	mathematical beauty stripped away, they appeal to me far more
	than most other tools.

	It's not just relational algebra. There are other things going
	for traditional databases in terms of mathematical beauty and
	innovation. For instance, it is far from obvious that it is
	possible to implement all four ACID properties simultaneously,
	and occasionally I am still amazed at how lucky we got. It is
	also amazing that traditional RDBMSes are interactive, while
	almost all other mainstream tools are not. I can type queries,
	compile stored procedures, modify the schema, and get
	immediate results, all without restarting the database. I am
	still fascinated at how people take this functionality for
	granted but don't mind complete impotence of Java in this
	department (sorry, hot deploy does not melt my butter the way
	Query Analyzer does).

	So what's missing? Why venture out to play with alternatives?
      </description>
      <pubDate>Thu, 07 Aug 2008 02:13:12 EST</pubDate>
      <guid isPermaLink="true">http://www.defmacro.org/ramblings/relational.html</guid>
    </item>
  
    <item>
      <title>Fractal - A Direct3D Demo of Natural Phenomena</title>
      <link>http://www.defmacro.org/ramblings/fractal.html</link>
      <description>
	Fractal is a Direct3D demo I wrote a number of years ago to
	showcase real-time procedural generation of natural phenomena
	on modern GPU hardware (GeForce 2, at the time). The demo
	implements the four elements - earth, fire, air (clouds and
	wind), and water. Procedural generation of natural phenomena
	was my passion before Lambda Calculus took over my life.
      </description>
      <pubDate>Wed, 02 Apr 2008 02:44:53 EST</pubDate>
      <guid isPermaLink="true">http://www.defmacro.org/ramblings/fractal.html</guid>
    </item>
  
    <item>
      <title>Querying s-expressions in Common Lisp</title>
      <link>http://www.defmacro.org/ramblings/s-query.html</link>
      <description>
	One downside of using Common Lisp to get things done is that
	occasionally libraries taken for granted in other languages
	are missing. I was using the excellent S-XML library to
	convert XML to s-expressions, when I realized that Common Lisp
	has no library equivalent in functionality to an
	implementation of XQuery.
	  
	I needed to extract quite a bit of information from the
	s-expressions I acquired. Using CAR, CDR, MEMBER, and FIND
	quickly became infeasible. I had to roll my own query
	mechanism. It took me about twenty minutes to produce an
	acceptable solution. It's only around 45 lines of code.
      </description>
      <pubDate>Tue, 01 Apr 2008 22:11:17 EST</pubDate>
      <guid isPermaLink="true">http://www.defmacro.org/ramblings/s-query.html</guid>
    </item>
  
    <item>
      <title>A Lambda Calculus Reducer</title>
      <link>http://www.defmacro.org/ramblings/lambda-reducer.html</link>
      <description>
	About a month ago I decided to buy some time from society by
	doing a trial run of graduate studies - I took some Computer
	Science courses at Stony Brook University. The first homework
	for the Programming Languages course was to write a lambda
	calculus reducer - a task I happily jumped on. A few hours
	later I had it implemented in 105 lines of Haskell code.
      </description>
      <pubDate>Sun, 24 Feb 2008 16:55:04 EST</pubDate>
      <guid isPermaLink="true">http://www.defmacro.org/ramblings/lambda-reducer.html</guid>
    </item>
  
    <item>
      <title>A User Interface Definition Language in Common Lisp</title>
      <link>http://www.defmacro.org/ramblings/ui-dsl.html</link>
      <description>
	I like HTML in the same way I like PDF - as a document
	serialization format that does a reasonable job and that I
	never want to modify by hand. This is one of the main reasons
	I started Weblocks framework - I never wanted to write a line
	of HTML again. Ironically, I ended up writing a lot of HTML
	and learning more about its quirks, accessibility issues, and
	CSS hooks than I ever wanted to, but I finally ended up with a
	high level user interface definition language embedded into
	Common Lisp. Finally, HTML is out of my life, for good. Being
	lazy does pay off.
      </description>
      <pubDate>Wed, 13 Feb 2008 21:32:43 EST</pubDate>
      <guid isPermaLink="true">http://www.defmacro.org/ramblings/ui-dsl.html</guid>
    </item>
  
  </channel>
</rss>
