In a recent thread on /r/haskell about how
to motivate the AMP proposal in teaching, I read a comment that finally helped me understand the purpose of Functor
s, Applicative
s and Monad
s.
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:
- enabling SASL support
- installing
UnrealIRCd
- installing
Anope
- a little about automating the launch of the
EC2
instance that the IRC server will run on, using theuser-data
field as input for a setup script. - all the important files gathered in a github repo
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.
Irssi notifications on iOS and Android
Or really anywhere that https://pushover.net supports.
In light of the earlier article, I thought I’d might as well supercharge my IRC setup. So, now we’re gonna get some notifications for our mobile devices via pushover.
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?
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.
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.