Categories: "Full Stack Dev & Design" or "Databases" or "MySQL" or "HTTP/SSL" or "Internationalization" or "Javascript" or "Mobile" or "PHP" or "Syndication (RSS, RDF, Atom)" or "Web Design" or "XHTML/CSS" or "XML"

WWDC 2016 : Carplay getting smarter?

I haven't ranted for a while, so here's something: my biggest gripe about Apple Carplay!

I basically need two things when I drive:

  • directions
  • and controls for what I am listening to.

But Carplay refuses to let these 2 essential things share the screen.

To add insult to injury, Carplay makes switching from one to the other especially hard!

For example, when on the "Now Playing" screen, I have an icon to go to Navigation: (so far, so good)

WWDC 2016 : Carplay getting smarter?
Now Playing... (an AudioBook)

But now, when on the Navigation screen, all I have is a completely useless compass in the place where you'd expect an icon to switch back to "Now Playing":

WWDC 2016 : Carplay getting smarter?
Navigation Screen

In case you wonder why I can't just use the car controls to skip to next and previous song, it is because I am not listening to songs! I am listening to Podcasts and Audiobooks. And for those, the controls you need the most are:

  • "I didn't get that, rewind by 15 seconds"
  • "yada yada yada, skip forward 15 seconds" (also useful for boring commercials)

Now, after years of no change to this, I have a tiny tiny hope that the next version will finally solve this. Look at this screen from the WWDC Keynote:

WWDC 2016 : Carplay getting smarter?
WWDC 2016

The compass is gone! Yay! But did they replace it with a "Now Playing" icon when something is playing??

evo-sublime theme for Sublime Text

evo-sublime theme for Sublime Text

I've just uploaded the evo-sublime theme for Sublime Text on GitHub .

It is a dark text on light background theme, with vivid highlights.

This is the theme I use to work on b2evolution.

Installation

You need to copy the color scheme into the Sublime Text Packages directory.

  1. You can find the path of the directory using the Preferences -> Browse Packages menu within Sublime Text.
  2. Copy the color scheme into this directory.
  3. Use the Color Schemes option of your preferences menu to select the evo color scheme.

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 »

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...