Electron vs. Tauri
Electron is the most popular framework for building desktop apps using web technologies. In this article, we'll discuss a newer alternative, Tauri, and weigh some of the pros and cons between the two frameworks.
Topics /
The most popular blog posts about software engineering on Hacker News. 21,842 posts.
Electron is the most popular framework for building desktop apps using web technologies. In this article, we'll discuss a newer alternative, Tauri, and weigh some of the pros and cons between the two frameworks.
Not all non-sequential primary keys are created equal, the ULID format is a fantastic substitute for the typical UUIDv4 choice.
Emma Catlin | Software Engineer
One such topic that has challenged my own conceptions is how errors are handled in Go. To recap:
I wrote the analysis of “useless sugar” features of Ruby for two months, and I regret nothing.
Scaling is a complex topic, but after working at big tech on services handling millions of requests and scaling my own startup (AlgoMaster.io) from scratch, I’ve realized that most systems evolve through a surprisingly similar set of stages as they grow.
We’re excited to announce that Google will launch Chrome for ARM64 Linux devices in Q2 2026, following the successful expansion of Chrome to Arm-powered macOS devices in…
This post was co-authored by David Carmona, a Principal Program Manager Lead in .NET Team and Joe Morris, a Senior Program Manager in .NET Team. Couple of weeks back, we dedicated a blog post introducing .NET Standard 2.0, which will significantly extend your ability to share code by unifying .NET APIs across all…
By: Rajiv Shringi, Oleksii Tkachuk, Kartik Sathyanarayanan
When plotting overlapping elements with a defined alpha (opacity), I had always thought about it as an additive process with results clamped to not exceed 1.
A map can always grow in memory; it never shrinks. Hence, if it leads to some memory issues, you can try different options.
This is the story of the time I wrote some code, deployed it to production, and ended up bricking the server it was running on by frying the kernel. Beautiful rendition of me frying the kernel This post is about perils of concurrency and...
Unexpected performance deviations depending on how you spell zero.
Introduction The other day I was reading this blog post covering existential types in Rust (also known as impl Trait or opaque types). In that blog post, the author makes the following claim. We’re going to have to take a slight diversion into type theory here because it motivates a result that is perhaps intuitive…
You have probably heard a few talks or read a few articles where test driven development is depicted as a magic unicorn that watches over your software and makes everybody happy. Well, about 18.000 lines of "magic unicorn" code later, I'd like to put things into perspective.
Stop writing Java for your Android apps! There are a slew of ways to build...
Personal website of Chad Arimura - My agent setup
If you’re familiar with nearly any mainstream programming language, and I asked you to draw a diagram of an array, the array indices, and the array elements, odds are good you’d produce a diagram something like this: In this post, I want to persuade you to replace that image, or, at least, to augment it with an…
A joyride through the dangers of lock-free programming.
Linked lists look harmless until they start detonating your game at runtime. This is the bug pattern far too many programmers miss.
A lot of people tend to think these days completion is a regular feature for every IDE. Well, that is not exactly the case. IntelliJ IDEA has already demonstrated that there is no such thing as a regu
This technology is already changing the creative industry. Here's how it works.
As noted in ASDL Implementation and Use Cases , I began with a simple AST interpreter for OSH, thinking that the two languages could share the same AST.
Click the table of zeroes once. Note that the text input field remains responsive even as we run 100,000 updates on the DOM. The colors of the table show the render batching boundaries. Note, I would not try this on a mobile device ;)
I started reading Joshua Bloch's Effective Java last week. I'll have to admit that I haven't read it before, but only because I've been told...
Asynchronous programming is everywhere – user interaction, network access, file I/O. Dart simplifies and enhances these scenarios with the...