Learn Git Branching

Learn Git Branching” is a very cool, interactive tutorial for branching in git version control.  It starts off with the very basic concepts, even covering simple commits, and continues step-by-step all the way to merging, cherry-picking, rebasing, and working with remotes.

Super cool!

Archiving web sites

LWN runs an interesting article, covering different ways of archiving a website.  It sounds trivial, but it’s not.  Even the simplest of ways – wget – will probably take you a few dozen attempts to figure out the following:

$ wget --mirror --execute robots=off --no-verbose --convert-links \
       --backup-converted --page-requisites --adjust-extension \
       --base=./ --directory-prefix=./ --span-hosts \
       --domains=www.example.com,example.com http://www.example.com/

There a few other interesting tools (like pywb) mentioned.

Stack Overflow Buddy

An innocent joke on Facebook brought in something really golden – Stack Overflow Buddy.  It is a fun PHP library for all those of you who search for code examples on Stack Overflow and then copy-paste those into your projects.

Wow, how’s it work?

If you’re impressed, you should probably stop reading here.

  1. Split the camelCased function call into words
  2. Grab the top scoring PHP tagged questions with those words in the title from StackOverflow’s API
  3. Grab the top scoring answers for those questions
  4. Pull any and all code blocks from those answers
  5. Find the first code block that:
    1. Inteprets without error
    2. Contains one or more functions
    3. One of the functions has the same amount of arguments as were passed by the user
  6. Then we throw caution to the wind, eval, and call the new method!

This is absolutely brilliant!

percollate – a command-line tool to turn web pages into beautifully formatted PDFs

percollate is a command-line tool to convert web pages into PDF files.  It supports single-page and multi-page files, can fetch the HTML documents from the web, understands accelerated mobile pages (see AMP), and even allows some control of the output with CSS snippets.

Glider.js – fast, light-weight, dependency free, responsive, native scrolling list with paging controls

For anyone who needs an image gallery or any scrolling list for that matter, Glider.js looks like a good option.  It’s super simple to use, light, responsive, and dependency free.  Have a look at some demos here.