DEV Community

Shalvah profile picture

Shalvah

Builder, explorer, writer. APIs, dev tools, automation. Advocate of simple design.

Location Lagos, Nigeria Joined Joined on  Personal website http://shalvah.me github website twitter website

Work

Software Engineer

Node.js error-handling gotcha: synchronous errors from an asynchronous function

Node.js error-handling gotcha: synchronous errors from an asynchronous function

Reactions 8 Comments 2
3 min read
Experimenting in production

Experimenting in production

Reactions 6 Comments
5 min read
My book on observability

My book on observability

Reactions 4 Comments 2
2 min read
"Proving" time complexity empirically

"Proving" time complexity empirically

Reactions 5 Comments
7 min read
A practical tracing journey with OpenTelemetry on Node.js

A practical tracing journey with OpenTelemetry on Node.js

Reactions 3 Comments
17 min read
Fixing the Host Header vulnerability with Nginx

Fixing the Host Header vulnerability with Nginx

Reactions 2 Comments
4 min read
Implementing programmatic file transformations in PHP, Part 2

Implementing programmatic file transformations in PHP, Part 2

Reactions 2 Comments
10 min read
Implementing programmatic file transformations in PHP

Implementing programmatic file transformations in PHP

Reactions 2 Comments
24 min read
Monkey-patching the Express router

Monkey-patching the Express router

Reactions 2 Comments
8 min read
Experiments in concurrency 4: Multiprocessing and multithreading

Experiments in concurrency 4: Multiprocessing and multithreading

Reactions 5 Comments
12 min read
Experiments in concurrency 3: Event loops

Experiments in concurrency 3: Event loops

Reactions 6 Comments
13 min read
Experiments in concurrency 2: Coroutines

Experiments in concurrency 2: Coroutines

Reactions 6 Comments
8 min read
Experiments in concurrency 1: Single-threaded webservers in PHP and Node.js

Experiments in concurrency 1: Single-threaded webservers in PHP and Node.js

Reactions 7 Comments
8 min read
Understanding Lockfiles

Understanding Lockfiles

Reactions 13 Comments
12 min read
When Alternatives are Unhelpful: A Ruby Case Study

When Alternatives are Unhelpful: A Ruby Case Study

Reactions 6 Comments 2
4 min read
Promises don't hold up the event loop

Promises don't hold up the event loop

Reactions 5 Comments
1 min read
Good Design is Analogous and Intuitive

Good Design is Analogous and Intuitive

Comments
5 min read
Living with your (tech) choices

Living with your (tech) choices

Comments
6 min read
Unconventional Databases

Unconventional Databases

Reactions 4 Comments
8 min read
Understanding Percentiles

Understanding Percentiles

Reactions 4 Comments
6 min read
Improving Reliability, Part 1

Improving Reliability, Part 1

Reactions 4 Comments 1
7 min read
Comparing function handles across languages

Comparing function handles across languages

Reactions 8 Comments 5
11 min read
A shallow dive into auto-instrumenting Node.js applications with Elastic APM

A shallow dive into auto-instrumenting Node.js applications with Elastic APM

Reactions 19 Comments 2
5 min read
Running non-blocking code in PHP with Amp

Running non-blocking code in PHP with Amp

Reactions 19 Comments 2
5 min read
Fun stuff: representing arrays and objects in query strings

Fun stuff: representing arrays and objects in query strings

Reactions 14 Comments 1
5 min read
Building thisvid.space's /open page

Building thisvid.space's /open page

Reactions 20 Comments
8 min read
On costs and contexts

On costs and contexts

Reactions 35 Comments 4
5 min read
What's the big deal about immutability?

What's the big deal about immutability?

Reactions 41 Comments 8
4 min read
Helpful Node.js testing utilities

Helpful Node.js testing utilities

Reactions 20 Comments 2
3 min read
What's software development like as a non-native English speaker?

What's software development like as a non-native English speaker?

Reactions 29 Comments 32
1 min read
I was bored, so I made my website into a Node package. Here's how.

I was bored, so I made my website into a Node package. Here's how.

Reactions 119 Comments 7
8 min read
A different syntax for enforcing business requirements

A different syntax for enforcing business requirements

Reactions 36 Comments
2 min read
Pro tip: using Promise.then for function composition

Pro tip: using Promise.then for function composition

Reactions 63 Comments 13
1 min read
How to build a realtime spreadsheets application with Pusher Channels - Part 4: Automatically cleaning up empty documents

How to build a realtime spreadsheets application with Pusher Channels - Part 4: Automatically cleaning up empty documents

Reactions 12 Comments
5 min read
How to Build a Realtime Spreadsheets Application with Pusher Channels - Part 3: Showing current viewers

How to Build a Realtime Spreadsheets Application with Pusher Channels - Part 3: Showing current viewers

Reactions 7 Comments
5 min read
How to build a realtime spreadsheets application with Pusher Channels - Part 2: Implementing realtime collaboration

How to build a realtime spreadsheets application with Pusher Channels - Part 2: Implementing realtime collaboration

Reactions 9 Comments
7 min read
How to build a realtime spreadsheets application with Pusher Channels - Part 1: Users and spreadsheets

How to build a realtime spreadsheets application with Pusher Channels - Part 1: Users and spreadsheets

Reactions 9 Comments
6 min read
Meet Burns: cleaner application events for Node.js

Meet Burns: cleaner application events for Node.js

Reactions 31 Comments 2
1 min read
Data constraints: database layer or app logic?

Data constraints: database layer or app logic?

Reactions 7 Comments 5
1 min read
Eliminating Hidden Dependencies

Eliminating Hidden Dependencies

Reactions 18 Comments
6 min read
How to Build Twitter's Real-time Likes with Laravel Event Broadcasting

How to Build Twitter's Real-time Likes with Laravel Event Broadcasting

Reactions 43 Comments 1
11 min read
How to Build Twitter’s Real-time Likes Feature with Node.js and Pusher

How to Build Twitter’s Real-time Likes Feature with Node.js and Pusher

Reactions 21 Comments 1
7 min read
loading...