Email or username:

Password:

Forgot your password?
26 posts total
Asahi Linya (朝日りにゃ〜)

I swear that's how it works!!!

How did you get into programming? ✨

#CyanTechMeme

Show previous comments
Malva 🏳️‍⚧️

@lina ALT: A cartoon showing a woman being interviewed. She looks disoriented.
The reporter asks: “How did you become a programmer?”
The woman answers: “I just keep Googling stuff and it keeps working”

cermak_rd

@lina I wanted to make a train cross my TV (using a TRS-80). This was compensation for not having a model railroad. No Google. I had a book.
I still don't have a model railroad, but that project opened a lot of doors for me.

FightScore

@lina I mean, Google helps a lot, for sure. But the fundamentals I owe from my teachers. 😁😁😁 Did anyone ever say, "Google, code this..." 🫢

Show previous comments
Sarotar

@cyan@vt.social @lina@vt.social отмечаемся под этим постом, братья-славяне, дети Яра ​:Jokerge:​

mbeavitt

@lina @cyan

Hey Lina!

I was just wondering, since you 'put compiling with debug' here, what debug toolkits do you use for kernel/driver work? Is GDB still cool or in the era of Rust, is it all compiler checks?

Sincerely,
GDB's biggest fan

MostlyBlindGamer

#alt4you single panel comic:
Pink text “$ /bin/cat”
In a pink wheeled garbage bin that’s leaning back at 45% with the lid open, @lina sticks her head out, winks and waves her hand. A star draws attention to her car ears.

Asahi Linya (朝日りにゃ〜)

Almost every thread about Rust for Linux ends up with someone saying "why not Zig instead"? And usually the answer is just "it's less mature" or "nobody pushed it".

I didn't know anything about Zig, so I decided to take a look today... and I'm not very impressed ^^;;

I learned that Zig does not have:

- Destructors
- Macros
- Lifetimes
- Operator overloading

Those are major reasons why I chose Rust for the drm/asahi driver...

It sounds like Zig is trying to be "modern C"... but the whole point of R4L is to not get stuck with C!

All those things Rust has that Zig doesn't are important for the things I'm doing.

Destructors/RAII are fundamental to how the driver tracks and cleans up firmware structures safely and reliably when needed. If I had to write "defer" everywhere it would be a bug-prone mess...

Rust's amazing macros are how I deal with the firmware versioning differences while keeping the driver maintainable. In C you can sort of do that (poorly) with the preprocessor... but Zig doesn't have that either, so that's actually a step back from C, as far as I can tell...!

I don't think I really need to explain lifetimes/memory safety, that's the one thing everyone knows is different between the languages... I'll just say, I am certain I wouldn't have gone from "first render" to "stable accelerated Linux desktop" in 2 days without memory safety.

(continued)

Almost every thread about Rust for Linux ends up with someone saying "why not Zig instead"? And usually the answer is just "it's less mature" or "nobody pushed it".

I didn't know anything about Zig, so I decided to take a look today... and I'm not very impressed ^^;;

I learned that Zig does not have:

Asahi Linya (朝日りにゃ〜)

Operator overloading is the one I could live without... but it still would have been very annoying to have to use functions to do all the complex GPU power management calculations that I built on top of a simple soft float implementation (no real floats in the kernel!).

I have nothing against Zig, it looks like a neat programming language and it definitely has its place!

... but I don't think that place is writing complex operating systems and drivers today. At least I'm pretty sure it wouldn't have worked for my Apple GPU driver.

Edit: I'm getting a bunch of comments pointing out Zig's compile-time evaluation and metaprogramming features. I've looked into it a bit more, and so far my conclusion is "it's impressive and clearly very well designed and powerful... but for the very specific problem I'm personally trying to solve, Rust macros still work better"

Edit 2: People have come up with solutions to my versioning problem in Zig that are pretty similar to what I do in Rust with macros, so I'll retract that point. The other three still stand though, and the safety and destructors ones are pretty important ^^

Operator overloading is the one I could live without... but it still would have been very annoying to have to use functions to do all the complex GPU power management calculations that I built on top of a simple soft float implementation (no real floats in the kernel!).

I have nothing against Zig, it looks like a neat programming language and it definitely has its place!

Asahi Linya (朝日りにゃ〜)

If you're trying Steam games on Asahi Linux and you have one of the higher spec machines, don't be afraid to try turning up the graphics settings!

The VM and x86 emulation stuff causes CPU overhead and latency, but it doesn't affect the GPU, so you might find that a game that can't hit 60FPS at 1080p is CPU-bound and the frame rate doesn't actually drop that much at 1440p or even 4K or with higher texture quality. Just keep in mind higher res = more RAM usage!

I'll work on optimizing some known latency/CPU issues in the future ^^

If you're trying Steam games on Asahi Linux and you have one of the higher spec machines, don't be afraid to try turning up the graphics settings!

The VM and x86 emulation stuff causes CPU overhead and latency, but it doesn't affect the GPU, so you might find that a game that can't hit 60FPS at 1080p is CPU-bound and the frame rate doesn't actually drop that much at 1440p or even 4K or with higher texture quality. Just keep in mind higher res = more RAM usage!

Asahi Linya (朝日りにゃ〜)

From a Discord comment about this post:

you know, i'm surprised lina and cyan talk about something so personal publicly

I think people don't write enough about healthy relationship dynamics. Sure, it's personal, but how are others supposed to learn what is healthy and what isn't if we don't talk about it?

The internet is full of horror stories about abuse, neglect, weaponized incompetence, cheating... but you almost never see long posts about positive relationship situations. The bad stories are a good reference for what not to do... but how are people going to learn what to do?

The way relationships are presented in media is very stereotyped, dry and often ritualistic (and sometimes actually veering on abuse or toxicity even when that is not the intent), but it's the only reference a lot of young people have for this stuff. Is that really okay?

I get the feeling a lot of people fall into "tolerable" relationships because they feel obliged to, or due to peer or family pressure, and they never realize that's not how it's supposed to be, because they just don't know. They think that as long as you aren't having regular fights with your partner and there is no physical abuse, that's a healthy relationship. But that's just the lowest bar...

I waited many years until I found Cyan, but I'm so glad I did. 🩵

https://vt.social/users/cyan/statuses/113256887195850285

From a Discord comment about this post:

you know, i'm surprised lina and cyan talk about something so personal publicly

I think people don't write enough about healthy relationship dynamics. Sure, it's personal, but how are others supposed to learn what is healthy and what isn't if we don't talk about it?

King Zog I of Albania
@lina @cyan I'm in a happy relationship and try to be as open about what does work for us as what doesn't work for us. It's healthy to understand what a relationship takes rather than how to ruin it, otherwise you spend the entire time walking on eggshells or scared to get into one.

My grandparents were married for over 70 years. The best advice I got for a relationship was a simple line I overheard my grandmother say: "marriage is hard work." But you do get out what you put in.
@lina @cyan I'm in a happy relationship and try to be as open about what does work for us as what doesn't work for us. It's healthy to understand what a relationship takes rather than how to ruin it, otherwise you spend the entire time walking on eggshells or scared to get into one.
Retro Goth Bunny

@lina The stuff shown on media is often so horrible that I genuinely thought relationships are more trouble than they are worth.

Then again, I turned out to be aro, so :akkoShrug:

But honestly, it's only on fedi do I start seeing relationships that don't look like they are about to crash and burn (or are already on fire).

Asahi Linya (朝日りにゃ〜)

I regretfully completely understand Wedson's frustrations.

lore.kernel.org/lkml/202408282

A subset of C kernel developers just seem determined to make the lives of the Rust maintainers as difficult as possible. They don't see Rust as having value and would rather it just goes away.

When I tried to upstream the DRM abstractions last year, that all was blocked on basic support for the concept of a "Device" in Rust. Even just a stub wrapper for struct device would be enough.

That simple concept only recently finally got merged, over one year later.

When I wrote the DRM scheduler abstractions, I ran into many memory safety issues caused by bad design of the underlying C code. The lifetime requirements were undocumented and boiled down to "design your driver like amdgpu to make it work, or else".

My driver is not like amdgpu, it fundamentally can't work the same way. When I tried to upstream minor fixes to the C code to make the behavior more robust and the lifetime requirements sensible, the maintainer blocked it and said I should just do "what other drivers do".

Even when I pointed out that other C drivers also triggered the same bugs because the API is just bad and unintuitive and there are many secret hidden lifetime requirements, he wouldn't budge.

One C driver works, so Rust drivers must work the same way.

I regretfully completely understand Wedson's frustrations.

lore.kernel.org/lkml/202408282

A subset of C kernel developers just seem determined to make the lives of the Rust maintainers as difficult as possible. They don't see Rust as having value and would rather it just goes away.

Show previous comments
Tzafrir

@lina

Reading through the discussion in LWN, I see reasonable arguments as to why there are problems. See e.g. lwn.net/Articles/987817/ (a subthread in that discussion).

fluke

@lina It smacks of what I experienced as a heavy fabrication welder fitter turner. All over again. Old farts refuse to adopt newer safer practices because “we’ve always done it this way and it’s worked for us why do we need to change”.

Asahi Linya (朝日りにゃ〜)

I just coughed and @cyan INSTINCTIVELY GAVE ME A HEADPAT IN HER SLEEP WITHOUT OPENING HER EYES AAaaaaAAAAaaaaA©=€{¢×|÷•°¥✓€[€[€}~}{|¥{ 🩵🩵🩵🩵

Asahi Linya (朝日りにゃ〜)

🚀 Weekend collab #1 🚀

@lethalbit says I can design my own digital chips but I don't believe her!!!!! Whaaaa? How does that work? 🤯

Let's learn VLSI chip design with Aki-sensei!!! ✨✨

🕐 December 9th at 13:00 JST / 4:00 UTC
▶️ youtube.com/live/kUB9Ub8ceKY

Show previous comments
Gen X-Wing

@lina @lethalbit Nothing was this cool when I went to school. This sounds like edutainment. 頑張って!

Lixou 🏝️

@lina @lethalbit OMG YES!! I'm currently also learning chip design, lets see what aki can teach :3 (wait.. german timezone kicks in.. 5am :>)

Asahi Linya (朝日りにゃ〜)

✨ Collab Announcement!!! ✨

Did... did I just hack macOS??? Join me and Cyan Nyan to hear the story of that time I found a major security bug in macOS and got a bounty from Apple!!

🎦 youtube.com/shorts/ToulgVAofw8
🕚 September 17th at 11:00 JST / 2:00 UTC
▶️ youtube.com/live/hDek2cp0dmI
Cyan Nyan: twitter.com/CyanNyan6

Asahi Linya (朝日りにゃ〜)

This is scary. It's (strong) SafetyNet for websites.

Every now and then I run into another Android app I can no longer run because someone decided my phone, running an official build of my choice of OS, that isn't even rooted, is "not trustable".

Now they want to start doing that for websites.

This kills open Linux on the desktop (including Asahi Linux). It kills alternative browsers. It is a backdoor to kill ad blockers.

No. Just no. Please.

github.com/RupertBenWiser/Web-

This is scary. It's (strong) SafetyNet for websites.

Every now and then I run into another Android app I can no longer run because someone decided my phone, running an official build of my choice of OS, that isn't even rooted, is "not trustable".

Now they want to start doing that for websites.

This kills open Linux on the desktop (including Asahi Linux). It kills alternative browsers. It is a backdoor to kill ad blockers.

Show previous comments
Alonely0 🦀

@lina GrapheneOS on my P6a is enough for me to not be able to use Google Pay.

manu

@lina I’m sorry, but ensuring the client environment will "keep intellectual property secure" is the OPPOSITE of an open internet, not its backbone. The audacity..

Asahi Linya (朝日りにゃ〜)

I got one reply to this on Twitter and 12 on Mastodon, even though I only have half the followers here!

Conclusion: The Fediverse is much better for catgirls than Twitter nya~

Show previous comments
elly
@lina That's the law of fedi, communication encrypted with NYA-512 by default
Caroline 💜

@lina At least you got some salmon tho, that guy’s the realest twitter user for giving free food

Asahi Linya (朝日りにゃ〜)

I get a lot of questions about my Linux voice chain! Here's what it looks like~ 🎤

It all runs on Carla on my M2 streaming machine next to OBS and Inochi2D! All the plugins are from the LSP, x42, and Calf packs (except DragonFly which is stand-alone), all open source!

Asahi Linya (朝日りにゃ〜)

💫 Sudden collab time!!!! 💫

Doing Mesa MSAA code review with Alyssa NOW!!!!!!!

youtube.com/live/7KpLp-Rfe9k

Asahi Linya (朝日りにゃ〜)

OMG I just hit 10000 followers on VT Social!!!! Thank youuuuuuuuu!!!!!! 😭😭😭😭😭

I never thought this would take off so much... Thank you everyone for believing in me and the Fediverse!! I feel a lot more comfortable knowing that even if Twitter dies tomorrow you'll all still be here 💖💖

Asahi Linya (朝日りにゃ〜)

🚀 KDE Plasma works on the Apple M2 MAX!!! 🚀

After a 14h stream, it works!!! Running WebGL Aquarium, glmark2, and glxgears on the Apple G14C GPU!!

There are still some buffer sizing issues to work out but we're up and running! ✨✨

See you all next stream~!

Asahi Linya (朝日りにゃ〜)

Just a few minutes left until the end of the year! ✨✨

This year was truly amazing and it's all thanks to my friends who made everything possible and everyone who supported me in my crazy journey! ❤️

Let's make next year even more amazing!!!! 🚀

Asahi Linya (朝日りにゃ〜)

I should probably write some new year's resolutions ^^

- Make more friends!
- Do more collabs (1/month would be nice)
- Spend more time making music and release at least one song
- More gaming streams!
- Actually go on a proper vacation
- Upstream the M1/M2 GPU driver ✨

Asahi Linya (朝日りにゃ〜)

✨ Collab announcement!!! ✨

I'm doing a collab with Yume-chan tomorrow morning!! 💫

I'll be a guest on her CAFE AkatsuTEA program~ ❤
I'm so excited!!!! I hope to see you there!!!

Stream starts on Saturday the 17th at 10:00 JST / 01:00 UTC!

RT @akatsukiyumerin@twitter.com
୨♡┈┈┈┈┈┈┈♡୧
CAFE AkatsuTEA
୨♡┈┈┈┈┈┈┈♡୧
Today's Guest✨
Linux Developer Programmer
✨Asahi Lina⌨ (@LinaAsahi )

💖youtu.be/YU4oDXA8Xgs
🌸12/17 10:00 JST | 12/16 17:00 PST

#CAFEAkatsuTEA #ENVtubers

✨ Collab announcement!!! ✨

I'm doing a collab with Yume-chan tomorrow morning!! 💫

I'll be a guest on her CAFE AkatsuTEA program~ ❤
I'm so excited!!!! I hope to see you there!!!

Stream starts on Saturday the 17th at 10:00 JST / 01:00 UTC!

RT @akatsukiyumerin@twitter.com
୨♡┈┈┈┈┈┈┈♡୧
CAFE AkatsuTEA
୨♡┈┈┈┈┈┈┈♡୧
Today's Guest✨
Linux Developer Programmer
✨Asahi Lina⌨ (@LinaAsahi )

Sir David Nielsen

@lina damn now you are double team those bugs, I almost feel sorry for them.

Go Up