My Technical Writing & Work Blog Posts
content portfolio > my technical writing
Technical blog posts, tutorials, and other written content I've produced for employers and contractees. Content will include links to the original content and a brief description. Blog posts are not in chronological order
Disclosure: blog post description summaries were written by ChatGPT-4o, but all content in the blog posts is 100% human-written by me.
Examining use cases for asynchronous APIs: webhooks and WebSockets
(written for Postman on 2023-10-25)
Explores the benefits and use cases of asynchronous APIs, focusing on Webhooks and WebSockets. It highlights how asynchronous APIs enable real-time interactivity, optimize resource usage, and enhance scalability, with examples from platforms like Slack and Stripe. While beneficial for building scalable and efficient systems, the post also notes that asynchronous APIs may introduce challenges such as data consistency issues and complex error handling.
Read it →How to choose HTTP or gRPC for your next API
(written for Postman on 2022-09-22)
Compares HTTP-based APIs with gRPC, focusing on their use cases and trade-offs. HTTP-based APIs, like REST, are widely supported, easier to adopt, and use human-readable formats such as JSON, but can be less efficient in terms of performance. gRPC, on the other hand, is optimized for speed and low-latency communication through binary formats like Protocol Buffers and HTTP/2, making it ideal for microservices and real-time systems, though it comes with a steeper learning curve and more complexity in setup and debugging.
Read it →Serverless architecture and the feasibility of serverless APIs
(written for Postman on 2023-10-03)
The advantages and challenges of serverless architecture, particularly in the context of building APIs. Serverless computing simplifies deployment, reduces costs, and enables automatic scaling by abstracting infrastructure management. However, drawbacks such as cold starts, resource limits, and vendor lock-in must be considered when building serverless APIs, which can be effective for scaling and efficiency, but also introduce complexities in state management and debugging.
Read it →Using AI tools like ChatGPT to control IoT lights
(written for Postman on 2023-03-31)
Demonstrates how Postman Flows and AI tools, such as OpenAI's ChatGPT and Azure Cognitive Services, can be used to control IoT lights. The team uses Postman to create a workflow where ChatGPT's text responses are analyzed for sentiment via Azure, and the results are sent to an IoT light panel to visually represent the sentiment in real-time. This project showcases how Postman integrates AI and IoT for creative automation solutions, highlighting the versatility of Postman Flows.
Read it →Building a Performant API using Go and Cassandra
(written for Stream on 2017-02-01)
Building a performant API isn't hard when you've learned the REST principles of keeping your data payloads simple, with one responsibility, and having appropriate JSON responses for payloads. Our example API application showed you how to create a simple API in Go built on gorilla/mux and using Cassandra as a datastore.
Read it →When and How to Use JSON Serialization in Postman
(written for Postman on 2023-03-09)
The blog post explains when and how to use JSON serialization in Postman, particularly when handling complex data types like arrays and objects. Serialization is necessary for storing and transferring data in a structured format across different systems or between requests. The post provides practical guidance on using JSON.stringify() to serialize data and JSON.parse() to deserialize it within Postman workflows, which is especially important when building dynamic request bodies and sharing complex responses between requests.
Read it →The Postman CLI vs. Newman: choose the right tool for you
(written for Postman on 2023-04-24)
Compares Postman CLI and Newman, two command-line tools for running Postman collections in testing and CI/CD environments. While both tools share similarities, such as executing collections and handling variables, the Postman CLI offers additional features like built-in API linting and integration with the Postman app, making it ideal for enterprise users. Newman, an open-source tool with broader community support, remains a flexible option for those familiar with Node.js environments, despite lacking some advanced features of the Postman CLI.
Read it →How we built it: gRPC support
(written for Postman on 2022-08-16)
Describes how Postman built gRPC support into its platform. gRPC is a binary protocol used for efficient, low-latency communication, particularly in microservices. The development team discusses the technical challenges of adding this support, the differences between gRPC and HTTP-based APIs, and shares insights into new features such as mock server support for gRPC. The post highlights how this addition has influenced other engineering efforts at Postman.
Read it →Next-Level Automation Tricks for Newman
(written for Postman on 2022-07-13)
Advanced automation techniques for using Newman, Postman's command-line tool. It highlights how to manage collections programmatically, handle collection subfolders, reduce duplicated efforts using pre-request scripts, and capture test data effectively for automation. The article also discusses passing variables to Newman for dynamic operations and showcases how these techniques can be applied to projects, such as creating a Twitch chatbot that interacts with APIs.
Read it →Publish and auto-deploy a Hugo Static Site on Firebase using GitHub and Travis-CI
(written for iandouglas.com LLC on 2020-11-30)
A quick guide on deploying a Hugo static site for free on Firebase, based on Hugo and using CI/CD with Travis-CI.
Read it →Examining Decentralized Social Networks
(written for Stream on 2017-05-03)
Should you build a traditional social application, or join a decentralized network to expand the reach and capabilities of your users? That architecture decision is ultimately yours to make, but there are some great options out there based on both GNU Social and blockchain technologies. Decentralized or distributed social platforms are a growing trend and there are pros and cons to the two different approaches we discussed above.
Read it →Android example Photo Sharing app
(written for Stream on 2016-11-22)
Part 3 of a 3-part series of best-practice blog posts. Showing some best-practice examples of writing a Java-based Andoid app using Stream's Newsfeed SDKs. This example app is a photo sharing app that allows users to upload photos, view a feed of photos, and like and comment on photos.
Read it →Best Practices for Instagram-style Feeds
(written for Stream on 2016-11-16)
Part 1 of a 3-part series of best-practice blog posts. This post covers the best practices for building an Instagram-style feed, including how to handle pagination, how to handle images, and how to handle the feed's data model, powered by Stream's newsfeed technology.
Read it →Example Go service for a Photo-Sharing App
(written for Stream on 2016-11-17)
Part 2 of a 3-part series of best-practice blog posts. Many customers have asked our team to provide a “best practices” example of how we’d like to see a mobile application developed to utilize the power of Stream APIs. Since a mobile app would also need a backend API service with which to communicate, we also needed to develop a server-side application which we have open-sourced today.
Read it →Go client library for Feeds and Activities (beta)
(written for Stream on 2016-09-23)
Open-source development has played a big part in our comany history, so it is with great pleasure that we announce an official Go client library for GetStream.io. Two community-led projects were adapted to produce this library.
Read it →