Geek

Thoughts on work/life balance

In many ways I consider that the biggest strain with being a software developer is the intensive intellectual work. It’s draining. In my case, I think about problems, possible solutions. I code, test, fix and deploy changes. It’s stressful, demanding and has the tendency to consume your waking time even outside of work. There is no guaranteed off switch. A man sits at a bar, his friends walk in. He’s thinking about efficiently pushing hundreds of millions of rows of data into a database.
Read more

Optimization strategy

Sometimes it's not about just optimizing CPU time away. Looking at the details I could optimize away a badly written SQL query along with some more trivial big-O problem in regard with sorting of video clips which I got out of serialized data. All from a few carefully placed calls. Reducing network bandwidth is just as important as CPU time.
Read more

In process performance statistics with Redis

Every once in a while you need to do a sanity check of your code, how it performs and what you can do to improve it. This is most apparent with a code-base that is developed and refactored over a period of several years. There can be several problems that negatively impact performance due to dependency issues or legacy code that should have been removed but was forgotten during a refactoring sprint.
Read more

Maintaining broken code

Time moves on. Technology improves, sometimes taking care of bad decisions in the past, making it necessary to fix things related to that. PHP changed over the years in small and subtle ways, from register_globals, short_tags, autoglobals, and will hopefully continue to improve in the years to follow. But some things are not a design fault in PHP. Some things are a direct cause of little to no thought in the process of using PHP.
Read more