DEV Community 👩‍💻👨‍💻

DEV Community 👩‍💻👨‍💻 is a community of 968,873 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
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

Ruby's Module class drives me crazy

Ruby's Module class drives me crazy

Reactions 2 Comments
5 min read

Want to connect with Shalvah?

Create an account to connect with Shalvah. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Building a task queue, Part 2

Building a task queue, Part 2

Reactions 1 Comments
12 min read
Building a task queue, Part 1

Building a task queue, Part 1

Reactions 1 Comments
12 min read
Why aren't Node.js package managers interoperable?

Why aren't Node.js package managers interoperable?

Reactions 1 Comments
10 min read
PHP 8 attribute quirks

PHP 8 attribute quirks

Reactions 5 Comments
4 min read
Base64's goodness

Base64's goodness

Reactions 6 Comments
6 min read
String encodings

String encodings

Reactions 8 Comments 1
17 min read
Serialization

Serialization

Reactions 6 Comments
15 min read
Node.js error-handling gotcha: synchronous errors from an asynchronous function

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

Reactions 9 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 5 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 7 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 7 Comments
12 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 14 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 21 Comments 2
5 min read
Running non-blocking code in PHP with Amp

Running non-blocking code in PHP with Amp

Reactions 20 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 22 Comments 1
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 30 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 23 Comments 1
7 min read
loading...