Blog

Thoughts on software development

Posted on Feb 22, 2017 by Alexej Bondarenko

Yesod is a great Framework, especially in terms of RESTful designed applications. In this blog post, we will cover a more specific topic on how to create a simple CSV file and return it to the client.

Posted on Feb 18, 2017 by Alexej Bondarenko

Any reasonable web project also contains an area to upload (media) files. It can be an administration area or just for users who can upload their profile picture. In this blog post, you will learn how to upload a file and save it on the server so your application can use it and serve the file to the user.

Posted on Dec 22, 2016 by Alexej Bondarenko

Float and Double look very similar. But how to decide which one of them to use in Haskell? Is there a difference in performance? Let's examine this questions.

Posted on Dec 17, 2016 by Alexej Bondarenko

With Bing Webmaster Tools you can view of how well your site is performing in Bings search. Before you can start analysing your search statistics, you need to verify that you own the site you would like to analyse. If you are using Nginx to serve your sites content, you will learn in this tutorial how to verify your site by just adding a few lines in your Nginx configuration.

Posted on Dec 12, 2016 by Alexej Bondarenko

What is Object Reflection good for? In this post, we will cover where Object Reflection can be used and why this is useful to develop extendable libraries, debug your application or easily implement features which would be complex instead.

Posted on Dec 8, 2016 by Alexej Bondarenko

This very, very short blog post illustrates how to easily stop and remove all Docker containers.

Posted on Dec 3, 2016 by Alexej Bondarenko

In this blog post, you will learn how to create simple seed data for your Yesod application. Such seed data can be useful during development or if you plan to run your tests against test data.

Posted on Nov 28, 2016 by Alexej Bondarenko

In this blog post you will learn how to add a simple twitter summary card meta tags to your pages. We will discuss different content types and optional description values as well.

Posted on Nov 22, 2016 by Alexej Bondarenko

Adding, modifying and removing records in a database (like Postgres) is a very common use case. Usually we perform single actions to a single record. In this tutorial we would like to show how to perform a set of actions in one transaction, so all of them are applied or none in a case of failure.

Posted on Nov 17, 2016 by Alexej Bondarenko

In previous blog posts we already have seen how to verify a property for Google Webmaster Tools at application level (Scala, Haskell). In this very short tutorial we will see how to achieve this with Nginx with only a couple of lines of code.

Posted on Nov 12, 2016 by Alexej Bondarenko

Postgres is a fantastic database, even in times of any hyped NoSQL solutions. At Ersocon we often use Postgres as our core database and extend applications according to new needs. In this tutorial we will cover how to easily set up a Postgres database for development with Vagrant.

Posted on Nov 7, 2016 by Alexej Bondarenko

If you are already familiar with Maps in Java you may ask yourself why there are so many different implementations for something simple like a Key/Value store. In this post, I would like to show three of them and describe the differences.

Posted on Nov 2, 2016 by Alexej Bondarenko

In this post, you will learn how to tell Yesod to prefix static content with a CDN location instead of the usual /static path.

Posted on Oct 26, 2016 by Alexej Bondarenko

A common task in SEO optimization is adding/configure meta tags. Some of them can improve page ranking. In Yesod, this task is not supported from scratch (like setTitle is). In this post, we will talk about how to add meta tags to your Yesod web project.

Posted on Oct 21, 2016 by Alexej Bondarenko

To help search engine bots to crawl the content of your web page you can provide a sitemap.xml. In this tutorial you will learn how to create a dynamic sitemap.xml for small (or mid size) pages in Yesod.