HNHacker News
TopNewBestAskShowJobs

chrisldgk

566 karma · joined June 10, 2022

submissionscomments
chrisldgk··on How much traffic can a pre-rendered Next.js site handle?
For things like this (public facing static sites) I’ve often gone for a pretty naive approach using Redis (more lately KeyDB as a drop-in alternative) to cache any static pages that SSR would be handling otherwise for a minute or so. If I needed any more performance I’d also use node:cluster to run the server on multiple threads. This significantly improved RPS while keeping CPU usage lower because I had found that my bottleneck for most of these problems was database lookups (Postgres mostly, specifically rerequsting the same data).

The big convenience that SSR brings for most of my use cases is querying the CMS for changes and getting instant updates on the frontend without having to statically rebuild the HTML anytime content is updated. That approach allowed me to run SSR without all the performance issues it would bring otherwise.

I don’t have exact numbers but I can provide them if anyone’s interested.

chrisldgk··on Postgres Just Cracked the Top Fastest Databases for Analytics
Either the website this is referring to got hacked or you sold it. Either way, this probably shouldn’t be linked on HN.
chrisldgk··on The Fall of FiveM
I didn’t know they were behind AlterIWNet as well.

Being too young to legally buy MW2 and finding out about AlterIWNet for my not-so-legally owned copy of the game was life changing for me (for better or worse).

Thanks for those teenhood memories that just came rushing back.

chrisldgk··on Tolerating full cloud outages with Monzo Stand-in
To add to this, I remember a story my father told me. This is off the top of my head and a few years ago so it might not be fully accurate.

My father worked as a banker for most of his life and when he was in his late twenties he got a position to oversee a smaller investment bank. This is sometime in the late 90s. When he started, he took a general look around, checked with everyone how things are going and happened to meet on of the few IT people working in the building. When the IT guy realized that he was speaking to a new person who might be able to change things around there, he was elated and told him that there was an issue the previous boss never took too urgently, even though it was quite critical. Apparently the servers that were running pretty much all of the transactions of that investment bank were located in the basement of that building and have literally never been migrated, upgraded or anything else. The servers that were left over from that time was literally one running machine and another machine that had died a few years prior that was now only used for spares in case anything on the singular still working machine broke. Since the hardware was so old, there apparently weren’t many replacement parts left and the ones that were left were incredibly expensive due to many bank depending on those specific servers.

Anyway, my father heard that story and immediately got the guy the funding he needed to migrate to a newer and better system. Sometimes I think about this kind of stuff, we think banks are really resilient (and they try to be), but I wouldn’t be surprised if setup like these still exist somewhere because people are too scared to touch them.

chrisldgk··on Discord client that works on Win95*, Win98 and above
No third party ads like you might be thinking, but a lot of in-app upsells for discord nitro (their pro tier), server boosts, custom emotes and stuff like that. Their monetization scheme is very twitch-like, I’d not be surprised if they don’t like you using third party clients that don’t shove all of that in your face.
chrisldgk··on Keymapper: A cross-platform context-aware key remapper
Good point, sorry.

On macOS, brackets are achieved by using Alt+5 and Alt+6, curly braces are achieved using Alt+7 and Alt+8. On windows curly braces are sat around the brackets, so for curly braces you’d use AltGr+7 and AltGr+0 and brackets would be AltGr+8 and AltGr+9. There’s similar discrepancies for pipe, backslash and others, all of which are confusing to muscle memory when jumping between OSes.

I’m aware I could just use something like a windows alternative for Karabiner elements to manually remap each macro(?), but maybe somewhere out there knows of something that just remaps everything to how it is on a specific other OS.

chrisldgk··on Keymapper: A cross-platform context-aware key remapper
I have a question that’s somewhat unrelated but also related. Has anyone already figured out how to remap windows (and Linux) keyboard macros for brackets (i.e. {}[]) on DE ISO keyboards to behave like they do in macOS? Everytime I develop on Linux or windows it drives me crazy that my muscle memory can’t figure out which keys to press
chrisldgk··on Keymapper: A cross-platform context-aware key remapper
That’s funny - fellow German here, also using macOS with ISO DE keyboards and running into the exact same issue with Karabiner elements. Sometimes keyboard work out of the box, sometimes I need to swap < and ^, sometimes the keys are swapped on the internal keyboard even though I’ve only applied the key swaps for specific devices.

So far I haven’t really cared enough to figure out what the problem is and just remap whatever’s wrong in Karabiner directly, but I would also like to know how to fix that.

chrisldgk··on macOS now identifies Docker as Malware
This seems like an issue on Docker Desktop‘s end (some kind of update bug). The title seems to imply (at least to me) that macOS is at fault here. Maybe a headline change is in order?

Edit: spelling

chrisldgk··on Anthropic raising funding valuing it at $60B
Nonsense no, all technology has a use-case, including blockchains, VR and whatever’s been hyped in the last 20 years. I’m not even an opponent of AI in its current state, its and incredibly useful tool for a big number of things.

Overhyped (and more specifically, overvalued) is a different question though. I think that most people working in the AI field have a pretty good monetary reason to say that AGI and ASI are just around the corner, but I have yet to see proof of any of it being achieved in any way whatsoever.

Looking at everything we have so far, LLMs are still only token prediction and neural nets can only do what they’ve been trained to do. The datasets may be bigger, the computing power and efficiency may be increasing and we’re building abstractions that make longer chains of „thought“ possible, but at the end of the day this is still the same technology with the same restrictions that it’s always had and I don’t see that changing.

chrisldgk··on Anthropic raising funding valuing it at $60B
There’s a third one as well. AI will never get past its current autocomplete on steroids state and mainstream people will see through the facade at some point. AGI always was and always will be a pipe dream with the technology we currently have.

All AI stocks come crashing down from fantasy amounts of money to what they’re actually worth as they did with every previous tech hype until people find a new thing to throw their money at.

chrisldgk··on Using Rust in non-Rust servers to improve performance
This seems a bit unfair to JavaScript. There’s a lot of optimizations made to the language and its runtimes that have made a more than viable choice for server side applications over the years. The JavaScript that started as a Webbrowser client side language is very different from the ECMAScript that we have today. Depending on its usage it can also be one of the fastest, only regularly eclipsed by rust[1]. So no, JavaScript really isn’t a bad option for server side applications at all.

[1] https://www.techempower.com/benchmarks/#hw=ph&test=composite...

chrisldgk··on Svelte 5 Released
Yes, yes and yes. It kind of depends what your project uses under the hood and what it depends on, but Astro is quite flexible with the frameworks it supports and for many things there’s a first-class integration that lets you just install support for certain libraries and frameworks (for example Tailwind, React, Partytown, certain CMSes) with one command.

For DB and user logins, you might have to run in SSR mode to be able to do server-side stuff, but you can certainly build API routes, server middleware and interact with cookies for user token stuff.

chrisldgk··on Show HN: HTML for People
An absolutely great tutorial and something I wish I had when I first started playing around with HTML about 11 years ago (I’m 26, quite late to the party).

Even though I’ve been working as a full-stack for quite a few years now I’ve been hooked while reading just imagining and remembering how magical building my first few websites used to be. I’m hoping this will get some more people to realize how easy it is to build your own webpage and how much fun it can be building your own little place on the internet.

chrisldgk··on Show HN: FFmpeg-over-IP – Connect to remote FFmpeg servers
You might be able to switch to Bun or Deno with relatively little effort and create binaries that are probably a lot smaller (and maybe also faster) with each of their compile commands [1][2]. In the end I do also believe that a compiled language like Swift, Rust or Go might be a better fit though.

[1] https://docs.deno.com/runtime/reference/cli/compiler/ [2] https://bun.sh/docs/bundler/executables

chrisldgk··on Adobe Firefly Video Model
Given that they can train their models on your Photoshop, Illustrator, After Effects and Premiere projects according to their ToC, this might not even be incorrect.
chrisldgk··on The End of Finale
It seems now is as good a time as any for people to try MuseScore [1], the FOSS alternative to Finale and Dorico.

[1] https://musescore.org/

chrisldgk··on Clojure Desktop UI Framework
> even the Gnome team

People like to hate on them, but their design is actually really good, innovative and the applications running on GTK are incredibly fast and stable.

chrisldgk··on Show HN: Raven – A Better System for Note-Taking
You don’t need to go that far, but I currently have no information at all about what your app looks like and if it’s useful to me at all. I would imagine you‘ll get a lot more sign ups with a better landing page that demos the app a little.
chrisldgk··on Surveillance Watch – the hidden connections within the surveillance industry
Great website, but I’d recommend making the globe in the background optional or suppressing it on mobile devices or connections. Is the site itself open source? I’d love to help out with this particular thing as I’ve made many a 3d globe on the web and have some experience optimizing this for different end clients
chrisldgk··on Just use Postgres
I‘d also like to know. I have yet to run into anything Node can’t handle
chrisldgk··on Can kids master the video games their parents loved?
Thinking about your kids „safety“ (that’s a strong word, but consider gambling, violent content, scammers, etc.), Minecraft is definitely a better choice for a child. Get him into Java Edition rather than Bedrock edition and most of the mods are free, there’s a lot of tinkering he can do with it and practically all of the games content single- and multiplayer is absolutely child-safe.

Roblox is a lot more open-ended with what it lets it’s users create, which leads to a lot of violent and not safe for children content, mixed with some pretty aggressive monetization. I don’t have a child, but if I did I’d rather let them play Call of Duty (one of the older ones without microtransactions) than leave them alone with Roblox.

chrisldgk··on Passengers at EU Airports Not Allowed over 100ml of Liquids on Cabin Luggage
Not all European countries have tap water that’s safe to drink. In Germany you can get away with that, in Spain I wouldn’t risk it.
chrisldgk··on "We ran out of columns"
You’re correct there. I mostly work on CMSes with page builder functionality, which often bake the content schema into the database columns, which makes changing that schema (for new frontend features or reworking old ones) difficult and often prone to losing content, especially in dev environments. Best case is obviously that you never have to version your changes, but I‘d prefer making a new schema and writing an adapter function in the codebase depending on the schemas version to spending a lot of time migrating old content. That might just be due to me not being too comfortable with SQL and databases generally.
chrisldgk··on "We ran out of columns"
I actually love your approach and haven’t thought of that before. My problem with relational databases often stems from the fact that remodeling data types and schemas (which you often do as you build an application, whether or not you thought of a great schema beforehand) often comes with a lot of migration effort.

Pairing your approach with a „version“ field where you can check which version of a schema this rows data is saved with would actually allow you to be incredibly flexible with saving your data while also being able to be (somewhat) sure that your fields schema matches what you’re expecting.

chrisldgk··on Some thoughts on the web. On web engines, content, and web rent (2023)
You can achieve something close to that with websites as well though. You can use service workers and caching strategies so that the user only „downloads“ the boilerplate - i.e. page logic, JavaScript, html structure - and (current) content of your website once and only downloads new or changed content. This is the whole idea of the offline-first model that’s originally made to enable users on mobile devices with spotty internet connections to use your (web-)app without too many hiccups.

Granted, this takes some knowledge and development effort, but if your goal is to save bandwidth, it’s absolutely possible. And something more development teams should think about.

chrisldgk··on Ask HN: Best resources for learning desktop software development?
I would usually agree, but what I’m building [1] needs to 1. access shared memory data from a (windows only) game and pass that through to the frontend and 2. be able to access a lot of windows‘ window APIs, so this was the easiest way to go for me. I also know some C# from my school days and I actually like the language, so that’s a plus.

I did opt for using WebView2 for rendering all the fancy frontend stuff since I’m first and foremost a web dev and much more comfortable for building UI that way, so I kind of just made my own little electron, which is actually nice because the resulting app should be a lot smaller than any electron installation.

[1] a HUD overlay for RaceRoom, a racing simulation

chrisldgk··on Ask HN: Best resources for learning desktop software development?
I’ll bandwagon off the other comment to ask which platform(s) you’re interested in.

There’s a way to make native apps for each platform using Swift and XCode on macOS, C#/C++ and WPF (and whatever other ways of rendering desktop apps ms invented this year) for windows and multiple ways to do it for Linux.

There’s also cross-platform toolkits like Flutter (before google currently trying to kill that) and the liked by developers and hated by consumers electron (and its newer, much lighter, rust-based alternative Tauri), which lets you write low-level code for the system API stuff and HTML, CSS and JS for your frontend. Cross-platform apps have a tendency to feel more janky - though they don’t always do - however it lets you write a single codebase for multiple platforms if that’s what you need.

Another question - what’s your current skill-level as a developer? Have you built other kinds of software before or is this your entry into the field? That would partly impact what kind of material might be good for learning for you and which kind of framework you’d be comfortable with using.

chrisldgk··on Ask HN: Best resources for learning desktop software development?
I’ve been getting into desktop development with C# and .NET and yeah, the docs are horrendous. It’s not that they‘re not informative, but they leave a lot of important information out (or just give you a step-by-step without explaining what you’re actually doing) and also somehow their servers are incredibly flakey. I get a „this service will be back soon“ message basically every fifth page load, otherwise it just takes 10 seconds or so to navigate.
chrisldgk··on Show HN: Parallel DOM – Upgrade your DOM to be multithreaded
For anyone interested, I made a public Docker Image of the "backend" (which is basically just and index.html and a JS file)[0].

This should make self-hosting a bit easier. You can also find the GitHub repository for the (pretty simple) Dockerfile on GitHub[1].

[0] https://hub.docker.com/repository/docker/uninspiredstudioops...

[1] https://github.com/UninspiredStudio/parallel-dom-docker

Edit: Formatting

← PreviousPage 3 of 5Next →