My friends and family are under attack in Ukraine. Donate to protect them directly or help international organizations.

We are all biased

April 22nd, 2016

If you think that you are special and not biased, you’re not. We are all biased in some way. Before we talk about bias, let’s talk about inference and prejudice. Why does prejudice exist? When we are children, everything is new. We don’t have the experience to decide whether something is good or bad, so we don’t […]

Read more

Experience With Immigration Fraud

April 13th, 2016

As you may know, I organize a conference that gets many international speakers and attendees. Although many of them have no issue travelling to Canada, some require a travel visa, which means that the Canadian embassy in their country will grant them permission for a temporary stay. Citizens of some countries have an extra step […]

Read more

Fixing Doctrine Segfaults

March 21st, 2016

I had a tricky segfault when trying to save a very simple Doctrine object. Here’s my debugging process and solution. Context I was using the sabre/vobject package to parse and save some iCal data. The parsed data was assigned to properties of a Doctrine entity and then persisted. The segmentation fault was happening every single time I called the […]

Read more

Testing Methods That Make Static Calls

January 13th, 2016

I had trouble testing a particularly painful codebase. It had static calls and implicit dependencies all over the place, to name just a few problems. One of the things that it often did was to call static methods that would increment counters in the database and cache stuff. […]

Read more

Better Link Previews on Social Media

December 3rd, 2015

There's a protocol called Open Graph that allows you to specify metadata for social media sites. Add some these tags to your […]

Read more

What Clients Are Really Saying

September 11th, 2015

I build software, guide teams and consult with management to help them achieve their goals. I can spend an insane amount of time developing a relationship with a prospect that just isn’t going to pan out. From the first 10 minutes of conversation, I can have a pretty accurate assessment of my success chances with the prospect […]

Read more

Creating Courses and Talks with Mind Maps

September 2nd, 2015

Many people are intrigued when I say that I am able to cut my course and talk preparation time by roughly 70% using mind maps. The first instinct is to write slides, but that is wrong. Slides are linear. With the ability to make transitions, add pictures and express ideas in full sentences, they are a […]

Read more

Forcing Doctrine to Persist

August 12th, 2015

I stumbled upon a case where Doctrine would refuse to persist my entity due to a very special circumstance. Here’s the context: I’m using a generic method in my Repository to fetch a Post. I’m selecting partial fields like this: […]

Read more

Converting a Joined Resultset Into a Hierarchy

July 2nd, 2015

I needed nested resultsets in some projects. I’ve seen a lot of StackOverflow chatter which essentially pointed people towards Doctrine or Propel ORMs, which was overkill when you didn’t want mapping or even model classes. I built a very small function that will transform joined results into a hierarchy. This avoids using heavy ORMs if you just […]

Read more

Naming functions consistently

June 16th, 2015

I believe that in order to write readable and maintainable code, we must name our functions in a consistent way. What I noticed by reading a lot of code, especially frameworks, is that developers use too many different verbs when naming functions. It’s even worse when the verbs are meaningless, such as handle, execute, do, match, […]

Read more

Newer Posts Older Posts