@yosh@toot.yosh.is
@yosh@toot.yosh.is avatar

yosh

@yosh@toot.yosh.is

Better things are not only possible; they're within reach.

Concurrent Computing ←
Programming Language Design ←
Rust and WebAssembly at Microsoft ←

u(๑╹ᆺ╹)

This profile is from a federated server and may be incomplete. Browse more on the original instance.

yosh, to random
@yosh@toot.yosh.is avatar

Heh, apparently the AT-protocol is very “git-like”? I should probably look at it more closely sometime.

Paul Frazee, one of the protocol designers at Bluesky used to also work on the Hypercore project a few years back – I did too. I wouldn’t be surprised if a lot of Hypercore’s ideas ended up making it into Bluesky/AT. But how good a foundation that is for a social network is a good question — ?

yosh,
@yosh@toot.yosh.is avatar

The idea behind Hypercore was to create BitTorrent-like archives which can be updated over time. The way this was achieved was by via two data structures:

  1. A tree structure containing hashes of hashes (Merkle tree)
  2. A directory structure containing data chunks + signature prefixes

The idea was that using private/public key pairs, the author of the data could add new chunks and sign them, and clients could validate them using the public key. The Merkle tree was used for content integrity.

yosh, to random
@yosh@toot.yosh.is avatar

The new GitHub code search feature just launched for everyone to use! - I've been using it for over a year now, and it's so good. Also interestingly: the core of it is entirely written in Rust!

https://github.blog/changelog/2023-05-08-the-new-code-search-and-code-view-is-now-generally-available/

yosh, to random
@yosh@toot.yosh.is avatar

Listened to an hour long discussion of hyper objects and now my brain has the consistency of scrambled eggs

yosh,
@yosh@toot.yosh.is avatar

A hyper object is an object that is real and exists, yet we can only ever indirectly interact with. For example: capitalism is a hyper object.

Most interesting imo is the idea of false hyper objects. Even if you’re not aware of capitalism, you still feel its presence in interactions with other objects. But that presence can be incorrectly ascribed to something else, which is potentially unreal. For example: meritocracy seems like a false hyper object.

yosh,
@yosh@toot.yosh.is avatar

Anyway, that’s as far as I’ve understood it. Do I like it? Eh, unsure. I do like having different framings to talk about real abstract things. Plato and his cave gives the same vibes, but it doesn’t really feel like it has much relevance to political reality. Idk. Having tools to discuss and understand the abstract seems important.

yosh,
@yosh@toot.yosh.is avatar

@xgranade heh, interesting!

yosh, to random
@yosh@toot.yosh.is avatar

My talk “Extending Rust’s Effect System” has been accepted for RustConf 2023!

In it I’ll be presenting the work @oli and I have been doing on effect systems in Rust via the keyword generics initiative. Looking forward to seeing some of you in Albuquerque in September!

yosh, to random
@yosh@toot.yosh.is avatar

TIL statics don’t run destructors on program termination, as if I needed another reason not to like them.

yosh,
@yosh@toot.yosh.is avatar

@ekuber

> we don't have a great solution for "do this on program start before main"

Oh boy, do I have a crate for that: https://docs.rs/paw/latest/paw/ -- I still believe we should eventually add some version of this, though probably something closer to what @sunfish has made for WASI environments.

yosh, to random
@yosh@toot.yosh.is avatar

On the Inside Rust blog: Stabilizing async fn in traits in 2023 (!)

I’m like, incredibly excited we’re shipping this!

https://blog.rust-lang.org/inside-rust/2023/05/03/stabilizing-async-fn-in-trait.html

yosh, to random
@yosh@toot.yosh.is avatar

Honestly: interacting with bureaucracies and succeeding hits the exact same dopamine spot for me as successfully setting up infra and like getting deploy pipelines going.

I don't know why tho lol. Maybe it's the: "I've done the rules good” part of my brain that gets rewarded?

yosh,
@yosh@toot.yosh.is avatar

@hazelweakly lmaoo

yosh, to random
@yosh@toot.yosh.is avatar

I’m curious about schema-unaware type-safe builders for say, SQLite or PostgreSQL. I think it should be possible to encode a query like:

SELECT name FROM people LIMIT 10;  

Using something like the following:

let query = select(“name”)  
 .from(“people”)  
 .limit(10);  
yosh,
@yosh@toot.yosh.is avatar

In order to achieve “full type safety” you necessarily need to be aware of the underlying schema. But because Rust doesn’t control the schema for most relational databases, it usually means doing codegen (either via macros or separate build steps).

Which in turn means generating queries. And exactly there is a small missing layer of type safety that seems like it could be fun to work on – because it would make it easier to build more tools on top.

yosh,
@yosh@toot.yosh.is avatar

(In hindsight I wish I would have had the initiative and knowledge I have now to build something like this when I worked at a Rust-centric database company a few years ago. Alas,)

yosh, to random
@yosh@toot.yosh.is avatar

I've been using the Warp terminal for about a week now. My main thought so far is that I wish it was integrated into VS Code. Some features I don't really care for; but the graphical separation between commands is actually really great!

Ever since I switched from a terminal-first workflow to an IDE-first workflow, using terminal-exclusive tooling has been something I've had a lot less need for.

yosh, to random
@yosh@toot.yosh.is avatar

A part of the Windows Win32k GDI module has been ported to Rust and has been merged into Windows — which means Windows will soon be booting with Rust in the kernel! 🥳🦀

https://youtu.be/8T6ClX-y2AE?t=3070

yosh,
@yosh@toot.yosh.is avatar

The Win32k module in Windows is a common source of vulnerabilities. Which means rewriting it in a memory-safe language could be very impactful.

The performance of the Rust rewrite so far seems really good, and unsafe is mostly used for FFI. Meaning as more code is ported, the number of unsafe calls is going down.

yosh,
@yosh@toot.yosh.is avatar

Rewriting the entire Windows operating system in Rust is not something which is realistic right now — the scale of the project is just too big for that.

Instead this is an experiment in targeting one of the most vulnerable parts of Windows, and rewriting that. And that’s been so successful, it’s actually going to be shipping soon! Which is a huge deal!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • ngwrru68w68
  • modclub
  • magazineikmin
  • Youngstown
  • osvaldo12
  • rosin
  • slotface
  • khanakhh
  • mdbf
  • GTA5RPClips
  • provamag3
  • tacticalgear
  • InstantRegret
  • cubers
  • tester
  • ethstaker
  • everett
  • Durango
  • cisconetworking
  • normalnudes
  • anitta
  • Leos
  • megavids
  • lostlight
  • All magazines