Yesod has a nice feature to define database models. It uses the persistent library to migrate your database to a state which fits your defined application models. This is true for very new project setups. With time your project will evolve and change. For this case there is no nice solution in Yesod. For instance if you add a column which is mandatory, Yesod is not able to migrate since it does not know what to do with existing data. In this blog post we will present one possible migration path at application start.
Thoughts on software development
Even though it is a software development blog, we will have a quick look at the ID-Cooling IS-60 CPU Low Profile Cooler.
In this blog post we will have a look at Googles reCaptcha v2 integration in Yesod. With this you can secure your (classic) forms from bots.
If you have bought the Matebook X (which comes with the Windows OS) and you maybe plan to install Linux, you will ask yourself how to do this. In this blog post you will learn how to enter the BIOS and the boot menu.
When you use Ubuntu for a while you will recognise that it is asking you for several security updates from time to time. This can be a bit annoying since they appear pretty frequently. In this blog post we will configure ubuntu to silently install those updates.
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.
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.
The Yesod devel library already improved a lot during the last years. But still, type safety comes with a drawback sometimes. Since Yesod also secures the static files and how they are included your project, the process can slow down in compile time. We will look at this in this blog post.
In a previous post we already covered how to set up a local Postgres environment for development with vagrant. In this post we will use Docker to achieve the same.
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.
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.
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.
This very, very short blog post illustrates how to easily stop and remove all Docker containers.
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.
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.