NEWS [Toutes]

Problème avec le serveur Twitter
24/05/2007 :: 20:40 :: Commentaires(4)
Les serveurs de Twitter commencent à vraiment souffrir...
Dommage que ça ne suive pas, le choix d'avoir réalisé ce site en Rails n'a peut être pas été le plus judicieux (voir interview d'un développeur de Twitter)...
Je sais pas si ils avaient prévu une expansion aussi forte du traffic sur ce genre de service...
Et hier :

Et aujourd'hui sous mon widget twitter sur netvibes :


L'indisponibilité n'a duré que qqs secondes à chaque fois mais on peut être sûr que du fait de ces nombreux problèmes, de plus en plus d'utilisateurs migreront vers Jaiku ou autres site de nanoblogging par pays...

En même temps quand on voit le nombre de requête à la seconde (+ de 600)...
Le nombre de posts par jour est passé d'environ 250 jusqu'en février pour être ensuite monté vers les 1000 / 1500...
Et le nombre de pages vues, n'en parlons pas ^^...

HS : Vous pouvez obtenir des stats sur Alexa par exemple.
J'ai ajouté une catégorie Web aux news.
Il est cool ce chat bricoleur !


Scrolling d un Bitmap en ActionScript 3
23/05/2007 :: 00:07 :: Commentaires(7)
Scroller le contenu d'un Bitmap (le BitmapData en AS3) peut être utile à de nombreuses fins (Scroll d'une map pour un jeu vidéo dans mon cas)...
J'ai donc fait une magnifique fonction permettant de décaler le BitmapData en passant temporairement par un ByteArray pour conserver les pixels à déplacer :

// ==== Fonction permettant de scroller un Bitmap ==== //
private function DecalBmp(Bmp:Bitmap, diffX:int, diffY:int):void

{
var ba:ByteArray = Bmp.bitmapData.getPixels(new Rectangle(

(diffX > 0 ? diffX : 0),
(diffY > 0 ? diffY : 0),
Bmp.bitmapData.width - Math.abs(diffX),
Bmp.bitmapData.height - Math.abs(diffY)));
ba.position = 0;
Bmp.bitmapData.fillRect(new Rectangle(0, 0, Bmp.bitmapData.width, Bmp.bitmapData.height),
0xFFFFFF);
Bmp.bitmapData.setPixels(new Rectangle(

(diffX > 0 ? 0 : -(diffX)),
(diffY > 0 ? 0 : -(diffY)),
Bmp.bitmapData.width - Math.abs(diffX),
Bmp.bitmapData.height - Math.abs(diffY)), ba);

}


Je tiens à noter que l'on peut remercier ceux qui ont travaillé sur la version 3 d'ActionScript, rien que pour la distinction Sprite/MovieClip, les sockets binaires, le principe de Display list, les classes Bitmap et BitmapData ainsi que la classe ByteArray...
Content de ma fonction, j'ai vu plus tard une méthode de base de la classe BitmapData qui permettait de faire exactement la même chose....

Bmp.bitmapData.scroll(-diffX, -diffY);

Cette ligne revient au même qu'utiliser la fonction (inutile) plus haut...
Et pourtant j'ai passé du temps sur les Livedocs Adobe, que ce soit le langage reference de Flex 2 ou d'AS3... Mais bon, on en apprend tous les jours...

EDIT : A noter que la méthode propre à l'AS3 (scroll) va une dizaine de fois plus vite que mon bout de code (et oui, setPixels et getPixels consomment beaucoup)... ^^

Adaptateur Pistolet Wiimote
23/05/2007 :: 00:07 :: Commentaires(3)

Wii Light Gun @ Brando


Brando vient de sortir son modèle de pistolet wiimote...
Je trouve que le rendu esthétique est vraiment nickel, en accord avec le style donné par Nintendo. Le connecteur de la wiimote s'encastre au niveau du percuteur du pistolet, le nunchuk se branche sur un connecteur libre situé au bas de la crosse...
Reste à voir le poids, la prise en main et la qualité de la gachette mais le produit à l'air bien réalisé...
En passant, faites un tour sur le site de Brando qui vends plein de produit 'fantaisistes' pour les consoles récentes...

Art numérique urbain
15/05/2007 :: 00:09 :: Commentaires(426)
G.R.L

J'aime regardé ce qui ce fait de nouveau artistiquement de manière générale...
Fan d'informatique aidant, j'observe bien sûr ce qui se passe du côté du Graffiti Research Lab (communauté de grapheurs, artistes, fan d'open source et aux idées larges)...Ce sont eux qui ont par exemple donné naissance aux LED Throwie, font des test de graffiti géant au laser et pleins d'autres choses...

Donc forcément qu'en j'ai lu un article sur l'Audio Bombing, j'ai tout suite trouvé ça intéressant...Grossièrement, l'idée est de placarder des bandes magnétiques comme des graffiti avec la nuisance visuelle en moins. donc on découpe l'extrait voulu (musique, texte, etc.) de la cassette en coupant la bande, et on la colle tout bêtement quelque part...Encore faut-t-il que quelqu'un passe par là avec une tête de lecture dans la main...mais le concept n'en reste pas moins sympa...


Un artiste (Nam June Paik) a déjà utilisé le même concept (Random Access Music) lors d'une exposition...

Hors-sujet : Sinon le problème des commentaires sous IE est corrigé (même si il reste d'autres merdes...) J'en ai profité pour changer l'apparence des commentaires et autres petits trucs...

Mini Flash AS3 Mp3 Player
13/05/2007 :: 22:53 :: Commentaires(3)
Nouvelle version du mini lecteur mp3 en ActionScript 3.
Les boutons (play, pause, stop, lien) sont regroupés dans un menu sur le côté gauche qu'il faut dérouler.
Le bouton lien permet un accès direct au fichier mp3.
Les infos ID3 du mp3 sont affichés à droite dans une section ID3 (c'est cassé pour l'instant).
Un curseur (tête de lecture) indique la position actuelle de la lecture, on peux faire un drag-n-drop avec ce curseur pour se positionner ou l'on souhaite dans le morceau.
Bon, me reste plus que quelques fonctionnalités et je fais en sorte qu'il soit 'skinnable' et je balance une 1.0 et j'arrête avec ce projet...

Edit : Morceau IsoblockMadnessTheme (voir jeu Flash dans des news plus récentes...)



Programmation : du code propre et parlant...
12/05/2007 :: 23:56 :: Commentaires(0)
Quand on commence un projet de programmation, on a toujours de bonnes intentions...Je comparerais ça à un début d'année scolaire : Début de l'année, on a un beau cahier tout neuf, des beaux stylos, des bonnes intentions -> les premières pages écrites sur ce cahier sont toujours magnifiquement remplies, avec de la couleur, de l'ordre, etc... Mais on connais tous le nombre de ratures, d'illisibiltés et autres non sens dans les pages qui suivent...

En programmation, c'est un peu pareil, tant que le code reste du pseudo-code en gros, c'est bon...Par contre quand le projet est lancé bien rapidement et que les fonctionnalités se rajoutent une a une, il est très difficile de garder du code clair et lisible, et encore plus de garder un découpage logique au niveau des classes et de leurs interfaces...Ceci est encore plus dur si le travail de conception à été réalisé rapidement (voir pas du tout). Même les projets plus petits n'échapent pas à la règle, pas de conception du tout peut facilement ammener à coder des 'briques non imbriquables' qui sera cimenté par diverses bidouilles...d'où l'accroissement du risque d'erreur découlant de l'augmentation de la complexité...Tout ceci sans parler des problèmes de relecture, d'évolutivité ou de maintenance que cela engendre également...

Quelques points à prendre en compte :
- Ne pas négliger la phase de conception
- Segmenter de manières logiques et stucturés les 'objets' du programme
- Limiter les interactions entre objets au strict minimum (modularité, etc...)
- S'efforcer de garder un code clair et lisible tout au long du développement. (nom de variables et de méthodes explicites, éviter les 'bidouilles', rester verbeux...).

En théorie il semble simple de concevoir du code clair similaire au premier jet que l'on aurait pu faire en pseudo-code pour solutionner un problème...La pratique montre qu'il en est autrement et que le code est rapidement 'complexifié'...

Exemple pour le dernier jeu flash réalisé, le projet étant bien découpé, j'ai pu garder du code simple et parlant. Les commentaires deviennent simplement des 'marqueurs visuels', le code causant de lui même...
[Boucle principale du programme] : (Code AS3)

private function MainLoop(event:Event):void
{
var i:uint = 0;
var elapsed:Number = Time.getElapsed() / 1000;

Time.Tick();
Keyb.Tick();
if (isStarted)
{
/* ===== PLAYER ===== */
player.TreatNewKey(Keyb.stateKeys);
player.Move(elapsed);

/* ===== WEAPONS ===== */
CleanAllExplodedWeapons();
for (i in weapons)
{
weapons[i].Move(elapsed);
if (weapons[i].InContactWith(player.getHitRect()))
weapons[i].Explode();
}

/* ===== ENNEMIES ===== */
for (i in ennemies)
{
ennemies[i].Move(elapsed);
if (ennemies[i].InContactWith(player.getHitRect()))
player.Die();
}
}
}

J'essaierai prochainement de montrer d'autres exemples de bonnes (et y compris de mauvaises) pratiques en programmation...

Frazr - Equivalent français à Twitter
12/05/2007 :: 20:39 :: Commentaires(1)
Frazr France
Frazr France

Frazr est un 'clone' franco-allemand de Twitter. Répliquer des services à l'étranger ça marche, exemple : studiVZ (DE)/studiQG (FR) (versions européennes de FaceBook (réseaux communautaire d'étudiants)).
Frazr ne change pas la donne, c'est vraiment 'tout comme' twitter au détail près...Après l'avantage, c'est le côté 'même pays' et l'accés à un numéro à coût de SMS normal pour l'update via mobile...
A noté aussi l'existence de Noumba qui est encore un autre service de micro-blogging (ou nano-blogging) à la française (le SMS a encore un peu de mal apparemment).

Picoo Z mini RC helicopter video
09/05/2007 :: 22:26 :: Commentaires(0)
Recu ce matin, expédié de Honk Kong il y a déjà 17 jours !!!
Je vous ai mis une petite vidéo vite fait, un peu chaud à contrôler au début...
Et bon, on ne contrôle pas 4 voies sur l'engin donc tu peux pas faire ton SuperCopter non plus mais c'est quand même bien sympathique comme petit gadget...

Musique NES (Chiptune)
19/04/2007 :: 22:21 :: Commentaires(2)
Faire de la musique pour Nintendo NES, c'est le futur...
Voici mon premier chiptune Famicom (.nfs) converti en .mp3... [Merci Bobatak d'ailleurs pour la conversion...]
J'avais pas utiliser de tracker depuis des années, j'ai eu du mal à m'y remettre mais j'avais encore des petits reste de FastTracker II ^^
Bon...j'ai pas pris le temps de faire watt-mille (sic) dérivation à la batterie....et c'est dommage la basse était presque au premier plan normalement mais en fait c'est mon 2.1 du PC de bureau qui en a trop (j'ai fait le morceau dessus)...résultat après écoute sur un autre PC : en fait on entends pas assez la basse (dommage y a une partie marrante)...
Bon en même temps j'en ai profité pour rajouter quelques fonctionnalités à mon mini player de mp3... Et ça y est, le format ne bougera pas maintenant, ca restera du 88 x 31 pixels...



Lecteur Mp3 en ActionScript 3.0
17/04/2007 :: 22:35 :: Commentaires(6)
J'ai commencé un mini lecteur Mp3 en AS3 tout à l'heure...
Pour l'instant, il y a pas encore beaucoup de fonctionnalités...
On voit le préchargement et la lecture sur la même barre...
Euh : Cliquez sur le bouton Play...
La chanson écoutable proviens de 8bitpeople :





<- 1 2 3 4 5 6 7 8 9 10 11 -> :: Afficher par

[Info]

Darokin Pixel Art   Pseudo : darokin
  Prenom : Adrien
  Age : 27 ans
  Ville : Reims, France
Mail : admin[at]darokin.info
Date : 6/09/2010 - 11:14:22
@IP : 38.107.191.96


[Twitter]


darokin @ twitter

[RSS]


Add to netvibes
Add to Technorati Favorites!


[del.icio.us]


Le Forum Du Jeu
KodKdo.com

[Banner]

Darokin.info 88x31 banner