Briefly on the purpose of Functors, Applicatives and Monads

Setting up UnrealIRCd and Anope IRC Services on EC2

Having recently discovered sameroom.io I wanted to update the codetalk IRC server to be compliant with their authentication method. This basically just meant enabling SASL support, but while I was tinkering with stuff anyways, I thought I might as well streamline the setup process for the IRC server. In short, everything is fully automated and set up on AWS using EC2 and S3.

This will go through the process of doing exactly that, by talking about:

Read more →

S3 bucket specific policy

I have recently started caring a bit more about security on my AWS applications, and to this end Identity & Access Management (IAM) users are a great way to limit access to a need-to-use-only basis.

Recently I set up my IRC server to download its configuration and install files from an S3 bucket. This meant that it needed to have read access to a specific bucket, and for this an IAM role was created.

There are two ways to generate policies:

I will generally advise to either use the generator completely or at least use it for the basis of the policy you want to create.

Read more →

Irssi notifications on iOS and Android

Local notifications from irssi on a remote server

So, if you’re like me and like to have your IRC client (in this instance irssi) running on a server in a tmux or screen session to never miss out on the conversation, you might feel like you’re missing some of the benefits of running a local IRC client.

In particular, I was missing local notifications when someone would highlight my nickname. I could of course use a bouncer, but hey! it’s no fun running irssi locally and having to close it for a reboot just as you’ve gotten it precisely the way you like it 🙂…

So, how does one solve this problem?

Read more →

Deploying with Vagrant

UPDATE: I wouldn’t really recommend this approach anymore! In stead you should look into Docker for containerization and Stack for the Haskell side

I recently started looking into ways that I could improve my current deployment workflow. Since my server doesn’t have much RAM, I currently build the binaries locally in a Virtual Machine (VM from here on out) and then send them to the server using scp.

Although I can’t do much about the server part (except buying a bigger server), I can do something about what I do locally. I set out to check what possibilities I had, and ended up looking at Vagrant.

Read more →

What is this about?

This blog will mostly serve as a personal memory pad. I often discover a process, learn something new or just am plain forgetful. Therefore I’ll try to write down various things that I learn during my journey as a programmer and enthusiast on all things technical.

With that in mind, the idea is to make the content posted here general enough so that any random Google’er would also be able to understand it.

What will be on here? Mostly things related to programming and technology. What I learn is almost always related to some hobby project I got going on.

Read more →