jeudi 30 novembre 2017

Faux

La façon de penser les choses marquante de l'ère nucléaire
aura donc revêtu une forme évolutive de 'certitudose':
on veut non seulement des armes de destruction massive,
mais aussi la certitude de pouvoir anéantir l'ennemi. Et,
bien sûr, la phase MAD (mutual assured destruction) se voit
éventuellement dépassée, en partie par la technologie mais
aussi en vertu d'un petit élément imprévu: l'ennemi qui se
pense déjà dans l'engrainage. Car c'est bien cela la particularité
de la Corée du Nord comme adversaire. On s'y réclame d'une Asie
qui a déjà connu le nucléaire aux mains des ÉUA. C'est faux, mais
ça cartonne!!

Il y a quand même du grossier mensonge de toute part. Pendant
que les peuples se remettaient tranquilement de la terreur du nucléaire,
et que les pays chefs des deux grands blocs semblaient réduire leur armement
respectif, il n'en était rien. Les bombes actuelles - dix fois moins nombreuses
qu'au pire de la guerre froide - seraient autrement plus meurtières. On peut les
programmer, à partir d'une fraction de la puissance d'Hiroshima vers la pire Bomba
à hydrogène.

Et voilà que l'on perd la mémoire; car la phase de MAD reposait sur une
mémoire de l'horreur totale d'Hiroshima, qui hantait le discours politique mais
aussi le cinéma et les arts et même l'architecture. Je ressens toujours un
certain malaise en me promenant à l'intérieur du Métro de Montréal et
de la ville sousterraine; on a construit ce métro en pleine guerre froide, je lisais
à l'époque de la Science -Fiction bourrée d'apocalypse et d'invraisemblable pour
essayer de dominer le monde qui se forgeait.

                                *     *     *
S'ensuivit la guerre du Vietnam, que l'Amérique a connu par la télé. Je suis boomer,
née en 1949. Donc après la guerre, mais aussi avant la paix. Je pensais - sans le dire -
qu'il y avait sûrement du racisme dans Hiroshima. On voulait éviter d'inutiles
pertes de vie, mais on s'est servi de l'arme ultime. My team did that!!

La guerre du Vietnam a vu l'Amérique déchirée entre on continue et on arrête.
Une guerre de désespoir  que les Viets-Congs devaient gagner. L'Amérique en bad
cop a défendu l'ordre économique; mais c'est l'Angleterre qui avait tout colonisé,
et on se rappele que l'Asie avait quand même voulu faire affaire pendant des siècles
avec une Europe balbutiante.

Autre façon d'exprimer le dilemne actuel: si on a déjà
connu des ennemis territoriaux ( les deux gueres mondiales), et puis
idéologiques ( la guerre froide), on vivrait aujourd'hui l'ennemi
technologique( qui a l'armement meurtier). Ce qui laisse présager
des jours sombres aux générations à venir.

La Paix, bordel;  on en rêve...

dimanche 26 novembre 2017

Mec JS

Pour mieux apprécier ce que ReactJS permet - et ce
qu'il n'invente pas - mieux vaut retourner au HTML et Javascript
de référence. Ce qui frappe le plus: la facilité pour travailler son code
et - éventuellement - réussir un build. Hourra! l'épouvantable
document.getElement... a disparu, à la faveur de render(). Mais
ECMA6 devient plus souple, et on y permet des set state et bind et
intéressants.

De sa nature, Javascript permet de changer le HTML et CSS d'origine
grâce à des scripts, qui introduisent des fonctions diverses. Ce qui
était statique devient dynamique.  Et les éléments de base de tout édifice
Javascript seront des objets, passibles de contenir des valeurs exprimées
par des paires avec deux points comme liaison. Voici la présentation
du W3Schools, adaptée au français.




Les diverses définitions peuvent sembler répétitives: elles le sont.
Du fait, on peut tout faire; on procède selon ses besoins...

https://www.w3schools.com/js/js_htmldom.asp

vendredi 24 novembre 2017

Egypte

Difficile de comprendre l'attaque d'une mosquée...
Depuis le Times, UK:





mercredi 22 novembre 2017

Dynamique

Bon, le port 5000 ne restera pas au service de l'appli longtemps,
mais on voit quand même l'utilité d'un build. Le jeu a la particularité d'être
le produit d'un language furetuer, et la dite file principale sera .html. Ce n'est pas
toujours le cas, et un jeu, par exemple, en C+ va rester.

À noter aussi, pour les projets browser, la différence entre le code dit statique,
qui ne change pas, et le code dynamique, qui va  chercher des trucs en cours de route,
possiblement avec Ajax. Ci-bas, mon Facebook de ce matin, qui a une notice d'il y a
11 heures (le projet de classe de Lyse) et une annonce Reitmans (je suis sur leur liste
d'envoi). C'est dynamique, et je suis libre de répondre ou commenter sur le projet de classe
et entamer une discussion, tandis que l'annonce va évoluer au cours de la journée
ves un autre 'spécial'.




mardi 21 novembre 2017

Build

Voilà que je décide - toujours dans une optique d'apprentissage -
de tout simplement faire un build pour le jeu Flappy Bird que
je possède présentement sur Atom. De quoi s'agit-il?

Plus le language que j'utilise pour coder est de haut niveau,
plus il y aura de travail à faire pour traduire en instructions
machine. Chez Microsoft, on parle de 'executable' et les bouts de
codes acceptablement compilés se ramassent dans des fichiers .exe.

Avec React app, je code en JSX (un plus haut que Javascript). Il
faut donc descendre vers Javascript, et de là - parce que Javascript
est un language pour fureteur - les choses vont bien. Il s'agit
notamment d'un compiles to...

Normalement, préparer ses fichiers pour un build veut dire:
un fichier pour le déroulement du programme, un pour les éléments annexes
comme les images, un CSS pour l'information sur les styles, un manifeste
pour license, attribution. Il devrait y avoir aussi un Json pour les échanges
éventuels de données. Le jeu de Node et React contient énormément de ressources
de facilitation pour le processus global, qui peut-être assez complexe.

Mon build se fait - une fois sur flappy (cd veut dire, current directory) - avec:
npm run build.



C'est magique.

J'ai fait un shortcut sur le bureau pour Localhost:5000. Reste plus qu'à changer
pour une image icone et j'ai mon jeu toujours disponible...




http://everything.explained.today/Npm_(software)/#Description


samedi 18 novembre 2017

Terminé

Et nous ajoutons le pointage; tout comme dans le Flappy bird original,
c'est plutôt brutal. Il faut constamment recommencer...

Il serait bien de savoir comment changer la présentation du jeu. Benjamin Li
offre aussi un cours plus approfondi à partir de MSN Academy.

Pour celui ou celle qui aurait un jeu à partager, Heroku offre un hébegement
gratuit des 5 premiers jeux, avec services annexes (comme sécurité!). Ou
encore, Microsoft Azure.

                                                     *     *     *



https://facebook.github.io/react-native/docs/flexbox.html

vendredi 17 novembre 2017

Jump

Un clic de la part de l'utilisateur remonte la position de
Flappy de 3. Il faut s'habituer car plusieurs clics successifs
peuvent mettre Flappy en danger des tours du haut de l'écran.

Le code fait appel à la foncton bind() du JS. On ajoute
normalement un onClick à la div d'ouverture, mais ici
il faut le faire explicitement et faire une liaison avec
le component React.

La fonction render est intéressante, car on l'initie sur place.
Une mention de return indique que l'on ne désire que ce
que la return mentionne; c'est une interruption de fonction...

La détection de collision reviendra à noter si la position de l'oiseau coincide
avec une cellule bleu. On le remettra à 10.

                              *     *     *
En créant un state crashed qui peut être vrai ou faux, le jeu va s'arrêter si
le jouer touche une tour ou dépase les bornes. Il ne reprendra qu'avec le button
Reprendre. C'est un appel de fonction sur onClick dans les règles, mais on ajoute une
liaison avec this sinon le button n'apparaît pas!

                                                *     *     *
Quelques définitions:

                                          source: Margaret Rouse


jeudi 16 novembre 2017

Flappy3



Voilà  que le petit Flappy - toujours dans la colonne 3 -
tombe et remonte à sa position originale. C'est du javascript; ainsi on se sert de
state pour tenir compte de la position de Flaps. Il tombe de 1 toutes les 0.2 secondes.


                                                       *     *     *


Et ça continue avec la création de Flappy et des tours, qui
tous seront éventuellement capables de mouvement. Car bien sûr, ce
sont les tours qui avancent d'un state à l'autre...

On se sert du CSS et de Javascript, comme toujours.
La fonction slice() sur array permet de faire référence
au nombre d'éléments à l"intérieur de l'array des tours.
Slice() retourne tous les éléments sauf le dernier, donc
bien précisément pour le nombre d'éléments, qui se voient
indexés à partir de zéro.

L'indexation-0 joue aussi pour le choix de <20 br="" il="" position:29="" y="">en a 30), et 19 - j (en fait, 20).

Flappy tombe en ++, parce que la hauteur du repère  augmente vers le bas.
(0)(0) se trouve en haut à gauche. Les tours appraissent à droite
et vont vers la gauche en --.

On se sert de Math.random(), qui renvoit un nombre entre 0.1 et 1.
Floor indique que l'on arrondit vers le bas.

Upright appartient normalementau texte, que l'on peut renverser au besoin.
Ici, on créera des tours soit du bas ou du haut.

Du grand classique  JS.

mercredi 15 novembre 2017

Explication

Voici une petite demo explicative, pour bien apprécier
l'avancée que représente ReactJS pour la création rapide
de jeux et interfaces.

J'ai refait, ci-bas, une version de mon Flappy Bird en
dévelopement sur l'éditeur Atom.

On refuse carrément de rendre toute couleur autre que celle
spécifiée dans backgroundColor.



L'erreur: la fonction GridCell doit accepter props (qui veut dire properties).


À noter sur le constructor, fill en méthode sur array ne veut pas dire couleur.
Ici, on considère que toutes les 600 cellules contiennent le mot
'orange', et donc l'array va se construire avec red en backgroundColor
sur ses cellules.

Tout ceci peut paraître tordu: c'est backgroundColor de toute façon.
Mais bientôt il va me falloir une cellule jaune pour Flappy et des cellules
mauves pour les édifices. Ça va bien se faire.

L'éditeur Atom ne contient pas toutes les fonctionalités du debug que VSCode
nous offre. J'aime quand même les couleurs reposantes. Fight another day!!

                                             *        *      *
👍

samedi 11 novembre 2017

Flappy2

Pour bien apprécier ce que le petit tuto nous offre,
il convient de reconnaître la différence que fera un développeur
entre un front-end et un back-end. Le client d'une Agence de Voyage
qui entre 'Miami' comme destination sur son ordi est en interaction
avec le front-end de l'appli. Il se trouve sur son fureteur. La
base de données qui fait étât d'une nouvelle réservation Miami pour
telle date sera le back-end, sur un serveur.

JavaScript a longtemps oeuvré comme le language de programmation
par excellence pour fureteur. C'est simple, on crée des objets facilement,
c'est rapide. Le fair de pouvoir se servir de Javascript sur un serveur -
ave Node.js, projet Google - a fait bien des heureux. React, projet Facebook
à l'origine, s'occupe du furetuer en front. (Il sert d'ailleurs sur Facebook et Instagram).
Et il existe aussi autres bibliothèques Javascript connues des pros.

Avec Visual Studio Code (Microsoft, 2015), on retrouve l'interface De MSoft
aec tous ses services pour peaufiner et nettoyer son code que l'on se trouve
sur Windows, Linux ou MacOS. Un éditeur de code, gratuit.

Reste à embarquer dans le jeu.

                                                     *     *     *

vendredi 10 novembre 2017

Flappy B.

Voilà que Microsoft propose régulièrement des petits tutos
pour pemettre à tout un chacun de s'aventurer dans la programmation.
Le tout dernier: comment monter Flappy Bird et -  possiblement- en créer
des variantes. On fait avancer Flappy(en jaune) sans accrocher les tours
d'habitation(en bleu)...



Le tuto a une durée d'une heure...

Mais, il faut installer Node.js sur son ordi. Et c'est quoi!?
On peut se faire une petite idée sur W3 Schools. Essentiellement,
cela permet à l'ordi perso de faire office de serveur, de manière
asynchrone (sans attente).





De quoi s'amuser en cette journée froide!

                                                    *     *     *
Encore assez compliqué.  React a commencé comme produit Facebook pour
faciliter la vie aux développeurs. On cherche ici à utiliser les acquis React à
l'intérieur Visual Studio Code, le volet de Visual Studio qui reprend le code
de divers programmes à son compte.

Il faut faire un téléchargement de Node.js sur le Windows Shell. Créer un
projer flappy avec React (qui  apparaît sur le fureteur
au Localhost 3000). Ouvrir le dit projet à l'intérieur de Code (et le code
ajouté jouera sur la page React).

À demain pour le jeu complet.




lundi 6 novembre 2017

Pink

Saint-Jean sur Richelieu has a new mayor this morning - Alain Laplante, a pollster
by profession - and I wish to offer my sincerest congratulations.

It was an unexpected victory, and M. Laplante was elected, largely without his team.
It looks like a classic split vote situation, a retired federal politician joined the fray, and
the expected vote split between the outgoing mayor and this new candidate. But
there are rarely accidents in politics. The city is growing and small town
politics no longer makes much sense for us. M. Laplante will have to pull an Angela
Merkel and find a working coalition on City Council.

The other surprise was the election in Montreal, which is getting a female mayor.
Paris has been doing well with Anne Hidalgo as mayor, who has shown ecological
sensitivity and imagination to help the city renew itself. It was a hard fight and Me Plante
was good-humored enough to propose a pink Metro line for Montreal, to decongest
the city. My congratulations and good wishes there as well.




dimanche 5 novembre 2017

T_recettes

Je l'avoue: tous les ans, je considère avec curiosité
la célébration du Thanksgiving américain (fin du mois de novembre).
Car c'est l'occadion d'une grande fête gourmande familiale
autour de la dinde que nous ne vivons pas au Québec.

Les fameux sides volent la vedette: green bean casserole, sweet potato
casserole, cornbread ainsi que la pecan pie.

Et bien voilà que MSN UK nous offre un jeu de recettes
pour l'occasion en version accessible et passible de congélation.

Et hop, à l'aventure.

https://www.msn.com/en-gb/foodanddrink/recipes/24-make-ahead-dishes-to-make-thanksgiving-dinner-a-breeze/ss-AAumGQ6?li=BBoPWjQ#image=1

samedi 4 novembre 2017

Politique asiatique

Si la situation de la Corée du Nord reste problématique
et urgente pour les États-Unis à l'occasion des déplacements
du Président Trump dans la région, on peut quand même respirer
un peu, car la politique américaine serait fixée pour le moment.

En extrait du Times, UK:

Les aspects économiques priment pour le moment, avec des partenaires
importants.