I published a Hubot script to fetch Amazon CloudFront distribution list and invalidate objects.

ngs/hubot-cloudfront

npm install --save hubot-cloudfront

Read On 

I created 3 Hubot scripts and published to npm, however I worried about that there are no unit tests with them.

So I configured them unit tests with gulp and mocha.

Read On 

I published a Hubot script to take cross browser screenshots with BrowserStack.

me > hubot screenshot me http://www.google.com/
hubot > Started generating screenshots in http://www.browserstack.com/screenshots/d804f186e460dc4f2a30849a9686c3a8c4276c21...

Read On 

I created a chrome extension to check GitHub Notifications in toolbar icon.

This displays unread count and lists unread notifications in popup.

GitHub Repository: ngs/github-notifications-crx

Read On 

I configured Capistrano 2 to abort deployment if remote directory is dirty.

Because uncommited changes in remote directory will cause degrade.

# Of course, modifying source code in remote directory is bad, but sometimes we need to do it.

Read On 

I created a middleman-blog extension to lookup similar articles.

View middleman-blog-similar on GitHub.

gem 'middleman-blog-similar'
gem 'levenshtein-ffi', :require => 'levenshtein'
h2 Similar Entries
ul
  - similar_articles.first(5).each do|article|
    li= link_to article.title, article.url

You can retrieve similar articles from similar_articles helper method or Middleman::Blog::BlogArticle#similar_articles instance method.

Read On 

I started to manage stuffs with dotfiles git repository instead of Boxen.

I managed iTerm 2 color schemes with puppet-iterm2 modules, that was very useful.

Read On 

As Google announced, Universal Analytics became out of beta.

This blog is using middleman-google-analytics to embed Google Analytics code, so I need to paste the snippet or modify the extension to use Universal Analytics.

The extension helped me a lot, so I started improve that and sent pull requests.

Read On 

I released an OpenGraph Protocol helper extension for Middleman.

ngs/middleman-ogp on GitHub

In your Gemfile

gem 'middleman-ogp'

Read On 

jQuery Element Diff Plugin is a plugin to generate JavaScript code to arrange elements to be same.

Read On