Linux Sysadmin Evolution

Constructive criticism of the failed Micro$oft academy

Ohh well, you know, after actually thinking about it for a minute or two was it obvious to me that this is more of a silly rant then anything constructive. But maybe one day if i remove some profanity from this page i will make something constructive out of it.

Quite alot of the evenings of the last few years i have spend on educating me more about my profession, the Information Technology. So i went to this Failed Micro$oft academy (some local community college) and here is what i have learned there. Basically the thing is quality of the 'factory'-like education (so its about quantity and not about quality) really sux.

Now here are something around 5 main aspects of the IT that you can learn. But they are all bastardized. The stuff that is being teached is all such a Micro$oft biased bullshit and nothing of what you really should be learning. (In the end i decided that it makes more sense to finish Linux Foundation System Administration online course than spend even more of my time where they dont even know what they are speaking about). For exanple i have already taken Introduction to Linux and it was actually fun :)

This are the 5 main aspects of IT that i think are importand and are at least correct to mention in this cotext:
1 - Computer Architecture and history of its development / evolution. (32bit PC only vs 16bit era)
2 - Operating Systems (Scheduling vs FHS)
3 - Databases (Relations as arrows between tables vs relations as in Datatype relations and not some other nonsense)
4 - Networking (OSI vs TCP/IP)
5 - Programming/Scripting (OOP fanatical madness vs The Bash/Shell and Open Source Scripting revolution)

Now lets look at each of them separetely:

1 - Computer Architecture and history of its development / evolution. (32bit PC only vs 16bit era)

The first ever step in starting to learn sometning about computers often starts with the computer architecture. But supposedly it looks like there exist some alternative histories for different people. I have seen it already a few times when people start with punch cards and then directly switch to the ISA bus and PSI bus and different intel processors generations, together with the AMD. Like the IBM PC was the first computer ever created. Like the legendary 8bit to 16bit era switch never hapened. Like Commodore Amiga wasnt the the one and only of its kind. Like it havent used the legendary 68k RISC microprocessor from the PDP mainframes. Like Linux has never been ported to 68k and it havent set it off as a most portable OS ever. History of Computers/The Rise of the Microcomputer

Steve and Bill bow befre C64

2 - Operating Systems (Scheduling vs FHS)

You see, some other lesson we started studying Operating Systems. My favorite subject. And there we go, we started to draw some round robin like sheduling schemas on a sheet of paper with a pensil. Really? Why the freaking hell you would start telling me about sheduling algorithms and dont even mention the FHS, the first ever thing you should be learning about Operating Systems. Read Andrew Tanenbaums - Modern Operating Systems, that even Linus Torvalds endorses. Here is what he writes:

The amount of space devoted to some of these topics is different than in some other books, however, reflecting my belief that students should learn about concepts that are of practical value in real systems, rather than those that are just of theoretical interest. For example, CPU scheduling is worth a section, not a whole chapter. Many complicated scheduling algrithms have been proposed and analysed in the literature, but most real systems just use some kind of simple priority or round robin scheme.

Happily there are some local Linux gurus who write introductory books on Linux and its even available in HTML form online.

Linux Sysadmin Evolution

And dont even get me started on how one 'security specialist' started telling us about how we should first back up our datacenter in case we had desided to Defragment it. Oh my mind is almost boiling, this is so wrong on so many levels. Maybe u will defragment the ZFS to?..

3 - Databases (Relations as arrows between tables vs relations as in Datatype relations and not some other nonsense)

Here we go again. When you start reading right books instead of listening to fools. You discover that a relation in the Database world has nothing to do with arrows between tables and everything to do with types of data. Just go and take a look at the J.C. Date's Database In Depth book, page 46 where he explains what a relation is:

I'll leave it as an exercise to interpret the suppliers relation in terms of the foregoing definition. However, I will at least explain why we call such things relations. Basically, each tuple in a relation represents an n-ary relationship, in the ordinary natural-language sense, among a set of n values (one value for each tuple attribute), and the full set of tuples in a given relation represents the full set of such relationships that happen to exist at some given time and, mathematically speaking, that's a relation. Thus, the "explanation" often heard, to the effect that the relational model is so called because it lets us "relate one table to another," though accurate in a kind of secondary sense, really misses the basic point. The relational model is so called because it deals with certain abstractions that we can think of as "tables" but are known, formally, as relations in mathematics.

url and counting visits
Accurate Visits
url and counting visits
Accurate Visits

4 Specialisation

4 - Networking (OSI vs TCP/IP)

Comparison with TCP/IP model

The design of protocols in the TCP/IP model of the Internet does not concern itself with strict hierarchical encapsulation and layering.[26]RFC 3439 contains a section entitled "Layering considered harmful".[27] TCP/IP does recognize four broad layers of functionality which are derived from the operating scope of their contained protocols: the scope of the software application; the end-to-end transport connection; the internetworking range; and the scope of the direct links to other nodes on the local network. [28]

Despite using a different concept for layering than the OSI model, these layers are often compared with the OSI layering scheme in the following way:

These comparisons are based on the original seven-layer protocol model as defined in ISO 7498, rather than refinements in such things as the internal organization of the network layer document.[citation needed]

The presumably strict layering of the OSI model as it is usually described does not present contradictions in TCP/IP, as it is permissible that protocol usage does not follow the hierarchy implied in a layered model. Such examples exist in some routing protocols (e.g., OSPF), or in the description of tunneling protocols, which provide a link layer for an application, although the tunnel host protocol might well be a transport or even an application-layer protocol in its own right.

5 - Programming/Scripting (OOP fanatical madness vs The Bash/Shell and Open Source Scripting revolution)
OOP is to writing a program, what going through airport security is to flying

OOP Criticism

The OOP paradigm has been criticised for a number of reasons, including not meeting its stated goals of reusability and modularity,[37] [38] and for overemphasizing one aspect of software design and modeling (data/objects) at the expense of other important aspects (computation/algorithms).[39] [40]

Luca Cardelli has claimed that OOP code is "intrinsically less efficient" than procedural code, that OOP can take longer to compile, and that OOP languages have "extremely poor modularity properties with respect to class extension and modification", and tend to be extremely complex.[37] The latter point is reiterated byJoe Armstrong, the principal inventor of Erlang, who is quoted as saying: [38]

The problem with object-oriented languages is they've got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.

A study by Potok et al. has shown no significant difference in productivity between OOP and procedural approaches. [41]

Christopher J. Date stated that critical comparison of OOP to other technologies, relational in particular, is difficult because of lack of an agreed-upon and rigorous definition of OOP;[42] however, Date and Darwen have proposed a theoretical foundation on OOP that uses OOP as a kind of customizable type system to support RDBMS. [43]

In an article Lawrence Krubner claimed that compared to other languages (LISP dialects, functional languages, etc.) OOP languages have no unique strengths, and inflict a heavy burden of unneeded complexity.[44]

Alexander Stepanov compares object orientation unfavourably to generic programming: [39]

I find OOP technically unsound. It attempts to decompose the world in terms of interfaces that vary on a single type. To deal with the real problems you need multisorted algebras — families of interfaces that span multiple types. I find OOP philosophically unsound. It claims that everything is an object. Even if it is true it is not very interesting — saying that everything is an object is saying nothing at all.

Paul Graham has suggested that OOP's popularity within large companies is due to "large (and frequently changing) groups of mediocre programmers". According to Graham, the discipline imposed by OOP prevents any one programmer from "doing too much damage". [45]

Steve Yegge noted that, as opposed to functional programming: [46]

Object Oriented Programming puts the Nouns first and foremost. Why would you go to such lengths to put one part of speech on a pedestal? Why should one kind of concept take precedence over another? It's not as if OOP has suddenly made verbs less important in the way we actually think. It's a strangely skewed perspective.

Rich Hickey , creator of Clojure, described object systems as overly simplistic models of the real world. He emphasized the inability of OOP to model time properly, which is getting increasingly problematic as software systems become more concurrent. [40]

Eric S. Raymond , a Unix programmer and open-source software advocate, has been critical of claims that present object-oriented programming as the "One True Solution", and has written that object-oriented programming languages tend to encourage thickly layered programs that destroy transparency.[47] Raymond compares this unfavourably to the approach taken with Unix and the C programming language.

Computer languages history

Computer languages history, the prominent books at the time and other circus. :)

1) The other day i was chatting with a guy of around twenty years old who is studying computer security and i wanted to say that maybe using some programming language from the eighties is not the best idea to build some modern application. And i wanted to make my point by comparing on which hardware that eighties technology was used/invented. And compare it to todays hardware. This way the following timeline came up.
Here you can see for example that Java was invented before even the first widely available 32 bit consumer computer came out. I'm not even talking already about C++ which was an antire decade before that. And yes, only Demoscene hackers scream Amiga once in a while. :D

2) Then i wanted to add some books in between. Because you know i bought maybe like a hundred programming books in the last several years. Ofcourse i only half read half of them. But anyway. Here you can see the Unix Haters Handbook, which can tell you everything you need to know about antiquated C++. The Byte of Python is the best Scripting beginner book. And if you wan to move on futher after that The Book of Ruby is interesting too.

Computer books timeline
Computer books timeline

3) And this is just the ultimate circus/insanity yeah. :D Here you can see that the endgame languages are Scala, Rust and maybe Golang.

Computer circus timeline

4) I have also still two bookshelves. This one contains books i want to read in the near future.

Near future books

5) And this one contains the books i want to read some day not in the near future.

Reserved books

At FOSDEM all they talk about are containers ..


Who Am I?

- Me -
Voornaam Nikolai
Naam Domaev
Adres Wilrijk
Nat. Rus/Belg
Cont.: nik dot kel at proximus dot be
- Edu -
- Recent - - Past -
2015 - LPI Linux Essentials Graduaat Informatica 50%
2014 - LFS 101x Netwerk-Assistent 2008-9
- Introduction to Linux - Computer Technicus 2008-10
- edX Linux Foundation Course A2 diploma Carroserrie 2004-7
Toegpaste Informatica 2002-4
- Pro - - Rest -
Universiteit Aantwerpen Xylos 2008-9
(sinds 2015 - SCCM) Carrosserie Cryns 2007-8
Artesis 2010-2015 Martinique 2006-7
(Altiris +FOG +OCS +GLPI)
- Skills - - Other Interests -
Open Surce @ Work / DISM
FOG - Free Open Ghost Play On Linux / Crossover
OCS - Open Computer Inventory RFRemix / ReactOS
iTALC - intelegent teaching - - Translation tools -
- and learning with computers SDL Trados Studio
- Deployment - WinCaps, Swift Subtitling
SCCM - System Center - Languages -
Altiris - Deployment Solution Russian, English, Dutch
Linux Sites i read:


Classic Tuner Cars
Budget Cars
programming anime cars programming anime cars programming anime cars programming anime cars