Merci à Maih.eu pour le lien. Je teste ça cette semaine.

Quand j'ai lu ceci j'ai immédiatement pensé au ministère de la vérité qui détruit les mots dans 1984 en remplaçant "mauvais" et "mal" par "unbon", le contraire de "bon".
Dans cette oeuvre colossale d'Orwell, en simplifiant la langue le ministère de la vérité tente d'empêcher les mauvaises pensées en commençant par rendre le langage moins précis pour tout ce qu'il interdit.
Cela a pour effet de rendre inutilisables les pensées jugées mauvaises car dépourvues de leur sens.
En 2023, "woman" semble être une de ces pensées pour la team Pr0gRèS aux USA. Vous savez, cette condition qui caractérise 50% des humains sur terre et que l'on réduit à un simple ressenti à la con parce que nous ne méritons pas mieux.
J'espère que cette maladie/épidémie mentale ne se propagera pas chez nous 🙏
J'avais commencé à développer un Desktop en VR à partir de mon PS4 VR puis à partir d'un Pico qu'on m'avait prêté. J'ai toujours été limitée par la vision du monde extérieur et ça rendait le truc inutilisable.
Ce casque est quasiment le produit que j'aurai souhaité. Je vais voir s'il y a la moindre chance pour qu'il fonctionne sous Linux et auquel cas, je vais voir pour m'en prendre un.
Attention à l'amalgame.
La plupart des républicains aux USA ne disent pas qu'ils n'existent rien entre les deux sexes. Ils disent qu'il existe bien des enchevêtrements du type XXY (le plus souvent stériles) et que pour eux, il faut bien faire quelque chose qui consiste souvent à opter pour le genre le plus proche au moyen de traitements hormonaux ou d'actes chirurgicaux.
Ce qu'ils dénoncent par contre, c'est la propagande permanente des grands groupes qui pousse des enfants et des adolescents émotionnellement fragiles à se stériliser volontairement en leur suggérant qu'ils sont trans alors que pour l'immense majorité d'entre-eux ce n'est pas le cas.
En réalité, ces mômes traversent une passe compliquée de la vie où ils souhaitent des choses sans forcément en appréhender le poids terrible des conséquences et moi-même j'aurai pu me penser trans ou lesbienne à une époque si j'avais subi l'influence omniprésente des réseaux sociaux et de leurs bulles cognitives.
Finalement 15 ans plus tard, mes enfants sont tout ce qui me pousse à avancer chaque jour et il n'y a pas une seule chose au monde qui puisse me faire changer d'avis ou regretter mes choix de vie car tout m'a conduit à eux, de la moindre bouffée d'air en passant par les ex débiles et les erreurs de parcours.
Bref, le but est de protéger les enfants d'une propagande aux effets globalement néfastes sur des esprits en cours de construction.
Après, et comme dans tout groupe, il y a des extrêmes qui veulent la mort de leurs opposants par pure et simple haine. Mais réduire l'entièreté des républicains américains à ces derniers s'appuie sur le même sophisme qui consiste à penser que tous les musulmans sont des terroristes parce que certains se font péter le caisson de temps en temps...
Rappel :
- La date limite pour déclarer son IR est le 1er juin pour les départements 20 à 54.
- La date limite pour déclarer son IR est le 8 juin pour les départements 55 à 974/976.
Pour les autres, il est déjà trop tard !
Ahhh cet article tombe à point nommé car un collègue m'a fait la remarque que j'ai pas mal défendu Elon Musk dans mes derniers postes sauf que non. Je ne défends pas Elon mais une idée qui parfois est matérialisée dans l'actualité par Elon Musk, mais ici n'est pas la question.
Ici, notre hyper-bourgeois Elon Musk prétend qu'il faut arrêter le télétravail parce qu'il serait profondément injuste vis-à-vis de ceux dont la fonction ne permet pas de télé-travailler et donc... Qu'il faut absolument niveler le niveau de vie de tous vers le bas.
Et ici Elon Musk incarne parfaitement la vision de la bourgeoisie qui se répand ad nauseam dans les grands médias. C'est-à-dire que si un groupe social dispose d'un avantage, alors il faut absolument qu'il le perde pour être l'égale des autres.
Mais à aucun moment nous allons tenter de niveler par le haut... Enfin seulement lorsqu'il s'agit de niveler par le haut le niveau de vie des prolos n'est-ce pas...
Elon est un homme qui a tout et qui ne laisse rien aux autres. C'est un homme méprisable.
Ce qu'il faut retenir c'est que le déficit foncier n'est déductible que de l'ensemble des revenus fonciers.
Toutefois, la première année, il est déductible du revenu global (eg. les salaires) dans la limite des 10 700 € puisque les revenus fonciers sont à 0 €.
Il semble aussi que cette limite des 10 700 € soit pour le revenus global du foyer fiscal. Dit autrement si vous êtes deux investisseurs en concubinage c'est 10 700 € de déductible par concubins, soit 21 400 € ; mais pour un couple marié ou pacsé c'est 10 700 € pour le foyer fiscal.
@Sebsauvage je ne partage pas ton avis. Elon Musk doit appliquer les lois en vigueur en Turquie, tout comme toi et tout comme moi si nous travaillions en Turquie. D'ailleurs nos FAI français censurent des sites web parce qu'ils appliquent nos lois et font ce que le pouvoir leur demande, c'est du pareil au même.
Même si nous trouvons tous les deux cette censure bien merdique, respecter les règles d'un pays ne fait pas de quelqu'un un abrutis ou un débile, bien au contraire.
Tu peux dire que Erdogan est "un étron, un bouffon" dans cette affaire mais pas d'Elon Musk qui n'a aucun pouvoir en Turquie. Par contre, dans ce pays, tu peux dire de lui que c'est un soumis, un faible. Mais alors il faut aussi le dire de la quasi totalité des citoyens turques qui se laissent faire. Et que penser des français qui se font tabasser à la moindre manif depuis 15 ans sans marcher sur l'Élysée le lendemain armés de torches de fourches et de couteaux ?
C'est facile de juger Elon Musk derrière nos claviers mais prenons l'exemple de ce qui est arrivé à Jack Ma (aka Ma Yun en Chine). C'est quand même un milliardaire et PDG d'une des plus grosses corporation du monde (Alibaba) que le gouvernement chinois a ramener au pas aussitôt qu'il l'a ouvert sur la géopolitique chinoise...
Les milliardaires ont du pouvoir via leur argent, mais ils ne détiennent pas le pouvoir pur. Les dictateurs eux, détiennent le pouvoir pur et s'opposer à eux n'est pas le même délire.
Je comprends parfaitement ce que tu ressens car ça m'énerve aussi de voir que dans chaque pays du monde l'étau se ressert sur les peuples. Mais accusons les vrais fautifs tant que nous le pouvons. Ne permettons pas aux monstres de se cacher derrière qui que ce soit.
Le vrai problème ici c'est Erdogan qui a fait censurer ses opposants et a peut-être aussi truqué les élections.
@Gégé totalement d'accord avec toi ! Même remarque au sujet du man sous Linux. Si tu ne sais pas déjà ce dont tu as besoin, alors il ne te sera d'aucune utilité.
C'est un vrai problème d'une manière générale dans le monde du logiciel libre. Les documentations techniques internes au projet sont considérées comme des documentations utilisateurs. Comme s'il y avait un plaisir personnel à apprendre un truc ultra complexe pour une utilisation jetable. À chaque fois ça ce raisonnement me dépasse.
C'est l'un des rares reproches que je fais régulièrement à l'open source.
Je cite l'article :
Pour un associé personne physique
Les dividendes en SCI pour ce type d’associé sont soumis au prélèvement forfaitaire unique (PFU) effectué par l’administration fiscale au terme de la déclaration de revenus. Le taux du PFU est de 30 %, dont :
- 12,8 % au titre de l’impôt sur le revenu ;
- 17,2 % au titre des prélèvements sociaux.
Quant aux dividendes bruts, ils sont soumis au PFU de 12,8 %.
Cependant, un associé personne physique peut choisir le barème progressif de l’impôt sur le revenu qui lui fait bénéficier d’un abattement de 40 % sur les dividendes si cette option lui est plus favorable.
Bon à savoir : dans tous les cas, cet impôt est à mettre dans la catégorie des revenus de capitaux mobiliers.
Pour faire simple, les workspaces de Cargo sont l'équivalent des modules de Maven.
Pour définir une configuration commune à tous les workspaces il faut ajouter ceci dans le Cargo.toml à la racine du projet :
[package]
name = "sotoestevez_medium"
version = "0.1.0"
[workspace]
members = ["add_trait", "beginning_tips", "generify_with_compiler_errors", "modules", "scoped_threads" ]
[workspace.package]
edition = "2021"
authors = ["Soto Estévez <ricardo@sotoestevez.dev>"]
description = "Demos of the articles at https://medium.com/@sotoestevez"
documentation = "https://medium.com/@sotoestevez"
readme = "./README.md"
homepage = "https://www.sotoestevez.dev"
repository = "https://github.com/kriogenia/medium"
license = "MIT OR Apache-2.0"
Puis activer l'héritage dans chaque Cargo.toml des workspaces :
[package]
name = "add_trait"
version = "0.1.0"
edition.workspace = true
authors.workspace = true
description = "Dissecting Rust Traits to Learn Their Secrets"
documentation = "https://betterprogramming.pub/dissecting-rust-traits-to-learn-their-secrets-839845d3d71e"
homepage.workspace = true
repository.workspace = true
license.workspace = true
Cela marche aussi avec les versions des dépendances. Dans le parent on déclare ceci :
[workspace.dependencies]
num = { version = "0.4", default-features = false }
vector2d = "2.2"
rand = "0.8.5"
Et dans les enfants ceci :
[dependencies]
num = { workspace = true, default-features = true }
vector2d.workspace = true
[dev-dependencies]
rand = { workspace = true, features = [ "log" ] }Je dois écrire un µ-service en Rust et j'ai cherché pas mal de serveurs web permettant de le faire. Évidemment, la première chose que les moteurs de recherche nous remontent c'est Hyper. Pour faire simple, Hyper est une serveur HTTP 1/2 qui s'appuie sur le pool de threads asychrone Tokio.
Problème, Hyper reste assez bas niveau. Je recherchais donc quelque chose aux performances équivalentes mais bien plus simple d'utilisation et je suis tombée sur Actix qui à l'air de faire le café. Je regrette uniquement la reprise du annotation-driven-bullshit via les macros déclaratives mais en dehors de cela, tout va bien.
Exemple de hello world en Actix / Rust :
use actix_web::{get, web, App, HttpServer, Responder};
#[get("/")]
async fn index() -> impl Responder {
"Hello, World!"
}
#[get("/{name}")]
async fn hello(name: web::Path<String>) -> impl Responder {
format!("Hello {}!", &name)
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| App::new().service(index).service(hello))
.bind(("127.0.0.1", 8080))?
.run()
.await
}Je découvre Sarah Schwab (rien à voir avec l'oligarque Klaus Schwab) qui est une chanteuse imitatrice hors pair <3
Je fais beaucoup de Rust ces derniers temps et je cherchais un framework qui puisse m'aider à produire mes requêtes SQL en sachant que je voulais tout sauf une horreur orientée structures comme peut l'être le couple JPA / Hibernate.
Au détour d'un coup de fil, @LapinFeroce me parle de Diesel qui est l'équivalent de Ktorm mais pour Rust. Autant vous dire qu'à la simple lecture de l'exemple de la home page j'étais déjà conquise 😻
Comment calculer la retraite d'un assimilé salarié (en 2021) ?
En un code d'exemple :
// use macro_rules! <name of macro>{<Body>}
macro_rules! add {
// macth like arm for macro
($a:expr,$b:expr) => {
// macro expand to this code
{
// $a and $b will be templated using the value/variable provided to macro
$a+$b
}
}
}
// Usage in code
fn main(){
// call to macro, $a=1 and $b=2
add!(1,2);
}
Attention à ne pas abuser de la méta-programmation car cela peut augmenter significativement les temps de compilation.
Il implémente l'interface log qui est l'équivalent de SLF4J de Java/Kotlin mais pour Rust.
Il a la particularité de pouvoir se configurer directement dans le code en plus de fichier Yaml :
use log::LevelFilter;
use log4rs::append::console::ConsoleAppender;
use log4rs::append::file::FileAppender;
use log4rs::encode::pattern::PatternEncoder;
use log4rs::config::{Appender, Config, Logger, Root};
fn main() {
let stdout = ConsoleAppender::builder().build();
let requests = FileAppender::builder()
.encoder(Box::new(PatternEncoder::new("{d} - {m}{n}")))
.build("log/requests.log")
.unwrap();
let config = Config::builder()
.appender(Appender::builder().build("stdout", Box::new(stdout)))
.appender(Appender::builder().build("requests", Box::new(requests)))
.logger(Logger::builder().build("app::backend::db", LevelFilter::Info))
.logger(Logger::builder()
.appender("requests")
.additive(false)
.build("app::requests", LevelFilter::Info))
.build(Root::builder().appender("stdout").build(LevelFilter::Warn))
.unwrap();
let handle = log4rs::init_config(config).unwrap();
// use handle to change logger configuration at runtime
}
Et sa façade log reprend l'API de SLF4J mais sous forme de macros :
let world = "World";
trace!("Hello {}!", world);
debug!("Hello {}!", world);
info!("Hello {}!", world);
warn!("Hello {}!", world);
error!("Hello {}!", world);
À voir pour les performances, mais l'idée de reprendre l'API d'une façade qui a fait ses preuves pour y coller l'implémentation que l'on veut derrière est la bienvenue !
Vous voulez dire qu'abandonner sa concentration sur la route pendant plusieurs secondes pour toucher de manière précise un écran tactile stresse incroyablement les conducteurs.
En sachant que pour ces écrans, un simple effleurement de surface peut faire entrer dans un mauvais menu, augmentant d'autant le danger et la durée de manipulation, ce qui énerve plus encore.
Et que les conducteurs ont l'inquiétude de protéger leur sécurité et encore plus celle de ceux qu'ils transportent et ne sont pas amusés à faire joujou avec une interface différente pour chaque véhicule.
Et qu'il aura fallu presque 10 ans avant que ces retours ne prennent dans la tête des constructeurs automobiles mais qu'ils n'en parlent à cette heure qu'à demi-mot.
C'est gens-là se droguent ou sont-ils simplement stupides ? D'odieux connards peut-être ? (Oui je suis une conductrice agacée)