Tag Archives: Tools

Linux 3.0 RC1 Approved By Linus Torvalds, Adds Support for Kinect and More

Linux creator Linus Torvalds has approved a release candidate for the next version of the Linux kernel: Linux 3.0. According to ConveivablyTech, Linux 3.0 adds support for the Microsoft Kinect, optimizations for newer Intel and AMD platforms, cleancache, updated graphics drivers and more. An announcement from Torvalds also mentions ARM consolidation.

You can find the snapshot here.


Torvalds first announced Linux August 26, 1991 and Linux 3.0 marks the beginning of the third decade of Linux. But Torvalds is downplaying the importance of the 3.0 release:

So what are the big changes?

NOTHING. Absolutely nothing. Sure, we have the usual two thirds driver changes, and a lot of random fixes, but the point is that 3.0 is *just* about renumbering, we are very much *not* doing a KDE-4 or a Gnome-3 here. No breakage, no special scary new features, nothing at all like that. We’ve been doing time-based releases for many years now, this is in no way about features. If you want an excuse for the renumbering, you really should look at the time-based one (“20 years”) instead.

Tzury Bar Yochay wrote on Hacker News: ” Despite all criticism and cynicism all over the Linux communities about the numbering and all that stuff, for me, every release of the Kernel (as well as any other major / dominant open source platform / project) is a reason for celebration. It simply means, openness and freedom won the software/internet game.”

Here’s to hoping for another two decades of Linux.


Calipso: A CMS Built with Node.js and MongoDB

Calipso logo Move over Zotonic, there’s a new asynchronous, next-gen content management system in town.

Calipso is a CMS written in Node.js and using MongoDB as its database. According to the project website, Calipso doesn’t feature caching yet but can support around 180 hits a second. You can find it in Github here.


Calipso, Node.js CMS, screenshot

Calipso was built with the Node.js framework Express and the MongoDB object modeling tool Mongoose.

This is the first full fledged Node.js-based CMS we’ve seen, though Tim Caswell did build a blogging engine based on Node.js and Git called Wheat.

Calipso was created by London-based developer Clifton Cunningham. Cunningham has worked on several Node.js and Drupal project in the past.


Neo4j.rb Brings the Open Source Graph Database Neo4j to JRuby

Neo4j.rb is a JRuby graph database based on Neo4j and Lucene.

This brings the power of Neo4j to Ruby developers, and the project website claims that Neo4j.rb integration with Rails is “seamless.” We covered Neo4j and other graph databases previously.


The key features include:

  • Domain Modeling – use the language of a graph (nodes/relationship/properties) to express your domain !
  • Schema Less and Efficient storage of Semi Structured Information
  • No O/R mismatch – very natural to map a graph to an Object Oriented language like Ruby.
  • Performance
  • Embedded Database – no database tier, easier to install, test, deploy and configure. It is run in the same process as your application.
  • Express Queries as Traversals
  • Fast deep traversal instead of slow SQL queries that span many table joins.
  • Very natural to express graph related problem with traversals (recommendation engine, find shortest parth etc..)
  • Seamless integration with Ruby on Rails.
  • ACID Transaction with rollbacks support.

You can find other ways to use Ruby to work with Neo4j here.


Replicate MySQL to MongoDB with Tungsten Replicator

MongoDB logo You can now replicate data from MySQL data to MongoDB using Tungsten Replicator, an open source data replication engine for MySQL. It’s sponsored by Continuent, makers of Tungsten Enterprise.

The new functionality was added by Continuent CTO Robert Hodges, Flavio Percoco Premoli of The Net Planet and Continuent employee Stephane Giron as part of a hackathon at the Open DB Camp in Sardinia.


MySQL to MongoDB replication pipeline

Hodges has written a blog post explaining the process of creating the integration. Hodges describes the post as a cookbook for both adding new databases implementations to Tungsten Replicator and setting up MongoDB replication.


Add Feedback to Code with Chop

Chop logo Chop is a new tool for adding quick comments to code. Here’s the pitch: “Giving quick, one-off feedback on code is a pain. Code review tools are complex, expensive, and hard to use. Often we just want to share a quick contextual note with someone who may not have access to the entire code base.”

With Chop, you paste in some code, and then add quick a comment and share it.


Chop screenshot

Chop was created by the Web development company ZURB.

What do you think? Would this be a useful way to collaborate on code? I like the basic idea, but it seems a little limited. How would someone respond to a comment, or act on the feedback? On the other hand, simplicity is king when it comes to Web apps.


Picky: A Semantic Search Tool Built in Ruby

Picky logo Here’s another semantic search tool for Web application developers: Picky, a “a semantic text search engine for categorized data, such as varchar fields from a database.” It’s written in Ruby and you can grab the source here.

The developer, Florian Hanke, emphasizes that Picky is not a replacement for for full text search engines like Sphinx and Lucene. It’s just for searching small, structured data very quickly.


The features include:

  • Flexibly configure indexing
  • Easily configure handling query text, e.g. splits_text_on: /[\s\/\-\”\&]/
  • Multiple data sources (DB, CSV, …)
  • Choice of in-memory or Redis indexes.
  • Partial searching, pick*
  • Phonetic similarity, pecky~
  • Categorized searching, napoleon, title:war
  • Weighing not only categories, but combinations! { [:title, :author] => +3, [:isbn, :author] => -5 }
  • Range queries
  • Comfortable routing, route %r{/books} => book_query

You can find out more on the featuers page.


TermKit: A Graphical Replacement for Terminal

TermKit screenshot Steven Wittens got sick of staring at terminal screens from the 80s, and decided to do something about it. He built TermKit, a graphic replacement for terminal, using WebKit. But Wittens isn’t trying to build a GUI. TermKit is still a command line system. Instead, Wittens is trying to retain the power of the command line with modern displays.

Wittens acknowledges that the traditional UNIX-like command line has stood the test of time, he writes that many areas of computing have come a long way. “We’ve gotten a lot better at displaying information. We’ve also learned a lot of lessons through the web about data interchange, network transparency, API design, and more. We know better how small tweaks in an implementation can make a world of difference in usability.”


TermKit screenshot

TermKit screenshot

TermKit is more than just a pretty interface with some visualizations. It has a Node.js based back-end for dealing with asynchronous processes. Also, all the display updates are asynchronous, enabling background processes to run without overflowing the command prompt.

TermKit has received a lot of attention this week, and much of it has not been positive. It’s a project that’s galling to many UNIX purists, as well as those who have internalized many processes as part of their workflow. Looking at this project, it seems best fit for dealing with administration, not development.

“Every new adept has to pass a constant trial by fire, of not destroying their system at every opportunity it gives them,” Wittens writes. “We should be more pro-active in nudging our users in the right direction, and our tools should be designed for maximum discoverability.”

I’m reminded of what Neal Stephenson wrote about UNIX in his In the Beginning was the Command Line essay. Stephenson compares UNIX to the powerful drill called the Hole Hawg:

The Hole Hawg is dangerous because it does exactly what you tell it to. It is not bound by the physical limitations that are inherent in a cheap drill, and neither is it limited by safety interlocks that might be built into a homeowner’s product by a liability-conscious manufacturer. The danger lies not in the machine itself but in the user’s failure to envision the full consequences of the instructions he gives to it.

A smaller tool is dangerous too, but for a completely different reason: it tries to do what you tell it to, and fails in some way that is unpredictable and almost always undesirable. But the Hole Hawg is like the genie of the ancient fairy tales, who carries out his master’s instructions literally and precisely and with unlimited power, often with disastrous, unforeseen consequences.

Elitist users will undoubtedly refer to the ideas implemented in TermKit as training wheels. But given the thin margin of error UNIX affords, a more usable interface could be a big boon to all admins. That said, the project is in its earliest stages and there are many valid criticisms of the particulars of how TermKit is implemented. But it’s definitely a project to watch.


Build Semantic Web Search Tools with Sindice’s SIREn

Sindice logo This week the Semantic Web company Sindice released SIREn, a new semantic search plugin for Apache Lucene built on top of Apache Solr.

“While Lucene has long offered these capabilities, its native capabilities are not intended for large semi-structured document collections (or documents with very different schemas),” the project website says. “For this reason we developed SIREn – Semantic Information Retrieval Engine – a Lucene plugin to overcome these shortcomings and efficiently index and query RDF, as well as any textual document with an arbitrary amount of metadata fields.”


From Sindice’s announcement: “The difference between SIREn and any of your well known RDF databases is that it uses the same principles found in web search engines rather than techniques derived by the database world, namely it is an Information Retrieval based engine.”

Sindice is using SIREn as its new front-end – you can test drive it here.

Sindice also released a new version of its search API.


Mono’s Not Dead Yet: New Startup Will Offer Support, Further Development

Mono logo Earlier this month Attachmate laid off the developers working on Mono, an open source implementation of Microsoft .NET sponsored by Novell. Attachmate acquired Novell last year.

Today Mono creator Miguel de Icaza announced the formation of a new startup to support the open source project: Xamarin.


de Icaza wrote:

We have been trying to spin Mono off from Novell for more than a year now. Everyone agreed that Mono would have a brighter future as an independent company, so a plan was prepared last year.

To make a long story short, the plan to spin off was not executed. Instead on Monday May 2nd, the Canadian and American teams were laid off; Europe, Brazil and Japan followed a few days later. These layoffs included all the MonoTouch and MonoDroid engineers and other key Mono developers. Although Attachmate allowed us to go home that day, we opted to provide technical support to our users until our last day at Novell, which was Friday last week.

We were clearly bummed out by this development, and had no desire to quit, especially with all the great progress in this last year. So, with a heavy dose of motivation from my music teacher, we hatched a plan.

Now, two weeks later, we have a plan in place, which includes both angel funding for keeping the team together, as well as a couple of engineering contracts that will help us stay together as a team while we ship our revenue generating products.

According to de Icaza Xamarin will:

  • Build a new commercial .NET offering for iOS
  • Build a new commercial .NET offering for Android
  • Continue to contribute, maintain and develop the open source Mono and Moonlight components.
  • Explore the Moonlight opportunities in the mobile space and the Mac appstore.


Generate Files and Directories from Templates on Github with giter8

Github logo giter8 is “a command line tool to generate files and directories from templates published on github.” Its written in Scala on top of the Simple Build Tool, but you don’t need to be a Scala hacker to use it.

You can find a list of existing templates here.


In response to the question of how this is different than Lifty, giter8 creator Nathan Hamblen writes:

Lifty is an sbt processor, meaning it runs inside of sbt itself. You can’t run sbt or any processor until you have a project to run it in. Giter8 addresses step 1 of sbt project creation. You could use giter8 create a Lift project, then run Lifty inside it for fine tuning. You can also use giter8 to produce things that are not sbt projects at all.