Being a highly qualified researcher, I spent a lot of time advancing science. But I was born in the South and sincerely convinced that progress is an invention, and that we need to prepare for the Day of Judgment, for the harvest of what we sowed and for the appearance of fast zombies, slow zombies, and even polite zombies who turn to you "sir "Or" Madame ", but in the end try to eat your brain in order to get your skills. When the revolution comes, you have to be ready; therefore, in moments of peace and quiet, when I do not make another breakthrough in science, I reflect on what I will do when the weather forecast changes to "BLOOD RIVERS A WHOLE DAY BEFORE THE TIME HAS DONE".
I mainly think about those who will cover my back, because the chances of survival in the post-apocalyptic world are directly dependent on the size and quality of the rabble that you will call your team. Obviously, I will need: a locksmith (to open the doors), an expert demolition man (if the locksmith already runs out of ideas) and of course the guy who catches, trains and then throws the serpent at my enemies (because in the world of the dead hope a serpent throw - this is a reasonable way to resolve disputes). In this dystopia they will help me to become a militant philosopher.
But! But ... The most important member of my gang will be a system programmer, because in an incredible scale gobbs nightmare who can debug a device driver or a distributed system you can trust a person; The system programmer has seen the horrors of the universe and understands the hopelessness of being. A system programmer wrote drivers for devices whose firmware was created either by a drunken child or by a sober crucian. The system programmer caught the problem with the network through eight cars, three time zones and a friendly visit to Omsk, from where she was redirected to the left front hoof of the horse that had saved Troy from overpopulation.
1 The system programmer read the kernel source for a better understanding of the processes of the universe and saw the comment “AND LOL IT WORKS” in the scheduler code, and he did not laugh, but he cried; and he sent a kernel patch to restore the balance of power and eliminate priority inversion, which caused MySQL to hang. The system programmer knows what to do when society falls, because he already lives in a world where lawlessness reigns.
However, I do not say that the rest of IT specialists are useless. I truly believe (although I can’t prove it) that PHP developers have a soul. I believe that optimizing SELECT-FROM-WHERE people do useful work, although the only thing that cannot be expressed by this is obscene chastushki.
2 I don’t understand why, but I’m glad that theorists are researching the equivalence of the five-dimensional Turing machine and Edward Hand-Scissors. And in most cases, GUI designers should not rush at each other with a fork when I shout: “NO MODAL WINDOWS! THIS IS SPARTA! ”I am the Statue of Liberty: I recognize everyone, whether they are pathetic, ugly or lovers of Haskell. But when the situation is heated to the limit, I want to have on hand people "target",
3 who, wearing night vision goggles, will descend from a helicopter and conduct a secret operation to protect my freedom with country music. A system programmer is capable of such things, and I quite seriously can call this person "Rattlesnake" or "Hammer of Zeus". But I haven’t heard from anyone else: “These translucent icons are really translucent! DOESN'T THRESH HALL IT WORK? ”
')
In general, the last example I cited from the bald. Believe me, I respect the human-computer interaction specialists. But when ChKVshniki debug their code, it’s like a painting exhibition or a UN summit with tea breaks and jokes in French, and not functional scarves, although not necessary, are encouraged. When the code of the ChKVshnik does not work, the problem is solved by building grandiose theories linking Form and Perception with your deep feelings for ovals. And there will be a stormy debate about the social and economic consequences of Helvetica Light, and at some point you will have to decide whether the serif fonts are a daring application for modernity or secretly support feudalism and ignorance as a tool of hegemonic oppression. Is it more elegant to “circle-and-gently-tap” rather than “squeeze-and-drag”? These immediate problems will not be solved by themselves. But after a long debugging of the PCI-code, there is still hope in the heart and there is no place for anger; even if you are worried about making a radio button instead of a drop-down list, the list will live to the end of the day. And the next day there will be a new sunrise, delightfully bright, and it will inspire you to connect the scroll bars and click the left mouse button in a sad dance that you will perpetuate in the sonnet, returning to shopping from the bazaar.
In the world of system programmers, everything is different. When you debug a distributed system or kernel, you do it like a cowboy. You put together a team of callous, impenetrable men who saw the death, give them a few primitive things like a compass, a backpack and a stick sharpened at one end and go into the wilderness with the firm intention to run into trouble, while chewing tobacco. You are a system hacker, and you must be ready to kill a runaway flow with your bare hands, write directly to network ports using telnet and a mossy copy of the RFC you picked up at the Vatican, and perform other savage actions that are not spoken about out loud. When you debug a system code, there is no dispute about tasty fonts and the best shape for a square, because it is the Old Testament, a colorless and cruel world, and it’s not important at all whether your Arial is narrow or bold when there is hell, plague and everything in the country back on the king. ChKVshniki find bugs after receiving a letter from a psychotherapist. System analysts find bugs, waking up in a cold sweat and discovering that their first child has disappeared, and “ETIMEDOUT” is written in blood on the wall.
What is despair? Heed me, for I know him. Despair is when you debug a kernel driver and look at a memory dump, and from there a pointer looks at you with a value of 7. YES NO ONE ARCHITECTURE IS NOT LEVELED TO 7. Moreover, 7 IS TOO TOO, AND ONLY AN ATTEMPT ATTEMPTES TO ACCESS ADDRESSES Incorrectly addressed memory with small pointer values ​​has destroyed decades of my life. Worse than this, only correctly addressed memory with an impossibly huge buffer length. Oh, yes, when on a Friday evening you make a “one maaahonny post-final” passage through the logs and find a correctly addressed memory with a buffer length equal to the QUANTITY OF ELECTRONS IN THE UNIVERSE. This leaves scars on the heart, because the perniciousness of reading 2 ^ 893 bytes is the only thing that the Communists and United Russia agree on.
4 Something like “medical insurance is probably good, and possibly bad, but trying to take all the information from the universe hrenallion once and put it in the hrenallion-dimensional array - excuse me ...”
Non-system analysts do not understand this war for pieces of happiness in the world of systems. After all, when the machine learning algorithm takes the cat for an elephant,
it is really funny . You can print a picture of a cat in an elephant costume, add a funny signature - and this will amuse a couple of individuals who are not too burdened with intelligence. And then you can distribute copies at work, rejoicing that everything, in general, is in order. You can’t print anything funny if the memory is incorrectly addressed, because your computer is dead and there are no printers in the realm of the dead. The buffer of an impossible size is even worse: it sits behind the curtains, not gleaming, and quietly stuffs the state with evil. If reading a bad address burns your house once and for all, then exorbitant buffers climb up to you through the window, pour sand into the bed and toothpaste and watch how you gradually realize that insanity has taken hold of your life. Indeed, the truth is that the usual case of catching an unlimited buffer is when your program is running, and then suddenly it tries to display the string “Hello, World”, but the output is “#a [5]: 3!” Or any other syntactically correct Perl script, and you are such “WHAT MOM'S LYSHE”, and then it comes to you that your references to memory are like Hulk, who heard a request to write an essay on the topic “Why destroy badly”.
And then you ask: “Why would someone write in a grotesque language that supports direct work with memory? Why not use modern language with a garbage collector, functional gadgets and free massage after lunch? ”I will answer you: the pointers are real. Iron only understands them, and someone will have to deal with them. You can not hoist the Talmud by LISP on the x86-processor and hope that the machine will assimilate the lambda calculus through osmosis. By denying signposts, you become like the ancient Greeks, who denied the existence of the Kraken and then were surprised that their ships did not reach Morocco, Shirocco, or whatever that unfortunate country was then called. Pointers are like Krakens: they are real, they exist, and someone needs to work with them so that others can sleep in peace. But don’t get it wrong: I don’t want to write system software in a language like C ++, because the “plus” source is similar to the Necronomicon — dangerous, incomprehensible, full of forbidden knowledge and magic formulas. And when at three o'clock in the morning, after half a day of debugging, you encounter a static protected wired pointer to a virtual friendly template function, you want to hibernate, and then wake up in the body of a werewolf, find the creators of the C ++ standard and tear apart everything that is dear to them. And C ++ STL with its dyslexic, syntactic hurricane of angle brackets and semicolons guarantees the transformation of the first seven attempts to create any less-meaningful data structure into an avalanche of compiler errors of a truly Wagner scale:
Syntax error: unmatched thing from std :: nonstd :: __ map <_Cyrillic, _ $$$ dollars> const basic_string <epic_mystery, mongoose_traits <char>, __default_alloc_ <casual_fridays == "" maybe = "" >>
Once I tried to create a list <map <int >> and my syntax errors raised the dead from the graves. This behavior can not be called right. Therefore, I use both hands for high-level languages, where the pointers are hidden, the typification is strict, and the declaration of the data structure does not turn into the solving of syntactic puzzles invented by a malicious alien. So if you suddenly find yourself drinking martinis in the process of writing code on object-oriented Esperanto with the garbage collector, do not forget that your Esperanto works only because system programmers exchanged the hope of losing their virginity to think about hexadecimal numbers and their relationship with operating system, iron and ancient bloody rituals that Bjorn Straustrup conducted on the territory of Stonehenge.
But the worst thing in a system programmer's life is when non-system analysts think that they are aware of the depth of the tragedies of which it consists. A few weeks ago, I debugged a network file system created by my research team. The bug hid in the kernel component, and my car was dying in the most impossible ways. After several days of constant server reboots, I was left barely dragging a bearded red-eyed something, like the IT version of Saddam, who had just been dragged from a bunker carrying florid nonsense about half-fictional enemies. And so, walking along the corridors, scolding
5 my code, I came across a colleague from the PCI department, who immediately inquired about my affairs. Explaining to him a bug that affected competing streams, a damaged state and asynchronous sending of messages through several machines, in response I heard: “Yes, it doesn’t sound very good. And did you check the error logs? ”“ Well, I would have done so, ”I said,“ if I had not broken down
every component of the system necessary for logging. I have a network file system and I have broken the network, the file system, and my computers are dying from my first glance. I HAVE NO TOOLS, BECAUSE I HAVE BROUGHTED MY OWN TOOLS WITH MY OWN TOOLS. The only way to secure at least something is to hire monks and shorthand their subjective experience of contemplating dying machines, at the same time smearing bloody tears on their cheeks. ” In a sincere rush of sympathy, my colleague laid out one of his debugging stories - an addition operation, which was accidentally replaced by a multiplication operation. After listening to it, I said: “Multiplication is not addition, this is a no-brainer. But at least they are similar! Multiplication is like addition, only additions are slightly larger. Simply put, multiplication is an adult pterodactyl, and addition is a pterodactyl baby. In your case, the code was a little naughty, but the idea was correct. In my case, it is impossible to come up with an analogy for preschoolers about what my code should do and what it actually does. I just wanted to turn the reading of the file into a network operation, but instead my machines caught consumption and wrestling. Catch the difference? You invited the girl to dance, and then you learned that her father is a cop. And I invited the girl to dance, and then I learned that her father was HITLER. ”
6In fact, I'm not saying that everyone should be system hackers. GUI needed, spell checker too. I am glad that people are developing new types of jumping icons, because they believe that humanity has parted with cancer, poverty and now lives in a serene world surrounded by three-dimensional sprites. This is amazing. I hope to join these people in six hundred years. But I live in the world of the present, and in my area
people are dying on the streets . French is also good, but no one will invent it, at the same time fighting off bears. Are you laughing? SYSTEM HACKERS SOLVE THE PROBLEM WITH BEARS. Only thanks to the vigilance of my people are you free to think about croissants and make jokes about the real Father Louis XIV.
So if you suddenly meet me, milling around the corridors and trying to explain to the stunned monks, the synchronization bugs, be sure: every day, day after day, it becomes a little better. For you. Not for me. I will always be angry at number 7. But this is the way of the Jedi ...
- Amish country ... mule named Deliverance
- inappropriate limericks from “The Canterbury Tales”
- mission-critical
- both Republicans and Democrats agree is wrong
- muttering Nixonian rants
- STALIN
Translated
h3xe and ibadinov.