The Road to Docker Part 2: GitLab and GitLabCI

January 8, 2017

Last time

To refresh our memory, last time we started talking about improving the day to day development process using specific tools and technologies that can ease and improve the work flow and communication around code reviews, branching, and merging. We also discussed continuous integration and wanting it to be well connected to the version control system (Git in our case) using an elastic set up that was easy to configure and maintain for multiple repositories and branches.

Read More

The Road to Docker Part 1: VCS and CI

December 29, 2016

What is this series about?

As the year neared it’s end, we had a quieter time in the office. So, I started thinking with my engineering team about what we wanted to change in our day to day work in order to make improvements and efficiencies. After some chats, we decided that we wanted to work on our code reviews, CI, and increase visibility and communication around branching and merging. So far, we have been using Git through via the command line, and performing code reviews through email. Most of us have been using GitHub or GitLab, Jenkins, GitLabCI, and other similar tools on our own or on other projects. As such, we decided to experiment with various tools and find what worked for us the most.

Read More

Wants and Dont Wants

July 27, 2016

2015 was a life altering year for me. I embarked on new professional opportunities, changed my lifestyle drastically, and underwent some health set backs. With so much changing, I started to think about where my life was headed and what my next direction looked like. Although I am still learning and discovering, I know that there are a few things that I want, and others that I dont want.

Read More

Progressing with Calisthenics

April 24, 2015

“You don’t become a better athlete by moving up through the progressions you can’t do very well. You become a better athlete by taking the time to practice the progressions you can do well.”

Read More

Calisthenics in 2014

January 14, 2015

Towards the start of 2014, Wendy introduced me to calisthenics and body weight training. We started watching videos, mainly by Frank Medrano, and we were very impressed with what someone can do with their own bodyweight; especially when we found out he follows a strict vegan diet!

Read More

Blog uses Jekyll

January 13, 2015

I moved this blog from Tumblr to Github Pages, and it’s now built with Jekyll. Oh, and this is the first post of 2015, with no posts in 2014. Hopefully, things’ll be different this year.

Read More

Quickly visualizing MySQL data

April 1, 2013

I constantly find myself digging through some of our raw data here at Mate1 looking for patterns or trying to figure out why we are seeing new ones. I usually sift through logs as well as user data and I join between a few tables. After I get most of my data I’ll apply transformations on the data, I group it, I compute aggregates, etc. At the end of this I’m usually greeted with MySQL’s usual tabular format which although is quite useful at times is also not the best format for showing trends and distributions. Most of this work that I’m doing is very adhoc and is not worth having any of the analytic team spend any amount of time on.

Read More

From Typo to Tumblr

August 26, 2012

I’ve been meaning to update the Typo install that runs this site but never got the chance to do it. I looked around for a bit trying to find a replacement and finally settled on tumblr. As a result of that choice I had to cobble up a way to export posts from Typo 5.0.2 to Tumblr.

Read More

Akka 2.0 actors with Kafka backed durable mailboxes

May 1, 2012

Another quick hack I put together the other day was Akka 2.0 actors that use Kafka for durable mailboxes. It was more a learning exercise about implementing durable actor mailboxes for Akka than anything else. Perhaps I’ll put it to use one day soon.

Read More

mod_msg_filter - block/allow message delivery over HTTP for ejabberd

April 28, 2012

One of the requirements we have for our chat service where I work is the ability to decide whether users are allowed to chat based on business logic that we execute in our permission system. This means that we need to ask the permissions system every time people start to exchange messages. To that effect we’ve implemented mod_msg_filter and figured we’d share it in case anyone else on the list has similar use cases.

Read More

Desktop at home

March 24, 2011

This is my current home desktop running ubuntu/gnome. E17 lives at work right now (=

Read More

Shrink, Spiffy, Scala!

March 14, 2011

Been writing some Scala code, its fun, and one hell of a fantastic language. You should take a look at it some time.

Read More

Quick graphs with Perl / GD::Graph

July 8, 2009

So I had to quickly whip up some graphs today at work based on values coming in from one of our database tables. Nothing better then Perl and GD (GD::Graph) for a quick and effective solution.

Read More

1000 Calorie Breakfast

November 9, 2008

After a night of solid clubbing, Wendy and I went for some breakfast at L’Avenue. While we stood in line waiting to go in, we decided to pick up a couple of pieces of cake from Premier Moisson because we were told there would be a 15 minute wait. After we finally got in there, we took a quick glance at the menu and ended up ordering 3 servings of egg benedicts for a grand total of: 3 plates of fruit, 6 eggs served on bagels and buns and 3 bowls of potatoes. The entire thing was around $50 and about 1000 calories per person. I haven’t eaten anything since (its 8:34 PM now).

Read More

New Theme

July 3, 2008

I’m working on a new theme for this site. To force myself to finish it, I’m going to apply it directly, the result being, messed colors, fonts, etc until its done. Wee! (=

Read More

Thunderbird sucks, Claws owns!

July 2, 2008

I was setting up my signature file (~/.sig) in Thunderbird today, and I thought to myself, “hmm, let me create a fifo instead, and pipe some output from fortune into it”. So I mkfifo’‘ed ~/.sig and wrote a little perl script to write out my signature into the fifo when Thunderbird asked for it. The script is pretty simple:

Read More

Finder -> Frisk (0.0.1)

June 25, 2008

Yes, I’ve called it Frisk! Version 0.0.1 is ready, no public release yet, but I’m started to feel fairly happy with the solid foundations Frisk is being built on top. As it stands, there are 3 libraries (aside the other libraries from the EFL) that are being built: fkinetic, fthumbnailer, and fmultiscale. The first being a generic kinetic movement area, the second being a distributed thumbnailer and caching engine, and the third being the code display widget that lays out images and decides how to move them around and manipulate them.

Read More


June 23, 2008

I added some of my configuration files here. You can take a look at them in the configs page accessible through the menu.

Read More


June 16, 2008

I’ve been working on a new concept for an image viewing / searching application. For lack of a better name, it’s called Finder for now. The idea is the following. Say you want to find an image on your system; you know its mainly blue (of some sky), but you don’t remember its name, size, location, or when you got it. How can you go about looking for it? You fire up Finder, let it loose on your system, and ask it to cluster images by color. The end result is a big map of all your images, zoomed out, such that every corner of the image represents a color, and the closer you move from one corner to another, you see the colors converging into a gradient. So, naturally, you’d go to the blue area, use your mouse wheel to start zooming in and out, and “throw” the images around (using a kinetic energy panning approach) until you start finding something that resembles the image you’re looking for. You can then zoom in and out, and pan around, until you find your target image, at which point you can pick it up and use it. Right now, I’ve implemented the kinetic panning area, an LRU multi-layered cache system for the images, and the (huge) image grid widget that will hold those thousands and thousands of images. Some of the major challenges at this point are being able to handle the vast amount of data thrown at the application, scrolling it around, loading / unloading images, etc. The next major hurdle to jump over is going to be zooming in and out pretty fast (a problem that might be solved using mipmaps, but might require OpenGL, something I’m trying to avoid).UPDATE: Video here.

Read More

F1 Montreal

June 8, 2008

Off to the track! Soon! I was at qualifying yesterday, and seeing those F1 cars zoom, turn, and accelerate in front of me was awesome! I cant wait for the big race today (=

Read More playlist

June 6, 2008

I added a small widget to the right sidebar that shows what music I’m currently listening to by pulling stuff from So far looking good, lets see what happens when I leave the music turned off at home and I listen to other stuff at the office (=

Read More

2 weeks gone by

June 2, 2008

The last 2 weeks went by way faster than I wanted them to. I had my family over and it was just great. We had a wonderful time, got my place fixed up with all sorts of funky things, and over all spent quality time together. Nothing much to say, just thought I’d go for a small post to let everyone know where I’ve been lately (=

Read More

Repeat *ONE*

May 2, 2008

Why can’t most audio players (software and hardware) have a “repeat one” or “repeat selection” feature? I find myself, once and again, wanting to repeat a certain song over and over, either when working, or when I’m running or at the gym. The solution is usually to either place it in its own playlist or folder, or just keep hitting the back button every time its done. VLC has this feature, hey Audacious, wanna implement it? Rockbox too? You’ll sure as hell make my life easier and my listening experience more enjoyable.

Read More

rm -rf ubuntu && cat gentoo.iso > /dev/sda1

April 28, 2008

I was running Ubuntu 7.10 since it got out on my box at home and its been treating me pretty nicely. Last night, I tried to use the internet updater to move to 8.04. After installing the system and rebooting to use the new kernel, I was greeted with a funky looking display. Everything was blurred, and looked like crap. After looking into it, apparently the version of X with Ubuntu 8.04 and the xorg intel video driver don’t work nicely together. I tried updating the entire thing from git, and still no dice. I so could not be bothered with it, i just cp -R’ed / into another directory, and decided to back to something I enjoyed using more, Gentoo, which is installing and updating world as we speak. It feels good to be back. (=

Read More

Hisham TV

April 14, 2008

Is back!!! In all its glory too! Boring and semi static as usual - I need to find the best place to put the thing. The plan is to set up a couple of them eventually - I’ll need long USB cables though, or something of the sort.

Read More

Moving - Part Deux

April 6, 2008

So I moved to my new place yesterday, got things set up here and there. The place is still empty though - in dire need of some furniture and a BIG tv screen (= I managed to leech some internet from some random access point in the neighborhood. Not too bad, 500K/s, does for now. I stocked up my fridge with the needed nutrients (egg whites, cottage cheese) and my usual oat meal. Speaking of which, I’m hungry! (=

Read More


April 5, 2008

I’m moving in a few hours. The new place is much closer to work, and much more convenient. The only downside right now is that i will be offline for a period of time during the days on weekends, and during the nights on week days until my ISP “moves over” my connection there. Hisham TV will also be out for a while (=

Read More

All over? Hell no!

March 31, 2008

Just when the weather was starting to clear up, and just after enjoying a sunny weekend, I got into the metro this morning, got out, and SWOOSH! Another nice windy snowy day! There was no way I was going to walk up to work form the metro in that weather, so I just waited (for around 15 minutes might I add) for the bus. Just another day in Montreal. (=

Read More

Off IM. IRC - Part Deux

March 29, 2008

So was it any good? Actually, yes, it was, it made a lot of a difference at work… IRC was not too bad, since I phased it back in over the last couple of days, but IM was a major time killer. So whats a good compromise? Log onto IM during those times of the day where there isn’t a very heavy work load, like lunch, and right close to 5PM when we have our daily scrumm meeting.

Read More

IM, IRC, etc, *off*

March 10, 2008

I’m going to go for a few days without using IM or IRC during the day time. The point of the experiment is to figure out if IM and IRC have an effect on my work / productivity or not. Lets see how this goes… (=

Read More

Favorite video player?

February 17, 2008

So I was watching Lost (720p) yesterday on my PC, and that thing would drop frames like there’s no tomorrow. I started off trying it with Totem, then VLC, and then I got so upset with the quality of the playback, I installed and tried Mplayer. Wow… just wow… I used to use Mplayer on my laptop a year ago (on the FreeBSD install) but I haven’t tried it out since. Its amazing how well the playback quality was with almost no dropped frames at all. Tells you a thing or two about how different well written software is.

Read More;

February 3, 2008

So I did some code and cosmetic upgrades on this blog. Testing it out for a while now before I roll it out completely. I’ve been doing some work on RFC 2812 in my spare time - the results should be public soon. In other news, more work, more gym, and just more life really. In terms of music, I’ve been enjoying some of DJ Code’s music - its quite good.

Read More

On Tomcat 6.x, Hibernate 3.x, MySQL, and JNDI

January 6, 2008

After lots of googling and documentation reading, I got a setup of mine to work properly with Tomcat 6.x, Hibernate 3.x, MySQL, and JNDI datasources. For what its worth, most of the resources on the web regarding setting this up with the versions I specified are worthless. To save myself the future hassle, and the lot of you who might be having a hard time setting this up, here are the configuration files and directives required.

Read More

On Facebook and 65543 friends

December 22, 2007

So whats the deal with people on Facebook having 65543 friends and whatnot? Well maybe not that much, but still, having a lot of friends.I have 61 friends, and I’m overwhelmed with all sorts of annoying feeds here and there and every-effin-where. I dont know who just played poker, I dont know who went to I dont know what event, someone just got bitten-axed-limbs-torn-up by I dont know who… That’s just silly. I could turn off all this sort of stuff by filtering most of it out, but, then again, (1) I can not be bothered setting up this stuff for every annoying feed type, and (2) I really do not care about this stuff (and most of the time, the people behind this stuff). So what am I going to do? Pretty simple and to the point, if your constant updates and feeds annoy me, I’m going to politely remove you off my Facebook profile. Don’t take this the wrong way, you’re just annoying me more than you’re making me happy knowing about your life by having you on Facebook. Message me or something if you ever want to talk. (=

Read More

Bus Number 55

December 18, 2007

This is one of the worst buses I have had to take in Montreal. I usually wait for it by the St. Laurent metro station, and boy what a wait. It gets worse every day. The latest trend is having the bus arrive only to have an “out of service” tag on it and it passes right by! Why would a bus pass on time, right by the queue of people, and have an out of service sign? As a matter of fact, I waited for around 35 minutes today. Both buses had an out of service sign, but the second one picked us up. I need to find a solution to all of this… -25 degrees and a 30 minute wait is not gonna cut it this winter.

Read More

Snow Storm

December 16, 2007

Today was the first real snow storm for the winter. At -24 degrees celcius and constant snow (with lots of wind) I can barely see out of the window today. I woke up at around 9:00 AM and I thought it was the afternoon already. Today’s plan? Hot tea, laundry, and hacking code!

Read More

On Facebook and Status Messages

December 1, 2007

So what’s up with people writing crap and grammatically incorrect status messages on their facebook profile? “John Doe is I want to eat something” for example… Is it so hard to write “John Doe is hungry…” instead? For God’s sake people, come on! Use that thick lump between your ears a bit more and write proper English sentences…

Read More

New Couch

November 26, 2007

Thanks to Amelia and Ted, I have a new couch (and other nifty things)!! You can check it out here. Now all I need is a movie to watch. Hmmm…

Read More

Late night meeting

November 23, 2007

So what happens when a group of very motivated computer geeks exchange several emails at midnight? They meet up at 3:30 AM at a Second Cup and discuss the prospects of immensely crazy future work! Fantastic.

Read More


November 22, 2007

After getting myself a DA membership again, I decided to create a pastie for my latest submitted deviation (visible on the right hand side). DA should provide some form of API to let website builders integrate nicely with it, but I guess they wont. They want to stay in control of all of this stuff, and, more importantly, want people to have to pay money to use these services. I really need to rekindle my DA screen scraper project again. (=

Read More

Back in Montreal

November 21, 2007

I just got back to Montreal yesterday, and was greeted with a nice layer of snow. Very cool (in the metaphorical and literal sense of the word!). I’m going to have to get all sorts of things sorted out now (residency papers, insurance, social security, bank account, credit card, etc.) Taking it a bit easy today though, doing some work and unpacking my things. It feels good to be back. (=

Read More

Good night!

October 24, 2007

Finally! Been here in Montreal for around 2 months now, and I’ve been sleeping on a sofa bed every night. My nice big new ultra comfy memory foam bed is here! Muwahaha! Long sleep-full nights are ahead of me!

Read More

A Warm Sunny Day

October 16, 2007

So its 4 degrees outside, the sun’s up, and there’s a cool breeze in the air. What better time than to open up the windows, raise the blinds, and enjoy the weather! (=

Read More

E17 Code *UPDATED*

October 14, 2007

So today I decided to work with Chris on some E17 code for adding context sensitive menus to E17’s file manager, EFM. I think we’ll be done with this by the end of the day with a working rigth click -> Set As Wallpaper for Edje background files. UPDATE: And that code is in CVS and working right now. Its applied for Edje files (backgrounds and themes) right now. The plan is to have an E17 module that allows the user to associate any mime / glob with a script / app on the system.

Read More

Everyone's depressed

October 12, 2007

Well, I’m not depressed. Lately, everyone I talk to is either feeling down, or depressed. Tis the season? Autumn is depression season? Dunno, maybe, but I know one thing for sure. Its in your head, decide that you want to feel better, work towards it, and you will feel better.

Read More

Cant pass out

October 8, 2007

Up for around 24 hours or so, lost track, and I can not seem to pass out and head into Snoozeville. I guess there’s no point wasting any more time, I’ll just start my day normally and see how it goes.

Read More

Firewall nic died

October 1, 2007

So I came back home today to find there was no internet access. WTF? After looking around for a bit, investigating the cable model, and trying everything aside the obvious, I found out the network card on my firewall died. Time for a new one, this blows.

Read More

Lost in Montreal

September 30, 2007

So we were supposed to go out for sandwiches today, since we had a rented car… We picked a place up in Cote Vertu (bit far from down town Montreal), and decided to drive there at around 5:45 PM. The drive is usually a 15 to 20 minute one, assuming you know your way around (=. After around an hour and 15 minutes of endless roaming around, we finally got there, had our sandwiches, and started our journey back. Going back, for some reason, was extremely harder than going getting there in the first place!! We were almost outside Montreal, until we got some form of directions, and finally managed to find out way down town. The entire trip took us just over 3 hours. At least we got to tour Montreal a bit (=

Read More

Going to La Ronde - UPDATED

September 8, 2007

So I’m off to La Ronde today! I hear its a pretty cool place, more info when I get back! The plan is to finish up, and get an uber steak and meat meal from Schwartz’s! Mmm… (=

Read More

Off to Canada

August 22, 2007

I’m off to Canada tonight. I’ll be going through Paris. I’ll leave Beirut at 2 AM Beirut time (Thursday 23rd), arrive in Paris at 5:30 AM, then wait and fly to Montreal at 1:00 PM Paris time. I should reach my final destination at 2:40 PM (Thurs 23rd) Montreal local time. See you all on the other side!! (=

Read More

/nick CaneWarrior

July 20, 2007

Why? I was performing a spider-man stunt over a 2 meter hight wall and landed improperly. As a result, I hurt my right ankle and I now need to use a cane for a short period of time. If you cant find CodeWarrior online, search for CaneWarrior. Adios! (=

Read More

Gvim! Hurray!

July 5, 2007

So after years using Jed, I’m strongly thinking about switching over to gvim. Jed’s constant quirks like not working nicely with zsh and urxvt, artifacts, weird indents, and other crap are driving me away from it as a code editor.

Read More

Etk Cairo Widget

July 5, 2007

So someone on irc (bmz from #etk) mentioned he wanted to do some drawings using the EFL and would like to be able to draw shapes and curves onto Etk widgets. After a couple of hours of tinkering about, I created the Etk_Cairo widget. This widget allows you to creae a “surface” on which you can use Cairo to draw. A short example would be like this.

Read More

Jed config files (Enlightenment style)

June 30, 2007

Dale asked me for the Jed configs I use so I decided to put them up here for him (and others) to nab. You basically need to put in /usr/share/jed/lib/colors/ and the other file can be appended to your ~/.jedrc.

Read More

Etk - Combobox Entry Widget

June 28, 2007

So the past couple of days, without internet, have been pretty boring. While waiting for the ISP to get their act together, I coded a new Etk widget, the combobox entry. You can find a screenshot here.

Read More

Evolve gets new icons

June 23, 2007

Courtesy of Lucho (ManoWarrior), Evolve has replaced the gnome icons and now uses a set of fantastic new icons.Thanks Mano! (=

Read More

ln -s /bin/zsh /bin/bash

June 21, 2007

So I finally decided to give Zsh a try. I spent some time customizing my .zshrc, fixed the prompt, got everything the way I like it, and I must say, its pretty nifty. The auto-completion is very well done, and I certainly do prefer it over Bash’s. If you havent taken the time to look into it yet, I suggest you do.

Read More

Evolve - Introduction

May 30, 2007

Over the past couple of weeks, I have been working on Evolve. Evolve started out as a parser that can parse something like:

Read More

Moving Servers

May 27, 2007

After a couple of server mishaps, I’ve decide to get this thing set up in a couple of places for redundancy and what not. I’m in the process of copying things over so its going to be a rough few days or weeks. Catch you folks on the flip side! (= UPDATE I’ve got a basic blogging engine up and running now, but without the data from the old posts or my files section.

Read More

26 today - update

April 8, 2007

Another year goes by - not much for now - more later. Can I have a knife and dice myself up for everyone to have a bit of? (=

Read More