Choose names for Google, not people

“There are only two hard things in Computer Science: cache invalidation and naming things.” - Phil Karlton AngularJS was released in 2010 and revolutionized modern frontend development. In 2016, the AngularJS team published a new framework, written in TypeScript and incompatible with AngularJS. They also made the baffling choice to call this framework Angular 2. Mayhem ensued, confused developers talked to each other about incompatible frameworks. The excellent community documentation AngularJS had built in the form of blogs and StackOverflow answers became an active hindrance for people trying to learn Angular....

January 22, 2022 · 2 min · 247 words · Philip Heltweg

Who wrote this shit?

It is a beautiful rite of passage for a bright-eyed junior developer to join a team, take some tasks full of enthusiasm, and have the life and joy sucked out of them one sprint at a time. Soon enough, they sit in planning meetings, miserably complaining, accusingly asking who wrote that shit. Their transformation to a full team member is complete. They have become one of us. I was once that bright-eyed junior developer....

January 9, 2022 · 2 min · 268 words · Philip Heltweg - sentiment analytics for youtube

A social media analytics tool, powered by a Java/PostgreSQL/Kubernetes backend and a React frontend. Landingpage Case Study Index New Report Report Example Report Example Report Example Comments by Word Comments by Sentiment

December 12, 2020 · 1 min · 32 words · Philip Heltweg

Wisdom from the Internet, content that influenced how I think about software (and life).

Finding needles There has never been as much information easily accessible to anyone as right now. The ease of publishing your own writing leads to new problems: The question is no longer where do you find content about a topic but what content is good and worth your time? To help you find the needle in the biggest haystack ever, here is my personal list of good content that influenced me....

December 3, 2020 · 3 min · 611 words · Philip Heltweg

IYAGI - postcards from friends

Screenshots Login Intro slides Intro slides Setting up the user language Setting up the user language Profile view Write a letter List of your letters Letter feed See your own letter Comment on other letters

March 30, 2020 · 1 min · 35 words · Philip Heltweg

Analyzing twitter: Import tweets with NodeJS and the twitter API

A tweet in the database is worth two in the API Working with tweets from the twitter API probably means importing data into your own database - the standard API does not provide historical data (only the last seven days) and has various rate limits. So regardless of the final goal in this blog we’ll explore importing tweets from the API into a database for future use. All done with NodeJS, written in Typescript and utilizing MongoDB as data store....

October 25, 2019 · 4 min · 846 words · Philip Heltweg

Deploy an app into your personal cloud

As the final step in this long series of blogposts we are going to deploy a simple webapp in a docker container to my personal cloud. For context here is the personal cloud setup with Traefik/Let’s Encrypt (Run a personal cloud with Traefik, Let’s encrypt and Zookeeper). In previous blogposts I also described how I built the app (Build a PWA in docker). App deployment The deployment runs the docker container....

September 4, 2019 · 2 min · 294 words · Philip Heltweg

Build a docker image on gitlab ci and publish it to google container registry

In previous blogposts I explained my concept of a personal cloud for my own projects (Kubernetes for Sideprojects) and how I set it up (Run a personal cloud with Traefik, Let’s encrypt and Zookeeper). I also showed how I packaged a PWA project with docker (Build a PWA in docker). With all those ingredients ready to go the last hurdle to solve is building the docker image automatically as well as publishing it to a private container registry so I can deploy it to my cloud from there....

September 3, 2019 · 3 min · 455 words · Philip Heltweg

Deploy to google kubernetes engine using gitlab ci

In a previous blogpost I showed how I build and publish docker images on gitlab ci (Build a docker image on gitlab ci) Make sure to read that post first for an overview and permission setup. Update the kubernetes service with the new docker image You can easily set up a deploy step using google’s own cloud SDK docker images. Note the service account with the permissions to change the kubernetes setup is saved as “GCLOUD_K8S_KEY” variable here....

September 3, 2019 · 1 min · 173 words · Philip Heltweg

Build a progressive web app in docker with nginx to deploy to kubernetes or docker swarm

With my personal cloud setup based on kubernetes done (you can read about it here: it is time to actually deploy the first project into it. The easiest application to deploy is a pure client side single page application, packaged in a docker container with a webserver like nginx to deliver the files. Packaging the application into it’s own container allows us to build a standardized container that can be run locally for testing or deployed to docker swarm and kubernetes....

August 24, 2019 · 3 min · 434 words · Philip Heltweg