Advertisement · 728 × 90

Posts by James

Preview
GitHub - Netflix/wick: A zero cost type safe Apache Spark API A zero cost type safe Apache Spark API. Contribute to Netflix/wick development by creating an account on GitHub.

It is heavily inspired by Jamie Thompson's presentation last year about named tuples and it is built directly on the new named tuples feature introduced in Scala 3.7.

I will get back to it again after I try it by myself, but the compile-time safety looks amazing. 👏

github.com/Netflix/wick

2 days ago 1 1 0 0
Preview
Release v1.0.0 · typelevel/skunk Finally! Nearly three years since the 0.6 release, Skunk 1.0.0 is final! This release supports Scala 2.13 & 3 for the JVM, JS, and Native 0.5. There's quite a bit of functionality in this release i...

Skunk 1.0.0 is out! 🎉 A huge milestone for the @typelevel.org ecosystem — pure functional PostgreSQL library for Scala.

Massive congrats to @armanbil.ge @mpilquist.bsky.social and the whole @typelevel.org crew. 🍾

github.com/typelevel/sk...

#Scala #PostgreSQL #FunctionalProgramming

1 week ago 7 1 0 0

my sign saying we operate under US law has a lot of people asking a lot of questions already answered by the sign

1 week ago 2058 195 15 2
Preview
FBI Extracts Suspect’s Deleted Signal Messages Saved in iPhone Notification Database The case was the first time authorities charged people for alleged “Antifa” activities after President Trump designated the umbrella term a terrorist organization.

NEW: The FBI was able to forensically extract copies of incoming Signal messages from a defendant’s iPhone, even after the app was deleted, because copies of the content were saved in the device’s push notification database, multiple people present for FBI testimony in a trial told 404 Media.

1 week ago 700 369 15 71

this one feels like a meta joke about the paper’s tendency to both-sides ridiculous ideas. regrettably, i think it’s funny

2 weeks ago 316 25 6 0

Oh so now copyright matters.

3 weeks ago 6032 2052 5 18
Preview
Motorola News | Motorola's new partnership with GrapheneOS Motorola announces three new B2B solutions at MWC 2026, including GrapheneOS partnership, Moto Analytics and more.

We're happy to announce a long-term partnership with Motorola. We're collaborating on future devices meeting our privacy and security standards with official GrapheneOS support.

motorolanews.com/motorola-thr...

1 month ago 768 220 55 63
Advertisement
What Category Theory Teaches Us About DataFrames Every dataframe library ships with hundreds of operations. pandas alone has over 200 methods on a DataFrame. Is pivot different from melt? Is apply different from map? What about transform, agg, apply...

I took a crack at category theory + dataframes. I find the difficulty with reading and writing about this kind of stuff is that it's really hard to communicate what the "point" is. Hopefully it all makes sense:

mchav.github.io/what-categor...

3 weeks ago 14 4 1 0
Post image Post image

Trump: I’m going to put ICE in the airports, where they will target and arrest all the illegals, especially Somalis, because I hate the Democrats

Headlines: Trump puts ICE officers in airports to ease long lines, provide relief for weary travelers

1 month ago 10498 3499 238 201
Video

THREAD: Cherise Doyley was in her 12th hour of contractions at the hospital when a tablet was brought to her bedside.

On the screen was a Zoom call with a judge and several lawyers and doctors.

She was in court, a nurse told her. The reason? For failing to agree to a C-section.

1 month ago 6420 3408 537 1074
Preview
Tony Hoare - Wikipedia

A great man...a sad time

en.wikipedia.org/wiki/Tony_Ho...

1 month ago 2 5 0 0
Preview
ICE arrested an Oregon shop owner who had her green card in her pocket: ‘They didn’t care’ Juanita Avila later helped expose ICE’s ‘arrest first, justify later’ tactics in a lawsuit that won a major victory for immigrants’ rights

NEW: ICE tackled + arrested Juanita Avila, an Oregon shop owner who is a legal permanent resident and had her green card in her pocket.

When she asked through sobs why they didn't believe her, one masked agent replied: “Because they lie all the time.”

Video + interview with her and her daughter:

1 month ago 1331 710 28 28
Hi folks, these days, when someone is having a health issue, it's referred to as an "opportunity," so let's go with that – I'm having one of those. It's also called a type of cancer that's “treatable” not "curable." I apologize if that's a shock – it was to
me too.
The good news is, I'm not gonna go into any more detail. I'm posting this, because professionally, a few things will have to change - appearances and cons and work in general need to take back seat to treatment.
My plan is to get as well as I possibly can over the summer so that I can tour with my new movie Ernie & Emma this fall.
There are several cons this year summer that I have to cancel. Big regrets on my part. Treatment needs and professional obligations don't always go hand-in-hand.
That's about it. I'm not trying enlist sympathy-or advice-Ijust want to get ahead of this information in case false information gets out (which it will).
Fear not, I am a tough old son-of-a-bitch and I have great support, so I expect to be around a while.
As always, you're the greatest fans in the world and I hope to see you soon!
Much love,
Bruce Campbell

Hi folks, these days, when someone is having a health issue, it's referred to as an "opportunity," so let's go with that – I'm having one of those. It's also called a type of cancer that's “treatable” not "curable." I apologize if that's a shock – it was to me too. The good news is, I'm not gonna go into any more detail. I'm posting this, because professionally, a few things will have to change - appearances and cons and work in general need to take back seat to treatment. My plan is to get as well as I possibly can over the summer so that I can tour with my new movie Ernie & Emma this fall. There are several cons this year summer that I have to cancel. Big regrets on my part. Treatment needs and professional obligations don't always go hand-in-hand. That's about it. I'm not trying enlist sympathy-or advice-Ijust want to get ahead of this information in case false information gets out (which it will). Fear not, I am a tough old son-of-a-bitch and I have great support, so I expect to be around a while. As always, you're the greatest fans in the world and I hope to see you soon! Much love, Bruce Campbell

Bruce Campbell announces he has a type of cancer that's "treatable" not "curable"

1 month ago 3049 718 76 384

me: what if instead i walk out that door and leave all this bullshit behind

computer: i just need a new password man

1 month ago 207 19 1 1

If America still had the rule of law, this would be the easiest prosecution ever, but we all know absolutely nothing will happen.

1 month ago 8819 2917 189 234

Jack Dorsey renamed the company to Block because he thought blockchains would be the future, in case you were wondering what his track record of predicting long-term tech trends is

1 month ago 2579 576 37 15
The screenshot of the release notes reads:

A new version of TeX Live Utility is available!
TeX Live Utility 1.55 is now available-you have 1.54. Would you like to download it now?
Release Notes:
Changes Since 1.54
• Fix bug 137, homepage link in Help Book.
• First release in a long time, since I don't use TeX anymore and resent the very idea of paying Apple annually for the privilege of giving away free and open-source software. Also, I'm really lazy. Please accept my apologies for all the annoying issues you've encountered in this mission-critical software.
• Updated mirror list, which was three years out of date.
• Added missing legacy mirrors, which was even more out of date.
• Added an alert on startup when user tries Homebrew's lobotomized MacTex, because those lunatics left timgr but removed its database.
Thanks for nothing, guys. Bug 142 and 144.
• Use a custom user-agent to work around the Anubis bot trap on texlive.info. Can't wait to see what else breaks because of this, thanks to the profusion of degenerate Artificial Insemination fetishists scraping websites to feed their models.
• Lists of countries in Repository/Continent are now sorted. No idea how you people let me get away with that one for the last fifteen years.

The screenshot of the release notes reads: A new version of TeX Live Utility is available! TeX Live Utility 1.55 is now available-you have 1.54. Would you like to download it now? Release Notes: Changes Since 1.54 • Fix bug 137, homepage link in Help Book. • First release in a long time, since I don't use TeX anymore and resent the very idea of paying Apple annually for the privilege of giving away free and open-source software. Also, I'm really lazy. Please accept my apologies for all the annoying issues you've encountered in this mission-critical software. • Updated mirror list, which was three years out of date. • Added missing legacy mirrors, which was even more out of date. • Added an alert on startup when user tries Homebrew's lobotomized MacTex, because those lunatics left timgr but removed its database. Thanks for nothing, guys. Bug 142 and 144. • Use a custom user-agent to work around the Anubis bot trap on texlive.info. Can't wait to see what else breaks because of this, thanks to the profusion of degenerate Artificial Insemination fetishists scraping websites to feed their models. • Lists of countries in Repository/Continent are now sorted. No idea how you people let me get away with that one for the last fifteen years.

There's a "is anyone even reading this" sort of honesty you get in the software update release notes from a project that's been around for a long time.

1 month ago 1337 330 19 16
Advertisement

And they call it "reproducible", despite the fact that NixOS users will never reprodu-

1 month ago 110 17 5 1

Fuck this and everyone who helped get things to this point. Trans rights are human rights—full stop.

1 month ago 3975 1071 71 22

[whispering to paramedic before I pass out] save me but not enough that I have to go to work tomorrow

1 month ago 1868 313 12 2
Preview
Certbot Get your site on https://

hey @manjaro.org just wanna say that certbot.eff.org is actually free to use - also, fun fact, most reverse proxies actually do something called “automatic cert renewal” just incase yall didn’t know 💚

1 month ago 36 5 4 0

And yet it’s even more dumb: Both hospital ships are in dry-dock in Alabama, so they won’t be arriving anytime soon.

This is a weird distraction from the Danes medically evacuating a sick US sailor from a US Navy nuclear sub yesterday 9 miles from Nuuk. What was a sub doing nine miles from Nuuk?

2 months ago 2491 951 140 65
Preview
Amid Trump crackdown on Chinese students, one US university appears to block them altogether Purdue says no ban on Chinese students exists, but reportedly rescinded dozens of offers after warnings from legislators

I want us to understand this in the context of these same people killed affirmative action using Chinese-American plaintiffs because they said helping Black people was discriminatory against Asian Americans and anti-merit. Once again: it was never about that. www.theguardian.com/us-news/2026...

2 months ago 1742 574 27 21
Preview
Hackers Expose Age-Verification Software Powering Surveillance Web Three hacktivists tried to find a workaround to Discord’s age-verification software. Instead, they found its frontend exposed to the open internet.

Hacktivists tried to find a workaround to Discord’s age-verification software, Persona. Instead, they found its frontend exposed to the open internet, and that was just the beginning.

www.therage.co/persona-age-...

2 months ago 1224 604 25 56
Advertisement

They raided the jailed children to steal their letters.

The problem, in federal officials' minds, wasn't confining children in prison-camp conditions; it was that the children could tell the public about it.

2 months ago 4001 2007 44 47

A prominent Bluesky elder already hosts Jeopardy

2 months ago 20642 1489 201 60

Heard someone refer to a (large) datacenter as an "ohio-class datacenter" and now I only want to hear datacenter sizes referred to by reference to submarine classes

2 months ago 949 140 41 20

The RFK number seems like a massive failure of the media to explain what RFK is doing to our public health system and how catastrophic it will be

2 months ago 2175 455 55 27
Post image Post image Post image

Crazy story: A bank analyst published a report showing Kalshi users lose money even faster than sports gamblers, so Kalshi first tried to pressure the data provider to change their data and then accused them and the analyst of conspiring to extort them when that doesn’t work.

2 months ago 2055 547 31 53
Rust Book, Chapter 2: Programming a Guessing Game Chapter Two introduces a wide range of Rust constructs to build something a little more substantial than Hello, World. In this post, we’ll try to map Rust’s approach to mutability, error handling, and side effects to `val=/=var`, `Either`, and `IO`. None of these mappings is perfect, because the two languages diverge in more than syntax, but much remains familiar. ## New projects # `cargo new` is much like `sbt new`, but lacks the templating power of giter8. It isn’t as necessary in Rust, because we’re not trying to embed our domain name in a package statement or directory structure, but expect to add your own project metadata, like `authors` and `license`. ## `let` and `let mut` # Scala has two orthogonal notions of mutability: * Reference: A `var` can be reassigned to a different reference, whereas a `val` can’t. * Data: An `Array` is mutable, and a `List` is immutable. | Immutable reference | Mutable reference ---|---|--- Immutable data | `val x = List(1, 2)` | `var y = List(1, 2)` Mutable data | `val z = Array(1, 2)` | `var w = Array(1, 2)` In Typelevel Scala, we aspire to the top left quadrant, avoid the bottom right. Sometimes we put one degree of mutability in `IO`, but carefully wash our hands before returning to work. In Rust, both kinds of mutability are determined by the `mut` keyword. | Immutable reference | Mutable reference ---|---|--- Immutable data | `let x = vec![1, 2]` | Mutable data | | `let mut w = vec![1, 2]` Instead of separate mutable and immutable collections, the individual operations may take either an immutable or mutable reference to the collection. This lets us mutate the vector referenced by `w` (e.g., `w[0] = 3`) or reassign `w` to a new `Vec` (e.g., `w = vec![3, 4]`). Both of these are disallowed on `x`. ## Associated functions # Rust’s associated functions, like `String::new()`, serve a similar purpose to Scala’s companion objects. ## `Result` # A Rust `Result` is either `Ok` or `Err`. Either? Yeah, like Scala’s `Either`! Scala calls them `Left` and `Right`, and it’s only by convention (and the convenience of `map` and friends) that the okay type goes on the right and the error type goes on the left. Rust gives us better names, which is a good thing, because it flips the order of the parameters from what Scala developers are used to. Early versions of Cats had `Xor`. Not only was my shitpost that we should call them `Sinister` and `Dexter` denied, but the type was removed altogether. Rust’s judgmental names sound more like Scala’s `Success` and `Failure` from `Try`. But only a `Throwable` can go in `Failure`, whereas Rust allows anything in `Err`, just like `Left`. ## Footguns # Like Scala, Rust promises us safety and mostly delivers, but gives us a few functions to point at our feet and shoot off our toes. Rust’s `result.expect(s)` is similar to Scala’s `option.get`, but worse: Scala throws an exception that might be recovered, whereas Rust panics before a dramatic, error-coded exit. Like Scala, linters can help. Like Scala, such methods are often less verbose if you think you’re smarter than the type system. Like Scala, you’re usually not. ## Lockfiles # We won’t go deep into crates vs. jars now, except to emphasize that a `Cargo.toml` file can resolve to different versions of dependencies over time. If you don’t check in your `Cargo.lock` today, you may be saying “worked on my machine” to a frustrated colleague in the future. ## We aren’t in FP anymore, Alice # This chapter is printing to the console, reading from the console, generating random numbers, and nary an `IO` in sight. This is not different from standard Scala, but is jarring coming from Typelevel Scala. We find a lot in Rust that’s familiar: its enums are like Scala’s sealed traits. We already discussed `Result` and `Either`. Its pattern matching brings a new syntax but most of the same benefits and safety. But to be successful in this journey, we need to accept that mutability is more acceptable, and that we’ll rely on different safety nets like the borrow checker to keep us safe. You’ll miss some things and appreciate other things and that’s okay because they’re different languages, even if a lot of us enjoy both. ## Shadowing # In Scala, it’s frowned on to shadow an existing variable in a tighter scope, and forbidden in the same scope. It’s socially acceptable in Rust. CC-BY-SA-4.0 let mut guess = String::new(); io::stdin() .read_line(&mut guess) .expect("Failed to read line"); let guess: u32 = guess.trim().parse().expect("Please type a number!"); This can get confusing in a large function. In a small function, it ties together the transformation from an unwanted, mutable `String` to the desired, immutable `Int` without any namespace pollution. Use with care.

Chapter 2 of my Scala Developer's notes on the Rust Book:

rossabaker.com/blog/rust-book-programmi...

#Rust #Scala

3 months ago 1 1 0 0