Build beautiful programming books with Git and Markdown #

There’s a lot of innovation (and iteration) going on in the online publishing space. GitBook continues that trend by offering a command line tool built specifically for creating programming book and exercises.

You write your book in Markdown and from that GitBook can generate a static website, PDF, eBook, and even JSON. Here’s what the results look like:

GitBook Preview

A tool to check your site for The Heartbleed Bug #

A very nasty OpenSSL bug called Heartbleed was made public yesterday. Millions of websites around the world are leaking private information despite using SSL/TLS.

Is your site vulnerable? Find out with Filippo Valsorda’s Heartbleed Test.

Here’s a link to our test for We run on Ubuntu so we followed these update instructions and in 3 minutes we were fixed.

Remediation steps differ depending on operating system, but with Heartbleed Test we can all make sure we’ve patched up properly. Thanks Filippo!

UPDATE: Filippo provides a web-based tool to check your site, but we suggest downloading the source and running the tool from your own trusted host. Here’s a How To if you need help! (Thanks to André Wendt for the suggestion and Jan Lenhardt for the gist)

SVG Loading Indicators! #

Useful and stylish SVG-based loading indicators that are as easy to use as:

<img src="loading-balls.svg" alt="Loading icon" />

Oh, and make sure you spot the Cylon

ngxtop: real-time metrics for nginx server #

ngxtop is shaping up to be one of those tools that I didn’t even know I needed, but now I won’t know how I ever lived without it.

ngxtop parses your nginx access log and outputs useful, top-like, metrics of your nginx server.

Need we say more? Check the readme for some nice examples of what this Python script is capable of.

Metalsmith: a static site generator with lots of potential #’s Metalsmith doesn’t excite me because it’s a static site generator. It excites me because its everything-is-a-plugin philosophy turns it in to a potential swiss army knife for any project that manipulates a directory of files.

It could be a project scaffolder. It could be an e-book generator. It could be a build tool. It could be a documentation tool. It could be something I’ve never even heard of before.

Check out their examples to whet your imagination.

Glyphr is a free, html5 based font editor #

Looks like the Glyphr team set out to lower the barrier to get in to font design.

Professional font design programs are very complex, and quite expensive. Glyphr is accessible, streamlined, and made for font design hobbyists… and it’s free!

At first glance, it appears that they’re off to a great start. Check out the sandbox if you want to play around with it.

Pickadate. Any date. #

If you have need for a mobile-friendly, responsive, and lightweight jQuery date & time input picker, look no further than pickadate.js. Amsul pinged us to say that he just released version 3.4 of his popular library and is quite proud to say that pickadate.js is now ARIA-enabled. He states:

This is an update I would highly recommend everyone to get because of how crucial accessibility is.

If you’re already using pickadate.js, this is a great time to upgrade. If not, give it a look!

Thoughtbot brings us rcm for serious rc file management #

If you believe that constantly improving your rc files (dotfiles) is Serious Business™, you gotta check out Thoughtbot’s latest open source project: rcm, an rc file manager

In his introductory blog post, Mike Burns describes rcm as:

a unification of the existing shell scripts, make targets, rake tasks, GNU Bash constructions, and Python hacks that people copy and paste into their dotfiles repo, with a classical unix flair

Autoprefixer wants you to forget about vendor prefixes #

CSS preprocessors have been around for awhile, but Andrey Sitnik’s Autoprefixer takes the opposite approach: it parses your CSS after you write it and adds any necessary vendor prefixes using data from Can I Use.

As the browser landscape changes, your outputted CSS changes to fit. Without you having to do a thing. Andrey says:

The best tool is a tool you can’t see and one that does the work for you

I have to agree with him on that.

A nice collection of CSS-based loading indicators #

SpinKit from GitHub’s Tobias Ahlin uses CSS animations to create smooth and easily customizable animations, but look out if you need to support older browsers:

The goal is not to offer a solution that works in every browser—if you’re supporting browsers that haven’t implemented the CSS animation property (e.g. IE9 and below), you’ll want to detect support for the animation property, and implement a fallback

The demo features 8 different styles for you to pick from. #6 is pretty rad if you can find a good use case for it. Check ‘em out!

Zone.js from the Angular team

While I was at the first annual ng-conf last week (excellent conf, btw), Brian Ford of the Angular team gave a great talk about a new library he released called Zone.js.

Go ahead, have an Angular Martini #

I’ve been wanting to team Go, AngularJS, and PostgreSQL to write a web app for a while now, so I’m quite excited by Robert Yakota’s Yeoman generator for AngularJS, Go, and Martini.

With this Yeoman generator in hand, it’s never been easier to get started using these tools together. Somebody please write an app with this stack and let us know how it goes. I have a feeling you’ll enjoy it.

Find dead code in your Rack app by running Coverband in production #

Neat idea from Dan Mayer at Living Social: Coverband is a rack middleware which helps measure production code coverage.

Why would production code coverage data be useful? Because you can use it to find (and then purge) latent code paths in your app. How’d it go at Living Social? Dan says:

After running in production for 30 minutes, we were able very easily delete 2000 LOC after looking through the data. We expect to be able to clean up much more after it has collected more data.

Read more about Coverband on the Living Social Tech Blog.

Que leverages PostgreSQL’s advisory locks to deliver a fast, reliable job queue #

Que is the new kid on Ruby’s job-backgrounding block.

It takes advantage of PostgreSQL’s advisory locks to provide concurrency, efficiency, and safety. Chris Hanks – Que’s author – in an email to us, says:

…in a benchmark on EC2′s biggest compute-optimized instance it’s capable of queuing and dequeuing almost 10,000 jobs per second, while DelayedJob and QueueClassic max out at around 500

Between that and its built-in support for transactions (for ActiveRecord and Sequel), Que looks pretty tantalizing to this long-time Resque user (and admitted Postgres fanboy).