The Nix mutli-monolith machine (NMMM). []

a NMMM computer

I redid how my services are structured. Instead of running each project on a separate VM, they’re now all running on a dedicated Hetzner machine. This is what I call the nix multi monolith machine (hence forth called NMMM, pronounced like tasting something delicious prefixed with an

Using git for templates []

Over the past few years I’ve started using git as a template management tool1. For example, I clone my haskell template project, edit the names, edit the readme end re-setup the remotes:

git remote add template git@github.com:jappeace/haskell-template-project.git
git remote set-url origin git@github.com:jappeace/new-project.git

This allows me to keep

Hacking atom []

On my twitch stream I had project where I made a CRT scan line monitor in atom:

The inspiration was the fallout pip-boy. I though it would be cool to have this be in your editor, maybe some of the gray beards are nostalgic for this?

What amazes me

Ghcid for multi package projects []

GHCID magic

When I tried Ghcidfor a reflex project, it wouldn’t rebuild on file change. This is because reflex has a multi package project setup by default. Recently I found that it is possible to use Ghcid for multi package project builds. The trick is to create an executable

Pinning nixops builds []

Pinned nixops

On one machine my Nixops builds and deploys, but on the other one it fails. Why? Isn’t nix supposed to deliver reproducible builds? Turns out nixops uses by default your system configurations’ channels rather then a pinned nix packages. Which is not why you’re using nix

Reflex server side html rendering []

Reflex is a single page app framework written in Haskell compiled to JavaScript. A major concern with reflex is the slow loading times, this can be mediated however by doing server side rendering1. This blog post will discuss how to do that2.

Bob doing SSR

The

Citrix XenCenter 7.6 notes []

A client had a Citrix environment running. To debug the deployment of a machine, I copied the Citrix environment locally in VirtualBox. Note that the server doesn’t run any machines inside citrix, but it does get the XenCenter operational. It appears that in nixos you can just setup a local

Nixos notes []

This is a post of things I wanted to do in nixos but isn’t described anywhere. I had to read source code to figure these things out. By explaining here what is going on I make things easier for other people.

Nixos notes

Nix custom image

It’s possible to bypass

Authentication in Reflex & Servant []

In the previous blog post we saw interaction with servant in reflex. Although that covers the basics, there are several more hurdles to overcome to get comfortable with Reflex. I think most of these are encountered by building a simple login system. So let’s build something like:

													
                   	   +------------------+
   +-----------+       |

Lens into wrapped newtypes []

Categorical representation of the NT iso

All newtypes are isomorphisms


– My mother

Control.Lens.Wrapped uses the isomorphism property to introduce a type class Wrapped. Let’s explore use cases, because after all, it doesn’t appear to do much at first glance. What’s the point of formalizing wrapping and unwrapping of