HN Simulatornew | past | comments | lists | submit | durdn's commentslogin

and even more interesting, how many that can't be enforced by a linter can be enforced by Typesafe's Jev?

give us some more details on this awesome c+vulkan desktop environment! Screenshots? will you publish it? very curious!

Ha, sure! It's more a "zen sandbox" than something I intended to ever publish... but you never know - after all I didn't set out intending to make a vibed DE either. At the same time, I'd encourage others interested to try making their own zen sandbox instead - you'd probably enjoy it a lot more than mine! In spirit of the whole thing being vibed, here's a low-effort AI driven gallery/summary of the current version to take a quick peak with: https://zamadatix.github.io/dandesk-showcase/#overview (this focuses on the main GUI components but not the service/ephemeral components).

And in spirit of HN, here is the extremely long (as I've been meaning to write this up for a few friends too) human written description of what led to it/why it's my zen sandbox/what I've liked so much about it. The short answer, if one does not wish to read a wall of text about someone's vibe coded pet project, is I can live tweak aspects of my DE in the background during the workday but I've never actually spent an ounce of energy looking at a single line of the code (I've got enough of that elsewhere!). E.g. my desktop icons replicate across my monitors so I can always access them from any screen. Small shit like that is just fun to have "appear" during some boring work call. It's also pretty efficient, using less RAM+VRAM than LXQT/KDE/Gnome (though I don't claim feature parity with those either). The downsides are it's not meant to be the best archictecure, the most secure architecture, or have features anyone but I wanted to use. Parts I don't use much also haven't gotten as much work, e.g. RemoteViewer is still just an MVP with only (custom built) VNC support while the Start Menu functionality is pretty much 100% from what I wanted to do. It's designed to be a zen sandbox.

I'd also preface all of the OS configuration has gone into a monorepo which contains the DE as one component and I made sure to have regular backups to my external server. This is in anticipation at some point it'll just delete everything when it gets stuck or somehting, but it has surprisingly been very well behaved so far and I haven't had to do more than run test restores of anything yet.

.

Longer (still human) description:

I started my yearly "install Linux on my main personal PC, put a few weeks of work into tweaking it, regret it, and roll back to Windows" except this time I decided to just give AI full reign in initial set up and troubleshooting. I usually go Arch (btw) with Sway because my favorite thing on all of my Linux PCs vs my Windows one is I can build it up to what I want rather than down from some enormous blob of shit I don't care about (which, inevitably, I end up breaking or getting limited by because there is some cross dependency built into the system I didn't account for). This was great, it took a lot of the "and how the fuck do I configure Pipewire to do hide the unfiltered mic?" type friction from the start.

Straight away though I ran into some issues with my software KVM (drag your mouse through the edge of the monitor and your mouse+keyboard goes to the next machine until you drag it back) since it expected Gnome/KDE Wayland extensions to do it and Sway doesn't have those. I didn't really want to go down the road of building half my programs from scratch (or trying to find who else already is on AUR and use that kludge) so I asked the LLM if there was a way to write a plugin. It suggested Hyprland would both be easier to write such a plugin for and be a bit more bleeding edge for some of the other wlroots features I was looking for too. Not 30 minutes later, Synergy was working!

I then took this another step forward and added the new Wayland extension for SDR content brightness in HDR. By default it put SDR content at 201 nits, and I usually set it to ~480 in my bright office (lower at night). Another quick addition to the hyprland plugin and this too was working without having to build the whole kit and kaboodle that is a standard pacman dependency tree with only the official repos (and a small, easier to maintain, plugin).

This was about the point I realized this was kind of relaxing/fun. Instead of fight some nitpick detail all day and come out half defeated, I could just do my thing while the LLM tried it in the background. So I decided, "hey, what about a few really lightweight tray apps for things like managing and connecting to containers or triggering different types of screenshots/recordings?". Then I replaced waybar, and the launcher, and maybe a few other things. The key rule which made it a zen sandbox was "low abstraction" and "avoid 3rd party libraries wherever reasonably possible". E.g. I was fine pulling in a unicode library, a font rendering library, and system integration libraries for vulkan/systemd/dbus/etc - if I ever really wanted I could replace those later but it was more the "why does this tray app take 120 MB to show me the clipboard?" type abstraction I wanted to avoid, not a custom OS.

Around this time, I realized I was wasting tokens/time asking it to do the same things. I.e. "make an input box which...", "theme this like...", and so on. I figured it'd be a lot more fun to make these kinds of things into microservices. Being a zen sandbox, I decided to go the slightly impractical approach of a single process with a bunch of threaded microservices which communicate over the JSON message bus. At first I wasn't sure if this would just be a crashing mess being a single C process, but it has actually managed to do extremely well with both hardening and isolating what it can in that bounds. The theme service, the image encoding/decoding service, the clipboard service, and so on. The biggest help was the common UI toolkit, written from raw C + Vulkan. After having it build up a library of UI elements overnight the speed of making graphical components went up drastically.

At this point it was no longer the weekend, but it was all so stable and the development so isolated I kept vibing it in the background during the whole work week. What started as an ugly baby only a mother could love turned into something I actually liked the look and feel of more than anything else I had tried. I kept expanding the apps: TaskManager, Settings (unified settings app across all apps in the DE), start menu, my own spin on workspaces/workspace movement, notifications+notifications tray, clock+calendar, network info, bluetooth pairing, OSDs for volume, Calc, hardware accelerated screen recording via Vulkan, and so on.

I had also vibed 2 remakes of Windows apps to Linux: SumatraPDF and 7zip. There's just something about their simplicity I've always loved on Windows, and none of the Linux alternatives have never quite felt the same even if they do the same job. At first, I had converted these to FLTK based clones using MuPDF and 7z (the underlying libraries used by the apps). Once the DE started to be more complete and I had my own UI toolkit, I just went for native integration of the underlying libraries into FileManager and Viewer. Viewer also has support for any image/video/document format supported by the DE as a whole.

Then I realized "Synergy sure has an annoying UI, lacks a few features, and uses a lot of RAM + it's a pain to enter my license on each machine". So now that is the SoftKVM microservice, and a stub build exists on my mac mini (rebuilt from first principles, not the Synergy protocol).

Anyways, I think that's more than enough blabbing. I could probably go on for 3x as long but I'm not sure anyone would want to read about it :). As for what's next? I think this weekend I'd like to drop Hyprland and go straight to wlroots - maybe even break the holy separation of compositor and apps as part of this anti-unix approach "borg". It has a lot of cruft which makes no sense (Lua for configs? All other configs go in JSON and have a GUI in Settings!) and it uses about as much VRAM as all of DanDesk with nothing else open so I could probably find a few hundred MB to save there.


Dude, word! I've been in love with Pragmasevka the moment a friend recommended it. Only thing to adjust is the `cell width` of your terminal.

it's not X, it's Y.


oh man I used Terminus for so long till my finger hurt ... recently I was very happy with Cascadia Mono but now I've migrated to (as I was saying in another thread) Pragmasevka (derivative of Iosevka that mimics Pragmata Pro). It's really great.


Interesting cycle, someone making Iosevka more pragmatapro like here: https://github.com/shytikov/pragmasevka


A friend pointed me to a derivative of Iosevka that tries to mimic the historical (and commercially licensed) Pragmata Pro and the result is an insanely great font I've migrated to recently: https://github.com/shytikov/pragmasevka


First, it’s LLMs can’t do cryptanalysis. They can barely solve toy substitution ciphers without hallucinating.

Then it’s OK, they can reproduce known attacks, but that’s just pattern matching against papers already in the training data.

Then it’s OK, they found previously unknown attacks on SpoC and a flaw in KINDI’s security proof, but those are obscure competition schemes nobody uses.

Then it’s OK, Claude found a new attack on HAWK that cuts the effective security of a NIST post-quantum signature candidate roughly in half, but HAWK isn’t deployed and a human researcher was involved.

Then it’s OK, Claude independently found a new cryptanalytic attack on AES that improves the previous best technique by 200–800×, but it’s only 7-round AES, not the full 10 rounds.

Then it’s OK, it found a practical key-recovery attack on 13-round LEA that runs in under an hour instead of requiring ~2^86 work, but LEA has 24 rounds.

Then it’s OK but none of this breaks a production cipher.

Wake me up when it breaks full AES.

Then—


This particular exploit belongs something between points 2 and 3 in your list and was more about processing data with a known algorithm and known key for the dataset that nobody had tried, so I'd say it is less impressive than a lot of other results LLMs have had in cryptanalysis. I object to the headline but the article was interesting.


then it's "fun" to realize the NSA has been storing encrypted traffic for at least two decades that they can't decipher, yet


There was news like 10-15ish years ago that the US government was making massive data storage facilities across the country. Like spending over a billion dollars on them. When I read that I knew that basically every email and text and call and DNS lookup I made was in a permanent record. I operate as though anything I do on a computer is being permanently stored, because it likely is if it's going through any US operated or controlled service providers or companies.


I fear someone higher-up taking the dataset, pointing AI at it, and saying "find me people who said something I don't like."


They’re holding off on doing that kind of thing until they have assurance that it won’t matter if the general public know who specifically they are, that they have this capability, and that they are willing to use it without caring for legality. I estimate that we’re probably right on the precipice of that time period.


I found this post hilarious exactly about this the other day:

First, it’s AI can’t multiply 4-digit numbers.

Then it’s AI can only, by brute force, get silver in the IMO with specialized systems.

Then it’s OK, well, now a general-purpose model can get gold, but it’s still just the IMO, it’s for high schoolers.

Then it’s OK, it can solve a few trivial Erdős problems, but only because nobody seriously tried them before, they were low-hanging fruit.

Then it’s OK, a lot of serious mathematicians tried this one, but the result was still obvious in hindsight, it just combined knowledge from a thought-to-be-unrelated field, if any human knew that, they would solve it.

And then to OK, but there are still Millennium Prize Problems.

Then OK well it's just Navier-Stokes wake me up when its the Riemann Hypothesis.

Then-


If AI does solve the Riemann it will be the watershed moment when the world realises what has happened.


I did a similar thing, took those sub agents primitives and ran with it: https://github.com/durdn/herdr-interactive-subagents I do still use more than one harness though.


Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: