February 2011 archive

Quick Way to See What Programming Languages Are Used on Github

Ever wonder what programming languages are the most popular? One way is to look at a programming community and see what is being used within that space. A large community right now in 2011 is the people using Github for git repositories (and I am one of those) and Github nicely provides a URL showing the languages in use:

https://github.com/languages

When I look at the chart at the time I’m writing this post, it looks like this:

Githublanguages

This is across 600,000+ developers and close to 1.8 million git repositories.

Given that historically many Ruby developers used git and Github, it’s not surprising to see Ruby there. With JavaScript, I have to wonder if its ranking is due to the phenomenal interest in Node.js and the heavy usage of git and Github within that community. Glad to see my old friend python hanging in there, too. The Microsoft languages like C# are missing… but then they simply may not be well represented within the Github user base.

Like any measurement this can only be taken as language popularity within the Github community. Measurement within another community would give different results. Still, the Github space is very vibrant and dynamic with lots of energy… it’s interesting to see what folks there are using.

Upgraded Code.DanYork.Com to WordPress 3.1…

Tonight I just upgraded Code.DanYork.com to the shiny new WordPress 3.1… it’s the first of several sites I’ll be upgrading so this is mostly a test. If you see anything funky, please do let me know…. and, man, I keep loving what the WordPress community keeps on developing! Cool stuff!

Free eBook: Mastering Node.js (still a work-in-progress – and NEEDS YOUR HELP)

MasteringnodejsAs I continue my own exploration of Node.js, I was pleased to see that a free eBook, Mastering Node.js, was available about Node.js from none other than TJ Holowaychuk, a big contributor to the Node.js community. You can get the current version of the book at:

http://visionmedia.github.com/masteringnode/

However, there is the one little detail… it’s still very much a work-in-progress. As TJ Holowaychuk says on the Github page for the project:

Mastering node is an open source eBook by node hackers for node hackers. I started this as a side project and realized that I don’t have time 🙂 so go nuts, download it, build it, fork it, extend it and share it. If you come up with something you wish to contribute back, send me a pull request.

It is a good start on a book… and if anyone out there wants to add to it and help fill out the contents, he’s obviously open to that assistance.

Follow The Tropo Blog To Learn About Developing For Voice, SMS, IM, Twitter…

TropologoWant to learn about how to build apps that interact with people via voice, text messaging / SMS, instant messaging and Twitter? Using languages like Ruby, python, PHP, Groovy and Node.js?

If so, check out the Tropo blog for some cool examples, tutorials and videos. As I was catching up on my Twitter feed this morning, I noticed a great post there about responding differently to different types of users and a short video about using SMS to find the time and date of tweetchats. Cool stuff!

P.S. And yes, in full disclosure Tropo.com is a cloud communications service of my employer, Voxeo, and I do myself sometimes write on the Tropo blog, particularly about python or Node.js. However, if I didn’t think what they are writing about there is in fact interesting, I wouldn’t mention it here. 🙂

Nodester Node.js hosting service adds domain mapping, multiple module install

NodesterChris Matthieu and DanBUK continue to iterate fast on their Nodester Node.js service. A bit ago they added a command-line interface to make apps even easier to deploy. The funky part was that to install a module for your Node.js app, you had to type nodester appnpm install modulename. Thankfully, they’ve made that much simpler… now you can just do:

nodester npm install modulename

Chris dropped me a note tonight to let me know that they’ve made it so that you can install multiple modules at once. For example:

nodester npm install express socket.io tropo-webapi

Another cool recent addition is the ability to map a custom domain to a Node.js app running on Nodester. Cool to see!

Want to learn about Node.js? Excellent set of videos coming out of Node.js Camp

Interested in learning more about Node.js and the surrounding ecosystem of tools and modules? The folks over at Joyent have made available a set of videos covering the Node.js Camp that occurred December 14, 2010, in San Francisco. You can view them all at:

http://camp.nodejs.org/videos/

Nice range of topics… looks like a fun event…

NodejsCamp

A Fascinating Exchange on Node.JS, Google’s V8… and Control

Conversation

Back on Sunday, there was a fascinating exchange on blog sites about the tight linkage between Node.js and Google’s V8 JavaScript Engine. It started with Bruno Fernandez-Ruiz of Yahoo with his post:

NodeJS: To V8 or not to V8

where he expressed his concern about the tight coupling between Node.js and V8 and whether or not this was appropriate given that, in Bruno’s eyes, Google’s plans around V8 were/are not clear, both in terms of server-side usage and of project governance.

Jason Hoffan, the chief scientist and founder of Joyent (the folks behind Node.js), came back with a well-written piece answering Bruno’s questions point-by-point (and raising some of his own):

On Bruno’s Concern About the Current Coupling of node.js and V8

which naturally brought about a response from Bruno:

Answering Jason on V8 governance and impact to NodeJS

and also triggered some commentary from Peter Greiss at Facebook:

NodeJS and V8

For someone such as myself who is relatively new to the Node.js community, the exchange makes for interesting reading, in large part because I’ve been so focused on looking at what I can do with Node.js that I quite honestly haven’t given a great amount of thought to what is underneath the hood of Node.js. In this case, really, the engine that powers Node.js.

Having spent 20+ years now in the UNIX and later Linux and open source space, I do understand the concerns that Bruno Fernandez-Ruiz raises around governance and the reliance of Node.js on a specific JavaScript engine. He’s right to hope that appropriate abstraction layers will be in place so that the V8 engine could be swapped out for another JavaScript engine should the need ever arise. That’s good practice in general. It all comes down to control and assuring that a project is not so reliant on another (that is out of the first project’s control).

Having said that, though, I’m incredibly impressed by the energy and dedication of the “Node.js community”. There is a passion there that I’ve not seen in years… and it’s wonderful to see. Somehow, regardless of abstraction layers, I have a feeling that if there ever were to be a problem with V8, it would be very rapidly solved. Node.js is evolving fast… VERY fast!

Anyway… the exchange is worth a read… kudos to all involved for taking the time to have a reasoned (and civil) debate.

P.S. The social media side of me was delighted to see an exchange like this taking place on blogs … it’s exactly the right medium for long-form debates like this.

Image credit: rxmflickr on Flickr

Get the New Stable Release of Node.js (version 0.4.0) – Many Improvements, Features, Fixes

NodejslogoNews out of the Node.js community today is the second stable release of Node.js, version 0.4.0. You can download it from the site or grab it from the Github repo. The Node.js Manual and Documentation has also been updated for version 0.4.0.

Looking through the Changelog at all the changes in the 0.3.x releases and the final 0.4.0 release, there’s an impressive amount of work that’s gone on. There’s a great writeup about the 0.4.0 announcement on the Node.js site that summarizes the overall changes. Some of the changes I found most interesting include:

  • Major overhaul (seems almost like a complete rewrite) of the TLS/SSL system.
  • New and improved HTTP client.
  • Changes that will help with module management.
  • Upgrade to the latest V8 JavaScript engine and the new built-in debugger which Ryan Dahl created a video about
  • A new “os” module.

All in all a solid bunch of changes. I’m upgrading my servers…

P.S. There is a helpful Wiki page about migrating Node.js apps from 0.2 to 0.3.x (which is now 0.4.0) that can help you understand what you need to change to upgrade. (In my case, my apps were built on later 0.3.x builds and are currently relatively basic, so my upgrade is easy.)

Google I/O 2011 Event Sells Out in 59 Minutes!

For the past few years, Google’s “I/O” developer conference has been THE conference for many developers to attend. It’s the place where you go to understand the latest and greatest tools and services coming out of Google… and where you can get to participate ahead of everyone else. Two years ago I/O attendees were the first to get Google Wave accounts… last year every attendee got an Android phone…

This year proved no different – the Google I/O 2011 registration opened up this morning … and then sold out less than an hour later!

To put this in perspective… about 5,000+ developers attend the event!

Kudos to Google for having created a conference that so many people want to attend.

The Twitter stream tells the tale…

And this compilation of tweets from Google’s Vic Gundrota shows it, too:

Googleio2011

P.S. Needless to say, some folks who had been eagerly waiting to register weren’t too pleased, particularly given some of the apparent difficulties with getting access to the registration site.

Nodester Continues to Improve Its Free Hosting For Node.js Apps

NodesterLooking for a way to easily try out Node.js? Or have an app idea and want a free place to host it?

I continue to be quite impressed with what Chris Matthieu is doing with his Node.js hosting service now called “Nodester“. I first wrote about the service back in January when Chris put it online and called it “NodeFu.” Since then he

All in all I think it’s rather cool what he’s doing… and he’s enabling all of us who are interested to have an easy way to play with Node.js. Fun stuff!