Skip to content

Commit

Permalink
Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, S…
Browse files Browse the repository at this point in the history
…uppose
  • Loading branch information
Alex Young committed Aug 29, 2012
1 parent 7243f0b commit 87788a6
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 0 deletions.
67 changes: 67 additions & 0 deletions _posts/2012-08-29-node-roundup.md
@@ -0,0 +1,67 @@
---
layout: post
title: "Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, Suppose"
author: "Alex Young"
categories:
- node
- modules
- libraries
- security
- unix
- streams
---

<div class="intro">
You can send in your Node projects for review through our <a href="/contact.html">contact form</a> or <a href="http://twitter.com/dailyjs">@dailyjs</a>.
</div>

###Stream Handbook

[Stream Handbook](https://github.com/substack/stream-handbook) by the venerable James Halliday is a guide to streams, a commonly overlooked feature of Node that's only just starting to get the attention it deserves.

So far James has written a solid introduction to streams, and he's working on adding more detailed coverage based on Node's related API methods and objects.

###Screenshot as a Service

[Screenshot as a Service](http://dotheweb.posterous.com/screenshot-as-a-service-now-in-beta-test-the) (GitHub: [fzaninotto / screenshot-as-a-service](https://github.com/fzaninotto/screenshot-as-a-service), License: _MIT_) by Francois Zaninotto is a fork of [TJ Holowaychuk's screenshot-app](https://github.com/visionmedia/screenshot-app), which is running at [screenshot.etf1.fr](http://screenshot.etf1.fr/usage.html). Since forking the app, Francois has worked on making it more robust. It can be used synchronously or asynchronously:

{% highlight text %}
# Take a screenshot
GET /?url=www.google.com

# Asynchronous call
GET /?url=www.google.com&callback=http://www.myservice.com/screenshot/google
{% endhighlight %}

###captchagen

![captchagen](/images/posts/captchagen.png)

[captchagen](https://github.com/wearefractal/captchagen) (License: _MIT_, npm: [captchagen](https://npmjs.org/package/captchagen)) from the team at Fractal is a CAPTCHA image generator. It can generate both a PNG and the corresponding audio through eSpeak.

Images are generated based on a custom algorithm and the [Canvas module](https://npmjs.org/package/canvas). Mocha tests have been included.

###Suppose

[Suppose](http://procbits.com/2012/08/03/like-unix-expect-automate-command-line-programs-in-node-js-with-suppose/) (GitHub: [jprichardson / node-suppose](https://github.com/jprichardson/node-suppose), License: _MIT_, npm: [suppose](https://npmjs.org/package/suppose)) by JP Richardson is a JavaScript version of Expect (`man expect`). It has a chainable API, so it's easy to create complex expectations with a familiar syntax:

{% highlight javascript %}
suppose('npm', ['init'])
.debug(fs.createWriteStream('/tmp/debug.txt'))
.on(/name\: \([\w|\-]+\)[\s]*/).respond('awesome_package\n')
.on('version: (0.0.0) ').respond('0.0.1\n')
.on('description: ').respond("It's an awesome package man!\n")
.on('entry point: (index.js) ').respond("\n")
.on('test command: ').respond('npm test\n')
.on('git repository: ').respond("\n")
.on('keywords: ').respond('awesome, cool\n')
.on('author: ').respond('JP Richardson\n')
.on('license: (BSD) ').respond('MIT\n')
.on('ok? (yes) ' ).respond('yes\n')
.error(function(err){
console.log(err.message);
})
.end(function(code){
{% endhighlight %}

The author has included Mocha tests and examples in the readme file.
Binary file added images/posts/captchagen.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions tags.html
Expand Up @@ -5390,6 +5390,10 @@ <h3 id=".net">.net</h3>
<div>23 Aug 2012</div>
<a href="/2012/08/23/ender-tutorial">How Ender Bundles Libraries for the Browser</a>
</li>
<li>
<div>29 Aug 2012</div>
<a href="/2012/08/29/node-roundup">Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, Suppose</a>
</li>
</ul> <h3 id="library">library</h3>
<ul class="posts"> <li>
<div>30 Jul 2012</div>
Expand Down Expand Up @@ -6564,6 +6568,10 @@ <h3 id=".net">.net</h3>
<div>23 Aug 2012</div>
<a href="/2012/08/23/ender-tutorial">How Ender Bundles Libraries for the Browser</a>
</li>
<li>
<div>29 Aug 2012</div>
<a href="/2012/08/29/node-roundup">Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, Suppose</a>
</li>
</ul> <h3 id="mongo">mongo</h3>
<ul class="posts"> <li>
<div>12 Jan 2011</div>
Expand Down Expand Up @@ -7519,6 +7527,10 @@ <h3 id=".net">.net</h3>
<div>22 Aug 2012</div>
<a href="/2012/08/22/node-roundup">Node Roundup: 0.8.7, Buffet, HARedis, Deployd</a>
</li>
<li>
<div>29 Aug 2012</div>
<a href="/2012/08/29/node-roundup">Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, Suppose</a>
</li>
</ul> <h3 id="nodejs">nodejs</h3>
<ul class="posts"> <li>
<div>11 Nov 2009</div>
Expand Down Expand Up @@ -8802,6 +8814,10 @@ <h3 id=".net">.net</h3>
<div>22 May 2012</div>
<a href="/2012/05/22/jquery-roundup">jQuery Roundup: jQuery UI 1.9 Milestone 8, Chico UI, Complexify</a>
</li>
<li>
<div>29 Aug 2012</div>
<a href="/2012/08/29/node-roundup">Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, Suppose</a>
</li>
</ul> <h3 id="selectorengines">selectorengines</h3>
<ul class="posts"> <li>
<div>09 Jan 2012</div>
Expand Down Expand Up @@ -9245,6 +9261,11 @@ <h3 id=".net">.net</h3>
<div>10 May 2011</div>
<a href="/2011/05/10/jquery-roundup">jQuery Roundup: Instagram jQuery Plugin, jQuery.handleStorage, Morse.js</a>
</li>
</ul> <h3 id="streams">streams</h3>
<ul class="posts"> <li>
<div>29 Aug 2012</div>
<a href="/2012/08/29/node-roundup">Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, Suppose</a>
</li>
</ul> <h3 id="strings">strings</h3>
<ul class="posts"> <li>
<div>11 Jan 2012</div>
Expand Down Expand Up @@ -10707,6 +10728,10 @@ <h3 id=".net">.net</h3>
<div>23 May 2012</div>
<a href="/2012/05/23/node-roundup">Node Roundup: Uptime, mmmagic, nodeflix, opt</a>
</li>
<li>
<div>29 Aug 2012</div>
<a href="/2012/08/29/node-roundup">Node Roundup: Stream Handbook, Screenshot as a Service, captchagen, Suppose</a>
</li>
</ul> <h3 id="url">url</h3>
<ul class="posts"> <li>
<div>02 May 2012</div>
Expand Down

0 comments on commit 87788a6

Please sign in to comment.