Documentation of a non-trivial business-important software system is vital. To gain the advantages of a light-weight approach to such documentation, the means of documenting such be simple, yet effective.
Here's a great example of such a tool:
https://labs.atlassian.com/wiki/display/CUML/Confluence+UML+Sequence+Plugin
Sunday, February 19, 2012
Oldie and Goodie: Vint Cerf on an Internet Retrospective
Vint Cerf, credited as one of the fathers of the Internet, and also a member of the Greyglers gave a talk reflecting on the successes and mistakes of the design of the 'Net.
Highlights:
Highlights:
- Why does IPv4 (our current addressing system) only have 32-bits? Answer.
- What would have the Internet been like if there was protocol support for user identification, encryption and content signing? Answer.
- Cerf mentions an NSF program: FIND, dedicated to intelligently remaking the Internet (ref).
If you're at all interested in the history of the Internet and want to hear some juicy details of where "some of the bodies lay," this is worth the hour.
Friday, February 17, 2012
Introduced to node.js
I just finished watching Ryan Dahl's Google Talk on node.js. Fascinating stuff!
This is not just another web server. node.js is essentially a JavaScript runtime with easy-to-use network bindings that forces you to write scalable code from the get-go. There's no thread scheduling, but instead, Ryan wrote an event loop and used non-blocking I/O. One process can handle ~10k - 30k connections. Want more? spawn another node process. :)
Right now, at version 0.6, it's a programming tool more than a platform. But Ryan is well on his way. I love the notion of scripting network servers that are out-of-the-box scalable. (apparently, Yahoo Mail and a host of other sites are using this stuff).
Observations:
This is not just another web server. node.js is essentially a JavaScript runtime with easy-to-use network bindings that forces you to write scalable code from the get-go. There's no thread scheduling, but instead, Ryan wrote an event loop and used non-blocking I/O. One process can handle ~10k - 30k connections. Want more? spawn another node process. :)
Right now, at version 0.6, it's a programming tool more than a platform. But Ryan is well on his way. I love the notion of scripting network servers that are out-of-the-box scalable. (apparently, Yahoo Mail and a host of other sites are using this stuff).
Observations:
- Ryan worked hard to avoid creating any unnecessary abstractions.
- He fundamentally conceives of web programming in a pipe-and-filter model.
Notes:
- Home site: http://nodejs.org/
- There is a repository for Node modules: http://search.npmjs.org/
- kinda fun: there's a "most depended-on" sort; cool.
I bumped into a number of libraries that make for a rather rich programming environment, out the gate:
- backbone.js — data-binding framework
- underscore.js — a suite of nice-to-have functions for the JavaScript language.
- coffeescript.js — a language that "compiles" into JavaScript.
Subscribe to:
Comments (Atom)