Friday, January 22, 2016

Everything I learned about linux today 1453518423

I'm going to try and do a daily, update on everything I learn about linux the day of. I don't know how long I will do this, or if it will continue after I start working a regular job again. Today I watched "Linux Sucks" the 2016 one that happened on Thursday the 21st:

    January 2016     

Su Mo Tu We Th Fr Sa 

                1  2 

 3  4  5  6  7  8  9 

10 11 12 13 14 15 16 

17 18 19 20 21 22 23 

24 25 26 27 28 29 30 


I was excited to watch it so I had been hoping the link would show in one of my feeds, and eventually it did. I knew Lunduke was going to talk about systemd, and I was pretty sure what his opinion would be, and I was write. I'm not going to tell it to you, you should watch it. If your reading this after Friday you are probably better of checking lunduke's channel, because I imagine he will have a higher quality version posted.

My primary complaint with systemd is that it feels very much at odds with the unix way. The core tenants being:

(i) Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
(ii) Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
(iii) Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
(iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.
Or summed down to a one liner, perl style:
Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Systemd is a monolithic program that does many things. It also stores logs in binary, not plain text. So no I don't prefer it, but I can't say I really love what Mac did with launchd. And in fairness systemd improves boot times in comparison to init. 

I have other gripes with it as well, but I haven't decided if they're unfounded or not. Lennart in general does not particularly ascribe to the linux or posix rules.

So that said does this make him a bad guy, or systemd bad. It doesn't. I do really want devuan to be successful and I would really love to see a yum or dnf package managed system take it's lead. But systemd is assuredly great at speeding up boot times, and it may be great at the many other things it does as well.

Clearly that's just a rant I had in my head for a long time, not something I learned today but whatever.

Your daily one liner or regex:

I started with this, it was just because I was mad because I left the slash off a regex and wanted to prove to the smart ass that pointed it out, that I know my shit and stfu.
A vim regex:

then /u/EnTantoEnCuanto


And then my friend from IRC and /u/xurdm:


No comments: