Show newer
Gavin Zhao boosted

OpenAI: (chews on dataset)
World: what’s that in your mouth?
OpenAI: (chews faster)
World: WE SAID WHAT’S THAT IN YOUR MOUTH SPIT IT OUT

Gavin Zhao boosted

AMDGPU LLVM Adding GFX 9/10/11 "Generic Targets" To Build Once & Run On Multiple GPUs

Code merged today to mainline LLVM is preparing for the notion of generic targets across the GFX9, GFX10, and GFX11 GPU families. With follow-on work these generic targets are aiming to allow compiling code once and then running across multiple GPUs in the given hardware family...
phoronix.com/news/LLVM-AMDGPU-

@peecatboo 我记得有ASMR读论文的,你可能感兴趣 :ac_classic01:

Gavin Zhao boosted

the trouble with writing is that it's literally always easier to lie on the floor making seal noises

Gavin Zhao boosted

Heya, folks! We want to start the new year off right, and what better way to do that than a new Solus release? That's right, Solus 4.5 Resilience is now available to everyone! A ton of work has gone into this release, including a new installer with #Calamares, and a new #XFCE Edition!

Blog post: getsol.us/2024/01/08/solus-4-5
Downloads page: getsol.us/download/

#Solus #Linux #OpenSource #foss #Resilience

- Evan

Gavin Zhao boosted

Like when I can’t get Rust to work it’s usually because it’s stopping me from doing something dumb, whereas when I can’t get C to work it’s always because it has allowed me to do something extremely dumb.

Show thread
Gavin Zhao boosted
Gavin Zhao boosted

Announcing the official release of Fedora Asahi Remix 39!

Props to the Asahi Linux project and the Fedora Asahi SIG for all their work in providing a stable Linux experience on Apple Silicon.

* All MacBook Air, MacBook Pro, Mac Mini, Mac Studio and iMac systems with M1 and M2 chips are supported
* KDE Plasma is the default desktop environment
* Wayland enabled by default
* The speakers work, baby!

Announcement: fedoramagazine.org/introducing
Download: asahilinux.org/fedora/

#Fedora #Asahi #Linux

Gavin Zhao boosted

join the petition to tax higher order functions from programming! don't let devs get away without paying maintenance tax when they casually add a continuation parameter and pass a function defined 100k lines away in the codebase

Gavin Zhao boosted

The #Lean4 project to formalize the proof of the Polynomial Freiman-Ruzsa conjecture has succeeded after three weeks, with the dependency graph completely covered in a lovely shade of green: teorth.github.io/pfr/blueprint , and the Lean compiler reporting that the conjecture follows from standard axioms.

More discussion on the project can be found at leanprover.zulipchat.com/#narr

Gavin Zhao boosted

ghc wasm backend jsffi has finally been implemented! the rest is source notes as well as user-facing documentation. not sending a #haskell discourse thread yet, but for the curious eyes, here's what's supported so far (and also an ama thread):

1. calling sync js function

foreign import javascript unsafe "console.log($1)" js_log :: JSVal -> IO ()

js src text can be any valid js expr or statements, using $1 etc to refer to the haskell arguments. JSVals are first class haskell values and garbage collected.

2. calling async js function

foreign import javascript "fetch($1)" js_fetch :: JSString -> IO JSVal

await is supported in js src text. calling it initiates the side effect immediately, and returns a thunk that only blocks on promise resolution when forced, allowing concurrency without even needing to fork haskell threads. promise rejections are captured as haskell exceptions.

3. js callback -> haskell function

foreign import javascript "dynamic" js2hs :: JSVal -> Arg1 -> Arg2 -> Result

pretty much same thing like "dynamic" ccalls, though we use JSVal to represent a js callback instead of FunPtr.

4. hs function -> js callback

foreign import javascript "wrapper" hs2hs :: (Arg1 -> Arg2 -> Result) -> IO JSVal

yup, this converts any haskell function closure to a js callback that you can pass to 3rd party frameworks. it's garbage collected on the js side as well, the haskell closure will be dropped if the callback is unreachable in js later.

5. foreign exports

foreign export javascript "js_func_name" hs_func_name :: Arg1 -> Arg2 -> Result

this will end up as a wasm export named "js_func_name" directly callable in js, and it returns a promise of the final result that can be awaited.

the hardest part of all the above work is concurrency & re-entrancy: calling async js should be cheap, should not block the runtime, should play well with existing threading model in haskell. and hs can call into js that calls back into hs, indefinitely. i'll write up more detailed explanation on how this is delivered

Gavin Zhao boosted

RT GyDi
Git可以这样根据不同的目录去区分git配置,这样就可以对不同的项目设置不同的全局user email了

:sys_twitter: twitter.com/zzzgydi/status/171

Gavin Zhao boosted

A funny thing going on in the Chinese Inochi2D community is that they’ve decided to call me the Chinese equivalent of “Lunaお姉さん” or “big sister Luna”. Honestly, I don’t mind it lmao

Apparently they think I have a big sister vibe lol

The term they use specifically is "Luna姐姐" which is in a endearing/cute kind of tone from what Chinese speaking friends of mine have told me 🦊

Gavin Zhao boosted

⠀⠀⠀⠀⠰⢷⢿⠄
⠀⠀⠀⠀⠀⣼⣷⣄
⠀⠀⣤⣿⣇⣿⣿⣧⣿⡄
⢴⠾⠋⠀⠀⠻⣿⣷⣿⣿⡀
🏀 ⠀⢀⣿⣿⡿⢿⠈⣿
⠀⠀⠀⢠⣿⡿⠁⠀⡊⠀⠙
⠀⠀⠀⢿⣿⠀⠀⠹⣿
⠀⠀⠀⠀⠹⣷⡀⠀⣿⡄
⠀⠀⠀⠀⣀⣼⣿⠀⢈⣧

Gavin Zhao boosted
Gavin Zhao boosted

I'm excited to announce a new "prefaculty" position working with the type systems team at Jane Street on the OCaml compiler!

I think this should be an exciting position for someone who is starting off their academic career and is looking to learn more about large scale practical applications of type systems, and to build longer term research connections.

Please retoot!

janestreet.com/join-jane-stree

Show older
小森林

每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢。愿这里,成为属于你的小森林。