Résultats de la recherche

Mot clé : ‘string’

Commande chez Teahome

J’ai reçu ma commande de chez Teahome il y a 3 jours. J’ai commandé trois petites théières en terres plus ou moins poreuses, un pot en porcelaine blanche et du thé Wu Long peu oxydé. Ca a pris une petite semaine en provenance directe de Taïwan… plutôt rapide donc.

Si vous regardez leur site, tout est en chinois. On comprend rien ! Quelle idée de vendre des trucs bien uniquement en chinois ?! Bien sur, il existe deux versions localisées (en français et en allemand), mais pas du tout à jour et ne recensant qu’une minuscule portion du catalogue. Je suis donc passé par l’ami Google traduction histoire d’y voir un peu plus clair. En effet, en plus d’être écrit dans une langue incompréhensible, le site est organisé n’importe comment et est codé avec les pieds (et encore je suis gentil). Les pages de produits sont paumées derrière ce qui semblerait être un blog / album photo du magasin et des producteurs distribués.

Je vais vous aider à ne pas vous casser la tête, voici les liens vers les deux pages les plus importantes :

  • Les théières (franchement, certaines sont… o_O, surtout au vu des prix pratiqués)
  • Le thé (oui, la page s’appelle « pay.htm », pas « buy » ou « tealist », ca aurait été trop simple !)

J’ai adopté un seul design de théière pour l’instant (110cc tout de même), décliné en différentes couleurs (et terres donc) :

Elles sont chacune soigneusement emballées dans un très joli foulard, puis dans une boite avec du polystyrène, et enfin dans du papier bulles. Pas de risque de casse durant l’envoi donc :

Les prix sont en dollars taiwanais (twd). Une rapide conversion par Google vous apprend que leur monnaie ne vaut rien, et donc que les prix sont très bas. Tant mieux !

En effet, chacune des théières m’a couté 980元, soit la bagatelle de… 23 euros ! Quand on sait que les magasins parisiens vendent une qualité similaire à plus de 100 euros, ça a de quoi impressionner. Bien sur, quelques théières de certains magasins sont sûrement de meilleure facture (je ne crache pas dessus hein ?), mais il faut avouer que le rapport qualité-prix de Teahome est imbattable !

 

Le pot est très joli, solide comme peut l’être la porcelaine, pas un pet, pas une fissure durant le transport.

Passons au thé. Je n’ai pas encore pu tout tester (pas eu le temps) mais j’ai commencé à préparer mes nouveautés (nouveaux thés, haha) au Gong Fu Cha avec les moyens du bord (tasse à café, bols Ikea… mais théière de qualité !).

Le Alishan Jinshuan (阿里山金萱) est vraiment bien, et son prix ridicule en fait un must (7,5 € / 100g avec frais de port). Très rond en bouche, ni astringent, ni amer, les arômes sont bien présents et très agréables. Très long en bouche.

Le Dongding Oriental Beauty (凍頂美人) m’a déçu. Je trouve la liqueur un peu insipide.

Le Shanlinshi (杉林溪高山) ne m’a pas aussi énormément emballé. Peut-être que je me foire dans la préparation ? La première fois était un coup de bol ?


Alishan Jinshuan (阿里山金萱)

Par contre, qu’est-ce que le thé tient les infusions ! J’ai fait 8 passes avec l’Alishan Jinshuan et j’aurais pu continuer. La liqueur était encore couleur jaune intense à la 8ème et était toujours pleine d’arômes ! C’est la qu’on se rend compte qu’une « petite » théière de 110cc c’est énorme ! Au Gong Fu Cha, ca fait près d’1L de thé ! (et après on va beaucoup pisser…)

Il me reste encore plein de différents thés de chez eux à essayer, notamment les versions « Selected » de l’Alishan Jinshuan et du Shanlinshi qui proviennent de plateaux plus en altitude et qui ont soi-disant d’après le site web plus d’arômes.

Si vous habitez Paris, je peux vous en vendre un peu (à prix ridicule) si vous êtes curieux et que vous ne voulez pas particulièrement faire de commande en Asie…

Conclusion : Expérience intéressante. Je recommanderai chez eux pour acheter des théières pour le boulot ! Leurs thés de printemps nominés doivent valoir le coup aussi !

Categories: Thé Tags: , , ,

Configuration Visual Studio

NB : J’ai testé cette config sous VS2008. Je ne sais pas si ca fonctionne sous VS2010. Tenez-moi au courant dans les commentaires.

Plein de monde me demande toujours ma config Visual Studio.

Il est vrai que Visual Studio est un logiciel assez bordélique dans ses menus. Son environnement peu customisable et assez restrictif enlève l’envie de tenter d’améliorer quoi que ce soit, sous astreinte de se foirer totalement et de bousiller son environnement de travail.

Heureusement pour tous les lecteurs-programmeurs de ce billet, j’ai passé un peu de mon temps de stage aux Etats-Unis il y a deux ans pour faire une config qui ressemble à quelque chose. Voici le résultat :

Ca change hein ?

Plugin et installations

Alors pour y arriver vous devrez installer un plugin : Visual Assist X. Ce plugin ajoute des menus de customisation supplémentaires et améliore l’Intellisense. La version 10.6.1822 est disponible ici : lienmiroir. Si vous avez une version plus récente, je la veux bien :) Si vous ne cautionnez pas le tipiakage, achetez-le.

Ensuite, copiez ce fichier (lienmiroir1miroir2) dans « C:\Users\Ornthalas\MyDocuments\Visual Studio 2008\Settings » (remplacez la partie correspondant à votre dossier Mes Documents).

Configuration de Visual Studio

On va commencer par les préférences de VS lui-même. Redémarrez VS puis allez dans « Tools -> Import and Export Settings ». Sélectionnez « Import selected environment settings », puis « No, just import new settings, overwriting my current settings ». Sélectionnez dans la liste le fichier « Exported-2010-10-14.vssettings » et validez. Redémarrez VS.

Méthode alternative

Allez dans « Tools -> Options -> Fonts and colors » et indiquez les valeurs suivantes. Je ne suis pas sur que tout y soit, mais une grande partie du moins.

  • Font : Courier New
  • Size : 10
  • Foreground: 255 – 255 – 255
  • Background: 0 – 34 – 64
  • Selected text: 51 - 94 - 168
  • Inactive selected text: 111 – 161 – 217
  • Comment: 0 – 136 – 255
  • Keyword: 255 – 157 – 0
  • Preprocessor keyword: 175 – 196 – 219
  • String: 58 – 217 – 0
  • Identifier: 196 – 196 – 196
  • User keywords: 279 – 255 – 0

Configuration de Visual Assist X

Maintenant, il faut configurer Visual Assist X. Allez dans le menu « VAssistX -> Visual Assist X Options » puis dans « Quick Config ». Mettez tout ici en « Max ».

Allez ensuite dans « Fonts and Colors ». Ici il vous faudra mettre les 4 couleurs demandées. Selon votre version de .Net, vous n’aurez qu’une boite de sélection pourrie avec des couleurs prédéfinies (les ingénieurs de Microsoft sont d’un con parfois !).

  • Classes, structures and typedefs: RGB 175 – 196 – 219 (ou le bleu clair sale de System -> Active Title Bar (99B4D1) sous Win7)
  • Variables: RGB  196 – 196 – 196 (ou le gris de Palette -> Silver)
  • Preprocessor macros: RGB 183 – 0 – 183 (ou le rose foncé de Palette -> C000C0)
  • Methods : RGB 128 – 128 – 255 (ou le mauve de Palette -> 8080FF)
  • Décocher « Local symbols in bold »
  • Décocher « Stable symbols in italic »

Allez ensuite dans « Refactoring » et mettez :

  • Highlight references using : Green (vert foncé 0, 128, 0) and Teal (cyan foncé, 0, 128, 128)

Allez ensuite dans « Display » et mettez :

  • Highlight matching {} and () using : White
  • Highlight mismatching {} and () using : Red

Validez tout et redémarrez VS. Ca devrait être bon :) N’hésitez pas à me donner du feedback en commentaire !

  • Décocher Stable symbols in italic
Categories: Programmation Tags: ,

Back to code : MPR

Si vous me connaissez, le titre vous a peut-être mis la puce à l’oreille.

En effet je me suis remis à coder, après des mois et des mois d’abstinence, alors que je faisais principalement de la photo. Non je ne vais pas devenir photographe pro : ma vocation est dans l’informatique, mes compétences principales aussi.

Bien évidemment je continue la photo comme hobby, mais j’ai recentré mes priorités. J’ai des rêves, j’ai des idées. Je rêve un jour de pouvoir les concrétiser. Hélas, ca demande du temps, beaucoup de temps. Je suis intraitable sur la partie « réalisation technique » et je ne supporte pas le travail mal fait, instable et peu fiable. Je suis un maniaque de la complétion et je ne peux pas imaginer qu’une de mes réalisations ne fasse pas au moins le café (les geeks comprendront).

Je me suis donc remis sur un projet fondamental qui végétait depuis trop longtemps, la brique de base de tous mes projets rêvés, celle qui selon moi est indispensable : MPR. MPR pour Meta-Portable Runtime (et non pas multi-purpose room) se veut être une couche d’abstraction pas simplement au dessus du système, mais carrément au dessus des bibliothèques system-dependant ou simplement fondamentales.

Prenons un exemple. Il est selon moi inconcevable de développer un logiciel quelconque s’il n’est pas multilingue dès le  départ. Qui dit « multilingue » dit « utilisation de strings Unicode ». Quelle implémentation de strings Unicode semble solide et multi-plateforme ? Celle d’IBM peut-être : ICU. Oui mais voilà, si un jour ICU n’est plus supporté ? Si un jour ICU pose fondamentalement un problème dans son utilisation ? Si un jour sa licence change et qu’ICU devient proprio ? Si je veux porter mon appli sur une plateforme totalement exotique (prenons la PlayStation 1 pas exemple) alors qu’ICU ne la prend pas en charge ?

Dans ce cas, je vais devoir utiliser autre chose qu’ICU pour cette plateforme, voire me désolidariser entièrement d’ICU. La première solution semble être la moins douloureuse, mais quid des interfaces de cette bibliothèque qui sont utilisées partout dans le projet à porter ? Il faut repasser sur tout ? Tout modifier ?

C’est la que se situe MPR. Si l’application est développée au dessus de MPR, celle-ci fait office de couche d’abstraction et dissocie le code important (le logiciel) des interfaces des bibliothèques utilisées (les bibliothèques système, les strings Unicode, etc…).

Une fois que l’on a compris ca, on se rend compte de l’immensité du projet MPR, mais surtout du nombre incroyable d’interfaces à écrire pour tout abstraire. Ne parlons même pas de la documentation. C’est beaucoup trop long, surtout compte tenue de la verbosité du C++. Je travaille donc actuellement sur un générateur de C++ qui parse en entrée un fichier ayant une syntaxe plus simple et bien moins verbeuse pour en sortir du beau C++ bien rangé, optimisé et documenté.

MPR devrait (je pense) être rendue publique dans quelques temps sous une première forme ne gérant que quelques fonctionnalités indispensables (strings Unicode, fichiers et streams, interfaçage avec Python, threads), et ce sous une licence permissive (genre BSD ou quelque chose de proche).

Je mettrai surement de temps en temps des bouts de code ici, histoire d’avoir des avis. Stay tuned ;)

Categories: Informatique, Programmation Tags: ,