Huh, so Tony Hoare invented null
and then Graydon Hoare invented Rust, immediately terminating the existence of which does not have a traditional null
null
value.
Huh, so Tony Hoare invented null
and then Graydon Hoare invented Rust, immediately terminating the existence of which does not have a traditional null
null
value.
I’m using Simon Tatham’s Puzzles for nonograms.
It’s basically this webpage in app form: https://www.chiark.greenend.org.uk/~sgtatham/puzzles/js/pattern.html
It doesn’t result in a pixel art picture when you solve it, if you care for that, but the solutions do have contiguous regions.
It’s certainly simpler than Forza et al, but there’s an open-source racing simulator, called Speed Dreams: https://www.speed-dreams.net/
If you watch the “Latest Release” video, there’s some engine sounds in that.
They seem to have a bunch of samples for how different car models’ engines sound: https://sourceforge.net/p/speed-dreams/code/HEAD/tree/tags/2.3.0/data/data/sound/
And then they modulate that in code, based on the car’s speed, gear, turbo etc.:
https://sourceforge.net/p/speed-dreams/code/HEAD/tree/tags/2.3.0/src/modules/sound/snddefault/CarSoundData.cpp#l171
They also do that for gear changes, tyre sounds, collisions and backfires.
From what I know about audio, I would expect AAA games to still use the same approach of recordings+modulations.
While it is possible to fully synthesize an engine sound, it doesn’t help you much with making it sound right in all different situations.
With that name, I hope the guy is also a fan of Minetest: https://wiki.minetest.net/Mese_Block
🙃
It’s a format published by Google without much industry input. I imagine, that’s why it isn’t seeing terribly much adoption.
AVIF and JPEG-XL might do better, but they’re still relatively young formats.
Yeah, GIF is an extremely old format and rarely used these days. You just still see files being called “.gif”, even though they’re APNG or MP4 or something else under the hood.
Fading out? With my wind band, we’ve never done it.
You can have everyone play pianissimo and also reduce how many players play each voice, but unlike a digital fade, this does change the way it sounds.
It’s also difficult to stay in tune when playing at a low volume with a wind instrument, so it starts to sound horrible before it becomes inaudible.
@Kairos@lemmy.today mentioned mic+soundboard, but for a windband, the band itself would need to be out of earshot, which is rarely possible.
So, yeah, if we ever need/want to cut a song short, we make use of a marching band signal.
Basically, the person on bass drum does two double-hits, which are out of rhythm so you can hear them, and then another hit on the first beat of the next measure, which is when everyone stops playing.
That does not always sound great either, but better than nosediving the whole orchestra. 🙃
Excuse me, Windows is the cheap copy of KDE.
I always hated that. It always felt like they just admitted defeat. They could have made an excellent song, but settled for disappointment.
Now I’m doing music myself, and goddamn, I get it. You can have a cool song going, and then you try to end it and it just sounds like disappointment every time.
Various ant species do a similar thing where their soldiers have really big, flat heads and when their nest gets attacked, the soldiers stick their head into the entrance way, so the attackers can’t come inside.
Apparently, this kind of behaviour is referred to as phragmosis.
Interesting strategy after they already advertised their most recent game, Assassin’s Creed Mirage, as going back to the roots…
I actually even made my own bullshit-Spotify. As in, I’ve got a server running on a single-board computer which reads my music folder and serves a small music player as a webpage.
I didn’t want to install a music player client on my work laptop, but still wanted to listen to my own songs there.
Hmm, you must have misread something. It translates to “mouth bags” or more specifically “mouth-of-an-animal bags”.
The dish in question: https://en.wikipedia.org/wiki/Maultasche
But that is what I mean with it needing an extension of the language.
So, I’m not saying you could just build a library that calls existing PHP functions to make it all work. Rather I’m saying there’s certain machine code instructions, which just cannot be expressed in PHP. And we need those machine code instructions for actually managing memory. So, I am talking about reading/writing to memory not being possible, unless we resort to horrible hacks.
Since we are building our own compiler anyways, we could add our own function-stubs and tell our compiler to translate them to those missing machine code instructions. But then that is a superset of PHP. It wouldn’t be possible in PHP itself.
Again, I’m not entirely sure about the above, but my web search skills couldn’t uncover any way to actually just read from a memory address in PHP.
I mean, I’m a bit out of my water there, both in terms of the featureset of PHP and what’s actually needed for a kernel, but I’m still gonna go with no.
For one, PHP uses reference counting + garbage collection for memory management. That’s normally done by the language runtime, which you won’t have when running baremetal.
Maybe you could implement a kernel, which does as few allocations as possible (generally a good idea for a kernel, but no idea, if it’s possible with PHP), and then basically just let it memory leak until everything crashes.
Then again, the kernel is responsible for making processes crash when they have a memory leak. Presumably, our PHP kernel would just start overwriting data from running processes and eventually overwrite itself in memory(?). Either way, it would be horrendous.
Maybe you could also try to implement some basic reference counting into your own PHP code, so that your own code keeps track of how often you’ve used an object in your own code. Certainly doesn’t sound like fun, though.
Well, and secondly, I imagine, you’d also still need an extension of the language, to be able to address actual memory locations and do various operations with them.
I know from Rust, that they’ve got specific functions in the stdlib for that, see for example: https://doc.rust-lang.org/stable/std/ptr/index.html#functions
Presumably, PHP does not have such functions, because its users aren’t normally concerned with that.
How? You’d need to compile it down to machine code somehow, for the processor to have any clue how to run it. And you’d need some custom library with custom compile instructions, to be able to control memory allocations, memory addresses etc…
I did a quick search and found two operating systems written in JS, both of which cop out when it comes to the kernel. Did you maybe mix it up with those?
Well, if you’re self-hosting GitLab, there might not be much of a difference. Codeberg is hosted by a non-profit organization, so you don’t have to self-host it.
The open-source software that it uses, Forgejo, is also more so developed by the community, rather than just one corporation, who could change the license for future updates at any point.