flush() bug in PHP 5.4

flush() bug in PHP 5.4

For some reason, nobody seems to acknowledge there is a bug with flush() in PHP 5.4.

In any previous version of PHP, you could just do:

PHP


and the PHP output buffer would be sent to Apache which would in turn send it to your web browser.

We are not talking about any side effects due to compression or charset sniffing here. We are talking about: flush() was working just fine.

And then compes PHP 5.4 and it doesn't work any more. And you revert to PHP 5.3 and it works again. PHP 5.4, broken again. And you can reproduce that to infinity but still, nobody wants to acknowledge it.

So we had to find a workaround. Here it is: just replace your flush() calls with a custom call like flush54() defined like this:

PHP

function flush54()
{
  @ob_end_flush();
  flush();
}

This will restore the initial behaviour...

How to find files recursively on Linux (or OS X terminal)

How to find files recursively on Linux (or OS X terminal)

Sometimes you need an emergency reminder about how to find all files of a certain name in a directory structure… like say: find all .htaccess files hidden in my web site. Well, here’s the magic command:

Shell

find . -name ".htaccess"

Also if you want to look for all hidden files (all files starting with a dot), you’d go like this:

Shell

find . -name ".*"

Using this to find images in iPhoto or Aperture

Sometimes you want to find the original or a preview of an image that is in your iPhoto or Aperture Library but you just can’t find it when you click on “Show Package Contents". The above command is your savior. Just execute it from within the library folder and it will find any JPG file you know the name of in a matter of seconds.

How to automatically copy out the images you find

Now let’s assume you can use this command to find lost files in your library, here’s an example of how you copy them out:

Shell

cp -`find . -name "IMG_542*.jpg"` ../recovered_files

Note the backquotes (back ticks) are used to reuse the results of the find command as arguments to the cp command. This is called “Command Substitution” in the shell.

How to check when Linux was installed

How to check when Linux was installed

If you have several servers to maintain like I do, at some point you’ll want to know how old exactly an installation of Debian (or another flavor or Linux) has gotten since you last wiped it clean…

So how do you check the install date?

I found the easiest way was to simply check the date of the lost+found folder. This folder is created at installation time and basically never removed after that. So I just go with:

ls -l /home/

and look at the date for lost+found .

Parallels Desktop 7 with Retina resolution - FAIL! (Screenshots)

Parallels at 2880x1800 with mac set to Best for Retina display resolution
Parallels at 2880x1800 with mac set to Best for Retina display resolution - Click to the the actual screenshot

Parallels has recently announced in a video that their virtualization solution Parallels Desktop for Mac now “takes full advantage of the Retina Display on a Mac".

That sounds awesome, but it’s not true. It’s actually pretty much a lie! :( – You can take some advantage of the Retina display, but definitely not full advantage.

All you can do is set Windows to believe it is running with a 2880 x 1800 pixels display. And that is indeed the physical pixel resolution of a Macbook Pro Retina display…

But, in NO CIRCUMSTANCE can you actually map each pixel from the 2880 x 1800 virtual machine to a physical pixel of the actual screen.

What you get instead, is blurry scaling all the waty down!

On the first screenshot below (click to zoom) you will see how 2880 x 1800 is scaled down (and BLURRED down) to 1440 x 900 if you keep you Mac runnign with the default setting of “Best for retian display".

On the second screenshot below you will se how 2880 x 1800 is scaled down (and still blurred down) to 1920 x 1200 if you change your mac display settings to the highest scaled resolution. This solution makes your windows look a tiny little bit better but it also makes your mac apps look less sharp (because they are now scaled too! Remember, you are no longer running in “Best for Retina display” mode!)

Full story »

Mac OS X Lion: How to clean up the 'Open With' menu

When you right-click (or control-click) on a file in the Mac OS X Finder, you get a contextual menu with a nice “Open With” option, which lets you open the selected file with any Application that you desire to.

That is pretty nice until that menu gets all clogged up with all sorts of old/broken apps that you don’t use any more.

Due to some caching mechanism, it seems that this menu never cleans itself up :/

So here is how to reset it:

  1. Open a Terminal window (by running the “Terminal” Application)
  2. Copy/paste the following command: (all on one line)

    Code

    /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
  3. Click on the Finder icon and relaunch the Finder (or log out and log in again)

Your ‘Open width” menu will now be all clean… and will start to fill up again as you run/install apps that register themselves there…