Weeds, while hated, flourish

Who Makes All These Open Source Logos?

I want to take our Django/neo4j ORM- neo4django- to the next level. The library satisfies a demonstrable need- and a need that’s only growing. “The next level” will mean more features, better performance, and a sturdier code base.

At some point, though, I want open source to work for us. I’ve sunk a ton of time into the project, as have teammates and friends. The more new contributors we can garner, the easier it is to justify that initial work- and all users benefit from a better piece of software.

Client-Side Gremlin Libraries in Neo4j

Deciding to prefer Gremlin over the basic Neo4j REST API in neo4django was quite a plunge. It’s an ongoing process, but I’ve realized that clever use of Gremlin and Cypher are the future for performant remote access to the database, and the switch has already shown significant gains.

One of the first issues I had was the constant need to send large, repetitive scripts over the wire. I wanted a server-side library, but I couldn’t require all users of neo4django to install a custom database extension just to try out the library. Right now, users simply pip install neo4django, fire up the database, and they’re ready to go. That simplicity is important, and worth preserving. And with the recent Heroku addon, I know I’m not the only one with this problem.

Why another search engine?

Chatted with a friend and fellow developer after a workout. He asked what I was working on, and so I gave him a tired half-answer.

"How did you decide on that? Aren't there a ton of academic search engines?"

The question caught me unaware. I stumbled through it. It was pretty bad. Of course, on the drive home I was angry with myself for not immediately shouting the answer.

neo4django 0.1.5 Release

Yesterday, we released another major neo4django milestone. You can get it from PyPi or GitHub.

Because the library is not feature complete- in particular, the lack of relationship models is a problem for many Neo4j users- the milestone is merely a minor revision number. This milestone is important for a few reasons, however.

When To Open Source

The decision to release a piece of software into the wild can be difficult. Do you wait until you've fully expressed your vision, or push it out early in the hopes of greater community participation? If you push it out, will it be taken seriously? What if the kids on the Internet don't like me?