Blog

Websockets feeding Kinesis

We recently explored a project to retrieve data from a third-party service. They didn’t offer any push capabilities such as writing to a Kafka or Kinesis stream, or even a web-hook. But they did offer a WebSocket interface, so we explored whether we could use that as our streaming source. We didn’t go that route, but I was intrigued by the idea enough to make a proof-of-concept.

Automate the Boring Stuff with AI

My motivation for creating tools often stems from a desire to get familiar with new technologies. This project was no different; I wanted to deepen my understanding of Generative AI. However, this wasn’t the primary reason for its creation. The real driving force was a persistent gap in my workflow that I couldn’t ignore any longer. Every so often I’ll encounter a task that makes me think, “If only this one thing was more like this,” or “If I could…

A Practical Way to Improve Javascript Code using Dependency Injection

We have all seen endless articles and walkthroughs for implementing The Greatest Design Pattern Ever™. The one failing many of them seem to have in common is that they all assume a user is starting with a new project. It’s relatively easy to set up an ideal theoretical project, and implement a design pattern, but how many of us get that luxury in our jobs?  Many, if not most of us, are stuck maintaining other people’s code, sometimes decades old….

Lambda Four Ways, a Rosetta Stone for AWS

When I write Lambdas professionally, Python is my preferred language. It offers decent performance, a straightforward syntax, and high developer productivity. I’ve also used Java, both in demonstration apps and actual client work. But while I have some familiarity with other languages supported by the platform, I’ve never used them. So, with some downtime, I decided to implement the same Lambda in four different languages: Python, Java, JavaScript, and Go, to get a better sense of their strengths and weaknesses.

Scaling Effortlessly: How Jenkins, Karpenter and EKS Redefines CI/CD

Jenkins has served as the backbone of the CI/CD landscape for over a decade. Throughout these years, CI/CD practices have transformed from jobs executed in companies’ own data centers to those running in the cloud. Jenkins has adapted and evolved throughout this time, remaining a workhorse in the ever-changing CI/CD domain. If you looked at a typical AWS-based Jenkins setup, you would probably see a master Jenkins node running in EC2. When initiating a job, the master node dynamically spawns…

Integrating Touch Support to Drag-and-Drop Interfaces

In the previous blog post, we went over how to use the HTML Drag-and-Drop interface, which is a well-supported web API that’s available to use across major web browsers. Here, we will go over how we can extend our previous demo to support touch interactions so that our application can be used across various devices but still provide the same functionality the user expects. For demonstration purposes I will be simulating a virtual mobile device using the Chrome Developer Tools…

Mastering the HTML Drag And Drop API

For web developers, creating intuitive and interactive user interfaces is essential to providing a great user experience. One feature that significantly enhances the user experience is drag-and-drop functionality. This feature allows users to manipulate elements on the screen in a natural and interactive way. In this article, we will explore the HTML Drag and Drop API and how to implement it in a web project. Why Drag and Drop? There are a multiple scenarios where a drag-and-drop like feature is…

Technology Trends in Gaming & Sports Betting 

One of the more remarkable turnarounds in recent American culture has been the embrace of sports betting and online gaming. What was once considered a vice and relegated to relatively few in-person jurisdictions has quickly exploded into the mainstream and online.   Like with any growth industry, this has had cascading consequences for others that work in the sector. This includes technology providers and partners that have had to rush to address the many challenges of such meteoric growth within a…

Perils of Partitioning

Partitioning is one of the easiest ways to improve the performance of your data lake, because it reduces the amount of data scanned. But implementing partitions can be surprisingly challenging, as can their effective use. In this post I look at several of the issues that you should consider when partitioning your data.

How can we help your company with your development needs?

Contact Us