Donate to protect them directly or help international organizations.
Profiling MySQL Queries
February 21st, 2012
You website is slow. You suspect MySQL queries are slow, but don’t know where to begin. This article, aimed at intermediate developers, will present my methodology and serve as a starting point for first-timers. I won’t go in-depth, only cover some of the basics. Turn On the Slow Query Log I once had a server […]
jQuery Performance Pitfalls
January 3rd, 2012
At FooLab, we have been using jQuery because it’s easy to learn, there is a big community with a lot of examples and advice and also because it’s easier to find developers familiar with it. It’s not a bad framework, but it’s very easy to abuse when you do not know how it works and […]
Profiling JS Applications
January 3rd, 2012
Some of the web apps that we build at FooLab rely heavily on Javascript. But when your CPU usage is through the roof, where do you start looking? Many developers start straight with a hypothesis and then try various corrections until something happens. This is a waste of time; no amount of experience changes that. […]
Symfony Form: Extract Values
September 8th, 2011
I had to look deep into Symfony 1.4 code this morning as I was trying to get a field’s value. Form values come from different sources: default values, record values (when editing, for example), original POST values and clean POST values. So when is each available and how do we get it? Get the values […]
Their Programming Language Sucks!
September 2nd, 2011
Or at least this is what I hear often all around me. Many want to think that their language is better than all others, and go to great lengths to discredit them. Just like at sport events, people would paint their faces in their team’s colors and yell insults at the opponents. I’m here to tell you […]
Updating RubyGem on OSX
July 28th, 2011
No gem would install on my machine because my RubyGem was outdated and rubyforge.org kept returning 302 (redirect) status code. After trying every recipe to update RubyGem on Mac OSX that I had the patience for, I came up with my own solution. [...]
Public Call for Papers: What Does That Mean?
July 18th, 2011
Some of you may have already heard that the ConFoo call for papers is already open. The great thing about it this year, is that it’s public. This means that anyone can vote on the proposals. Besides being fun for the speakers and attendees, it opens up a whole lot of possibilities. Selection As organizers, […]
SoundMixer + ByteArray
June 16th, 2011
As I was writing a prototype for a voice-driven user interface, I ran into a wall. I was convinced that I could analyze a sound’s frequency spectrum with ActionScript 3. It turn out that the awesome SoundMixer.computeSpectrum(), which implements the Fast-Fourier Transformation, can only sample currently played sounds. It cannot be supplied a ByteArray, such […]
Sync git fork with maintainer
May 30th, 2011
I forked the joind.in project on GitHub, committed a few patches and sent pull requests. It was fun until I asked myself “how do I keep my fork synced with the maintainer’s repo?” I found the info (with minor bug) on Google Groups by Matt Todd. It deserved its own post post. Create and checkout […]
Symfony task “default” context
May 17th, 2011
When creating Symfony 1.4 CLI tasks, I stumbled upon an error message: The "default" context does not exist. After searching some old forums, I found a solution. Before you access any Doctrine class, you mus first bootstrap your context correctly. Here is an example: […]