Categories


Recent Posts


Archives


Where does Deno Code Come From

This entry is part 1 of 1 in the series Exploring Deno. This is the first post in the series. Whenever I sit down with a new (either to me, or to the world) programming language, the first thing I end up doing is trying to understand where all the code I’ll use comes from. What’s available by default, what can I [...]

astorm

@grpc/grpc-js Goes 1.0

A quick note to congratulate anyone working on the @grpc/grpc-js project for their 1.0 last month. There’s been a C++ native module of GRPC around for awhile now, but @grpc/grpc-js a pure TypeScript (that compiles to pretty clean javascript) implementation, and we’ve found That it’s mostly a drop in replacement for grpc [...]

astorm

What are Prometheus Exporters?

This entry is part 2 of 3 in the series An Introduction to Prometheus and Metrics. Earlier posts include What is Prometheus?. Later posts include What are Open Telemetry Metrics and Exporters. In our first article, we covered four core Prometheus concepts and used those four concepts to instrument a simple service written in NodeJS. One [...]

astorm

What is Prometheus?

This entry is part 1 of 3 in the series An Introduction to Prometheus and Metrics. Later posts include What are Prometheus Exporters?, and What are Open Telemetry Metrics and Exporters. One surprising thing about the software instrumentation world, a world that helps us see what our systems are doing, is how opaque the instrumentation [...]

astorm

TypeScript won’t Save us

A few weeks ago I started working with gRPC for the first time. These days gRPC stands for “general-purpose remote procedure call”, but I still think of it as “Google remote procedure call”, as it’s a project that came out of, and is primarily maintained, by Google engineers. It’s a system for building [...]

astorm

Don’t Make them Tell you Thrice

Here’s an API design pattern that drives me a little nuts. If you’re using the Apollo GraphQL client to make a data fetching query, your code looks like this. client.query({ query: gql`query { ... your query here ...}` } However, if you’re using the apollo client to make a graphql mutation query, your code looks like [...]

astorm

The End of 10-Digit ISBNs

A small post that’s a little off my normal beat — sometimes software feels like a never ending series of Y2K like paper cuts. ISBNs are cross-publisher serial numbers for books. If you’re publishing a book, and you want to tap into global supply chains (i.e. have stores be able to order and stock your book), you need to [...]

astorm

Pestle Windows Support

Here’s two quick stories about providing native Windows support for pestle. Home Directory The first issue boiled down to our using the following code to get a user’s home directory $home = trim(`echo ~`); if(!is_dir($home)) { throw new Exception("Could not find home directory with echo ~"); } This works for the *nix [...]

astorm

Commerce Bug 3.2.4 Released!

Just a quick note that a new version of Commerce Bug (3.2.4) is out in the world. This release fixes a small bug where the jsTree elements in the KO Scopes tab could interfere with the styling of jsTree elements that core Magento used in places like the Access Control Roles tree. If you follow my feeds on Stack Overflow or Twitter you [...]

astorm

Async PHP: Symfony’s HttpClient 4.3

This entry is part 1 of 1 in the series Async PHP. This is the first post in the series. One luxury afforded to the average PHP programmer is never having to worry about threads or asynchronous programming. Unlike other dynamic languages of its era (ruby, python, etc.), PHP has no built-in concept of a thread. PHP also came along early [...]

astorm

Pestle 1.5.2 Released

This entry is part 12 of 12 in the series Pestle. Earlier posts include Pestle 1.1.1 Released, Pestle 1.1.2 Released, Magento 2 Setup Migration Scripts, Pestle 1.2.1 Released, Sending Text Messages with PHP, pestle, and Nexmo, Pestle 1.3 and AbstractModel UI Generation, Pestle 1.4.1 and the Merits of Inheritance, Pestle 1.4.4 Released, [...]

astorm

Generics Programming for Beginners

Coming up through the dynamic languages and having my “typed” language be C, I mostly missed out on the whole “generics” thing. Cue the late 2010s and generics are a thing in TypeScript and every so often there’s a push to get generics into PHP. A few years back I figured it was time to learn what was going [...]

astorm