I don't know who needs to hear this but
The postal service exists to deliver letters and parcels to people
Not to make money for shareholders
The transport system exists to move people to where they need to go
Not to make money for shareholders
The water, gas, and electricity supplies exist to provide people vital utilities
Not to make money for shareholders
The healthcare system exists to ensure (and that's ENsure, not INsure) the health of the population
Not to make money for shareholders
Shareholders in vital public services are a vampiric drain on those services
Capitalism is a disease
ULA’s big new Vulcan rocket boards barge in Alabama for Cape Canaveral - al.com
https://www.al.com/news/2023/01/ulas-big-new-vulcan-rocket-boards-barge-in-alabama-for-cape-canaveral.html
Qoto new weekly signups appears to have peaked on Nov 11 at 4838 for that days trailing 7 days: https://qoto.org/web/statuses/109325078038092501
Today, it was only 129: https://qoto.org/web/statuses/109448233595238192
That's the lowest since Oct 29, when daily signups started increasing: https://qoto.org/web/statuses/109448233595238192
Not sure how this compares to the trend in other instances. I blindly speculate that other servers haven't seen the same decline and the conflict between instance operators is impacting Qoto. Which is unfortunate, because from my tiny vantage point, Qoto seems well run, and I don't see its policy of very limited blocking of other instances having negative consequences.
Nonetheless, I want to have one Fediverse presence and want to be able to interact with people on Qoto and on other instances that suspend Qoto, so I may have to migrate.
for folks who don't know, google specifically has like, the Most Advanced C++ Bug Catching/Mitigation Tools, to the point that they *took over the development of clang*
just using rust instead, even with 'unsafe' parts, completely blew all of that out of the water! holy shit!
Advent of Code Day 2 in Rust
https://gitlab.com/MisterBiggs/aoc_2022-rust/-/blob/master/src/day2.rs
use itertools::Itertools;use std::fs;pub fn run() { println!("Day 2:"); let input = fs::read_to_string("./inputs/day2.txt").expect("Could not read file"); println!("\tPart 1: {}", part1(&input)); println!("\tPart 2: {}", part2(&input));}#[derive(PartialEq, Clone, Copy)]enum Hand { Rock = 1, Paper, Scissors,}#[derive(Clone, Copy)]enum Outcome { Lost = 0, Draw = 3, Win = 6,}fn part1(input: &str) -> usize { input .trim() .split('\n') .map(|round_str| { let round = round_str.split_once(' ').unwrap(); let opponent = match round.0 { "A" => Hand::Rock, "B" => Hand::Paper, "C" => Hand::Scissors, _ => panic!(), }; let me = match round.1 { "X" => Hand::Rock, "Y" => Hand::Paper, "Z" => Hand::Scissors, _ => panic!(), }; let outcome = match (opponent, me) { (l, r) if l == r => Outcome::Draw, (Hand::Rock, Hand::Paper) => Outcome::Win, (Hand::Paper, Hand::Scissors) => Outcome::Win, (Hand::Scissors, Hand::Rock) => Outcome::Win, _ => Outcome::Lost, }; outcome as usize + me as usize }) .sum()}fn part2(input: &str) -> usize { input .trim() .split('\n') .map(|round_str| { let round = round_str.split_once(' ').unwrap(); let opponent = match round.0 { "A" => Hand::Rock, "B" => Hand::Paper, "C" => Hand::Scissors, _ => panic!(), }; let outcome = match round.1 { "X" => Outcome::Lost, "Y" => Outcome::Draw, "Z" => Outcome::Win, _ => panic!(), }; let me = match (outcome, opponent) { (Outcome::Draw, _) => opponent, (Outcome::Win, Hand::Rock) => Hand::Paper, (Outcome::Win, Hand::Paper) => Hand::Scissors, (Outcome::Win, Hand::Scissors) => Hand::Rock, (Outcome::Lost, Hand::Rock) => Hand::Scissors, (Outcome::Lost, Hand::Paper) => Hand::Rock, (Outcome::Lost, Hand::Scissors) => Hand::Paper, }; outcome as usize + me as usize }) .sum()}
Advent of code day 1 in rust
https://gitlab.com/MisterBiggs/aoc_2022-rust/-/blob/master/src/day1.rs
fn part1(food_input: &str) -> usize { food_input .split("\n\n") .collect::<Vec<&str>>() .into_iter() .map(|elf| { elf.split_whitespace() .map(|food| food.parse::<usize>().unwrap()) .sum() }) .collect::<Vec<usize>>() .into_iter() .max() .unwrap()}
fn part2(food_input: &str) -> usize { let mut elves_calories = food_input .split("\n\n") .collect::<Vec<&str>>() .into_iter() .map(|elf| { elf.split_whitespace() .map(|food| food.parse::<usize>().unwrap()) .sum() }) .collect::<Vec<usize>>(); elves_calories.sort_by(|l, r| r.cmp(l)); elves_calories[..3].iter().sum::<usize>()}
The amount of work it takes to maintain header files in #cpp is honestly absurd
Any #googlefi users out there notice service has been steadily degrading?
ATTENTION EVERYONE WRINGING THEIR HANDS OVER “#MASTODON ADMINS CAN READ MY DIRECT MESSAGES”: #SysAdmins have *always* been able to read your #email and DMs unless encrypted, including at the big #SocialNetworks and Internet providers. We used to have t-shirts that said, “I READ YOUR EMAIL.”
It’s just hitting now because you got used to places where the admins were kept away in their cubicles and data centers instead of greeting you at the front door.
Interested in the automated discovery of physical equations from data? Check out Julius's talk on DataDrivenDiffeq: a #julialang #sciml #symbolicregression #SymbolicAI package which lets you give time series data and returns the equations which generated the data. It even generates the LaTeX!