DEV Community

Shalvah profile picture

Shalvah

Builder, explorer, writer. APIs, dev tools, automation. Advocate of simple design. I blog at http://blog.shalvah.me

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

Work

Software Engineer

Learn SVG by drawing an arrow

Learn SVG by drawing an arrow

Comments
10 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 PHP client for Faktory, Part 6: Higher-level usage

Building a PHP client for Faktory, Part 6: Higher-level usage

1
Comments
4 min read
Exploring concurrent rate limiters, mutexes, semaphores

Exploring concurrent rate limiters, mutexes, semaphores

2
Comments 2
11 min read
High and low cardinality

High and low cardinality

4
Comments
4 min read
Packing and unpacking bytes

Packing and unpacking bytes

Comments
5 min read
Building a PHP client for Faktory, Part 5: Protocol

Building a PHP client for Faktory, Part 5: Protocol

1
Comments
4 min read
Building a PHP client for Faktory, Part 4: Refactoring

Building a PHP client for Faktory, Part 4: Refactoring

Comments
6 min read
Building a PHP client for Faktory, Part 3: Making development easier

Building a PHP client for Faktory, Part 3: Making development easier

Comments
5 min read
How we cut down our CI build times by 50%

How we cut down our CI build times by 50%

1
Comments 1
13 min read
Solving a logic puzzle

Solving a logic puzzle

Comments
10 min read
Building a PHP client for Faktory, Part 2: Converting to code

Building a PHP client for Faktory, Part 2: Converting to code

Comments
5 min read
Building a PHP client for Faktory, Part 1: Talking over TCP

Building a PHP client for Faktory, Part 1: Talking over TCP

1
Comments
3 min read
Connecting to a Windows server process from WSL

Connecting to a Windows server process from WSL

1
Comments
1 min read
Building a task queue, Part 4

Building a task queue, Part 4

2
Comments
15 min read
Building a task queue, Part 3

Building a task queue, Part 3

2
Comments
9 min read
Ruby's Module class drives me crazy

Ruby's Module class drives me crazy

2
Comments
5 min read
Building a task queue, Part 2

Building a task queue, Part 2

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

Building a task queue, Part 1

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

Why aren't Node.js package managers interoperable?

1
Comments
10 min read
PHP 8 attribute quirks

PHP 8 attribute quirks

5
Comments
4 min read
Base64's goodness

Base64's goodness

6
Comments
6 min read
String encodings

String encodings

8
Comments 1
17 min read
Serialization

Serialization

7
Comments 1
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

9
Comments 2
3 min read
Experimenting in production

Experimenting in production

6
Comments
5 min read
My book on observability

My book on observability

5
Comments 2
2 min read
"Proving" time complexity empirically

"Proving" time complexity empirically

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

A practical tracing journey with OpenTelemetry on Node.js

10
Comments
17 min read
Fixing the Host Header vulnerability with Nginx

Fixing the Host Header vulnerability with Nginx

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

Implementing programmatic file transformations in PHP, Part 2

2
Comments
10 min read
Implementing programmatic file transformations in PHP

Implementing programmatic file transformations in PHP

2
Comments
24 min read
Monkey-patching the Express router

Monkey-patching the Express router

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

Experiments in concurrency 4: Multiprocessing and multithreading

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

Experiments in concurrency 3: Event loops

7
Comments
12 min read
Experiments in concurrency 2: Coroutines

Experiments in concurrency 2: Coroutines

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

7
Comments
8 min read
Understanding Lockfiles

Understanding Lockfiles

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

When Alternatives are Unhelpful: A Ruby Case Study

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

Promises don't hold up the event loop

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

4
Comments
8 min read
Understanding Percentiles

Understanding Percentiles

4
Comments
6 min read
Improving Reliability, Part 1

Improving Reliability, Part 1

4
Comments 1
7 min read
Comparing function handles across languages

Comparing function handles across languages

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

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

Running non-blocking code in PHP with Amp

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

Fun stuff: representing arrays and objects in query strings

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

Building thisvid.space's /open page

22
Comments 1
8 min read
On costs and contexts

On costs and contexts

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

What's the big deal about immutability?

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

Helpful Node.js testing utilities

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?

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.

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

A different syntax for enforcing business requirements

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

Pro tip: using Promise.then for function composition

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

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

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

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

9
Comments
6 min read
loading...