Le TARP, version 33 A.D.

Dans le Livre VI de ses Annales, Tacite nous rapporte cette « anecdote » de l’an 33, du temps de l’Empereur romain Tibère (et l’année de la mort d’un certain Jésus), qui ne manquera pas de nous délecter, tant elle rappelle l’intervention de l’Etat américain fin 2008 via son Troubled Asset Relief Program.

Affaires intérieures 33 ap. J.-C. (6,15-27) – Traduction Jean-Louis Burnouf, 1859 Répression de l’usure (VI,16-17)

16. Cependant une légion d’accusateurs se déchaîna contre ceux qui s’enrichissaient par l’usure, au mépris d’une loi du dictateur César sur la proportion des créances et des possessions en Italie , loi depuis longtemps mise en oubli par l’intérêt particulier, auquel le bien public est toujours sacrifié. L’usure fut de tout temps le fléau de cette ville, et une cause sans cesse renaissante de discordes et de séditions. Aussi, même dans des siècles où les mœurs étaient moins corrompues, on s’occupa de la combattre. Les Douze Tables réduisirent d’abord à un pour cent l’intérêt, qui, auparavant, n’avait de bornes que la cupidité des riches. Ensuite un tribun le fit encore diminuer de moitié ; enfin on défendit tout prêt à usure, et de nombreux plébiscites furent rendus pour prévenir les fraudes de l’avarice, qui, tant de fois réprimées, se reproduisaient avec une merveilleuse adresse. Le préteur Gracchus, devant qui se faisaient les poursuites dont nous parlons ici, fut effrayé du grand nombre des accusés et consulta le sénat. Les sénateurs alarmés (car pas un ne se sentait irréprochable) demandèrent grâce au prince. Leur prière fut entendue, et dix-huit mois furent donnés à chacun pour régler ses affaires domestiques comme la loi l’exigeait.

17. Des remboursements qui remuaient à la fois toutes les dettes, et la perte des biens de tant de condamnés, qui accumulait dans le fisc ou dans l’épargne les espèces monnayées, rendirent l’argent rare. Ajoutez un décret du sénat qui enjoignait aux prêteurs de placer en biens-fonds situés dans l’Italie les deux tiers de leurs créances. Or ceux-ci les exigeaient en entier ; et les débiteurs, requis de payer, ne pouvaient sans honte rester au-dessous de leurs engagements. En vain ils courent, ils sollicitent ; le tribunal du préteur retentit bientôt de demandes. Les ventes et les achats, où l’on avait cru trouver un remède, augmentèrent le mal. Plus d’emprunts possibles ; les riches serraient leur argent pour acheter des terres. La multitude des ventes en fit tomber le prix ; et plus on était obéré, plus on avait de peine à trouver des acheteurs. Beaucoup de fortunes étaient renversées, et la perte des biens entraînait celle du rang et de la réputation. Enfin Tibère soulagea cette détresse en faisant un fonds de cent millions de sesterces, sur lesquels l’État prêtait sans intérêt, pendant trois ans, à condition que le débiteur donnerait une caution en biens-fonds du double de la somme empruntée. Ainsi l’on vit renaître le crédit, et peu à peu les particuliers même prêtèrent. Quant aux achats de biens, on ne s’en tint pas à la rigueur du sénatus-consulte ; et c’est le sort de toutes les réformes, sévères au commencement, à la fin négligées.

100 millions de sesterces, cela représentait 19 483 561 F du temps de Burnouf (confirmé par le Littré). En 1890, la valeur à parité de pouvoir d’achat était selon plusieurs sources concordantes de 3,30 euros pour un franc. Sachant que le franc germinal, bimétallique de l’Union latine (précurseure de l’UEM, établie le 23 décembre 1865 lors de la Convention de Paris comme « Prélude aux fédérations pacifiques du futur », selon les terme de Félix Esquirou de Parieu) venait de s’affaiblir suite à la découverte d’importants gisements d’argents (en Alaska notamment), on peut raisonnablement estimer que trente ans auparavant, la valeur p.p.a. du franc était de 4 euros pour un franc. Les 100 millions de sesterces représentent donc l’équivalent de 75 millions d’euros actuels (en extrapolant les chiffres donnés par Robert Etienne dans La vie quotidienne à Pompéi (Hachette, 1966), on aboutit à une estimation similaire, à quelques millions d’euros près).

Si l’on suppose que cette crise était surtout circonscrite aux populations d’Italie, lesquelles représentaient probablement 10% d’un Empire de 50 millions d’habitants, cela fait 15€ par habitant, ou 60 sesterces, le salaire mensuel d’un instituteur romain.
De l’autre côté de l’Atlantique, 750 milliards de dollars mis sur la table, ce sont $2500 par habitant, là aussi l’équivalent du salaire mensuel d’un jeune professeur en école élémentaire publique

Moins d’un siècle après la fin de règne de Tibère, l’Empire romain connaîtra son apogée avec Trajan. Les Etats-Unis seraient-ils seulement à l’aube de leur âge d’or ?

Happy birthday, Farmers Group, Inc.

As I was trying to figure out the exact cut-off times for submitting exercise notice on options, be it early or at expiration date, I stumbled on an interesting case of profitable wildcard option exercise on Farmers Group, Inc. some 22 years ago.

On Friday, the 17th of June 1988, holders of OTM put option contracts on this stock (OTM at the closing time of regular trading hours, which by then was 3:00 PM on PHLX), submitted an exercise notice at 6:00 PM, therefore bypassing the exchange cut-off time of 4:30 PM (still in effect today) but not OCC’s of 7:00 PM (has not changed either since then though technically 6:30 PM is a safe limit, according to an OIC expert I talked to, who also mentionned that nowadays nobody can exercise after 4:30 PM on expiration Friday).
Why? Because at 6:00 PM, this very Friday, the California Insurance Department barred a takeover of Farmers Group, Inc, which caused a substantial decline in the value of the stock and changed the moneyness of formerly worthless put options.

As of 2010, exercising an officially OTM option at expiration is still possible, though the OCC no longer accepts exercise notices after 4:30 PM. If a broker imposes an earlier cut-off time, he would benefit from exercising OTM options abandoned by its customer (who no longer can decide to exercise), should the market conditions make it worthwhile. Yet they would not need to pay this profit back to their customer since the official closing price was OTM… This is not very ethical for the customer (if the latter is not allowed to submit exercise notice after 3:30 PM for example), but it would be a waste of free money not to do it.

I wonder to which extent brokers are aware of this opportunity, whether it is a common practice, and how much they can really make out of it…

Then, when we talk about early exercise of cash-settled index options, like OEX, it is possible to exercise at the closing price (determined at 3:00 PM) until 3:20 PM CST the same day, according to CBOE’s Rule 11.1, .03:

Clearing Members must follow the procedures of the Clearing Corporation when exercising American-style cash-settled index option contracts issued or to be issued in any account at the Clearing Corporation. Members must also follow the procedures set forth below with respect to American-style cash-settled index options: (a) For all contracts exercised by the member or by any customer of the member, an « Exercise Advice » must be delivered by the member in such form or manner prescribed by the Exchange to a place designated by the Exchange no later than 3:20 p.m. (CT), or if trading hours are extended or modified in the applicable option class, no later than five (5) minutes after the close of trading on that day.

According to the OIC, it is normally not possible for an OCC member to bypass the exchange’s cut-off time, though I wonder whether it can be tolerated (like in the case of Farmers Group, Inc.)…

For physically-settled options, the only closing price that matters is the one on expiration Friday. If you exercise early, you immediately become long (or short) of securities; if you want to close your position right away you will have to use the after hours fair trading price, not the artificial and outdated closing price.

On cash-settled options however, an arbitrage strategy could consist in buying a call, selling the underlying to delta-hedge, and wait for a big downward move to occur after close and before 3:20 PM. This would allow you to exercise the call at an artificially high price, buy back the underlying at a low price, and therefore book a free profit. The reverse applies when being long a put and the underlying.
If there is no big move (and there usually isn’t any), you are good to unwind your delta-hedged position, hoping the implied volatility of the option will not have made your lose some money (and it is more likely to go down than to go up, since there has been no sudden move on the underlying), in the case you would not have hedged your vega.

Note: All referenced times are CST.

L’avenir de la zone euro : une erreur du passé, selon Charles Gave

Cette conférence clairvoyante de lucidité, donnée à l’ENS en décembre 2009, laisse augurer de sombres jours pour l’Union européenne. La seule alternative plausible à l’effective mise sous tutelle du Vieux Continent par l’Allemagne, telle qu’attendue par Charles Gave, serait la sortie pure et simple de la zone euro ; permise par les reliquats de nationalisme présent dans chaque pays et les fausses croyances que la suppression du symptôme guérira le mal sous-jacent (le keynésianisme).

Lorsqu’une force extranationale est perçue comme responsable de la paupérisation d’un peuple qui s’estimait jusqu’alors libre, les plus mauvaises tendances de l’homme on tendance à se réveiller…
Frustration, planche à billet, hyperinflation, élection, et après ?
Il semblerait qu’une période prospère s’achève bientôt, et que nous allons devoir faire face aux turbulences qui accompagnent toujours la mise en place d’un nouvel ordre mondial.

Hayek vs. Keynes – The Rap

Une production econstories.tv.


Hayek contre Keynes – VOSTfr
Uploaded by Liberte_Cherie

How to replace Drupal core’s tracker module using views

This can be pretty handy, especially if you would like to customize it a bit more and add other tabs. Here is a simple step-by-step tutorial:

  1. Disable Drupal’s original core tracker module.
  2. Install views.
  3. Go to Site Building > Views and enable the tracker view.
  4. In the tracker view, go to the Page item, and rename it for example as « Recent posts » in Basic settings > Name and Basic settings > Title.  Make sure you click on override before saving, so that you keep the original configuration in Defaults.
  5. In the Page settings fieldset, set Path to tracker/all and the type to Default menu tab. Set Title to Recent posts and Weight to -10. Click on update and when asked for the Parent menu item, select Normal menu item, and once again type Recent posts as Title. Click on update. We are done with this page type that will display the latest nodes modifications by all users. You can now enjoy the power of views and tweak the display to precisely show what you have in mind.
  6. In the left drop-down list, select Page and click Add display. Rename it for example as « My recent posts » in Basic settings > Name and Basic settings > Title.  Make sure you click on override before saving, so that you keep a version of the original values.
  7. In the Page settings fieldset, set Path to tracker/my and the type to Menu tab. Set Title to My recent posts and Weight to 1. Click on update.
  8. In the Arguments fieldset, click on Node: User posted or commented (if it doesn’t exist, add it), and as the Action to take if argument is not present, select Provide default argumentUser ID from logged in user.
  9. That’s it! The link to your new tracker view is mysite.com/tracker; two tabs will be displayed just like in the original core module. You may for example create a menu item that links to this page.

President Obama: ‘Never Again Will the American Taxpayer be Held Hostage by a Bank that is ‘Too Big to Fail’

It is good to hear that the White House has clearly understood how banks could divert from their original mission while still benefiting from the associated privileges. Now, it should not make us forget the big share of responsibility that the US government had by actively encouraging subprime mortgages.
Obama’s objectives to reshape the financial industry are ambitious. If he succeeds, it will not radically change where and how banks are making money, but hopefully add more transparency and ensure that they are not playing against taxpayers and their own customers.

Cloning objects with events in Visual Basic .NET

The easiest way to clone an object (deep copy) in .NET is to use the serialization functions available:

    Public Shared Function CloneObject(ByVal obj As Object) As Object
        If Not obj Is Nothing Then
            Dim bf = New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
            Dim fs = New System.IO.MemoryStream()
            bf.Serialize(fs, obj)
            fs.Seek(0, System.IO.SeekOrigin.Begin)
            Dim copy = CType(bf.Deserialize(fs), Object)
            fs.Close()
            Return copy
        Else
            Return Nothing
        End If
    End Function

Though the performance is not very good, for occasional operations it will do the job perfectly. However, I was confronted to the following problem: what if there are events inside the class, to which other objects have subscribed? I found several methods (and functions :-) ) on various places over the Internet; they basically were:

  • Implement ISerializable yourself (meaning you have to update it each time you modify the class);
  • Disconnect from events (retrieved using Reflection), serialize the object, and then reconnect the events (I could not make this working properly);
  • Implement a serialization surrogate;
  • Implement your events in a separate class that is not serialized;
  • Implement your events in a C# base class.

Plenty of potential solutions, but none of them was good enough for me. So I played around with Reflection and found something that nobody else might have done so far. For a cloning interface that does just a shallow copy, like what MemberwiseClone does, but without event, I wrote this:

    Public Function Clone() As Object Implements System.ICloneable.Clone
        Dim cl = New MyClassName(Me)
        'Here we don't capture events, only normal fields, including non public ones (private, protected...)
        Dim FldInfos() As Reflection.FieldInfo = Me.GetType.GetFields(Reflection.BindingFlags.Instance Or Reflection.BindingFlags.Public Or Reflection.BindingFlags.NonPublic)
        For Each FldInfo As Reflection.FieldInfo In FldInfos
            FldInfo.SetValue(cl, FldInfo.GetValue(Me)) 'For serialization purpose we just need not to have events, so no need to perform a deep copy of the fields.
        Next
        Return cl
    End Function

Now if one of your class member is an object with events (or if you want to perform a deep copy), you should call its clone method (to be implemented the same way) when performing the FldInfo.SetValue, like this:

        For Each FldInfo As Reflection.FieldInfo In FldInfos
            If FldInfo.Name <> "MyObjectWithEvents" Then
                FldInfo.SetValue(cl, FldInfo.GetValue(Me)) 'It is not really necessary to clone a possible reference class member here for serialization purpose, we just need not to have events in the clone
            Else
                FldInfo.SetValue(cl, Me.MyObjectWithEvents.Clone())
            End If
        Next

If you have an object that is for example a dictionary of objects with events, you can call this:

        For Each FldInfo As Reflection.FieldInfo In FldInfos
            If FldInfo.Name <> "MyObjectsWithEventsDictionary" Then
                FldInfo.SetValue(cl, MyLib.CloneObject(FldInfo.GetValue(Me)))
            Else
                FldInfo.SetValue(cl, Me.MyObjectsWithEventsDictionary.ToDictionary(Of String, MyObjectWithEvent)(Function(entry) entry.Key, Function(entry) CType(entry.Value.Clone(), MyObjectWithEvent)))
            End If
        Next

Finally, if you intend to use the Clone interface to serialize objects, you should make sure you don’t include class members marked as NonSerialized():

        For Each FldInfo As Reflection.FieldInfo In FldInfos
            If Not FldInfo.IsNotSerialized Then
                FldInfo.SetValue(cl, FldInfo.GetValue(Me))
            End If
        Next

I hope this will give you an insight to build something more tailored to your needs. There are other optimizations I can already think of, such as implementing a recursive Clone function where you would just put your original object and a virgin instance of it as a reference, and get a perfect serializable deep copy, whatever the class members and sub class members are! This could become a universal Clone method…

How to sort WordPress posts by modified date instead of published date?

Here is the simple solution. Simply use this:

<?php query_posts($query_string . '&orderby=modified&order=desc'); ?>

before where the Loop checks for posts:

<?php /* If there are any posts: */
if (have_posts()) ...
?>

It basically adds a condition to the Loop. Enjoy!

Human rights: are they absolute?

Undoubtedly, human rights represent a way for people to feel safer in a naturally troubled world. This is why the following clip cannot be deemed as harmful and the Erwin Mayer Foundation eagerly supports the message it conveys:

However, except for those who derive them from their religion, mankind shall not forget that these rights do not arise from anything inherent to being human. No absolute principle might be invoked to justify them; though it obviously makes them less appealing and defendable, they are just a contract which clauses have been drafted by a self-proclaimed majority of human societies (who refer to themselves as the United Nations Organizations), and enforced by all those who believe it can improve the common good.

Therefore, it is important to remain careful on any modification of its arbitrary components. In the the video (1:53), I was particularly suprised to read « Copyright » as a human right (item 27). History shows that people can create and share without such a right. Some human rights are dependent on each other and on the context they target, hence you could easily build alternative civilization models with different rights deemed fundamental. « Social security » is another example: beyond the definition problem, what if a civilization has found a better or alternative approach to tackle the same problem, or has not actually considered it as a problem?

Most importantly, human rights, simply because they are rights, have a meaning only when applied to mankind as a group of consenting individuals. A single human, or even a single family, could not incorporate the concept of right, let alone human right, into their understanding of the world.

Human rights make sense because we live in a society, and this is probably the best proof of their not being inherent to each of us. We have the power to define what they are to make our world better, for they are the root, if not the rules, of a civilization.

Réchauffement climatique : obscurité ou obscurantisme ?

La complaisance dans un consensus mou n’est pas propice à l’établissement d’une vérité scientifique. Qu’on l’oublie, et c’est bientôt tout l’édifice qui s’écroule.

Le professeur Vincent Courtillot, géologue physicien et membre de l’académie des sciences, s’est incidemment intéressé de plus près au réchauffement climatique. Il vient au secours de la climatologie, en apportant aux théories à la mode une réfutabilité aussi essentielle que scandaleusement qualifiée d’hérésie par les médias, les politiciens, mais surtout ceux-là mêmes qui se prétendent en être les plus illustres experts.

Il est temps que la masse bascule. Les leaders d’opinion suivront. Il n’existe pas d’intérêt matériel pour une théorie ou pour une autre, simplement une égotisation massive des enjeux.
Les marchés boursiers nous y ont habitué : malheur à celui qui défie la tendance avant que tout le monde s’accorde à reconnaître que le roi est nu. Nous ignorons quand la bulle explosera, notre seule certitude est qu’une théorie coupée de ses fondements scientifiques finit toujours par tirer sa révérence. Il n’y aura pas de choc, pas de ruines, pas de victimes. La masse ne s’enrichit pas à cultiver son irréaliste culpabilité ; en devenant sa propre victime, elle appauvrit sa capacité à résoudre ses véritables problèmes.

Dans cette conférence donnée à l’Université de Nantes, Vincent Courtillot tente d’apporter une nouvelle lecture aux données brutes dont nous disposons, et qui ont été malmenées par des experts auto-proclamés pendant de si longues années. Loin du sensationnalisme d’un Al Gore ou de Channel 4, c’est ici un discours que l’on peut saluer tant pour sa rigueur que pour sa clarté. En un mot, une contribution véritablement constructive au débat, sans polémique. Ceux qui auront besoin de plus de détails pourront étancher leur curiosité en consultant les nombreuses références sur la page professionnelle de Vincent Courtillot.

  • Ecouter la conférence (durée : 51 min.) :
  •  
    télécharger ce mp3 |ajouter à votre site

  • Visionner la conférence (durée : 51 min.) :

  • ajouter à votre site

WPF or not WPF?

I would not say it is a new paradigm, but the least we have to recognize is that Windows Presentation Foundation helps building more good-looking applications than our beloved Winforms

Stay hungry, Stay foolish!

I would like to share with you this very insightful commencement address that Steve Jobs, CEO of Apple Computers and Pixar Animation Studio delivered for the Stanford Graduation Ceremony, on June 12, 2005. Stay inspired.

The original text can be found here and a French translation there.

La Fondation Erwin Mayer est maintenant sur Facebook

Retrouvez dès à présent La Fondation Erwin Mayer sur Facebook !

Blog info-trafic, épisode 3

Deux ne venant jamais sans trois, voici quelques perles des recherches que vous avez faites et qui vous ont conduits en ces humbles lieux :

  • bancassurance : solutions à la crise
  • calcul de tension monophasé en fonction de l’unbalance
  • calcul du seuil de rentabilité d’une sandwicherie -> En voilà une question intéressante !
  • chicago tribune erwin mayer
  • comment brancher ma lampe american dj spectrum led sur mon pc -> Je vous en prie
  • comment devenir milliadaire -> Mon préféré !
  • crash team racing vente total wikipedia
  • erwin le ouf -> Yo!
  • erwin mayer artist
  • fondation erwin guadeloupe
  • fraudes difficilement detectable -> Mais bien sûr !
  • je gagne ma vie sur betfair -> Content pour vous
  • longueur doigt testosterone politique sarkozy -> Celui là il fallait le trouver
  • mission premiere de la societe generale -> Quelqu’un l’aurait-il oubliée ?
  • peut on être comme électrocutée pendant une séance énergétique
  • questions que l’on se pose a l’approche de la retraite
  • rachat de vieux cable informatique -> Pas ici, désolé !
  • comment blanchir de l’argent honnêtement -> Non mais !
  • fondation bill gates : complot -> Hahaha, c’était donc trop beau pour être vrai
  • lignes air mayer -> Non, c’est Air Win
  • quel montant en dividendes ne doit on pas dépasser pour etre taxable dans une eurl -> Question typique d’un entrepreneur français
  • être riche en travaillant dans le monde de la finance -> Ou pas ?

Free 10% discount for United Airlines flights

For anyone who plans to travel with United Airlines, the Erwin Mayer Foundation would like to donate a 10% discount voucher. It is valid till the 27th august 2009 (you are required to buy a ticket before this date, but the date of the flight can be later).

First come, first served, this voucher should be only valid once. If you have used it, please write it as a comment so that this post can be updated.

All the conditions and the code are detailed in the document here: United Airlines 10% Voucher.

If this helped you, don’t forget to thanks Goodness here or to support a cause like this one.

Plier ses tee-shirts en deux secondes – Une leçon de productivité

Cela faisait quelques temps déjà que j’avais vu une vidéo vantant les mérites de cette technique de pliage de tee-shirts et chemises, mais il fallait s’accrocher pour déterminer les étapes clefs permettant de reproduire l’exploit.
Aussi, lorsque je vois que certains ont pris le temps de la pédagogie, je me dois de saluer l’initiative. En effet, faut-il vraiment compter le nombre de personnes dans le monde concernées par cette tâche répétitive ? A part ceux qui ont quelqu’un pour le faire à leur place, et ceux qui ont fait le pari des tee-shirts jetables (lorsque certains pressings d’hôtels facturent 5€ le repassage, ou même si l’on compte le temps passé à laver et repasser soi-même, l’eau et l’électricité, un tee-shirt à 1€ – oui, cela existe, et même au bas de chez moi avec des inscriptions amusantes – apparaît comme une alternative inespérée, permettant en outre d’apporter du remblais pour les polders nécessaires dans notre lutte sans merci contre les ambitions conquérantes des mers et océans), plusieurs milliards d’être humains perdent chacun plusieurs milliers de minutes par an (en plus des plusieurs milliers de minutes de repassage – pratique culturelle aussi superflue que répandue).

Le gain de temps apporté par cette technique révolutionnaire de pliage des tee-shirts et vêtements de morphologie semblable, se traduirait donc concrètement pour l’humanité par 4 mn par jour * 365 jours * 6,8 milliards = 165 milliards d’heures.
Multipliez par le SMIC (soyons fous : 8,82 euros horaire au premier juillet 2009) et vous obtenez plus de 1459 milliards d’euros, soit pas loin d’une année de PIB français (1792 milliards en 2008) ou un peu plus que la dette publique française (1327 milliards en 2008)… Ou presque de quoi doubler le PIB de l’Afrique toute entière 1621 milliards en 2008).

En somme, une excellente leçon de productivité qui montre bien que les plus grands progrès de l’humanité résultent parfois de l’optimisation de simples gestes quotidiens.



Folding: How To Fold A T-Shirt In 2 Seconds – Explained

Les traders ont plus que jamais besoin de vous

La Fondation Erwin Mayer tient à associer toute son énergie à l’honorable mission caritative que l’association Save the traders a souhaité entreprendre.

Chacun a déjà pu faire ce constat simple : Les traders ont été injustement désignés comme les boucs émissaires de la crise mondiale que nous traversons. Non seulement c’est un raccourci fallacieux, mais c’est surtout oublier qu’ils en sont les premières victimes ! Fortune, emploi, honneur, certains d’entre eux ont tout perdu ou presque.

Alors, comme vous l’invite ce clip, que Save the traders a réalisé pour sensibiliser l’opinion publique à la situation désespérée de personnes de plus en plus nombreuses à Paris, Londres et New York, n’oubliez pas de donner beaucoup, ça aidera un peu.

Vous pouvez alternativement donner au Mir et au Bien, ils vous le rendront.

Production et circulation des richesses

Mon vénérable ami Louis-Arnaud m’a transmis dernièrement une introduction de son crû aux principes macroéconomiques fondamentaux d’une économie comme celle de la France :

Visualiser L.A. – Production et circulation des richesses

J’invite cordialement tous ceux qui veulent proférer un peu moins d’inepties ou d’imprécisions lors des dîners mondains à lire attentivement ce qui y est présenté.

Le primat du software

Walter Mossberg and Kara Swisher interview Steve Jobs and Bill Gates at ‘D5: All Things Digital’ conference in Silicon Valley in 2007. Quotes made during the time of the photograph.

Kara: « What you think each has contributed to the computer and technology industry, starting with you, Steve, for Bill, and vice versa. »

Steve: « Bill built the first software company in the industry and I think he built the first software company before anybody really in our industry knew what a software company was, except for these guys. And that was huge. That was really huge. And the business model that they ended up pursuing turned out to be the one that worked really well, you know, for the industry. I think the biggest thing was, Bill was really focused on software before almost anybody else had a clue that it was really the software. »

Walt: « Bill, how about the contribution of Steve and Apple? »

Bill: « Well, first, I want to clarify: I’m not Fake Steve Jobs. [Peals of laughter.] What Steve’s done is quite phenomenal, and if you look back to 1977, that Apple II computer, the idea that it would be a mass-market machine, you know, the bet that was made there by Apple uniquely—there were other people with products, but the idea that this could be an incredible empowering phenomenon, Apple pursued that dream. Then one of the most fun things we did was the Macintosh and that was so risky. People may not remember that Apple really bet the company. Lisa hadn’t done that well, and some people were saying that general approach wasn’t good, but the team that Steve built even within the company to pursue that, even some days it felt a little ahead of its time—I don’t know if you remember that Twiggy disk drive and… »

Bill Gates and Steve Jobs at D5: all things digital

Aujourd’hui encore, le software n’a pas perdu de sa superbe et de son importance. Plusieurs exemples sont là pour nous le rappeler.

Synaptics est le principal équipementier en pavés tactiles (touchpads) pour ordinateurs portables. Regardez dans la liste des drivers de votre machine, il y a de bonnes chances pour que ce nom apparaisse quelque part.
En septembre dernier, ils ont sorti en grande pompe plusieurs nouvelles gestures rappelant celles utilisables sur des écrans multitouch. On aurait pu saluer l’innovation et s’en arrêter là. Oui mais voilà, ces fonctionnalités auraient pu être implémentées depuis plus de 5 ans ! Le hardware, et même le firmware peuvent depuis bien longtemps différencier les doigts, capter leurs coordonnées absolues (comme une tablette graphique), et ce avec une résolution d’environ 640×480 ! Pourtant, seuls trois misérables logiciels de démonstration étaient jusqu’alors disponibles sur le site de Synaptics. Quant au SDK, il n’a pas été mis à jour depuis 2004. Si aujourd’hui le nouveau driver offre quelques gestures supplémentaires (et encore pas disponibles sur tous les firmware malgré la compatibilité matérielle), Il faut donc toujours passer par la pseudo API en C++ pour accéder à la matrice générée par le touchpad et créer un gestionnaire de fonctionnalités supplémentaires.

Théorie du complot ou non sur les raisons de ce bridage, on peut surtout retenir que le fabricant du hardware ne verse pas beaucoup dans le software, et c’est donc une inefficience qu’il faut combler ! On peut imaginer bon nombre d’applications qui pourraient profiter à plusieurs centaines de millions d’utilisateurs instantanément.

On ne se rend pas non plus compte à quel point les connectiques comme le bluetooth ou le Wifi ne sont utilisées que partiellement par le software qui les accompagne. Une start-up a d’ailleurs développé des drivers Wifi voués à faire au moins aussi bien que le Bluetooth en termes de débit de données et consommation électrique pour des applications identiques (casque, clavier…). Voilà qui risque de faire un peu d’ombre au consortium Bluetooth.
Je cherchais moi-même à faire quelque chose a priori très simple : lire simultanément de la musique sur mon ordinateur et celui de mon frère, lorsqu’on est physiquement peu éloigné. Les solutions trouvées ont été les suivantes :
Développer un script AutoIT qui synchronise la lecture des morceaux via le réseau (avec une parfaite synchronisation d’horloge),
Mettre en place un serveur de streaming temps réel (contrairement à Youtube ou à toutes les webradios, il s’agit de pouvoir écouter avec seulement quelques millisecondes d’écart le son qui est joué sur le serveur, il n’est donc pas possible d’avoir extensivement recours à la mémoire tampon),
Utiliser un bon vieux câble audio reliant la prise casque d’un ordi à la prise line in de l’autre.

Chaque solution présente des inconvénients : la première suppose que les bibliothèques des deux ordis soient identiques ou très proches, la deuxième n’offre pas une qualité d’écoute suffisamment stable (distortions comme en VoIP), et la troisième vous fait réaliser qu’il n’est même pas possible sur un ordi portable de choisir de ne pas désactiver les hauts-parleurs lorsque quelque chose est branché sur la prise line out (seul mon ordinateur, un Asus F3JA, et la version courante de mon driver son, présente un dysfonctionnement qui permet d’avoir les 2 simultanément au sortir d’une mise en veille :-) , cela suppose donc d’utiliser un jack et des hauts parleurs externes au moins sur l’ordinateur émetteur.

Ne devrait-on pas pouvoir envoyer de l’analogique ou quasi analogique (pour éviter toute décompression complexe ou gestion des pertes) avec un protocole approprié sur un câble RJ45 ? Ce câble n’a pas moins de fonctionnalité qu’un câble audio classique. Mais soit, plutôt que d’inventer un nouveau protocole from scratch, pourquoi ne peut-on pas tout simplement activer le profil standardisé « Headset » ou « Generic Audio Video Distribution Profile » sur le PC de destination du signal ? Aujourd’hui, on ne peut pas par défaut utiliser un PC comme extension sonore d’un autre PC, sans raison valable vu que tout le hardware nécessaire est pourtant là. En allant plus loin, pourquoi est-il impossible d’utiliser les profils bluetooth standards sur des réseaux Ethernet Wifi ou RJ45 ?

Si le hardware a atteint une certaine maturité, on voit donc que le software en est encore à ses balbutiements en terme de mise en valeur des périphériques sous-jacents. Espérons que les interfaces utilisateurs à venir basées sur le multitouch et les caméras 3D s’accompagneront également d’une révolution en termes de software. On peut bien sûr compter sur les fabricants de hardware, mais je ne saurais que trop nous conseiller à nous tous, utilisateurs et développeurs, d’être à l’origine de cette refondation du rapport de l’homme à la machine. C’est ni plus ni moins ce qu’ont su faire en leur temps, dans une perspective business appropriée, Apple et Microsoft.

Du software, toujours du software !

Forrest Gump honours Barack Obama at his presidential inauguration

Insolite ! Une femme appelle Tom Hanks Forrest lors de son discours pour l’investiture de Barack Obama.

Et pour ceux que ça intéresse, voici la version longue :

:-)

ASIN to EAN converter

Since I was needing such a product codes converter and I couldn’t find one on the web, I have decided to do it by myself… It’s always a challenge to learn a new API (here I used Amazon Web Services). But when it works fine, you are really API (thanks Youcef for the pun)!

If this tool was helpful for you, don’t hesitate to let me know by posting a comment. If you think you were lucky to find it, don’t forget to thank Good on http://www.kamashanti.org.

Please feel free to report any bug you might encounter, or suggest improvements. The source code is now available here.

You can input several codes by separating them with « ; » (semicolumn). The output will be one column with the original code and another with the converted code.

Page suivante »