Posts

  • Bridging Async and Sync: Plotting Async Data with matplotlib

    Overview

    In my recent project, I aimed to visualize data from a Bluetooth Low Energy (BLE) device, a task that required integrating different technologies. The bleak library was my choice for managing BLE communications in Python, known for its robust support for these devices.

  • Handling GPIOs Made Easy on OrangePI Android

    Preface

    Welcome to an exciting chapter in the journey of Strikeco, where innovation meets the world of tennis simulation. At Strikeco, we’re not just creating tennis simulators; we’re redefining the very essence of interactive sports technology. Our mission is to blend cutting-edge hardware with seamless software integration to bring you the future of tennis experiences.

  • go/links Webserver Initial Implementation

    This is the second part of my project of implementing a go/links system. You can find the first post in the series here.

    Overview

    My overall plan in implementing the go/links solution was to validate that I’m able to route requests to the webserver from the browser and that it would redirect my request to some website, and I will get the result in the browser.

  • go/links clone design

    Overview

    I have an old itch that always was in the back of my mind for years, where I wanted to understand how databases work under the hood.

  • Arithmetic AST with fastparse

    Overview

    In our Data Quality platform, we allow users to onboard different types of datasets. One of our initial goals on the platform was to provide the ability to write expectations for those datasets, which in turn help to determine the quality of the dataset.

  • An example of Pureconfig's Sealed Families

    Overview

    In this post I will show, how we leveraged PureConfig, and were able to use its Sealed Families feature in order to have multiple configuration options for the same resource.

  • HikariCP with RDS IAM authentication

    Overview

    As I tried to describe in the title, apparently using a ConnectionPool on Postgres RDS with the IAM authentication is not that straightforward.

  • Using YouTube's API to download video description

    Overview

    I recently have started following a recipes channel on YouTube. The thing that is missing for me, is that I can’t search for recipes with specific ingredients. Luckily the videos description contains the ingredients. So I was thinking about downloading the descriptions of all the videos. And then cataloging them somewhere for easier search.

  • Using custom date argument parser in scallop

    Overview

    I have recently discovered scallop, a simple Scala CLI parsing library. And in this post I will describe how I have added a custom argument parser that would take a string that represents a date and transform it into a LocalDate object, or fail if the date is invalid.

  • PySpark + Presto JDBC Dialect

    Overview

    In this post I will describe how I’ve created an Apache Spark JdbcDialect and how I used it in PySpark.

  • Adventure with a Rubik's Cube - Part 2

    Well I had some progress with my Rubik’s Cube web app, since my last post here. Since then, I was able to add two new features: a random shuffle and moves logging. The result could be shown at the end of the post. Unfortunately, I wasn’t able to play with it too much since then, so I didn’t make any progress on solving the cube by myself.

  • Hudi On EMR with GLUE catalog

    Overview

    In this post I will describe the steps that I’ve taken to create an EMR cluster that syncs Hudi tables to GLUE catalog.

  • Hudi Schema Evolution

    Overview

    This time I will describe a way to read files, written using Apache Hudi that were schema evolved over time. The whole code that is described in the following sections could be found in a single gist, for your convenience.

  • Creating cookiecutter multiple sub-folders from template

    Overview

    Lately, I needed to update a project’s template that we frequently use. Up until then we used some custom python script that we developed. Which would create a final project folder using some template folder structure (when the script was created we weren’t aware of the cookiecutter project).

  • Adventure with a Rubik's Cube - Part 1

    For my 34th birthday, I got a Rubik’s Cube. And decided that I’m going to solve it by myself. It means, that I will try and come up with an algorithm by myself.

subscribe via RSS