Unrelated but every time I clean my spotify cache I get better recommendations, I figure they're saving a fair bit of money not having to stream new songs
I had the opposite experience, had an LG Gram from work and it felt cheap in comparison to my m1 macbook pro. A while back I installed asahi on the macbook, best linux experience I've had so far. The trackpad and screen are still unrivaled, keyboard feels much better than the gram, and battery life is significantly better
Its worth pointing out because rust has a monopoly on easy-to-write gc-less memory safety, with the alternatives being modern c++ or higher level languages where you run into a garbage collector
Even with garbage collection, check the fine print. Most of those languages aren't memory safe when multi-threaded, you can race a complicated data structure so that its state becomes inconsistent and now everything is on fire, so if the garbage collector comes along that just catches fire too.
That's actually an entirely reasonable question, Rust's memory model is scarcely as well nailed down as the Java Memory Model (which is a GC model that does promise memory safety under concurrency and is worth reading about if you'd like to see how much thought is needed).
However in a sense Rust is cheating. Java has to do a lot of work because they can't stop you writing a data race in Java, so they want that to be safe anyway if it happens. (Safe) Rust just won't emit the data race in the first place.
A data race requires (as mentioned below in the thread about Python concurrency) that there's mutation concurrently with access to the same memory. In Java that's a bad idea, but it does happen, usually by mistake. In (Safe) Rust mutation requires that nobody else has a shared (immutable) reference to the object, so the data race can't occur because if we can mutate something by definition nobody else has a reference to it - programs with this mistake won't compile.
Emacs with crdt.el, or neovim with instant.nvim are both open source and free implementations of collaborative editing with crdt's. Its going to be a bit of a struggle getting your coworkers to use emacs/neovim though
a combination of "there is no standard", "selling collaboration to businesses is way to make money", and that how editors handle files changes from editor to editor, so its a bit hard to sync
- zed.dev has crdt's/collaborative editing as one of its selling points, but they're planning to offer this collaboration as part a paid service to businesses.
- vscode has its own sycronous collaboration plugin, but its proprietary and they declined to release the source code or offer to port it to other editors
- you could probably build a plugin that bridges emacs and neovim, but it might be a bit slow as you'd have to "translate" the buffer from one editor to the other
There is an inherent difficulty in implementing it, getting asycronous collaborative editing right is hard. Combine that with how few people on emacs/neovim actually use collaborative editing (emacs still has a mailing list and does code via patches) and the chance for a "universal" version is practically nil.
Rendering a platform native GUI and what you render it on are two different things. In the case of Zed, its a combination of
- metal is quite easy to work with
- apple has clear design guidelines and nice toolkits
The Xi editor team quickly found out how much of a mess "native" gui's were on windows. Zed will hopefully add support for vulkan and linux/windows later, but it makes sense to start off on macOS
Metal is not a platform native GUI, it is Apple's graphics API. The native UI on the platform is Cocoa (which calls Metal for some things, but isn't being used here).
If you treat it as a surpercharged search engine on a compressed snapshot of the internet in 2021, then its quite useful. If theres ever a function I forgot, but I know how to explain what it does in natural language, chatGPT most of the time can find me what I'm looking for. On some more obscure bugs or if I'm sorting through a new codebase, chatGPT can help me out from time to time to understand new topics.
Of course, we shouldn't rely on chatGPT. It has give me wrong and insecure code before. However, its a nice tool to have around
>Of course, we shouldn't rely on chatGPT. It has give me wrong and insecure code before. However, its a nice tool to have around
You 100% should verify any code generated by ChatGPT - but this goes for any code found off the internet. I have come across bad Stack Overflow code committed to codebases before.
I think what's making these hyperinformed hallucinators useful for coding right now is that fact checking is fundamentally a big part of our work. There's a bare minimum that must be done to even think anything has been accomplished at all, that it runs and does what we expected on the most basic input, but then we are also used to writing tests and reading code critically.
I wonder what a learning model with the ability to test feedback from executing its code in an interpreter would look like? I know there are different groups testing things like integrating the ability for LLMs to use tools, wondering how this will pan out in the end.
From what I hear, Clang development has slowed to a crawl and GCC leads in new standards compliance and features, since major past Clang supporters have stopped contributing to concentrate on their own languages.
But I see that user ‘pjmlp’, who probably has a much more informed opinion than mine, is posting in this thread.