I wrangle code, draw pictures, and write things. You might find some of it here.

  • 3 Posts
  • 172 Comments
Joined 10 months ago
cake
Cake day: March 13th, 2024

help-circle

  • Mii@awful.systemstoTechTakes@awful.systemsruh roh
    link
    fedilink
    English
    arrow-up
    23
    ·
    4 days ago

    Oh look, YouTube managed to circumvent uBlock for like two hours again before someone figured out a fix, lol.

    Seriously, I wanna know how much funds Google allocates to fight ad blockers just to come up with a working solution every odd month that then gets fixed by the uBlock community in hours. There’s no way this is profitable for them or gets a sizable number of uBlock users to buy their subscription.



  • I use Posteo for mail and calendar now (they’re not encrypted between users like Proton but you can just hook it up to any mail client and PGP your shit) .Mail is IMAPS, calendar is CalDAV, contacts are CardDAV, etc. Depending on where you fall on the security-convenience sliding scale, that might be an option. I’ve decided that I care more about portability and standards than super-thick encryption which made me choose them over Tuta, because Tuta offers no way to access the mail over IMAP whatsoever, not even an optional bridge like Proton, and that was a total dealbreaker for me. Posteo also claim they’re 100% green energy which is a nice bonus.

    For drive I use Filen.io now. They’re relatively new so I can’t make any assumptions about how long they’ll be around but the price is fair and they offer lifetime payments too. Also their Linux client is pretty solid and doesn’t fucking eat my RAM for breakfast. They’re also in the process of adding support for rclone as per a GitHub issue I’m following.

    VPN I pretty much don’t use because I’ve never felt I needed it, so no recommendations there from me.


  • I’m a senior software engineer

    Nice, me too, and whenever some tech-brained C-suite bozo tries to mansplain to me why LLMs will make me more efficient, I smile, nod politely, and move on, because at this point I don’t think I can make the case that pasting AI slop into prod is objectively a worse idea than pasting Stack Overflow answers into prod.

    At the end of the day, if I want to insert a snippet (which I don’t have to double-check, mind you), auto-format my code, or organize my imports, which are all things I might use ChatGPT for if I didn’t mind all the other baggage that comes along with it, Emacs (or Vim, if you swing that way) does this just fine and has done so for over 20 years.

    I empirically work quicker with it than without and the engineers I know who are still avoiding it work noticeably slower.

    If LOC/min or a similar metric is used to measure efficiency at your company, I am genuinely sorry.




  • That’s gotta be one of my favorite Zitron piece to date. Ed managed to articulate some points which have been floating around in my mind for a while which I did not have the words to explain. Especially how using any form of out-of-the-box computer these days is just a completely user-hostile pile of steaming horseshit, and why I am anal-retentive about what software gets installed on my devices and how exactly my window manager has to work, &c.

    I mean, it’s probably because I’m an obsessive nerd, but the fact that it makes me feel in control when I can rip shit of the source code that bugs me (or put shit in that I miss) is a major factor, too.







  • Day 2, Part 1
    use strict;
    use List::Util qw( min max );
    
    open(FH, '<', $ARGV[0]) or die $!;
    my @lines;
    while (<FH>) {
    	my @report = split /\s/, $_;
    	push @lines, \@report;
    }
    
    close FH;
    
    sub in_range {
    	my $diff = max($_[0], $_[1]) - min($_[0], $_[1]);
    	return $diff >= 1 && $diff <= 3;
    }
    
    sub is_safe {
    	my $prev = @$_[0];
    	my $dir = 0;
    
    	for (my $i = 1; $i < scalar @$_; ++$i) {
    		my $el = @$_[$i];
    		if ($el > $prev) {
    			return 0 unless $dir >= 0;
    			$dir = 1;
    		} elsif ($el < $prev) {
    			return 0 unless $dir <= 0;
    			$dir = -1;
    		}
    
    		return 0 unless in_range $prev, $el;
    		$prev = $el;
    	}
    
    	return 1;
    }
    
    sub part1 {
    	my $safe_reports = 0;
    
    	foreach (@_) {
    		$safe_reports++ if is_safe @$_;
    	}
    
    	return $safe_reports;
    }
    
    print 'Part 1: ', part1(@lines), "\n";
    

    My part 2 solution didn’t work with the real input but worked with all the test cases I threw at it, so I couldn’t figure out what was wrong with it and I’m too lazy to debug any more right now.


  • Advent of Code is one of these things I wanna do every year and then I end up in fucking end-of-the-year crunch time every December and work for 10-12 hours and really don’t wanna code after work anymore.

    But hey, here’s a quick solution for day 1. Let’s see how far I make it.

    Day 1
    use strict;
    use List::Util qw( min max );
    
    open(FH, '<', $ARGV[0]) or die $!;
    
    my @left;
    my @right;
    
    while (<FH>) {
    	my @nums = split /\s+/, $_;
    	push(@left, $nums[0]);
    	push(@right, $nums[1]);
    }
    
    @left = sort { $b <=> $a } @left;
    @right = sort { $b <=> $a } @right;
    
    my $dist = 0;
    my $sim = 0;
    my $i = 0;
    
    foreach my $lnum (@left) {
    	$sim += $lnum * grep { $_ == $lnum } @right;
    
    	my $rnum = $right[$i++];
    	$dist += max($lnum, $rnum) - min($lnum, $rnum);
    }
    
    print 'Part 1: ', $dist, "\n";
    print 'Part 2: ', $sim, "\n";
    
    close(FH);
    





  • That was a great read.

    The point of all of this is to say: the tech utopia fantasy is truly dead to me. The image of the cool, hippie, leftist Silicon Valley tech is wrong.

    I feel this in my soul, because I was that leftist hippie who got into tech because he believed all this shit and getting disillusioned over time was just fucking painful and made me hate those goons with a passion.

    The straw I have left is that I’m not alone and that more people realize this and we make our own communities again that don’t suck. There’s still a long way to go, and Fedi has its own problems, especially when it comes to kick out the racists, sexists, and other bigots, but I try to stay positive that we’ll get there. At least to a degree.

    (I mean, we have Awful and it’s an example that you can keep the bar nazi-free if you want to.)