General interests that may or may not fit anywhere else.

70 Years Ago Today at the Battle in Berlin

This is clearly an off topic post but when I looked at the calendar today, it occurred to me that on this day in 1945, Berlin unconditionally surrendered to the Allies. It was a significant moment in the second world war, and it wasn’t long before all of Germany surrendered. This is something I felt inspired to write in light of such a dark chapter known to mankind.

70 Years Ago Today at the Battle in Berlin: A look in to the heart of mankind, its past, present and future

The Battle in Berlin ended on 1945 May 2. It was a glimmer of hope for many, and would be a day that would begin the ultimate surrender of Germany in World War 2. Hitler (20 April 1889 – 30 April 1945), along with his newly wed wife Eva Braun, had committed suicide 10 days after Hitler’s 56th birthday – April 30, 1945; he knew the end was approaching and he was not one to surrender: he made sure he was not captured. Josef Goebbels[1], who stayed with Hitler to the very end, had also committed suicide – and forced his family, including his kids (the mother assured the kids everyone was using this drug – I believe morphine – and to not worry, therefore allowing them to be sedated while they’re poisoned) to do the same. Goebbels was, of course, the master propagandist of Nazi Germany, and this combined with Hitler being a very powerful speaker is a very dangerous combination (yet they weren’t the only powerful variables). Hitler of course was concerned that the cyanamide was not sufficiently potent, and despite him being close to his German Shepherd Blondi, a day before he committed suicide, he tested a dose of cyanamide[2] on Blondi; she would be buried and later excavated by the Soviet Union. Meanwhile, Hitler ordered that his remains as well as Eva’s remains, to be burnt. I’ll return to the liberation of Berlin towards the end of this essay.

The fact Hitler was never one to surrender is quite obvious when you consider the end of the first world war – the war to end all wars: he felt it was an utter betrayal to surrender and was in disbelief that the war was finished; he truly wanted to continue after recovering from temporary blindness (from a mustard gas attack). The Germans (Hitler was born in Austria and was very much Austrian: indeed, over the years, as I recall more than once, many cities in Austria have rushed to make sure that he was not still an honorary citizen, after it was made known that a city still declared him exactly that) told him they no longer needed his service. This of course, was not the end: The Treaty of Versailles left Germany a disaster.

Germany lost a lot of land; the Rhineland was to be demilitarised; their military was limited to no more than 100,000 men; they were not allowed an air force; were to give up military air craft; they were not allowed to import or build air power for six months among other air warfare restrictions (yet ironically, despite all this, the Luftwaffe would later literally flatten areas in the UK during The Blitz, which caused many in England to use the tube stations as bombing shelters and led to utter devastation in areas – like North Ireland – that did not prepare if not outright ignore warnings); prohibition in the arms trade; limitations as to what the navy was allowed (battleships as well as number of men); they were to pay billions (marks) in reparations, something I believe they’ve yet to pay off (I would be surprised if they ever do, assuming that indeed they have not yet); and much more. Germany was not invited to the discussions. All of this paved the way for Hitler to eventually take over what would later become the National Socialist German Workers’ Party – or Nationalsozialistische Deutsche Arbeiterpartei (abbreviated as NSDAP), more commonly known as the Nazi Party. It was originally the National Socialists party. It was Hitler who decided to rename it to what it is known as today. His idea was it would appease to the masses, essentially everyone but the communists and the Jews[3]. In addition, the victors also largely ignored the Japanese, despite Japan being a victor.

When you think of all this, it would be absurd to even dream of there not being another major conflict. As far as I am aware, the Americans tried to some time later get some of these limitations removed, because of this fear. But they were too late and/or not successful. Essentially, the treaty would be to the victors’ – and indeed the entire world – peril.

Yet despite the terror of the time, despite the atrocities, mankind has not taken to heart all the lessons. There is no such thing as tolerance if it is not respected and considered 100%; therefore, tolerance is a dangerous lie: selective tolerance still discriminates and that is exactly what happened so many years ago and to this day still occurs. It is true that there were horrible atrocities with terrible consequences and to this day there still is. But war is war. While that does not justify what was done, it should always be kept in mind. The last remaining body guard of Hitler once said something that should be remembered because it is completely honest and 100% valid: there’s never been a war without war crime. I would extend this, and perhaps he meant this too, by adding: war itself is a crime.

Yet despite the Soviet Union liberating Berlin (and other Nazi occupied land), they were not above being horrendous, either. The Red Army looted, committed mass rape and mass murder. This affected many more people: rape and in general sexual – which is also physical, mental and emotional – abuse ruins lives (and a close friend of mine can attest to that, even though it should be obvious). Then there’s the murders. Is that better than the Nazis? The effect would not happen if it wasn’t for the cause; the cause is the lack of tolerance, the hate, vengeful, discriminatory and oppressive behaviour and mentality. Yet many Soviets earned medals for liberating Berlin. One hopes that none that participated in the deplorable actions were also rewarded, but as I’ve already noted – war is a criminal act, and it is inevitable that these things will happen, and in all likelihood many perpetrators were indeed rewarded.

It is interesting to note that two very significant things changed the war outlook (of course there’s others, including some that are because of these). First, Hitler regretted his pact with the Soviet Union, and he decided to break it by invasion. With the Soviet’s scorched earth tactic, combined with the climate and temperatures there, the German army suffered terribly. This also meant that the Soviets would fight the Nazis and ultimately would liberate much of Europe (it is also worth noting that other neutral countries – Sweden, for example – would not only remain unoccupied but also gain the Nazis trust and as such, many Jews were able to flee to Sweden). The other is that Japan bombed Pearl Harbor and this, combined with Hitler shortly thereafter declaring war on the United States of America, would bring the US in to the war. The Americans were an important part of the victory, from D-Day (Normandy) and through the Pacific.

70 years ago today began the first part of a transition to the end of a very dark chapter in mankind. Never forget what happened, how many lives were lost, how many lost family, how many suffered. Never forget it could have been worse. But do not forget either that it could have been better if only there was tolerance, more peaceful cooperation (instead of aggressive competition) and if only more people remembered how their actions affect others. Ultimately, World War Two could have been avoided as could many other wars, including wars after World War Two. But they aren’t avoided. 70 years have gone by and mankind has still not acknowledged these things; there is nothing darker than this realisation.

[1] Just like it is commonly spelt Adolf Hitler (when his birth certificate actually shows Adolphus) it is often Joseph instead of Josef. One of the books I have on Hitler (as below) spells it Josef. Probably the common spellings are English.
[2] I always remembered cyanide. However, because I wanted to cite references to some of this, I looked at one of the books I have on Hitler. While some other Nazis did use cyanide, apparently Blondi was given cyanamide (and it seems that it was initially Hitler’s doctor that suggested this be the way to test it). Ironically, despite Hitler’s fear (he shared the fear with someone who had relayed the fear to Hitler although they had different reasons as to believe it) it was Eva Braun who took the cyanamide (although she tried to use something else; the name fails to come to mind). Hitler shot himself instead.
[3] There was no place for Jews as far as he was concerned. What made him hate Jews so much is likely a combination of factors but one theory is something the Nazis used themselves – spreading fear and hate by words and actions; certainly he mirrored some beliefs as others had already made public, and certainly he was influenced by others. I’m not certain why he hated the communists so much except that he supposedly railed against them in Mein Kampf in addition to the Jews.

While I have more books on Hitler, the one I have actually read (albeit a long time ago until some brief checks earlier today) is below.

Adolf Hitler: The Definitive Biography by John Toland (Anchor, 1992)

The Consequences of the Sony Attack

While this should maybe be under security, I want to highlight some other things, too. It is rather interesting to me, but so many people, every year around this time, talk about resolutions. While I’m going to get to the issue the title refers to, I actually think security (and therefore that issue) is a perfect thing to discuss with resolutions. Indeed, I find this interesting yet also something of a farce. I call New Years Resolution what they are: nonsense.

Why on Earth do people think that a certain time is any better than another, to be better about (or accomplish, or… ) something? Is that not absurd? If the idea is to improve yourself, why not always do so? If you can only improve yourself when you’re ‘supposed’ to, you’re not actually improving yourself: you’re actually sealing your fate in a vicious cycle of only do something (that supposedly is better for you) for a short time in the year and then  wait until next year. What is so special about this time of year, and why does it happen every year? The answer to the rhetorical question is, of course: because (they) only last a few weeks before giving up which really means they only pretend to care – you want to improve or you don’t, it is that simple. The only other part of it is that some people believe they want to change in some way but they actually don’t want to (which conveniently fits in ‘or you don’t’) – they try to convince themselves of it but they don’t really want to. I’m a perfect example, actually, but not in the sense of New Years and not actually bettering myself (but it indeed is cyclical). I often try to tell myself I need to be more social (I am incredibly asocial – I’m essentially a hermit that has Internet access and will go to doctors but aside from that I tend to shy away from gatherings). But it doesn’t last and I then come to the conclusion (in a repeated cycle like I described New Years Resolutions) that no, I was only thinking I wanted to change this. In reality I was lying to myself (something I admit I do probably far more often than I’d like to – wait for it – believe) about it.

Where does this go with security then? Correct: you should always be improving your standards (just like everything else, if you truly do want to improve) and this goes for security in normal cases but it goes double (if not triple or quadruple or…) after an attack. It is most interesting that those in to security (I’m not even going to include myself here simply because I don’t – as I suggested moments ago – generally like to be included in a group) are calling the claim that North Korea is the sole responsibility, nonsense. Yet at the same time, those who should be paying attention to them, are just pointing the finger (perhaps figuratively and literally pointing the finger!). I find it rather sad that even despite two groups admitting their role in the attack, the authorities then decide to re-frame it to… North Korea decided to contract the work out. Why not admit to a lost cause? Not only is it impossible to verify (let’s also remember justice is a farce (and unfair first impressions does not help here) and people actually admit to committing crimes they were wrongly accused of (and then they are serving time for a crime they didn’t commit and in fact someone else is free – justice indeed)), it isn’t as if no other country would do similar. That includes the United States of America. So what does this equate to? Instead of trying to figure out what can be learned from the attack, it is playing the game of victim only – a victim of the same thing in the past (and in the past…) and not changing because of it. While I don’t know Sony’s point of view is now what I do know is there was a leaked email from Sony and if I recall, it was the CEO himself. And what was included but the idea that there was nothing they could have done (and the so-called security experts they called in (as if security is only once in a while!) made the claim to Sony!), it was unprecedented and nothing like it has been seen before (if I had a dollar for every time I’ve heard/read/been told/etc. that, I would be filthy rich…). They’re wrong though. This isn’t the first time Sony has been subjected to serious attacks. I doubt it’ll be the last. The last one was not the first, either, as I recall.

The fact is: attacks happen and more attempts happen. Sony is not the only victim. I see a lot of attempts on my (low profile) server. They’re a huge, international company. Of course they’re going to see attacks. Make the best of old news or repeat history (we already know where much of society fits in this selection). It is expected and here is the brutal truth, folks, and this is something Sony (and others) would do well to understand (because the mentality that there was nothing that could be done is actually exactly what I’m going to describe): if you want a sure fire way to get breached, all you need to do is not care about it, tell yourself there is nothing that can be done and just accept the future. In short, do nothing but admit defeat, even before it happened. Ironically, by doing this you’ve actually already lost (yet if you don’t go this route you haven’t lost). Indeed this is a self-fulfilling prophecy: if you so wish to meet this fate, by all means, don’t learn from it. If that makes you feel better then  who is anyone to judge you over it? Certainly I won’t. But I also won’t feel sympathy (for those who won’t change – the fact others are affected is another issue entirely).

As for the United States, I find this rather amusing. I know I’ve explained this before, that I think (because it is the case) the idea of freedom of expression is often taken too far (“kids will be kids – yes, kids will be kids until, that is, they get revenge on bullies, and then how dare them, how dare their parents for not teaching them right from wrong… “). But then since many in the United States are champions of this idea, that freedom of expression (the problem is taking it to the extreme – the problem is not the idea itself: all good comes with bad and all bad comes with good (the two are subtle but it is different: it means even bad people have some good even if it is hard to see for most people)) is ever important, I have to ask: why can’t other countries, other people, also express things that they find important to them (no matter what it is)? I’m not suggesting any one who sees this is not following this, but nevertheless, some do. So to elaborate on the rhetorical question: If someone (or some country, or…) attacks someone, regardless of the legalities, regardless of the ethics, morals, whatever else (that comes to the mind of the ones judging), they are technically expressing themselves. To express something is to convey a thought or feeling through words, gestures or conduct. If they were responsible for the attack, and for the reasons given, then they are by definition expressing themselves! Call it a paradox if you want (but being a paradox does not mean it isn’t valid, remember that) but the reality is the anger they had (and how they display it) is expressing; you might not like how they do it or in what way but they could say the same about you, couldn’t they? It is a healthy thing to believe strongly in something. I feel strongly about some things (but arguably less than I should). But I would like to believe that those who do feel strongly about something do not let it cloud their judgement and that they don’t let it apply to only them (or someone/something they agree with (I already gave an example of this)). Yes, I’m pointing the meaning of expression out because it is true and something that really should be considered. I do look at things from a lot of angles and if you will excuse me, I feel strongly that it is a good thing to do (and yes, I am conveniently expressing myself on the whole issue (see how I did that?)).


The Art of Easter Eggs

This is obviously something that is best classified in the general topic, simply because the software I write about is Unix and its derivatives (primarily Linux). What inspired this is two things in particular:

  • I discovered an easter egg in the editor vim earlier this year (which is to say, late September, early October).
  • Besides fond memories of easter eggs I discovered over the years, I enjoy designing them myself, for programs I write (or at least one that others will see, i.e., a specific MUD).

This is just for fun (which is expected with a topic about easter eggs) and basically a list of easter eggs that are memorable to me, that either I discovered on my own or remember reading about them at some point over the years (I’ll specify which is which). I won’t list any I have implemented any where at all and I never will. These easter eggs, mind you, are all old with perhaps the exception of the vim one (which I suspect has been there for quite some time but it is new to me). Therefore I don’t think this is harmful. If however you enjoy finding them on your own, don’t read this. That is my warning.

  • Colossal Cave Adventure, also known as Advent, is an old text based game, somewhat like a MUD only single player. You interact with objects, open/close doors, you can get lost, you can die, and you gain points, too. While the version I am looking at now (version 4, one I fixed a segfault in, for a friend and therefore have it locally) is not the one I played years ago (it was an earlier version that I played), it is still fun and absolutely has easter eggs. The narrator (I guess you could call it) doesn’t take to swearing kindly. There are many responses to swearing and there are many words it sees as swearing. I’ll leave it to your imagination except for the one I find most amusing (at least, literally it is amusing – it contradicts itself):

    ? screw you

    I trust you know what “you” might be, ’cause I don’t.

    Interestingly, when said friend referred to a crash, and they didn’t know exactly what triggered it (it was for her friend who has a Mac and first it failed to compile to which i fixed that) except that it occurred after a command was typed. What that command in question was, I don’t remember (they didn’t know and in fact it wasn’t a specific command and not only that command – it happened more than once) but I had the idea to play with exactly the above: as I was swearing at the computer, it gave me the information I needed; it was a segfault and I recompiled (with debugging symbols – the source is actually obfuscated and I didn’t think of running it through a beautifier and the programmer in me thought to make it drop a core), removed the limit on core size, caused it to crash (therefore dumping core) and found that there was a dereference on a NULL pointer (which, as I’ve discussed before, is much preferable than a pointer that was never assigned to anything – at all – or otherwise pointing to garbage). Added an if, recompiled and it was all fine.

  • I liked this one a lot although I admit I enjoyed more so figuring out how to defeat the boss (and therefore win the game) more than the easter egg (which I also discovered on my own, if memory serves me correctly). I played the game a lot and I beat it many times. The last area  – Icon of Sin – is one hell – indeed, it is intended – of a toxic dump full of demons and monsters alike… but very well worth playing through (unless you are very easily frustrated). This is one of the few computer games I played – most were console games. The game in question is DOOM 2. The easter egg is the severed head of one of the developers, John Romero’s. If you are curious, check as they have a picture and (for those wondering how it is found) how to find it. What that Wiki page informed me of, something I did not know, is at the beginning of the last area – Icon of Sin – the voice says something that explains – once you decipher it – how to defeat the last boss. I had (have is a much better word) a knack for figuring out how things work and how to solve things (puzzles, games, …) and so I beat it without the hint (there are quite a few things in the area that can make or break your success but I quite enjoy these things).
  • Mortal Kombat series is another game I really enjoyed for a lot of years. These features are more well known, perhaps, but there are hidden characters in the series. One character, named by the reversing the last name of the two developers (or two of, being Ed Boon and John Tobias) is Noob Saibot. He appeared at some points (don’t remember specifics) and says “Toasty”. While checking the Mortal Kombat Wiki, I saw two other names that ring a bell: Smoke and Jade. Looking further it seems that I did indeed go beyond seeing them in the background (definitely this) and in fact fought against them (whether I figured out how to do this on my own or anything else I really cannot remember – I suspect not by myself in full).

More generally, I know there are many others I discovered (or was told about and enjoyed) over the years. I’ll reflect on a theme, one I did not do at all but I remember reading way back when. Then I’ll get to the vim easter egg.

So if you search Google for ‘Bill Gates is the antichrist’. The entry on is much of what it used to be (if not all). It is unfortunate that it isn’t the original, the one I saw so long ago: the original was lost because it was on Geocities and that is long dead. There is an easter egg in one of Microsoft Office (Excel 95 maybe?) that is listed. There’s also some maths with Bill Gates name (think: decimal values being added up) and what it equates to. Funnily enough, among listed is (not so much related to Bill Gates but is is still relevant to the fact I mention the editor vim – though in this case it is vi more so):

Note that the internet is also commony known as the World Wide Web or WWW... One way to write WWW is V/ (VI):

WWW V/ V/ V/ 666
Something to ponder upon, right?

Why is that amusing? Because of the editor wars between vi and emacs. This is one of those wars that is not hell-bent (can’t help it) on flaming but rather wit and humour. Wikipedia has an entry on it but it is claimed vi is the editor of the devil for the above reason (‘vi’, Roman numeral for 6). (There were more examples in that Wikipedia article but that’s the relevant one).

As for the easter egg in Vim I will give an explanation of why and how I discovered it (because I found that more useful than the easter egg), allowing those who are curious, to try it themselves (tip: you can change it as well!). Of all the programs I use, the one I use the most (perhaps better stated is, of all the utilities), is the shell and in my case ‘konsole’ (at my server I don’t have a GUI and so I just use the console itself). I usually have 5-10 tabs (or more) which means 5-10+ shells open at any time. Since I use vim for my editor of choice (I used to use vi but years ago tried vim and I agree with the name: vim is indeed VI iMproved), and since it allows you to open one file and then switch to another file without exiting (you can also open more than one ‘window’, each with another file and this applies equally), the current task in the tab (of konsole) shows the original invocation. This was annoying for many reasons. Looking in to how to fix this, it would be something like putting this in your runtime file (per-user would be ~/.vimrc but you could also use system-wide but I tend to frown upon enforcing changes on all accounts, even if they can disable it):
:auto BufEnter * let &titlestring = hostname() . ":vim " . expand("%p")
:set title titlestring=%<%F%=%l/%L-%P titlelen=70

Now if you open vim with (example): ‘vim file1′ you would note as it is before (in konsole tab): ‘vim file1′ (it might show other information like the hostname or however you configure it but this is up to you, in the profile settings[1]). However, if you were to be in command mode and then use ‘:e file2′ you would now see the tab has been updated to show ‘vim file2′. Now if you quit vim (command mode): ‘:q’ you will see the tab title has changed again. “Thanks for flying vim!” As for how you can change it, I’ll leave that to you but it is noted in the help file (‘:help title’ and read that entry as well as the entries below it, about titles). As an interesting bit, because I wanted to confirm that indeed the two changes are exactly what is needed, I commented out (prepend with a double quote) the first line, saved and (in another shell) started vim. It then shows as the title the name of the file followed by much whitespace then what is usually in the status (bottom of screen by default): current line/line count % where current line is the line where the cursor is, the line count is how many lines total and % is what percentage of the file the cursor is at.

As a final note: Enjoy easter eggs, whether you find them on your own or not: we put them there for our own enjoyment as well as yours! Although I am obviously biased, I think it really shows how programmers are clever and how easily they are amused. It is a good thing, though, it is a good way to release frustrations and some of the time programmers are not really appreciated (or the amount of effort they can put in is not always respected) so these things just show that they too can have fun and when others find it, they hopefully enjoy it as much if not more than the actual program.

101 Years of Xexyl…

… for those who can count in binary, at least; indeed it was five years ago yesterday that I registered I would have never suspected I would have what I have here, today. I would never ever imagined having my own RPM repository and yet that is only one of the accomplishments here (for whatever they are each worth).

I fully admit I live in something of a fantasy world (which is something of a paradox: if I admit it does that make it real? If it is real then what is fantasy and how real is it?) and so it seems appropriate that, given the anniversary of, I reflect upon the history of and some of the views I have shared (the namesake is much older, as I have made aware in the about section. It was many years ago that I played the game Xexyz and it clearly made an impact – perhaps not unlike the space rocket that was launched in to the moon, some years back… – in me. But is only five years old and while I have older domains, this is the first one I really feel is part of me).

I have written quite some off the wall, completely bizarre and (pseudo) random articles, but I try to always have some meaning to them (no matter how small or large and no matter how obvious or not) even if the meanings are somewhat ambiguous, cryptic and vague (as hard as it is to imagine that someone who elaborates as much as I do on any one topic, I do in fact abuse ambiguity and vagueness and much of what I write and indeed say, is cryptic). I do know however that I do not succeed in this attempt. To suggest anything else is to believe in perfection in the sense of no room for improvement.

I strongly believe that there is one kind of perfection that people should strive for, something that many might not think of as ‘perfect': constantly improving yourself, eternally evolving as a person. When you learn something new or accomplish something (no matter how small or large), rather than think you are finished (something that one definition of ‘perfect’ suggests) you should think of it as a percentage: every time you reach ‘perfection’ – as 100% – you should strive for 200% of the last mile (200% of 1 is 2, 200% of 2 is 4, 200% of 4 is 8, etc.). This is, interestingly enough, exactly like binary: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 and so on (each increment is a two times the previous value). In between the powers of 2 you make use of the other bits. For example, 1b + 1b (1 + 1 decimal) is 10b (2 decimal). 10b + 1b (2 + 1 decimal) is 11b (3 decimal). 11b + 1b (3 + 1 decimal) is 100b (4 decimal). This repeats in powers of 2 because binary is base 2. I’ve written about this before but this is what I will call – from this point onward – ‘binary perfection’. It is also the only ideal perfection exactly because it is constantly evolving. This may very well be an eccentric way to look at it but I am incredibly eccentric person. Still, this is the ‘perfect analogy’ and I daresay is a brilliant and accurate analogy.

As always, true to my word, I will continue this when I can. Because as long as I admit my mistakes I am not in denial; as long as I am not in denial, I can learn more, improve myself and those around me. While I do it for myself (this is one of the rare things I consider myself and myself alone), if it betters anyone else, then I will consider it a positive side effect. But indeed there are times where I am inactive for long periods of time and there are other times where I have a couple or more posts in a month (or a fortnight or whatever it is). This is because of what I have pointed out: I do this for me but I also believe in openness with respect to sharing knowledge and experience. This includes but is not limited to programming (and by programming I refer to experience, concepts as well as published works, whether my work alone or my contributions to others’ works). But I am not an open person and I never have been. Perhaps this is best: I am a rather dark, twisted individual, an individual possessed by many demons. These demons are insidious monsters of fire that lash out at me (and at times my surroundings) but they are MY demons and I’ll be damned if anyone tries to take them away from me.

I am Xexyl and this is my manifesto of and for eternal madness…

2014 ID10T World Champion

There are two things I want to point out. The first one is noting that my mistake is not as bad as it initially seems because prior to systemd, this would not have been a problem at all. Second, I am remarking on why I admit to these types of things:

First, and perhaps the most frustrating for me (but what is done is done and I cannot change it but only accept it and move on) is that previously, before /bin, /sbin, /lib and /lib64 were made symbolic links to /usr/bin, /usr/sbin, /usr/lib and /usr/lib64, I would have been fine. Indeed, I can see that is where my mind was, besides the other part I discussed (about how files can be deleted yet still used as long as a reference is available; it is only once all references to the file are closed that the file is no longer usable). Where was mount, umount before this? And did it use /usr/lib64 or was it /lib64 ? The annoying thing is: it was under /bin and /lib64 which means that it used to be – but is not in systemd – on the root volume. So umount on /usr would have meant /usr would be gone but however /bin would still be there. So I would have still had access to /bin/mount. Alas, that is one of the things I didn’t like about some changes over the years, and it hit me hard. Eventually I will laugh at it entirely but for now I can only laugh in some ways (it IS funny but I’m more annoyed at myself currently). As I get to in my second point, I’m not renaming this post (dignity remains strong) even though it is not as bad as I made it sound, initially. While I would argue it was a rather stupid mistake, I don’t know if champion is still correct. Maybe better is last place in the final round, is more correct. Maybe not even that. Regardless, the title (for once the pun is not intended) is remaining the same.

Second, some might wonder why I admit to such a thing as below (as well as other things like when I messed up Apache logs… or other things I’m sure I have written about, before… and will in the future…) when is more about computers in general, primarily focusing on programming, Linux (typically Red Hat based distributions) and security. The reason I include things like the below is that I know that my greatest strength is that I’m willing to accept mistakes that I make; I don’t ever place the blame on someone or something else if I am responsible. Equally I address my mistakes in the best way possible. Now ask yourself this: If I don’t accept my mistakes, can I possibly take care of the problem? If I did not make a mistake – which is what being in denial really is – then there isn’t a problem at all. So how can I fix a problem that isn’t a problem? No one is perfect, and my typical joke aside (I consider myself, much of the time, to be no one, and “no one is perfect”), it is my thinking that if I can publicly admit to mistakes then it shows just how serious I am when I suggest to others (for example, here) that the only mistake is not accepting your own mistakes. So to that end, I made a mistake. Life goes on…

There are various web pages out there about computer user errors. A fun one that I’m aware of is top 10 worst mistakes at the command line. While I certainly cannot make claim to some of the obvious ones known, I am by no means perfect. Indeed, I have made many mistakes over the years and I wouldn’t have it any other way: the only mistake would be to not accept the mistake(s) and therefore not learn from them (although the mistake I’ll reveal here is one that is hard to learn from in some ways, as I explain: fatigue is something that is very hard to determine and by extension being tired means you don’t even know you are as tired as you are). Since I often call myself a no-one or nobody (exactly what Nemo in Captain Nemo in 20,000 Leagues Under the Sea means, in Latin), I have a great deal of amusement from the idea of “no one is perfect” exactly because of what I consider myself. But humour aside I am not perfect at all. While I have remarked on this before, I think the gem of them all is this:

There is no such thing as human weakness, there is only
strength and… those blinded by… the fallacy of perfection.
— Xexyl

If you can accept that truth then you can always learn, always expand yourself, always improve yourself and potentially those around you. This is hard for some to accept but those who do accept it know exactly what I mean. I assure everyone, you are not perfect!

So with that out of the way, let me get to the point of this post. I admit that mistakes of the past fail to come to my mind although I know I’ve made many and some more idiotic than others. However, around 6:00 today I made what is absolutely my worst mistake ever, and one that gives me the honour and privilege to be the holder of the title:  2014 IDI0T World Champion.

What is it? Prepare yourselves and challenge yourself as well. A while back I renamed the LVM volume group on my server. Something however, occurred to me, being that – obviously – some file systems are not able to be umounted in order to be mounted to the new volume group. That doesn’t mean that files at the current mount point cannot be accessed. What it does mean, however, is that if I update the kernel I will have in the bootloader a reference to the old volume group. This means I will have to update the entry the next time I reboot. I did keep this in mind and I almost went this route until this morning when I got the wise (which is to say really, really stupid) idea of running:

# init S

in order to get to single user mode, thereby making most filesystems easier to umount. Of course, I had already fixed /home, /opt and a few others that don’t have to be open. I was not thinking in full here, however, and it went from this to much worse. After logging in as root (again, obviously) to “fix” things, I went to tackle /usr which is where all hell broke loose…

It used to be that you would have /bin and /sbin on a different file system (or if nothing else, not be the same as) than /usr/bin and /usr/sbin. However, in more modern systems, you have the following:

$ ls -l /{,s}bin
lrwxrwxrwx. 1 root root 7 Dec 18  2013 /bin -> usr/bin
lrwxrwxrwx. 1 root root 8 Dec 18  2013 /sbin -> usr/sbin

which means that anything that used to be under /bin would now be /usr/bin. In addition, you also had /lib and (for 64-bit builds) /lib64. However, similar to the above, you also have:

$ ls -l /lib{,64}
lrwxrwxrwx. 1 root root 7 Dec 18  2013 /lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Dec 18  2013 /lib64 -> usr/lib64

which means you absolutely need /usr to be mounted! Even if I had (a recent upgrade to latest release of server combined with me not installing busybox again for statically linked commands) busybox (or similar) installed, I would have been screwed over by the simple fact that once /usr is umounted and therefore I have no way to run mount again! Most disturbing is that I knew what I was about to do was risky, and risky because I was going to use an option that had potential for risk without the worry as I just described. However, as soon as I ran the command but before I confirmed it, I knew I would be forced to do a hard reboot. The command is as such:

# /usr/bin/umount -l /usr

Indeed, I just made it impossible to mount, change run level, do much of anything other than reboot (and not by command! That was already made impossible by my idiocy!). And so I did. Of course, I still had to update the boot entry. While that is the least of my worries (was no problem), it is ironic indeed because I would have had to do that regardless of when I rebooted next. So all things considered, for the time being, I am, I fear, the 2014 World Holder of the ID 10 T award. Indeed, I’m calling myself an idiot. I would argue that idiot is putting it way too nicely.

As for the -l option, given the description in umount(1), the hour it was and the sleep I did (not) get last night, I was thinking along the lines of (and this is why I didn’t think beyond it, stupid as that is!) as long as you have a reference to a file, even if it is deleted, you still can use it and even have the chance to restore it (or execute it or… keep it running). Once all file references are gone, if it is deleted, then it is gone. So when I read:

-l, –lazy
Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)

I only thought of the latter part and not the detach NOW portion. In addition, I wasn’t thinking of the commands themselves. Clearly if programs are under /usr then I might need /usr to … run mount! This is a perfect example, I might add, of how dangerous being tired is: you might think you have the clarity to work on something but the reality is if you don’t have that clarity then you don’t have the clarity to determine whether or not you have ability to judge any of it in the first place. This implies I likely won’t get much done today but at least I did do one thing: I fixed the logical volume rename issue. That is something even if it obliterated my (good) system uptime and at the same time revealing how bad MY uptime was (I should not have been at the server let alone up at all!).