Une nouvelle histoire de l'Odieux Connard !
J'ai lu il y a quelques jours que si les élections devaient avoir lieu maintenant, on retrouverait Macron et LePen au second tour (et sûrement Mélenchon et un mec de droite en troisième et quatrième places). Je trouve ça réconfortant, car ça confirme le choix des Français pour une politique à l'américaine où chacun s'occupe de son petit nombril.
Remarquez, ça fait 50 ans que ça dure. A un moment donné il faut se rendre à l'évidence. Les Français ne veulent pas d'un système par répartition, où les richesses du pays sont mises à contribution pour soulager la population. Les grands services publics mis en place après la guerre n'ont finalement été qu'une anomalie de parcours, et tout est fait pour les faire disparaître.
Si les Français ne veulent pas se battre pour conserver leurs conquis sociaux, pourquoi faudrait-il le faire à leur place ?
Quand on apprend qu'il faut acheter un timbre à 25 euros pour pouvoir faire une déclaration de perte de carte d'identité (sans quoi la nouvelle ne peut pas être créée) ...
Objectif : extraire un fichier de sous-titres d'un fichier mkv et le convertir en srt.
ffmpeg -i mon_fichier.mkv
Stream [#0:XX](https://animal.cakeozolives.com/./add-tag/0:XX).... Par exemple :Stream #0:9(fre): Subtitle: hdmv_pgs_subtitle
C'est le flux de sous-titres que je veux extraire. C'est le 9ème, et c'est un flux de sous-titres au format image.
Note :
Subtitle: subrip signifie que le flux de sous-titres est au format texte;Subtitle: hdmv_pgs_subtitle signifie que le flux de sous-titres est au format image.Comme mon flux contient des sous-titres au format image, je dois demander à ffmpeg de simplement extraire (copy) le flux de sous-titres numéro 9 (-map 0:9) dans un fichier nommé sub.sup :
ffmpeg -i mon_fichier.mkv -c copy -map 0:9 sub.sup
Note : pour extraire un flux de sous-titres au format texte, la commande est identique à ceci près qu'il faut indiquer un format de sortie adéquat (ex: sub.ass ou sub.srt). En effet, le format de sortie est déterminé par ffmpeg selon l'extension du fichier de sortie.
Dernière étape, je dois convertir ce fichier de sous-titres au format image (sub.sup), en sous-titres au format texte (sub.srt). Pour cela, je peux m'amuser avec mkvtoolnix, ou bien je peux aller sur ce site :
Convert;Edit : la conversion du fichier de sous-titres au format image en sous-titres au format texte implique le traitement du premier par un outil de reconnaissance de caractères (OCR). C'est pour ça que le choix du site web m'a paru le plus rapide à utiliser. Sinon il faut choisir le bon outil de OCR pour mkvtoolnix et faire des tests...
Ajouter dans la balise build le plugin spring-boot-maven-plugin ainsi :
<build>
...
<plugins>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.3.RELEASE</version> // or your version
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
Tous les mots-clefs utilisables pour créer les méthodes findByXXX de JPA.
@Antichesse Oui il était tard, bien vu. Bien sûr qu'il faut pousser sur maBranche sur le remote. C'est corrigé.
Pour squash et rebase :
1) Se placer sur la branche master (ou main si ça vous chante) et la mettre à jour :
git checkout master
git pull origin master
2) Se placer ensuite sur la branche à rebaser :
git checkout maBranche
3) Décider du nombre de commits à squasher (ici 5) :
git rebase -i HEAD~5
Ou trouver le hash du commit précédant le premier commit à squasher :
git rebase -i b0ce09a46ae1e130141f11841cd66db000a4712b
4) Pousser le code sur le remote :
git push --force origin maBranche
5) Ne pas hésiter à remettre à jour la branche master. Puis revenir sur la branche maBranche et rebaser sur master :
git checkout master
git pull origin master
git checkout maBranche
git rebase master
6) Résoudre les conflits de merge avec l'éditeur de texte qui va bien, puis pousser vers le remote :
git push --force origin master
7) Finalement, retourner sur la branche master, merger la branche maBranche et pousser les commits vers le remote :
git checkout master
git merge maBranch
git push origin master
Voilou !
Un aide-mémoire sur les caractéristiques et les attendus des différentes requêtes sur une api RESTful.
La simple mention de Georges Soros a immédiatement valu à Newt Gingrich d'être censuré par les intervenants de l'émission. Pour info, il souhaitait parler du financement par Soros des campagnes de procureurs à travers tout le pays, dans le but avoué de "remodeler le système de justice Américain". Lesquels procureurs "progressistes" sont encouragés à réduire les peines de prisons voire même à les supprimer. Gingrich allait évoquer les conséquences des mesures prises par les procureurs Soros-compatibles sur la criminalité en hausse actuellement, et sur l'impunité qui règne en ces temps de BLM, quand il s'est fait sèchement coupé la parole.
Un exemple de mise en place de relation many-to-many.
Sources disponibles ici
Encore une surprise fumante de JPA.
Dans mon cas il s'agissait d'une relation many-to-many. Et l'erreur rencontrée était en effet une récursion infinie, qui concrètement se matérialisait par l'envoi d'un JSON dans lequel une ressource A contient une ressource B, qui est contenue par ressource A, qui contient une ressource B ...
Le plugin RESTED m'indiquait gentiment que du fait de la taille excessive (>20ko) du JSON, il devait enlever la coloration syntaxique.
Bref.
Pour résoudre le problème, il faut ajouter une annotation @JsonIgnore au dessus de l'attribut annoté @ManyToMany de l'une des deux entités de la relation l'entité owner de la relation (Edit: merci @Antichesse).
Plus d'explications ici
Pour savoir quand un OS Linux a été installé :
sudo tune2fs -l /dev/sda1 | grep 'Filesystem created:'
Pour mémoire. Je connaissais le hard reset, pour supprimer le dernier commit :
git reset --hard HEAD~1
Mais il existe aussi le soft reset :
git reset --soft HEAD~1
La différence ? Le hard reset supprime à la fois le commit et les changements (dans le code). Alors que le soft reset supprime le commit mais conserve les changements correspondants (ceux-ci reviennent dans l'état "uncommited").
Comme les cartes SD supportent mal les coupures de courant, j'ai dû procéder à la réinstallation de l'OS (une raspbian en l’occurrence).
Et là ... surprise !
Le service ssh n'est plus activé par défaut. L'argument invoqué est que les noobs ne changent pas systématiquement le mot de passe par défaut de l'utilisateur par défaut :
Du coup leurs raspberry sont des cibles privilégiées pour les bots et sont susceptibles de rejoindre l'armée de machines zombies contrôlées à distance par d'autres noobs qui s'amusent à pirater la sécu ou la clinique du coin. #PertinenceSur20
Bref.
Même si je peux comprendre l'arbitrage fait par raspbian (qui consiste finalement à protéger tout le monde du laxisme coupable des noobs qui ne changent pas le mot de passe), c'est carrément lourdingue d'avoir une machine headless sans accès ssh par défaut. Car on fait comment quand on n'a pas d'écran autre que ceux des ordinateurs portables ?
Donc, pour activer le ssh, il y a toutes les méthodes qu'on peut imaginer et qui nécessitent un écran. Et puis sinon, on peut aussi le faire dès la création de la carte SD. Pour cela :
passwd
Note: il ne faut pas créer le fichier ssh dans le /boot de la partition rootfs. En effet, la partition boot va être montée sur le répertoire /boot. Du coup les fichiers présents seront invisibles pour l'OS.
Réalisons bien tous une bonne fois à quel point le parti démocrate est prêt à tout pour gagner.
Vivement les élections.
Dix minutes pour comprendre ce qu'est un Dockerfile, à quoi ça sert, et ce qu'on peut faire avec.
Les gens semblent choqués par cette scène. Mais à la place de cette femme, je serais totalement convaincu par la justesse des vociférations arguments de la meute foule qui la menace l'interpelle sur l'obligation la nécessité d'avouer de reconnaître son crime d'être blanche statut de personne blanche oppressive.