mardi 16 novembre 2010

Compiler corkscrew en UB

Voici la commande permettant la compilation en Universal Binary :
MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch i386 -g -Os -pipe" CCFLAGS="-arch ppc -arch i386 -g -Os -pipe" CXXFLAGS="-arch ppc -arch i386 -g -Os -pipe" LDFLAGS="-arch ppc -arch i386" ./configure -host=mac

Puis :
make

Pour vérifier :
lipo -infos corkscrew
La réponse :
Architectures in the fat file: corkscrew are: ppc7400 i386

samedi 25 septembre 2010

JBNHexView

Voici mon premier frameworks public disponible ! Pour un logiciel j'avais besoin d'afficher et manipuler des données binaires. Ces données binaires pouvaient être découpé sous forme d'octet (8 bits).
Les contraintes sont les suivantes :
- Les données sont affichées en hexadécimale et en caractère ASCII pour les octets visibles.
- Les octets ne correspondant pas à un caractère visible sont remplacés par des points.
- Une colonne doit représenter l'adresse mémoire (1er octets à l'adresse 0x00) du premier octet de la ligne.
- Seule la colonne des données ASCII est éditable.
- La représentation hexa est sélectionnable

Pour faire cela il n'existe aucun code source ou frameworks. C'est pour cela que j'ai décidé d'en écrire un et de le partager. Son utilisation est gratuite pour un logiciel gratuit et pour une utilisation non commerciale. Sinon, me contacter pour un accord de licence.

La class principale du frameworks est une surcharge de NSView. Pour l'utiliser ajouter une CustomView dans une fenêtre et changer sa class pour JBNHexView. Ensuite, vous pourrez charger un fichier en passant un NSData à l'objet par la fonction "setData". La récupération des données contenu dans l'éditeur se fait par la fonction "data".
Voici un exemple :

//Création de l'éditeur
JBNHexView * mavue = [[JBNHexView alloc] initWithFrame:NSMakeRect(0,0,250,150)];
//Chargement d'un fichier
NSData * donnee = [[NSData alloc] initWithContentOfFile:@"monfichier.txt"];
//Chargement des données dans l'editeur
[mavue setData:donnee];
//Libération de la variable
[donnee release];

Le Frameworks est disponible sur le site de Mactronique.com dans la section Logiciels.

mercredi 8 septembre 2010

Debian Lenny : configuration d'Exim4

Sur la distribution Debian Lenny, le MTA par défaut est Exim4. Il est plus simple à mettre en place que postfix mais cela ne s'invente pas.
Voici donc ce qu'il faut faire pour configurer un serveur relais :
Editer :
$pico /etc/exim4/update-exim4.conf.conf

dc_eximconfig_configtype='satellite'
dc_readhost='nom DNS du serveur'
dc_smarthost='ip ou nom DNS du serveur relais'
dc_hide_mailname='true'
Enregistrer et sortez de pico. Puis on redémarre le serveur Exim4 :
/etc/init.d/exim restart

Pour rediriger les adresses local vers une autre adresse cela ce passe dans le fichier /etc/aliases
Les lignes ont le format suivant :
utilisateur_Local: adresse@mondomain.tld

Voir aussi : mon post précédent

Debian Lenny : configuration de postfix

Aujourd'hui je vais vous présenter une configuration peu courrante de Postfix. En effet, il arrive parfois que dans des réseaux d'entreprise des serveurs locaux doivent envoyer des courriels à l'administrateur. Par exemple, si un tâche Cron doit vous envyer le log d'execution il faut rediriger les courriels de l'utilisateur vers une adresse courriel. Prenons un exemple.

Une société à 2 sites interconnectés par un VPN. Pour faciliter la gestion des postes vous décidez de placer tous les installateurs de logiciel dans un dossier de votre partage samba du siège social. Et une réplique est réalisé sur le site secondaire. Cependant, la bande passante entre les deux sites est limité. Il faut donc réaliser la copie lorsque cela gène le moins. En général c'est la nuit. Pour ce faire, vous programmez donc sur le serveur miroir du site secondaire une tache Cron qui copiera les nouveaux fichiers et ceux modifiés la veille.
Vous faite vos tests et les scripts fonctionnent. Cependant vous souhaitez recevoir un courriel indiquant que la tâche c'est bien déroulé. Le serveur miroir doit donc redirigé les courriels envoyé à l'utilisateur root vers admin@mondomaine.tld. Facile avec le fichier aliases.
Editer : $pico /etc/aliases
trouvez la ligne commençant par root ou si il n'y en a pas ajouter là en fin de fichier pour quelle resemble à :
root: admin@mondomain.tld
Enregistrer et quitter pico.

Voici le schéma du réseau de l'entreprise :
Le serveur principal dispose d'une connexion directe à internet pour des raisons de bande passante et de configuration. Le pointeur MX (courriel) du domaine pointe vers l'IP publique (côté internet) du serveur principal.
Si aucune configuration spécifique n'est donnée à Postfix, celui-ci tentera de contacter le serveur de messagerie par internet. Il fera donc ce trajet :

Ce n'est pas recommandé car il passe par internet alors que la distribution est locale. Il faut donc qu'il prenne ce chemin :



Pour arriver à cela il faut dire à Postfix que le serveur relais est le serveur principal.

Pour le faire editer le fichier main.cf :
$pico /etc/postfix/main.cf
rechercher (Ctrl-W) "relayhost" et mettez l'adresse ip du serveur principal.
Maintenant, nous allons appliquer la configuration :
$newaliases
$postfix reload
Il répond : postfix/postfix-script: refreshing the Postfix mail system
Maintenant tout les courriels envoyés à root seront redirigés vers votre boite courriel.

lundi 6 septembre 2010

Nouveau Widget chez Mactronique

Le site dédié à l'électronique sur Macintosh : Mactronique, viens de publier un nouveau widget pour le suivi de l'activité sur leurs forums !
Il est compatible avec Mac Os X 10.4 (Tiger) et plus. Il reprend l'aspect du site et permet le redimentionnement du widget.
Pour l'obtenir, vous pouvez le télécharger sur leur site.

vendredi 3 septembre 2010

Debian Squeeze proposera Grand Central Dispatch

Apple à parfois des bonnes idées, comme par exemple de partager une technologie. Cette fois ci il sagit de libdispatch. C'est la librairie au cœur de la technologie Grand Central Dispatch mis en avant avec Mac Os X 10.6 (Snow Leopard).
La différence cette fois-ci, est que ni le noyau ni les principaux services de la distribution Debian n'utilisera cette librairie. Elle n'est là que pour les développeurs qui souhaite l'utiliser. Rendant ainsi le code écrit sur Mac Os X plus facile à porter sur Linux. Le fait que le noyaux n'utilise pas cette librairie n'est pas étonnant. Cependant il serait de bon gout que les logiciels ayant besoin de réaliser des traitements lourds comme la vidéo l'utilise permettant ainsi une meilleur gestion/utilisation du matériel.

A l'heure de la multiplication des cœurs dans les processeurs il n'est pas étonnant qu'une telle technologie ayant fait de bon début chez Apple soit utilisé par un plus grand nombre.

Envie de couleur dans iTunes 10 ?

Si vous êtes comme moi et vous souhaitez avoir un peux plus de couleur dans le gris glaciale d'iTunes 10, Voici votre bonheur : iTunes 109. Le désigner Damien Erambert vous propose un petit installeur permetant de retrouver certain élément d'iTunes 9 dans iTunes 10 ! Merci à lui.

PS: Pour ceux qui voudrons retourner  après le changement dans l'air glacial d'Apple seront comblé par la présence d'un désinstalleur. Après tout avec le "réchauffement de la planète" il faut bien que ça refroidisse quelque par !

iTunes 10 : Quel est le jeu d'Apple ?

On parle ça et là de la nouvelle version d'iTunes distribuée depuis hier par Apple et les réactions ne manque pas de vigueur !
Pour ma part, j'ai été choqué; voir même effrayer par le nouveau look. J'ai cru que mon écran avait un problème et n'affichait plus les couleurs. La première sensation que cela m'a donné c'est d'être en hiver en Sibérie. L'interface est froide et peux conviviale. L'organisation et la barre d'occupation de l'espace d'un iPhone est moche. Cela reste des gouts personnels mais je ne suis pas le seul dans ce cas.

De plus la position des boutons rouge, orange et vert à la verticale donne une impression de "feux tricolore" comme le dit joeleboss sur Macbidouille. Cependant il y a un atout non négligeable à cela. Ceux qui ont des écrans 16/9 ou 16/10 ont peu de pixel en hauteur et cette position permet de gagner 25px de hauteurs. Imaginer FireFox ou Safari sans le titre de fenêtre (le titre est dans l'onglet) cela gagnerait quelques pixels pour la page web !

Voici à quoi ressemblerait Firefox :
Vue d'artiste pour Firefox avec les boutons iTunes 10

Cela ne vous semble pas plus pratique ?

Revenons à iTunes 10. Il est cependant possible de rétablir les boutons à l'horizontale avec cette commande :
defaults write com.apple.iTunes full-window -1

Replacer le 1 par 0 (zero) pour les remettre à la verticale.

Il se murmure que Mac Os X 10.7 apporte cette possibilité en standard. Apple testerait les réactions face à une nouvelle interface ?

iPhone 4 : Une merveille

Passant de l'iPhone 3G à l'iPhone 4 me voilà un heureux propriétaire. La rapidité fulgurante de l'A4 d'Apple a contribué à la diminution du temps d'utilisation de l'appareil. Enfin, il a surtout réduit le temps d'attente.
Avec l'iPhone 3G, je ne pouvait plus écouter de la musique tout en naviguant sur Internet ou en lisant mes courriels. l'iPod plantait à tout les coups. Et il faillait redémarrer l'iPhone pour que cela reparte à peux près bien. Sans compter qu'il était très lent. Beaucoup d'application n'était plus utilisable. Et tout cela à cause de quoi ? iOS 4 !!! Merci Apple d'avoir fait l'iPhone 4 et d'avoir plombé les iPhone 3G pour qu'il soit inutilisable pour passe sur l'iPhone 4.
Sauf que, sans la "générosité" d'Orange qui me proposait l'iPhone 4 à un prix "correcte" avec 100€ rembourssé, il n'aurait pas été possible de passer sur l'iPhone 4. Pour d'autre, le choix d'une autre marque à surement dû être leur seule alternative !

En tout cas, le changement en valais la peine. L'écran rétina est une merveille, les boutons sont plus marqués tout en étant peux saillant et les caméras sont bien pratique. Le seul bémol c'est le poids. L'iPhone 4 semble plus lourd que le 3G. C'est la première chose qui m'a frappé. Peux être est-ce à cause des deux plaques de verre?

Pour finir, si vous hésitez à changer, et bien n'hésitez plus faite le vous ne serez pas déçu!

PS: Le problème de réception n'est pas visible sur le mien mais j'ai quand même commander une coque de protection via le programme Apple (tout gratuitement).

lundi 23 août 2010

Mise à jour d'iSerialTerm

Le logiciel de terminal de Mactronique.fr viens d'être mis à jour vers la version 0.1.3. Cette mise à jour apporte les préférences, le support de la langue française et deviens un donationware.

Ce logiciel permet d'ouvrir une connexion sur un port série disponible sur le Mac. Il gère les port série via l'USB, le Bluetooth, et les modems. Elle supporte quasiment toutes les options possible sur une connexion série. Elle reste plus simple et plus pratique que certain logiciel de terminal disponible sur Mac.
N'oublier pas de faire un don si vous souhaiter soutenir le développement du logiciel.

Comme à l'accoutumé, j'attends vos commentaires ou vos suggestions dans les commentaires !

Téléchargement :
- Via l'application Bodega
- Via le site Bodega
- Via Mactronique
- Via la mise à jour automatique de l'application

samedi 6 mars 2010

La Magie Cocoa !

Ce soir je vais parler de Cocoa ! Mon langage de programmation préféré !
Actuellement en plein développement du logiciel XML Print Model Creator (logiciel de dessin vectoriel pour la mise en page automatisé), je découvre de plus en plus de subtilité dans ce merveilleux langage.

La semaine dernière, je me suis retrouvé devant un problème grandissant : la synchronisation des vues lors des changements des données. J'ai trouvé la réponse (merci Céroce membre de PommeDev.com) en appliquant le paradigme MVC (Model Vue Contrôleur) et en mettant en place une technologie nommée "Bindings" en anglais. Je ne sais pas comment traduire, mais je dirait "liaison magique" !

Imaginez que vous ayez d'un côté un tableau avec deux colonnes et 1000 lignes et de l'autre un élément graphique permettant d'afficher les données d'un tableau situé en mémoire.
Au lieu de dire au tableau graphique d'aller chercher les données à tel endroit en mémoire (et être obliger de lui dire de recharger les données à chaque modification), vous allez ajouter un "Contrôleur de Tableau".
Ce dernier gèrera la sélection (même multiple), l'ajout, suppression des données du tableau situé en mémoire et vous aller "binder" votre tableau graphique (colonne par colonne) sur le contrôleur de tableau.
Si vous sélectionnez une ligne dans le tableau graphique, le contôleur sera au courant et si vous ajouter une ligne dans le tableau via le contrôleur, le tableau graphique sera automatiquement actualisé !
Cela sans une ligne de code pour connecter le contrôleur de tableau au tableau graphique ! Par contre, un peu de code sera nécessaire pour créer le tableau en mémoire et le rendre disponible au contrôleur. Mais pas une ligne de code pour connecter le contrôleur au tableau en mémoire ! Et lors de l'exécution tout est là et toujours à jour !

Grâce à ces Bindings et d'autre paradigme tel que le KVC (Key-Value Coding) et KVO (Key-Value Observing), il m'a été possible de réécrire quasiment tout le logiciel sans le problème de synchronisation. Ajoutant la possibilité d'annuler les actions effectuées ainsi que d'autre fonctionnalités.

mardi 16 février 2010

CineBench sur plusieurs ordinateurs Apple et Toshiba

Aujourd'hui, je me suis amusé à exécuter CineBench 11.5 sur mes ordinateurs.


Pour mon PowerMac G5 2x2,5GHz le résultat est vraiment très mauvais ! Le test OpenGL ne fonctionne pas et celui du CPU arrive au score de 0.9pts ! C'est lamentable pour un ordinateur G5. A sa décharge, il a maintenant 6 Ans !
Voici la preuve :

Sur un Mac Mini CoreDuo 1,66GHz, pas de test OpenGL car la GMA950 ne gère pas des fonctions demandé par le test !
Résultat : CPU : 0,77 pts ! moins puissant que le PowerMac malgré le fait qu'il soit plus récent !


Voici le résultat d'un Toshiba Tacra A11 tout neuf. Attention tout de même, processeur i5 à 2,27GHz et Carte graphique Intel GMA HD.
OpenGL : 1.28fps
CPU : 1.72pts

Intel apporte des solutions intégré qui ne sont pas forcément bonne pour des jeux mais correcte pour l'utilisation en bureautique. Cela tombe bien c'est l'ordinateur portable du bureau ! Ce qui m'étonne quand même c'est que sur Windows 7, Aero est activé et fonctionne très bien avec de tel solution graphique. Microsoft aurait-il revu à la baisse leur exigence graphique pour Aero ?

Voici le résultat d'un Toshiba Tecra M10 (un peu plus vieux : 1an et demi) avec un Core2Duo P8400 à 2,26GHz avec une carte graphique Intel Serie 4.
OpenGL : ??? fps
CPU : ??? pts
Le résultat se fait attendre car CineBench ne veux pas se lancer sur cette machine. Pour tant elle dispose Win 7 Pro tout comme le Tacra A11 !

vendredi 12 février 2010

Un jour avec le LG KP501

Aujourd'hui je vais sortir de la sphère Apple pour donner mes impressions à chaud sur le LG KP501.

Pour commencer, c'est un téléphone entièrement tactile sans clavier physique comme l'iPhone. La grande différence est la taille de l'écran et surtout la réactivité de l'écran tactile. Il est parfois très lent et il faut souvent bien appuyer (surtout sur les bords) pour que cela soit bien pris en compte. Le système n'apprécie gère les jeux de vas et viens avec les barres de défilement. D'autre part, il faut savoir ce que l'on veux car certaines opérations seront effectuées du moment où vous l'avez toucher (même si vous relacher la pression en dehors de la zone).

Le système est plustôt simple et efficace et il n'y a gère de place à l'inutile. Avec des effects graphiques sympatiques, il est agréable à utiliser.

Gros avantage pour le LG, il est bien plus légé que l'iPhone. Il se fait vite oublier dans la poche (sauf quant il sonne)!

Je donnerais d'autre avis après un peux plus de temps d'utilisation. Une chose est sûr, maintenant j'aprécis bien plus l'iPhone quand je l'utilise !