I’ve bundled a pure and very fast BigInteger Java/Scala implementation called Snohetta over at GitHub. The module is intended to be used with Scala, allowing you to use a new class BigInt2 (as opposed to BigInt). On my spare time I’ve been experimenting with finding digits of Pi, which pretty much means that from Scala thread to thread I’ve got to use JNI. Before coming to this realization I did end up forking a very fast and pure Java BigInteger mod to OpenJDK. Most operations switch between implementations to provide maximum efficiency. To make using this library easier in Scala you can use my Scala BigInt2 module Snohetta.

On the side for fun I’m also working on a pure Scala version of BigInteger, so If you like this: => keep an eye out for that: =>.

(btw yes, I know It should be Snøhetta)

Just #contributed to the next preview release of #MeteorJS, v0.3.4 which has just been released. Feels good, I enjoy #OSS so much :-)

http://meteor.com/

https://github.com/meteor/meteor

Just contributed to the next preview release of Meteor, v0.3.4 which has just been released. Feels good, I enjoy OSS so much :-)

http://meteor.com/

https://github.com/meteor/meteor

Just contributed to the next preview release of Meteor, v0.3.4 which has just been released. Feels good, I enjoy OSS so much :-)

http://meteor.com/

https://github.com/meteor/meteor

Figured I would slowly pour out some source code that was created during my stint at my last startup. The code ranges from really simple to very complex. Some still might not see the light of day until I try again. ;-)

Basic CoffeeScript keygen: https://gist.github.com/2410489

Simple Python password generator: https://gist.github.com/2410498

Quick Intro

Recently a group of JS developers got together and created Meteor. If you haven’t done so yet give a go and check it out. There is a wonderful video at the start that walks you through a simple high level example of the main feature set.

Really cool features :

  1. Live updating - (you modify code, you see it modified live)
  2. Data syncing - (you work with the data directly, not an end-point)
  3. Latency compensation - (you modify data, you see it live. Others ‘will eventually’ see it ‘immediately’)
  4. Hot code deploy - (you modify code, your users get the new code Injected in to their browsers)
  5. One command debug, bundle, and deploy (ala rails, heroku)
  6. DDP - wire up your datasource, whatever it is, along as you use the DDP Protocol

Whether or not your a Rails, Django, Express, or a Play fan you will appreciate what Meteor brings to the table.

Meteor?

To me Meteor has two relevant pieces they’re trying to solve that are on the top of most developer’s lists. Honestly, they are trying to tackle many problems but to me, from a power user standpoint are:

  • Framework ecosystem (creating, deploying, addons)
  • Client side reactivity (their term but is self-explanatory).

You’ll be able to use Meteor to start, run and deploy your app just like you can with Rails, and Heroku. Once you have an app, it’s often hard to start thinking about wiring up your Rest framework for data, template endpoints, and socket communication to allow real-time data. Oh and can’t forget a reactive layout which would probably use Backbone, or Ember.

Server Modules

I took a gander at the bundled source and here are the NodeJS modules you’ll see:

  • clean-css
  • connect
  • fibers
  • handlebars
  • less
  • mongodb
  • optimist
  • request
  • socket.io
  • uglify-js
  • coffee-script
  • connect-gzip
  • gzippo
  • http-proxy
  • mime
  • npm
  • progress
  • semver
  • sockjs
  • useragent

Magic?

Immediately if your a NodeJS dev you will feel at home. Connect, connect-gzip, sockjs, fibers, socket.io, http-proxy… Feels like home, no server side magic here.

Client Magic?

Perhaps. This is where you’ll see a lot of new javascript, but you’ll recognize some old friends such as underscore.js and json2.js.

I think this is an area you’ll see fleshed out more as this is the one half of a big puzzle I described earlier. There is code which syncs between a local store and your database, allowing users to see changes immediately in ‘real-time’.

Glaring issues?

The hooks which rely on MongoDB might be an issue to some. Most will prefer MySQL, Redis, or some other database. There is mention that in future versions you’ll be able to use DDP to interact with a DB of your choice. Also perhaps how deeply integrated the local db is to the backend database is another issue.

Immediate Benefits

If your a serious NodeJS developer your probably already using socket.io, connect, cluster, maybe even nodemon for on the fly restarts. What you gain from using meteor is the ease of use of not having to have a cookie cutter template to handle real-time reactive clients, and hot deployment.

This project is still young but there are dedicated and highly talented developers on the team. The project has got me very excited and Is on the top of my very large watch list.

Fundamentally anytime you see these types of frameworks developers are quick to judge. Meteor’s ultimate goal is to save developers time, allowing users to focus on being a lean startup. On that front alone, this project looks to be one that will stand strong.

It gets a +1 from me, that is for sure.

MOST OF MANAGEMENT THEORY IS INANE, WRITES OUR CORRESPONDENT, THE FOUNDER OF A CONSULTING FIRM. IF YOU WANT TO SUCCEED IN BUSINESS, DON’T GET AN M.B.A. STUDY PHILOSOPHY INSTEAD

I’m on the market :-)

jasong —-at—- apache —-dot—- org

I recently read an article titled ‘How much is a startup?’. The question arose about there not being a forumla to price ‘talent’, yet the data clearly shows a trend. Head on over to see the data.