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 - "double standard"
If programming languages where weapons...
1. C is an M1 Garand standard issue rifle, old but reliable.
2. C++ is a set of nunchuks, powerful and impressive when wielded but takes many years of pain to master and often you probably wish you were using something else.
3. Perl is a molotov cocktail, it was probably useful once, but few people use it
4. Java is a belt fed 240G automatic weapon where sometimes the belt has rounds, sometimes it doesn’t, and when it doesn’t during firing you get an NullPointerException, the gun explodes and you die.
5. Scala is a variant of the 240G Java, except the training manual is written in an incomprehensible dialect which many suspect is just gibberish.
7. Go is the custom made “if err != nil” starter pistol and after each shot you must check to make sure it actually shot. Also it shoots tabs instead of blanks.
8. Rust is a 3d printed gun. It may work some day.
9. bash is a cursed hammer, when wielded everything looks like a nail, especially your thumb.
10. Python is the “v2/v3” double barrel shotgun, only one barrel will shoot at a time, and you never end up shooting the recommended one. Also I probably should have used a line tool to draw that.
11. Ruby is a ruby encrusted sword, it is usually only used because of how shiny it is.
12. PHP is a hose, you usually plug one end into a car exhaust, and the other you stick in through a window and then you sit in the car and turn the engine on.
13. Mathematica is a low earth orbit projectile cannon, it could probably do amazing things if only anyone could actually afford one.
14. C# is a powerful laser rifle strapped to a donkey, when taken off the donkey the laser doesn’t seem to work as well.
15. Prolog is an AI weapon, you tell it what to do, which it does but then it also builds some terminators to go back in time and kill your mom
All credits go to Vicky from damnet.com6
Story time! Promised this, so making good on the promise. Eh-hem.
Misunderstandings [A slice of life short play that actually happened]
Dramatis Personae (anonymized, bc of course):
Moi ........ me, myself and possibly some lint
Robert ..... co-architect
Daisy ...... line dev
Lisa ....... also line dev
Prologue: the beginninning
[A project is starting up, new devs are coming on, including the two individuals who drive this story.
Daisy, of Indian origin, an exceptional dev and lovely person. Mother, wife, very conservative by upbringing in her early 40s.
Lisa, also exceptional dev, lovely person. Mother, also wife, self-made immigrant with liberal views derived from personal pride and self-bootstrapping]
Enter the office, We introduce everyone, off to a nice start, everyone is happy and excited to be working on [large bank project].
Lisa and Daisy form a friendship of commonality, they have similar backgrounds by all appearances and similar concerns due to children the same age and shared employment. They seem to become fast friends and things proceed normally for some months. Smooth sailing, all is well.
The fuse is lit.
Scene: Lunchtime gossip
[Robert, middle 40s architect adjacent Moi, also architect, age is my own damn business [old, so very old].]
Robert: "So, it seems like Daisy and Lisa are getting along great."
Moi: *snerfs a little, almost chokes on enchilada* Yes, yes they are, It's nice to see...
Robert: *eyebrow, having learned to read my expressions* "Aaaaaaand..."
Moi: "I adore both of them, but they are primarily friends because they don't actually understand most of what the other says"
[Lisa has a thick Taiwanese accent, Daisy has a standard northern indian accent. Never the two shall meet]
Robert: "Are you sure, they seem to have a lot of conversations?"
Moi: "Positive, you weren't at lunch with the three of us. They're polar opposite in terms of values, it'll be fine so long as that never comes up"
Robert: "I'm not even digging into that"
Scene: This is bat country
[More months pass, everything is fine, project is humming along nicely, save a few blips of personality conflicts. Moi takes a vacation. A gas station, somewhere in the middle of Wyoming, a snowstorm, a sports car full of luggage]
Moi: *looks down, sees it's Robert, eyebrow raises, answer* What's on fire?
Robert: "We had to let Lisa go"
Moi: "Ah, they finally understood each other."
Robert: "Yes..." *deep sigh*
[Fade to flashback]
Scene: The office, Lisa's desk
[Daisy and Lisa are discussing non-descript conversation. Daisy broaches the subject of Lisa's past divorce and being a single mother]
Daisy: "It must have been hard, how did you manage?"
Lisa: "I had my daughter, she was my motivation. We made it here, I met my current partner"
Daisy: "That's good! It is so hard, coming to something new. I could never imagine leaving my husband."
Lisa: "He left us, we weren't important, I don't want to marry every again"
Daisy: "Surely you do though? Marriage is great for a woman, my parents found a great husband for me."
Lisa: "Haha, lucky you. Most indian marriage is like prostitution."
[At this moment, Daisy's demeanor takes a nose dive. Whatever was actually said, what she heard was, "Indian marriage is prostitution"]
Daisy: *tears begin pouring down her face, she flings herself back in her chair, head shaking violently she screams* "I AM AN HONORABLE WOMAN!"
[Daisy runs out of the room, straight to HR. Lisa sits there, stunned, not really understanding what just happened or the consequences]
Scene: Back in bat country
[Robert finishes the story, the emotions are a mixture of hilarity at the absurdity of the situation and frustration in the work void it has created]
Moi: "Satan, well. Fuck me. Fuck us. Fuck. Is Daisy alright, is she at least staying? We can't lose two devs at the same time."
Robert: "She got a few days off, she seems fine now, but she's... yeah, I never laughed so hard"
Moi: *double facepalm* "Yeah, the word choice was a bit outrageous. It's not like we didn't know it was coming. I'm going to get back on the road."
Robert: "Alright, enjoy yourself, I'll try and prevent any other forest fires."20
So I work for this European startup and we are hiring new members. Few days ago a CV arrived from a guy who applied for a full stack dev position. Now You know how a standard CV looks like right? It has a header, education part, list of skills, hobbies etc. - simply said a CV should have a logical structure. Now this guy's CV had no structure at all. The whole document was more like a letter that you would send to a friend or some kind of motivational letter - it looks like this:
"Dear sir or madame, my name is ... and I am ... years old. I am writing to apply for ... I was born in ... and I have 3 siblings. My programming skills include ... When I am not programming I just try to relax and play with my cat ..."
Our HR girl showed that to me and I was like "he must be a genius, i think we should interview him in person". So the guy arrived and at the end he was just an ordinary programmer who just forgot to enclose his CV to an e-mail.
I just wanted to say that some people nowadays think that if somebody is weird then he must be super smart or exceptional. Thus more and more people try to behave this way like nerds/geeks in order to attract that attention. However they had not think of that this behavior is like a double edge sword because people also tend to except more from a "genius"2
If I make something and someone else uses it and it breaks, its my fault.
If someone else makes something and I use it and it breaks, its my fault.1
Programming Languages are Like Cars:
Assembler: A formula I race car. Very fast but difficult to drive and maintain.
FORTRAN II: A Model T Ford. Once it was the king of the road.
FORTRAN IV: A Model A Ford.
FORTRAN 77: a six-cylinder Ford Fairlane with standard transmission and no seat belts.
COBOL: A delivery van. It's bulky and ugly but it does the work.
BASIC: A second-hand Rambler with a rebuilt engine and patched upholstery. Your dad bought it for you to learn to drive. You'll ditch it as soon as you can afford a new one.
PL/I: A Cadillac convertible with automatic transmission, a two-tone paint job, white-wall tires, chrome exhaust pipes, and fuzzy dice hanging in the windshield.
C++: A black Firebird, the all macho car. Comes with optional seatbelt (lint) and optional fuzz buster (escape to assembler).
ALGOL 60: An Austin Mini. Boy that's a small car.
ALGOL 68: An Aston Martin. An impressive car but not just anyone can drive it.
Pascal: A Volkswagon Beetle. It's small but sturdy. Was once popular with intellectual types.
liSP: An electric car. It's simple but slow. Seat belts are not available.
PROLOG/LUCID: Prototype concept cars.
FORTH: A go-cart.
LOGO: A kiddie's replica of a Rolls Royce. Comes with a real engine and a working horn.
APL: A double-decker bus. It takes rows and columns of passengers to the same place all at the same time but it drives only in reverse and is instrumented in Greek.
Ada: An army-green Mercedes-Benz staff car. Power steering, power brakes, and automatic transmission are standard. No other colors or options are available. If it's good enough for generals, it's good enough for you.
Java: All-terrain very slow vehicle.11
I think I want to quit my first applicantion developer job 6 months in because of just how bad the code and deployment and.. Just everything, is.
I'm a C#/.net developer. Currently I'm working on some asp.net and sql stuff for this company.
We have no code standards. Our project manager is somewhere between useless and determinental. Our clients are unreasonable (its the government, so im a bit stifled on what I can say.) and expect absurd things from us. We have 0 automated tests and before I arrived all our infrastructure wasn't correct to our documentation... And we barely had any documentation to begin with.
The code is another horror story. It's out sourced C# asp.net, js and SQL code.. And to very bad programmers in India, no offense to the good ones, I know you exist. Its all spagheti. And half of it isn't spelled correctly.
It's... God awful. The result of a billion and one quick fixes that nobody documented. The configuration alone has to have the same value put multiple times. And now our senior developer is getting the outsourced department to work on moving every SINGLE NORMAL STRING INTO THE DATABASE. That's right. Rather then putting them into some local resource file or anything sane, our website will now be drawing every single standard string from the database. Our SENIOR DEVELOPER thinks this is a good idea. I don't need to go into detail about how slow this is. Want to do it on boot? Fine. But they do it every time the page loads. It's absurd.
Our sql database design is an absolute atrocity. You have to join several tables together just to get anything done. Half of our SP's are failing all the time because nobody really understands the design. Its gloriously awful its like.. The epitome of failed database designs.
But rather then taking a step back and dealing with all the issues, we keep adding new features and other ones get left in the dust. Hell, we don't even have complete browser support yet. There were things on the website that were still running SILVERLIGHT. In 2019. I don't even know how to feel about it.
I brought up our insane technical debt to our PM who told me that we don't have time to worry about things like technical debt. They also wouldn't spend the time to teach me anything, saying they would rather outsource everything then take the time to teach me. So i did. I learned a huge chunk of it myself.
But calling this a developer job was a sick, twisted joke. All our lives revolve around bugnet. Our work is our BN's. So every issue the client emails about becomes BN's. I haven't developed anything. All I've done is clean up others mess.
Except for the one time they did have me develop something. And I did it right and took my time. And then they told me it took too long, forced me to release before it was ready, even though I had never worked on what I was doing before. And it worked. I did it.
They then told me it likely wouldn't even be used anyway. I wasn't very happy at all.
I then discovered quickly the horrors of wanting to make changes on production. In order to make changes to it, we have to... Get this
Write a huge document explaining why. Not to our management. To the customer. The customer wants us to 'request' to fix our application.
I feel like I am literally against a wall. A huge massive wall. I can't get constent from my PM to fix the shitty code they have as a result of outsourcing. I can't make changes without the customer asking why I would work on something that doesn't add something new for them. And I can't ask for any sort of help, and half of the people I have to ask help from don't even speak english very well so it makes it double hard to understand anything.
But what can I do? If I leave my job it leaves a lasting stain on my record that I am unsure if I can shake off.
... Well, thats my tl;dr rant. Im a junior, so maybe idk what the hell im talking about.16
Cross platform terminal library is just about complete!
Here's the same program running in both Windows and "Ubuntu" (WSL, but it's using the ncurses back-end nonetheless)
What my library does:
- Double-buffers the console for drawing (like curses does)
- Translates input into a standard structure (Linux and Windows have different input systems, obviously)
- Does the same thing for output
- Even supports color!3
update of after i got fired: after the fuck developers company llc was left with no developers, there was a girl there that i didn't mention earlier because as i said: the story is more complex. she came there with good intentions but after she knew the cruel nature of fuck and shit she became notoriously mad, we're still in contact with her so it's nice to hear from her some of the gags that happen there, one of which my really intelligent ex-boss the wordpress DEVELOPER himself told her to finish one of the projects i was working on, and a friend of mine who is infamous of his coding shenanigans left it in my hands before he left as well a couple of months prior (well he was fed up before us, and when i told him to stay with us he said "dude just listen to the motherfucker's voice, i can't do this anymore", my lovely ex-boss has this equally lovely screechy high pitched voice that caused me tinnitus), it's an asp.net project, uses web forms, and a lot of apis, the database is sql server, standard shit but there's no original creation script and i fucked up the only existing database which was in a local computer he used to like calling a SERVER, now to the point: this girl is not a developer, she was however working as a reporter?? kind of like jaspersoft the human or sap crystal woman and she claims that she's pretty good at it, and she's a genuinely good person who was dragged to hell just because she wanted to be close to her daddy (she was working in a different city with more than double the salary she's given now), but she's rich and her dada convinced her to come. she's currently learning java ee on her own so she'd probably leave in the next two months, in her resume she wrote that she know php, well i know php you know php we all know php (the syntax) kind of like mr. shit who passed the sololearn php CERTIFICATE and couldn't stop telling his boss and his boss a.k.a my ex-boss goes "sweet!". going back to the punchline of this rant: she told us that he came to her and asked her to finish the project with php.12
"I've quit Facebook" - congratulations, and here is your medal.
Like, most that are quitting facebook raves about how bad it is, but what they don't realize is that they're bringing Facebook behavior to other platforms instead. "Look at me; how great am I for quitting Facebook"-behavior and actions are only seen on Facebook.
I don't like Facebook either (and haven't used it in years), but there is a phrase that is perfect for when shit like this happens: "double standard".3
I find it very strange and telling when people tell me that a dev shouldn't "re-invent the wheel", "roll your own" or "leave it to the experts" while simultaneously promoting substandard own-rolled projects by other people that simply got popular.
Kind of a strange elitist double standard that encourages a bad mindset of "I can't be as good as them" and it's toxic.
If you wanna make your own framework / package / etc, just do it, it might even be better.7
Head hunting interview:
Q: Are your front end dev?
A: Yup, I'm website's frontend developer.
Q: Are you good at AngularJS?
A: No, I'm not. I only know Reactjs, and Ember.
Q: How about backend, you said you know Rail?
A: Yes, maybe for 3 month experience.
Q: So we need Angular guy, but it seem that you are BAD at Angular. Can you JOIN our next interview?
A: Sorry. I already told you that I don't care about Angular. Isn't it totally different with BAD at Angular? Thank for your consideration. I'm out.
Is there any double standard such as without AngularJS you will be considered that you are terrible at AngularJS?5
Oh god, structure alignement, why you do this... You might be interested if you do C/C++ but haven't tried passing structures as binary to other programs.
Just started working recently with a lib that's only a DLL and a header file that doesn't compile. So using python I was able to use the DLL and redefined all of the structures using ctypes, and the nice thing is: it works.
But I spent the whole afternoon debugging why the data in my structures was incoherent. After much cussing, I figured out that the DLL was compiled with 2 bytes packing...
Packing refers to how structures don't just have all the data placed next to each other in a buffer. Instead, the standard way a compiler will allocate memory for a structure is to ensure that for each field of the structure, the offset between the pointer to the structure and the one to the field in that structure is a multiple of either the size of the field, or the size of the processor's words. That means that typically, you'll find that in a structure containing a char and a long, allocated at pointer p, the double will be starting at p+4 instead of the p+1 you might assume.
With most compilers, on most architectures, you still have the option to force an other alignment for your structures. Well that was the case here, with a single pragma hidden in a sea of ifdefs... Man that took some time to debug...2
My team is in charge of an old and huge monolith. Many times we have to write dirty hacks because otherwise we would need to rewrite lots of things just to make even 1 tiny addition.
- When my supervisor makes a hack: "yeah I know it's bad, but it's a shortcut that should temporarily satisfy the business now, we'll fix it later hahaha"
- When I make a hack: "it's a hack, can you not do that?"1
Sigh. I don't like the methods of first line helpdeskers. Computer problem? Restart it, or.. re-image it. The hell..
I know these are standard practices but I don't like them at all. Just because there's a small issue with a device, you're going to throw everything away? No troubleshooting at all? I don't call that troubleshooting nor helping.
My friend works as first line helpdesk and I told him: "Hey, WhatsApp isn't giving me double checkmarks anymore for my messages to you since last night. It's odd." and his response is: "Restart your phone". My god.. how much more technically ignorant could he be? Everything network-related on my phone is working, including WhatsApp, but no.. "restart your phone". Anyway.4