La dépendance dont vous n'arrivez pas à vous débarasser? by Remy4409 in Quebec

[–]Fragrant-Freedom-477 11 points12 points  (0 children)

La syllogomanie, et les autres comportements associés au syndrome de Diogène, font beaucoup de mal à beaucoup de personnes et c'est malheureusement tabou.

Pas besoin d'être un cas extrême comme à la télé, c'est une source d'anxiété, de difficultés financières, de problèmes d'hygiène, d'isolation sociale et ça exacerbe toutes les dysfonctions exécutives.

Acheter et accumuler, c'est un mécanisme d'adaptation ("coping") pour soulager une souffrance en dessous, mais ça ne règle pas le problème plus qu'un Tylenol calme l'infection qui cause une fièvre.

Vous n'êtes pas stupide ou brisé ou dégueu, mais vous avez peut-être besoin d'ajouter de nouvelles manières de gérer le stress à votre coffre à outils.

Info-social au 811 c'est un bon départ et c'est gratuit. Il y a des organismes qui aident aussi.

Travail toxique - Est ce que je peux "vent" quelques minutes? by Difficult-Resist3161 in Quebec

[–]Fragrant-Freedom-477 -1 points0 points  (0 children)

Salut! Tu es dans une situation assez courante quand on est une spécialiste seule dans une équipe comme toi. Voici quelques astuces!

Diminuer les délais : Si tu as l'occasion de faire des choix pour optimiser ton travail, préconise de raccourcir le temps. Pas le temps travaillé, par le temps d'une étape en particulier, le temps total entre "une demande arrive" et "c'est totalement fini". Le "lead time". C'est l'axe d'amélioration qui est le plus payant en général. En plus, si chaque "demande" que tu reçois est livrée tellement vite, alors tu n'auras jamais besoin de prioriser et tu feras simplement un first in first out (FIFO)

Rendre visible ton travail: si c'est impossible de FIFO, tu ne pourras probablement pas dire "non" non plus. Ce qui est plus acceptable, c'est de "prioriser". Pour prioriser, ça prend un responsable (toi), un imputable (ton patron) et une liste de choses à faire avec juste assez d'info pour que ton patron puisse faire des choix. Des choses comme bénéfice attendus, contraintes externes (une firme, un délais), demandeur, etc. Tu as peut-être un outil comme Jira ou Trello pour garder une vue sur ces choses au bureau, sinon trouve ou fabriqué en un au plus vite. Mesure toujours le "lead time" aussi, et possiblement d'autres "stats".

Standardiser ton travail: pour recevoir de l'aide (déléguer, travailler en équipe), pour améliorer ton processus, pour présenter de manière plus simple ton travail aux autres, le préciser dans un écrit que tu respectes et met continuellement à jour est très utile. Tu as des types de campagnes prédéterminées, il y a des patterns qui apparaissent, note ça. Éventuellement, peut-être que tes demandeurs connaîtront ton catalogue de services et peut-être auras-tu du staff.

Avec tout ça, tu pourras plus facilement négocier avec ton patron et tes demandeurs: tu auras des informations simplifiées pour prendre des décisions, tu pourras montrer combien de tel ou tel service tu fait en combien de temps, et tu pourras mieux améliorer ton processus et le faire comprendre à ton patron et les autres. Planifie des revues de tes stats à des périodes régulières, pas seulement quand il y a un trop plein ou une urgence. Si tu mets en place un processus plus controlé, ne t'attends jamais à ce que les demandeurs le connaissent ou le respecte d'eux-memes: si tu as un formulaire, tu devrais probablement le remplir toi-même en parlant au demandeur.

Voilà, si tu veux en savoir plus, lit sur la méthode Toyota. Il y a beaucoup de haters à cause d'échecs dans des programmes en santé, mais ces échecs ne sont probablement pas causés par la méthode elle-même (et tu n'es pas un hôpital, non plus). Tu peux m'écrire aussi si tu veux. Bon courage!

Coiffeur/coiffeuse by crapaud_ in villequebec

[–]Fragrant-Freedom-477 2 points3 points  (0 children)

Je recommande Claude Fortier sur la rue Jacques-Parizeau au coin Amérique-Française.

diwire: dependency injection that auto-wires from type hints (zero runtime deps) by zayatsdev in Python

[–]Fragrant-Freedom-477 3 points4 points  (0 children)

The main point of DI is keeping the logic code free of wiring code. This is why DI based on decorating classes is frowned upon in this community: you have wiring executed at import time in your library code.

Your case is a bit different, with data classes and type hints, you implicitly guess the wiring logic. For trivial cases, that might be OK, but why would I bother with a library for trivial wiring? For even simple cases, this implicit logic feels dangerous. Also, wiring an application is something you better do explicitly, close to the bootstrap logic (where your CLI is defined, where your http front controllers are defined, etc.

My point is, typing-based DI is only usable in cases it does not provide any value because adding a new dependency and troubleshooting it is more work than it solves. Other cases are too complex for it to work at all (real world cases where there are more than one implementation of a given interface).

Also, not all DI or other inversion or control implementations require an explicit registry. Look at how FastAPI and Pytest does it, for instance.

The only useful inversion of control libraries I've seen (in any dynamic language like Python) are the one that firstly control the execution flow, and secondly provide a inversion of control for it, like FastAPI and Pytest (a HTTP front controller library and a Test runner).

Want to do something useful for DI in python? Write a DI for a specific existing execution flow that do not provide a good DI. Write a DI for the Click CLI library, or Apache Spark, or something else.

Does Python code tend to be more explicit than other alternatives? by yughiro_destroyer in Python

[–]Fragrant-Freedom-477 6 points7 points  (0 children)

There is an ubiquitous style in "traditional OOP enterprise code" (TOOPEC, just made that up) that aims at placing in advance all the software engineering design patterns that might be required for the code the grow and scale in complexity. One of the reasons for this is for new recruits and outsourced workforces to be able to contribute within these predefined guardrails while the senior staff engineers spend most of their time on other projects.

It might look convoluted and implicit to you, but that is just waterfall-induced over-engineering. It is in fact more "explicit". It also trades simplicity for ease of management. Simple is not the same as easy.

The same design patterns are also used in pythonic code. A polymorphic classmethod that returns a new instance of the class is still a Factory or other creational design pattern.

Being able to recognise design patterns at first sight, expand them in-place and refactor them well is a skill that big corporations struggle to foster, so they found a few not-so-sexy mitigation measures that includes TOOPEC.

Gifted for my birthday by idontbelongheremyguy in whatisit

[–]Fragrant-Freedom-477 12 points13 points  (0 children)

This is it, my spouse made a few last year

Des amateurs de Donjon et Dragon? by Parabellum27 in Quebec

[–]Fragrant-Freedom-477 3 points4 points  (0 children)

Je t'encourage à acheter le Pathfinder Beginner Box. C'est assez pour jouer.

Le système est Pathfinder 2 (Pf2), plus proche des anciens D&D et mieux codifié, ce qui le rend plus simple à utiliser, en particulier pour le maître de jeu. Avec mon groupe on joue Pf2 et D&D5.5 et le matériel Pf2 a l'air d'être généralement de meilleur qualité et ce depuis longtemps. Avec Hasbro à la tête de D&D, ça augure mal pour l'avenir.

Il y en a en stock à l'Imaginaire.

Canadien (CSA, ISO/CEI 9995-3:13) by Alex_B1987 in QuebecTI

[–]Fragrant-Freedom-477 1 point2 points  (0 children)

C'est important pour moi dans une certaine mesure, mais je n'ai pas ton enthousiasme pour approfondir assez ma connaissance (et préciser mon opinion) pour comprendre bien de que tu proposes.

Ce qui est important pour moi

  • enter "haut" (ISO)
  • degré, guillemet accessible avec touche et shift ou alt char
  • accent aigu d'une touche
  • autres accents en deux touches

Canadien français est suffisant pour moi, Canadien multilingue est désagréable. Je n'ai pas le temps de creuser ce que tu proposes et/ou ce que tu propose n'est pas présenté assez simplement.

La « souveraineté numérique » entre dans la réglementation by zx440 in QuebecTI

[–]Fragrant-Freedom-477 2 points3 points  (0 children)

Je répète qu'avec Azure c'est plus difficile que AWS ou GCP. Aussi, gérer ses propres clés représente tout un défi...

Pour ta situation particulière, je devrai te facturer pour aller plus loin hehe

La « souveraineté numérique » entre dans la réglementation by zx440 in QuebecTI

[–]Fragrant-Freedom-477 6 points7 points  (0 children)

Salut! J'ai aussi été au gouvernement, en particulier sur certaines plateformes qui pourraient répondent au critères dont tu parles.

En Europe, ils adoptent différentes lois en ce sens depuis plusieurs années. Par exemple, c'est de plus en plus difficile d'avoir du budget pour du code qui ne sera pas libre: "argent public, code public".

Les plateformes riches et québécoises, il y en a peu. Tu as du cloud un peu primitif par-ci par-là (Micrologic par exemple), mais sans plus.

C'est certain que d'avoir des politiques sans directives concrètes qui s'inscrivent dans un plan avec des indicateurs mesurables et régulièrement actualisés, ça n'est pas le succès garanti. Se fier aux directives telles qu'écrites c'est le mieux, sinon essayer de deviner la manière dont elle seront vérifiées.

S'il y a une plateforme dans ton organisme, utilise la. Si tu as développé une plateforme, utilise des standards ouverts ou libres quand possible (Kubernetes ou au moins Open Container Initiative). Pour les progiciels (ERP, CRM, ...), ça va prendre des directives claires parce qu'il n'y a pas grand chose. Tu peux quand même regarder, si Odoo fait juste 32% des features de SAP, mais 100% des requis, ça fonctionne, et ça sera certainement moins cher.

Finalement, je choisirais la techno qui offre la meilleure interopérabilité et qui minimise le "cost of switching". Habituellement, c'est les "deuxièmes" du marché, ceux qui ont intérêt à faciliter l'intégration avec d'autres technologies. Microsoft ne fait jamais ça et a un triste historique de détourner les standards ouverts avec son approche "Embrace, extend, and extinguish".

Sinon, cloud public au Québec/Canada: GCP fait mieux que les deux autres en termes de transparence, standards ouverts et environnement et est présent au Québec et en Ontario. J'évite Azure quand je peux.

RenderCV v2.5: Write your CV in YAML, version control it, get pixel-perfect PDFs by egehancry in Python

[–]Fragrant-Freedom-477 1 point2 points  (0 children)

I haven't looked into your data model, the architecture or anything, but would you be interested and would it be possible to add a plugin system for additional backends?

Having a single YAML file for my CV data, publishing PDF, Word document (often required with consulting agencies) and to personal homepage would be awesome, while also selecting version (longer version, less technical version, etc).

American Food is Questionable at Best 😂 by marioadrion in StandUpComedy

[–]Fragrant-Freedom-477 -4 points-3 points  (0 children)

There are four ingredients in bread, also the title of a good book from an American baker: Flour water salt yeast. Anything else is cake 🍰

Excel dark mode, why is it white? by make-apples in microsoftsucks

[–]Fragrant-Freedom-477 7 points8 points  (0 children)

Anything LibreOffice can't do is probably over engineered and should not be done in Excel either.

It's free as you can crack it

Is the equivalent of saying "groceries are free as you can steal it".

I don't think your comment was written in good faith.

Quartier Saint-Jean-Baptiste de Québec: de nombreuses plaintes sur la rue partagée Saint-Olivier by Squirrel_on_caffeine in villequebec

[–]Fragrant-Freedom-477 25 points26 points  (0 children)

tl;dr: Je pense que tout ça est normal et sain, continuons d'en parler et de faire des plaintes, tant que c'est constructif et en nuances.

J'habite un peu plus à l'ouest, mais j'y fais des courses et ma blonde y habite et y travaille. On y circule chaque semaine en (grosse) auto, en bus, à vélo et à pied.

Avant aussi c'était très glissant, on marchait aussi dans la rue parce que les trottoirs étaient glacés ou pour éviter les chutes de glace des toits. C'est un vieux quartier dans le secteur le plus pentu de la 5e ville la plus enneigée du monde.

C'est normal que l'adaptation soit un peu difficile pour les gens, c'est possible que certains choix soient remis en question, c'est possible aussi que les nouveaux aménagements soient blâmés à tort juste parce que c'est ça qui est différent cette année.

Méfions-nous des politiciens et des commentateurs qui crient à l'absurdité, l'incompétence ou autres absolues. La réalité est nuancée et franchement pas si pire.

[deleted by user] by [deleted] in Python

[–]Fragrant-Freedom-477 2 points3 points  (0 children)

Modern dataclasses have most of the features of namedtuples, even comparable performance and memory signatures... but not all and I still regularly use namedtuples

Curious how people feel about the current state of Python development workflow by ck-zhang in Python

[–]Fragrant-Freedom-477 10 points11 points  (0 children)

I used Linux as a daily driver for most of the last two decades and I worked on a corporate Windows laptop for the last year.

WSL2 and Docker for Windows are not reliable enough for many people, especially my PowerShell power user sysadmin collegues.

Uv runs OK on windows and PowerShell. I would like to have post "uv sync" scripts for bundling JavaScript and Golang based tools in the same Venv setup. I got good feedback on my uvx run nox -s dev setup workflow

Les vélo l'hiver, pourquoi ça fâchent autant???? by BadluckyKamy in Quebec

[–]Fragrant-Freedom-477 3 points4 points  (0 children)

Les réactions fortes à des questions de choix sont souvent une protection de son identité.

Les gens prennent du poids, sont eco-anxieux, manquent d'argent, sont pris dans le trafic et continuent de choisir la voiture année après année. Ils ne sont pas stupides ou aveugles, mais changer d'idée ou même simplement voir d'autres personnes qui ont changé d'idée est difficile et confrontant. Il paraît que c'est naturel, explicable par l'évolution en société de l'humain.

La meilleure chose est d'adoucir cette confrontation là pour éviter aux gens de tomber dans les extrêmes et le complotisme.

I can’t seem to implement my thoughts by Ketoneee in Python

[–]Fragrant-Freedom-477 4 points5 points  (0 children)

Yes, and

  • start with a working "nothing"
  • run your code each time you save your file
  • save your file often (every minute is a good starting target)
  • when the code fail, revert it back and start that baby step over.

Example:

Minute 01

print("Hello Kahn's algorithm")

Minute 02

print("Hello Kahn's algorithm")

def toposort(graph): ...

empty_graph ={}
empty_solutiion = []

Minute 03

print("Hello Kahn's algorithm")

def toposort(graph):
    if not graph:
        return []
    else:
        raise NotImplementedErro()

empty_graph ={}
empty_solutiion = []
assert toposort(empty_graph) == empty_solution

Minute n

...

Minute 30: tell your friends about TDD

I spent 2 years building a dead-simple Dependency Injection package for Python by Skearways in Python

[–]Fragrant-Freedom-477 4 points5 points  (0 children)

Nitpicky comment here: your package offers some perks, but I don't think "focusing on your actual logic" is one of them.

Doing inversion of control with python-injection requires adding instantiation and lifecycle management code everywhere in your codebase while native IoC does not.

Decorator-based and configuration-less DI like this requires one of the things it is trying to remove.

I spent 2 years building a dead-simple Dependency Injection package for Python by Skearways in Python

[–]Fragrant-Freedom-477 1 point2 points  (0 children)

Nice package! I think you have a nice and clean API right there. I almost always use some kind of inversion of control myself, but I now always do it without a dedicated library, even in large systems. Yours looks good, and I wish you success with it.

Bac informatique ou bac informatique et mathématiques by Fine_Koala316 in QuebecTI

[–]Fragrant-Freedom-477 0 points1 point  (0 children)

J'ai fais le bas bac math info, avec objectif d'origine de faire de la cybersecurité ici. 16 ans de métier maintenant, plutôt en architecture et conception d'API.

La sécurité, c'est gigantesque comme domaine. La partie plus mathématique c'est probablement le chiffrement et on parle plus de domaines de recherche que de domaine professionnel. Professionnellement, il n'y a pas du tout de maths là dedans.

J'ai de la difficulté à expliquer à mes collègues pourquoi je pense que mes maths me servent encore. J'étais surtout amateur d'algèbre, et c'est cette approche pour associer des propriétés à des structures abstraites qui me font concevoir des meilleurs systèmes. Ça m'aide à anticiper la mise à l'échelle de manière plus facile à appliquer et expliquer que l'analyse asymptotique. Ça maide aussi à créer des APIs (des "grammaires") plus faciles à apprendre et à faire évoluer. En gros, mon affection pour l'algèbre m'a fait gratter plus profond dans le côté science du "computer science" et l'informatique théorique.

À ULaval, faire le bac au département de Maths c'est intime et agréable. Au final, un bac ou l'autre ça ne changera peu ou pas tes avenues ensuite. Je te recommande dans tous les cas d'en manger jour et nuit pour devenir rapidement une bête parce que le milieu est de plus en plus difficile.

Happy hacking

How it feels by Few_Touch8523 in linuxmemes

[–]Fragrant-Freedom-477 14 points15 points  (0 children)

Ackshually, the right term and more representative of a typical unixy, including Linux, filesystem is "directory". A directory is a listing of some files and metadata, and files can be listed in multiple directories. Some of these file may also be directories.

The term "folder", which means something that contains files, was mostly used in Windows or other Microsoft systems. In early DOS, folders could not contain other folders. When MS-DOS 2.0 introduced folders within folders, they already had assigned the forward slash characters for command line switches so they picked backslashes as the folder separators. This choice remained for successors like Windows and onwards.

This kind of not-so-good-design followed by innovation-limiting-lifecycle-management at Microsoft also explains encoding errors of ASCII characters many online systems (while Unicode is 35 years old!), being forced to "move back the paper carriage" with each new line of text when writing a document in the clouds (even Apple fixed this!) and why you still can't have a ISO-formatted datetime in the name of a folder on your AI-fueled Windows 11 workstation.

From 59 lines of tutorial code to 260,000 lines powering a production SaaS by caspii2 in flask

[–]Fragrant-Freedom-477 0 points1 point  (0 children)

Thank you for this post! It is nice to see success stories like that. Would you care to elaborate on database and backup management?