Tales of the M1 GPU(asahilinux.org) |
Tales of the M1 GPU(asahilinux.org) |
The resident C/C++ experts here would have you believe that the same is possible in C/C++. Is that true?
In C++? Maybe, but you’d need to make sure you stay on top of using thread safe structures and smart pointers.
What Rust does is flip this. The default is the safe path. So instead of risking forgetting smart pointers and thread safe containers, the compiler keeps you honest.
So you’re not spending time chasing oddities because you missed a variable initialisation, or you’re hitting a race condition or some kind of use after free.
While there’s a lot of people who say that this slows you down and a good programmer doesn’t need it, my experience is even the best programmers forget and (at least for me), I spend more time trying to reason about C++ code than rust, because I can trust my rust code more.
Put another way, Rust helps with reducing how much of the codebase I need to consider at any given time to just the most local scope. I work in many heavy graphics C and C++ libraries , and have never had that level of comfort or mental locality.
For me it isn't even that it catches these problems when I forget. It is that I can stop worrying about these problems when writing the vast majority of code. I just take references and use variables to get the business logic implemented without the need to worry about lifetimes the entire time. Then once the business logic is done I switch to dealing with compiler errors and fixing these problems that I was ignoring the first time around.
When writing C and C++ I feel like I need to spend half of my brainpower tracking lifetimes for every line of code I touch. If I touch a single line of code in a function I need to read and understand the relevant lifetimes in that function before changing a single line. Even if I don't make any mistakes doing this consumes a lot of time and mental energy. With Rust I can generally just change the relevant line and the compiler will let me know what other parts of the function need to be updated. It is a huge mental relief and time saver.
Smart pointers are no panacea for memory safety in C++ though: even if you use them fastidiously, avoiding raw pointer access, iterator invalidation or OOB access will come for you. The minute you allocate and have to resize, you're exposed.
For what it’s worth, the same is true of Swift. But since much of the original Rust team was also involved with Swift language development, I guess it’s not too much of a surprise. The “unsafe” api requires some deliberate effort to use, no accidents are possible there. It’s all very verbose through a very narrow window of opportunity if you do anything unsafe.
Talking of C++ it can be really solid to work with your own data structures where you control code on both ends. Using templates with something like boost::serialization or protobuf for the first time is like magic. E.g you can serialize whole state of your super complex app and restore it on other node easily.
Unfortunately it's just not the case when you actually trying to work with someone else API / ABI that you have no contol over. Even worse when it's moving target and you need to maintain several different adapters for different client / server versions.
More recently, it's fairly common to use a hypervisor or simulator for kernel debugging in device driver development on Windows via Hyper-V.
A lot of Linux driver development is done using qemu as well, although this is usually more targeted and isn't quite the same "put a thin shim over the OS running on the hardware" approach.
The flexibility and I/O tracing framework in m1n1 are pretty uniquely powerful, though, since it was built for reverse engineering specifically.
But the modern day these development is crazy.
How can yo manage a 100+ structure in a language you just learnt (Rust) for a secret GPU the vendor does not share info.
I'm totally fine with it (I'm grateful the story is being told at all), but it is surreal tone for technical writing.
> The compiler is very picky, but once code compiles it gives you the confidence that it will work reliably.
> Sometimes I had trouble making the compiler happy with the design I was trying to use, and then I realized the design had fundamental issues!
I experience a similar sentiment all the time when writing Rust code (which for now is admittedly just toy projects). So far it's felt like the compiler gives you just enough freedom to write programs in a "correct" way.
I don't really do unsafe/lower-level coding, so I can't speak to much there however.
The 2015MBP one was the last one that was passable for me, what came after is horrible. Even the new MBP that has real ports again is still not as good as the 2015 in terms of keyboard.
And the coprocessor called “ASC” also have similarities with Python, where the GPU is doing the heavy lifting, but the ASC (like Python) interact using shared memory. The same Python is doing with a lot of its libraries (written in C/C++)
It's a processor, not a programming language :) The team has essentially strapped the API into something that you can poke with Python instead of with a native driver.
Awesome job.
For one example, Windows ARM kernels are pretty tied to the GIC (ARM's reference interrupt controller), but Apple has its own interrupt controller. Normally on ntoskrnl this distinction would simply need hal.dll swapped out, but I've heard from those who've looked into it that the clean separation has broken down a bit and you'd have to binary patch a windows kernel now if you don't have source access.
What you can do is having a small hypervisor to simulate the needed bits…
"Apple designed their own interrupt controller, the Apple Interrupt Controller (AIC), not compatible with either of the major ARM GIC standards. And not only that: the timer interrupts - normally connected to a regular per-CPU interrupt on ARM - are instead routed to the FIQ, an abstruse architectural feature, seen more frequently in the old 32-bit ARM days. Naturally, Linux kernel did not support delivering any interrupts via the FIQ path, so we had to add that."
https://news.ycombinator.com/item?id=25862077
TL;DR: No standard ARM interrupt controller, custom controller requires quirky architectural features
Who is Asahi Lina? Is that an actual person?
>In 2021, society is driven by a virtual Internet, which has created a degenerate effect called "nerve attenuation syndrome" or NAS. Megacorporations control much of the world, intensifying the class hostility already created by NAS.
from Johnny Mnemonic
What can we do to make it more utopian?
If you stream without a face camera at all it generally hurts your ability to grow an audience, and unfortunately our society is still pretty focused on appearance so if you don't look great you're going to potentially get a lot of toxicity in your chat. A vtuber avatar acts as an equalizer in this sense and also lets people express their personality and aesthetics visually in a way that might not otherwise be easy - they can pick eye and hair colors they think represent them without having to use colored contacts or hair dyes, etc.
A few different people I know found that having a vtuber avatar made it much easier for them to get into streaming regularly and it did grow their audience, so I'm happy to see the technology catch on and improve.
I don't think someone sharing their craft through a virtual avatar is any more responsible for these things than the flying cars from Blade Runner would be.
Is it?
It's basically forums & avatars brought in the medium of audio and video communication.
> What can we do to make it more utopian?
A polity with an outmost shell of no bs ic spooks in a ratio of twenty to one cybersec defense to offense. There is the problem of sciengineers conceiving in the labs photonic computing but the committee member wage/salary slave cuts cost corners (or not but bloats up on unnecessary complexity) and we get the worsest join on the venn diagram in the industry spec.Move to Mars and start over.
What would really push it into cyberpunk territory is if it turns out this is not an actual human but an AI-controlled virtual person.
I don't have the impression that in Marcan's case it was ever about anonymity, it is more about a creative expression.
Up until Lina's introduction on April 1st, I had never seen a vTuber stream, and I must say it is quite fun to watch. Though personally I wish Lina's voice is tweaked a bit, because it can be hard to understand what she is saying.
VR/AR just hasn't been done right as of now, but its getting close. Demand is there. Imagine virtual schooling during time like Covid, but instead of Zoom, kids actually see each other in VR and can interact with each other.
… I miss my NeXTs..
- C64 shipped with 6526, a fixed version of 6522
- C64 is incompatible with 1540 anyway
They crippled C64 for no reason other than to sell more Commodore manufactured chips inside a pointless box. C128 was similar trick of stuffing C64 with garbage leftover from failed projects and selling computer with 2 CPUs and 2 graphic chips at twice the price. Before slow serial devices they were perfectly capable of making fast and cheaper to manufacture floppies for PET/CBM systems.
It's about the dominant unholistic approach to modern operating system design, which is reflected in the vast number of independent, proprietary, under-documented RTOSes running in tandem on a single system, and eventually leading to uninspiring and lackluster OS research (e.g. Linux monoculture).
I'm guessing that hardware and software industries just don't have well-aligned interests, which unfortunately leaks into OS R&D.
https://www.osfc.io/2022/talks/i-have-come-to-bury-the-bios-...
As for the components, at least their interfaces are standardized. You can remove memory sticks by manufacturer A and replace them with memory sticks from manufacturer B without problem. Same goes for SATA SSDs or mice or keyboards.
Note that I'm all in favour of creating OSS firmware for devices, that's amazing. But one should not destroy the fundamental boundary between the OS and the firmware that runs the hardware.
DNA is the worst spaghetti code imaginable.
The design is such a hack, that it's easier to let the unit die and just create new ones every few years.
For example, Intel's ME could be a really useful feature if we could do what we want with it. Instead they lock it down so it's just built-in spyware.
(Especially because wall clock time is not the only kind of performance that matters.)
Vinesauce has been streaming since well before twitch, and their content got significantly more "Twitch"-y after they embraced the current system. It's obvious why, because if you play into the chat begging, the surface level """interaction""", then you get more money from the parasocial twelve year olds with mom's credit card.
But I don't want my content full of ten second interruptions as a robot voice reads off the same tired joke somebody paid ten dollars to get read off.
Couldn't they just not show themselves on camera at all?
When every statement is exciting and special, then none of them are.
I find it hard to analyze these things by numbers alone. It's context that really matters and if there truly is a baseline excitement, there really should be a high number of exclamations.
https://youtu.be/SDJCzJ1ETsM?t=1179
How can people watch this?
Mario Brothers would make more sense though. Whoever created this is a plumber par excellence.
Apple don't have linux drivers. It would be great if they wrote some, but it's never going to happen.
> Who is Asahi Lina? Is that an actual person?
The virtual persona of an actual person who has chosen to remain anonymous (hence the name which would be a crazy coincidence otherwise).
They are Canadian born, currently studying in Japan, so that explains some of the cultural mix.
Man... if I was a conspiracy theorist who believed Apple was genuinely evil, what if Asahi Lina is an Apple employee? ;)
Asahi Linux has been upstreaming, but of course it's ongoing. The GPU driver in particular depends on some rust inside the kernel bits which aren't in the mainline kernel, yet. The 6.1 kernel has some Rust bits, 6.2 will have more, but I don't believe that will be enough for the GPU driver ... yet.
Apple's drivers are upstreamed, in Darwin. I'm not aware of any reason to believe that Apple has any Linux drivers that they could upstream.
To what upstream project?
When I’ve written lower level components the things that have really been godsends outside the safety features are things like enums (much more powerful than C/C++ unions/enums and much more ergonomic than variants).
And even though I said traits don’t offer too much more than C++, one thing I think they do really offer is when combined with generics. Rust generics let you define trait requirements better (though not as extremely flexible) as C++ concepts/constraints.
Rust isn’t perfect but it gives me so much more trust in everything I do.
My next point was about how the NT kernel was designed to handle exactly this kind of change pretty cleanly, but that clean barrier has been allowed to stagnate. So way back, NT kernels for weird systems like SGI workstations that had x86 CPUs but were decidedly not PCs otherwise simply needed hal.dll swapped out with a version written by the hardware vendor to paper over those system differences like how interrupts are routed around and how to access PCI devices. That's no longer really an option however.
OMG CYBERPUNK DYSTOPIA PHILIP K DICK
That's not the reason most of the popular ones do it. (Ironmouse, sure, but not anyone else.)
Most of the bigger ones are corporate characters, so they're actually forced to hide themselves and it's more like they're uncredited actors. Besides that, it gives you privacy, avoids stalkers, means you don't have to do your makeup or get dressed (up or at all), things like that. Appearance still definitely matters though, but now it's your voice carrying you and not your face.
I have no hope that would work or is what Elon wants. I know he wants to set up the world’s most exclusive gated community there.
These low-travel ones may not be perfect, but they're decent, and that's enough for me personally for the times I do need to use it.
Plus there’s something to be said for cargo being a killer feature for rust. Easy build configuration , easy package management and access to a large ecosystem of libraries.
Between that and the book..:As steep a learning curve as the language itself has, the actual on-boarding process is way more accessible than many other compiled languages.
Rust sucess story is briging Cyclone type system into mainstream, and in such a way that other languages (even those with automatic management runtimes) started looking at affine and linear type systems for low level performance optimizations.
However for explicit type conversions, bounds checking in strings and arrays, modules, co-routines, assignment before use,... there were plenty of alternatives, which for one reason or the other didn't took off, most not really technical related.
The fact they are running entire OSes themselves isn’t that big of a deal. I just hate having no control.
Well, when those people put months of their lives into reverse-engineering a reliable stack of code for an undocumented platform, and want to do presentations and write-ups of their work, those people can decide to present however they want.
In the meantime maybe people who are contributing precisely nothing can STFU about the people who are.
Doubly so the twitch chat is going to mirror the streamer. So if the streamer is being a goon and playing up the twitch culture, you'll get twitch chat. But you can also have a very different chat experience if you establish from the get go that chat is to behave a specific way.
But perhaps I'm biased: I write how I talk too, and use and abuse punctuation to attempt to mimic my own voice.
I just wish it was more cross platform (I know it technically works on Linux and windows…but it’s not a great experience) and that it didn’t have so much churn (though they’ve stopped futzing with the core components as much with Swift 4+).
I also wish it was faster. I did an Advent of Code against some friends. I picked Rust, they picked Swift. The rust code was running circles around their Swift ones even when we tried to keep implementations the same.
Anyway, that’s a rant, but I think to your point, I feel like Swift could have been as big as Rust..or bigger given the easier use, with many of the same guarantees. I just wish the early years were more measured.
I've done Advent of Code a few years -- even Javascript implementations, if using a good (optimal) algorithm, are highly performant, so I'm suspicious of the claim. In most AoC problems, if your code is observably different between languages, it's the fault of the algorithm, regardless of language. But perhaps you are referring to well-profiled differences, even if there are no observable differences.
That said, in projects other than AoC I've compared Swift to C++ and it's hard to deny that a low-level language is faster than Swift, but Swift itself is certainly fast compared to most dynamically typed or interpreted languages like Python, JS, Ruby, etc. which are vastly slower than anything in Swift.
When I say Rust ran circles around it, I mean the difference was not noticeable unless timing, and was the difference of 200ms vs 400ms or a 3 seconds vs 5 seconds , so nothing to write home about necessarily.
I know Javascript have an unfair advantage here, since the competition between V8 and the other javascript cores is huge over the years and garbage collection on JS is not often a problem. At least I see more people struggling with the JVM GC with its spikes in resource usage.
I've also heard that the erlang VM (be it written in elixir or erlang itself) implements GC on a different level, not to the global process, but on a more granular way.
Is there a good resource that compare the current state of performance between those languages or approaches?
It’s not fooling anyone to pretend like this is normal self expression.
Number two: this person's goal CLEARLY isn't to fool anyone, it's not a deep fake video, and it's frankly none of your business or concern that they enjoy using an animated avatar.
edit: clarify
The Unix ‘everything is a file’ has done well because it works pretty well.
It also isn’t generally a security issue, because it allows application of the natural and well developed things we use for files (ACLs, permissions, etc), without having to come up with some new bespoke idea, with all it’s associated gaps, unimplemented features, etc.
Hell, most people don’t even use posix ACLs, because they don’t need it.
To summarize:
> ITS (of PDP-10 hacker fame) - processes could debug and introspect their child processes. The debugger was always available, basically. The operating system provided support for breakpoints, single-stepping, examining process memory, etc.
> KeyKOS (developed by Tymshare for their commercial computing services in the 1970s) - A capability operating system. If everything in UNIX was a file, then everything in KeyKOS was a memory page, and capabilities (keys) to access those pages.
In every operating system, the basic unit of abstraction will be a process -- which necessitates a scheduler, some form of memory protection, some way for the process to interact with the kernel, and the notions of "kernel space" and "user space". There is a lot of room for innovation there (see ITS), but I suspect most of the room for innovation is in how an OS abstracts/refers to various parts of the system.
Windows has some behavior that is hard-coded and cannot be changed except by Microsoft. This behavior can fairly easily be bent on Linux, but Windows drivers can't bend the rules for some of these issues.
The biggest issue that immediately comes to mind is that the M1 MMU (Memory Management Unit) only can handle 16K pages. Linux can easily be built for 16K, and most programs work on 16K, but Windows currently only supports 4K on ARM. No driver can fix that - only Microsoft. Of course, if Microsoft joins the Apple Silicon train (which Apple has said they are more than welcome to do), then they probably will have official Apple documentation and not need the Asahi Linux findings.
Anyway it's pretty fair to confuse the two I think, there can't be any way Johnny Mnemonic wasn't influenced by Blade Runner (I'm guessing it's true of both the movies and of the books). Very similar themes and protagonists at a certain level of abstraction.
Blade Runner, the movie, was released in 1982.
And PKD's DADoES was published in 1968.
Honestly, IMHO, Blade Runner in movie form shares more DNA with Alien than proto-cyberpunk. They're both character studies rather than world-building exercises, albeit with massive credit to Ridley Scott and the design team that their "background" world is more lifelike than many world-centric films.
But Blade Runner fundamentally lacks the multi-level cutthroat competitive aspect of cyberpunk. Oddly enough, a quirk that frequently recurs in British scifi, in contrast to the more free market American themes.
Just unevenly distributed.
In NeXTStep they were written in ObjC, and probably should've stayed that way.
I always find strange how "kernel C" is C, even though ISO C would bork in kernel space, but doing a similar C++ subset is pointed out as not being C++.
Can someone explain? Is there something other than DriverKit, which seems to be C++?
https://developer.apple.com/documentation/iokit
Which is how the Objective-C framework for NeXTSTEP drivers used to be called,
http://www.nextcomputers.org/NeXTfiles/Docs/NeXTStep/3.3/nd/...
Both would sort of fit those descriptions I guess if one were to squint.
However Hector Martin is not a woman living in Japan and they look perfectly fine/average.
Enough furries and anime girls, people. They are cute, but there is more to animated art
Instead of displaying a mouse and cursor have the tentacles reach out and manipulate the code from behind a semi-transparent pane of glass that the code is displayed on.
Yes
> Is Asahi Linux named after her?
Other way around, it’s a pseudonym created to work on the project, IIRC Lina got involved early-mid 2022 while Hector Martin started the project in late 2020 / early 2021.
I feel like there's some fanboyism happening here. This person basically just joined the project.
From afar they also seem to have a pretty ebullient and infectious personality and to stream a lot (we're talking 10h streams every few days: https://www.youtube.com/@AsahiLina/streams) which is impressive work and dedication.
This one.
A persistent avatar/alias as an internet persona seems to match the real-life to internet-life relationship better. IE, for many, they’re different and rather separable aspects of life.
There was a talent agency that had three-four performers who took shifts streaming games through a shared vtuber persona who had build up some popularity. At some point the agency fired the performers and replaced them with a new performer who didn't have the same performance.
The fans weren't told but it was immediately apparent, so they started demanding the changes to be reverted. The fans were ignored and both the vtuber's popularity and the agency fell back into obscurity.
I guess the lesson here is that personas are personal.
Five species of salamanders have similar enucleated red blood cells, but I can’t find out how long they last in comparison. https://pubmed.ncbi.nlm.nih.gov/18328681/
One theory is it’s an adaption to having unusually large genomes which would otherwise be an issue, but biology is odd so who knows.
>A bunch of shader cores, which process triangles (vertex data) and pixels (fragment data) by running user-defined programs. These use different custom instruction sets for every GPU!
Why are different instruction sets exciting to the author? What does exclaiming that fact really mean for me as the reader? What I got out of it was the author was so surprised by this basic fact, that it was so out of this world unbelievable, that we also must be surprised by it. I'd rather read technical explanations with leadership/competence.
[1] https://www.linkedin.com/pulse/women-exclamation-points-emil...
[2] https://onlinelibrary.wiley.com/doi/full/10.1111/j.1083-6101...
The intent I got was the idea of all the GPU instruction sets being different is notable, and perhaps unexpected and at the least challenging. The latter being an exclamation in the context of reverse engineering makes some degree of sense to communicate the fundamental difficulty inherent in this effort.
Now, we could go back and forth a few more times, invite friends and curious others to the party and end up with many different takes on this text.
What's the takeaway?
For me, it's lack of judgement. Content is king. I want to know what others mean to say and how they feel about it. I don't want to judge them on those things because what exactly is the point?
Make things better for me?
...better for people like me?
...people in general? Doubt that given the diversity of takes the experiment above would generate.
Waste of time. That's the takeaway.
And to press that idea home somewhat more, when I talk to other people, not text, but talking, I find diversity beautiful. Some are stoic. Some are bitter, jaded well worn solders. Others are excitable. Funny? Yup.
I submit you cost yourself more wondering why they don't conform than ever getting the answer is worth. Further, taking their intent in a more liberal, forgiving sense will get you to the good stuff others intend to share more quickly and efficiently. Plus, you might laugh a little.
I do. And it's enjoyable.
When I read the piece, I enjoyed feeling a bit of the joy, excitement, frustrations experienced by the authors and that amplified the good in all of it a little. Great! They did have one heck of an adventure after all.
Finally, you mention women overusing exclamation points. Maybe they are just being women? Just putting that out there.
I am pretty sure if we were to take a poll of those of us who are women as to whether being one is OK would trend to a definitive yes. The ones I know well tend to have a lot of fun and more colorful, rich relationships too. Kind of envy that personally.
I think it is OK to be a woman. After all, being a guy, I tend to be a guy. Why would women play it any differently?
Thoughts for you to consider.
Cheers! <-- Exclamation intended to convey a general upbeat mood, hoping it's catchy.
>Finally, you mention women overusing exclamation points. Maybe they are just being women?
I did mention it, but I did not come up with this on my own. You can read the study I linked to. Calling it "women being women" sounds a bit like the old "boys will be boys" attitude, as if your gender defines your actions or is an excuse.
Instead I'd rather look at why a large group of people feel like they need to express themselves as upbeat and happy. If you read the study I linked to, it talks about this with explanation. I invite you to read some more.
the human body can scale from 1 cell to several trillion without going down for maintenance even once all while differentiating to different functions
it can take a high level of damage and heal without needing a shutdown as well, most software crashes completely at the first exception
cells give you that highly scalable and fault tolerant system that we all want
doesn't it go down for maintenance approximately once a day?
Cattle, not pets
And remote management isn't bad if it's entirely under my control. It's the closed nature that makes me distrust it.
It's to remotely recover when Windows corrupts itself. (Which is far less common than it used to be.)
The rule is only, no macOS on non-Apple hardware.
What on earth are you talking about, iPads, iPhones and all other new devices from Apple outright lockout any kind of 3rd party OS from booting on them.
MacBooks are the only ones grandfathered into old behaviour of actually allowing 3rd party OSes (although they've also lost the ability to boot Windows in latest generation as well).
Apple doesn't really care about individual hackintoshers. Some of their devs have griped about the uselessness of stack traces and logs coming in from hackintoshed machines (bogus errors produced by slight hardware mismatches, drivers developed by amateur community members filling logs with garbage, etc) but they've never gone after anybody who was hackintoshing for personal use. There's even been fairly big YouTubers who've done it without issue, and back when Macs were Intel only and had abysmal thermals/performance a surprising number of Mac/iOS devs were using hackintoshes as their primary dev machines that they submitted to the App Store with.
Where they draw the line is selling hackintoshed machines or any of the tools to facilitate the process. Eliminate financial gain from the equation and you'll probably be fine.
However, just because Apple "runs linux" doesn't mean they "run linux" the way you are thinking. It's very easy for corporations to write slapdash, horrific, unmaintainable kernel forks that run on a specific piece of hardware. That's just fine when you are testing hardware before handing it to your OS team, but absolutely unacceptable for upstreaming.
For examples of this, take a look at old Android devices (and their ancient kernels), or the original Correlium port of Linux to Apple Silicon (which happened almost half a year before the Asahi Linux beta - but the code was sheer unmaintainable crap). Upstream it? Heck no - it would be rejected entirely and need almost a total rewrite from scratch. Just because you can write a functional driver doesn't mean it is anywhere close to a good, maintainable driver.
So, in a nutshell... yes, Apple does use Linux for early manufacturing tests. But it would almost certainly not be in a state where we could benefit much from it, and certain features would likely not be implemented. It's not anywhere near as simple as "Apple has done the work already - just upstream it please!"
As your get more low level, less visual and more niche, there's less and less diversity of software developers. And everyone should feel welcomed into hacking the kernel.
It is the ham-fisted attempts to increase diversity for its own sake have ended up being discriminatory. [1]
If there are barriers stopping people contributing, these should be removed. I expect these to be economic barriers, rather than those based on particular characteristics.
[1] https://www.theregister.com/2018/05/03/llvm_contributor_resi...
There's nothing forced about people getting into programming and becoming relevant for it, that just by chance it turns out they are not cis+heterosexual.
Nobody in the Asahi crew was "a ham fisted attempt to increase diversity".
The only forced thing here is the "forced inclusion" topic. That, for whatever kind of reason, people stubbornly keep trying to bring to the front.
Simple things like Lina en Marcan using the same hostname for the development machine (Raider), using the same IDE (Kate), using the same bash aliases (the one I like most if 'stfu' that appears to suppress terminal output), and a huge overlap of knowledge. Then there is also the same fast-paced speaking style that Marcan has.
I did notice Lina always (rather jokingly) denying being Marcan, especially during the April 1 debut, but I always assumed that that was just part of the joke.
Again, I might be wrong here, maybe they are not the same person after all, but as far as I can tell it's just Hector Martin having fun.
> Isn't it the opposite, though?
You mean Lina being first, and Marcan being an alter-ego? Marcan (Hector Martin) is a real person, he has done quite a few interviews on camera. https://youtu.be/dF2YQ92WKpM?t=496
Also it didn't require billions in investment. Facebook could have literally burned $900 million on hookers and cocaine, and then thrown $100 million to buy VR chat, and be better off than they are now.
All of those other things you mentioned fit into specific niches and have built communities around themselves over time.
That was ruined by games trying to appeal to more mainstream people (with less hardcore Features like losing all your possessions upon death) and the micromonetization strategies that everyone hates.
I wonder if VR will even have games like early Everquest, WoW, EVE, etc but in VR.
58.8 million DAUs in Q3 https://ir.roblox.com/news/news-details/2022/Roblox-Reports-...
Well, yes. Who does something matters. I could totally see Facebook's metaverse failing a la Stadia or Diem.
Although some of them are designing “virtual worlds” as an excuse to get around YouTube moderation and taking 30% of superchats.
And furthermore, OS research is not only about building Linux alternatives. There are a lot of operating systems that have a much narrower focus than full-blown multi-tenant GPOS. So building holistic systems with a narrower focus is a much more achievable goal.
> As for the components, at least their interfaces are standardized
That's not true once you step into SoC land. Components are running walled-garden firmware and binary blobs that are undocumented. There's just no incentive to provide a developer platform if no one gives a shit about holistic OSes in the first place.
How so? I can see the limited access control in Linux is an issue, and for this reason augmented security MAC (Mandatory Access Control) controls exist like SELinux and AppArmor.
But I don't see how the nature of everything being a file is a vulnerability in itself.
I'd be happy to learn how though.
In traditional unix-like systems, file descriptors are very close to capabilities. But the global filesystem namespace is a source of ambient authority.
There are a couple of ways to fix this issue: fine-grained per-process namespaces like Plan 9, so that the filesystem’s authority can be attenuated as necessary, so it becomes more like a capability. Or eliminate absolute pathnames from the API, so you have to use functions like openat() to get an fd relative to an existing fd.
I read the stuff, and have read other stuff related to this discussion. Have had some conversations with others too. Those conversations are where "Maybe they are just being women" comes from.
Suppose my response was rooted in the exclamation not always being up beat and happy. That's context related.
https://developer.apple.com/documentation/kernel/osarray
That kind of thing.
What is this in response to? GP never mentioned file interfaces.
Back in the day I owned machines that did it both ways, but not a C64. My Atari computer also had a smart disk drive. Worked over something Atari called SIO, which is an early ancestor of modern USB. Back then, the Atari machine was device independent and that turned out to be great engineering!
Today we have Fuji Net devices that basically put Atari and other computers on the Internet, even to the point of being able to write BASIC programs that do meaningful things online.
The C64 approach was not much different, working via RS-232. But for a bug, it would have performed nicely.
Now, my other machine was an Apple ][, and that disk was all software. And it was fast! And being all software meant people did all sorts of crazy stuff on those disk drives ranging from more capacity to crazy copy protection.
But... That machine could do nothing else during disk access.
The Atari and C64 machines could do stuff and access their disks.
Today, that Fuji Net device works via the SIO on the Atari, with the Internet being the N: device! On the Apple, it works via the SmartPort, which worked with disk drives that contained? Wait for it!!
A CPU :)
Seriously, your point is valid. But, it's not really valid in the sense you intended.
In any case, I maintain the engineering wasn't at fault, having a CPU etc. Fastloaders showed it to be just poor software, and that's a point I did not make clear enough.
https://www.linusakesson.net/programming/gcr-decoding/index....
[0] https://www.computer-dictionary-online.org/definitions-c/cyc...
Basically commodore was gonna use an ieee-488 bus for the drive and then decided it was too expensive late in the design and switched to this hacks serial bus that bottlenecked everything.
Epyx games used the Vorpal format which gave 15x load speedup.
The point is, the speed issues weren’t really the 1541’s fault although GCR coding could have benefited from a HW decoder.
Not in a good way. The write up wasn't so bad but the entire package is too much for me.
The other thing too, watching other people code is kind of not fun like George or Rene. More fun to see some screeching video with no actual info just the end result of a robot pissing in a cup.
Also goes to show how much work goes into writing code/having some end result. Maybe it will get more exposure since there is a growing trend for vtuber stuff.
I get it though, I used to watch Social Network or Silicon Valley to hype myself up to pursue something. Now my problem is too many projects ha.
Check out the Asahi Lina channel to see what I mean.
It’s not needed for guys apparently, but it’s not niche.
I watch Japanese vtubers quite a lot and enjoy doing so, but I couldn't personally listen to Lina as the voice sounds grating on the ears.
From what I have gleaned, vTuber is a virtual YouTuber. The streams use an anime model a s behaviour.
So we've no idea who it is.
And for some reason I feel creeped out now. There is something perturbing about the saccharin persona coupled with the pseudonym.
Like Pennywise (It) vibes?
I am a woman in tech, and the whole thing feels slimy. I found it really creepy and couldn't watch more than a couple of minutes- I couldn't tolerate the voice changer for longer than that. But the whole concept is kinda gross because (as someone else pointed out below) the streamer is most likely an adult man, not a cute asian girl. And the persona is being performed for the benefit of other adult men.
I can't see why that makes it "kinda gross"; in fact, playing with identity and having the courage to do so in a whimsical way seems awesome. To have the security in oneself to put on a persona so different to the one we are in meatspace is one of the best inventiont of the 'net in my opinion. The possibilities are freeing.
On the Internet, nobody knows you're a dog.
>And the persona is being performed for the benefit of other adult men.
What possible 'benefit' do they get out of it? Do we know if these "other adult men" leer at the persona? And if so, so what? So long as the person behind the persona isn't be harrassed. It's strange that this sentence is implicitly stating that something done for the benefit of adult men is wrong in itself.
Yes, basically instead of streaming as themselves vTubers stream as a persona, usually with an anime-style virtual avatar.
> And for some reason I feel creeped out now. There is something perturbing about the saccharin persona coupled with the pseudonym.
I've not found a vTuber I enjoyed (but the main vTuber community is japanese and japanese TV / entertainment is... a lot, and not my cup of tea).
However how is "Asahi Lina" and an animated cartoon avatar creepier than psychphysic and a random picture or manga snip on a forum 15 or 20 years ago? As far as I'm concerned it's the same principle moved from the media of text and images to that of audio and video.
That's a really good question and I only have a cop-out answer.
I'm not the type to get the creeps.
But the immediate thought I had and commented else where was of Pennywise.
Which is really quite alarming!
I think the core was that Asahi in my mind is quite infantilised and the realisation that the person behind the persona is quite likely to be adult man.
Nothing particularly predatory here, but there is still a feeling of a false sense of security.
Anime = Japanese cartoon style
It is obvious that there's terrific engineers and professionals regardless of sexual orientation and we have countless proofs behind it, last but not least the linked article and many of the other asahi contributors.
But when the likes or Google or Facebook are obviously hiring because you are a minority it's when the solution to gender or sexual discrimination is simply...reversed.
You answered your own question; it’s a technical community. Centering political activism is counterproductive to the fundamental telos of being a technical community.
Existing members, unsurprisingly, push back against colonization of their community by those more interested in gender ideology or identity politics than technology.
They currently have the most popular VR hardware platform. And it's the only piece of hardware that Meta really has, everything else they make is software. If Meta wants to keep growing, being the leading producer of "the next big thing" in hardware would certainly help. Zuckerburg is betting on VR/AR being that next big thing. Only time will tell I guess. But I find it a little weird when I see people commenting on Meta's investment as if all they did was create a basic second life clone. They're building some of the most innovative consumer hardware at the moment. I'm not hugely into it because Meta doesn't really seem like the company I'd like to entrust with cameras pointing at my eyeballs, but you can't deny that the hardware they've built so far is quite impressive.
Hololive functions in a similar way - the most popular members have their own subreddits in addition to the main hololive sub.
Eh, I've heard the same thing form people I trust, and I'm not the Apple news version of deep throat or something. It's simply not a very well kept secret.
Although part of me wonders if the code will flow the other way. Now that marcan has put in the elbow grease to upstream concepts like 16KB pages, the non standard ordering for regular MMIO and PCI on Apple Silicon, etc, will Apple embrace those in their custom distro to avoid having so much un-upstreamed code? We'll probably never find out, but it's fun to think about.
Generally linux is happy unless you try to make pages smaller than 4kB,then all sorts of hell break lose in VFS
All to sell more outdated garbage chips made by MOS instead of using proper FDC controller on CPU bus with cheap standard floppy.
Which is sizable, but not amazing.
What danger could an online persona possibly present to you? "[...]a false sense of security" implies there's a danger
One that evolved before the dinosaurs were wiped out.
I can only tell you my feelings, thoughts and emotions. Feel free to come up with a better explanation!
I think like with anything "new", life is always about disconfirming our biases. As a result, now that you're aware of this bias, have the additional time and can access System 2:
Going forward you find a way to have a less aggressive reaction to learning about a the next VTuber.
Unless this stuff goes entirely mainstream I will just avoid it.
This is the first time I've watched this kind of livestream and as well has as making my teeth itch with creepiness, not being an efficient means of conveying the topic it is boring.
I guess I'm older than the average HN user but I prefer reading to watching a video for education.