To content | To menu | To search


Saturday 7 March 2020

In the dark (2)

Cela fait quelques mois que j'ai succombé à la hype du thème sombre et jusqu'ici ce n'est que du bonheur, je n'ai aucune envie de revenir en arrière.

J'ai mis toutefois un peu de temps à comprendre pourquoi la moitié des applis restaient désespéramment en mode clair, ou qu'il fallait forcer le thème: je n'avais configuré que GTK , et pas QT...

Et après sélection du thème qui va bien (Adwaita-Dark, qui a le bon goût d'être disponible en GTK et en QT)...ça ne marchait pas non plus. il faut dire qu'il y avait un gros warning dans l'interface:

J'ai donc mis la variable:

export QT_QPA_PLATFORMTHEME="qt5ct"

dans mon .profile et j'ai redémarré la session. Ô magie, les applis récalcitrantes sont maintenant en mode sombre !

Prochaine étape: le smartphone. Mais ceci est un autre billet de blog.

Billets connexes

Saturday 28 December 2019

In the dark

Sachez-le, l'année 2020 qui vient verra l'avènement du mode sombre sur le mon bureau (ou pas)

J'étais un peu réticent devant cette nouvelle, heu, mode, trouvant les sites et softs sur fond noir de hax0r un peu sinistres. Et paradoxalement, j'ai toujours travaillé avec des terminaux sur fond noir alors bon...

J'ai donc re-tenté l'expérience, après une première courte tentative il y a quelques mois, non concluante pour cause de manque d'intégration. Et bonne nouvelle, il y a quand même du mieux de ce côté là.

Voici ce qui marche / marchotte / marche pas jusqu'à maintenant:

  • Bureau: XFCE propose pas mal de thèmes en version dark: Adwaita-sombre (que j'utilise), Arc-Maia-Dark, Matcha-dark...
  • Musique: J'utilise Clementine, il ne réagit pas au thème, il faut aller dans les préférences et inverser les couleurs.
  • Réseaux sociaux: J'utilise Atomic-TweetDeck pour Twitter et Whalebird pour le fédivers. Tous deux ont un thème sombre, mais je cherche toujours un client unifié pour les deux réseaux.
  • Mails: J'utilise Thunderbird, il n'a pas directement reconnu le thème, mais en forçant le thème sombre partout ça marche, y compris dans Lightning. Le plugin de notification de mail, par contre, s'obstine à afficher les sujets des mails...en blanc sur fond blanc (du coup ça sert un peu à rien)
  • Web: Chrome et Firefox sont plutôt bien intégrés (prise en compte du thème global), cerise sur le gâteau, une media-query prefers-color-scheme permet d'adapter les sites, mais ça n'a pas encore très répandu, à part Twitter qui se pare de magnifiques teintes marines. Pour les récalcitrants quelques plugins peuvent compléter l'expérience.

Au final pas mal de bricolage, mais la combo thème sombre/Redshift est bien reposante, je vais garder ça pour voir.

NB: Premier billet écrit en Markdown (c'est pour ça que j'ai pas pu placer une vidéo qui va bien, ça marche pas, dommage), ça aussi il va falloir que ça se généralise en 2020.

Billets connexes

Thursday 12 December 2019

Le graph c'est la vie (5)

Suite de la grande saga "Le graph c'est la vie": dans un épisode précédent, je me lançais à corps perdu dans l'export de données Android. Cela marchait plutôt bien mais avait un gros désavantage, celui de vider la batterie plutôt très rapidement à cause du serveur ssh. Je ne le lançais qu'à l'occasion, c'était chiant.

J'ai donc changé de stratégie, en utilisant la crontab le job scheduler de Termux, c'est cette fois le téléphone qui envoie lui-même ses données à un serveur. Ledit job scheduler ne tourne que quand le téléphone est allumé (comprendre: pas en veille), et consomme en tout cas beaucoup moins que ssh. Il s'active au boot grâce au bien nommé module Termux:Boot. J'en ai profité pour exporter également mes sauvegardes du plus grand jeu de cliquage de cookies du monde, qui sont ensuite versionnées côté serveur et gardées une dizaine de jours. Confort.

Évidemment il faut garder à l'esprit qu'il y a une connexion sans mot de passe sur un terminal mobile (et donc volable...) directement sur votre serveur préféré. Il est donc conseillé de blinder un minimum la connexion, voir cette excellente page pour la partie ssh (suivi d'un non-moins excellent commentaire, point-virgule-parenthèse-fermante), qu'on peut évidemment compléter avec un pare-feu et autre fail2ban.

Billets connexes

Saturday 26 October 2019

Et paf le serveur

Samedi dernier, alors que je n'avais pas vraiment que ça à faire, mon serveur secondaire, qui fait également office de simili-preprod, est tombé en panne: plus d'accès même en "secours", et rien sur le KVM d'Online. Il faut dire que les sondes S.M.A.R.T étaient en alertes depuis un bout de temps, donc je suppose que le disque SSD a fini par rendre l'âme.

Après contact du support, le diagnostic a été aussi simple qu'implacable: contrairement à OVH qui eux, remplacent le disque quand il est en panne, là il faut changer la machine. Problème, le modèle en question (un Start-2-S-SSD) n'est plus disponible... Ils m'ont donc proposé d'en choisir un autre, j'ai donc opté pour le même que mon serveur principal, un Start-2-M-SSD. Résultat un tarif passant de 9,99 € HT/ mois à 24,99 € HT/mois, ça reste vivable mais après la dernière augmentation de tarif ça commence à faire un peu mal au c*l.

Le support a été réactif et m'a livré la nouvelle machine dès le lendemain. Seul point positif de l'histoire, j'ai maintenant accès au réseau RPN d'Online, qui n'était pas disponible sur les Start-2-S-SSD, ce qui me permet de ne plus faire passer mon tunnel IPSec par les interfaces publiques. C'est tout de même plus propre.

Note: j'aurai pu mettre un "Et $PATH le serveur" comme titre, mais il ne s'agissait pas d'un problème de chemin. Soyons précis.

Tuesday 27 August 2019

Scrobleubleu

Il y a quelques jours le scrobbling de mon last.fm perso c'est arrêté pour cause d'erreur SQL bien foireuse. Ayant un peu la flemme de débugguer du code legacy-de-chez-legacy, je me suis dit que c'était l'occasion du passé de faire table rase, et de passer de MySQL à un vrai SGBD.

Je relance donc une installation de gnukebox, afin de créer la structure de la base, puis je crée un utilisateur. Reste à exporter les données de last.fm...

Et c'est là que ça se corse: le script d'export n'est visiblement pas capable de ramener plus d'une page, soit cinquante scrobbles par défaut. Et si on augmente le nombre de scrobbles au dela de mille, on se prends une erreur fatale du serveur. Bref, je suis pas arrivé avec mes 128 000+ scrobbles moi !

J'ai fini par trouver un script corrigé en python3 qui lui ramène tout, même si c'est très lent (une page par seconde, limité par l'API). Un autre script était beaucoup plus rapide mais ne générait pas un dump formaté pareil, donc je n'ai pas tenté.

J'ai un peu déchanté durant l'import dans la base de donnée, car le fichier n'est pas trié par date, et surtout que ladite date...est une date: et comme ce n'est pas un timestamp, c'est bien galère à trier (bienvenue au XXIème siècle). Effet de bord , la reprise du scrobbling à généré une cinquantaine de doublons (une page, si vous avez suivi...) car il semble comparer la page de résultat aux derniers enregistrements en base,qui, manque de bol, ne sont pas à la fin.

Bref ça sera bien suffisant, après tout les doublons sont une plaie pas si rare chez last.fm, on va donc pas se pleindre.

Reste encore à corriger les panneaux Grafana, ça va me faire pratiquer le SQL tiens (joie...)

Billets connexes

Wednesday 14 August 2019

Cookie Tapper

ccm.jpg, août 2019
"It begins." -grandma

Bah voila, je soignais péniblement mon addiction aux cookies quand patatra, la version mobile a débarqué il y a quelques jours à peine.

Et là c'est le drame, un jeu toujours aussi bien foutu, avec des règles légèrement adaptées pour s'adapter au mobile (le jeu produit 100% de cookies même fermé, car les auteurs "se soucient de la batterie" <3 ).

Bref, même si il s'agit d'une beta (attention aux nombreux clones qui pullulent sur le Play Store...) et qu'il manque encore pas mal de fonctionnalités (dont certaines ne seront pas portées, comme les minigames), c'est un putain de bon jeu, si vous aimez les idle-games bien sûr.

Billets connexes

Saturday 22 June 2019

1000 jours (2)

cookie_clicker_cc2019-06-22_10-12.png
J'ai cru que j'y arriverais jamais

 

Ce fut long et (pas vraiment) chiant: j'ai finalement atteint les 100% d'achievements sur Cookie Clicker. Et même si le jeu n'a pas vraiment de fin (il est toujours possible qu'Orteil en ajoute de nouveaux, même si il est pas mal pris par la version mobile), il m'aura fallu un peu moins de 1228 jours, tout de même, pour y arriver. C'est donc en quelque sorte un point final à une grande aventure 🙂

Quelques regrets néanmoins:

  • "Seulement" 9 shadow achievements sur 14: il manque Speed baking III (trop dur), Endless cycle (trop long), All-natural cane sugar (trop pas de chance), When the cookies ascend just right (trop tard je gagne trop), ainsi que Four-leaf cookie (faisable mais trop la flemme là)
  • Je n'ai pas passé le cap du nonillion de cookies en banque (septendecillion en échelle longue, soit 1054). J'aurais peut être pu y arriver en cumulant deux Building Specials de suite (que j'avais vu venir avec le FtHoF Planner) avec un autre Building Special ainsi qu'un Frenzy, mais comme un con je n'ai pas eu le réflexe de sacrifier un Sugar lump pour en profiter 🙁

Reste à savoir ce que je vais faire de tout ce temps libre maintenant !

Billets connexes

Thursday 13 June 2019

Le graph c'est la vie (4)

InfluxDB c'est formidable mais dans l'euphorie du moment, je n'ai pas vraiment limité la fréquence des données stockées dedans.

Résultat en trois petits mois, une base de 15 Go. Plus 15 Go de backups.

La solution proposée par la doc d'InfluxDB est d'avoir plusieurs niveaux de rétention (un jour, une semaine, un mois...) et une fréquence adaptée à la période, avec des requêtes continues qui font la conversion à la fin de chaque cycle de fréquence.

Problème, ces requêtes changent le nom de la valeur pour indiquer qu'il s'agit d'une moyenne (value devient mean_value), et il faut changer toutes les requêtes de Grafana. Celui-ci permet tout de même de paramétrer une période histoire de pas modifier les requêtes à chaque fois, mais malheureusement la seule solution que j'ai trouvé pour que ça fonctionne un peu proprement nécessite des paramètres spécifiques à Grafana 6.

Pas la peine de vous dire qu'actuellement la dernière version disponible sous FreeBSD, et celle que j'utilise, est la 5 😞

Plus qu'à attendre que le nouveau port soit intégré à l'arbre pour finaliser tout ça donc.

Billets connexes

Friday 31 May 2019

Archéologie numérique

J'ai retrouvé des feuilles contenant le code source d'un programme C daté de février 2000, autant dire que ça ne nous rajeunis pas.

Un truc que j'aurais pu récupérer directement sur mon tout premier site (dont j'ai malencontreusement perdu les clés...) si l'archive était fonctionnelle. Sans doute une sordide histoire de mode binaire lors de l'upload en FTP. Au passage, numérique 0 - papier analogique 1, qui reste quand même un putain de support de sauvegarde 🙏

Ce programme servait à calculer l'espace pris par un dossier ou une arborescence. Les plus perspicaces me feront remarquer que c'est ce que l'utilitaire du(1) fait, oui mais j'étais jeune et je venais de Windows à l'époque, et je ne savais pas qu'une telle perle pouvait exister. Tout le monde peux faire des erreurs.

BREF j'ai scanné et OCRisé le tout, d'ailleurs sous Linux cette dernière opération est toujours aussi merdique, même le premier site venu fait mieux que tesseract-ocr, pourtant la Rolls du genre, à l'heure ou la numérisation et la reconnaissance optique commence à s'industrialiser chez d'autres.

Une fois le tout réassemblé et corrigé, en enlevant les warnings (que je codais salement à l'époque...), ça compile. Malheureusement le résultat est foireux, je ne sais pas si c'est parce que le code est tordu ou parce que l'OCR a introduit des bugs.

Au final je l'ai inclus dans mon dépôt fourre-tout de scripts, pour la postérité, pas sûr que ça serve à autre chose 🙂

Monday 20 May 2019

Le graph c'est la vie (3)

J'aime pas trop faire du sport, mais il faut admettre que je marche pas mal. Du coup il y a une paire d'années j'ai installé un podomètre sur mon téléphone: Pacer.

Et puis je suis tombé amoureux de Grafana, je veux tout faire avec elle, graffer les choses les plus improbables jusqu'au bout de la nuit.

Malheureusement aucune possibilité d'exporter les données de l'appli Pacer... après avoir tenté sans succès de synchroniser les données avec le site puis d'y accéder via leur API, de synchroniser le compte avec Fitbit et de faire de même, j'ai fini par bidouiller un truc un peu sale mais qui, au moins, marche.

Et comme je suis trop sympa les sources sont fournies. C'est un début, il y a encore pas mal de taf pour rendre ça vraiment confort. C'est sans doute Android-only, je ne sais pas comment marche l'appli iOS, si elle utilise sqlite il y a de bonnes chances que ça fonctionne (retours bienvenus)

Côté implémentation un serveur openssh tourne sur le téléphone avec Termux (je vous cache pas que je flippe un peu pour la batterie...), et la machine hébergeant le script s'occupe de le lancer régulièrement après avoir fait un rsync bien sale de la base sqlite de Pacer. On va dire que c'est du work-in-progress en attendant mieux 🙂

Au final ça donne ça:

marche_ou_creve.png
ça marche 😏

 

Billets connexes

- page 5 of 30 -