Open in app

Sign in

Write

Sign in

uNetworking AB
uNetworking AB

714 Followers

Home

About

4 days ago

Multi-threading is always the wrong design

“We’ll just do that on a background thread” — Say what you want about Node.js. It sucks, a lot. But it was made with one very accurate observation: multithreading sucks even more. A CPU with 4 cores doesn’t work like you are taught from entry level computer science. There is no “shared memory” with “random time access”. That’s a…

Software Architecture

4 min read

Software Architecture

4 min read


Nov 22

Google Authenticator is a load of crap

A fake sense of security that needs to be deprecated — I’ve never been a fan of 2fa, but once introduced to FIDO2 security keys, esp. together with passwordless login, I can’t look back. A password is really secure until you use it. Once used, anyone or anything can have snooped it. Be it a keylogger, a screensharer, a bad web…

Fido2

3 min read

Fido2

3 min read


Aug 22

Inkjet printers are absolute scams

How to thrive in a scammer’s market and print for pennies — I bought my printer second hand for $20 and I’ve now printed 8000 pages of flawless text for the cost of maybe $40 in total. There are many layers of scams in the inkjet business and they are not all obvious. Here are my findings for Canon printers. Rule #1…

Scams To Avoid

3 min read

Scams To Avoid

3 min read


Oct 17, 2022

Nobody needs a million requests/sec

Web benchmarks aren’t about the hugest number — When we see web benchmarks presenting a gazillion requests per second, the most common critique goes something like “this doesn’t matter for any real world application and people who care are fools”. …

Nodejs

3 min read

Nodejs

3 min read


May 15, 2022

H3, meet Node.js

Early HTTP/3 for Node.js with performance metrics — Nightly builds of uWebSockets.js now ship with experimental HTTP/3 support*. Let’s take it for a spin! npm install uNetworking/uWebSockets.js#binaries Just like you’re used to, server endpoints are defined via an easy-to-use URL router with pattern matching and wildcards: const uWS = require('uWebSockets.js'); uWS.H3App({ .key_file_name: './key.pem', .cert_file_name: './cert.pem' }).get('/*', (res…

Nodejs

3 min read

H3, meet Node.js
H3, meet Node.js
Nodejs

3 min read


May 12, 2022

5 million HTTP/3 requests per second

Early performance testing of QUIC support in uWebSockets on M1 MacBook Air — uWebSockets is an HTTP & WebSocket server library, getting QUIC and HTTP/3 support soon. Right now there is a minimal, highly incomplete and experimental example, recently benchmarked. Compile with “WITH_BORINGSSL=1 WITH_QUIC=1 make” This example is a simple but complete HTTP/3 server with header compression and a simple response. The idea…

Quic

2 min read

5 million HTTP/3 requests per second
5 million HTTP/3 requests per second
Quic

2 min read


Jul 25, 2021

Experimental QUIC for µWebSockets

Initial performance expectations for upcoming QUIC support — I am currently implementing QUIC support in µWS and as usual, thorough benchmarking and market research is a key first step. As a comparison I compiled the Node.js v15.0.0 source code with the — experimental-quic flag set, enabling core support for QUIC. …

Nodejs

2 min read

Experimental QUIC for µWebSockets
Experimental QUIC for µWebSockets
Nodejs

2 min read


Feb 3, 2021

Serving 100k requests/second from a fanless Raspberry Pi 4 over Ethernet

A 12x performance boost to Node.js — I recently hooked up my Raspberry Pi 4 to my TV and because I hadn’t benchmarked something in a while I decided to see if I could serve 100k HTTP req/sec from this little thing, over an actual Ethernet cable. I began by installing Ubuntu Server 20.10 …

Raspberry Pi

4 min read

Serving 100k requests/second from a fanless Raspberry Pi 4 over Ethernet
Serving 100k requests/second from a fanless Raspberry Pi 4 over Ethernet
Raspberry Pi

4 min read


Apr 12, 2020

100k secure WebSockets with Raspberry Pi 4

Practical benchmark of TLS 1.3 WebSockets on limited hardware — If you’ve ever checked your stocks during the virus outbreak, you might have noticed that valuations are updated without you having to reload the page. This happens with Yahoo Finance, TradingView and many others. These updates are due to WebSockets, persistent connections that receive updates whenever they are sent. The…

Nodejs

4 min read

100k secure WebSockets with Raspberry Pi 4
100k secure WebSockets with Raspberry Pi 4
Nodejs

4 min read


Mar 30, 2020

A million sockets and Raspberry Pi 4 (updated)

Live updates don't have to be very expensive — WebSockets are everywhere on the modern web. They deliver live financial updates, betting, social feeds, chat, collaborative editing, gaming, notifications and pretty much everything that is not a client-initiated request. If something updates on its own, chances are you stumbled upon a WebSocket. …

Backend

5 min read

A million sockets and Raspberry Pi 4
A million sockets and Raspberry Pi 4
Backend

5 min read

uNetworking AB

uNetworking AB

714 Followers

https://github.com/uNetworking

Following
  • Aure's Notes

    Aure's Notes

  • Trey Huffine

    Trey Huffine

  • Becky Wicks

    Becky Wicks

  • Hjalmar Peters

    Hjalmar Peters

See all (6)

Help

Status

About

Careers

Blog

Privacy

Terms

Text to speech

Teams