Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "justified"
-
Pleb: "What's your job?"
Me: "I'm a programmer."
Pleb: "Great, because I have a problem with my pri..."
Me: "STOP! Last person who thought I was a printer support serf got strangled with the printer cable."
Pleb: "But it's a wireless printer."
Me: "Right, where's the power cord?"5 -
This code review gave me eye cancer.
So, first of all, let me apologize to anyone impacted by eye cancer, if that really is a thing... because that sounds absolutely horrible. But, believe me, this code was absolutely horrible, too.
I was asked to code review another team's script. I don't like reviewing code from other teams, as I'm pretty "intense" and a nit-picker -- my own team knows and expects this, but I tend to really piss off other people who don't expect my level of input on "what I really think" about their code...
So, I get this script to review. It's over 200 lines of bash (so right away, it's fair game for a boilerplate "this should be re-written in python" or similar reply)... but I dive in to see what they sent.
My eyes.
My eyes.
MY EYES.
So, I certainly cannot violate IP rules and post any of the actual code here (be thankful - be very thankful), but let me just say, I think it may be the worst code I've ever seen. And I've been coding and code-reviewing for upwards of 30 years now. And I've seen a LOT of bad code...
I imagine the author of this script was a rebellious teenager who found the google shell scripting style guide and screamed "YOU'RE NOT MY REAL DAD!" at it and then set out to flagrantly violate every single rule and suggestion in the most dramatic ways possible.
Then they found every other style guide they could, and violated all THOSE rules, too. Just because they were there.
Within the same script... within the SAME CODE BLOCK... 2-space indentation... 4-space indentation... 8-space indentation... TAB indentation... and (just to be complete) NO indentation (entire blocks of code within another function of conditional block, all left-justified, no indentation at all).
lowercase variable/function names, UPPERCASE names, underscore_separated_names, CamelCase names, and every permutation of those as well.
Comments? Not a single one to be found, aside from a 4-line stanza at the top, containing a brief description of that the script did and (to their shame), the name of the author. There were, however, ENTIRE BLOCKS of code commented out.
[ In the examples below, I've replaced indentation spacing with '-', as I couldn't get devrant to format the indentation in a way to suitably share my pain otherwise... ]
Within just a few lines of one another, functions defined as...
function somefunction {
----stuff
}
Another_Function() {
------------stuff
}
There were conditionals blocks in various forms, indentation be damned...
if [ ... ]; then
--stuff
fi
if [ ... ]
--then
----some_stuff
fi
if [ ... ]
then
----something
something_else
--another_thing
fi
And brilliantly un-reachable code blocks, like:
if [ -z "$SOME_VAR" ]; then
--SOME_VAR="blah"
fi
if [ -z "$SOME_VAR" ]
----then
----SOME_VAR="foo"
fi
if [ -z "$SOME_VAR" ]
--then
--echo "SOME_VAR must be set"
fi
Do you remember the classic "demo" programs people used to distribute (like back in the 90s) -- where the program had no real purpose other than to demonstrate various graphics, just for the sake of demonstrating graphics techniques? Or some of those really bad photo slideshows, were the person making the slideshow used EVERY transition possible (slide, wipe, cross-fade, shapes, spins, on and on)? All just for the sake of "showing off" what they could do with the software? I honestly felt like I was looking at some kind of perverse shell-script demo, where the author was trying to use every possible style or obscure syntax possible, just to do it.
But this was PRODUCTION CODE.
There was absolutely no consistency, even within 1-2 adjacent lines. There is no way to maintain this. It's nearly impossible even understand what it's trying to do. It was just pure insanity. Lines and lines of insanity.
I picture the author of this code as some sort of hybrid hipster-artist-goth-mental-patient, chain-smoking clove cigarettes in their office, flinging their own poo at their monitor, frothing at the mouth and screaming "I CODE MY TRUTH! THIS CODE IS MY ART! IT WILL NOT CONFORM TO YOUR WORLDLY STANDARDS!"
I gave up after the first 100 lines.
Gave up.
I washed my eyes out with bleach.
Then I contacted my HR hotline to see if our medical insurance covers eye cancer.32 -
I turned 40 yesterday. Here are some lessons I've learned, without fluff or BS.
1) Stop waiting for exceptional things to just happen. They rarely do, and they can't be counted on. Greatness is cultivated; it's a gradual process and it won't come without effort.
2) Jealousy is a monster that destroys everything in it's path. It's absolutely useless, except to remind us there's a better way. We can't always control how we feel, but we can choose how we react to those feelings.
When I was younger, jealousy in relationships always led to shit turning out worse than it probably would have otherwise. Even when it was justified, even when a relationship was over, jealousy led me to burn bridges that I wished I hadn't.
3) College isn't for everyone, but you'll rarely be put square in the middle of so much potential experience. You'll meet people you probably wouldn't have otherwise, and as you eventually pursue your major, you'll get to know people who share your passions and dreams. Despite all the bullshit ways in which college sucks, it's still a pretty unique path on the way to adulthood. But on that note...
4) Learn to manage your money. It's way too easy to get into unsustainable debt. It only gets worse, and it makes everything harder. We don't always see the consequence of credit cards and loans when we're young, because the future seems so distant and undecided. But that debt isn't going anywhere... Try not to borrow money that you can't imagine yourself paying back now.
5) Floss every day, not just a couple times per week when you remember, or when you've got something stuck in your teeth. It matters, even if you're in your 20s and you've never had a cavity.
6) You'll always hear about living in the moment, seizing the day... It's tough to actually do. But there's something to be said for looking inward, and trying to recognize when too much of our attention is focused elsewhere. Constantly serving the future won't always pay off, at least not in the ways we think it will when we're young.
This sentiment doesn't have much value when it's put in abstract, existential terms, like it usually is. The best you can do is try to be aware of your own willingness and ability to be open to experiences. Think about ways in which you might be rejecting the here and now, even if it's as seemingly-benign as not going out with some friends because you just saw them, or you already went to that place they're going to. We won't recognize the good old days for what they were until they're already gone. The trick is having as many good days as possible.
7) Don't start smoking; you'll never quit as soon as you'll think you can. If you do start, make yourself quit after a couple years, no matter what. Keep your vices in check; drugs and alcohol in moderation. Use condoms, use birth control.
8) Don't make love wait. Tell your friends and family you love them often, and show them when you can. You're going to lose people, so it's important. Statistically, some of you will die young, yourselves.
When it comes to relationships, don't settle if you can't tell yourself you're in love, and totally believe it. Don't let complacency and familiarity get in the way of pursuing love. Don't be afraid to end relationships because they're comfortable, or because you've already invested so much into them.
Being young is a gift, and it won't last forever. You need to use that gift to experience all the love that you can, at least as a means to finding the person you really want to grow old with, if that's what you want. Regardless, you don't want to miss out on loving someone, and being loved, because of fear. Don't be reckless; just be honest with yourself.
9) Take care of your body. Neglecting it makes everything tougher. That doesn't mean you have to work out every day and eat like a nutritionist, but if you're overweight or you have health issues, do what you can to fix it. Losing weight isn't easy, but it's not as hard as people make it out to be. And it's one of the most important things you can do to invest in a healthy adulthood.
Don't put off nagging health issues because you think you'll be fine, or you don't think you'll be able to afford it, or you're scared of the outcome. There will always be options, until there aren't. Most people never get to the no-options part. Or, they get there because all the other options expired.
10) Few things will haunt you like regret. Making the wrong choice, for example, usually won't hurt as much. I guess you can regret making the wrong choice, but my deepest regrets come from inaction, complacency and indifference.
So how can we avoid regret? I don't know, lol. I don't think it's as simple as just commiting to choices... Choosing to do nothing is still a choice, after all. I think it's more about listening to your gut, as cliche as that sounds.
To thine own self be true, I guess. It's worth a shot, even if you fail. Almost anything is better than regret.12 -
Yet another someone just contacted me about having a "great idea for an app".
That's a justified rant all by itself.7 -
I got arrested multiple times under acts of cyber crimes...
Yeah, so what if I did? Why is it a problem that I take down CP sites? "Because it's partaking in cyber warfare." Well then the police and the Federal government should execute their job keeping such out of the web space. Now, whenever I find a job, I have to inform due to the judge's final document. And not just that now when I am required to talk to a police officer who has seen my record all they can reckon is to escalate it.
What fantastic horse crap! You get arrested for tracking down child molesters and taking them off the web exclusively...
Some say I'm a social justice warrior, only I don't think that I am. I reckon I am merely an over eccentric programmer who desires to see the real criminals get sent to jail.30 -
Certificate: * expired yesterday *
Chrome: 🚨🚨🚨 THIS WEBSITE MIGHT TRY TO ROB YOU AND TAKE YOUR FAMILY HOSTAGE CALL THE ARMY IMMEDIATELY AND WAIT FOR FURTHER INSTRUCTIONS 🚨🚨🚨
Ofcourse it's sorta justified, but still, it's funny to see what the consequences are of forgetting to reload the nginx server after a certificate renewal 😂2 -
Disclaimer: Long tale of a tech support job. Also the wk29 story is at the bottom.
One time I was working tech support for a website and email hosting firm that was in town. I was hired and worked as the only tech support person there, so all calls came in through me. This also meant that if I was on a call, and another one came through, they would go straight to voice mail. But I couldn't hang up calls either, so, sometimes someone would take up tons of time and I'd have to help them. I was also the "SEO" and "Social Media Marketing" person, as well; managed peoples' social media campaigns. I have tons of stories from this place but a few in particular stick out to me. No particular order to these, I'm just reminiscing as I write this.
I once had to help a man who couldn't find the start button on his computer. When I eventually guided him to allowing me to remote into his computer via Team Viewer, I found he was using Windows XP. I'm not kidding.
I once had to sit on the phone with a man selling Plexus Easy Weight Loss (snake oil, pyramid scheme, but he was a client) and have him yell at me about not getting him more business, simply because we'd built his website. No, I'D not built his website, but his website was fine and it wasn't our job to get him more business. Oh yeah, this is the same guy who said that he didn't want the social media marketing package because he "had people to hide from." Christ.
We had another client who was a conspiracy theorist and wanted the social media marketing package for his blog, all about United States conspiracies. Real nut case. But the best client I've ever had because sometimes he'd come into the office and take up my time talking at me about how Fukushima was the next 911 and that soon it'll spill into the US water supply and everybody was going to die. Hell, better than being on the phone! Doing his social media was great because he wanted me to post clearly fake news stories to his twitter and facebook for him, and I got to look at and manage all the comments calling him out on his bullshit. It was kinda fun. After all, it wasn't _me_ that believed all this. It felt like I was trolling.
[wk29] I was the social media and support techie, not a salesperson. But sometimes I was put in charge _alone_ in front of clients for status meetings about their social media. This one time we had a client who was a custom fashion-type person. I don't really remember. But I was told directly to make them a _new_ facebook page and post to it every day with their hot new deals and stuff. MONTHS pass since I do that and they come in for a face-to-face meeting. Boss is out doing... boss things and that means I have to sit in with her, and for some fucking reason she brought her boyfriend AND HER DAD. Who were both clearly very very angry with me, the company, and probably life. They didn't ever say anything at first, they didn't greet me, they were both just there like British royal guards. It was weird as fuck. I start showing them the page, the progress on their likes goals, etc etc. Marketing shit. They say, "huh, we didn't see any of these posts at home." Turns out they already had a Facebook page, I was working on a completely seperate one, and then the boyfriend finally chimes in with the biggest fucking scowl, "what are you going to do about this?" He was sort of justified, considering this was a payed and semi-expensive service we offered, but holy shit the amount of fire in all three of them. Anyway, it came down to me figuring out how to merge facebook pages, but they eventually left as clients. Is this my fuck up? Is it my company's? Is it theirs? I don't know but that was probably the most awkward meeting ever. Don't know if it comes across through text but the anxiety was pretty real. Fuck.
tl;dr Tech support jobs are a really fun and exciting entry level position I recommend everybody apply for if they're starting out in the tech world! You'll meet tons of cool people and every day is like a new adventure.2 -
I previously worked as a Linux/unix sysadmin. There was one app team owning like 4 servers accessible in a very speciffic way.
* logon to main jumpbox
* ssh to elevated-privileges jumpbox
* logon to regional jumpbox using custom-made ssh alternative [call it fkup]
* try to fkup to the app server to confirm that fkup daemon is dead
* logon to server's mgmt node [aix frame]
* ssh to server directly to find confirm sshd is dead too
* access server's console
* place root pswd request in passwords vault, chase 2 mangers via phone for approvals [to login to the vault, find my request and aprove it]
* use root pw to login to server's console, bounce sshd and fkupd
* logout from the console
* fkup into the server to get shell.
That's not the worst part... Aix'es are stable enough to run for years w/o needing any maintenance, do all this complexity could be bearable.
However, the app team used to log a change request asking to copy a new pdf file into that server every week and drop it to app directory, chown it to app user. Why can't they do that themselves you ask? Bcuz they 'only need this pdf to get there, that's all, and we're not wasting our time to raise access requests and chase for approvals just for a pdf...'
oh, and all these steps must be repeated each time a sysadmin tties to implement the change request as all the movements and decisions must be logged and justified.
Each server access takes roughly half an hour. 4 servers -> 2hrs.
So yeah.. Surely getting your accesses sorted out once is so much more time consuming and less efficient than logging a change request for sysadmins every week and wasting 2 frickin hours of my time to just copy a simple pdf for you.. Not to mention that threr's only a small team of sysadmins maintaining tens of thousands of servers and every minute we have we spend working. Lunch time takes 10-15 minutes or so.. Almost no time for coffee or restroom. And these guys are saying sparing a few hours to get their own accesses is 'a waste of their time'...
That was the time I discovered skrillex.3 -
!dev
Following https://devrant.com/rants/2240860/...
I get kicked out of my fucking house because my house”mates” just pissed off without paying rent or finding someone to replace them in time.
Great.. really fucking awesome.
There’s nothing else available in my town and I have time till the end of the month.
Thanks for that asshole.
Never, ever sharing a house / apartment again.
I’m better off doing my own thing.
Fucking lonely as I’m used to be but at least there’s no one to stab me in the back.1 -
Update on my Facebook and Booking.com interviews. I had them back to back today.
Even before I start, I accept and admit that I am a hypocrite. I hate Amazon yet order stuff from there. I hate Microsoft yet use their products. I hate Facebook yet went ahead to interview with them.
I fucking hate myself for compromising my ethics, values, and integrity. I had promised myself that even if I work for any major shit company, I'd never go with Facebook. Here I am after many years. Not an excuse, but I am doing it because I see it as an entry point into the UK. That's all.
Community's hate towards me is justified and I'd accept the discrimination from this community because this place is my digital home and you all are my family. Infact first thing I told mom was, dR boys are gonna disown me when they get to know about this.
Anyway, coming to the update part.
I had applied leave at work from last Friday. 4 days of leave earned me 10 days off (including weekends and 2 days of Diwali company holiday).
Last Thursday I got to know that Facebook has scheduled their interview today (Friday). I spent insane amount of time preparing. Approximately 8 hours everyday including weekend. I added nearly 40+ hours preparing for it in last 7 days, because I had to get in. Failure isn't an option now.
I sacrifice my family time, preparing for the interview.
I sacrifice Diwali break, sitting in front of the screen and studying.
I sacrifice my only vacation of 2021, doing mock interviews as late as 11.30 PM.
I sacrifice my free time and enjoyment, stressing over what could happen.
I was prepared like perfect for screening stage.
Interview 1: this guy comes and ask 'what is the best compliment you have got as a PM?' and 'Why do you want to quit the current company?'
He wasn't supposed to ask those as per Facebook's policy and interview stage.
Then he gave me a shit problem to solve and rejected my approach and wanted it his was. I tried to follow him and made sure I was able to convince with the reasoning but he kept pushing me back. He kept putting me down. Did not listen to me or what I had to convey or what was expected as an answer. He had certain output in his mind and wanted me to come up with it as an answer.
For the uninitiated: Facebook gives ton of preparation material and tells upfront the kind of questions they'll ask they just focus on few things. Moreover, in Product interviews, there isn't right or wrong answer.
Anyway, this guy started making funny expressions which put my morale down and I stood my ground with losing my cool. I managed to get all my answers right and the key points the look into a candidate. It went decent. Yet the interviewers attitude was something I did not like.
Interview 2: the lady was really kind and warm. Very accommodating and easy person to deal with. It went amazingly well.
I have two observations I want to share with you all.
1. I hate what Facebook does. Lizardberg is awful human being. But I absolutely liked HOW they are doing things, at least from an interview stand point. They even had mock sessions by their PMs and upfront told how to prepare and how to answer.
2. While it seems to be a 5 star experience, I found them to function mechanically. No small talk, no human connection (ironic to their mission), no conversational flow of the interview (again something that they kept saying a zillion times in all their material). They came, formally introduced themselves, and had a checklist kind of attitude, and left.
I now await for the feedback.
In the next hour, I had Booking.com first round.
Amazing people. Warm friendly experience. Treated me as a human. Heard me. Made me feel part of the conversation rather than someone just being judged.
It went 1000x better than Facebook.
I await the feedback from them as well.
I don't know what's gonna happen but one thing for sure, the kind of expectations Facebook set for their interviews, was nowhere close to the reality. It was awful.
180° was for Booking.com
Guess the saying stands true, expectations always lead to disappointment.
Finally I feel de-stressed and my Diwali vacation starts AFTER Diwali ended. Or rather just a regular weekend.
2021 has been terribly awful year for me. Hope this shitty year ends soon.36 -
We should not tolerate censorship.
Beyond all the u.s. hype over elections
(and the division in the west in general), the real story is all the censorship on both sides.
Reasonable voices are quickly banned, while violent voices and loud angry people are amplified.
I broke out of the left-right illusion when
I realized what this was all about. Why
so much fighting in the street was allowed, both
justified and unjustified. Why so much hate
and division and slander, and back and forth
was allowed to be spread.
It's problem, reaction, solution.
The old order of liberal democracy, represented
in the u.s. by the facade of the GOP and DNC,
doesn't know how to handle the free *distributed*
flow of information.
That free-flow of information has caused us to
transition to a *participatory* democracy, where
*networks* are the lever of power, rather than
top down institutions.
Consequently, the power in the *new era* is
to decide, not what the *narrative* is, but
who can even *participate*, in spreading,
ideating, and sharing their opinions on that
narrative, and more broadly, who is even allowed
to participate in society itself.
The u.s. and west wants the chinese model of
control in america. you are part of a network, a
collective, through services and software, and
you can be shut off from *society* itself at
the drop of a pin.
The only way they get that is by creating a crisis,
outright fighting in the streets. Thats why
people keep being released after committing serious
fucking crimes. It's why the DOJ and FBI are
intent on letting both sides people walk.
They want them at each others literal throat,
calling for each other's blood. All so they
can step back and then step in the middle when
the chorus for change cries out loud enough.
And the answer will be
1. regulated tech
2. an end to television media as we know it
3. the ability to shut someone off from any service on a dime
4. new hatespeech laws that will bite *all* sides in the ass.
5. the ability to shape the narrative of society by simply 'pruning' networks as they see fit, limiting the reach of individuals on all sides, who are problematic to
the collective direction.
I was so caught up in the illusion of us-vs-them I didn't
see it before now. This is a monstrous power grab.
And instead of focusing on a farce of election, where the party *organizations* involved are institutional facades for industrialists, we should be focusing on the real issue:
* Failure of law to do its job online, especially failures of slander and libel laws, failures of laws against conspiracy to commit crime or assault
* New laws that offer injunctive relief against censorship, now that tech really is the commons. Because whats worse than someone online whipping up a mob on either side, is
someone who is innocent being *silenced* for disagreeing with something someone in authority said, or for questioning a politician, party, or corporation.
* Very serious felony level laws against doxxing and harassment on all sides, with retroactive application of said laws because theres a lot of people on all sides who won't be satisfied with the outcome until people who are guilty are brought to justice.18 -
X86 or X64. Well, from what I understand, there's no fucking X in front of 64. X86 refers to instruction sets for *86 professor architectures, not bits. Am I justified in this? Is "x64" willful mislabeling?4
-
Is it justified to be angry at websites that break because of extensions like Ghostery or uBlock Origin?
'Cause I fucking hate it when their fucking website breaks because I don't want to have trackers on my pc8 -
The infuriating edgecases of python copypasta.
If you're like me, and you find it easier to noodle in notepad++ and the console, then you may have encountered this peculiar bug.
Try padding blank spaces on an empty string variable, and follow it with print(blanks + str(var))
#for any variable
Now copypaste that along with at least one other line at the same time.
Observe how no matter what you do, print will always output the blanks variable on a separate line, with quotes.
Try rewriting right-justify? No good.
Try using f-format strings? No good.
Raw strings? Inspecting bytes to see where the newlines and carriage returns are being inserted? Nothing.
Copypaste with multiple strings will *always* insert quotes and a new line when printing *any* variable with a string thats been justified.
And this is 100% non-congruent with pasting the same *line* of code *by itself*, which works as intended, no quotes or additional new lines are inserted.
I just went ahead, turned the snippet into a function, and called it from there, which solved the problem entirely.6 -
Google simply can't knock off harrassing their users with security theatre.
A friend of mine has a small personal YouTube channel. He has recently been bombarded with several phone verification requests a week: "Verify it's you. To continue your session, complete a brief verification. This extra step helps us keep your account safe by making sure it’s really you. "
While frequent verifications may be understandable on YouTube channels with millions of subscribers, channels with only a few dozen subscribers are not attractive hacking targets. A verification would be justified before a potentially harmful action such as deleting videos or deleting a channel. But not for normal everyday use.
What's next? Will they ask users to "verify it's them" every ten minutes, "just for extra security"? Just to verify that it is "really, really, really, really, really" them?
It's not security. It's security theatre.
Sorry, Google, but users are not in the mood of doing a phone verification every other day.
Has this been Google's perverted wet dream all along?1 -
Anyone know of any hosts NOT running on amazon/silicon valley/microsoft cloud?
I'm specifically looking for a host thats setup for or works well with python.
I'm about done with censorship and noplatforming. As a moderate that for a very long time was left of center, these practices are never justified.49 -
People that upgrade to Windows 10 FREE by going to the... "special needs category"(people with special needs that could use the new things that Windows 10 has... like Cortana), but are perfectly normal... don't be ashamed of that... you were retarded enough to upgrade to Windows 10, so it's justified...4
-
Apple: "We're justified in taking 30% of all our customer's in-app purchasing revenue because we've implemented an awesome super-secure in-app payment system"
Me, after spending the last week wrestling with Apple's shitty, horrible, unbelievably obtuse, poorly documented system for handling subscription renewals and having to write my own god damn crypto shite for reading receipts: "You're shitting me, right?"
What a complete scam.1 -
I came up with what I considered to be a brilliant approach to a festering internal knowledge management problem using a third-party SaaS. I rolled it out and it was very popular. Weeks later, after my profile had become the "linchpin" by which hundreds of other employees had joined the service, I was told that a female employee (yes, gender is important to this story) had produced a proposal for a more in-house solution that used a different company's software and that I would be on the team to roll it out. I thought it was a great idea and I deferred to her on pretty much everything.
Months after that I was accused, by several other female managers, of trying to take over the whole leadership of the project just because of one minor suggestion I had proposed. One day, after a lengthy interrogation about their take on my emails on the matter (lacking only the bright, hot spotlight in my eyes) I was booted off the project and the woman who had proposed the project was promoted. She then proceeded to lord it over on me and treat me like crap.
This type of thing was a general pattern within the company that amounted to a form of a reverse discrimination "policy" (unwritten). The effect was that the ratio of men to women in upper management was not equal but completely flipped. Way more women than men had upper management positions and higher pay.
In their eyes, the ends (women broke through the glass ceiling) justified the means (discrimination and bullying) which I guess is good and "equal", again in their eyes, in terms of the overall perception modern feminism has about men needing a comeuppance.
But in the context of HR's stated policy on equality, meaning 1:1 men and women in position of power and pay and a non-threatening work environment for all, which we all (men and women) were forced to sign every year, it was an utter fail as far as the math and intimidation went.2 -
Well I can say one thing for sure. The tooling found for Flutter in the form of IntelliJ and Android Studio is far superior than fucking around on a text editor das for sure.
Not really into the continuous nesting of widgets. But then again I was not a big fan of having jsx either.
Both options still better than fucking around with the Java Android api....and I fucking love Java.
Still feels like Google realized that such approach was better, else I don't think they would have justified the creation of the Flutter lib. And yes. I know that it is not a complete replacement for Android Java, but the interfacing between Dart and the Java api feels more natural at least to me and the widgets look native af so we go on with them big plus digits.2 -
A colleague came to me ranting about some feature marketing wants.
"Save whether the user accepted, rejected or ignored the TOS." They have to accept the privacy agreement first, so this feature is most likely about annoying users who rejected the TOS. Totally justified. Fuck that marketing team.8 -
I get the whole anger at robinhood and the stock market, I really do.
But on the other hand - what did you expect? A bunch of people on Reddit could *genuinely* cause hedge funds to lose billions without them pulling strings to fight back?! They don't care if it's illegal or immoral. They know the worst they'll get is a fine that's way, way less than they stand to make.
Don't get me wrong, the anger here is justified completely. The surprise however, that's really not.12 -
Watched a co-worker configure a new "MacBook pro" as a replacement for the four-year-old one this personcurrently has. A replacement machine is justified as the old one is on the fritz... Naturally because MacBooks aren't any better than any other machine, build quality or otherwise. I still cannot fathom why anyone would even consider budgeting over $3000 for a single machine, only to then buy several adapters just to make the thing work.
Apple is off the deep end. People who fall for that BS are off the deep end.
I feel like showing the manager several alternative models at half the price just to make the point that MacBooks are a pointless waste of money.4 -
"The culture here is one of success based upon academic excellence, studying, learning, practising and having a good job and a great life. For upper India, not the lower. I see two Indias. That's a lot like Singapore study, study, work hard and you get an MBA, you will have a Mercedes but where is the creativity? The creativity gets left out when your behaviour is too predictable and structured, everyone is similar."
Steve Wozniak on Indian Talent.
As an Indian, I agree with him. In this day and age, where education is so easy to come by, We live in a country where from the beginning we're told that education is about getting marks and writing stuff down 10 times. We live in a country where we're asked to cram up answers to questions which start with "what are your thoughts on..". How can we expect to be creative?
Can marks be a metric for good candidate in a country where the thought is, "first complete your engineering with good marks, then think what you wanna do in life".
Should academic excellence really be about the amount of shit a guy could cram up?
Sure it's easier to filter out people on the basis of marks in a country with 1.3 billion people, but is it justified?
Can we justify "success" as a good job for a guy who's life's only achievement has been getting into a good engineering college?
Can we really consider a guy successful, if his only "effort" has been reading and rereading books twice, thrice, a million times. Is this person, who has literally crammed his way into life, and has no practical experience, really successful?
This is the very reason Woz giving such a statement is justified. As long as we as a country gives up the stupid thought that patriotism is all about abusing the guy who says something negative about the country, and we actually start taking an action and change our thoughts on education, we won't succeed.
doomsday out 🤟 -
So I removed all the Eclipse crap from the repository (.settings, .project, etc), add those to the .gitignore, commit and push. The next thing happened is my co-worker found that broken his copy of the code as on Eclipse. That's expected. I told him it's justified to get rid of IDE specific stuff from the repo. All he needed is to set up the project again on his Eclipse.
...
...
...
And he didn't know how to do it.
...
...
...
I helped him out. Wasted 15 min. It shouldn't take that long if I did not try to explain along the way.
I feel like fixing printer.5 -
Figured out the root cause of slow code by using a profiler in an afternoon (more like an hour but needed to confirm/investigate)...
Team spent over a week trying to figure it out using logging and debugging...
Even after I told them to use a profiler...
Guess now I've justified my position of being the highest paid dev on the team.
I just know how to use other tools besides a hammer.1 -
It's been long time that I use the JavaScript blocker add-on by default, and I pretty much get accustomed to see and perceive the web as broken styling trash for most of the times.
And this broken state(on non-SPA websites) isn't even justified because CSS has never been as powerful as nowadays. So... WTF?
On my side, I never let the absence of JavaScript ruin the template/style of a webpage u_u12 -
I once thought writing huge lines of code makes it tough and messy, when i was learning Java.
Then I met with BrainFuck...
Name is trully justified. -
!programming
damn berlin sucks, the public transport is not very comfortable, people are gloomy and sometimes even snobby, the service is not the best and shopping sucks because there are not much choices and prices are not justified. prague was much better.2 -
How resource calculations for software services like code analysis, monitoring, etc are done:
Opening fridge, putting all the beer one can find in it.
Opening the necessary tools, e.g Excel, Accounting software, ....
Drinking the first beer.
Starting to aggregate the monthly costs - cause you can never trust the reports written by someone else...
First beer poof.
Looking at the monthly cost, adding columns "Intended use", "Actual usage pattern", "Usage factor"...
Opening next beer...
Usage factor is btw a factor of 0.1 ... 1.0 - to give an estimate how much the products feature are actually used, for further analysis if the invest is justified or not...
Oh. Another half bottle gone...
Filling in the columns...
Oh. Bottle empty and the next one toooooooooooooooo...
*burping*
*cracking finger joints*
Now let's get to the sad part...
Next worksheet, adding infrastructure costs...
Cost and description as columns.
Hehe. Column sounds like gollum.
Another beer...
Ugh. Need the paper reports, manually typing off things for stuff that was e.g. tax deductible.
Many beers die during this task. Poor little beers, dying for such an boring and mundane task...
SUM is a real useful function. I don't think I can add numbers anymore.
Now we can add another sheet.
Hehe. Sheet sounds like shit. And yes, everything in this file is shit.
Summing up costs from both sheets and including the cost factor from 1
... Beeeeeeeer Beeeeer beer we need more beer here... Beer beer beer...
Where was I. Oh yeah. Cost factorization total vs effective.
Why do I want to get even more drunk.
Oh yeah. Most software is completely underused and the costs aren't justified.
Let's add some colored highlighting ...
Uuuuh. ,Too much red. Better change the highlights.
Too much red.
More beer.
Don't give a fuck.
Hm.
Time for some whiskey.
What else is there to do....
Oh yeah.
Diagrams.
The bloody wankers from accounting need diagrams as numbers are too boring.
Not that everything in accounting is boring, no matter how much you paint colors on it... *sigh*
Hm. More whiskey...
Hehe. Whiskey rhymes with frisky.
Uff. Now just need to write mail. Mail mail mail....
"Copy paste the last mail from last month"
Hm.
Ah.
*sipping whiskey*
Spell check extension - to the rescue.
Thesaurus *burps*.
Let's change a few words here and there... Maybe another paragraph there.
Uh....
Trying to attach file...
*fucking mouse is pretty constantly crashing into empty beer bottles*
Done.
Damn.
Need to press send button.
*Creating mess on the desk by just randomly crashing the beer bottles*
Done.
*Pressing computers power button*
Mwahahahaha. No mouse needed.
*regretting to stand up too quickly, nearly barfing on the floor*
Couch ... Where Couch...
After hitting several doors, frames and other stuff, the glorious mission ended successfully with a most graciously executed gut buster on the couch.
(Regretting next morning to have emptied two 6 packs and a few glasses of whiskey) -
Hi guys,
Been lurking for a while and has been refreshing to see I'm not alone in some of 'interesting' issues I face day-to-day!
I am in a situation where I am a technical lead, but any architecture changes need approval by the MD, any software (free, obviously paid for is understandable!) needs signoff before installing, even if it's to see what it's all about! Essentially anything I should be responsible (no matter how minute) needs signoff before I can even attempt anything.
This is my first time that I am in a role of this level, but it seems like I am responsible for a lot but don't have much control over what I can do about it, is this normal? To me it just seems there is no trust in my judgement, which is not justified considering I'm only just being put into the role!6 -
I. Hate. Windows. Apps. UGH.
I may never be able to play FS2020 from the Xbox Game Pass again as... Its unable to install, gives a helpful 0x1 error code, and the help page link goes to a 404.
Now, I caused this myself... Partially... Er, no, fully, but I had a good reason!
I wanted to install something larger again and didn't have enough disk space. Fired up WinDirStat and there was a huge, like... 45 GB file in C:\Program Files\WindowsApps\Somedir\
Googling around, I found some people saying its a temp file so that Windows Store could reserve enough space for the app instalation... Okay, so... It got stuck, and I had no way to remove it?
Of course I didn't want to remove all apps of the windows market... So, I did something any *sane* person would never do - Took ownership of the whole WindowsApps and gave myself full control. Then I removed the file and... FS2020 never launched again.
I couldn't even uninstall it! It would give me no error either. It just lagged and then did nothing.
I tried resetting all the ACLs, tried giving ownership back to TrustedInstaller, nothing worked. Failed on some of the files, wtf?
Launching the game only ever told me there was an update in progress.
Tried booting a windows iso image and fix the ACLs from there, nope, also failed for the same bunch of files of FS2020. (Permission Denied while on a live image? Wow)
Last resort, I booted up Linux and tried removing the offending folders from there, only to find out that... Huh. The NTFS module labelled the offending folders as... broken links leading to an "unsupported reparse point". But hey, it let me remove it at least.
Since then, it no longer appeared as installed, but... Now, anytime I want to install it, it just throws an error 0x00000001 with no further details.
So yeah, I know I caused this myself, but after fiddling with the permissions and ACLs and NTFS dark magic, I feel justified in saying - Fuck you WindowsApps DRM.4 -
An app I'm making for a client currently has 23 "pages" that are simply web views.
Most of those pages have A HREFS which open other pages (some external pages that I have no access to as a developer).
Of course, some of the links aren't HREFS and are javascript calls to change the content on the screen without going to another page. So the user thinks they have gone to another web page when then system doesn't recognise it as another page...
Additional to this, there are multiple versions of the pages depending on which language the user has selected in the app.
And nobody seems to have considered how the default back button handles all these possible eventualities (whether it can go back to previous web page, IF it was an HREF and not just JS mimicking a new page (and how would my webview even catch that), and of course IF the language hasn't changed during the user journey etc etc)
Am I wrong for being annoyed about this? Am I the dick for not developing a clean solution to it? Or am I justified because webviews have no place inside an app!
I'm sort of hoping apple deny this app due to too many web views :S8 -
so... either its justified and i should be reporting for harassment or i am overreacting to a water cooler talk, please help me decide next action:
we are in morning standup zoom call. boss (AVP) comes, jokes about who's birthday is coming next month, no one says a thing, then i joked Gandhiji's. his reaction : "ugh bro why do you always have to ruin the friday mood?" and I also laugh "well..." topic changes.
^--- this part is all good. he is AVP, He rarely joins the call and is a cool fun (but strict) guy. the problem happens in a side teams chat room
so we have an "emotional support android" group. we just named it that to prevent scrutiny, its really just a group where everyone is usually ranting and bitching. however it just includes us android devs.
so while i am making this joke in teams, one guy messages there about what a stupid statement that was + 2 abuses (hindi abuses, there translation would loose the impact)
i am all in for bitching and everything , but i felt bad for this. this group does include the word "android" and android folks, some of which are not even here. if this was a personal chat, i had ignored it, but i am trying to make a name as a dev and this undermines my statements in general.
furthermore this guy is 6 months old in team and i have been here for more than 1.5 years. he is 2 years older than me, but we are always cool and we often help each other in tasks
I am angry for the public humiliation and feel like reporting to my TL, HR or even the AVP. he is not even realising that he hurt me. actually the office environment has gone so toxic that the tl is herself threatening and scolding for every basic things and we are all but bitching to each other about it. he is mostly my guy, always taking my side and i take his, but i feel like my dignity is being impacted
or am i stupid to get hurt at this?14 -
Does anybody else feel a little sad when reading rants or negative comments concerning frameworks you've used a lot or maybe even more in case you're still using them?
In my particular case I just read some comments tackling Angular - and I do not want to say, that those comments aren't justified. We're currently living in a more than ever fast-paced front end framework world and Angular is simply not state of the art anymore.
So I do not want to start a "what's the best framework" discussion here, that's not my intention.
This is more about the feeling you get when you've built a lot of stuff using a framework, maybe you have still projects running on this framework or even contributed.
Either you do not have the time to switch to another framework yet or you're even still somehow satisfied with the way they're working.
However - reading all this negative stuff about such a framework is sometimes not that easy.
..or am I just some kind of strange, sentimental developer guy? ;D10 -
MOBBING DICTIONARY - 3 -
Sentence (harsh public remark)
- You always want to do everything.
Purpose
- highlight a (true or false) defect of the target, a lie repeated thousands of time will become true.
Result
- whether or not that is true, everybody will start to see the target with that particular defect. Every action will be justified to correct the defect.
While it is often true that people at time have difficulty to delegate, usually the reason is not that they don't want to, but they don't know how.
The mobber want to remove the person rather than helping on the "how".
This strategy get the best result when the target is self aware, take the mobbing sentence as a constructive feedback and start to effectively delegate. He/she will contribute to make him/herself useless and could be later easily disposed of.1 -
!dev
Again I get confirmation that my trust issues are justified.
In the end, 99% of people just watch their own ass even if they could easily make it easier for others who didn’t do anything wrong. All they’d have to do is caring about them.
I guess especially younger generations only care for their parents, wives and kids. Everyone else is just a means to an end.
It reminds me of the reason why I spend most of my time alone at home in front of my computer.8 -
I remember an instructor of mine probably gave my class the life advice that will probably keep haunting me in my remaining two years in uni. In the class the day before our lab exam he basically ranted out what I guess we're justified issues he faced with our class(the class ranted about not getting test cases for the assignments). He then proceeded to explain for 1.5 hours why the kind of graduates we'll become we'll prolly be unemployed or doing 100$/month jobs at some shitty local software house. The whole gist of his rant was fuck your test cases, learn to code. But ever since that this thought has stuck with me, am I even good enough. I mean I don't think I'm that shit but my opinion is biased towards obviously considering myself to be above average.1
-
Least favorite enterprise software (so far) is Oracle JD Edwards (but more specifically the integration between systems).
Unfortunately a board member was friends with an employee who recommended JDE. It required full time maintenance and a few years later that employee left and the company wrote off over a million dollars to go back to the old (but slightly updated) system.
Following that, a board member (the same one I think) agreed to have another friend's security business install CCTV across the branches. The project was not scoped and no thought had gone into it, making a real mess for the IT department to sort out (provided hardware was under spec'd, existing networking equipment needed replacing, etc)
Who do these upper management people think they are that they can make decisions based on little fact or research and expect the people beneath them to just magically make work.
The huge salaries of those people is not justified. We're the real workers who actually get stuff done so the pay and appreciation should be spread accordingy.
Rant over. -
[NSFW]
nH recently shut down their API due to it causing problem with their front-end (paraphrase of their latest tweet (hopefully latest)). Lemme tell ya mate that front-end is **infested** with pop-up ads that will quite literally pop up at every interaction except scrolling. Pretty sure the shutdown is to ensure their ad revenue rather than making sure the apps doesn't over request (although there can be apps that over-request due to poor coding, in which case I'm sorry).
Kinda justified? Since the page doesn't have the paywall nor anything to grab your money so...kinda justified? Still.
And that's the story of how I became pretty much the only one beside the dev that give a shit about an app for nH on Android.5 -
Writing straight up Java in Jenkins pipelines never ceases making me feel like ive done something horrible :)
Dunno if the feeling is at all justified or not.1 -
Tl;Dr: Would my salary sugesstion be alright? Will get a promotion. Currently salary 115k $. I would suggest between 135k - 150k $ annual salary
So I work at a large Corpo and was asked by my department Boss, if I want to take a Promotion in our Applications team as Technical Lead. I would have the same Job, but will be the Service Owner and lead the team on a functional base. Would be 5 People. Personal Leadership would still be trough my superior.
Im alright with that, I currently dont want to lead people, but teaching them how to do it like I do right now is fine with me. Also most of the time when Shit hits the Fan Im on the call already to fix a critical Bug.
I trust my boss alot and was always treated fair by her. My currently salary is at 115k annual and Im 29 years old.
Currently Im studying on my Science BSc and work fulltime. I will take the promotion, because its like already now too my Job, I get payd better and not some random pen pusher will be set infront of me.
Also I could deny now all the fuck ups our Business People decide in Projects. I would have a lever more to challenge. (Parry this Peasant 🤣)
Just jumping from 115k up is my mental Challenge. I first thought about just 124k, but the responsibility is alot (Business Critical Applications). Also on the Job Market the Peers are ranging from 140k - 160k.
Im always thinking about the say, you need to be greedy sometimes yourself if its justified. Else some Manager gonna cash in the slip.
Should I suggest 135k or by your experience would you advertise higher like 145k-150k?7 -
Okay. Here's the ONLY two scenarios where automated testing is justified:
- An outsourcing company who is given the task of bug elimination in legacy code with a really short timeframe. Then yes, writing tests is like waging war on bugs, securing more and more land inch after inch.
- A company located in an area where hiring ten junior developers is cheaper than hiring one principal developer. Then yes, the business advantage is very real.
That's it. That's the only two scenarios where automated testing is justified. Other such scenarios doesn't exist.
Why? Because any robust testing system (not just "adding some tests here and there") is a _declarative_ one. On top of already being declarative (opposed to the imperative environment where the actual code exists), if you go further and implement TDD, your tests suddenly begins to describe your domain area, turning into a declarative DSL.
Such transformations are inevitable. You can't catch bugs in the first place if your tests are ignorant of entities your code is working with.
That being said, any TDD-driven project consists of two things:
- Imperative code that implements business logic
- Declarative DSL made of automated tests that also describes the same business logic
Can't you see that this system is _wet_? The tests set alone in a TDD-driven project are enough to trivially derive the actual, complete code from it.
It's almost like it's easier to just write in a declarative language in the first place, in the same way tests are written in TDD project, and scrap the imperative part altogether.
In imperative languages, absence of errors can be mathematically guaranteed. In imperative languages, the best performance (e.g. the lowest algorithmic complexity) can also be mathematically guaranteed. There is a perfectly real point after which Haskell rips C apart in terms of performance, and that point happens earlier on than you think.
If you transitioned from a junior who doesn't get why tests are needed to a competent engineer who sees value in TDD, that's amazing. But like with any professional development, it's better to remember that it's always possible to go further. After the two milestones I described, the third exists — the complete shift into the declarative world.
For a human brain, it's natural to blindly and aggressively reject whatever information leads to the need of exiting the comfort zone. Hence the usual shitstorm that happens every time I say something about automated testing. I understand you, and more than that, I forgive you.
The only advice I would allow myself to give you is just for fun, on a weekend, open a tutorial to a language you never tried before, and spend 20 minutes messing around with it. Maybe you'll laugh at me, but that's the exact way I got from earning $200 to earning $3500 back when I was hired as a CTO for the first time.
Good luck!6 -
I cant believe the project I'm working on does not use kubernetes or terraform. Not even docker. How is this multi trillion dollar project even in business?
I feel so sad for not having the opportunity to work with one of the most fundamental and most important technologies to know as a devops engineer... So sad
I cant advance or improve. Im just stuck in their ecosystem like Apple
This corporation is probably ran by 90 year old grandpa men from world war 1. However considering they are so large and still in business this gives me hope that anyone can make it even if you're stupid
Think about it
They are proof that you can run a giant business with hundreds of employees, not use k8s and the most modern devops technologies, and still operate just fine.
The devops code i have to maintain is older than the amount of years i exist. Its very messy and most of this shit is not even devops related. Its more of some kind of linux administrative tasks mixed with 3 drops of actual devops (bash scripts, ansible scripts, ci/cd pipeline)
And yet im paid more than i have ever been paid in any job so far
What should i do. Stay due to "high" money or..ask for a project with k8s. I put "high" in quotes because it is extreme luxury in my shithole country, im now among top 1% earners of the country, and yet i make less than 30k a year. With less than 30k a year i cant buy a good car but i can live very comfortably in my country. I cant complain about this salary since i think its finally enough to invest to get a chance to earn more and still have enough left to live comfortably.
Before i was just working to survive. Now im working to live. Its an upgrade.
Due to not working with difficult stuff like k8s i cant demand for more money. It wouldnt feel justified. I'm stuck here
What would u do9 -
Hot take: Rust doesn't go far enough with explicit clone; dropping any type that isn't trivially copiable should also be explicit. I don't mean that it should be leaked if you don't delete it, I mean that the compiler should force you to explicitly say
"I am done with this object, anything that had to know about it has already been notified and either there isn't a single last point of use or it isn't a clone, therefore dropping is justified."
This is the whole meaning of dropping a complex object. I think that this is far too strong a statement to imply in bulk for every value in scope at the end of the function.4 -
Is this a justified code review comment or a bully?
Code reviews are weakness of this industry which has the potential to attract bullies. Abuse of the comment box in a pull request and bombarding the employee with hundreds of comments can cause stress, frustration, burnout and finally resignation and costs of fulfillment for the organization. While companies should find and stop bullying in the work place, what kind of code review comment is considered a bully and why? Any of below traits can mean you are dealing with a bully:
1. Claims the code needs to be changed but doesn't say how. So no matter how many times you change your code, he can repeat the same comment: "Your code is still bad due to blah blah and it needs to be changed".
2. Provides how the code should be changed, but the change doesn't add up to quality, security, performance, readability, etc. i.e. "Why did you use a for loop here? Use a while loop instead". Or "Why did you write it using three classes A, B and C? Instead write it using 4 classes D, E, F and G which does blah blah". In the later case, not following the review comment, you won't get approval. Following the comment means you need to rewrite your whole code. After which, you might again receive more comments to change other parts of your code!
3. Claims the requested change is due to standards but claimed standard does exist anywhere. Internet, company wiki, university course books, anywhere. In more severe cases of psychopathy, the bullying person refers you to a link which hours later turned out to be written by himself! Have fun describing what has happened to your manager or team leader... .
4. Asks the code to be changed in a way that supposedly is closer to standard or of better quality, security, performance, etc. But the proposed way will not work and is the main reason you didn't do that in the first place. So you start arguing forever in the comment box over why his method won't work!
If you cannot see any of the above traits, then keep calm, take a breath, fix your code. Otherwise you might be victim of a bully.3 -
9 Ways to Improve Your Website in 2020
Online customers are very picky these days. Plenty of quality sites and services tend to spoil them. Without leaving their homes, they can carefully probe your company and only then decide whether to deal with you or not. The first thing customers will look at is your website, so everything should be ideal there.
Not everyone succeeds in doing things perfectly well from the first try. For websites, this fact is particularly true. Besides, it is never too late to improve something and make it even better.
In this article, you will find the best recommendations on how to get a great website and win the hearts of online visitors.
Take care of security
It is unacceptable if customers who are looking for information or a product on your site find themselves infected with malware. Take measures to protect your site and visitors from new viruses, data breaches, and spam.
Take care of the SSL certificate. It should be monitored and updated if necessary.
Be sure to install all security updates for your CMS. A lot of sites get hacked through vulnerable plugins. Try to reduce their number and update regularly too.
Ride it quick
Webpage loading speed is what the visitor will notice right from the start. The war for milliseconds just begins. Speeding up a site is not so difficult. The first thing you can do is apply the old proven image compression. If that is not enough, work on caching or simplify your JavaScript and CSS code. Using CDN is another good advice.
Choose a quality hosting provider
In many respects, both the security and the speed of the website depend on your hosting provider. Do not get lost selecting the hosting provider. Other users share their experience with different providers on numerous discussion boards.
Content is king
Content is everything for the site. Content is blood, heart, brain, and soul of the website and it should be useful, interesting and concise. Selling texts are good, but do not chase only the number of clicks. An interesting article or useful instruction will increase customer loyalty, even if such content does not call to action.
Communication
Broadcasting should not be one-way. Make a convenient feedback form where your visitors do not have to fill out a million fields before sending a message. Do not forget about the phone, and what is even better, add online chat with a chatbot and\or live support reps.
Refrain from unpleasant surprises
Please mind, self-starting videos, especially with sound may irritate a lot of visitors and increase the bounce rate. The same is true about popups and sliders.
Next, do not be afraid of white space. Often site owners are literally obsessed with the desire to fill all the free space on the page with menus, banners and other stuff. Experiments with colors and fonts are rarely justified. Successful designs are usually brilliantly simple: white background + black text.
Mobile first
With such a dynamic pace of life, it is important to always keep up with trends, and the future belongs to mobile devices. We have already passed that line and mobile devices generate more traffic than desktop computers. This tendency will only increase, so adapt the layout and mind the mobile first and progressive advancement concepts.
Site navigation
Your visitors should be your priority. Use human-oriented terms and concepts to build navigation instead of search engine oriented phrases.
Do not let your visitors get stuck on your site. Always provide access to other pages, but be sure to mention which particular page will be opened so that the visitor understands exactly where and why he goes.
Technical audit
The site can be compared to a house - you always need to monitor the performance of all systems, and there is always a need to fix or improve something. Therefore, a technical audit of any project should be carried out regularly. It is always better if you are the first to notice the problem, and not your visitors or search engines.
As part of the audit, an analysis is carried out on such items as:
● Checking robots.txt / sitemap.xml files
● Checking duplicates and technical pages
● Checking the use of canonical URLs
● Monitoring 404 error page and redirects
There are many tools that help you monitor your website performance and run regular audits.
Conclusion
I hope these tips will help your site become even better. If you have questions or want to share useful lifehacks, feel free to comment below.
Resources:
https://networkworld.com/article/...
https://webopedia.com/TERM/C/...
https://searchenginewatch.com/2019/...
https://macsecurity.net/view/...