Details
-
AboutNot a real dev. Salesforce one.
-
Skillssalesforce, apex, js, java
-
LocationWarsaw
Joined devRant on 6/20/2016
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
-
I hired a woman for senior quality assurance two weeks ago. Impressive resume, great interview, but I was met with some pseudo-sexist puzzled looks in the dev team.
Meeting today. Boss: "Why is the database cluster not working properly?"
Team devs: "We've tried diagnosing the problem, but we can't really find it. It keeps being under high load."
New QA: "It might have something to do with the way you developers write queries".
She pulls up a bunch of code examples with dozens of joins and orderings on unindexed columns, explains that you shouldn't call queries from within looping constructs, that it's smart to limit the data with constraints and aggregations, hints at where to actually place indexes, how not to drag the whole DB to the frontend and process it in VueJS, etc...
New QA: "I've already put the tasks for refactoring the queries in Asana"
I'm grinning, because finally... finally I'm not alone in my crusade anymore.
Boss: "Yeah but that's just that code quality nonsense Bittersweet always keeps nagging about. Why is the database not working? Can't we just add more thingies to the cluster? That would be easier than rewriting the code, right?"
Dev team: "Yes... yes. We could try a few more of these aws rds db.m4.10xlarge thingies. That will solve it."
QA looks pissed off, stands up: "No. These queries... they touch the database in so many places, and so violently, that it has to go to therapy. That's why it's down. It just can't take the abuse anymore. You could add more little brothers and sisters to the equation, but damn that would be cruel right? Not to mention that therapy isn't exactly cheap!"
Dev team looks annoyed at me. My boss looks even more annoyed at me. "You hired this one?"
I keep grinning, and I nod.
"I might have offered her a permanent contract"45 -
Tech Industry: “We need more developers!”
NewDev: “Hire me”
Tech Industry: “only experienced developers please! We don’t have time to train juniors ”
Older Dev: “Hire me”
Tech Industry: “no, you want too much money and too much time off“
Mid dev: “Hire me”
Tech Industry: “only experienced devs who are a culture fit!”
Robot dev: “Hire me”
Tech Industry: “You are Hired”10 -
So, someone submitted a 'bug' to Mozilla.
As some of you may know, in the next year, the new mass surveillance law in the Netherlands is going into effect.
Another fun fact is that the dutch security agencies/government have their own CA (Certificate Authority) for SSL/TLS certificates.
The new law says that the AIVD (dutch NSA/GCHQ equivilant) is allowed to hack into systems through obtained certificates and also that they're allowed to INTERCEPT TRAFFIC THROUGH OBTAINED PRIVATE SSL/TLS KEYS.
So someone actually had the fucking balls to submit a fucking issue to Mozilla saying that the Dutch State certs shouldn't be accepted anymore when the new mass surveillance law gets into place.
This person deservers a fucking medal if you ask me.68 -
*walks to the kitchen at work to get a glass of water*
*walks back and continues debugging an issue*
*starts drinking from the glass*
.
.
.
.
.
.
.
.
.
.
.
*noticing that I never actually filled the glass*
😐
That "in the zone" moment 😆33 -
Me: I'm really underpaid and you know that. You gotta do something about it.
My Manager: It's on my radar. It's complex. Things like these never move quickly.
*Few weeks later*
My Manager: Hey what's the status on that new POC?
Me: It's on my radar. It's complex. Things like these never move quickly.
*Radio silence in the room*21 -
Best error message I've found during my dev years.
"Error: An error has occurred!"
You don't say! :))8 -
Im at TechDays 2017
Its mostly about microsoft.
All the microsoft speakers use a macbook.
The only non microsoft speaker I saw used a microsoft tablet and had issues.6 -
When you try to learn vim to change from the memory hog Atom and you start to get the hang of it 🙌💯37
-
Going to have to do multiple rants on this one as I've had three awesome teachers.
Number one: Linux teacher.
He was around his 40's to mid 40's I think and he loved talking to people who also had the same passion (linux) about it.
When we had Linux classes which everyone hated, he'd always let me free. He knew I'd be able to finish the 10 weeks' assignments within an hour or so (took me half an hour instead of 10 lessons) so he just said: go do whatever you want.
Aaaaand instead of doing my own thing I ended up saving the whole class.
Yeah he was a very open minded guy who was awesome with linux/the students.10 -
Manager: Write a function to get tomorrow's date.
Kids:
int getTomorrowsDate() {
return getCurrentDate() + 1;
}
Legends:
int getTomorrowsDate() {
sleep(1000*60*60*24);
return getCurrentDate();
}14 -
Oh, man, I just realized I haven't ranted one of my best stories on here!
So, here goes!
A few years back the company I work for was contacted by an older client regarding a new project.
The guy was now pitching to build the website for the Parliament of another country (not gonna name it, NDAs and stuff), and was planning on outsourcing the development, as he had no team and he was only aiming on taking care of the client service/project management side of the project.
Out of principle (and also to preserve our mental integrity), we have purposely avoided working with government bodies of any kind, in any country, but he was a friend of our CEO and pleaded until we singed on board.
Now, the project itself was way bigger than we expected, as the wanted more of an internal CRM, centralized document archive, event management, internal planning, multiple interfaced, role based access restricted monster of an administration interface, complete with regular user website, also packed with all kind of features, dashboards and so on.
Long story short, a lot bigger than what we were expecting based on the initial brief.
The development period was hell. New features were coming in on a weekly basis. Already implemented functionality was constantly being changed or redefined. No requests we ever made about clarifications and/or materials or information were ever answered on time.
They also somehow bullied the guy that brought us the project into also including the data migration from the old website into the new one we were building and we somehow ended up having to extract meaningful, formatted, sanitized content parsing static HTML files and connecting them to download-able files (almost every page in the old website had files available to download) we needed to also include in a sane way.
Now, don't think the files were simple URL paths we can trace to a folder/file path, oh no!!! The links were some form of hash combination that had to be exploded and tested against some king of database relationship tables that only had hashed indexes relating to other tables, that also only had hashed indexes relating to some other tables that kept a database of the website pages HTML file naming. So what we had to do is identify the files based on a combination of hashed indexes and re-hashed HTML file names that in the end would give us a filename for a real file that we had to then search for inside a list of over 20 folders not related to one another.
So we did this. Created a script that processed the hell out of over 10000 HTML files, database entries and files and re-indexed and re-named all this shit into a meaningful database of sane data and well organized files.
So, with this we were nearing the finish line for the project, which by now exceeded the estimated time by over to times.
We test everything, retest it all again for good measure, pack everything up for deployment, simulate on a staging environment, give the final client access to the staging version, get them to accept that all requirements are met, finish writing the documentation for the codebase, write detailed deployment procedure, include some automation and testing tools also for good measure, recommend production setup, hardware specs, software versions, server side optimization like caching, load balancing and all that we could think would ever be useful, all with more documentation and instructions.
As the project was built on PHP/MySQL (as requested), we recommended a Linux environment for production. Oh, I forgot to tell you that over the development period they kept asking us to also include steps for Windows procedures along with our regular documentation. Was a bit strange, but we added it in there just so we can finish and close the damn project.
So, we send them all the above and go get drunk as fuck in celebration of getting rid of them once and for all...
Next day: hung over, I get to the office, open my laptop and see on new email. I only had the one new mail, so I open it to see what it's about.
Lo and behold! The fuckers over in the other country that called themselves "IT guys", and were the ones making all the changes and additions to our requirements, were not capable enough to follow step by step instructions in order to deploy the project on their servers!!!
[Continues in the comments]26 -
A super creepy webcrawler I built with a friend in Haskell. It uses social media, various reverse image searches from images and strategically picked video/gif frames, image EXIF data, user names, location data, etc to cross reference everything there is to know about someone. It builds weighted graphs in a database over time, trying to verify information through multiple pathways — although most searches are completed in seconds.
I originally built it for two reasons: Manager walks into the office for a meeting, and during the meeting I could ask him how his ski holiday with his wife and kids was, or casually mention how much I would like to learn his favorite hobby.
The other reason was porn of course.
I put further development in the freezer because it's already too creepy. I'd run it on some porn gif, and after a long search it had built a graph pointing to a residence in rural Russia with pictures of a local volleyball club.
To imagine that intelligence agencies probably have much better gathering tools is so insane to think about.53 -
Just want to recommend the DevRant stress ball. I wasn't quite sure how to use it (it doesn't come with instructions) but since stuffing mine down the PM's throat my stress level has reduced dramatically.4
-
So this fucking happened today.
Me: *sees support ticket coming in about some kind of login issue*
Me: *opens issue*
"Hello, I can't seem to login. There's an error"
Me: *sighs and thinks "at least give me that FUCKING error message then." *kindly replies with asking if they could send me the error message*
"Here it is. I don't understand what is going wrong
and what I have to do"
Me: *looks at error message*
"Invalid customer ID. Please make sure that your ID is correct. You can find it in the activation email we sent you when you registered".
😐 😶 😦
Me: *thinking okay what the fuck, are you fucking retarded or something?*
Me: *kindly replies: "It seems that you are not using the correct customer ID. You might want to look for it in the activation email we sent you!"*
"Oh okay thanks, how did you figure that out?"
Me: 😵 😐 😶 😭 🔫
Seriously what the actual fucking fuck.27 -
So the person from my previous rant actually tried to make AI in HTML.
Person: I made that AI in HTML today!
Me: Oh really?
Person: Yup. *Opens HTML site*
It was a site that
1) Used JavaScript
2) Was a prompt(), and after answering it alerts "Yes" or "No" randomly.
Me: That's not AI
Person: Uhh yeah it is. It uses a neural network to answer!
Me: Actually, a neural network is a dot product of an input and vectors that are refined using partial derivatives.
Person: Yeah! That's what Math.random() and alert() do!
I left that room as quickly as I could (yet again).30 -
So WhatsApp introduced number linking (with facebook) to its users a while ago.
I know a lot of people who opted out (this option was introduced by facebook because of european laws) because they didn't want their number linked. They said that it infringed their privacy (or however the fuck you spell that).
A few months later we found out that that checkbox thingy didn't do anything and facebook would link everything anyways. They got a 10 million euro fine I thought.
I found one thingy very disturbing though. Told some friends about the ability to opt out (when the scandal hadn't happened yet) and they did right away.
Then later on the scandal became public.
Told them about that.
'Oh but I don't have anything to hide, it's alright!'.
Jesus fucking christ how deep can people sink?! First you say that you opt out because you don't want your fucking data linked and when the fucking scandal gets public you act like everything is fine because 'you have nothing to hide anyways'.
Fucking hell.50 -
She: "Better not visit devRant for the next.. weeks"
Me: "Lol, what have I done?"
She: "The new iPhone is out"
Me: "..."6 -
Dear son: when I ask you to stop using Netflix because I need all the network juice for a work-related call, please do close it or play a downloaded movie. Don't just turn the volume off...4
-
An entirely typical exchange at work:
PM: How long would it take to build an application that collates Gubblefluffs and exports them as a PDF?
ME: Hard to say. What’s a Gubblefluff?
PM: Nothing complex. Its basically an object with some stuff in.
ME: Erm, okay. So I’ll define a Gubblefluff object plus methods to add edit and delete, then for each Gubblefluff have it write a line to a PDF.
PM: It will need to email that PDF to somebody.
ME: Okay, cool. “Gubblefluffs-by-email” should take about a day.
6 hours later…
ME: I’ve done Gubblefluffs-to-pdf, I’m not clear on what’s in a Gubblefluff but I’ve made it flexible so it can take almost anything.
PM: No, a Gubblefluff can ONLY be one of 4 Snigglefingers plus a timestamp and some JSON.
ME: What? Right. Okay. What’s a Snigglefinger?
PM: (sighs) A Snigglefinger is the collection of relevant Babelsets.
ME: Babelsets?
PM: Yeah, a user can have any number of Babelsets but they must correspond to one of the four types of Snigglefingers.
ME: There are users!?
PM: Of course!
ME: But I’ve not coded anything for users.
PM: Shit. I’ve told the client they can have it today. How long to add in users?
ME: And Babelsets, and Snigglefingers and the new Gubblefluff rules?
PM: Yeah.
6 days later…
ME: This is done now. It’s a beast but it works. Who should it email the PDFs to?
PM: Client X, plus cc to Y and bcc to Z.
ME: What? It doesn't support CC and BCC!
1 hour later…
ME: This is done. I’ve tested it and sent you a copy of the PDF it generates.
PM: Okay thanks. Is the cron running daily?
ME: What cron?
…
ME: Okay, so the cron’s running once a day at 8pm.
PM: Oh, it’ll need to be at 3:15pm. That’s when we’ve told the client they’ll get it.
ME: Right. I’ll change it...
PM: Also, the PDF you sent me looks nothing like the visual.
ME: What visual?
...53