Moving from DigitalOcean to Scaleway – My first experience with Docker

I’ve decided to move my server from DigitalOcean to Scaleway. The reason for this is mainly because of the pricing. Even though DigitalOcean is not expensive, Scaleway is much cheaper and I’m getting more in return.

Continue reading

Let’s Encrypt

I have finally set this domain up on a secure connection (HTTPS). I used Let’s Encrypt service where you can get free SSL/TLS certificates. I followed this guide and it literally took 5 minutes along with setting up the cron job for auto renewal of certificates. I also set up my other domain so now they’re both on HTTPS.

Angular 1.5 todo app

I have been using Angular for over 3 years. A few months ago Angular 1.5 came out and they introduced the .component() method, which is basically the same as an element directive but with a much simpler API. Since then I’ve fallen more and more in love with Angular so I decided to write a small todo app utilizing the component architecture along with some cool things in the Angular world.

First of all I’m not much of a designer so I want to thank TodoMVC for the UI.

Anyway, the app consists of:

I’m not gonna talk much about these in depth, only high-level about what they are and why I chose them. This article will mainly be about how I decided to structure and implement the app.

Continue reading

My Atom setup

I recently started using Atom, this awesome web-based editor from GitHub. My previous editor was Sublime Text but I decided to make the move. Why? Because Sublime has a slow development.

Version 2 of Sublime Text was initially released in 2011 and last release was in July 2013. Still it’s the main version! Version 3 last release was in March 2015 — and it’s still in beta and hasn’t gotten an update for 10 months. Don’t get me wrong, Sublime is awesome, but it’s not under active development. Atom is very active and has been from the start, Sublime is not. Atom is also open-source, Sublime is not.

However, this is about my Atom setup, not a rant about why Atom is better than Sublime.

Continue reading

Git worktree feature

Have you ever been busy working on a branch but needed to push something to another branch without disrupting work on your current branch? Enter the worktree feature! It was introduced in Git 2.5 and is very handy when working on multiple branches simultaneously, without disrupting your work on the other branch. It got me very confused at first but it’s quite simple.

Continue reading

Splitting up a commit in Git

My last post got fairly positive feedback, 77% upvotes on Reddit. But in the comments I was asked to add an important practical use-case, how to split commits. So instead of editing my previous post, I decided to make a new post demonstrating how I would do that.

Continue reading

Interactive rebase in Git

Rebasing in Git is basically replaying commits on top of each other. But with interactive rebase you are in control of how they should be replayed and what should be done with them. You can re-arrange them, skip them, reword them, edit their changes and squash them together. This is a very powerful tool.

Continue reading

How to use bisect in Git

There’s a method in Git that can become very useful when working in large projects where it is hard to find where bugs originated from. This is the git bisect command and allows you to find by binary search the change that introduced a bug.

Continue reading

Isolating your BLL from your DAL and unit testing it

This article will teach you how to set up a basic service and repository, to isolate your BLL (Business Logic Layer) from your DAL (Data Access Layer), so you can easily create unit tests for your BLL. This solution doesn’t use any ORM (Object Relational Mapping) like e.g. Entity Framework. This is only to explain how to isolate logic from data and how to test your logic in isolation.

Continue reading

How to mock and test WCF services using Moq

I really needed to mock and test WCF services for a new project I’m working on. I had heard great things about the Moq mocking framework so I decided to use that.

Continue reading

© 2016

Theme by Anders NorenUp ↑