Yeah the way I got out was a bit cryptic, although I think there are multiple ways. I’m shameless enough to use a walkthrough when I’ve been stuck for a while, otherwise I’d be having an even harder time.
Yeah the way I got out was a bit cryptic, although I think there are multiple ways. I’m shameless enough to use a walkthrough when I’ve been stuck for a while, otherwise I’d be having an even harder time.
Planescape: Torment
I haven’t played a lot infinity engine games and I’ve struggled with understanding what the game expects of me in terms of gameplay. Hopefully I’ll internalize that eventually but I’ve been enjoying the writing and vibes so far even if the gameplay feel a bit frustrating and a bit like a chore at the moment.
I’m developing a system that causes people to give me VC funding because it sounds cool
As long as you have your windows license key you can change your mind later so really you can do whatever. I’d recommend giving 100% linux a try if that seems fun. Obviously you’re gonna want to back up any interesting files that you have on windows either way.
Ah ok just read the article and not the proposal. I’m surprised that they went that far but as I wrote I think that lifetime annotations are a good idea, hope the C++ people find a way to add them to the language that actually works well, which sounds like an incredibly difficult task.
I’m a bit skeptical that a borrow checker in C++ can be as powerful as in rust, since C++ doesn’t have lifetime annotations. Without lifetime annotations, you have to do a whole program analysis to get the equivalent checks which isn’t even possible if you’re e.g. loading dynamic libraries, and prohibitively slow otherwise. Without that you can only really do local analysis which is of course good but not that powerful.
Lifetime annotations in the type system is the right call, since it allows library authors to impose invariants related to ownership on their consumers. I doubt C++ will add it to their typesystem though.
Vim sort of already has this feature via set foldmethod=syntax
. This doesn’t work exactly like the author suggests but you can also use set foldmethod=expr
and then set foldexpr
to a more complicated expression to only get nested function/method bodies, via tree sitter for example if you’re on neovim.
My favorite example of haskell arcane wizardry is löb. It’s mentioned in this list but not really done justice imo.
To add on this, this doesn’t necessarily mean that there are fewer programing jobs in total. If people work 10% more efficently, that means that the cost of labor is only 91% of what it was before meaning that people might be able to afford to finance more programing projects. One thing that does matter is for example things like entry level jobs disappearing or the nature of the work changing. Doing less boring gruntwork can make the job more fun, but otoh digitization sometimes results in the worker having less agency in what they do since they have to fit everything into a possibly inflexible digital system.
I’m using “OOP” more in the sense that is described in the article, but that is a fair perspective on rust and OOP. It is a term with a lot of different interpretations after all.
Curious to hear what in Rust could be more easily solved with OOP! I think one reason for rust not using OOP is because they want to minimize dynamic dispatch and keep it explicit where it happens, because it’s a language that gives you very fine grained control of resource usage, kinda similar to how you have to be explicit about copying for most types. Most trait calls are static dispatch unless you have a Box::<dyn SomeTrait>
What do you mean by its predecessor? C++? I think rust has a bunch of advantages. For one, designing a new language today gives you the benefit of hindsight meaning that they have a more cohesive set of features and a nicer standard library compared to C++ that has some bloat and cruft as a natural result of it evolving over several decades. It’s also much easier to reason about undefined behavior in rust thanks to unsafe
. Algebraic data types are really nice and traits are better than classes.
The borrow checker isn’t just useful for low level programming. One of the other main selling points is “fearless concurrency” or essentially the fact that the borrow checker can help you reason about thread safe vs non thread safe data.
If anything I think that the current rust discourse is a fad. I’m not sure what it is about rust that makes people have so strong opinions about it but I can’t wait for it to become a “normal” language so that people can chill about it a bit.
There are non-propietary versions of android, I use /e/OS for example. Try searching for de googled android if you wanna find out more.
I’m surprised that no one seems to have brought up curl, which is maintained by Daniel Stenberg who is Just Some Guy™
Beeper is a free app that is built on the same matrix bridges, and it takes care of hosting for you. Downside is that this requires you to trust beeper
Nice, I’ll check it out. I’ve been meaning to customize the desktop a bit more but it works well enough for the moment.
There are probably better alternatives, but I have a raspbery pi plugged into my tv and use KDE connect to remote control the mouse and keyboard from my phone. If I wanna watch youtube I’ll navigate to youtube.com and click on a video.
Well he speaks english so in that sense he’s english speaking
Why settle on cammel case (“
saveGame
”) or upper cammel case (“SaveGame
”) when you can have one of each?