HN user

dicytea

416 karma
Posts1
Comments113
View on HN
Using LLMs at Oxide 8 months ago

It's funny that I've seen people both argue that LLMs are exclusively useful only to beginners who know next to nothing and also that they are only useful if you are a 50+ YoE veteran at the top of their craft who started programming with punch cards since they were 5-years-old.

I wonder which of these camps are right.

I mean I get this in theory.

But the lineup of high-quality games in production with Bevy just never stops to impress me. I'm always surprised by the new cool stuff they're making every time I take a peek at their community. Yes, most of them are not finished yet, but the engine is still young so that's understandable (gamedev can take years).

On the other hand, I'm still not really seeing any games being made in Fyrox despite it being a few months older than Bevy. Huge respect to the dev though, he's making great stuff.

But if I ever need to pick a pure Rust game engine at all, it's def going to be Bevy.

Sadly does not work on fish because the developers does not believe that users are intelligent enough to understand the obvious and intuitive outcome of flipping ">" (a valid operator in fish).

Deno 2.4 1 year ago

I really never understood the threat model behind this often repeated argument.

Most of these installation scripts are just simple bootstappers that will eventually download and execute millions lines of code authored and hosted by the same people behind the shell script.

You simply will not be capable of personally auditing those millions lines of code, so this problem boils down to your trust model. If you have so little trust towards the authors behind the project, to the point that you'd suspect them pulling absurdly convoluted ploys like:

the web server behind mywebsite.com/foo.sh provides malware for the first request from your IP, but when you request it again it will show a different, clean file without any code

How can you trust them to not hide even more malicious code in the binary itself?

I believe the reason why this flawed argument have spread like a mind virus throughout the years is because it is something that is easy to do and easy to parrot in every mildly-relevant thread.

It is easy to audit a 5-line shell script. But to personally audit the millions lines of code behind the binary that that script will blindly download and run anyways? Nah, that's real security work and no one wants to actually do hard work here. We're just here to score some easy points and signal that we're a smart and security-conscious person to our peers.

which are hosted by microsoft, and therefore easily MITM'able by government agencies.

If your threat model includes government agencies maliciously tampering your Deno binaries, you have far more things to worry about than just curl | sh.

Note that the author used disko to partition the disk declaratively. Disko won't work for a machine with very limited ram, because disko run in the installer, and needs to install tools to the ram to do the partition.

This is only true if you use the disko-install tool, which is a horrible footgun[^1]. The safest approach is to just use the default disko command, then nixos-install.

[^1]: https://github.com/nix-community/disko/issues/947

Some folks think you need to use Visual Studio

How's the LSP support nowadays? I remember reading a lot of complaints about how badly done the LSP is compared to Visual Studio.

I've checked out the Japanese one, but I'd say that it's definitely no where near "real-world content" IMO. Just the usual tortuously slow-paced, artificially dumbed-down dialogue you'd expect out of classroom recordings.

Most of the videos also contain subtitles, which defeats the purpose of the exercises (you can disable the video manually though). Another issue is that some of the words are segmented very unnaturally (e.g. [み][ません]), so it's unclear how you're expected to fill them in.

In the end if what you really want is "real-world content", then you just need to go out there and find them yourselves - they're everywhere.

Composable SQL 1 year ago

I agree with most of this, but I don't understand why you'd treat FKs as business logic. IMO, it's clearly a part of the data structure. Like, say if you have a domain that looks like:

    type User = {
      username: string;
      posts: Post[];
    }

    type Post = {
      content: string;
    }
(for the DDD-brained, assume User is an aggregate and Post is a value object here)

The natural way to represent this in the database is:

    CREATE TABLE users (
        username text PRIMARY KEY
    );

    CREATE TABLE posts (
        author text NOT NULL REFERENCES users (username),
        content text NOT NULL
    );
I just don't see why you'd do it in any other way.

I don't know why, but clipboard libraries tend to be really poorly implemented, especially in scripting languages.

I just checked out clipboardy and all they do is dispatch binaries from the path and hope it's the right one (or if it's even there at all). I think I had a similar experience with Python and Lua scripts. There's an unfunny amount of poorly-written one-off clipboard scripts out there just waiting to be exploited.

I'm only glad that the go-to clipboard library in Rust (arboard) seems solid.

I don't understand, you're replying in a thread where that very - super-experienced and productive low-level programmer - is talking about how he finds LLMs useful.

It'll probably not get as much traction as Go, but for a simpler reason that may not be as ideologically satisfying for you. It's just really hard for a new language to get real traction, no matter how good it is. And it's even harder for transpiled languages, because they almost always gets overshadowed by the language they're transpiling to.

From a comment in the linked issue:

Note that the SDK is used (and enabled as a feature flag) not only in the release of desktop app, but also in the browser, CLI and web clients.

Crokinole 2 years ago

For those frustrated with the game not working, it looks like that the canvas rendering the disc can block the "Place disc" button, depending on your initial window size. To fix this, use your browser's device simulator (Ctrl+Shift+I -> Ctrl+Shift+M on Chrome, Ctrl+Shift+M on Firefox) to narrow the window's width, then refresh the page.

sqlx+sea-query (or sqlx+sea-orm)

I tried sea-orm, but I find its ORM API way too limited (it can't even do multiple joins). For anything beyond simple queries, you end up needing to use its query builder (sea-query) which is blind to your db schema so you need to manually hand-validate all your queries. It's basically no better than pushing string queries + manually validating the output with serde.

I found their query building catastrophically bad the moment the query isn't build all in one place

If you're talking about its crazy return types, there's the auto_type macro that lets you generate return types for functions automatically.

There was also pretty bad security issue

That sounds concerning, can you link it here?

sqlx — a compile time, type safe SQL wrapper that runs your queries against a real DB

SQLx seems like end game stuff at first glance, but after trying it out for a while I eventually decided that it wasn't for me. Writing dynamic/conditional queries just sucks and there isn't any good solution. On the DX side, completion, formatting/linting, highlighting is also non-existent (at least on VS Code).

I eventually settled on [Diesel][0] (a query builder-ish ORM) and I'm loving it so far. Its [performance][1] crushes every other SQL libraries, including SQLx (very counter-intuitive, huh?). It's technically an ORM, but the query builder is very flexible and you can also extend it with your own traits. It got its warts, but it's the most tolerable SQL rust library I've found so far.

[0] https://diesel.rs

[1] https://github.com/diesel-rs/metrics

By DE, I'm mostly talking about having a cohesive graphical shell, not the random apps that comes pre-installed (who cares about those?).

The login manager, lock screen, taskbar, notification daemon, launcher, OSD, workspace overview, etc. In WMs (or WM-like compositors), you either have to cobble all of this together yourself or just give up and convince yourself that you're a minimalist.

Doing this kind of stuff was fun for a while, but these days I'm starting to crave for something actually good and polished.

No one's saying that they should include a DE into Sway. Your precious WM will still be with you even if someone decides to make a new tiling DE.

I'm a Hyprland user and honestly, cobbling together a poor man's DE using half-baked amateur-ish GTK apps and copy-pasting Nerd Font icons no longer spark any joy for me. I'm basically ready to jump at the first sight of a viable alternative. I'm very optimistic about Cosmic DE in this regards.