PROJET AUTOBLOG


Blog-Libre

Site original : Blog-Libre

⇐ retour index

Parce qu’il reste encore la musique et la littérature

jeudi 4 avril 2019 à 00:07

Je blogue peu depuis un moment. Le manque de temps et le manque d’envie. Je pense souvent à des idées de billet, de titres et de phrases d’accroche. Puis les idées s’envolent. Quelques fois, je prends des notes et à la relecture, je trouve le propos inintéressant, déjà vu.

Article 11 et article 13 de la Directive Copyright. Bof.
Gilets jaunes vs. Macron. Bof.
Nouvelle loi supposée lutter contre le terrorisme. Bof.
Un Google qui déboule avec un nouveau projet. Re-bof.

Tout est une éternelle redite, surtout en politique et en économie. Ceux qui sont en haut de la pyramide alimentaire mènent la danse. Rien de nouveau sous le soleil depuis le début de l’Histoire.

Alors il reste la musique et la littérature.

Je me suis replongé dans la lecture, comme je l’expliquais sur le forum de Cyrille il y a peu, suite à l’achat d’une liseuse. J’ai donc trois livres en cours. Y compris en papier. Loin de moi l’idée de produire des chroniques littéraires, je vous rassure, même si j’ai envie de conseiller des lectures.

Et il y a la musique. Je me suis replongé récemment dans la réécoute d’albums passés. Je constitue actuellement une liste d’écoute de « nu metal », années 90-2000. Étonnant de voir comment le cerveau réagit aux retrouvailles de certains morceaux. Des souvenirs remontent, ainsi que des ambiances et des moments passés. Une certaine énergie (re)explose. Nostalgie revivifiante. Je viens de traverser la discographie de trois groupes. Je prépare le partage. Je le sortirais dans quelques temps.

Ah, et vous ai-je parlé d’Économie Sociale et Solidaire ? C’est le thème de mon Master II en formation continue depuis septembre dernier. Trois jours par mois, je disparais de mon travail pour replonger là encore dans un autre monde, celui de l’université que j’avais traversé en touriste il y a quelques années. Sauf qu’aujourd’hui, je suis ces cours avec un plaisir intense. Je mets des concepts théoriques sur des pratiques professionnelles. Je confirme par des enseignements universitaires des hypothèses personnelles sur l’économie, les sciences de gestion, la sociologie des organisations… Je me réarme intellectuellement. Se préparer pour le futur. Et être en capacité de comprendre et d’échanger sur des billets pointus.

On va se retrouver, c’est sur. Je n’oublie pas les copains du Blog Libre et des blogs en général (Cyrille, Iceman, Dada, le Hollandais Volant, Denis Szalkowski, Genma, Seboss66, uTux, TkPx). Je prends mon temps.

PS : perdus, certes mais bruyants…

Vous avez 4 heures

vendredi 22 mars 2019 à 17:30

Je me suis dit que ça pourrait être marrant de vous faire participer aux casse-têtes auxquels je suis confronté. Je lance le truc pour voir si ça vous plaît/amuse, si il n’y a pas de retours je remballerai mon idée ha ha.

On m’a demandé de récupérer les logs du 22/01 à partir de 11h40 sur quelques 130 serveurs. On peut utiliser ansible ou un outil de ce type pour balancer la commande sur tous ces serveurs mais comment récupérer tous les logs (ligne entière) à partir de 11h40 ?

Ci-dessous 50 lignes de logs d’un serveur (j’ai trafiqué et tronqué les infos) qui vous serviront à tester la solution que vous proposez, je vous invite à les copier-coller dans un fichier sur votre poste pour effectuer vos tests. Tous les coups sont permis : Scripts (tous langages : Python, Perl…), shell one-liner, site web qui fournit la solution en 1 clic, corruption de l’auteur (je suis hétérosexuel et j’accepte les virements bancaires), etc.

monpetitserveur.net 87.122.70.72 - - [22/Jan/2019:00:54:21 +0100] "POST 
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:00:54:22 +0100] "POST 
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:00:55:52 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:01:26:23 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:01:26:23 +0100] "POST
monpetitserveur.net 112.156.104.2 - - [22/Jan/2019:02:12:08 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:02:36:39 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:02:36:40 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:02:46:21 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:03:46:31 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:03:46:34 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:03:46:34 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:03:46:46 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:04:26:51 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:04:26:51 +0100] "POST
monpetitserveur.net 105.204.123.56 - - [22/Jan/2019:05:00:17 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:05:27:22 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:05:27:22 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:05:27:22 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:05:57:47 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:05:57:59 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:06:57:41 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:08:38:50 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:08:38:50 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:08:39:08 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:08:39:23 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:08:59:15 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:08:59:20 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:09:06:19 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:10:19:40 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:10:19:41 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:10:19:51 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:10:49:44 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:10:49:45 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:11:19:51 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:11:22:17 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:11:40:57 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:11:40:57 +0100] "POST
monpetitserveur.net 104.48.123.201 - - [22/Jan/2019:12:16:45 +0100] "GET
monpetitserveur.net 84.12.145.4 - - [22/Jan/2019:12:49:41 +0100] "GET
monpetitserveur.net 84.12.154.4 - - [22/Jan/2019:12:49:43 +0100] "GET
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:12:49:44 +0100] "POST
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:12:50:02 +0100] "GET
monpetitserveur.net 45.85.135.74 - - [22/Jan/2019:13:15:27 +0100] "GET
monpetitserveur.net 45.85.135.74 - - [22/Jan/2019:13:15:27 +0100] "GET
monpetitserveur.net 42.248.86.23 - - [22/Jan/2019:13:46:11 +0100] "GET
monpetitserveur.net 53.56.8.95 - - [22/Jan/2019:13:48:09 +0100] "POST
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:13:48:09 +0100] "POST
monpetitserveur.net 190.18.127.56 - - [22/Jan/2019:20:06:48 +0100] "POST
monpetitserveur.net 2a00:1450:1:815:124::1 - - [22/Jan/2019:20:06:50 +0100] "POST

Vous avez le droit de poser des questions. Je laisse jusqu’à lundi 17h30 puis je fermerai les commentaires, ça laisse du temps pour ceux qui voudraient s’amuser dessus ce week-end. Je fournirai ensuite une solution (la mienne) soit dans les commentaires soit dans un autre article.

En général on a un temps imparti pour effectuer une tâche : Vous avez 4 heures.

Démarrer sur une entrée précise de GRUB au prochain boot

vendredi 15 mars 2019 à 13:05

Il y a quelques mois j’ai dû compiler/tester différents noyaux avec les bons modules activés pour faire fonctionner un programme. Ça m’a rapidement gonflé de devoir sélectionner le noyau sur lequel je souhaitais booter durant les quelques secondes offertes au démarrage (serveur distant). Du coup j’ai cherché une solution.

Afficher votre menu d’amorçage GRUB

Pour rappel GRUB permet l’amorçage des systèmes GNU/Linux ou Windows sur un pc/serveur. L’entrée par défaut est la première ligne avec par exemple : Linux Mint 19.1 Xfce ou Debian GNU/Linux.

Voici le menu GRUB de mon pc fixe.

Linux Mint 19.1 Xfce
Options avancées pour Linux Mint 19.1 Xfce
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows 10 (sur /dev/sdc1)

Voici le menu GRUB sur un serveur.

Debian GNU/Linux
Advanced options for Debian GNU/Linux

Voici comment je le récupère : grep -E '^(menuentry|submenu)' /boot/grub/grub.cfg | cut -d "'" -f2
grep -E '^(menuentry|submenu)' # On récupère les lignes qui commencent par menuentry ou (|) submenu. Pour rappel ^ désigne le début de la ligne, on utilise -E (--extended-regexp) parce que je trouve ça plus élégant mais on pourrait s’en passer, grep -E '^(menuentry|submenu)' donne le même résultat que grep '^menuentry\|^submenu'
/boot/grub/grub.cfg # Le fichier utilisé par GRUB lors du démarrage, il ne doit pas être édité directement, il est généré par grub-mkconfig (voir man update-grub)
cut -d "'" -f2 # On récupère le contenu entre les single quotes ', le delimiter est donc la single quote -d "'" et on sélectionne le champs (field) 2 -f2

Démarrer sur l’entrée désirée au prochain boot (uniquement)

La commande grub-reboot est assez peu connue, tiré du man : Set the default boot menu entry for GRUB, for the next boot only. On peut l’utiliser de différentes manières soit avec le MENU_ENTRY (un numéro), le menu item title ou le menu item identifier. On va privilégier le MENU_ENTRY car nettement plus simple avec la commande qu’on a vu précédemment suivie de nl -v0 qui numérote les lignes (man nl) à partir de zéro (-v0).

grep -E '^(menuentry|submenu)' /boot/grub/grub.cfg | cut -d "'" -f2 | nl -v0

0	Linux Mint 19.1 Xfce
     1	Options avancées pour Linux Mint 19.1 Xfce
     2	Memory test (memtest86+)
     3	Memory test (memtest86+, serial console 115200)
     4	Windows 10 (sur /dev/sdc1)

Si je veux démarrer sur Windows la prochaine fois c’est-à-dire que l’entrée sélectionnée par défaut au prochain démarrage soit Windows 10 alors je ferai sudo grub-reboot '4'. Ça c’était la partie simple.

Remarquez la ligne « Options avancées pour Linux Mint 19.1 Xfce », elle correspond à un sous-menu dans lequel vous pourrez choisir le noyau sur lequel vous voulez démarrer.

Sur mon pc fixe grep $'\tmenuentry' /boot/grub/grub.cfg | cut -d "'" -f2 | nl -v0

0	Linux Mint 19.1 Xfce, avec Linux 4.15.0-46-generic
     1	Linux Mint 19.1 Xfce, with Linux 4.15.0-46-generic (recovery mode)
     2	Linux Mint 19.1 Xfce, avec Linux 4.15.0-45-generic
     3	Linux Mint 19.1 Xfce, with Linux 4.15.0-45-generic (recovery mode)
     4	Linux Mint 19.1 Xfce, avec Linux 4.15.0-20-generic
     5	Linux Mint 19.1 Xfce, with Linux 4.15.0-20-generic (recovery mode)

grep $'\tmenuentry' # On récupère les lignes qui commencent par une tabulation suivie de menuentry, ça correspond aux entrées dans un sous-menu (submenu)

Si je souhaite redémarrer sur « Linux Mint 19.1 Xfce, avec Linux 4.15.0-20-generic » alors je ferai sudo grub-reboot '1>4' correspondant à l’entrée 1 du menu GRUB (Options avancées pour Linux Mint 19.1 Xfce) puis l’entrée 4 du sous-menu (Linux Mint 19.1 Xfce, avec Linux 4.15.0-20-generic).

Donc voici la ligne de commandes que j’utilisais par exemple : sudo grub-reboot '1>2'; sudo reboot.

Démarrer sur la dernière entrée démarrée

GRUB peut se souvenir de la dernière entrée démarrée et l’utiliser comme entrée de démarrage par défaut pour la prochaine fois, utile si vous avez plusieurs noyaux ou systèmes d’exploitation. Éditez /etc/default/grub et modifiez ainsi : GRUB_DEFAULT=saved. Ceci garantit que GRUB passe par défaut à l’entrée sauvegardée. Pour activer la sauvegarde de l’entrée sélectionnée, ajoutez : GRUB_SAVEDEFAULT=true.

sudo sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT=saved\nGRUB_SAVEDEFAULT=true/' /etc/default/grub; sudo update-grub

Honteusement pompé sur l’excellente page du Wiki Archlinux.fr : https://wiki.archlinux.fr/GRUB/Trucs_et_Astuces

Voilà vous avez tout ce qu’il vous faut pour démarrer exactement sur l’entrée du menu GRUB que vous voulez. Moi je démarre pas Windows, c’est Madame ;)

Perso : 18 mois dans mon nouveau job

dimanche 3 mars 2019 à 13:30

18 mois que je suis sysadmin Linux, j’ai passé le cap, fait mes preuves. L’heure du bilan, raccrocher les wagons pour que vous compreniez mon état d’esprit du moment.

Paradis

Chaque expérience est précieuse mais quand on quitte un emploi, c’est généralement pour trouver mieux. J’ai 36 ans, 12 années dans l’informatique dans 5 entreprises différentes et je doute trouver un meilleur job un jour.

Mon paradis n’est pas le vôtre : Je gagne nettement moins de 3000 euros par mois mais je fais ce que j’aime, je (me) suis bien entouré, je vois mon gosse, mon job n’est plus ma vie.

J’ai fait des choix, j’ai assumé qui j’étais et ce que je voulais devenir :

Et alors l’enfer ? Un peu chaud sinon ça va. Perso plus je tombe bas, plus je rebondis haut. Là j’ai frôlé le burn-out.

Périmètre et missions

Par ordre d’importance :

Nous ne sommes pas enfermés dans des cases bien que nous ayons chacun des rôles définis. Si je veux prendre un sujet à ma charge parce qu’il m’intéresse par exemple : Fais toi plaisir !

Dans le détail

3 jours sur 5 je suis en chausson chez moi. On est passé en full-remote (télétravail complet) depuis novembre, on n’a plus de bureau. Le télétravail est un confort, pour certains un luxe. Perso je ne suis pas fan, j’ai tendance à déprimer après quelques jours à ne pas sortir. J’ai demandé à pouvoir bosser en coworking, en général 2 jours par semaine je suis en déplacement en datacenter et/ou en coworking. Je commence à trouver le bon équilibre.

Je suis dans une petite entreprise, on a sensiblement le même âge, les mêmes références niveau culture et délires, il y a du respect et de la confiance, pas de deadline ça sort quand c’est prêt. La belle vie. Bosser avec des gens biens, que j’apprécie et qui ont de grosses connaissances/expériences.

On ne m’a jamais dit non pour poser un jour (y compris pour le lendemain), je prends mes congés quand je veux (un luxe), je débute à 9h après avoir emmené mon gosse à l’école, j’ai pas d’astreinte, souplesse sur les horaires (rdv le soir, une course à faire), compréhension des problèmes de tous les jours (au mois de janvier j’ai dû être absent environ 8 jours : Malade, enfant malade).

J’organise mon temps et mes tâches en toute autonomie. J’essaie de regrouper mes interventions en datacenter, je priorise. Je dois bosser en moyenne 7h30 par jour et prendre 45 mn pour manger.

Le stress a quasiment disparu de ma vie (je pense qu’une petite dose de stress/peur est salvatrice lorsqu’on bosse sur des serveurs en prod, on évite le fail en s’assurant bien de ce qu’on fait). On ne me donne pas d’ordres, c’est plus proche de consignes, de tâches qui me sont attribuées. On est dans la coopération, le travail en bonne intelligence. J’ai fait des erreurs, on en parle, on ne le reproche pas, on réfléchit collectivement pour que ça ne se reproduise pas (Wiki, explication, sources d’amélioration).

Dans mon précédent job je commençais à 8h00 au bureau. Parfois j’étais en bad car je ne voyais mon fils que le soir (parti au boulot avant qu’il se lève). Un détail, le genre qu’on apprécie avec l’âge.

Je passe ma journée sur des serveurs Debian, on utilise que des logiciels libres, je suis sur Mint en poste de travail, pas mal d’outils maison à prendre en main.

J’ai plus de temps, je suis plus à la cool, je prends confiance.

J’ai eu mon entretien annuel début janvier : Augmentation, prime exceptionnelle, surtout ils m’ont renouvelé leur confiance et passé responsable datacenter.

Je fais ce que j’aime, je suis payé pour, dans le bon environnement (collègues, valeurs de la société, façon de traiter les employés). Je vous souhaite sincèrement de connaître ça un jour, c’est tellement mieux que toutes les expériences professionnelles que j’ai eu.

Progression

J’ai progressé sur tous les points de mon périmètre. J’ai beaucoup appris par moi-même, en lisant, en faisant de la veille. Là je comprends (enfin et mieux) parce que je pratique. Je commence à bien gérer, pour autant c’est loin d’être carré. Je vais mettre mon grain de sel, être force de proposition et vu la liberté qui m’est accordée clairement faire à ma sauce et marquer de mon empreinte.

Mes penchants naturels n’ont pas beaucoup changé : Ligne de commandes, Bash, scripting, « bas niveau » (matériel, compréhension/utilisation de Linux), les trucs haut niveau ne m’ont jamais vraiment intéressés il est fort probable que je ne vous parle jamais de haute dispo, redondance de ouf… par contre on parlera Architecture. J’ai partagé assez peu des connaissances que j’ai accumulé : 1/ J’attends en général plusieurs mois avant de parler d’une solution afin de l’éprouver 2/ Je suis pas vraiment quelqu’un de pressé 3/ Je laisse s’accumuler les connaissances, je contrôle et cherche mieux puis je trie/range 4/ Ça viendra ensuite (en théorie)

La différence fondamentale avec un autre job est la grande liberté/autonomie/confiance qu’on me donne. Mes trois plus grosses missions sont vouées à rester mais plus je monterai en compétence, plus je les ferai vite et bien, me laissant plus de temps pour les trucs plus fun comme les projets, tester de nouveaux outils, sortir des alias/scripts. J’ai déjà joué avec beaucoup de choses : Les tools bcc, ipmitool, les outils pour stresser le matériel, chrony, les compilations, rsyslog, dmidecode, dnsdist…

Être et avoir

Niveau boulot je suis un peu tout en haut de la montagne mais la vie est plus vaste.

Quand je m’ennuie, je déprime et tourne en rond. Je m’ennuie assez souvent, trop de tâches récurrentes. Le jour viendra où je m’ennuierai trop… je partirai comme à chaque fois. Ceci étant dit je ne pense pas que ça arrivera avant plusieurs années, j’ai encore tout à disséquer du fonctionnement de Linux et du Libre.

Quand le boulot va, on essaie d’améliorer son quotidien. Le grand objectif de cette année est de déménager, probablement en achetant. Acheter revient à parler de l’avenir, avoir des certitudes sur son travail, son salaire, l’endroit où on veut vivre et élever ses enfants. Des certitudes que je n’ai pas mais pire encore que je ne veux pas avoir. Je veux rester libre de mes choix, de mes envies, de mes erreurs, d’être moi-même.

Le monde change, qui sait comment il sera dans 20 ans, qui sait qui nous serons dans 20 ans ?

Lobbying

samedi 23 février 2019 à 09:00

La corruption c’est quand tu donnes de la tune. Le lobbying c’est quand t’en dépenses. Un commentaire sur Next INpact.

Les dépenses en lobbying des GAFAM en millions d’euros à Bruxelles

Infographie: Les millions dépensés par les GAFAM à Bruxelles | Statista

Sources :
https://fr.statista.com/infographie/10836/les-millions-depenses-par-les-gafam-a-bruxelles/
https://www.nextinpact.com/brief/google-depense-21-millions-de-dollars-en-lobbying-a-washington–et-donne-2-millions-a-wikimedia-7456.htm

Les dépenses en lobbying des GAFAM en millions de dollars aux États-Unis

Sources :
https://siecledigital.fr/2019/01/24/etats-unis-gafam-depense-lobbying-2018/
https://www.forbes.fr/business/google-a-depense-18-millions-de-dollars-en-lobbying-a-washington-en-2018/

Microsoft France renforce son partenariat avec le Ministère de l’Éducation nationale

Alain Crozier, Président de Microsoft France et Najat Vallaud Belkacem, Ministre de l’Éducation nationale, de l’Enseignement supérieur et de la Recherche, ont signé le 30/11/2015 un partenariat afin de contribuer à la réussite du Plan Numérique à l’École. 13 millions d’euros seront ainsi investis par Microsoft pour le développement du numérique éducatif : l’accompagnement des enseignants et des cadres de l’éducation, la mise à disposition de plateformes collaboratives, ainsi que l’apprentissage du code informatique.

Sources :
https://news.microsoft.com/fr-fr/2015/11/30/numerique-a-l-ecole-microsoft-france-renforce-son-partenariat-avec-le-ministere-de-l-education-nationale/
https://www.nextinpact.com/news/97521-plan-numerique-l-education-nationale-s-associe-a-microsoft.htm

Aujourd’hui dans les bacs

Les yeux rivés sur le partenariat noué avec Microsoft en 2015, les élus du groupe LFI dénonçaient la « mainmise des entreprises privées, notamment des GAFAM », sur les outils numériques utilisés au sein de l’Éducation nationale.

« Les enfants apprennent très jeunes à se servir de ces logiciels et seulement ceux-là. En conséquence, dans leur vie d’adulte, ils ont tendance à acheter des matériels pourvus des logiciels qu’ils connaissent déjà et dont ils savent se servir. Les entreprises privées s’assurent ainsi une clientèle quasi captive », a de nouveau regretté Bastien Lachaud, vendredi, lors des débats en séance publique.

Tous les amendements sur le logiciel libre ont été rejetés par l’Assemblée nationale, sans plus de débats.

Sources :
https://www.nextinpact.com/news/107618-lassemblee-rejette-amendements-sur-logiciel-libre-a-ecole.htm
https://www.developpez.com/actu/246675/Le-ministre-de-l-Education-et-l-Assemblee-nationale-disent-non-a-la-priorite-au-logiciel-libre-pour-l-enseignement-scolaire/

Autres sources :
https://www.lemonde.fr/les-decodeurs/article/2019/03/10/oui-des-multinationales-privees-financent-bien-des-partis-politiques-europeens_5434014_4355770.html