Screw it, let's reskin it!

Screw it, let's reskin it!

I think it was about time I re-skinned this site! 

Since my last post pledging to get rid of the ugliness, I feel I’ve made some significant progress on b2evolution.net (especially the home page) but this personal site you’re looking at right now was really starting to hurt my own eyes! (I can’t believe I actually used to be happy with my old design :p)

So today I just decided to “screw it and re-skin it“.

I’ve been procrastinating on this for maybe two years just because I didn’t have time (or the energy) to actually re-design it – meaning: polishing a new design for it. Making it responsive, etc.

So I finally decided to take a shortcut: use another skin I like and make it fit as fast as possible. And sometimes I actually forget how fast this can be done with b2evolution. Once I had uploaded the new skin, it took me about 30 minutes to set up all the menu/navigation widgets so the site navigation makes sense. And voilà.

Of course, there’s a million details in this skin that need fixing but I think the improvement is massive already! 30 minutes of work vs. 2 years of procrastination. What a shame! :/

Now, there’s a couple interesting thoughts down the road:

  • I just made the 20% of the effort that yields 80% of the benefits;
  • I still have 80% of the work to do to get the details right;
  • Some day this new deisgn will probably feel ugly again… :(
  • How do I prevent letting it slide into ugliness again next time? hum… it feels like I have so many gardens that need constant care… :p

Anyways, Dear Reader, I hope you’ll enjoy this site in its new form! :)

Did I abandon my sites?

Did I abandon my sites?

2014. Time to wake up, eh?

First off, why have I been blogging so little in the last couple of years?

I guess it's a combination of:

  • Too much work
  • Having a real life (which I might not have had a few years back...)
  • Google did a great job at scaring me off posting "non-useful" content (Shall we call it "Panda angst" ?)

All of these are lame excuses.

  • Blogging is part of my work
  • Don't even get me started on balancing work and real life - there has to be a solution!
  • Sharing ideas, no matter how mundane they might seem at first, has been the beginning of many great projects in my own experience. Plus: it definitely helps to structure a lot of thoughts that would otherwise just swirl around in my head, without ever leading to anything tangible. Moving forward, even small steps at a time is far more important than a particular Google algorythm might think of it... especially on my personal blog (I'm still debating this regarding some other sites :p)

2014. Time to get rid of the Ugly!

The most vexing part in this wake up call is that so many of my (many) websites are just plain ugly... compared to the current web-design state of the art.

I don't recall exactly what led me to this realization but part of it was comparing b2evolution.net to its competitors. Ironically, it's not that the competitors (Free CMS tools) look good. It's actually that those competitors look bad compared to commercial solutions.

Full story »

2013 and still no usable WiFi hotspots

2013 and still no usable WiFi hotspots

I travelled from Paris to Amsterdam this week... (for a business conference).

I took the Thalys speed train. They offer WiFi on board... supposedly via satellite with fallback to multilink 3G when necessary. The reality is it works only 50% of the time. It especially doesn't work every time the train is stopped in a station with a roof. It's almost a joke. They claim offering internet access at hight speed is a technical challenge... yeah well... I almost believed that until I set up my iPhone for tethering and got a better connection through my phone than through the train's WiFi. It costs some data fees, but on the other hand, I don't have to go through the annoying WiFi login screens.

Full story »

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.