Dev Containers and Remote Tunnels 🚇

The past few days I’ve been developing a couple of things that involve a Python library which has no binary available for my architecture (arm64). That said, there is a binary available for amd64 and everything works just fine on that architecture. So I thought…. how can I develop locally but still being able to use that library only available for amd64? Given that I use Visual Studio Code, the next logical step is using a Dev Container.

Read More

TIL - Auto-assign an issue on GitHub 🤖

I like the power of a nice simple GitHub action to automate a specific activity in a repo. For example, I recently shared a repo (feeds) where I “publish” various custom RSS feeds based on data from the SAP Community. In my case, I want to be automatically assigned to any new issue created in that repo, so I get notified whenever there is a new feed request (via an issue). I had some new requests (issues) open for a few days and it was only because I wasn’t aware of them. That’s why I need to automate it and not have the need to check the repo for new issues. For this, I’m using the Auto-assign issue action available in the GitHub action marketplace - https://github.com/marketplace/actions/auto-assign-issue.

Read More

TIL - Running linux/amd64 Dev Containers on Apple Silicon

Today I learned how to force a VSCode Dev Container to run on amd64 architecture on my Mac. In essence, build a custom docker image by specifying a Dockerfile and in the FROM statement of the Dockerfile, specify the --platform flag. When you spin up the DevContainer it will automatically use the platform specified. If no platform is specified then the Dev Container will run on the platform of your OS, in my case aarch64 and this was causing an issue when I was trying to run a Python program, as the program requires a library that’s only available for the amd64 architecture.

Read More

CloudEvents at SAP 🌁

TLDR; SAP is an active contributor to the CloudEvents specification and it has adopted the specification for describing event data in common formats to provide interoperability across its services/applications/systems. In the SAP Business Accelerator Hub, you can find all the events exposed by a total of 17 different SAP services that publish events following the specification, including its flagship ERP products, SAP S/4HANA Cloud public edition and SAP S/4HANA, exposing more than 600+ events combined. To enable seamless event-based integrations between SAP applications, SAP applications must conform to the CloudEvents specification. SAP also offers three services, part of the SAP Business Technology Platform (SAP BTP), that can help customers embrace event-driven architectures, these are: SAP Event Broker for SAP cloud applications, SAP Event Mesh, and SAP Integration Suite, advanced event mesh.

Read More

Additional SAP Community feeds 📡

Lately there’s been quite a bit of discontent regarding the new SAP Community platform and how it can be difficult to find information or get notified only for specific information (topics) that’s available in the community website. What I’m about to share below doesn’t solve all of those problems but it might be useful for some of you. As it can provide you only with blog post information or just questions and answers. This will be particularly useful if you use an RSS reader to keep up with news/articles/blog posts from different websites.

Read More

TIL - Fixing the invalid HTML error when posting in Khoros

Today I was trying to send a message via Khoros to the people who have RSVPd for a couple of SAP CodeJams that I will be running in Zagreb, Croatia ((Integration Suite, btp CLI)) next week and I was getting the infamous invalid HTML error when drafting the message. Sometimes the platform automagically fixes the issue but in this case, I was still getting the message. When inspecting the HTML, I noticed an additional tag that I’d not seen before in an [HTML tag](https://www.w3schools.com/tags/tag_a.asp). So, whenever you face this issue, check for any odd attributes that you might find in your HTML.

Read More

Quick update on creating your SAP BTP architecture diagrams with code

In this blog post, I will share a quick update on the SAP icons part of the Diagrams fork repo. The sneak preview of the SAP BTP Solution Diagram icons, that were part of an SAP TechEd 2023 virtual session (XP286v), are now included in the Diagrams fork that you can use to create your SAP BTP architecture diagrams with code. Note: This blog post is related to Creating architecture diagrams with code - https://blogs.sap.com/2022/06/29/creating-architecture-diagrams-with-code/.

Read More

Steampipe plugin for SAP BTP

I’ve been recently playing around with Steampipe to query different cloud services I use. This got me thinking, it will be very cool if I could query my SAP Business Technology Platform (SAP BTP) account with Steampipe.

Read More

TIL - Bitwarden CLI usage in scripts

To automate some SAP BTP scripts, I’ve been using the great generate-password-grant-type script (created by my friend and colleague @qmacro) to retrieve an access token. Unfortunately, or fortunately, authenticating with some accounts requires 2FA. Meaning that you need to append an OTP when specifying the account’s password in the password field. This can be cumbersome when developing scripts, as you need to set this OTP. Bitwarden CLI to the rescue!

Read More

A backup strategy

In this short blog post, I’ll share what I’ve been doing to backup my data and hopefully keep it safe in case of any disasters.

Read More

TIL - How to get Ubuntu codename from Linux distro based on Ubuntu

I’ve been playing a bit with Elementary OS… it is a nice, simple Linux distro based on Ubuntu. Which means that you you can follow the instructions for Ubuntu whenever you need to install any software in Elementary OS. That said, some installation instructions require specifying the Ubuntu codename, to be able to retrieve the right binary from internet, e.g. Installing Docker Engine. A command commonly used to retrieve the codename of your distro is lsb_release -cs.

Read More

TIL - Create a custom Quartz filter in ColorSync utility to reduce PDF file size on a Mac

I had a very large PDF document (18.9MB), which contained 24 large images, and I needed the file to be less than 5MB as I need to upload it on a website where the maximum file size is 5MB. Using Preview on Mac, it is possible to Export a file and select the format as PDF and Quartz filter: Reduced file size. The problem with this approach is that the image quality suffers greatly and the images in the PDF might end up not being that readable. From within Preview, it is not possible to modify the settings used by the Quartz filter. Here is where the ColorSync utility comes to the rescue :-).

Read More

Adding and trusting a Certificate Authority (CA) in Fedora

When running Citrix on Fedora, I was getting an error message similar to the following: “SSL Error 61: You have not chosen to trust ‘Certificate Authority’”. Basically, the CA (certificate authority) cert was missing in my operating system. To fix this, we need to do the following:

Read More

Updating an image used within k8s deployment

There are times when we update an image used in a deployment and we want our k8s deployment to use the latest image. We can achieve this in two ways, doing a rolling restart of the deployment or by specifying the deployment to run an image with a specific tag. Below the imperative commands that allow us to achieve this:

Read More