I am really excited about GitHub Copilot, a AI code pair programming capability. While good editors do provide some inbuilt code completion features, this is the first one I used that leans on AI to suggest code completions.
I feel this is an untapped opportunity to assist developers in getting more productive. As with anything new it will take time to mature. The quality of the suggestions by the AI assist will depend on how widely uses the programming language is. As with anything else, you should review the code added thoroughly to make sure it is doing what you intend it to do.
Another evolution of this would be for suggested functions to have unit tests added automatically or the AI to suggest unit tests for existing classes or the AI being aware of the framework being used (say Spring or ExpressJS) and suggesting appropriate framework code. While this is not a low code solution, it is definitely building towards a future where an AI could write the code given a text description of the problem statement (NLP) or at least assisting with scaffolding an entire service (with all the required standards agreed by the team and telemetry built in). Excited to see the possibilities with this.
Back to a teach-myself-something type of project, with setting up K8s Cluster on Raspberry Pi devices. I had a couple of older Raspberry Pi 3s and a recently purchased Pi 4 available for this. My old Pi3 devices had Docker Swarm (yes that one) from a couple of years back. This time around I want to get k8s on the 3 Pi devices.
The steps are fairly simple but it can be a bit of work. You should find blogs out there with decent enough directions. So here goes me adding to that library of blogs to make it easier for the next person trying to set this up.
I will begin by saying ” DON’T EVER DO THIS IN THE REAL WORLD”. https://github.com/auchenberg/volkswagen will detect if your build is running inside a CI tool and then force all tests to pass; even if they fail. Now you know why I said “DON’T EVER DO THIS IN THE REAL WORLD”. Hey just having some fun … code quality purists you have been warned not to read further! 🙂
Just came across a nice dev tool to build and deploy Docker’ized applications. A developer may want to independently build/deploy to a local docker container or another Kubernetes cluster vs. waiting for a remote CI/CD process to deploy to a dev environment. This involves some repetitive tasks such as building the binary, packaging into a Docker container, pushing to a Docker registry and all the way to deploying to a running container. If you run this often it can be a time suck for developers. forge.sh takes away those repetitive steps and lets you build/deploy locally or to another cluster.
Have you worked in a high performance engineering (HiPeE) team, how do you know you are in one and why is it so hard to replicate that? Are there factors that make it possible for HiPeE teams to grow and sustain. This was a topic of discussion at a recent chat with a few folks. I speak from my own experiences having seen HiPeE teams and was lucky enough to be part of it couple of times. It came down to a few dimensions for me.
Attended my first AWS re:invent conference. It was definitely a great experience. While the breakout sessions where okay, what I most enjoyed is the energy with 30k AWS enthusiasts in the building. And the re:play party was awesome – especially the performance by Martin Garrix.
Spring Boot and Spring Cloud are relatively newer additions to the Spring portfolio. Boot makes it faster to spin up your project with less configuration (and an opinionated programming model). Spring Cloud brings in techniques and tools to efficiently standup distributed applications. In a previous blog I had noted my ramblings on API/Microservices style. If you take that path and have more than a handful of API’s then you will need some of the capabilities of what Spring Boot and Spring Cloud offer. Continue reading →
Highly experienced & passionate technologists have a challenging task in terms of figuring out their career strategies. For some this process of self discovery and adjustment works itself out quick, but for others its a harder journey. A passionate technologist often feels the need to be exposed to new cutting edge technologies and at the same time expects appropriate career growth and recognition.
If you have used ElasticSearch (ES) you will be familiar with the two ways you can access the index – the RESTful HTTP API’s and the Java API which uses a binary protocol. What is missing is a pure RESTful HTTP Java Client API. Open source Jest library attempts to fill that gap. Updated July 2016 to use ElasticSearch 2.3.4 and Jest 2.0.0.