Category: code

Getting to know Homebrew

I’ve always heard about homebrew for the longest time, specially when installing new software. So far I’ve used it blindly since when I was getting into a new technology, it never seemed the best of times to get introduced to yet another tool (sometimes that rabbit hole can go on endlessly).


Homebrew is said to be the easiest and most flexible way to install UNIX tools and the perfect replacement for MacPort.
I can’t personally endorse homebrew versus other options (since I haven’t tried them) but I can say that homebrew makes installing packages really easy.

Homebrew will do one of two things when trying to install a new package, it will either install the binaries if available or compile from source code so you have a fresh, custom setup (therefore the word homebrew).

About packages

Package is a term that refers to software that’s distributed as an assembly of files and other meta-information (such as sw version, dependencies, etc). When installing a package Homebrew will not only install the software in question but also all it’s dependencies. #win

But, do I need it?

For easiness and comfort you do. It is also the recommended way to install many tools that I’m sure you need (or will need):

  • git
  • wget
  • rsync
  • markdown
  • mysql & sqlite
  • node.js


After setup, homebrew is a one liner for all your installs

brew install foo

What about updates

A nice side benefit of homebrew is that it will keep track of all the packages that it has intalled for you and allow for super-easy updtes:

brew update

That’s it. Done.

Easy HTML5 front-end development with Middleman

An awesome tool for creating simple static sites and learning new front-end technologies. Build on top of Ruby and Sinatra.


Middleman is a static site generator based on Sinatra. Providing dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle.

Middleman can be as simple or advance as needed since developers can utilize one or more of all the technologies that it supports. It extremely simplifies the process of testing some of these technologies since it installs all of its tools and compilers at once.

HTML Support
Perfect for getting into templating languages without a full Rails app to support it (ERB, Haml,…). It also incorporates an HTML5 boilerplate to get started.

CSS Support
Auto-generates your CSS from SASS or SCSS files and supports Compass.

JS Support
Supports CoffeScript as well as plain old JS

Facebook’s Add APP to PAGE Bookmarklet

Facebook is removing App Profile Pages. Unfortunately for many developers that means that the “Add to Page” link that allowed new APPs to be added to Fan Pages as a Tab is also gone. Here’s a simple bookmarklet that will provide the same functionality.

Update: It looks like Facebook has put a fix in place that will enable Adding an APP to any page from the APP itself

Add to Page

Follow this link for the best solution to this issue:–operation-developer-love/

The Bookmarklet

Add APP to PAGE <

This bookmarklet will remove the need to do any further custom development on your app/tab.

How to use
Drag the link above to your toolbar (duh!) and visit your APP page (Eg: The bookmarklet will generate a dialog box to add the App to any of your PAGES:

How does it work
Behind the scenes all the bookmarklet does is redirect your browser to a url like the one below:

Note: Facebook’s official workaround to add your own app to your own page in a tab is anything but simple. There is along discussion here explaining the process in great detail: Facebook Removing App Profile Pages on Feb 1, 2012

Reach out to me in twitter @omarrr