Community Posts

Last Updated: 2022-02-23
Submit a blog

Getting OpenSwoole and the AWS SDK to Play Nice

February 23, 2022 - https://mwop.net/

I have some content that I store in S3-compatible object storage, and wanted to be able to (a) push to that storage, and (b) serve items from that storage. Easey-peasey: use the Flysystem AWS S3 adapter, point it to my storage, and be done! Except for one monkey wrench: I’m using OpenSwoole. The Problem What’s the issue, exactly? By default, the AWS adapter uses the AWS PHP SDK, which in turn uses Guzzle. Read more about Getting OpenSwoole and the AWS SDK to Play Nice

DotNet Development without Visual Studio (using VS Code)

February 21, 2022 - https://www.aligneddev.net

DotNet Development without Visual Studio using VS Code I get to start a new contract with a brand new, fast laptop! Hurray! The challenge is to avoid an MSDN license for Visual Studio. This product has a lot of .csproj and .fsproj in a larger solution. I was able to do work, but ran into a few things that caused me to request and receive a VS license anyways. I’ll note them at the bottom. Read more about DotNet Development without Visual Studio (using VS Code)

F# Introduction from a C# Developer

February 18, 2022 - https://www.aligneddev.net

F# Introduction from a C# Developer I’ve been a C# and Javascript/Typescript developer for 14+ years, some PHP before that. I’ve been blissfully avoiding other approaches/languages (there’s too much to learn, my energy is limited, I have 4 kids, etc). Over the last few years, functional programming has been coming up more often and intriguing me more. We read Pragmatic Programmer together at Omnitech in 2021. My quote in that article was “The biggest “eye-opener” for me was about transforming programming, where you take input data and transform it into an output. Read more about F# Introduction from a C# Developer

Running cronjobs via an Openswoole timer

February 10, 2022 - https://mwop.net/

Sites I build often utilize cronjobs to periodically pull in data from other sources. For example, I might want to poll an API once a day, or scrape content from another website once a month. Cronjobs are a perfect fit for this. However, cron has a few problems: If the job is writing information into the file tree of your web application, you need to ensure permissions are correct, both at the filesystem level, and when writing the cronjob (e. Read more about Running cronjobs via an Openswoole timer

Exposing webhooks via mezzio-swoole

January 25, 2022 - https://mwop.net/

I was first introduced to the concept of webhooks via a 2009 blog post by John Herren, a former colleague at Zend. At the time, they were in their infancy; today, they’re ubiquituous, as they provide a mechanism for a service to notify interested parties of events. This saves traffic; instead of consumers polling an API for event changes, the service notifies them directly. It also means that the consumer does not need to setup things like cronjobs; they instead setup a webhook endpoint, register it with the service provider, and their application takes care of the rest. Read more about Exposing webhooks via mezzio-swoole

Windows Docker development without Docker Desktop

January 13, 2022 - https://www.aligneddev.net

Windows Docker development without Docker Desktop It’s January, 2022 and with the licensing changes for Windows Docker for Desktop, I decided to learn how to run Docker without it using WSL 2. I have Windows 10. According to Docker “It remains free for small businesses (fewer than 250 employees AND less than $10 million in annual revenue), personal use, education, and non-commercial open source projects.” I followed the instructions in How to run docker on Windows without Docker Desktop by Nicolas Louis . Read more about Windows Docker development without Docker Desktop

Custom Logging in Rust Using tracing and tracing-subscriber, part 2

October 21, 2021 - https://burgers.io

In the previous article, we looked at how to build a custom Layer that we can use to log events. But we missed a huge part of the tracing ecosystem: spans. To record the flow of execution through a program, tracing introduces the concept of spans. Unlike a log line that represents a moment in time, a span represents a period of time with a beginning and an end. Read more about Custom Logging in Rust Using tracing and tracing-subscriber, part 2

Custom Logging in Rust Using tracing and tracing-subscriber

October 14, 2021 - https://burgers.io

When it comes to logging and analysis in Rust, I get the gut feeling that tracing is the way of the future. The rust compiler uses tracing. Tokio is doing cool things with it. Even the GraphQL library we use has integrations with tracing. Because that seems like where the ecosystem is heading, I wanted to replace the log-based logger we use at Zenlist with one built on tracing. But for whatever reason, tracing’s JSON logger just never really felt quite right. Read more about Custom Logging in Rust Using tracing and tracing-subscriber

Why I Got the Azure Fundamentals Certification

October 3, 2021 - https://justinsoderstrom.com

I recently earned my Azure Fundaments Microsoft certification. As a software developer who is just getting started with cloud computing, I found that all the concepts that the certification covered were very helpful in getting my feet wet with Azure and the cloud in general. If you’re new to Azure and want to use it for your IT workloads, then I highly recommend considering getting the Azure Fundamentals Microsoft Certification. Read more about Why I Got the Azure Fundamentals Certification

Migrating from Docker for Mac

September 3, 2021 - http://austinhanson.com

So you don’t want to use Docker for Mac anymore, huh? First, let’s install docker and virtualbox. brew install docker docker-machine brew install --cask virtualbox Now let’s create a “docker machine” using docker-machine. This wraps around virtualbox to spin up a vm (and probably does other stuff). docker-machine create --driver virtualbox \ --virtualbox-cpu-count "4" \ --virtualbox-memory "8192" \ default Now we’ll set up a credential store for docker. curl -O https://github. Read more about Migrating from Docker for Mac