Generating Custom Sequences in Postgres

Postgres, unlike MySQL, uses sequences for auto-incrementing IDs. It's a very powerful feature, and gives you a lot of control over how to store a primary key. But say you want to generate a unique value for a field in a table, only this value is visible to the end user, and always increments by a … Continue reading Generating Custom Sequences in Postgres

Shoe Dog

I picked up the book Shoe Dog by Phil Knight near the end of 2016. I had seen it in bookstores, but ignored it until Bill Gates said it was one of the best books he had read all year. Shoe Dog chronicles the rise and many near-falls of Nike. The book takes you from … Continue reading Shoe Dog

Unit Testing Your Service Layer is a Waste of Time

Writing unit tests for your application’s service layer is a waste of your time and won’t strengthen your application any better than functional tests would. Writing functional tests that thoroughly test your application does what it says it will do correctly is a much better use of your resources. I first learned about test driven … Continue reading Unit Testing Your Service Layer is a Waste of Time

I Am a Great Programmer, But Horrible At Algorithms

This is an old post written in February 2013 and published my old blog. I am publishing it here because it resonated with the community when it was first posted. The basic idea continues to flourish with the rise of sites like rejected.us and Max Howell’s very popular tweet. I am a great programmer, but … Continue reading I Am a Great Programmer, But Horrible At Algorithms

Application Scalability Has Evolved

This is an old post written in November 2012 and published my old blog. I am publishing it here because I believe most of the thoughts presented have become true. We have Vagrant and Docker for fast onboarding, modern frameworks allow applications to be built very rapidly, the rise of continuous integration tools proves rapid … Continue reading Application Scalability Has Evolved

Customizing the precision in percent formatting in Sonata IntlBundle

By default, the number_format_percent macro in the Sonata IntlBundle formats numbers without a decimal fraction. For example, if the value passed to it is .1240, the resulting formatted string will be "12%". If you want to add additional levels of precision, you can customize it with the fraction_digits argument like this: {{ .1240|number_format_percent({'fraction_digits': 2}) }} … Continue reading Customizing the precision in percent formatting in Sonata IntlBundle