Giliran TJ Fontaine memimpin Node.js project

Setelah berganti kepemimpinan sebanyak 1 kali, dari Ryan Dahl kepada Isaac Z. Schlueter, saat ini Node.js project kembali berganti pemimpin:

Over the last year, TJ Fontaine has become absolutely essential to the Node.js project. He’s been building releases, managing the test bots, fixing nasty bugs and making decisions for the project with constant focus on the needs of our users. He was responsible for an update to MDB to support running ::findjsobjects on Linux core dumps, and is working on a shim layer that will provide a stable C interface for Node binary addons. In partnership with Joyent and The Node Firm, he’s helped to create a path forward for scalable issue triaging. He’s become the primary point of contact keeping us all driving the project forward together.

Anyone who’s been close to the core project knows that he’s been effectively leading the project for a while now, so we’re making it official. Effective immediately, TJ Fontaine is the Node.js project lead. I will remain a Node core committer, and expect to continue to contribute to the project in that role. My primary focus, however, will be npm.

Dikutip dari blog resmi Node.js, The Next Phase of Node.js.

Selamat kepada TJ Fontaine!

How to enable the npm completion

How to Enable it

I believe every developers needs to work productively when using npm by enable the tab-completion so that we can use the npm without too much typing to complete the commands we want to use . Here are the command I used to enable the npm completion on my Ubuntu box:

npm completion >> ~/.bashrc

The above command will write some shell scripts into my .bashrc file.



The Future of Programming in Node.js by Isaac Schlueter

There’s been a lot of debates, theories, and requests about Node’s
core API patterns on this list lately. I’d like to clarify the actual
plans of the project on these points.

Callbacks will remain the de facto way to implement asynchrony.
Generators and Promises are interesting and will remain a userland

There will be no changes to the module system. None. It’s finished.
It’s been finished for over a year. Any proposed changes must come
with a clear reproducible bug that cannot be worked around or
addressed with documentation.

We are done making breaking changes at the Node.js layer. If your
program runs today, we’re doing everything we can to make sure that it
will run next year, albeit faster and more reliably.

This is not a democracy. However, there’s plenty of room for
everyone’s opinion. If you want to make exciting dramatic breaking
changes to node-core, and you can’t find satisfaction by writing
userland npm modules, then please fork joyent/node, give it a new name
and logo, and go as completely crazy as you want.

Complete posts can be found on The Future of Programming in Node.js thread.

Bump a package version using `npm version`

Today’s interesting questions is how can I bump the package version on package.json automatically without have to write my own script to do it. We can do it manually by editing the package.json or write a script to do it, but I wonder if npm having this built-in command.

So, I asked Google first by query “how to update package.json version automatically”, read over some Stackoverflow discussions and finally lead to npm-version documentation. We can use`npm version` to bump package version. It also create a version commit and annotated tag automatically.

After I know this command, things just got more better…

Kalau ada yang bertanya apa itu Node.js

Terkadang setiap kali saya sedang mengerjakan sesuatu yang berkaitan dengan Node.js, mereka kebanyakan bertanya apa itu Node.js. Sepengalaman saya bertemu dengan orang-orang tertentu disini (Bandung atau mungkin di sekitaran seluruh Indonesia), banyak yang belum familiar dengan Node.js. Dulu saya pernah menulis blog post Bagaimana agar saya bisa dengan mudah menjawab apa itu NodeJS, tetapi rasanya masih kurang mudah untuk menjelaskan apa itu Node.js dengan mudah.

Dengan kondisi seperti itu, jika di masa yang akan datang ada teman saya yang menanyakan apa itu Node.js, maka jawaban saya kira-kira akan seperti kutipan di bawah ini:

Teman: Apa itu Node.js?

Ghanoz: Node.js adalah sebuah platform

Teman: Platform untuk apa?

Ghanoz: Untuk membuat fast, scalable network applications.

Teman: Bagaimana Node.js bisa mengklaim dengan menggunakan platform tersebut kita bisa dengan mudah membangun fast, scalable network applications?

Ghanoz: Karena Node.js menggunakan event-driven, non-blocking I/O model yang membuat platform ini ringan dan efisien.

Teman: Node.js itu cocoknya dipakai untuk membangun apa sih?

Ghanoz: Node.js itu cocok untuk membangun data-intensive real-time applications that run across distributed devices

Bagaimana? Kira-kira skenario tanya jawab di atas lebih mudah untuk dipahami nggak ya?

Catatan: Jawaban yang dipakai dalam tanya jawab dari skenario di atas saya kutip dari situs resmi Node.js.

Tiga Sangkalan Saya Tentang Code Coverage Analysis

Sangkalan Pertama

Sangkalan pertama, saya tidak tahu banyak tentang code coverage analysis.

Sangkalan Kedua

Sangkalan kedua, saya bukan seorang software test engineer dan atensi saya di bidang itu tidak berlalu besar tetapi saya ingin tahu lebih banyak.

Sangkalan Ketiga

Karena saya tidak tahu banyak tentang code coverage analysis dan atensi saya di bidang software testing tidak terlalu banyak, muncul sangkalan ketiga, saya masih belum paham betul bagaimana seharusnya saya memahami laporan code coverage dengan benar. Berikut laporan code coverage analysis menggunakan Istanbul yang saya lakukan tadi malam terhadap salah satu Node.JS module yang sedang saya tulis:

Melakukan coverage analysis terhadap seluruh unit test suites

Melakukan coverage analysis terhadap seluruh unit test suites

Melakukan coverage analysis terhadap satu unit test suite

Melakukan coverage analysis terhadap satu unit test suite

Hal Selanjutnya yang Perlu Diketahui

Dari ketiga sangkalan di atas, saya perlu mengetahui lebih banyak mengenai:

  1. Bagaimana saya harus melakukan code coverage analysis dengan benar?
  2. Bagaimana saya harus menganalisis laporan code coverage dengan tepat dan hati-hati?

Apakah Anda tahu lebih banyak tentang code coverage analysis?

I just signed up to Gemnasium to keep my project dependencies up to date

Nowaday, things just got a little bit better. If you are a Node or Ruby developer, you might already know Gemnasium. It’s an online tool to monitor your project dependencies. It was originally designed to work with Rubygems but now features NPM as well. Because a lot of projects already using this tool, I interested to try it.

ghanoz-json Dependencies Status

ghanoz-json Dependencies Status


My first impression is Gemnasium are great. This tool will notifies me when new dependencies version are released instead of manually checking it. You’ll have a peace of mind by keeping your project dependencies up to date.
Give it a try dude!