None

In a new TOS change in Section 12, they added this line: “You hereby grant to Vultr a non-exclusive, perpetual, irrevocable, royalty-free, fully paid-up, worldwide license (including the right to sublicense through multiple tiers) to use, reproduce, process, adapt, publicly perform, publicly display, modify, prepare derivative works, publish, transmit and distribute each of your User Content, or any portion thereof, in any form, medium or distribution method now known or hereafter existing, known or developed, and otherwise use and commercialize the User Content in any way that Vultr deems appropriate, without any further consent, notice and/or compensation to you or to any third parties, for purposes of providing the Services to you.”

This line has sparked outrage among Hacker News & Reddit, who are not pleased and are cancelling their subscription over this.

https://news.ycombinator.com/item?id=39836495

:marseymissile:

https://old.reddit.com/r/selfhosted/comments/1bouuv7/warning_vultr_a_major_cloud_provider_is_now/?sort=controversial

:marseydisintegrate:

!chuds my website (TBC - prob never) needs to be moved to a new host.

!nonchuds late stage capitalism

None
81
:marseypikachu2: Facebook/Meta spied on millions of people with illegal spyware

"Documents and testimony show that this “man-in-the-middle” approach – which relied on a technology known as a server-side SSL bump performed on Facebook's Onavo servers – was in fact implemented, at scale, between June 2016 and early 2019,” plaintiffs claim.

The spyware capable of acquiring, decrypting, and transferring the data was allegedly deployed against YouTube in 2017-2018 and against Amazon in 2018.

The code included a client-side “kit” that installed a root certificate on Snapchat users' mobile devices. Server-side code allegedly used Facebook's servers to create fake digital certificates to impersonate the apps' trusted analytics servers in order to redirect and decrypt the analytics traffic for Facebook's own analysis.

Facebook's secret program likely violated the Wiretap Act, which prohibits intentionally intercepting electronic communications and using such intercepted communications.

TL;DR apps using facebook/meta api (and some VPN they have bought up) to collect data from millions of users and spy on competition. Naturally, a minuscule fine was applied, a slap on the wrist would have been excessive, judges say.

None
Reported by:

Here's a Eurobeat song about Marsey trolling on the internet

Here's some folk songs about !jinxthinkers

None
71
old.reddit.com now blocking access :marseybarrier: if you're using a VPN and no login

Up until today, you couldn't access Reddit while using a VPN, unless you were logged in. A workaround was to use https://old.reddit.com.

But today, you get the same soy-based message "whoa there, pardner!" on https://old.reddit.com too.

None
45
Redis is now Redict

Are you familiar with Redis, the in-memory key-value store used as commonly cache or database? It's been quite a busy week for them.

First, it is now Redict.

Second, Redis Labs, the company - not to be confused with Redis the product - has changed the Redis license from BSD-3 to Server Side Public License SSPLv1.

https://ssplisbad.com/

Timeline of Redis the product:

  • 2008: Salvatore 'Antirez' Sanfilippo creates Redis the product

  • 2015: Antirez gets hired by Redis Labs (formerly Garantia Data)

  • 2018: Antirez sells the trademark and IP rights of the product to the company

  • 2020: Antirez quits and goes away from Redis Labs the company

  • 2024: Redis Labs changed license

This announcement is just after the company released a blog "The Future Of Redis" where they started yapping about AI :marseyemojirofl:

Making Redis the Go-To for Generative AI

we're staying at the forefront of the GenAI wave

There's barely any drama :marseycry: But before we explore the tepid tea, I'd like to do a throwback :marseyxd:

https://i.rdrama.net/images/1711453383384686.webp

Github announcement thread

First of all he's corny as frick

https://i.rdrama.net/images/1711453384239672.webp

One of the handful of contributors doing this. Is this valid?

https://i.rdrama.net/images/17114533834908311.webp

Oh okay it isn't valid then..?

https://i.rdrama.net/images/17114533837813327.webp

Predicting the future

https://i.rdrama.net/images/17114533835796547.webp

Github jannies cleaned this up?

https://i.rdrama.net/images/17114533837056816.webp

Moral of the story: Don't contribute to projects with BSD licenses

https://i.rdrama.net/images/17114533838722591.webp

https://i.rdrama.net/images/17114533841331882.webp

:marseymerchant:

https://i.rdrama.net/images/17114533839494798.webp

https://i.rdrama.net/images/17114533841864061.webp

As forks are being made left and right, this codecel is concerned that the repos are not hosted on Github :marseypearlclutch:

https://i.rdrama.net/images/1711453384006841.webp

Orange site discusses

The creator, Antirez, responds

They seem supportive

Classical "bait-and-switch". Bait users and developers with a fully-open and freely-licensed project, wait for it to gain enough market share, then switch the license to a more restrictive one...

Is it really bait and switch if almost zero users are affected by the change? (except philosophically)

:marseyhesright:

Will no one think of Amazon's profit margins?

We need new licenses that let developers get more of the pie because no one is benefiting from the GPL in the age of cloud computing. Who cares that Linux is open source when I'm locked in aws and can never leave? What does it matter to users when their data is stolen to train Ai models and they don't even know what's in it?

[more arguing]

the trend of milking revenue from a few sources with license changes is cringe.

:marseytroublemaker:

It's about time we stopped calling projects that require copyright assignments "open-source", because they aren't. Regardless of license.

:marseyeyeroll:

As usual, the comment section is full of entitled people whining about “muh open source”.

Like others have said, OSI definition of open source is very outdated and needs to be updated.

Interestingly Microsoft just released https://github.com/microsoft/garnet, it's a research project so I don't hope anything for it, it's gonna fail and die alongside MAUI and WinUI and WPF and everything in the dumpster :marseydead:

None

In case you wanted to trust Scroogle and the US Government even less!

From Forbes

Federal investigators have ordered Google to provide information on all viewers of select YouTube videos, according to multiple court orders obtained by Forbes. Privacy experts from multiple civil rights groups told Forbes they think the orders are unconstitutional because they threaten to turn innocent YouTube viewers into criminal suspects.

In a just-unsealed case from Kentucky reviewed by Forbes, undercover cops sought to identify the individual behind the online moniker “elonmuskwhm,” who they suspect of selling bitcoin for cash, potentially running afoul of money laundering laws and rules around unlicensed money transmitting.

In conversations with the user in early January, undercover agents sent links of YouTube tutorials for mapping via drones and augmented reality software, then asked Google for information on who had viewed the videos, which collectively have been watched over 30,000 times.

The court orders show the government telling Google to provide the names, addresses, telephone numbers and user activity for all Google account users who accessed the YouTube videos between January 1 and January 8, 2023. The government also wanted the IP addresses of non-Google account owners who viewed the videos. The cops argued, “There is reason to believe that these records would be relevant and material to an ongoing criminal investigation, including by providing identification information about the perpetrators.”......

:#marseynotesglow:

>be spook

>send spooky youtube link

>ask youtube who watched your spookiness so you can go spook them at home

:#marseyveryworriedfed:

r/privacy discombobulates

None

Orange Site:

https://news.ycombinator.com/item?id=39808664

:marseysnoo:

https://old.reddit.com/r/technology/comments/1bmkk0x/china_blocks_use_of_intel_and_amd_chips_in/?sort=controversial

https://old.reddit.com/r/hardware/comments/1bmjlza/china_blocks_use_of_intel_and_amd_chips_in/?sort=controversial

None
44
Nerds don't like being told their use of adblockers is immoral
None

https://media.giphy.com/media/cjc7LcP6GyXbGlKy3e/giphy.webp

None
Reported by:

The Context

Epic originally sued Google on August 14, 2020 over the removal of Fortnite on the Google Play Store, which was less than 24 hours after its legal salvo against Apple for the same with iOS App Store. The Epic v. Google finally kicked off with a jury trial on November 6, 2023.

The month that followed was marked by a series of explosive revelations against Google, so darning that the judge presiding over the court case called Google out for, amongst other things, "...intentionally and systematically suppressing evidence". The verdict, handed down on December 12, found Google guilty of anticompetitive and monopolistic behavior.

Yesterday, Epic Games Store tweeted:

We're coming to iOS and Android!

Same fair terms, available to all developers, on a true multi-platform store – with amazing games for everyone.

The Drama

The tweet is posted to /r/Android. There would be a lively discussion about competition, app commissions, and the quality of mobile games... right?

Can't see how this can be a bad thing, but people really seem to have a hateboner for epic

They removed Games from Steam to be exclusive on Epic Games. Greeting from Rocket League

[user A] Aka they offered Devs a good deal to continue developing their games.

[user B] Valve has more exclusives than any other store including any console.

[user C] So? Steam also has "exlusive" games... Valve and steam are the evil ones here.

[Well there are several factors, their exclusivity deals, their way of trying to be a good guy when they are after market share. The fact that more and more developers put their games into their engine. Tencent being one of the big owners.

There are many factors why you shouldnt cuddle with mr tim.](https://old.reddit.com/r/Android/comments/1bjk1xb/epic_games_store_were_coming_to_ios_and_android/kvs8sj8/?context=8&sort=controversial)

That's just normal stuff isn't it? I don't understand why everybody is sucking off the clear market leader but hates on companies trying to compete. Steam would do all the same if they needed to but they don't have to. Not because their product is so much better but because of their early moved advantage. I mean steam UI looks like it's from 2008.

Probably a bunch of PC gaming nerds who hate on them for making good games exclusive to epic launcher as opposed to steam.

it's more to do with tim sweeny's lies and hypocrisy, but sure it's just the launchers.

Why can't we say anything about Epic, Sweeney or the EGS without people jumping at our throats defending them?

Doesn't mean that we like google or apple's practices either

it's a weird thing i've noticed where there's so much hate for something, eventually some amount of contrarians will always show up and defend it, even when there's very little to defend. honestly a little baffling.

What people are mad about is Tim Swiney calling Valve's Steam a monopoly while Valve has never forced a developer to be exclusive to Steam lmao.

Most games that were released only on the EGS died there and had to release on Steam after a year to make money and even then it was DOA (the latest Predator game)

The service steam provides is vastly superior to epic, all my friends are on steam, my games for the past 14 years are all on steam.

Valve is historically pro-consumer are innovate in the gaming space, Epic made a child's game super popular and now want a piece of the case, they haven't done anything ground breaking.

 

If anyone wonders why Google lowered the commission on apps from 30% to 15%, it wasn't out of the goodness of their heart. They knew this was coming and didn't want to be undercut by alternative app stores taking a small percentage.

At least Google never outright blocked third party app stores. Instead, made it easier for third party app stores to autoupdate apps.

Apple having to be forced to do this is the real lede.

Yeah instead Google just pretended to be an open platform whilst threatening OEMs and developers behind closed doors, so much better.

Exactly more competition is good for everyone

Sadly what timmy wants isn't competition and instead a walled monopoly

He managed to do it on PC by buying up third party exclusives and I bet will have an easier time on phones

Steam fanboys are a fricking weird breed.

How tf does Epic has a monopoly when Steam controls the majority of the market?

That's called competition. Are we mad about competition now and implying it's shady?

 

Great! More EGS exclusives /s

What exclusives? The only games that Steam has that are exclusive are developed by Valve themselves, publishers choose to be on steam because that's where the players are. Valve has never paid any developer or publisher for exclusivity on Steam.

You write these comments like it doesn't benefit the developer/publisher. God forbid a team of highly talented individuals have done the research and found out going with EPIC meant they can fund their next project etc.

All it means to you is you have to click a different icon on your desktop. Oh no.

EDIT: Why did I expect any rational, non selfish, thought in /Android

Flairs:

Might as well do it by white knighting themselves online

yelling "you fricking people" doesn't make you smart

DO YOU'RE RESEARCH

most of the other Redditors were still in their daddy's balls


https://old.reddit.com/r/SubredditDrama/comments/1bkepnx/epic_announced_its_game_store_is_coming_to_ios/?sort=controversial

None
None

Students get only two bathroom breaks a day for seven minutes each during classtime, and in order to request “bathroom privileges,” they must key in their student ID numbers to the app. It only green-lights them if there are fewer than 25 students taking restroom breaks, and when they return to class, they must key in again or risk losing the right to relieve themselves.

:#marseyxd:

orange sight reacts: https://news.ycombinator.com/item?id=39801289

None
61
Humans are winning at mammalian biomass!

Source, they are upset about this because they hate humanity

None
138
ChatGPT goes crazy, tries to kill a user :marseyxd: :marseysweating: :marseysnappyenraged2:

Apparently other users were able to replicate this behavior

!friendsofbbbb

(Copilot is ChatGPT AFAIK)

None

The original post was deleted but it linked to this article: https://www.rollingstone.com/music/music-features/suno-ai-chatgpt-for-music-1234982307/

TLDR: Suno is a new startup that started with a text to speech AI called bark, but now their latest project is chirp which is for text to music. A new version was just released with results that are almost indistinguishable from real music plus a bunch of new features, and they now offer a subscription that gives you the rights to use them in content or sell on streaming services.

I hate this so much.

Give me a real musician making real music with real instruments and real voices over this crap.

Funny thing is, sometime within the next 5 years, you'll find yourself really enjoying a piece of music, it will be AI generated, and you won't even know.

 

Maybe you have no idea how music is made these days. Most of it, certainly 99% of pop music, is using samples, not live musicians.

:marseyhesright#:

Great, another spam generator in another medium to devalue music as much as possible for basically no good reason.

Who does this help, exactly? People who hate artistic expression?

Ladies and gents, we've reached peak dystopia.

Enjoy the fallout.

:#marseyitsover:

None

https://twitter.com/mrkylefield/status/1769549346100629720

https://i.rdrama.net/images/17108635103584945.webp

Some of the other hardcore offroading the Cybertruck os capable of

https://twitter.com/mrkylefield/status/1769416291650343372

https://i.rdrama.net/images/17108635106792574.webp

https://twitter.com/mrkylefield/status/1770074529844646243

https://i.rdrama.net/images/1710863511079601.webp

None

However, that data was being shared with data brokers LexisNexis Risk Solutions and Verisk, who'd then sell it to the insurance industry. Earlier this month, the NY Times reported that an owner of a Cadillac XT6 in Florida sued GM after he saw his insurance rates double due to data collected about his driving.

None
37
The real reason wayland will never surpass X11 - [Solved]

!codecels is this true?

I got it from this random thread https://kiwifarms.st/threads/175606/ about a dude who hates orange site and declared that his Hyprland project is "toxic" and transphobic after pulling the plug on it.

None

https://i.rdrama.net/images/17108958122250094.webp

Official announcement by their r-slurred admins

Another LW thread

lemmy piracy thread

https://lemm.ee/post/27249633

None

I've caught a whiff of some drama happening in the gacha community. The creators of a waifu game, Azur Lane, are making a new game, Azur Promilia, and this one is rumored to have the unthinkable - playable male characters. So I decided to do some preliminary research on topic, thinking I might make a thread about it here later on. I went to Twitter, logged on my account, and as soon as I typed in "azur pr", the search function automatically recommended this

https://i.imgur.com/RueiwlO.jpeg

Okay, so it looks like it's a topic people are talking about. I clicked on it, and got... nothing.

https://i.imgur.com/7tx77Ph.jpeg

What the heck? No results? Why is it offering "Azur Promilia male" as a search? Did I frick up somewhere in my own search options and filtered results?

https://i.imgur.com/itncuw2.jpeg

No, both of these options are unchecked. So what's going on? Why won't Elon let me see gacha drama on Twitter?

None

:marseysnoo:

https://old.reddit.com/r/technology/comments/1bk7y5v/doj_sues_apple_over_iphone_monopoly/?sort=controversial

https://old.reddit.com/r/stocks/comments/1bk7xgd/doj_sues_apple_over_iphone_monopoly/?sort=controversial

None
Reported by:
  • Sphereserf3232 : Wait apex is a source game? :marseygasp:
  • BWC : Yes, but it runs on a very modified version of the Source Engine iirc

Respawn and EA have postponed the North American Finals in the wake of the “competitive integrity” of the game being compromised. This involved a wild situation where someone was giving the pros hacks like aimbots and wallhacks as they were playing in the Finals event, effectively ruining the entire thing without anyone actually attempting to cheat. Here's what that looked like (warning: language):

This has led to a mass of complaints about Apex's anti-cheat systems, which clearly failed in a massive way for this situation. But it also speaks to just how advanced cheats have become as this is a private lobby for pros playing in an esports final.

Not that this is necessarily related, but Respawn was just hit days ago with 23 layoffs including Apex Legends developers, some of whom were longtime veterans. Though if anything, this shows that EA needs to beef up Apex's security team to some extent as something like this requires all hands, or more hands, on deck than they currently have now, it seems.

Should have learned to code better :marseysmug2:

Easy Anti-Cheat's response- It wasn't me

https://i.rdrama.net/images/17107853553524117.webp

Kiwis discuss

None
Reported by:
  • Shellshock : transb-word alt
  • b0im0dr : >implying a low-level assembly/C/HolyC programmer is a rslur who cant even string together an XSS
  • TedBundy : neighbor stole it off someone, this is transb-word on an alt
126
EFFORTPOST [EFFORTPOST :marseylongpost:] Porting TempleOS to user space: a blogpost

TempleOS, that esoteric operating system developed by a schizophrenic guy who loved saying the n word. You've probably heard of it and occasionally get reminded of its existence when you see :marseyterrydavis: and :realisticelephant:. It's probably of no value and only /g/ schizos use it to get called a gigachad, don't they? Who else could _possibly_ use it? Well, here's one that went as far as to porting it to ring 3 and blogposts about it on rDrama of all sites because hes too lazy to even setup a https://github.io blog.

Ok, interested? So basically I effectively made TempleOS an app that can be launched from Linux/Windows/FreeBSD and be used as either an interpreter that could be run from the command line, or as just a vm-esque orthodox TempleOS GUI that you could use just like TempleOS in a VM, just faster (no hardware virtualization overhead) and more integrated with the host. It doesn't have Ring 0 routines like InU8 so it doesn't have that "poking ports and seeing what happens" C64core fun though, so keep that in mind.

It also has a bunch of community software written for TempleOS like CrunkLord420's BlazeItFgt1/2, a DOOM port, and a CP/M emulator written in HolyC. Try them out! There's also networking implemented with C FFI and an IRC server+client and a wiki server in the repository that uses it, if you're concerned whether Terry would think it's orthodox, it's totally ok. You could read more about why in the repo readme.

Here's a simple showcase, this would show you the gist/rationale of making this software.

https://files.catbox.moe/6md8p7.png

So let me go on a journey of longposting about how I ported TempleOS to Ring 3.

Step 1. The kernel

There's a _lot_ of stuff in TempleOS that's ring 0 only. No wonder, since Terry always was adamant about being able to easily fuck with the hardware in a modern OS. But on the other hand, this makes porting TempleOS a _lot_ easier. Since the whole operating system is ring-0 only and is a unikernel, every processes share the same address space and that means you could run all the kernel code confined in a single process running on top of another opreating system and have no problems with context switching and system calls, they're all just going to be internal function calls inside the process itself.

Now with this idea, what could we do? We have to study the anatomy of the kernel to be able to port it, of course.

This blog explains it in much more detail, but here's the gist:

https://files.catbox.moe/9ri9rh.svg

You have a bunch of code, but it's incomplete. There's a "patch table" that has the real relocation addresses for the CALL addr instructions, and you fill them in, this sounds easy enough. Plus, TempleOS already has the kernel loader written. We're sneeding that.

https://files.catbox.moe/scxgbx.png

Here's some of the code, but it's irrelevant. Let's move on.

But wait, it shouldn't be this easy. How does TempleOS layout its memory? Let's check the TempleOS docs. Did I mention TempleOS is far more well documented than any other open source software in the world?

Step 1.5. The memory and the poop toad in the secret sauce

https://files.catbox.moe/f47ost.png

That's amazing! Let me quote a few important parts:

>64-bit mode requires paging, however, so it is identity-mapped -- virtual identical to physical.

>In TempleOS, the lowest 2Gig of memory is called the $FG,2$code heap$FG$. TempleOS's compiler always uses 32-bit signed relative JMP & CALL insts because 64-bit CALLs take two insts. With signed +/- 32-bit values, code can only call a function within 2Gig distance. Therefore, TempleOS keeps all code in the lowest 2Gig memory addresses including what would normally be called "the kernel". Two Gig is plenty for code, don't worry.

So what does this mean? We need RWX (read+write+execute) memory pages mapped in the process' lower 2 gigabytes, and normal memory maps anywhere else. This is great because we don't have to care too much about where we should place memory. Plus, memory is "identity-mapped" (host memory would directly mirror TempleOS' internal memory addresses) so no worries about address translation.

https://files.catbox.moe/tkwgzp.png

Here's the code only for the POSIX part of the virtual page allocator because it's more elegant. It's a simple bump allocator with mmap. Works on all Unixes except OpenBSD because they won't allow RWX unless you do weird stuff like placing the binary on a special filesystem with special linker flags because of security theater measures. Theo:marseypuffer:, nobody uses your garbage.

End step 1.5

We're going to have to strip out all the stuff that does ultra low-level boot/realmode stuff. This was a really long tedious thing to do and I'm not enumerating everything I removed. Ok, so what's next?

Step 2. Getting it to compile

How are we going to get this to compile in the first place? Well, turns out the HolyC compiler can AOT compile too alongside the JIT compilation mode it's known for.

So we write a file that just includes all the stuff to make a kernel binary. This part is very short but we're in for a ride, bear with me.

Step 3. i can haz ABI plz?

How do we call HolyC code from C, and vice versa? Intuitively you should know that this is a requirement. Let's check the docs again.

https://files.catbox.moe/ftdlib.png

Ok, cool. This means that

1. TempleOS ABI is very simple

All arguments are passed on the stack, Variadics are also very easy. Take a look at this disassembly:

https://files.catbox.moe/946m0t.png

PUSH 0043BBED pushes the address for the string "Hello rDrama" on the stack, PUSH 17 pushes 0x17(23), the second argument to the stack. PUSH 02 means there are two variadic arguments, and you could access it from the function as argc. argv points the start of the two variadic arguments we pushed on the stack. Much simpler than the varargs mess you see in C, right?

https://files.catbox.moe/brx75j.png

Here's an additional diagram for a C FFI'd function that the HolyC side calls variadically.

2. FS/GS is used for thread-local storage - the current process in use and the current CPU structure the core has.

:marseysoypoint: this is VERY important. Don't miss this if you're actually reading this stuff. All HolyC code is a coroutine, you call Yield() explicitly to switch to the next task. There is no preemptive multitasking/multicore involved. Everything is manual. Fs() points to the current task which gives HolyC code a OOPesque this pointer that you pass in routines involving processes, and you can use them for any process - be it yours or another task and easily play around with them.

So how do we implement Fs and Gs? Simple, thread-local variables in C. We'll come back to C very soon

https://files.catbox.moe/v9mk8l.png

Sorry if you were disappointed in the implementation, lol

3. Saved registers

You save RBP, RSI, R10-R15. That's the only requirement for calling into/being called from HolyC.

https://files.catbox.moe/ids764.png

Here's how I implemented HolyC->C FFI. Save all the HolyC registers, and have placeholders for CALL instructions that you fill in later, kinda like the TempleOS kernel itself. We move the HolyC arguments' starting address to the first argument in the host OS' calling convention, so an FFI'd C function looks like this:

https://files.catbox.moe/f8mq1e.png

How do we implement C->HolyC FFI btw? Well, it's vice versa, but this time we push all the host OS' register/stack arguments on the HolyC stack.

https://files.catbox.moe/7itlhk.png

I wrote a complete schizo asm generator for this that I assemble & link into the loader.

Step 4. Seth, bearer of multicores

The core task in TempleOS in called Seth, from a bible reference. This turned out to be relatively easy, after we load the kernel and extract the entry points from it, we simply execute all of them in the core with the FFI stuff we just wrote above.

https://files.catbox.moe/rycq70.png

:marseyconfused: This shouldn't be this easy. What are the caveats? And what are those signal handlers?

Well, we need to add Ctrl-Alt-C support, which is basically CTRL^C in TempleOS. HolyC, as mentioned above, doesn't have preemption, so an infinite loop without a yield will freeze the whole system. How do we break out of this?

https://files.catbox.moe/uf37wk.png

We use signal handlers in Unix for this. Basically we use the idea that the operating system will force execution to jump to the signal handler when a signal is raised.

https://files.catbox.moe/qbiu3a.png

On Windows, it's a bit more sassy. Windows has the ability to suspend threads remotely and get a dump of the registers, and resume it.

Step 5. User Input/Output

I use SDL for the GUI input/output and sound (TempleOS has BIOS PC speaker mono beeps for sound, it's very simple), and libisocline for CLI input. I'm not going into super specifics because it's boring as fricc.

Step 6. Filesystem integration

TempleOS uses drive letters like C: and D:. We need to translate these ondemand for the kernel to access files.

https://files.catbox.moe/rr1zg1.png

This is the heart of the virtual filesystem. It's quite simple. We just strcpy a directory name into a thread-local variable, and basically have an alphabet radix table.

https://files.catbox.moe/h6edqt.png

I just wanted to show you guys this part. It's a file truncation routine & its super lit, we can throw HolyC exceptions from C because throw() is a function in HolyC.

https://files.catbox.moe/okw8e1.png

Small "logic switch" thing I did for the poor man's Rust match, thought it was neat. (Writing EXODUS in Rust would not be fun. Unsafe Rust gets ugly quick, and I've tried writing some unlike the /g/ chuds)

Step 7. Debugging

Now, we've almost reached the end. At this point, you can run stuff just fine with our TempleOS port. But, how do we debug HolyC code?

https://files.catbox.moe/f0zqcu.png

TempleOS has a very, _very_ primitive debugger. I thought this was _too_ primitive for my taste, so I gave it a modern spin:

https://files.catbox.moe/1mv7v6.png

Looks much better, and more orthodox in a way.

https://files.catbox.moe/zvfiek.png

I just dump all the registers when I catch a SIGSEGV or anything else that indicates a bug and send it to the HolyC side.

Step 7.5. Backtrace

How do we get the backtrace of the HolyC functions? Fear not, because the kernel calls a routine that adds all the HolyC symbols to the C side's hash table in the boot step. Now that we have all the symbols what do we do?

Here's the anatomy of an x86_64 function if you don't know:

RBP(stack BASE pointer) points to the previous RSP(stack pointer) of the callee of the function, and RBP+8 points to the return address, which means where the function, after returning, will resume its execution at. Now with this knowledge, how do we implement a backtrace?

https://files.catbox.moe/2j1380.png

We keep drilling down the call stack and grabbing RBP+8's so we know which functions called the problematic function, and find the address offsets in the symbol table with a linear search.

end step 7.5

Congratulations, this is the end. This probably covers more than your average university CS semester. My stupid ass can't articulate this in a juicier way :marseydepressed: sorry.

Trivia

  • Terry never used dynamic arrays (vectors). He always used circular doubly-linked lists because they're much more elegant to use in C. Really, there's no realloc too. (:marseysoycrytremble:<(data locality be damned) its actually not that bad.)

  • HolyC typecasts are postfix, this is to enable stuff like HashFind(...)(CHashSrcSym*)->member which makes pseudo-OOP much cleaner. HolyC has primitive data inheritance. (this one is code to retrieve a symbol from a hash table, HashFind returns a CHash* but CHashSrcSym inherits from CHash)

  • "abcd %d\n",2; is shorthand for printf

  • HolyC has "subswitches", like destructors and constructors for a range of cases.

https://files.catbox.moe/hs4n1b.png

Cool, huh? It's very useful for parsers.

  • I mentioned this eariler but let me reiterate: All HolyC code is a coroutine. You explicitly yield to Seth, the scheduler, for context switching between tasks. This is how cooperative multitasking should be done, but only Go does it properly, but even then they're not the real deal by mixing threads with coroutines.

  • IsBadReadPtr() on Windows friccin sucks. Use VirtualQuery. You can do the same thing in Unixes with msync(2) (yeah wtf. it's originally for flushing mmapped files but hey, it works)

  • There's a ton I left out for the sake of brevity but I invite you to read the codebase if you want to dig deeper. :marseyautism:

Big thanks to nrootconauto who introduced me and led me through a lot of Terry's code and helped me with some HolyC quirks. He has his own website that's hosted on TempleOS and it's lit. Check it out.

There's probably more but I think this is enough. Thanks for reading this, make sure to leave a star on my repo if you can :marseyheart:

None

https://news.ycombinator.com/item?id=39687755


https://old.reddit.com/r/cars/comments/1bdbzr4/audi_is_making_dual_zone_climate_a_subscription/?sort=controversial

https://old.reddit.com/r/technology/comments/1bdfctr/the_new_audi_a3_is_amess_with_incar_subscriptions/?sort=controversial

https://old.reddit.com/r/technology/comments/1bdhuma/the_new_audi_a3_is_amess_with_incar_subscriptions/?sort=controversial


The Audi A3 is a survivor. The compact luxury car has been around in one form or another since 1996, and an updated version is coming to the US for the 2025 model year. But it's loaded with annoying in-car subscriptions.

At first glance, this new A3 looks a lot like the car it replaces. The hexagonal Singleframe grille—in line with Audi's latest designs—is its biggest change, joined by bigger air intakes at the base of the bumper, an Audi logo high on the nose, and refreshed LED and matrix LED headlights with four customizable daytime lighting signatures. The rear bumper design, inspired by the RS3, has a new LED taillight treatment, a black accent piece, and a mesh insert at the base.

Inside is where things get interesting. The same 10.1-inch touchscreen and 12.3-inch digital instrument cluster from last year carry over, but now you'll have to pay an in-car subscription fee for basic features like high-beam assist, dual-zone climate control, adaptive cruise control, and smartphone integration.

Only by upgrading to the MMI navigation system do you get access to the app store. From there, Audi forces you into add-ons like adaptive cruise control or Apple CarPlay and Android Auto for a one-month, six-month, one-year, or three-year subscription. Or you can just purchase any of those features permanently—although Audi doesn't say for how much.

It should be noted that this subscriptions-for-features model applies to the European-spec A3. An Audi spokesperson declined to comment on whether these in-car subscriptions will also make it to the US when the car goes on sale for 2025.

Visually, the cabin looks mostly the same, but there are some subtle changes. The already-tiny gear shifter from the previous A3 is now slimmer and blends into the center console, new fabric inserts with lightning elements cover the door panels, and the decorative cabin lighting now has 30 color options.

Audi doesn't offer specifics on engines for the US market, but the base Audi A3 in Europe will come with a 1.5-liter four-cylinder mild-hybrid engine making 148 horsepower with either a seven-speed automatic or a six-speed manual transmission. A 35 TDI diesel model will have the same 148 hp, and a plug-in-hybrid model will be available at the end of the year.

Also for Europe is a nifty new trim called the A3 Allstreet. Meant to look like a crossover, the five-door hatchback comes with a matte black grille, front and rear grooves mimicking skid plates, and plastic trim around the wheel wells. The Allstreet is 1.2 inches higher than the standard A3 and has a softer ride. A set of 17-inch wheels come standard, but 18- and 19-inch shoes are also available.

Both the Allstreet and the standard A3 Sportback have 13.4 cubic feet of space behind the rear seats, with up to 42.4 cubes of space with the rear seats folded flat. An electric tailgate is available as an option.

Audi hasn't released A3 pricing for the US, but the Sportback starts at €35,650 (around $39,000) and the sedan is an extra €800 ($875). The funky new A3 Allstreet costs €37,450 ( $41,000).


!fellas !oldstrags you better hang on that shitbox.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.