rf/posts/foss-my-shit-up.md

177 lines
8.3 KiB
Markdown
Raw Normal View History

2018-08-27 21:16:14 -04:00
---
title: Foss My Shit Up Baby
published: 2018-08-28
---
>***DISCLAIMER*** this is gonna be a pretty tech focussed post, sorry to my readers (you know who you are) that aren't about that life, i'll get back to the regular angsty edge posts later today `<3`
i was inspired by [Carl Chenet's Post](https://carlchenet.com/foss-passive-consumerism-kills-our-community/) to do *something* so i'm gonna do the easiest thing and write a ***mother fizzityucking gorram blog post (tm)*** highlighting some of the **neato** software i use daily and/or like.
so without further ado, and in no particular order. the list.
## operating systems
### nixos
[NixOS](https://nixos.org) is my current daily driver and is a ***lot*** of fun. most of the discussion for this will be covered in the nix entry (nixos' package manager) but a quick overview is that nixos is doing something entirely new with its base system, and is not just another distro that is 90% the same as every other distro. highly reccomend checking it out, try it in a vm though because theres a *very* **very** ***very*** steep learning curve.
thank you nixos.
### arch
[Arch Linux](https://www.archlinux.org/) is a rolling release distrobution, and was my daily driver for the entirety of university. if it wasn't for nixos being so gorram sexy then i'd probably still be on arch, or distro hopping to gentoo or crux or void or something.
arch is my go to if i need a system to be nice to use, and i will probably go back to it at some point.
thank you arch.
### urbit
[Urbit](https://urbit.org) is the `future`. i am fully in love with urbit and possibly it is clouding my judgement a bit but god damn i've read the whitepaper so many times and one day i'll be wizard enough to make some actual useful contributions.
what is urbit? urbit is a new operating system built ***completely*** from scratch (currently it runs in what is essentially a virtual machine under linux, but one day it will run on hardware). it is pretty much what i would expect an alien operating system to look like, and doing anything in it feels like you're a time traveller.
the white paper does a far far better job of talking about urbit than i can do, but one day i'll do a more in-depth post specifically about it.
you can read it [here](http://media.urbit.org/whitepaper.pdf)
urbit is also one of the only projects i have ever actually contributed to officially. the contributions were nothing but small refactors but im glad to have been able to help, regardless.
thank you urbit. i love you.
## package managers
### nix
oh [Nix](https://nixos.org/nix) you are a fickle mistress.
what is nix? nix is that bottle of chocolate syrup sitting in your fridge that no matter how many times you drink from and it burns your throat, you still want to drink it at 3 in the morning.
nix is that girl in your class that seems like a massive bitch and has only ever made you feel bad but god damn is she attractive
nix is that package manager that is the coolest thing you've ever seen (alongside urbit) but no matter how much time you spend trying to learn it, it beats you down and spits on you and tells you your IQ is about fifty billion points lower than you expect.
but you keep coming back for me.
nix is a new package manager that aims to build reproducible builds using a purely functional configuration language. it does things weird but that lets you have things like ***user level package management*** and ***multiple installations of the same program***.
its super neat but pretty fuarking hard. really good for haskell if you're smart enough (i'm not)
thank you nix
### pacman
[Pacman](https://www.archlinux.org/pacman/) is archs package manager, and in opposition to nix, it is like **Jund Midrange** in mtg. its not exciting, its not super cool, but it works, and it works, and it just werks. not much more to say about it, it seemed less bloated than apt for me.
thank you pacman
### pacaur
[PacAur](https://github.com/rmarquis/pacaur) is a wrapper for pacman that also accesses the AUR - the Arch User Repository, that has absolutely ***everything*** in it. if you've ever lost socks in the washing machine they're probably chilling out in the aur with everyones will to live.
thank you pacaur
## window managers
### bspwm
[BSPWM](https://github.com/baskerville/bspwm) is my favourite window manager and my current favourite. its very scriptable, very lightweight, very powerful, whats not to love.
bonus points for being tiled so people looking over your shoulder think you're some sort of weirdo.
i'd reccomend it to anyone looking for a nice tiled window manager. psuedo-tiling mode (keeping the window floating, ie being able to resize it, but pinning it to the centre of the partition) is the nicest looking thing ever. use it.
thank you bspwm
### cwm
[CWM](https://github.com/chneukirchen/cwm) aka. the ***calm window manager*** which is a name i would expect from a vaporwave themed hotel, is a floating window manager based around the concept of *groups*, which are like workspaces but better. this was my daily driver other than bspwm for about a year or two of uni, very nice and easy to use. use it.
thank you cwm.
## literally any other category
### sxhkd
[SXHKD](https://github.com/baskerville/sxhkd) - the simple x hotkey daemon is simply a way to bind shortcuts to scripts, and its super super super handy, if not just for your media keys. love it to pieces.
thank you sxhkd
### weechat
[WeeChat](https://weechat.org/) is my irc client of choice, its extensible, has pretty good defaults and ive used it for ages. not much more to say about it, an irc client is an irc client, but weechat is one of the better ones.
thank you weechat.
### vim
[Vim](https://www.vim.org/) is my preferred text editor, get that emacs bullsoykaf out of my face.
its fun, easy, powerful, extensible and every other buzzword you could want. it will make you popular with the ladies, reduce your ghc compile times by a week, and add eight inches to your height.
fun fact i once got accused by the police of threatening to shoot up my university because someone saw me using vim in class and thought i was hacking.
thank you vim.
### ncmpcpp
[NCMPCPP](https://rybczak.net/ncmpcpp/) is my preferred music client, and is a frontend for mpd. it looks nice and has a neat waveform thingy so i can look really pretentious leaving it in my lower corner when im at starcucks. you get to sound smart to people by being able to remember the name which is a plus, and its quick.
thank you ncmpcpp
### mpd
[MPD](https://www.musicpd.org/) is a daemon that plays music and it does exactly what it says on the tin. it lets me keep sane by playing high quality music, and it even will save the state of your playlist through reboots so that you can blast the K-On! soundtrack to your computational mathematics class when you forget to plug your headphones in before turning your laptop on.
thank you mpd.
### haskell
[Haskell](https://www.haskell.org/) oh haskell oh haskell.
HASKELL HASKELL HASKELL HASKELL HASKELL
I really like haskell. one day i hope to be good at it. if you like haskell and are good at it then you're a really neat duder in my books, even if only one of those things is true then you're a cool pal.
haskell is the best programming language ever written. full stop. if thats not a reccomendation then idk what is.
use it, love it, spread the word.
(bonus points because this blog is written in haskell).
thank you haskell.
### hakyll
[Hakyll](https://jaspervdj.be/hakyll/), while we're on the topic of this blog, is the framework this blog is written in. its really easy to use and super good for static sites, and static sites make you cool, fact.
use it, love it.
thank you hakyll.
## honourable mentions
### everything i use on my servers
a quick list:
* [Nginx](https://nginx.com)
* [Postfix](http://www.postfix.org/)
* [Git](https://git-scm.com/)
* [Dovecot](https://www.dovecot.org/)
* [Roundcube](https://roundcube.net/)
* [Anope](https://www.anope.org/)
* [UnrealIRC](https://www.unrealircd.org/)
* [ZNC](https://wiki.znc.in/ZNC)
* [CertBot](https://certbot.eff.org/)
* [Yesod](https://www.yesodweb.com/)
thank you all.
---
if i've forgotten or not mentioned anything (and theres probably a lot more) i may get around to doing a second write up at some point. but thank you each and every person who has helped me make my laptop and servers the characters they are today.
thanks everyone.
peace out.