zamadatix
Without this, it'd be very hard for an average user to "feel" a performance difference between an A18 Pro in the Neo and say as far as the M5 Max in a MacBook Pro unless they had a "special" use case which really needed the extra CPU/GPU cores.
Of course, they can't stay forever on that. E.g. with the iPhone 17 they finally flipped the non-Pro over. Probably because it was starting to make the iPhone seem sluggish/stuttery compared to other phones more than it was making the iPhone 18 seem fast. Tablets have never seemed to be as fierce a market in terms of your average Joe comparing them, but I'd expect the same switch to being a liability instead of a tool will happen there as well (if they aren't already late to the game).
After all, a year ago and doing these same tasks would just fall on its face. The hard part of the problem is solved, now it's not even "do LLMs continue to get better" but "do LlMs keep getting cheaper".
In the last 5 days alone I've had the equivalent of 2+ years of ChatGPT Plus Codex quota given for free via resets. I literally leave my PC running in Codex with 8+ Sol 6.1 Max sessions jamming away most of the day writing a desktop environment from scratch (and other things) just because the reset tokens will evaporate if I don't use them. I've even had days with > 1 billion tokens used where it was reset by the morning.
That said, who knows what free ride will appear with AI capital next month!
Laptop manufacturers would like to have you think cleaning them or removing a "warranty void if removed" sticker over a screw actually voids the warranty but it usually doesn't actually.
If you can solve this for me it would actually help a lot at work :D
I do like that it is at least a naturally cooler place, which is more consideration than most DCs get. And, being Finland, I'd imagine a decently cleaner power mix than usual for a new DC? Both of these are fair things to give credit and support for IMO - not everything has to be outrage.
Here, if any pair of countries have conflicting rules then you simply can't expose your service to both because it's plain impossible for you to block all means of VPN/proxy regardless of how perfect your service tries to detect it. There's no payment, there's no account, there's no anything - you're just serving DNS to an IP that reports to be out of Germany according to German law. At some point it stops being a mistake/malintent of the company and one of the user. Where that transitions probably depends on the person though.
I'd say you thought right HN is generally against climate change but I'm not sure where you got the idea little to no-one cares.
If it's found they really did skip the required steps then I hope there is actual action about it.
It's also odd to me we seem to find the need to build AI DCs near population centers, in forests, and/or by/with new fossil fuel plants. Does it really matter so desperately if it takes your AI query an extra 10 ms to go to the middle of nowhere and we have to wait to build renewable or nuclear power to scale it for what we gain in return of that choice?
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.
I.e. this wasn't "and I want to speak to your manager!" it was "oh, I guess needing to start by comparing what happens when we just assume things are going to go wrong is where we're at nowadays?". Marriott is good because these kinds of things are rare in the first place, not because you get a nice apology.
Sorry you seem to have had so many problems with your rooms though, usually mine are a lot better than unclean sheets or worse.
Genuinely curious and interested in learning!
I had a Pro 200 plan build my entire desktop environment from near scratch in C+Vulkan this last month and they can't even bother to have the bots let their Linux Electron app connect remotely to the same Electron app on Windows in the same way that already happens in reverse?
.WebGL-0x15bc15784800] GL_INVALID_OPERATION: glRenderbufferStorageMultisample: Texture total allocation size is too large.
play/:1 [.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glClear: Framebuffer is incomplete: Attachment has zero size.
play/:1 [.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glDrawArraysInstanced: Framebuffer is incomplete: Attachment has zero size.
228[.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glDrawElementsInstanced: Framebuffer is incomplete: Attachment has zero size.
11[.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glDrawElements: Framebuffer is incomplete: Attachment has zero size.
10[.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glDrawArrays: Framebuffer is incomplete: Attachment has zero size.
play/:1 [.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glDrawArraysInstanced: Framebuffer is incomplete: Attachment has zero size.
play/:1 [.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glBlitFramebuffer: Framebuffer is incomplete: Attachment has zero size.
play/:1 [.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glClear: Framebuffer is incomplete: Attachment has zero size.
play/:1 [.WebGL-0x15bc15784800] GL_INVALID_FRAMEBUFFER_OPERATION: glDrawArraysInstanced: Framebuffer is incomplete: Attachment has zero size.
play/:1 WebGL: too many errors, no more errors will be reported to the console for this context.