Skip to content

A few years with Doctrine2

I have been using Doctrine2 for about 3 years now. I started with the first 2.0 stable, integrating it into my employer’s in-house framework, and in the last year, I have been using it as part of Symfony2. There are quite a few things that I love about it, and a small amount that I dislike.

Oculus Rift got Zuckerberged

Not 24 hours have passed since the announcement, and the internet is already up in flames. Oculus Rift, one of the most promising VR technology is now in the hands of Facebook.


Merging/diffing a file with git, that was deleted upstream, but has local changes

Or vice-versa, you deleted a file, that changed upstream, and now you have to see a diff between the base, and the changed file. The problem is that the usual tools, like git diff, git show, don’t return any useful results, and checkout does not have a –base switch (like it has for –theirs and –ours).


Javascript module loaders considered harmful?

Apparently, module loaders are a bad thing now, based on some obscure points, according to an article from @ironfroggy. None of the points mentioned in the article make sense, and here’s why.


Invalidating the OPcache in PHP 5.5

The Zend Optimizer+ has been integrated into PHP core with the 5.5 release, which, according to the RFC page, has many advantages over APC. It has been renamed OPcache, can be enabled with a simple ini setting, and since it’s in the core, it offers better version compatibility. Unfortunately it also includes my only gripe with APC, invalidating the cache is much harder than what one would think.


What is missing from the master branch, but is present in devel?

Or, what is present in branch A, but missing from branch B? I always, always, ALWAYS have to look this up. I have a devel, and a master branch, there were a few hotfixes on the master branch, and there are a few new features developed in devel. Now I want to make sure that the hotfixes are merged back to devel, and I also want to check what new features will be deployed, if I merge devel into master.


Writing a Chrome extension

This is part 2 of the How to develop browser extension article series. I’ll give a few guidelines, examples, and show some gotchas on what to look out for, when you are developing an extension for Chrome.


Developing a browser extension

Ever wondered how you can develop a browser extension? It’s not hard, you just have to read a bit of docs, and do a lot of trial and error. This will be a 3-5 posts long series, that talks about how to develop an extension for today’s browsers in general, and the various traps one might fall into while developing one. I am covering Chrome, Safari, and Firefox in detail, unfortunately I have no experience with IE, and Opera. I will also talk about cross-browser extension frameworks at the end.


Google Reader alternatives

As probably everyone heard by now, following the closure of FeedBurner in last year September, GoogleReader is closing down its doors on July 1st. Google is citing declining usage, which surprises me greatly since I remember news sites claiming in ~2008 that RSS’s success is going to cause its own downfall, since so many people are using it that some servers can’t handle the stress. If you aren’t using RSS, you are missing out on one of the greatest functionalities of the web. Reading through an RSS reader is like watching your movies without commercials. I sampled the threads on Reddit, and Hacker News, to see what other good services are there. (Continued)

Get the ID of a related entity, without loading it in Doctrine2

When using Doctrine, it very frequently happens that you have an entity in hand, an Article for example, that is in a many-to-one relationship with another entity (a Category), and you need to get the related entity’s id. The problem is that Doctrine uses proxy objects for relationships, and when you access the id, the proxy will self-load itself, sending a query to the database. Shouldn’t it be possible to get the related id, without another query? It’s in the same table after all. (Continued)