Due to the recent escalation of the trade war between US and China, I decided to check for alternatives to the two big players (Apple and Google) in the mobile OS market. So I decided to give Sailfish OS a try. Let's see how the OS fits daily needs.
Blog
Thoughts on software development
Gitlab is a very flexible and fantastic alternative to classic CI servers. Nevertheless it is sometimes a bit tricky to set up. Hence, in this blog post we will cover a basic set up to build, test and deploy a Yesod application.
In Visual Studio Code it is possible to define own code snippets. In this blog post I would like to share our snippets to create Components and Parent Components for Halogen. With this snippets creating a new component is a matter of seconds.
In some cases it is not enough to detect a keyboard layout in Linux. For instance, using a German Mac Keyboard has switched key mappings for "^" and "<". In this blog post we will show how to switch those keys to it's correct behavior.
With stacks ghc version 8.2.2 it is not easy to install ghc-mod with stack. The reason are not matched dependencies. With a small trick we can install ghc-mod by building it ourselves. In this blog post you will learn how to do so.
Visual Studio Code is a great customizable IDE. There are even good tools for Haskell support. Unfortunately there is no Yesod extension yet which could support the hamlet file extension. In this blog post we will see how to enable *.hamlet file extension support in VS Code.
To display the version of your Yesod application is pretty simple. In this blog post you will learn the trick how to achieve this.
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 the application start.
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.