Time To Reinvent More Wheels

At CascadiaJS my friend Nick Niemeir gave a talk about how he ended up reinventing some wheels for a project a work. He went further to say that everyone should feel encouraged to go forth and reinvent. It is more than just learning. Sometimes you build something better, whether that is better for you or better for the more general case.

I’ve recently started picking up Rust. It is an interesting programming language with concurrency as first a first class citizen. It has borrowed from several languages to make that happen and it is quite enjoyable. If something I’m building is just for myself, I will likely write it in rust.

So, lets combine the first and second paragraphs. I’m finding that there is a fair amount of technology that is interesting to me, that I have never written one of. Last weekend I started in on an SMTP server in rust. I already have plans for an AMQP server and as well as a Pub/Sub server. The intent isn’t to come up with something that is better than existing tools. But more understand the problems involved and work through them.

I start out with grand plans, then I don’t always follow through. With that in mind, I’m going to set a goal to reinvent at least 6 services in the next year. All using rust as their primary language so I can feel it out in various environments. SMTP, AMQP, and Pub/Sub are definite. Other ideas I have, but aren’t solid yet, are an IRC server, monitoring server, DNS server, or maybe a key/value store of some sort.

I’m not the only one venturing into this territory, most inspiring to me is the #infoforcefeed and #stackvm crews on freenode. Between them there is are a lot of folks who’ve already reinventing all sorts of wheels together. I look forward to being more active in my participation in these communities.

 

One thought on “Time To Reinvent More Wheels

  1. Pingback: Owning Your Stack | wraithan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s