Aboutdev, physicist, rantee
Joined devRant on 6/12/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
1. When we struggled for month with using OpenSSL, fixing our server, then bit of Sqlite3 fuck ups. Was it even right to use those libs, not write shit ourselves, if it is such a hassle to use them, or is it only us being too stupid to read the docs? Project seemed 'finished' for over a year. Really wore us out to get it out there.
2 Our board constantly announcing the success and striving of our pentester department. Makes me feel I am at the wrong place. No dynamics, growth, just too much stupid work to plow through.
3 Starting a bit with CTF's. Realizing I am hardly at the entrance of the rabbit hole. (And also is it even the right thing going down there? My Luddite tendencies also shining through...) Not mastering all this tools.
Let's face it: I am and will always be a tinkerer. Yes, I know my ways around, I can sneak into legacy code bases easily and throw new stuff in there, I've seen software stacks. But scarcely sound design, really modular. Even from the cleverer, experienced ones. They can master more complexity, so they can handle more spaghetti. Some essay from the 80's had this grand idea to organically 'grow' software. That's how it looks like most of the times: cancerous, parasitic super fungi (armillaria). Yeah, we all know have to fight bit-rot and entropy, but it was all lost before already. We'll never get rid of legacy protocols, legacy code.
And even when we go green field, start a fresh. Yeah, take a great design, make everything new, after some months of throwing features and outer constraints at the thing, it's the same old mud again.
But we can still dream on: some day I will design great APIs, I will have great test coverage, documentation, UML design, autometed tests, fuzzing, memchecking, I'll work professionally, clean coder style.
Pfft forget it. Maybe change for consulting, because we'll continue to dream of the 'clean' code, so you can sell the next 'recipe', development method. It's like diets. As effective. For the one selling.2
Why avoid? Maybe it's part of the experience. Lets you appreciate a good company even more.
(That said my first employer was a bit.. twisted. Small, workaholic family, hands on. Lots of pressure. Probably drove some into depression or burn out. Learnt a ton though, and maybe made me a bit more thick-skinned)
While ill started with some hack the box challenges. Really addictive stuff. For one opened binary in IDA and changed one assembly instruction to obtain the flag. Felt like a hacker. - lasted only till next challengr3
How can Lenovo produce such a shitfest as this ideapad laptop. I lack the swear words to describe in how many ways it sucks. Looks nice from the outside, light. But even after deinstalling all Lenovo crap ware and McAffee, reinstalling Windows it was still so slow that I wished I still had my Win 3.11 on that 66 MHz (+33MHz Turbo Button)! All this waiting if you start an application or open a browser tab - it let's you hate computers, want to punch that piece of Pferdeäpfelsmoothie.1
So we had a guy who spend decade in automotive, flight simulation and stuff. C mostly. Lasted only a month of his probation period. Didn't seem to know about double pointers. Maybe coding standards in automotive even discourage them...
But made me wonder how to judge skills. - I tend do be on the cautious side, as I hadn't really understood inheritance and many basic things when I started. But luckily my first boss believed in me, saw me gnawing through (Well about my 'initiation' that'd be others stories to tell). Well, guy was hired as a 'senior', so they expected bit more. Dunno, still feel a bit strange about it, even if I ranted about his chattering before, coz he also had his heart in the right spot, but maybe it's for the best anyway...
But guess who's taking his place in our team! Drumroll.. Yes, Mr gitmaster is.
THIS is powering the internet:
"[...] was a protocol number, similar to the third argument to socket today. Specifying this structure was the only way to specify the protocol family. Therefore, in this early system the PF_ values were used as structure tags to specify the protocol family in the sockproto structure, and the AF values were used as structure tags to specify the address family in the socket address structures. The sockproto structure is still in 44BSD (pp. 626-627 of TCPv2) but is only used internally by the kernel. The original definition had the comment "protocol family" for the sp_family member, but this has been changed to "address family" in the 4.4BSD source code. To confuse this difference between the AF_ and PF_ constants even more, the Berkeley kernel data structure that contains the value that is compared to the first argument to socket (the dom family member of the domain structure, p. 187 of TCPv2) has the comment that it contains an AF_ value. But some of the domain structures within the kernel are initialized to the corresponding AF value (p. 192 of TCPv2) while others are initialized to the PF value." Richard Stevens 'Unix network programming'
There are some who view software as a social construct (like Pieter Hientjes), and I think it's a valuable perspective. So if we know about the intrinsic brokenness of software, can we deduce sth about the brokenness of human interactions? Did social API's evolve to similar clusterfucks of dead entropy we have to shovel in our brains to get along?
I think the answer is an emphatic yes. And you know what's even making it worse? Software. Y'know there are all these whining about the millenials, and I too have had my experiences with stuff of that category. Like back when we searched a new roommate for our flat, we needed three rounds because people who had said yes suddenly reconsidered. Similarly now when we tried to sell our couch: people tried to push the price. Said they were interested, never showed up at the appointed time. It's like they have been spoiled by Amazon: expecting to buy with one click, for the cheapest price and send back if they don't like. And that is not a generation thing. Those old blokes ranting on the young are just as bad. They are just as lost in antisocial media as anybody else. It's a general erosion of not sticking to civility and courtesy, to the yes or no once said, coz everything is now as flexible and fluid as the digital projections of ourselves transmitted round the globe, changing in realtime.
I fucking hate it. - I'm out like this stupid Tom Cruise character in Oblivion.7
Not a webdev so I don't care about how a website looks, but logical failures can really trigger me at times.
E.g. this German federal page you had a bunch of options to fill in your employment status. Though being incomplete it forced you to choose one from the list and then at the end you have to checkmark that you filled in everything correctly reminding you there might be legal consequences otherwise. Thanks.
Amusingly on the same page their enum to string converter seemed broken or they just didn't care. So options to choose from read like: Enum_marital_status_unwed_coupled
Fucked up the screen shot so I can't show, but made me chuckle.2
Printer shit continued: So we got this great Lenovo Ideapad with a Windows, so why not print from there? Installed driver from webpage and really printed nicely.
Then I removed ton of Lenovo's crapware + McAfee (leftovers luckily were cleaned by McAfee's tool), so that this shitty device could be used reasonably - device would deserve rants on its own. AND boom, Windows USB printer driver seems broken beyond repair. Printer not even recognized. Shouldn't it all be plug'n'play?5
Worst of an job in IT? Coming home and having to fix computer still.
I fucking hate it. I fucking hate computers. There might be great stuff like nifty algorithms, grand theoretical theorems about formal languages, Lisps,... BUT that's so far away from the mundane atrocities we have to put up with when it comes to sth like installing a printer.
Newest release of driver won't install a plugin without helpful error. Older release works.. for printing some pages... Then some component (cups-filter) keeps on segfaulting.9
Fuck it. Two big releases plus all the minor shit raining down on our team with only three active devs. A new team member who's unfortunately more of a burden and nuisance while the whole ship burns so beautifully....
And stupid me? I fucking break my arm, is in a cast now for four weeks. So I can mostly watch, while everything sinks.4
Entropy wins. More useless accumulated historical nonsense in each programming language. Complex software stacks impossible to reach the bottom. However C and C++ still there possibly even some Cobol and Fortran zombies. And we devs still writing our ifs and loops for that kind of legacy stuff.
Long time nothing from Mr. Gitmaster, somehow made my peace with him as the project moved out of my focus and he actually seemed to be contributing.
But now some pull request exchanges burst into flames as if they were on LKLM before Linus got castrated. Actually it's with the guy who is jamming out most of the front end code trying to make a really shiny UI with lots of animations that turn our macs into heaters.
Well, debate was over JS code styles or lack thereof and how commented out code should be removed (would actually support Mr gitmaster here). They have me a bit lost there, as I expect the freestyle JS code we produce without any agreed Coding Style Guideline to be an even greater clusterfuck than our C++ code base.
Anyway, hope they come to terms again, like at the start of the project when they jokingly attributed one another as assholes. Their opposing characters could actually benefit from each other.
Fucking linker options on Ubuntu. Somehow it seems to have --as-needed turned on by default. This leads to stripping libraries we had referenced in our target_link_libraries. Then our application won't start because of the unresolved libraries it cannot find in the Rpath, although they would be there. Thank you clever fox.
Now we have to add another stupid linker flag, just to run again.
Write a novel about code and digitalization - not so much dev'ish.
Rral dev thing: finish reading SICP and really plunge in one of the functional languages2
So it's not just through reading your own code later that you can realize how stupid you are. All the great card house of the belief in your own superiority collapsing instantly.
Currently intense time with my son. Can be hard being around one another 24h non-stop... And then realizing that a lot of the stubbornness and quirks of his that drive me crazy: is actually me! (Be it that it's in my character as well or he was reacting to a stupidness of mine)2
Facing some down - simultaneously somehow as dev and privately.
The dev part partly triggered by another burning project. Our team deep in shit up to the chin... And this unanswerable question: who is to blame? Everyone is working up their arses, but the result is still some sparkling firework ship wreck, that only held together for the demo to the board. It's not that we are stupid or lazy, yet we push some unmaintainable spaghetti, because this shit just gotta work.
Dunno, somehow this object orientation / pattern ideologies were also kind of depressing to me: partly because they smell like attempt to enlighten the inept by stupid receipts - and of course then deep down there's this nagging question if I'm not one of this inept not knowing the newest fashion template from the catalogue..
Then this Clean Code - Craftsmanship shit is bugging me similarly. Liked Robert C. Martin's book, but now I picked up some "Clean C++" and.. I kinda feel dumbed down if they try to sell the KISS principle to a 36 year-old physicist/engineer. Good for them that all our legacy shit und own fuck ups nourish this whole industry of well-meaning advisers. Argh, just fuck it, you priests, sell your obvious calendar mottos elsewhere, they are are just as useful as telling a griever that "rain follows sunshine". - As if they would not some time use the raw pointer that their coworker gave 'em, to ship shit tomorrow?
Third (or fourth) AI winter coming in despite global warming. Cold war level shit cyber warfare.
C/C++ not dead, Java zombie still in the businesses.
Still no usable IDE (on Linux)5
The Return of Mr. Gitmaster:
So there is this colleague I already ranted about several times. After my previous team lead had confronted him about not doing much work, there was some irritation because he showed not up at work, but it turned out the external training he did was just a week earlier. Then he was ill a week, another week vacation so we didn't see him much. Not that his pre- or absence makes much difference to our repo: When his and my team lead looked at his commits of the past three months they found like the one copy-pasted HTML-form that wouldn't even show.
Fast forward to now, where we have a new team lead and we were going to lunch with Mr. gitmaster. So we got some more hero stories from the great work he was doing in the previous company. How he was graphically monitoring the heap fragmentation that stupid glibc was causing to their search engine, and how much better it became with tcmalloc.
I still don't understand how he bridges that cognitive dissonance from all the superior tech knowledge he displays to not actually writing any code at all. Not that I would not have experienced some states of feeling low, in paralysis unable to write a single line of code... but he seems so full of confidence, always commenting how trivial and easy all these tasks would be, as if it's all so lightyears below his abilities. Maybe he should just become a manager - but not mine.
How can people stand this bitten apple? With this mojave update I now feel in the most unfriendly desert for developers.
Not only did your update render all my VM's unusable, but the new AppStore seems a joke. This new icon there if a piece is downloading or installing or whatever. I cannot tell what it should tell me. That an alien took a crap on my display? There's no percentage, nothing indicating what's actually happening. Is this your understanding of user experience through obscurity? - shunning the user from any useful information, hiding everything behind some nice looking vapourware?9
What we will miss, if he really softens:
In fact, if the reason is stated as "it makes debugging easier", then I fart in your general
direction and call your mother a hamster.
In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people.
Of course, I'd also suggest that whoever was the genius who thought it was a good idea to read things ONE F*CKING BYTE AT A TIME with system calls for each byte should be retroactively aborted. Who the f*ck does idiotic things like that? How did they not die as babies, considering
that they were likely too stupid to find a tit to suck on?
Gnome seems to be developed by interface nazis, where consistently the excuse for not doing something is not "it's too complicated to do", but "it would confuse users".
I think the stupidity of your post just snuffed out everything
I think the OpenBSD crowd is a bunch of masturbating monkeys, in that they make such a big deal about concentrating on security to the
point where they pretty much admit that nothing else matters to them.
That is either genius, or a seriously diseased mind. - I can't quite tell which.
Christ, people. Learn C, instead of just stringing random characters together until it compiles (with warnings).
"and anybody who thinks that the above is
(b) efficient (even with the magical compiler support)
(c) particularly safe
is just incompetent and out to lunch.
The above code is sh*t, and it generates shit code. It looks bad, and
there's no reason for it."
Do you all sometimes have this strange feeling, that.. actually humanity would not lose anything, if we killed all that useless tech we earn our money with?
Yeah, we get all that propaganda how technical prowess is empowering and sure we all know it's a nice feeling if you can apply the right clicks and bit flips to make the machine do as you want so you feel like the apprentice's sorcerer.
BUT even if you believe your user story adds some business value to some abstract package - what do these devices mostly do? Distract, diffuse your focus, envy other eye-porn provider, endless aberration of clips.
Fuck social media!
(Yes, I know I am on one, but this is because I haven't given up hope on this one.)6