spencerwi

joined 1 year ago
[–] spencerwi@lemm.ee 7 points 11 months ago (7 children)

I mean, is "other people are having fun" really something that demands a resistance?

Or could you, perhaps, just not do it and not care whether that makes you "cool" or not?

It's like that bit from Community: "wear it because of them, don't wear it because of them — either way, it's for them."

Just be you, without having to have some sort of faux "resistance" to justify yourself.

[–] spencerwi@lemm.ee 19 points 11 months ago* (last edited 11 months ago) (17 children)

Thank u Jason, very cool !!

Seriously though, good for you I guess? Not sure why you're grandstanding about it.

Meanwhile, I'm doing it the way I have in years past: as a fun set of puzzles that let me write code I enjoy in a language I like, because I do actually enjoy writing code, and only until my real-life schedule no longer allows.

Nobody's saving the world by posting on their personal blogs about how they're bravely and boldly not doing a series of optional advent-calendar puzzles.

[–] spencerwi@lemm.ee 13 points 1 year ago* (last edited 1 year ago) (1 children)

I'm really surprised to see Java ranked as less-verbose than OCaml.

Here's an equivalent code sample in Java 17 vs OCaml:

Java:

abstract sealed class Expr permits Value, Add, Subtract, Multiply, Divide {
  abstract long eval();
}
record Value(long value) extends Expr {
  @Override
  long eval() { return value; }
}
record Add(Expr left, Expr right) {   
  @Override
  long eval() { return left.eval() + right.eval(); }
}
record Subtract(Expr left, Expr right) {
  @Override
  long eval() { return left.eval() - right.eval(); }
}
record Multiply(Expr left, Expr right) {
  @Override
  long eval() { return left.eval() * right.eval(); }
}
record Divide(Expr left, Expr right) {
  @Override
  long eval() { return left.eval() / right.eval(); }
}

OCaml:

type expr = 
  | Value of int
  | Add of expr * expr
  | Subtract of expr * expr
  | Multiply of expr * expr
  | Divide of expr * expr

let rec eval = function 
  | Value value -> value
  | Add (left, right) -> (eval left) + (eval right)
  | Subtract (left, right) -> (eval left) - (eval right)
  | Multiply (left, right) -> (eval left) * (eval right)
  | Divide (left, right) -> (eval left) / (eval right)

....Java has so much more syntactical overhead than OCaml, and that's even with recent Java and being pretty aggressive about using boiler-plate reducing sugars like Records. And F# has even less, since it doesn't require you to use different operators for numerics or do as much manual casting between strings/numerics

[–] spencerwi@lemm.ee 4 points 1 year ago

Conversely, I have a recent-ish (<5yrs old) Brother inkjet printer that's waiting to be dumped to recycling because it arbitrarily decided that it didn't ever need to be discoverable or respond to any print requests one day, and so even though there was nothing mechanically wrong with it, even hooking up a Raspberry Pi to run CUPS over USB didn't fix the issue -- because Brother explicitly refuses to publish drivers for the Raspberry Pi, and their inkjet drivers are proprietary.

I've since replaced it with the best-reviewed Epson printer I could find that supports a generic PCL driver, so that if Epson ever loses their minds in the way Brother did, I can fall back on an open-source implementation of good ol' PCL.

That thing's given us no issues so far.

[–] spencerwi@lemm.ee 17 points 1 year ago (5 children)

Community's Subway arc was pretty good too, IMO.

[–] spencerwi@lemm.ee 5 points 1 year ago (2 children)

Sadly, here in Georgia, pretty decent odds.

[–] spencerwi@lemm.ee 20 points 1 year ago* (last edited 1 year ago) (4 children)

This is super cool!

I took a look, as an avid Obsidian user interested in an open-source tool, and saw that one key difference is your emphasis on encrypted notes, which I suspect is part of why notes are stored in SQLite rather than as plain markdown files.

I think that might be something to call out in docs somewhere, since Obsidian (and Logseq) are popular note-taking apps, as one key feature difference between your app and those.

[–] spencerwi@lemm.ee 9 points 1 year ago

I was pretty sure Firefox provides a Gecko-powered webview. Maybe that has changed since I last checked.

[–] spencerwi@lemm.ee 11 points 1 year ago

It seems mostly like a boomer thing to do, honestly; I don't really hear "I hate my wife/husband" jokes from folks my generation (Millennials) or younger. Honestly, I mostly hear "I hate myself" jokes there.

A lot of the "ol' ball and chain" etc jokes tend to be more frequently casting the wife as the enemy instead of the husband, too, so there's some definite boomer misogyny as key element.

[–] spencerwi@lemm.ee -1 points 1 year ago* (last edited 1 year ago)

Knee surgery that wasn't on his radar, his team's radar, or his agent's radar until he was told that the rookie was gonna get a shot to start next game.

Sure, fine, take your elective season-ending surgery, but don't try to play it like you had to leave, or like the team and coach that covered for you all season long and gave you a wildly-improbably second chance at being a starter when the rest of the league already knew you were broken somehow owed you something. You got paid millions to live every backup's dream -- a shot at becoming the guy -- and your coach stuck by you long after you blew that chance.

Then you go and make yourself totally unavailable even to be on the bench for the new kid who got comp'd to you and looks up to you?

I really don't understand how Mariota got his "he's a nice guy" reputation, except maybe by contrast to Jameis because they were in the same draft class.

[–] spencerwi@lemm.ee 1 points 1 year ago

That's actually pretty sick.

[–] spencerwi@lemm.ee 3 points 1 year ago

So much is riding on Desmond Ridder that I really hope he's the answer, or at least a good enough answer.

Outside of him, I feel like the Falcons' front office has done a good job of properly hedging bets.

view more: next ›