The byte order mark, or BOM for short, is a special Unicode character that can be used to indicate that a file’s contents is Unicode. Visual Studio is one of those editors that like to use the BOM when saving UTF-8 files. There are a few problems with the BOM. It can break shell scripts, as it precedes the shebang. It can cause unnecessary diff noise in git history, just like any other invisible character mismatch (spaces vs tabs, different line endings, lack of EOL at EOF). In short, I don’t like it and I’d like to get rid of it.
We use AWS at work and I’ve been learning more and more about it. AWS offers so many services it’s even difficult to remember all of them. It’s quite impressive how many things a developer could build upon in order to deliver a scalable solution. The phrase “standing on the shoulders of giants” is quite fitting.
In this post we’ll see how to create a .NET Core solution with two projects with using nothing but the command line. Once that is setup, we’ll do a bit of TDD using Visual Studio Code.
Last week I organized a hacking session for my team at work. We ordered pizzas and we stayed a couple of hours extra to have a look at Docker. For some people this was completely new, for some others not as much. The feedback however was positive overall.
Here’s what we covered initially:
- Docker introduction and some concepts. What is Docker? What is a Docker image? What is a Docker container?
- Hands on (after all this is a hacking session): Install Docker on our laptops and run the hello world (some folks had Windows 7 laptops so they installed Docker Toolbox instead).
- Introduction to Dockerfile. We went over the instructions. We discussed ports, volumes, environment variables and base images.
- Introduction to Docker Store (formerly Docker Hub). Discussed certified images, popular images, etc.
From there, we created a simple Spring Boot application and dockerized it (following this guide from Spring):
- First, we created a hello world Spring Boot web application. To some people this was also new, so we stayed on this point for a bit longer.
- We created a Docker image for the app using Docker’s CLI.
- We created a Docker image for the app using the Spotify Maven plugin.
- Finally, we published the custom Docker image to AWS ECR.
- Just when we ran out of time, we briefly took a glance at docker-compose as well.
In my opinion, the success of a hacking session depends on the participation of the joiners (and that’s why our session turned out quite nice). This is not like a meetup where you go and hear someone speaking. In a hacking session, you have to join with a hands on experimenting mentality. You type, you search, you figure it out, you learn, you have fun!
(The photo is from the 1995 movie Hackers, but you already knew that)
So, in the previous post we created a fancy dashboard using the smashing framework. Let’s see how we can deploy our dashboard to AWS Elastic Beanstalk using Docker.
An information dashboard is a way to visualize and share information within a team about things that are important. You can setup a big monitor showing live updates about build statuses, open jira issues, a sprint burndown graph, the health of your applications on production, and so on. Having this information visible is a way to keep it on the back of your head (out of sight, out of mind). It also shows to people outside your team what matters to you.