comparison posts/Propellor_and_Pi.md @ 10:212b64ea9488

Fix typos
author samis <samis@web>
date Fri, 01 Sep 2017 01:37:03 +0000
parents 7aaa5b28857f
children 2307e281b4b7
comparison
equal deleted inserted replaced
9:ea9e1abd1203 10:212b64ea9488
2 [[!tag tech linux]] 2 [[!tag tech linux]]
3 I've given a number of configuration management tools a whirl - Puppet, Chef, Salt, Ansible. 3 I've given a number of configuration management tools a whirl - Puppet, Chef, Salt, Ansible.
4 Chef and Puppet started nice, but seemed complex to use given my small needs. 4 Chef and Puppet started nice, but seemed complex to use given my small needs.
5 Salt and Ansible had potential and features unique to either, but I've never liked using YAML syntax, and this showed. 5 Salt and Ansible had potential and features unique to either, but I've never liked using YAML syntax, and this showed.
6 6
7 Recently I've loooked into [Propellor](https://propellor.branchable.com/), a configuration management system written in Haskell with the interface being a DSL in the same language. 7 Recently I've looked into [Propellor](https://propellor.branchable.com/), a configuration management system written in Haskell with the interface being a DSL in the same language.
8 I've never been a Haskeller, indeed I'm an unrepentant fan of Smalltalk's beautiful OO simplicity - so why? 8 I've never been a Haskeller, indeed I'm an unrepentant fan of Smalltalk's beautiful OO simplicity - so why?
9 9
10 1. The provided DSL looked interesting and readable. More readable than YAML at any rate (and likely the DSLs of the other two) 10 1. The provided DSL looked interesting and readable. More readable than YAML at any rate (and likely the DSLs of the other two)
11 2. Despite being written in and using Haskell, it claimed that knowledge of it was not a prerequisite. 11 2. Despite being written in and using Haskell, it claimed that knowledge of it was not a prerequisite.
12 3. The 'getting started' process wasn't complex. The most difficult part was waiting for GHC and dependencies to be compiled (Gentoo.) 12 3. The 'getting started' process wasn't complex. The most difficult part was waiting for GHC and dependencies to be compiled (Gentoo.)
24 I then tried installing an additional package that contained the static libraries. That almost worked...but I later found it to be incomplete Oh well. 24 I then tried installing an additional package that contained the static libraries. That almost worked...but I later found it to be incomplete Oh well.
25 25
26 # Getting weirder and crazier... 26 # Getting weirder and crazier...
27 27
28 My next plan was very weird: Taking the Debian packaged binaries and running them on my system. This worked when in my home directory....but magically stopped working when installed system-wide (??) 28 My next plan was very weird: Taking the Debian packaged binaries and running them on my system. This worked when in my home directory....but magically stopped working when installed system-wide (??)
29 The one that actuallly succeeded (the most) was simpler: Grab a generic binary release tarball and extract it into /usr/local. This actually worked, no linking errors woo! 29 The one that actually succeeded (the most) was simpler: Grab a generic binary release tarball and extract it into /usr/local. This actually worked, no linking errors woo!
30 30
31 # Close, but no cigar..yet 31 # Close, but no cigar..yet
32 This meant the compiler was actually working, but when it came to install the software, the newer compiler meant I had to use a newer snapshot of packages. 32 This meant the compiler was actually working, but when it came to install the software, the newer compiler meant I had to use a newer snapshot of packages.
33 This brought dependency problems, which could be solved by compiling and instlling another program. 33 This brought dependency problems, which could be solved by compiling and installing another program.
34 I did what was needed, and the program was compiling. The speed was slow, much slower than the my 'hello world' tests. 34 I did what was needed, and the program was compiling. The speed was slow, much slower than the my 'hello world' tests.
35 35
36 And then, in the middle, it hung. It still answered ping requests, but I couldn't type or SSH in. 36 And then, in the middle, it hung. It still answered ping requests, but I couldn't type or SSH in.
37 I tried rebooting, with the intent of trying again either the same method or differently. Unfortunately, the system didn't come up on wifi afterwards. 37 I tried rebooting, with the intent of trying again either the same method or differently. Unfortunately, the system didn't come up on wifi afterwards.
38 Nor did it come up when connected via Ethernet. 38 Nor did it come up when connected via Ethernet.
39 39
40 What was wrong? Plugging in a HDMI cable told me that, and it was 'fsck: UNEXPECTED INCONSISTENCY. Run fsck manually.' 40 What was wrong? Plugging in a HDMI cable told me that, and it was 'fsck: UNEXPECTED INCONSISTENCY. Run fsck manually.'
41 I couldn't properly handle this because the receiver for my USB keyboard was godknowswhere. 41 I couldn't properly handle this because the receiver for my USB keyboard was godknowswhere.
42 I need to handle this offline, which means digging out my laptop and using it's sdcard slot. I think i'll take the opportunity to downgrade the compiler while I'm at it. Maybe pre-compile some software if the emulation isn't too bad. 42 I need to handle this offline, which means digging out my laptop and using it's sdcard slot. I think I'll take the opportunity to downgrade the compiler while I'm at it. Maybe pre-compile some software if the emulation isn't too bad.