scott.to_html

The occasional tech blog of Scott Lowe.

L-system Axial Trees With Clojure

Learning Clojure

I’ve spent much of the last year writing Ruby by day and learning Clojure at night. It’s time to write a little about what I’ve been up to, and what I’ve learned.

I found a Wikipedia article about L-systems (Lindenmayer Systems) and was immediately attracted to the images of patterns that mimicked the growth processes of plants. This inspired me to write some code to generate these systems and draw their output, in order to improve my practical understanding of Clojure.

The code is here on GitHub.

PostgreSQL Full Text Search Is Often Good Enough

Full text-search with ranking. It’s a popular feature in many web applications and there’s a great deal of full-featured and extremely capable solutions available to a Ruby/Rails developer, for example, search servers like Solr (Lucene) or more Rails-specific solutions like Thinking Sphinx (Sphinx).

TL;DR

If you are already using PostgreSQL in your project, take time to consider if it can already fulfil your text search requirements before reaching for other solutions.

Discussion

Developers of web applications often ask for advice concerning which text search technology they should choose for their app. I’ve noticed that within the Ruby community, a pre-established shortlist of solutions is typically presented that refers to Solr, Sphinx and similar dedicated search/indexing technologies

Liquid error: undefined method `lstrip’ for #<Array:0x007fbadd8aacb0>

Stand-alone dedicated text search servers could well add new layers of potentially unwelcome dependencies and complexity to web applications in their early stages of development. In addition, search servers can consume more valuable resources (RAM) when deployed. This isn’t an issue for everybody, but it can be a significant problem for small to medium sized projects on a tight budgets when they are deployed to smaller VPS instances.

Deploying Rails 3 With JRuby 1.5, Daemonized GlassFish Gem & Nginx on Ubuntu 10.04

Blog migration

This blog has been migrated from Posterous. This post is a place holder link to the original full-length blog post.

Links to the original posts

You can find the all 3 original posts here:

Footnote

The JRuby world has moved on significantly since these posts were written back in 2010. And whilst GlassFish is still a great application server, sadly, the GlassFish gem itself is no longer properly maintained.

Fortunately, there are some great JRuby/Rails deployment options available these days.

I would recommend either a simple, lightweight embedded Tomcat via the Trinidad gem, or the heavier, but feature-packed TorqueBox built on top of JBoss AS.