Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "analogy"
Customer: What's the difference between an antivirus and an antimalware?
Me: *thinks for a second* So an antimalware program is like if you're on a beach with a metal detector. You're looking around for metal that's already buried in the sand. An antivirus is like actively watching people for if they drop metal on the ground.
Customer: That's an interesting analogy.
Coworker: *quietly* That's a actually a really good analogy...6
D: “Did the attackers exfiltrate any data?”
M: “I can’t say for sure, but most likely based on—”
D: “—but did you find any undeniable evidence of it?”
M: “Keep in mind that the absence of evidence isn’t necessarily evidence of absence. There was very limited logging to begin with and the attacker erased artifacts and logs.”
D: “If there’s no evidence, then there was no exfiltration.”
M: “If a business doesn’t have cameras on its front door and then gets robbed, it can’t claim there was no robbery just because they didn’t video-record it.”
D: “That’s a poor analogy. Nothing’s missing here. I couldn’t care less if a robber made a *copy* of my money. That isn’t robbery.”
M: “... If the Titanic really hit an iceberg, then how come no pieces of an iceberg were ever found in the wreckage?”20
I tutor people who want to program, I don't ask anything for it, money wise, if they use my house as a learning space I may ask them to bring cookies or a pizza or something but on the whole I do it to help others learn who want to.
Now this in of itself is perfectly fine, I don't get financially screwed over or anything, but...
Fuck me if some students are horrendous!
To the best of my knowledge I've agreed to work with and help seven individuals, four female three male.
One male student never once began the study work and just repeatedly offered excuses and wanted to talk to me about how he'd screwed his life up. I mean that's unfortunate, but I'm not a people person, I don't really feel emotionally engaged with a relative stranger who quite openly admits they got addicted to porn and wasted two years furiously masturbating. Which is WAY more than I needed to know and made me more than a little uncomfortable. Ultimately lack of actually even starting the basic exercises I blocked him and stopped wasting my time.
The second dude I spoke to for exactly 48 hours before he wanted to smash my face in. Now, he was Indian (the geographical India not native American) and this is important, because he was a friend of a friend and I agreed to tutor however he was more interested in telling me how the Brits owed India reparations, which, being Scottish, I felt if anyone was owed reparations first, it's us, which he didn't take kindly too (something about the phrase "we've been fucked, longer and harder than you ever were and we don't demand reparations" didn't endear me any).
But again likewise, he wanted to talk about politics and proving he was a someone "I've been threatened in very real world ways, by some really bad people" didn't impress me, and I demonstrated my disinterest with "and I was set on fire once cos the college kids didn't like me".
He wouldn't practice, was constantly interested in bigging himself up, he was aggressive, confrontational and condescending, so I told him he was a dick, I wasn't interested in helping him and he can help himself. Last I heard he wasn't in the country anymore.
The third guy... Absolute waste of time... We were in the same computer science college class, I went to university and did more, he dossed around and a few years later went into design and found he wanted to program and got in touch. He completes the code schools courses and understandably doesn't quite know what to do next, so he asks a few questions and declares he wants to learn full stack web development. Quickly. I say it isn't easy especially if it's your first real project but if one is determined, it isn't impossible.
About six months of sporadic development where I send him exercises and quizzes to try, more often than not he'd answer with "I don't know" after me repeatedly saying "if you don't know, type the program out and study what it does then try to see why!".
The excuses became predicable, couldn't study, playing soccer, couldn't study watching bake off, couldn't study, couldn't study.
Eventually he buys a book on the mean stack and I agree to go through it chapter by chapter with him, and on one particular chapter where I'm trying to help him, he keeps interrupting with "so could I apply for this job?" "What about this job?" And it's getting frustrating cos I'm trying to hold my code and his in my head and come up with a real world analogy to explain a concept and he finally interrupts with "would your company take me on?"
"Do you want the honest unabridged truth?"
"Yes, I'd really like to know what I need to do!"
The next day I got a text "I was thinking about what you said and... I think I'm not going to bother with this full stack stuff it's just too hard, thought you should know."22
A client asked me to do a website completely vanilla instead of using frameworks and libraries. Then asked why the quote is so much more. Is this a good analogy?
Using frameworks and libraries is like you going to the grocery store to buy eggs.
Making a website from scratch is like going into the wild to capture hens, building an enclosure, and caring for the hens at least until they lay eggs.8
Not sure it counts as data loss, more temporary corruption (and in my own brain).
> be me.
> be clinically depressed
> be recently out of an awful breakup
> recently nearly committed suicide by train
> be bored and lonely one night
> take lsd
> feel fine
> go to McDonald’s
> feel fine
> while eating question the nature of reality
> become convinced I’m an observer of a cosmic story and cannot die
> go outside in only jeans
> run in traffic at 1AM to prove my point
> don’t die
> run around the streets more sure of my new reality than I’d ever been of anything
> feel free and no longer sad
> walk around observing the world
> sit on wall and wonder why the story had the structure I was observing
> fall off wall into grass and mud
> follow cute guy into apartment building
> follow into lift
> ask what everything means
> spend better part of couple hours in lift pressing emergency button asking for help
> get no response
> scare poor Russian lady that gets into lift and finds an overweight topless man on the floor babbling incoherently
> ride to top floor
> get out
> sit on leather chair in corridor
> decide I’m actualising my desires and reality
> don’t realise this is just the trip wearing off and consciousness exerting more control
> walk into random apartment (door is unlocked because why wouldn’t it be for the god that I believe I am at this point)
> gorgeous apartment
> realise it’s a family apartment from clothes in hallway and items
> find bathroom
> decide I want a bubble bath
> run bubble bath
> can’t work out how to drain water. Bath now full of twigs and mud #sorry
> decide that I’d like to go home, or onto my next adventure. Hopefully the seaside as I’m now realising I have more control.
> open bathroom door
> not the seaside. Ah well. Try to walk home
> walk home wrapped in fluffy towel from nice family’s apartment
> get home
> realise what had happened
> throw remaining drugs away
> sit and rock in utter paranoia and guilt for hours until flatmate wakes up.
MFW first bad trip ever.
MFW I wonder whether that family knew I was there and were scared / discovered the mess in the bathroom the next morning and not knowing which is worse.
MFW I still have the towel because it’s fluffy AF.
The moral of the story kids, is that when it comes to the OS rattling around in your brain, installing a virus that is sensitive to what apps you have running is a bad idea when those apps make the virus go to fucking town.
Terrible analogy I know, but fuck it.37
Pressing Ctrl + S only once to save your code in the editor is the tech equivalent of locking the door to your mansion and not pulling the knob to check if it has indeed been locked.5
The IT Crowd got it right about facebook 10 years ago.
Talk about Simpsons predictions coming true.
My teacher at school who taught me programming. We were taught Java.
You see, Java is not a beginner's language, most say. But the way she taught it, the examples, the analogy, the explanation; she made it so easy.
She made us execute our first Hello World program (using BlueJ) and proudly said, "you're all programmers now!", that was when fascination took me over. I remember that moment till today.
Also, unlike regular exams, the programming exams required extreme competency. Marks were split up for algorithm and syntax. There were also questions like find the error in this algorithm for this output. She would always surprise us at the exams!
I had several glorious moments in class by being the first to answer most of her questions. At 13, it was kind of a big deal for me.
(Okay, who am I kidding, it still is :-P)
It was mostly just self learning from there. I switched schools and then there was college. Attending classes in college was like going to the gym with fat trainers. Utterly useless :-/ It just made me appreciate her even more.8
The amount of rants on here I see of 'Devs' complaining that other non-tech people aren't knowledgable/ can't understand 'simple' explanations / etc and are mean, or even cruel to those non-techy people is alarming.
Just because you've spent a lot of time on something youre interested in, doesn't mean:
A. Everyone else is interested in it.
B. Everyone knows everything about it.
These 'Devs' are the reason most Universities require mandatory social classes so they can make sure you can talk to people in a nice manner and get your point across.
Majority of the time I need to explain a concept I find simple or I know to someone, I try to find an analogy about something both parties know. I know that pulling the documentation information and giving to them will just result in more questions and they won't understand.
You just gotta know how to talk to people without getting angry at them for being who they are, human.
String TLDR = "Don't be a dick because someone doesn't know something you do"11
do you guys agree with my analogy that the biggest challenge we face as devs is not actually the challenge itself but how to describe your challenge.1
++-ing a random rant from the feed is like a one night stand whereas subscribing to a user's rant is like a long term relationship!57
Customer: So I have operating system corruption? What does that mean?
Me: *thinks for a moment* Okay, so you have a bag of potato chips, right? And you're looking forward to eating those potato chips. However, when you open the bag, there are only crumbs because the guy in front of you in line had accidentally stepped on the bag and crushed them all.
Me: So what we can do is we can grab a can of Pringles--because Pringles are delicious--and dump those in the bag. That way you have a good, full bag of uncrushed digital potato chips.
Customer: I like that, let's do it!
Coworker: ...why are you talking about digital potato chips?8
This rant is particularly directed at web designers, front-end developers. If you match that, please do take a few minutes to read it, and read it once again.
Web 2.0. It's something that I hate. Particularly because the directive amongst webdesigners seems to be "client has plenty of resources anyway, and if they don't, they'll buy more anyway". I'd like to debunk that with an analogy that I've been thinking about for a while.
I've got one server in my home, with 8GB of RAM, 4 cores and ~4TB of storage. On it I'm running Proxmox, which is currently using about 4GB of RAM for about a dozen VM's and LXC containers. The VM's take the most RAM by far, while the LXC's are just glorified chroots (which nonetheless I find very intriguing due to their ability to run unprivileged). Average LXC takes just 60MB RAM, the amount for an init, the shell and the service(s) running in this LXC. Just like a chroot, but better.
On that host I expect to be able to run about 20-30 guests at this rate. On 4 cores and 8GB RAM. More extensive migration to LXC will improve this number over time. However, I'd like to go further. Once I've been able to build a Linux which was just a kernel and busybox, backed by the musl C library. The thing consumed only 13MB of RAM, which was a VM with its whole 13MB of RAM consumption being dedicated entirely to the kernel. I could probably optimize it further with modularization, but at the time I didn't due to its experimental nature. On a chroot, the kernel of the host is used, meaning that said setup in a chroot would border near the kB's of RAM consumption. The busybox shell would be its most important RAM consumer, which is negligible.
I don't want to settle with 20-30 VM's. I want to settle with hundreds or even thousands of LXC's on 8GB of RAM, as I've seen first-hand with my own builds that it's possible. That's something that's very important in webdesign. Browsers aren't all that different. More often than not, your website will share its resources with about 50-100 other tabs, because users forget to close their old tabs, are power users, looking things up on Stack Overflow, or whatever. Therefore that 8GB of RAM now reduces itself to about 80MB only. And then you've got modern web browsers which allocate their own process for each tab (at a certain amount, it seems to be limited at about 20-30 processes, but still).. and all of its memory required to render yours is duplicated into your designated 80MB. Let's say that 10MB is available for the website at most. This is a very liberal amount for a webserver to deal with per request, so let's stick with that, although in reality it'd probably be less.
10MB, the available RAM for the website you're trying to show. Of course, the total RAM of the user is comparatively huge, but your own chunk is much smaller than that. Optimization is key. Does your website really need that amount? In third-world countries where the internet bandwidth is still in the order of kB/s, 10MB is *very* liberal. Back in 2014 when I got into technology and webdesign, there was this rule of thumb that 7 seconds is usually when visitors click away. That'd translate into.. let's say, 10kB/s for third-world countries? 7 seconds makes that 70kB of available network bandwidth.
Web 2.0, taking 30+ seconds to load a web page, even on a broadband connection? Totally ridiculous. Make your website as fast as it can be, after all you're playing along with 50-100 other tabs. The faster, the better. The more lightweight, the better. If at all possible, please pursue this goal and make the Web a better place. Efficiency matters.10
Learning a new framework is like cooking at someone's house you've never been to before, You've got no idea where any of the stuff is kept and their oven has extra weird buttons that don't make sense, but once they've given you a quick walk round you're off and running making something amazing1
Customer: *brings in laptop and printer* My internet has been terrible lately, so this printer hasn't been working very well as a wireless printer. Could you fix it?
Me: Well, it wouldn't help much because it would be hooked up on our network, so when you take it home it won't work on yours.
Customer: I don't understand...
Me: *thinks for a second* okay, so it's like you have two streams of water. Whatever you do in the first stream doesn't effect the second stream of water.
Customer: I still don't understand....
Me: Never mind. Just go home and give us a call. We'll be able to help you better that way.
Customer: Okay, thanks!
Coworker: You can't cross the streams, Rider!2
Programming is like guiding a passenger, who has never flown a plane before, to land a 747 from the ATC.
[The passanger is the computer/your application]
- You have no precise idea what to do, as you are doing this the first time.
- You can't see what's going on in the cockpit, just your radar info and the screams of the passenger though the radio.
- Something could be very wrong and you won't know about it, until the plane crashes and burns.
- You have to tell them every little thing to do, they can't do shit by themselves.
- If the plane crashes everyone will tell you it's your fault.
- Your supervisor tells you it should only take 5 minutes and hands you 3 more planes you need to save.3
Ok I completely lost it... Been in a prod issue all week and basically just said the root cause is bc this team is blind....
Use the forest and trees analogy first but they still didn't seem to see it so I sent them this.
And then the chat went silent....2
"How useful was your CS degree and why?" - I studied CS at university, my education always was incredibly useful.
Firstly, the knowledge you gain in itself is useful. Furthermore, we explain and understand the unknown in terms of the known. Thus, the more you know, the easier you learn new things.
But secondly and more importantly, university teaches you *how* to think. In a structured way, like a scientist or engineer. To see the bigger picture.
I originally wanted to end here, but I've read a couple of entries doubting the usefulness of any CS degree.
Our profession isn't all that different from others. It is, however, relatively young. How's this for an analogy: We're still in the stage of building sand castles. That's fine, and can be self taught. But in years to come we'll want to build bridges and sky scrapers, which are not just "sand castles scaled up". Our sand castle knowledge won't help us here. Sky scrapers need entirely different materials and a good understanding of architectural statics.
Can you still teach that yourself? Maybe. Will a formal education with a degree be useful and generally more trusted? I bet.3
A real chef will rant about a freaking knife sharpness and weight and handle and all that shit. Because a real chef knows what he is holding.
Us? We are happy as long as the knives in our hands can cut some stuffs or stab some people.
// Disclaimer : I just left this comment on a rant where OP claimed many users (average users) have no issues with a particular OS while a bunch of self proclaimed developers have lots of trouble with that particular OS.2
I was telling MisterArie how to get into the productive mode and this analogy pop in my mind.
Getting into a productive mode is pretty much the same as having intercourse.
You just have to successfully start the first push and the rest will eventually follow along smoothly.
// Disclaimer : this analogy is from male perspective only since I'm one.3
Hello devRant fellows, I have a question for those who avoid Google products...
What are your main motivation behind the decision of not using any (or almost any) Google product?
Google is meat, you are a vegan and your non-vegan friend asked you why to start being vegan?
I'm going to highlight the word -friend- because I'm looking for constructive, argumentative, educational and respectful answers.33
For whatever ungodly reason my containers library, which has extensive testing, profiling, and benchmarks against other containers libraries receives regular emails directed towards me about it, always one of two things
1) "don't reinvent the wheel" I have to assume these people haven't looked at the performance characteristics or features at all. I didn't waste away weeks of my life. I needed something and couldn't find it anywhere. I'm outperforming many crap implementations by nearly an order of magnitude, and can offer queries upon the containers in both generalized and specialized forms. As an analogy, I made airless 3d printed wheels, and people are regularly telling me I should still be using ancient wooden spoke wheels; they probably would argue in favor of using a horse drawn carriage as well. How is it possible technically minded people can also be so anti-progress?
2) "Please rewrite this in X language." You know what? YOU rewrite it. I chose what I did because it made it easy to do what I needed to do. Hilariously, the languages I get asked to use most often, are the same who's containers libraries perform worst in the benchmarks.
Both sound like half baked developers trying to sound superior. Pull your head out of your ass and actually outperform me and others. I'm so fucking sick of this "all talk no action" bullshit.5
How can people don't even fucking try to see if there is a better way?
Fuck, I'm constantly even trying to improve my fucking bath routine for fucks sake and these brainless monkeys are gonna be stuck forever with fucking "right click-copy right-click paste instead of keyboard shortcuts" ( just an analogy )
Fuck that makes me angry...2
Had a shoulder operation, and currently unable to move my arm. Getting pretty frustrated with being unable to move and feeling useless.
A mate just explained that I was basically patching my body. After a little downtime I'll be stronger and better.
Somehow, with this logic/analogy, it seems sensible and acceptable!4
Looks like it's time to update the old CV... Christ have I really been here for 8 years.
It's been fun, the most fun time of my life but with new owners breathing on everything stuffs starting to fall to shit.
To use a SysOps analogy there are category 1 - critical warnings ringing in my ears.
I can accept a lot, but I'm genuinely concerned for the future of this place, and after trying to fix things for long enough to realise the new owners are the ones drilling the holes in the ship it's time to sink or swim, and I don't feel like sinking.
To quote billy Joel,
It seems such a waste of time
If that's what it's all about
Mama if that's movin' up
Then I'm movin' out1
I recently came to the realization that my knowledge of APIs is very basic. The idea I have right now is based on the "waiter" analogy. I want to dive deeper into the topic. Does anyone know any sites with decent information on them, other than Wikipedia?2
Sometimes I feel like my brain has a really fast CPU. But the RAM frequency really bottlenecks the whole system.
Any suggestions to upgrade the RAM?2
I am a single-pass compiler.
Well, when I have to do the food shopping for the week, I have a look at the buying list, keep the things in mind, go through the shop exactly once and everytime I see a match with the list, I put it into the shopping trolley.
Efficient and quick.
Soo, on the other hand, my girlfriend is a multi-pass compiler.
What that mean, you ask?
Well, she doesn't have any look at the buying list until she is in the shop. Then, she runs through the whole building until she finally finds the first thing on the list... and repeats with the next one until there's no entry left.
She needs three times longer than me for this, is totally exhausted after it, and, not forgetting, then SHE is angry about ME, because I wanted to have these "special" sweets she had too run through the shop twice for because she couldn't find it at first try.1
Analogy: Assume a JVM is a kingdom, Object is a king of the kingdom, and GC is an attacker of the kingdom who tries to kill the king(object).
When King is Strong, GC can not kill him.
When King is Soft, GC attacks him but King rule the kingdom with protection until resource are available.
When King is Weak, GC attacks him but rule the kingdom without protection.
When king is Phantom, GC already killed him but king is available via his soul.
So Phantom ref is basically GC saying "Omaewa mo shindheru" and the object saying "Nani???"1
so I come with the analogy for "go to hell" it's just expressions when people asks you something very irrelevant and you try to say "go to help" and in anger you just say it "go to hell".
I've thought of the perfect analogy for people who constantly interrupt us while we are coding.
It's like you're a mechanic and you are working on a complex engine. You're focused on what you're doing, your hands are filthy, and you're just about to fit the part in that you've been trying to fit in for the past hour.
Someone comes along and asks you to help them open a pickle jar in the middle of your work. So you have to stop what you're doing, wash your hands, and then help them open the jar. By the time you're done your focus has completely shifted, you lost all momentum, and your progress comes to a complete halt.
This is what it's like for us when you come into our office or call us to ask us a question that isn't important or urgent whatsoever. It's especially frustrating when it's the same question that has already been asked 100 times.
So I was thinking about SSL and trying to understand it (random thought that just came up while eating lunch). I came up with this analogy, not sure if maybe I've heard it before... Is this understanding correctly?
A and B want to send letters but make sure no one other than them can get in on the conversation or impersonate them.
Each is able to create a pen and glasses that must be used to see the ink.
So when they first connect, they exchange the pens.
So even if a middle man can duplicate the pen he can't actually read what anyone is saying. And if he tried to write something, the receiver will know it's not sent by the other since it makes no sense. So they then write a new letter and agree to send each other new pens and use new glasses?1
I lost my cool and got into a trembling furious mode yesterday. The outcome is an ugly pile of mess. After calming myself down and reflecting, this is what I end up telling myself this morning.
I let myself touched shit. When someone was throwing shit at me, I went and touch it and throw it back instead of avoiding it. I created a shit storm instead of a cleansing rain. And now not only me, everyone around me has to breath in shit air.2
!rant but tips
TL;DR consistent commitments form a habit.
I didn't write any code or do any major tasks past 5 days. Rest at home 2 days and went to short trip for remaining. Answered a few business calls. Made few important calls. Didn't bring my laptop with me and used my gf's one for less than 2 hours. (Majority of that 2 hours was spent on changing her W10 Japanese display language into English.)
This morning I found it hard to gain the productivity and concentration I had past few months. I thought I have lost it and got back to my old lazy 🐒 self.
Couldn't able to touch, well didn't have the mood to touch to be precise, my major tasks. I did my best to sit at my desk and finish minor small tasks that I can find the whole morning. That's the best I could do and probably the wise one I did.
After lunch time around 2pm, I gained my concentration back. I worked on my major tasks till 7pm. And now going home happy.
So my "productivity-is-a-lot-like-intercourse" analogy belief became stronger. As long as I commit to my desk and keep my work routine, I won't be losing my concentration and productivity for a long period.
I've always sucked at OOP and OOD, _in part_ because I have never encountered a good, common sense, relatable real-world example or analogy of why one would use protected or private variables/objects/functions over public. I watch tutorials and it all just sounds like static in my head and the explanations are just like "well, it's obvious you want to do blah blah blah because reasons."
Maybe it's just painfully obvious to everyone but me and my tiny brain just isn't capable of understanding. But if anyone has the example or analogy that made OOP click for you, please share.7
There was a project I took over that was supposed to be at 90% when the previous developer quit. The project was in QA with some "minor" bugs that needed to be fixed. When I looked at the minor bugs I realized that the project had major underlying data issues. So after working 80 hour weeks I managed to hobble it together and make the release date.
That was a little over three years ago. Since then another developer has taken over maintenance and enhancements on the product and overall the application works pretty well for what it is.
So his analogy is, that the application is a tank that was made out of aluminum foil that has been hit many times in battle. Whenever it has been hit we have patched the tank with random things like bricks, soda bottles, and old car doors yet somehow it keeps going. The tank is still surviving the war but we really don't know how.
So, one of my professors just love connecting his lectures with marriage .-.
In today's session he went from Android Malware Analysis to marriage. Talked about it for a good 5 minutes
Only to be interrupted by one of students who basically got up and asked something about the topic we were learning, derailing professor's train of marriage analogy.
Their reactions were priceless 😂😂
Then the professor proceeded to answer question and went back to original topic so fast pretending he wasn't talking about anything else1
When someone says that a company is Java/Python/Ruby "shop", they are implying that company sells those programming languages instead of its products. Would you call macys/nordstorm a cottonshop? See how ridiculous that sounds!2
analogy for overfitting :
cramming a math problem by heart even the digits of any problem for exam.
now if the exact same problem comes to exam i pass with full marks else if just the digits are changed however the concept is same and simce i mugged up it all rather than understanding it i fail.
dev = fighter
ops = cleris
network = wizard
design = bard
dba = warlock
infosec = rogue
it is not mine but i think its great analogy. and because i always choose the warlock1
Just finishes my ITIL course (basically IT support management). It was pretty interesting, if somewhat irrelevant to me, but I got paid to do it (and get a qualification) so that's fine.
My issue was with one specific thing the instructor said - 'IT support always complain people who can't fix basic issues shouldn't be allowed to use computers. Wrong. Customers don't need to know anything about IT, that's your job'.
His analogy was that we can drive, or cook with a microwave, but we don't know how cars or microwaves actually work in at a technical level. In the same way, customers can use Word, but need us to recover their deleted files and install Office.
This seems sensible, but if you follow the analogy, there's a disparity.
I might not be able to *fix* a microwave, or know how the components inside it work. I can, however, cook with it. I know it won't work if the door isn't closed, or if it isn't plugged in.
Similarly, you need a license to drive.
Customers don't need to be able to *fix* the tools, but they should be able to *use* them properly. Turn them on, log in, open & use some programs, browse the web, etc. If they aren't confident in this - well, why are we giving an expensive bit of kit to them? I wouldn't hand a chainsaw to someone who doesn't know how to use it. Or a fine piece of china to someone clumsy.
I think people should need to prove they can use the tools before they are allowed them. They'd be happier in the long run.2