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 - "weird examples"
-
writing library code is hard.
there are sooo many details that go into writing good libraries:
designing intuitive and powerful apis
deciding good api option defaults, disallowing or warning for illegal operations
knowing when to throw, knowing when to warn/log
handling edge cases
having good code coverage with tests that doesn't suck shit, while ensuring thry don't take a hundred years to run
making the code easy to read, to maintain, robust
and also not vulnerable, which is probably the most overlooked quality.
"too many classes, too little classes"
the functions do too much it's hard to follow them
or the functions are so well abstracted, that every function has 1 line of code, resulting in code that is even harder to understand or debug (have fun drowning in those immense stack traces)
don't forget to be disciplined about the documentation.
most of these things are
deeply affected by the ecosystem, the tools of the language you're writing this in:
like 5 years ago I hated coding in nodejs, because I didn't know about linters, and now we have tools like eslint or babel, so it's more passable now
but now dealing with webpack/babel configs and plugins can literally obliterate your asshole.
some languages don't even have a stable line by line debugger (hard pass for me)
then there's also the several phases of the project:
you first conceive the idea, the api, and try to implement it, write some md's of usage examples.
as you do that, you iterate on the api, you notice that it could better, so you redesign it. once, twice, thrice.
so at that point you're spending days, weeks on this side project, and your boss is like "what the fuck are you doing right now?"
then, you reach fuckinnnnng 0.1.0, with a "frozen" api, put it on github with a shitton of badges like the badge whore you are.
then you drop it on forums, and slack communities and irc, and what do you get?
half of the community wants to ban you for doing self promotion
the other half thinks either
a) your library api is shitty
b) has no real need for it
c) "why reinvent the wheel bruh"
that's one scenario,
the other scenario is the project starts to get traction.
people start to star it and shit.
but now you have one peoblem you didn't have before: humans.
all sorts of shit:
people treating you like shit as if they were premium users.
people posting majestically written issues with titles like "people help, me no work, here" with bodies like "HAAAAAAAAAALP".
and if you have the blessing to work in the current js ecosystem, issues like "this doesn't work with esm, unpkg, cdnjs, babel, webpack, parcel, buble, A BROWSER".
with some occasional lunatic complaining about IE 4 having a very weird, obscure bug.
not the best prospect either.3 -
So here is my week 72 as a reviewer. But first, let me ask y'all. Am I weird to think that you should finish coding the thing and testing the thing before kicking it out to review? Cuz that's how I do it. And that is the process at my work place.
So anyway, I was doing this review. And it was very wrong. Like really, really wrong. We give a thorough intro to our product (perhaps too thorough) so this guy should have known every test case he had to cover. Or at least, if he was unsure, asked. It was all documented.
Anyway, he kicks out this peer review. First thing I notice, it is not following the standard. Fair enough, we didn't give him the coding standard. BUT HE DIDN'T EVEN MAINTAIN THE FORMAT OF THE ORIGINAL FILE. HE JUST DID HIS OWN THING!!! So I email him the coding standard and make a comment in the review. He denies the finding. No reason. Just turns it down. Strike 1.
Then, I'm going through and he didn't even cover all of the core cases. I found several core cases that he missed. And every edge case. Make a not of it. He fixes only the couple of examples I gave him. Strike 2.
Guy decided to redesign a major chunk of our interfaces. Our interfaces are not just used by us (hence interfaces). We designed them the way they were for a reason. It was not a fun design process. Myself, the architect, one of our customers, and the guy that did the implementation all told him to roll back his change. Especially since it wasn't in the scope of what he was doing. He wouldn't. Strike 3.
I go to the lead and bring him in. He has a talk with him. All of the sudden he is putting out multiple builds per finding. Like most times I will put out like 2 to 4 for the whole peer review. No he kicks out minimum one per finding and chokes the review queue. Strike 4.
Strike 5: he tells me, a former DBA, that I didn't know what I was talking about when I told him to move something into a new table, even after I told him that "while in database terms it doesn't make sense, this is for product robustness".
Strike 6: he was just a condescending asshole. Bragging about how he did this job and that job over his career. His longest position held was about 18 months. Bragged about working at my company and being some hotshot at the company: only worked here for 8 months and that was 5 years ago.
You know. I have never really wanted to fight someone after about undergrad. But he came close.7 -
Never worked before so I'll talk about one of the former staff at my school.
This guy worked as IT and did some teaching in the high school. Early last year, he suddenly disappears for no reason.
Now, I'm going to go in order of what we (the students) found out, not, chronological order.
Firstly, turns out that in class he would make comments about female students. Nothing explicit, just kinda strange. I forget the examples I heard but think like the overly friendly old guy. Those types of comments from a 40-something IT guy. (Some female students knew about this for a long while but I only heard about it after the investigation)
Next, rumor got out that they found some stuff on his computer. I don't know how, but it turned out to be accurate, and we were accurate at the follow-up assumption that it was porn.
After that, the school made an announcement that we had been arrested. Up until then, we just assumed he had been sacked. He was weird sure, but we didn't think criminal.
Some other students looked into the police records, and it turns out this guy had been arrested for possession and distribution of child pornography.
Pretty sick right? Its worth pointing out now that our school has Pre-K through 12th grade students.
I gained a new level of respect for my female classmates after that. I didn't even know that was going on, really wish I could have helped out.1 -
OMFG. Here's a self-rant for you all...
So, working on a JS library to build widgets, I five across some weird behaviour where I expect `$.ajax.apply()` to pass something to the chained `.done()` method, but it comes out differently.
Fuck. Right, time to visit StackOverflow and glean some knowledge.
I post a question, complete with examples and descriptions and a little midget unicorn in the corner for world peace.
Come back a bit later to see what's happened, and nobody understands my damn question!
So I proceed to debate a few points with some other devs, going back and forth for a while, but still nobody knows what I'm asking.
Fuck. Time for a JSFiddle...
Copy code from the jQuery docs and start modifying it to show what I was working with... Now suddenly is all working as the docs say.
O.o
So I go look back at my own code again to try work out what's actually going on.
Turns out I completely missed MY OWN CODE.
Fuck me.1 -
I just love working with this other company!
Their projects are fucking complicated, but still doable, they entertain me
But most of all, the examples they make are just awesome!
Like now I'm developing a CRM for a small clinic and there was an issue like "what are notes for?"
Reply:
"The patient is showily homosexual, remember to ask for his HIV exams after his next visit"
Other examples:
Q: "what happens during the visit?"
A: "the patients comes in, the receptionist will hand over a tablet with some questions like how deep his asshole is, then proceeds to to doctor office and there he will be raped for 30m, during the rape the doctor will take note of how destroyed his anus is, and will proceed to prepare a therapy"
Q: "I see there's the requirement for attachments"
A: "yeah once they get into the doctor room, they will be asked stuff like feet pictures to let the doctors jerk off later at night, but also PDFs about exams or some kind of stuff like that"
Q: "Will the staff be able to notify one another about random shit?"
A: "They're 3 people in like 40 square meters, so they might as well just shout 'hey, I shit myself bc there's no more toilet paper', they're close enough to hear one another"
---
I'm sorry in advance if you feel offended by any part of this4 -
I spent the whole day coding in python (usually I code in php or perl) and this language is a fucking joke. C'mon, why everything have to be done in such a weird way? And don't say it's python way because it's bullshit way. Want some examples?
", ". join(str(x) for x in array)
to join array of integers. wtf is that?
True|False
why in hell you need the first letter to be uppercase when your own fucking standard says to use lowercase letters in eg. var names and method names. why?
math.isnan(float(x))
to check if a variable (expected to be integer) is NaN. I won't fucking comment that...
Even prolog don't have such stupid things6 -
!dev && !rant
so in my native language (slovak), basically any noun has a neutral (default), diminutive, and augmentative form.
including (first) names.
for literally decade and a half, SOME names sounded weird to me, as if there was something... unnatural about them, but I had no idea what, or why.
and then one day i finally gave it a proper thought, and realized:
those names don't have all three forms, only two.
because they basically lack the neutral form, and their default form is simultaneously their diminutive.
so i was happy to have figured it out, finally. but then i noticed that some names still sound weird, unnatural.
and then i realized, there's another cathegory - those which only have two forms, because their default is simultaneously their augmentative.
and so I finally had all the name cathegories figured out.
funny thing though, even though i now know this, and even though i've reminded myself of this many times...
...every time i think about it, I have huge trouble remembering even a single name for either of the two special cathegories, precisely as I have this time.
except right now i can't be bothered.
if anyone is curious, poke me in the comments and i'll come up with examples later.9 -
Hey all, just wondering what it was like for you when starting out your career.
I'm a newish dev, been full time for about a year hired right after my internship. My role has a bunch of hats ranging from DevOps/sys admin to software engineering, sort of a weird mashup of skills so it's not pure software engineering. I mainly work with python, Ansible, and some terraform.
However I still just want to say I'm sorely disappointed in my undergrad classes.
I have a "concentration" in software engineering. I did struggle in classes as I was working full time to pay for classes without taking out loans, but I don't really remember learning a whole lot that was useful in industry.
Overall I just feel like just paid money for a degree that didn't teach me very much useful stuff. Maybe I'm just lacking experience? Maybe what I learned I just don't notice myself applying because it's subconscious?
My coworkers have taught me so much, and I'm very thankful they invested that time into me. I still get ripped to shreds during code reviews lmao (definitely not as much compared to when I first started but I'm also still learning and will always be)
Plus our company docs are pretty good so I can always read through them or search our codebase for examples on how to utilize in house tools etc.
I definitely hit the jackpot with this job, just feeling like I should have been prepared more.4 -
Bought great book from this Spanish company on Drupal. The book is well structured and the examples are excellent. Just some typos that they mistranslate from Spanish.
But thought it was weird that the code examples were not available online. Sent them an email to request for them.
They answered that the code is not online beacuse their students have to remake the code using the book in their courses. And ask them if I was interested in the course.
Fuck them! They are using opensource code but their examples are not open source because of some elementary-level school mentality that their students might copy the code and somehow not learn well.
They are fucking adults ffs!
Ps: Even though their answer piss me off, they still have the best book I've read on Drupal.2 -
So i bribed a fellow dev/friend who HATES php and Magento... to help me grind out a Magento site while im super behind on a bunch of crap that's mostly boring administrative bs (#ReluctantlyInCharge)
He knew I was coding in python several times over the past several months... yet, despite my near constant griping of formatting bs and high preference of basically anything that doesnt require readability-esq formatting... he apparently didnt get it.
I need to make a quick splash page with a timer on it (other cool elements that i dont think ive ever seen done but i figured why not... weird shit is totally on brand here... like scripting page elements to change and see if people catch on... in very basic ways)...
I know js plenty... but I'd likely have looked up the syntax, was lazy, he loves js (for the intended purpose... he does a lot of blockchain dev) so i asked if hed write me a quick timer line cuz... well im lazy.
He totally overcomplicated it and sends me a page he typed up incl html header. Timer was 3 short block/lines with semicolons... i laughed and wondered why he did all that instead of just the little js... he didnt know either. I told him as a courtesy id make sure to keep the js formatting as he wrote it instead of 1 line...
He sends me 2 examples of a js timer in 1 line... like 1semicolon... i had to show him what i actually meant... 3 'lines' with semicolons on 1 visual line...
He was stunned, then realised i must really hate python11 -
I started using angular about one month ago, I did a long course and now I'm trying to do my first commercial app.
I have to say I really really hate the template engine of angular, I've been web developing for about 5 years, I've used bootsrap, materialize and foundation.
It rally sucks how it's all different in angular, their fucking gryd system didn't even use classes, use weird html tags, and the angular material has very very poor examples and documentation.
Another shitty thing is the Google search, when I search any shit about angular or angular material I have to watch careful if it is angularjs or only angular because most folks switch the names without any criteria.
Why the hell Google has to make a framework so incompatible with standard shit? Why it has to be a pain to use a fucking framework after 5 years of experience?
If someone can give me an advice I will be grateful1 -
Any gift recommendations. My birthday comes up in a few days and he asked what I wanted as a birthday gift(gifts are supposed to suprises but being able to choose is good still).
However I cannot ask for electronic gadgets. That knocks a lot of stuff of. The exception is that if something does not make me spend more time on the computer that is allowed. Kinda weird. For example I can ask for a printer or medical equipment like oximeters since that wont make me spend more time on the computer. Both of these examples were given by my father. I could ask for a new printer however we still have a printer but it is currently in the shop since it is not being used and the shops printer broke and is hell to replace since they need chips to verify toners and you need to get those chips separately from what my father told me and the shops printer should be repaired in a few months since lockdown was lifted a few days ago and I won't need to print something since everything is online and they don't need to show student projects yet.
Thia knocks a lot of hardware off since by definition if I am using hardware I still need to code it to do something which is more time on computer which is not allowed. So no fiddling with aurdino or rasberry pie or whatever is the most used hardware kit.
I can buy some course or a book to learn something but I already have problems with consistently learning c# with a good book which will lose value in November and that most topics I would like to learn like computer networking or some new language are practical which is more time on computer which is not allowed.
So the only thing I can buy are some books to enjoy reading for fun or some school books like a science digest book like Together with or the ultra popular maths reference book RD Sharma
So what things should I ask which comply with the rules my father has laid or just skip this thing1