By Bearded Hacker!

Yet another blog about programming :)

Add class attribute to Markdown table

Earlier this week I faced the problem converting Markdown tables to HTML, unfortunately there was no way to specify custom class attribute in resulting HTML.

And that’s was quite critical for me, since my current theme is Twitter Bootstrap based and I have no other choice, but explicitly specify the class names to make styles works.

Applying styles globally, i.e. to every table element, wasn’t an options, because table element is used in some others plugins, for example for sharing code snippets.

After some research, I come up with a simple and straight forward solution :)

Read on →

Where is my commit?

With continuous integration responsible for deployment, especially in the mid to large size team the following questions might be popping up time to time:

  • Is my commit went to production last night?
  • Is it on staging?
  • Where is my commit?

No worries, GIT got you covered:

1
git branch -r --contains <commit SHA>

This will show all remote branches where particular SHA is found, for example:

1
2
origin/master
production/master

Also, it might be good idea to fetch updates from remote branches in order to cover most recent change sets:

1
2
git fetch production master
git fetch origin staging

You can skip -r flag if only interested in local branches.

Caution!!!

SHA of commit is changed when you cherry-pick and therefore those won’t be shown in result set for the original commit SHA


Find all cities that have no photos

Last week I noticed quite good example to illustrate the problem of finding records with empty association, i.e. when particular has_many association returns zero records.

In this post I’d love to go a little bit further into proposed solution and figure out why it actually works.

Read on →

Pow for Linux

In the previous post I shared advantages of Pow based on my experience, however there is one significant problem: It does not run on Linux :(

Sadly yes, but I’ve seen some alternatives, for example:

Prax

Rack proxy server for development

http://ysbaddaden.github.io/prax/

Invoker

Invoker is a utility belt for managing processes in development environment. Use it for managing multiple processes with ease.

http://invoker.codemancers.com/

Conclusion

While Prax seems closer to Pow, the Invoker goes far beyond the Pow ideas and allows to manage all kind of processes, however it also adds extra complexities.

Though I don’t know how well those replaces Pow. If you had any experience please let me know how it was.


2 years with Pow

I’ve used the Pow for a quite long time so it become de-facto standard way for running all kind of Rack based applications(Sinatra/Rails/etc) for me.

Perhaps it could be good idea to share my experience now :)

Alternative to hosts with ability to run multiple projects at once is something intuitively comes to the mind and Pow really does it great, but not limited to.

Read on →

Opscode Chef: Install or Upgrade packages in recipes?

Chef comes with a handy package resource that helps to manage packages on the target machine. In this post I’m going to focus on the two major actions which are :install and :upgrade. While the difference is obvious it is not always easy to consider which one is better when writing your first recipe.

So, let’s figure out when to use one or the other :)

Read on →