Archive

Archive for the ‘Innovation’ Category

Everything is broken and no one cares

February 10, 2013 1 comment

Everything is broken and no one cares

This post from Dear Apple is just so true, and so clearly on topic for Grenouille Bouillie!

Have we reached the point in complexity where we can’t make good quality products anymore? Or is that some kind of strategic choice?

The original post is mostly about Apple products, but the same is true with Linux, with Android, with Windows.

Here is my own list of additional bugs, focusing on those that can easily be reproduced:

  1. Open a file named X in any of the new Apple applications, those without Save As. Open another file named Y. Save Y as X. Beachball. For every application. Worse yet, since applications often remember which windows were open, you get the beachball again when you reopen the application. It takes another force quit for the application to (fortunately) offer to not reopen the windows.
  2. A relatively well known one now: Type F i l e : / / / in practically any OSX application. Without the spaces. Hang or assert depending on your luck.
  3. Use a stereoscopic application like Tao Presentations (http://www.taodyne.com). Activate stereoscopy. Switch spaces or unplug an external monitor. Kernel panic or hang to be expected. Go tell to your customers that the kernel panic is Apple’s fault, not ours…
  4. If you backup over the network, set your computer to sleep after say 1 hour while on power. Change your disk enough that the backup takes more than one hour. Backup disk will come up as corrupt after a couple of days, and OSX will suggest you start a new one (and the cycle will repeat).
  5. Use the “Share” button. It takes forever to show up the window (like 2-3 seconds in general on my 2.6GHz quad-core i7 with 8GB of RAM). Since what I type generally begins with an uppercase letter, I usually prepare myself by having the finger on the shift key. But to that stupid animation framework, “shift” means “slow animation down so that Steve can demo it”. Steve is dead, but the “shift” behavior is still there.

I’ll keep updating this list as more come to mind. Add your own favorite bugs in the comments.

First update (Feb 13, 2013):

  1. Safari often fails to refresh various portions of the screen. Visible in particular when used in combination with Redmine. This used to be very annoying, but it has gotten much better in more recent updates of Safari.
  2. iTunes 11 no longer has Coverflow. It was a neat way to navigate in your music, which wasn’t even the default, why remove it?
  3. Valgrind on OSX 10.8 is completely broken. I have no idea what’s wrong, but it’s a pretty useful tool for developers, and Apple has nothing in its own development tools that is even remotely close.
  4. “Detect displays” is gone, both from the Monitors control panel and from the Monitors menu icon. Combine that with the fact that OSX 10.8, unlike its predecessors, sometimes totally fails to detect that you unplug a monitor. And you find yourself with windows stuck on a screen that is no longer there…
  5. That little Monitor menu icon used to be quite handy, e.g. to select the right resolution when connecting to an external projector for the first time. Now, it’s entirely useless. It only offers mirroring, fails to show up 90% of the time when there is a possibility to do mirroring, shows up when mirroring is impossible (e.g. after you disconnected the projector). It used to be working and useful, it’s now broken and useless. What’s not to love?
  6. Contacts used to have a way for me to format phone numbers the way I like. That’s gone. Now I have to accept the (broken) way it formats all phone numbers for me.
  7. I used to be able to sync between iPhone and Contacts relatively reliably. Now, if there’s a way to remove a phone number, I’ve not found it. Old numbers I removed keep reappearing at the next sync, ensuring that I never know which of the 2, 3 or 4 phone numbers I have is the not dead one.
  8. Still in Contacts, putting Facebook e-mail addresses as the first choice for my contacts? No thanks, it was heinous enough that Facebook replaced all genuine email addresses with @facebook.com aliases. But having that as the first one that pops up is really annoying.
  9. Now fixed, but in the early 10.8, connecting a wired network when I also had Wifi on the same network would not give me higher speed. It would just drop all network connectivity.

Updated February 28th after restoring a machine following a serious problem:

  1. Time machine restores are only good if your target disk is at least as big. But with Apple’s recent move to SSD, this may no longer be affordable to you. In my case, I’d like to squeeze 1TB of data into 512G. Time machine does not give me the level of fine-grained control I’d need to restore what I really need. So I need to try and do it manually, which is a real pain.
  2. Calendar sync is a real mess. Restoring calendars from a backup is worse.
  3. Spaces? Where are my good old spaces? Why is it I had spaces on the original machine, no longer have them, and find myself unable to say “I want 6 spaces” or to setup keyboard shortcuts for them as they used to be.

Moi Président de PME

Quel “président” j’aimerais être?

Un président de PME qui, d’abord, respecte la France, qui l’aime. Je suis le président d’une petite société, je ne peux être que président de pratiquement rien, chef de rien, mais en définitive responsable de tout.

Moi, président de PME, je ne suis même pas le chef d’une minorité. Je n’ai pas le temps de recevoir qui que ce soit parce que je travaille soir et week-ends.

Moi, président de PME, j’ai à traiter avec des investisseurs, pas à polémiquer de savoir si on les appelle associés ou collaborateurs.

Moi, président de PME, je participe à toutes sortes de collectes de fond parce que que je n’ai pas l’option du déficit budgétaire.

Moi, président de PME, je fais fonctionner la boîte de façon indépendante, mais j’ai des compte à rendre si j’agis contre l’avis de mon “conseil d’administration” (ou ce qui en tient lieu dans une SAS).

Moi, président de PME, je n’ai pas la prétention de nommer des directeurs, je sais très bien que c’est par leur indépendance d’esprit et leur initiative qu’ils ont mérité ce titre

Moi, président de PME, je fais en sorte que mon comportement soit à chaque instant exemplaire, tout en ayant une conscience plus aigue que jamais de mes propres limites.

Moi, président de PME, ce n’est pas de gaité de coeur que j’ai un statut très peu protégé, sachant très bien que si mes actions venaient à être contestées, aucun magistrat n’hésiterait jamais à me convoquer.

Moi, président de PME, j’ai constitué une équipe paritaire, avec autant de femmes que d’hommes dans la mesure où on peut le faire dans une équipe de cinq. Et alors?

Moi, président de PME, je suis soumis tout comme mes investisseurs à un code de déontologie qui interdit tout conflit d’intérêts. Là encore, et alors?

Moi, président de PME, je constate que mes associés ne cumulent rien, sinon les heures de travail mal payées, car on peut considérer qu’à partir de 70h par semaine, on se consacre plus que pleinement à sa tâche.

Moi, président de PME, j’aimerais bien voir un peu de décentralisation, j’aimerais bien qu’on donne aux forces vives locales que sont les PMEs un nouveau souffle, qu’on tire parti de leurs compétences, qu’on leur accorde un peu de liberté.

Moi, président de PME, j’aimerais bien grossir assez pour avoir des partenaires sociaux ou consacrer du temps aux associations professionnelles. Je préférerais quelques discussions régulières à des lois imposées sans négociation.

Moi, président de PME, je me contenterais bien d’un petit débat. On a évoqué la taxation du capital, et il est légitime qu’il puisse y avoir sur ces questions là un débat citoyen.

Moi, président de PME, je suis soumis à la proportionnelle face à mes actionnaires, et ce n’est pas en 2017, c’est dès maintenant que l’ensemble de leurs sensibilités est représentée.

Moi, président de PME, je suis la tête dans le guidon, avec toute la hauteur de vue qui va avec. J’aimerais bien fixer de grandes orientations, de grandes impulsions, mais en même temps, je dois m’occuper de tout et je dois avoir toujours le souci de la proximité avec les clients.

J’aurais bien aimé une vie un peu plus normale, mais rien n’est normal quand on est président de PME. Etre président, c’est pas si facile. Notre monde traverse une crise majeure, en tous cas la France. Mais on peut encore réussir à se fâcher avec l’Europe. On peut encore créer plein de conflits en se montant les uns contre les autres ou en se disputant sur l’environnement Bien sûr qu’un président doit avoir une réponse toute prête qui prenne de haut ses sujets: “je n’aime pas les riches“, ça suffit largement à montrer qu’on est proche du peuple, qu’on est capable de comprendre toute la complexité de réalité économique et sociale en France.

Cela dit, moi, président de PME, j’aimerais bien qu’on laisse nos investisseurs tranquilles. Ca serait déjà pas mal comme changement tout de suite.

Et si vous ne comprenez pas pourquoi je dis ça:

(Mis à jour pour utiliser le terme de PME, plus général que SAS)

Les explications de Marc Simoncini sur BFM Business

Très intéressante intervention de Marc Simoncini, fondateur entre autres de Meetic.

Dix raisons de ne pas taxer le capital comme les salaires

Au moment où les entrepreneurs se mobilisent contre la nouvelle loi de finances 2013, il faut peut être rappeler pourquoi aligner la fiscalité du capital sur celle des salaires est, au départ, une fausse bonne idée. Read more…

Ten reasons capital and salary should not be taxed the same

At a time where French entrepreneurs are actively fighting the new French finance law for 2013, it might be good to remind our politicians of a few reasons why it is a not-so-good idea to consider that a salary and a revenue from capital should be taxed the same way.

Read more…

Explaining #geonpi to non-French entrepreneurs

There’s been a recent flurry of activity on twitter around the #geonpi hashtag. What is going on?

The short version is that French entrepreneurs are all up in arms against the French budget law for 2013. On the surface, one aspect of the law is intended to align the taxation of capital on the taxation of work, to use the words of the French government. But the reasons that entrepreneurs react is that, in practice, the new taxation may well make the creation of startups in France completely untenable.

Etymology of #geonpi

A first question you may have is: What the hell does “geonpi” mean? Well, it’s simply Verlan for pigeon. And in French, pigeon is a slang word for a dupe, a scapegoat, or someone who is being easily been taken advantage of. In short, a sucker. But there are many other expressions and word associations around pigeons, like “tir au pigeons” or “roucouler”. Les Pigeons movement is clearly about the “easily abused” meaning.

Entrepreneurs in France feel that they are the “pigeons” of the whole social system.

What caused the wrath?

Like in any other country, entrepreneurs in France take risks. They create new wealth. They create jobs. They usually reach the legal 35 hours per week on Tuesdays. They often put a good fraction of their own savings into the enterprise (I talk from experience here). They don’t sleep well at night.

Yet, in France, entrepreneurs get very little recognition. This may be hard to comprehend for someone who is more accustomed to Silicon Valley, where being an entrepreneur is a Good Thing™. But in France, “entrepreneur” is almost a dirty word. In the mind of the general public, entrepreneurs and greedy corporate executives earning millions per year are one and the same thing.

In reality, entrepreneurs in France earn very little if anything, just like in any other country. No minimum wage here. No job protection. Entrepreneurs, unlike other workers in France, have practically no retirement benefit, and certainly no “golden parachute”. More to the point, they don’t get anything from the state if they fail.

The new regime

So what changed? What bothers French entrepreneurs is how they would get treated under the new budget law in the unlikely case they succeed. In France like in any other country, nine out of ten entrepreneurs fail. They are prepared for that. But what happens if they succeed is the problem here.

The new law is supposed to double the the taxation of the benefits you might derive from a successful investment in a small startup. from an already meaty 30% or so to about 60%. Yep, you read that right, six oh. I guess you have the reaction reading that number that I had reading the gas mileage of a Humvee. [Update: ddabdul commented that I should talk about capital gain tax, but it's actually a combination of various taxes, one of them being capital gain tax. To muddy things further, the French government actually moves that to the income tax. So I decided to stick to my previous wording with this clarification.]

If, after 5 to 10 years of an extraordinarily uncomfortable life, one lucky entrepreneur happens to have any kind of success, which by the way means he created a sustainable company and presumably quite a few jobs, then under the new regime, he immediately loses a little over 60% to the Benevolent State in taxes.

But don’t worry for the Poor State of France, there’s more. The State gets to collect a few extra percents here and there in value added tax and other taxes on goods (e.g. on gas). Then 1% to 2% per year on the “tax on fortune”, another beautiful French invention. And finally 45% of whatever is left would again go to the State when the exhausted entrepreneur dies.

Le Gendre was right

Sorry to put it that way, but so much stupidity really hurts.

The debate in France about why the State needs to be so greedy is not exactly new. Colbert once asked to a merchant named Le Gendre what the State could do to help. Le Gendre reportedly answered “Laissez nous faire“. Centuries later, that wisdom remains ignored by the French government.

Startup Week-End Nice Sophia-Antipolis : Big Success

I spent the last four days at a rather exciting entrepreneurial event on the French Riviera, which really combined three distinct events under the umbrella of the brand new RivieraCube association:

  • An Open Coffee with the Sophia-Antipolis team. Open Coffee is an informal gathering of (mostly Java) geeks around a coffee (or, more often in our case, a beer, since we do that in the evening). This was so successful that a new Open Coffee group for Nice spontaneously emerged.
  • A BarCamp the next day, with a small (and cramped) Startup Corner where Taodyne presented its flagship product, Tao Presentations. We had some exceptional unconferences from well-known French serial-entrepreneurs, including Kelkoo founder Pierre Chappaz or Kipost founder Pierre-Olivier Carles.
  • A Startup Week-end which gathered about 100 enthusiasts with the intent to create a startup in 54 hours. And some of them actually managed to pull it off, which is pretty amazing when you think about it. But the talent and energy in that room were simply amazing, and reminded me of some of the best moments I had in the Silicon Valley.

Reports on the web

There are already a large number of blogs reporting on this event, but I believe the best indicator of how lively it was is its twitter hashtag, #swnsa. There was actually a friendly contest with another Startup Week-end held the same day in Lausanne, Switzerland:

And the winner is…

There was a number of exciting projects, but there was generally little surprise as to who the winners were. The first three projects get a lot of help from local consulting companies, and the leader of the winning team gets a free Geek Trip to the Silicon Valley.

The winner was “Mamy Story” (@MamyStory), which I believe surprised no one in the audience. The concept is simple (tell the story of your grand-parents), has an interesting innovation (which I won’t disclose here), a catchy name (“papy” or “mamy” in French is a common nick-name for grandparents), but more importantly, appeals to our emotions, something which they largely exploited during their pitch.

As a matter of fact, they managed to get a member of the jury to tell them they could reach a larger market than what they presented in the plan. Here is another example of why they have a market.

The runner ups were :

  • Dynoo (@dynoo_com), a project to “spread the word” (the French pronunciation for Dynoo sounds like “Dis nous” or “tell us”, although they sometimes said it the english way, which I think weakens it. They should consider renaming it to deenoo),
  • Qwinti (@qwinti), a web site to save your social activity, who had a really good designer on the team,
  • JustMyTrends (@JustMyTrends), a web site offering a personalized shopping experience for hard-to-find items (the founder has a hard time finding shoes fitting his über-large feet).

And the winner is (redux)…

There was also an iPad2 to win, offered by Everything4Mobile (a very cool web site created by Virgile Cuba, a regular at the Sophia Open Coffee).

The winner was Matthieu Loutre, who was a member of our team. He lives in Montpellier, but he will happily drive on the 25th of March to Nice just to get his new gadget from the friendly team at the Apple Store (and when I say “friendly”, I don’t say that lightly – The user experience in that store is remarkable, doubly so by French standards).

First use of Tao Presentations in a conference

On Friday evening, I joined a project that I won’t talk about, because I believe the project leader has needs a bit of time to flesh his idea out, and even more time to turn it into a real product.

That being said, that was an occasion to try our prototype of Tao Presentations in a real, competitive environment. I learned a number of things :

  • It’s a really competitive way to tell a story. You think about the story first, the way to tell it follows, something which is often harder with other presentation software.
  • The presentation part just works. It didn’t crash once during the two days of rather heavy use, and the worst misbehavior was transient lighting glitches on the screen when using OpenGL lights.
  • One of the challenges was to test whether creating live mock-ups of software to explain an idea was possible. It worked, it was easy, it really added to the presentation, but then we couldn’t really use that part because the question we expected didn’t come up :-)

Some aspects were less positive:

  • Editing slides triggers an elusive bug on a relatively regular basis. I had the issue about half a dozen times in two days. The program crashes, which is not a real issue because of the way the workflow is organized (I never lost a single bit of what I had done), but still is annoying.
  • The software doesn’t automatically reload images when they change on disk, which means you sometimes need to restart it just to load a new version of the pictures. To be fixed.

Overall, I had some rather good feedback on the presentation. I showed a talk about XL to half a dozen true geeks, talked about programming techniques.

Young programmers and compilers…

These discussions made me realize something : many talented young programmers don’t even seem to know what a compiler is or how it works. They know about languages like Python, XML, Javascript, and just don’t care much how it runs on the machine.

I think it’s a good thing overall, but then someone still needs to get interested enough by system software. I’m afraid system software programmers are getting old. We need to train the new generation, to get them interested in languages that can run fast.

The good news, then, is that XL got rather positive comments. No “why invent a new language” in this crowd.

Curly braces in Go: 101 posts and counting…

Someone asked on the Go language mailing list about the placement of curly braces. The thread currently has 101 posts. And my guess is that this is just the beginning.

Programmers are familiar with holy wars. This thread reinforces my belief that Go should put a little more emphasis on flexibility or extensibility, and a little less on compile time.

Related posts:

PR2 robot plays music

It’s not exactly talented just yet, but it’s a start:

Here are a couple of things this robot also does:

It’s not exactly fast yet (notice the “15x” in the video?)

Another one where acceleration is more clearly visible because of humans in the background:

Clearly, robotics is making progress, but that also makes the gap between robots and animals more humbling. The other day, a dog was running alongside me while I was biking, and I couldn’t help but admire the agility of the run: 30km/h in the bushes, downhill on slippery gravel, avoiding a multitude of obstacles with a large variety of strategy (run around, jump over it, …) all the while checking where I was…

From language to platform…

September 19, 2010 10 comments

Reading this article comparing applications platform, I couldn’t help but think: “nothing new under the sun”.

History is repeating itself

In the 1980′s, a war raged between programmers. The reason for the war? Which programming language to use for applications. There were many candidates, compiled languages such as C or Pascal, interpreted languages such as BASIC, and “bizarre” languages such as Lisp, Prolog or Smalltalk. For all the uncertainty, things were not really open for discussion: each side knew they were absolutely right. Total war! Example: Turbo Pascal vs. QuickC.

In the 1990′s, a war raged between programmers. The reason for the war? Which operating system to use for applications. There were many candidates, text-based DOS, elegant or copycat graphical user interfaces such as Macintosh or Windows, as well as “bizarre” server operating systems such as Unix, Novell Netware or Linux. For all the uncertainty, things were not really open for discussion: each side knew they were right, and they knew their side had to win for them to make money. Total war! Example: Apple suing Microsoft over the Graphical User Interface.

In the 2000′s, a war raged between programmers. The reason for the war? Which execution environment to use for application? There were many candidates: client side native environments such as Windows or MacOS, browser-based virtual machines such as Java, as well as bizarre models such as VMware-style virtual machines, massively distributed systems (aka “the cloud”) or web services. For all the uncertainty, things were not really open for discussion. Each side preferred their model, and they knew that the financial stakes were high. Total war! Example: Sun suing Microsoft repeatedly over Java.

In the 2010, a war rages between programmers. The reason for the war? Which platform to use for applications. There are many candidates: desktop clients that won’t die, the iOS and Android mobile platforms, as well as “bizarre” platforms such as Facebook, Google Wave, Twitter, even good old TVs. For all the uncertainty, things were not really open for discussion. Each side has to be compatible and integrate with everybody else, but the financial stakes are mind-boggling. Total war! Example: the iTunes Ping – Facebook integration debacle.

The open platform wins

Of course, one can draw many conclusions from this parallel. For example, that programmers didn’t really take to heart the Make Love, Not War slogan, and instead would rather rally to “make war, not love” cries. Cheap shot! Cheap shot!

More seriously, I find it more interesting to observe who won over time. And in each case, it looks to me like the “more open” side won:

  • Pascal was criticized as being too closed compared to C. Ultimately, C won over Pascal. As an aside, the article “Why Pascal is not my favourite programming language” seems hard to find on Google these days. I hope it’s not slowly disappearing from the Internet…
  • The Macintosh was perceived as less open than Windows. Ultimately, Windows won over the Macintosh.
  • Sun positioned Java as “write once, run anywhere”, making it the open alternative to closed systems such as Windows or Macintosh. Customers came to associate distributed systems with freedom. Perception matters here, because if you think about it, you own Google Docs contents much less than documents on your hard disk. Still, the cloud and distributed system came out as the winners.
  • Finally, there is a strong perception that the iPhone is closed and Android is open. There are enough privacy concerns about how the “closed” Facebook to spur an open-source alternative, Diaspora.

Features are less important

The result that the more open approach wins in the long run is not entirely intuitive. Naively, one is tempted to believe that platform control is important, that features and quality will help secure a position in the long run. And often, these things do wonders at the beginning.

But look who had the head start and the better features:

  • Pascal was published slightly before C (1970 vs. 1972), and most people at the time found it cleaner.
  • The Macintosh operating system appeared before Windows, and at least until Windows 95, was significantly more polished, on the user experience front as well as on the features it offered programmers.
  • Native operating systems had more features and higher performance than Java-style or VMware-style virtual machines.

The same holds true for the internal architecture, for the overall design, for the ease of integration, even for the pace at which things changed. Arguably, for example, Pascal changed more rapidly than C, Turbo Pascal introducing for example instant compilation, modules, graphics and what we would call an IDE today.

Keep it open!

If you build a system for developers today, you can make short term wins if you design it well, make it easy to extend, and secure a few control points. In the long run, however, what matters is whether your system will be perceived as “open”.

Follow

Get every new post delivered to your Inbox.

Join 365 other followers

%d bloggers like this: