DeaconBlue's recent activity
-
Comment on AI isn’t replacing jobs. AI spending is. in ~comp
-
Comment on Anyone else using the Zed editor? in ~comp
DeaconBlue Link ParentThat sounds like an extremely annoying bug. The kind of bug that doesn't take terribly long to deal with, but the kind that are frustrating because of the intermittent nature.That sounds like an extremely annoying bug. The kind of bug that doesn't take terribly long to deal with, but the kind that are frustrating because of the intermittent nature.
-
Comment on As a reindeer herder, I am watching Norwegian renewable energy projects threaten our land, livelihoods and an Indigenous way of life the state once tried to erase in ~enviro
DeaconBlue Link ParentNothing would happen ever. Not just renewables. Roads cross land. Power lines cross land. Infrastructure has to cross land at some point.If every historically rooted land use could block renewables, large scale decarbonization simply wouldn’t happen.
Nothing would happen ever. Not just renewables. Roads cross land. Power lines cross land. Infrastructure has to cross land at some point.
-
Comment on As a reindeer herder, I am watching Norwegian renewable energy projects threaten our land, livelihoods and an Indigenous way of life the state once tried to erase in ~enviro
DeaconBlue LinkBetter to keep pushing for petrochemical energy that will also impact reindeer migration routes and habitats through climate shifts? This is another case where it is somehow fine if the...Better to keep pushing for petrochemical energy that will also impact reindeer migration routes and habitats through climate shifts?
This is another case where it is somehow fine if the destruction of habitats is a byproduct of someone being careless or indifferent but destruction of habitats is a problem if the pros and cons have been considered.
-
Comment on Statement from Mozilla's new CEO in ~tech
DeaconBlue Link Parentbrowser.newtabpage.activity-stream.discoverystream.newSponsoredLabel.enabledfalse browser.newtabpage.activity-stream.showSponsoredfalse...browser.newtabpage.activity-stream.discoverystream.newSponsoredLabel.enabled false browser.newtabpage.activity-stream.showSponsored false browser.newtabpage.activity-stream.showSponsoredCheckboxes false browser.newtabpage.activity-stream.showSponsoredTopSites false browser.newtabpage.activity-stream.system.showSponsored false browser.newtabpage.activity-stream.system.showSponsoredCheckboxes false browser.newtabpage.sponsor-protection.enabled falseThese appear to be the relevant settings for sponsored content, but they don't all even have sync settings.
services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.showSponsored true services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.showSponsoredTopSites true services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored true services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites trueThe first two don't exist by default anyway.
I accept that I could move my browser configs around manually and avoid this, but the fact is that the company has clearly made a decision to not allow all of the sponsor settings to be moved around through their tooling while everything else can be.
There's no reason to believe that their AI push will be better.
-
Comment on Statement from Mozilla's new CEO in ~tech
DeaconBlue Link ParentHard disagree. I can import every other browser setting through my Mozilla account on a fresh install, including extensions. It is clearly kept out of that loop intentionally, and is not a good...Hard disagree. I can import every other browser setting through my Mozilla account on a fresh install, including extensions.
It is clearly kept out of that loop intentionally, and is not a good sign if their goal is to wedge other features in against wishes.
-
Comment on Statement from Mozilla's new CEO in ~tech
DeaconBlue Link ParentEven in your changed article, it remains the forefront of the quotes. Removing the main point of discussion from the title is downplaying the point of the article.Even in your changed article, it remains the forefront of the quotes. Removing the main point of discussion from the title is downplaying the point of the article.
-
Comment on Statement from Mozilla's new CEO in ~tech
DeaconBlue Link ParentGiven how I already need to remove amazon ads from the homepage on every new install with or without a Mozilla account, this is absolutely not happening.Just make an option where people can opt out all of AI features now and future ones so they don't have to uncheck or check 50 different boxes.
Given how I already need to remove amazon ads from the homepage on every new install with or without a Mozilla account, this is absolutely not happening.
-
Comment on Statement from Mozilla's new CEO in ~tech
DeaconBlue (edited )LinkGood, now I can use my AI browser to access AI summaries of AI written articles and really distance myself from the last bits of human effort on the internet. This is immediately eroding any trust...Good, now I can use my AI browser to access AI summaries of AI written articles and really distance myself from the last bits of human effort on the internet.
Few companies share our strengths. People trust our brand.
This is immediately eroding any trust that I had in your brand.
Third: Firefox will grow from a browser into a broader ecosystem of trusted software.
Just be a good browser. I don't want or need Mozilla integrations into everything.
-
Comment on Experiences with foster system and support for removed relatives in ~life
DeaconBlue LinkI am currently in a similar situation, where a toddler was more or less thrust upon our house because someone somewhere had similar bodily fluids to my wife and the state decided that was good...- Exemplary
I am currently in a similar situation, where a toddler was more or less thrust upon our house because someone somewhere had similar bodily fluids to my wife and the state decided that was good enough reason to involve us.
It isn't proper foster care. I don't really know what it is. The kid sure is living with us right now though so I figure it is close enough for this post.
We have a child not much older than the new child, but we were absolutely not prepared for this.
A kid taken by the state is going to have some issues that you will need to deal with. They are going to be extremely reasonable for the kid, but not something that you can logic them out of. There will be abandonment feelings, mistrust in the system, confusion to a new place, confusion as to who you actually are to them, confusion to new routines, lack of sleep due to the new circumstances, and a whole slew of resentment across the board that they are in this situation in the first place through what is almost assuredly no fault of their own.
You didn't say how old the child was. If they are old enough to communicate properly, this might be less of an issue. If they are too young to know that things are amiss, these might be less of an issue. It is really hard to say given the (reasonable) lack of specifics in your post.
You have the easy stuff covered. You have money and time. Money can buy a lot of help. Good groceries, (pre)school, activities, all well and good. Time will let you make sure to get them where they need to be.
Money and time do not grant you the hard parts. Dealing with sleepless nights, dealing with their confusion, dealing with you possibly having absolutely no connection to them, trying to not get frustrated by whatever bad behaviors they do as part of lashing out.
It is rough. It will be a huge sacrifice on your part. There is no way around this fact.
-
Comment on Donald Trump administration policies slashing staffing and funding for public lands are waking a sleeping political giant in Montana. Will either party notice? in ~society
DeaconBlue LinkI'm not buying it. These are the same groups that shouted "Drill, baby, drill" and encouraged the destruction of public lands. He did vote for this. This has been the party's stance for literal...I'm not buying it.
These are the same groups that shouted "Drill, baby, drill" and encouraged the destruction of public lands.
“You won’t meet anyone more conservative than me, and I didn’t vote for this,” Zink said.
He did vote for this. This has been the party's stance for literal decades. Zink voted for an entity that was actively against his best interests because he (like most of my family) attached their ideals to a party and president that does not follow a single one of the ideals and remain shocked literally every time they see it happen.
It didn't cause any to change stance after 2016 and it won't this time.
-
Comment on Proposed amendments to Denmark's laws on copyright and broadcasting would see VPNs limited for common uses under changes to combat access to illegal streaming services in ~tech
DeaconBlue Link ParentThe priority here is to stop people from watching people watch media content that is not licensed in Denmark. It's not The bullshit laws for this particular bill are "A spreadsheet says it's not...- Exemplary
The priority here is to stop people from watching people watch media content that is not licensed in Denmark. It's not
human trafficking, organized crime, child exploitation and (digital) abuse, theft of state secrets, sabotage of government and company platforms, destabilization/manipulation of countries' public discourse, tax evasion, fraud and so on
"The rules in their current form are not suitable for cracking down on, for example, illegal IPTV services or illegal use of VPN connections, because the rules are primarily aimed at illegal decoders and other decoding equipment," the document [PDF] reads (machine translated).
The bullshit laws for this particular bill are "A spreadsheet says it's not worth the effort to make this cartoon available to me legally so I am going to pirate it"
We do need to regulate the internet sensibly, you're right. This kind of bill isn't it.
-
Comment on Day 14: Free Me from My Suffering in ~comp.advent_of_code
DeaconBlue Link ParentWhat an absurdity creepy title, I have to know as wellWhat an absurdity creepy title, I have to know as well
-
Comment on Whatever happened to _____? in ~talk
DeaconBlue Link ParentFoundry is so cool! I have it set up for my groups too and there are SO MANY resource packs for random tabletop rulesets.Foundry is so cool! I have it set up for my groups too and there are SO MANY resource packs for random tabletop rulesets.
-
Comment on Day 6: Trash Compactor in ~comp.advent_of_code
DeaconBlue LinkLate to the party here but I got to it eventually. Part 1 is straightforward. I think my strategy for part 2 was pretty good though. Read the lines in backward, iterate across the operator line...Late to the party here but I got to it eventually.
Part 1 is straightforward. I think my strategy for part 2 was pretty good though. Read the lines in backward, iterate across the operator line until you hit a relevant character. For each iteration, make a number out of each numeric line, do the operation, then flush the temporary number holder.
Part 1
use std::{ env, fs::File, io::{self, BufRead}, path::Path, time::Instant, }; fn main() { let args: Vec<String> = env::args().collect(); part_one(&args[1]); part_two(&args[1]); } fn part_one(file: &str) -> i64 { let mut number_lines: Vec<Vec<i64>> = vec![]; let mut part1_total: i64 = 0; let mut function_line = vec![]; if let Ok(lines) = read_lines(&file) { let now = Instant::now(); for line in lines { let line = line.unwrap(); if line.contains('*') { line.split_whitespace() .for_each(|x| function_line.push(String::from(x))); } else { number_lines.push( line.split_whitespace() .map(|x| x.parse::<i64>().unwrap()) .collect(), ) } } for (i, operator) in function_line.into_iter().enumerate() { let mut nums_to_operate = vec![]; for vec in &number_lines { nums_to_operate.push(vec[i]); } part1_total += operate(&nums_to_operate, operator.chars().next().unwrap()); } let elapsed = now.elapsed(); println!("Part 1: {part1_total}"); println!("Elapsed: {:.2?}", elapsed); } return part1_total; } fn part_two(file: &str) -> i64 { let mut number_lines: Vec<Vec<char>> = vec![]; let mut function_line: Vec<char> = vec![]; let mut part2_total: i64 = 0; if let Ok(lines) = read_lines(&file) { let now = Instant::now(); for line in lines { let line = line.unwrap(); if line.contains('*') { function_line = line.chars().rev().collect(); } else { number_lines.push(line.chars().rev().collect()) } } let mut nums: Vec<i64> = vec![]; for n in 0..function_line.len() { let mut chars = vec![]; for line in &number_lines { if !line[n].is_whitespace() { chars.push(line[n]) } } if chars.len() > 0 { let s: String = chars.into_iter().collect(); nums.push(s.parse::<i64>().unwrap()); } if function_line[n] == '*' || function_line[n] == '+' { part2_total += operate(&nums, function_line[n]); nums.clear(); } } let elapsed = now.elapsed(); println!("Part 2: {part2_total}"); println!("Elapsed: {:.2?}", elapsed); } return part2_total; } fn operate(nums: &Vec<i64>, operator: char) -> i64 { let mut tmp_total: i64 = 0; if operator == '*' { tmp_total = 1; nums.into_iter().for_each(|x| tmp_total = tmp_total * x); } else { nums.into_iter().for_each(|x| tmp_total = tmp_total + x); } return tmp_total; } fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>> where P: AsRef<Path>, { let file = File::open(filename)?; Ok(io::BufReader::new(file).lines()) } -
Comment on Day 7: Laboratories in ~comp.advent_of_code
DeaconBlue LinkComing back to the days I hadn't completed because of Real Life Obligations. This one seemed alarmingly easy. All of the edge cases were conveniently removed from the input, so no cases of side by...Coming back to the days I hadn't completed because of Real Life Obligations.
This one seemed alarmingly easy. All of the edge cases were conveniently removed from the input, so no cases of side by side splitters or splitters on the grid edge that would make this single pass a problem. I think it would have been interesting if they did some kind of diamond shape with wrap-around requirements. If there were items on the grid edge, I would have just done the classic trick of grid problems where you just bump the grid size by one and ignore it later.
Parts 1 and 2
use std::{ env, fs::File, io::{self, BufRead}, path::Path, time::Instant, }; fn main() { let args: Vec<String> = env::args().collect(); if let Ok(lines) = read_lines(&args[1]) { let now = Instant::now(); let mut split_count = 0; let mut context: Vec<i64> = Vec::new(); for line in lines { for (i, char) in line.expect("").chars().enumerate() { if let Some(state) = context.get_mut(i) { if *state > 0 && char == '^' { context[i - 1] += context[i]; context[i + 1] += context[i]; context[i] = 0; split_count += 1; } } else { if char == 'S' { context.push(1); } else { context.push(0); } } } } let elapsed = now.elapsed(); println!("Part 1: {split_count}"); println!("Part 2: {:?}", context.iter().sum::<i64>()); println!("Elapsed: {:.2?}", elapsed); } } fn read_lines<P>(filename: P) -> io::Result<io::Lines<io::BufReader<File>>> where P: AsRef<Path>, { let file = File::open(filename)?; Ok(io::BufReader::new(file).lines()) } -
Comment on I don't care much for symbolism in ~creative
DeaconBlue (edited )LinkOne of the most frustrating parts of my various literature classes in university was the insistence that every single word on the page was symbolic. We would have discussions on why we thought...One of the most frustrating parts of my various literature classes in university was the insistence that every single word on the page was symbolic. We would have discussions on why we thought that the author told us that the walls were a color, and what the hidden symbolic meaning might be.
One time we were looking at the first chapter of The Hobbit and there was an at-length discussion on what the author could have possibly meant by this:
In a hole in the ground there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends of
worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to
eat: it a was a hobbit-hole, and that means comfort.It had a perfectly round door like a porthole, painted green, with a shiny yellow brass knob in
the exact middle. The door opened on to a tube-shaped hall like a tunnel: a very comfortable
tunnel without smoke, with panelled walls, and floors tiled and carpeted, provided with polished
chairs, and lots and lots of pegs for hats and coats- the hobbit was fond of visitors.The professor was insistent that there was more to these sentences than telling us that the hobbit was well off, liked visitors, and lived comfortably in an underground home.
Why would the knob be in the middle of the door? What does that symbolize?
I dunno, I thought maybe a children's book might do something a little bit silly and whimsical in door design because it is a children's book.
No, it is symbolizing that the hobbit follows the straight and narrow path and is unlikely to stray.
Nah. Not buying it. If the goal was to do that symbolically then he wouldn't dedicate the next page and a half to directly explaining how the Bagginses never do anything interesting or out of the ordinary.
-
Comment on Day 12: Christmas Tree Farm in ~comp.advent_of_code
DeaconBlue LinkLOL what a silly final puzzle. I went with an equally silly one-liner. Part 1 Console.WriteLine(File.ReadAllLines("redacted").Where(x => x.Contains('x')).Where(x =>...LOL what a silly final puzzle. I went with an equally silly one-liner.
Part 1
Console.WriteLine(File.ReadAllLines("redacted").Where(x => x.Contains('x')).Where(x => (int.Parse(x.Split(':')[0].Split('x')[0]) * int.Parse(x.Split(':')[0].Split('x')[1])) >= (x.Split(':')[1].Split(' ').Where(y => !string.IsNullOrWhiteSpace(y)).ToList().Select(y => int.Parse(y)).Sum() * 9)).Count()); -
Comment on Day 11: Reactor in ~comp.advent_of_code
DeaconBlue LinkSeems like there was one standard way to do it. Tricky input for part 2. I was afraid of infinite loops but the input was convenient on that front. C# today because I was doing it with a coworker....Seems like there was one standard way to do it. Tricky input for part 2. I was afraid of infinite loops but the input was convenient on that front.
C# today because I was doing it with a coworker.
Parts 1 and 2
using System.Diagnostics; var sample = "redacted"; var sample2 = "redacted"; var real = "redacted"; var _devices = new List<Device>(); foreach (var line in File.ReadAllLines(real)) { _devices.Add(new Device(line.Split(":")[0], line.Split(":")[1].Split(" ").Where(x => !String.IsNullOrWhiteSpace(x)).ToList())); } Stopwatch sw = new Stopwatch(); sw.Start(); Console.WriteLine("Part 1: " + Count_Paths("you", "out", new Dictionary<string, long>())); sw.Stop(); Console.WriteLine("Part 1 Elapsed Time: " + sw.Elapsed); sw.Restart(); var a = Count_Paths("svr", "dac", new Dictionary<string, long>()); var b = Count_Paths("dac", "fft", new Dictionary<string, long>()); var c = Count_Paths("fft", "out", new Dictionary<string, long>()); var d = Count_Paths("svr", "fft", new Dictionary<string, long>()); var e = Count_Paths("fft", "dac", new Dictionary<string, long>()); var f = Count_Paths("dac", "out", new Dictionary<string, long>()); var subsetA = a * b * c; var subsetB = d * e * f; Console.WriteLine("Part 2A: " + subsetA); Console.WriteLine("Part 2B: " + subsetB); Console.WriteLine("Part 2 Total: " + (subsetA + subsetB)); sw.Stop(); Console.WriteLine("Part 2 Elapsed Time: " + sw.Elapsed); long Count_Paths(string startingDevice, string endingDevice, Dictionary<string, long> countCache) { if (countCache.ContainsKey(startingDevice)) return countCache[startingDevice]; long pathCount = 0; foreach (var device in _devices.First(x => x.Name == startingDevice).Outputs) { if (device == endingDevice) return 1; pathCount += Count_Paths(device, endingDevice, countCache); } if (countCache.ContainsKey(startingDevice)) countCache[startingDevice] = pathCount; else countCache.Add(startingDevice, pathCount); return pathCount; } public class Device(string name, List<string> outputs) { public string Name = name; public List<string> Outputs = outputs; } -
Comment on Day 11: Reactor in ~comp.advent_of_code
DeaconBlue (edited )Link ParentI am going to hide this to avoid hinting to others, but was this intentional or a happy accident? You are checking `svr -> fft -> dac -> out` but you aren't checking `svr -> dac -> fft -> out` to...I am going to hide this to avoid hinting to others, but was this intentional or a happy accident?
You are checking `svr -> fft -> dac -> out` but you aren't checking `svr -> dac -> fft -> out` to add them together.My input (and I assume everyone's) had no paths from
dac -> fftso the second set ended up being irrelevant anyway. Your code wouldn't work if there was even 1 path fromdac -> fft.
The people that use the software are not part of the team that make the decision on software purchasing.
I'm not the person you responded to, but that is always the answer to that question.