Scheduled jobs made easy – Topshelf and Quartz.NET

I often work on applications whose sole task is to execute a script at certain time or day. You may approach it in several ways, eg.: Task Scheduler (Windows), SQL Job (if it is a SQL task) or CRON in Linux. You may also write application, which would run in background and execute a script at certain time. The only question is – do you really want do it?

In this post, I would like to introduce other solution to tasks like this. The combination of two frameworks: Topshelf (Windows host) and Quartz.NET (free-for-business company Task Scheduler).

Continue reading Scheduled jobs made easy – Topshelf and Quartz.NET

Null Object pattern – how and when to use it

How often in your code do you see ifs checking whether the object is not null? Often? Very often? What would happen if you didn’t have to check it out? Surely code would be easier to maintain – no ifs = no test cases. This can all be achieved using Null Object pattern.

Null Object pattern should be used as a substitute for objects which don’t exists in the runtime or you don’t know current state of the object. You may apply it, however, bear in mind that it’s not suitable for all test scenarios. You’ve to analyze whether it’s a good idea to use it.

Continue reading Null Object pattern – how and when to use it

AWS CloudSearch – clear domain using PowerShell

Amazon Web Services CloudSearch is a search engine and it’s offered in a SaaS model (as well as Elasticsearch what I’ve already explained here). I’m currently writing an article about it so I’ll skip the way how to set it up and how it works. Unfortunately, CloudSearch isn’t free. It doesn’t cost much if you take a look at everything what you get. For more information on pricing check here.

There’s few issues with CloudSearch. One of them is the fact that there’s no easy way to clear search domain. AWS CLI has no such feature. At StackOverflow, I managed to find scripts for Java, NodeJS, PHP or bash.

Continue reading AWS CloudSearch – clear domain using PowerShell

Log data using Serilog, Elasticsearch and Kibana

Often developers as a log store use text files, system events, output console or database. In some cases they use distributed systems such Splunk or Elasticsearch. In this article I would like to present how to store logs in the form of objects, rather than plain text, which also offers all sorts of graphs and charts called dashboards. To achieve it, I’ll use Serilog, Elasticsearch and Kibana.

To test this solution, you’ll need Visual Studio (obvious), an Elasticsearch instance and the Kibana extension on your PC. You may as well use Amazon Web Services which offer these services even for free. I prefer the second option because it is much easier and quicker to set up.

Continue reading Log data using Serilog, Elasticsearch and Kibana

Move to UK and work in IT

Many people associated with the IT industry reflects the move from Eastern Europe to the West, United Kingdom, Germany or the United States. Not only because of better earnings, but major opportunities to develop your career and meet new people from different places around the world.

A few years ago, for a long time I though about it. Until one day, together with my wife we decided to move to London. It was 3 years ago. Time flies…

In this post I would like to present some advice about moving to UK.
How to prepare yourself.
How to find a job in IT.

Below are several points that I hope someone will find useful.

Continue reading Move to UK and work in IT

Dapper – micro-ORM I like

Every programmer when working with databases will use a framework, which facilitates and speeds up development time. It is no different with me. I never liked ADO.NET. Taking out the data and storing it in a DataSet or DataTable that were not strongly typed is not a best idea. Especially when someone else on the later stage had to work with this code and no one actually knows what the author had in the mind writing it. For many years, I enjoyed the heavier Object-Relational Mapping frameworks, i.e. Entity Framework (version 4.0), LinqToSQL (the beginnings of my work as a programmer) or NHibernate.

Continue reading Dapper – micro-ORM I like

What TDD is? How I’m using it?

Every experienced developer knows how important is to cover your code with tests (or at least business logic). However, not everyone likes to do that once code is already written, because, why should we do that? The work is done, it was tested and it functions correctly, right?

I never liked to cover the code with tests once it’s already there. That’s why in this article I’ll present Test Driven Development and describe how I use it day to day.

Continue reading What TDD is? How I’m using it?

Design Patterns – introduction

Design patterns which I would like to present in this post are well described in the book Design Patterns. Elements of Reusable Object-Oriented Software  written by The Gang of Four (Gramma, Helm, Johnson, Vlissides). In my opinion this book is must read for every developer, regardless what programming language you are using. Besides the fact that this book was written more than 20 years ago, it still contains a lot of useful details for developers of all levels. I often revisit this book to keep in touch with design patterns that are detailed within. Continue reading Design Patterns – introduction

mpustelak.com – the beginning!

My name is Mateusz Pustelak, I’m 28 now (time flies :)) and this blog is going to be one of my “pet” projects.

5 years ago I shut down my old blog – mpustelak.pl and for a very long time I have been thinking about writing again. Once, I even installed a new WordPress website and set up all the plugins, however, I wasn’t ready to write anything. Why? I have no idea…

Continue reading mpustelak.com – the beginning!