• 2 Posts
  • 351 Comments
Joined 4 years ago
cake
Cake day: May 31st, 2020

help-circle



  • We’ve been using Leptos at work, which is a similar framework (and probably shares half the stack with Dioxus).

    And yeah, it’s really good. My favorite thing about using Rust for the UI is algebraic data types.
    So, in Rust when you call a function which can fail, there isn’t an exception being thrown, but rather you get a Result-type as return value.
    This Result can either contain an Ok with the actual return value inside. Or it can contain an Err with an error message inside.
    So, in your UI code, you just hand this Result all the way to your display code and there you either display the value or you display the error.

    No more uninitialized variables, no more separate booleans to indicate that the variable is uninitialized, no more unreadable multi-line ternaries.
    It just becomes so much simpler to load something from the backend and display it, which is kind of important in frontend code.







  • 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.



  • Da müsste man sich jetzt so richtig einlesen, und wahrscheinlich noch ein paar neue Studien durchführen, um das wirklich richtig interpretieren zu können, aber es gibt zumindest richtige Studien, die zeigen, dass Cannabis Einfluss auf die Testosteron- und Östrogen-Bildung haben.

    Also soweit ich mich gerade eingelesen habe, scheint es die Östrogenbildung bei Frauen zu fördern.
    Siehe z.B.: https://leafwell.com/blog/effect-cannabis-hormones
    Ich bin mir noch nicht sicher, ob “Frauen” eigentlich weibliche Laborratten in dieser Aussage sind. Das könnte aber eben bedeuten, dass es bei Männern ebenfalls zur Östrogenbildung beiträgt.

    Es scheint aber auch eine umgekehrte Korrelation zu geben, also Testosteron und Östrogen beeinflussen das Cannabis-Konsumverhalten.
    Es steht z.B. hier drin:

    Spoiler

    Males also show different cannabis use patterns as compared to females and appear to use cannabis more frequently and at higher amounts (Cuttler et al., 2016). However, a faster progression to problematic cannabis use (Cooper and Haney, 2014) and more severe withdrawal symptoms (Levin et al., 2010) could explain why women typically show greater propensity to relapse to drug use than men (Becker and Hu, 2008; Fattore et al., 2008).

    ZL;NG: Männer greifen bereitwilliger zu Cannabis, Frauen kommen aber schwerer davon weg.

    Vielleicht also sind Männer mit Brüsten ein ganz besonderer Cocktail aus viel Testosteron + viel Östrogen, der sie sowohl mehr dumme Dinge machen lässt, als auch es erschwert von Cannabis wegzukommen.

    Aber ja, insgesamt würde ich die Beobachtung absolut nicht abschreiben.







  • 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.