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 - "gem this"
-
Received "emergency update" code from internal enterprise security team. Wasn't given time to do code review; was assured code was reviewed and solid.
Pushed code to over 6k lower-level servers before finding this gem buried deep within:
...
cd /foo; rm -rf *; cd /
...
(This ran as root, and yes, the cwd was / from earlier in the code).
/foo, of course, did not exist on some servers.
Now, it is those servers which do not exist.
FMLundefined security root linux file not found directory structure rm -rf / directory not found fml rm15 -
While reading through the Elasticsearch (Java search engine) source code a while ago I found this gem:
return i == -1? -1: i;
I think someone should stop drinking while coding.
Some other nice lines:
int i = 0;
return j + 1000 * i;
Are these guys high?11 -
I think I've shown in my past rants and comments that I'm pretty experienced. Looking back though, I was really fucking stupid. Since I haven't posted a rant yet on the weekly topics, I figure I would share this humbling little gem.
Way back in the ancient era known as 2009, I was working my first desk job as a "web designer". Apparently the owner of this company didn't know the difference between "designer", which I'm not, and "developer", which I am, nor the responsibilities of each role.
It was a shitty job paying $12/hour. It was such a nightmare to work at. I guess the silver lining is that this company now no longer exists as it was because of my mistake, but it was definitely a learning experience I hold in high regard even today. Okay, enough filler...
I was told to wipe the Dev server in order to start fresh and set up an entirely new distro of Linux. I was to swap out the drives with whatever was available from the non-production machines, set up the RAID 5 array and route it through the router and firewall, as we needed to bring this Dev server online to allow clients to monitor the work. I had no idea what any of this meant, but I was expected to learn it that day because the next day I would be commencing with the task.
Astonishingly, I managed to set up the server and everything worked great! I got a pat on the back and the boss offered me a 4 day weekend with pay to get some R&R. I decided to take the time to go camping. I let him know I would be out of town and possibly unreachable because of cell service, to which he said no problem.
Tuesday afternoon I walked into work and noticed two of the field techs messing with the Dev server I built. One was holding a drive while the other was holding a clipboard. I was immediately called into the boss's office.
He told me the drives on the production server failed during the weekend, resulting in the loss of the data. He then asked me where I got the drives from for the Dev server upgrade. I told him that they came from one of the inactive systems on the shelf. What he told me next through the deafening screams rendered me speechless.
I had gutted the drives from our backup server that was just set up the week prior. Every Friday at midnight, it would turn on through a remote power switch on a schedule, then the system would boot and proceed to copy over the production server's files into an archive for that night and shutdown when it completed. Well, that last Friday night/Saturday morning, the machine kicked on, but guess what didn't happen? The files weren't copied. Not only were they not copied, but the existing files that got backed up previously we're gone. Why? Because I wiped those drives when I put them into the Dev server.
I would up quitting because the conversation was very hostile and I couldn't deal with it. The next week, I was served with a suit for damages to this company. Long story short, the employer was found in the wrong from emails I saved of him giving me the task and not once stating that machine was excluded in the inactive machines I could salvage drives from. The company sued me because they were being sued by a client, whose entire company presence was hosted by us and we lost the data. In total just shy of 1TB of data was lost, all because of my mistake. The company filed for bankruptcy as a result of the lawsuit against them and someone bought the company name and location, putting my boss and its employees out of a job.
If there's one lesson I have learned that I take with the utmost respect to even this day, it's this: Know your infrastructure front to back before you change it, especially when it comes to data.8 -
Found this gem on spiceworks.
Link:-
https://community.spiceworks.com/to...
Below transcript was sent to poster by someone
My workplace and a twenty three year-old phone app developer:
Them (on phone): Can you send me a clicker carpet with the laptop?
Me: ...
Me: a what now?
Them: Clicker. Carpet.
Me: A ... clicker carpet.
Them: Yes
Me: What the. what is a clicker carpet?
Them: You know the clicker. The thing that moves the arrow on the
screen
Me: ...
Me: A mouse?
Them: No, the clicker. (Sends me an image of a mouse) This.
Me: That's called a mouse.
Them: I need a carpet for one of those.
Me:. A mouse pad
Them: The clicker carpet.
Me: It's a fffff. it's called a mouse pad. The clicker is a mouse. The
thing under it is a pad. MOUSE. PAD
Them: You old people and your made-up technical names.
Me: No, it's always been mouse and mouse pad.
Them: I have text messages with friends that says otherwise.
Me: The Desktop team is sending you a MOUSE PAD with the laptop.
Them: My friends and I are on the cusp of eliminating the PC with the
cellphone, by the ways. So I may only use the laptop for like year or so.
Me (under my breath): You and your friends are idiots.
Them: What?
Me: What? Are we done?
Them: Yes what?
Me: *hangs up*
Everyone was looking at me by the end of the call. I got louder the longer
I talked to this guy. When I told them about phones replace PCs, our main
dev was like, "Do they expect hours programming shit on the cellphone?
This kid is stupid."
Thanks for validating my feelings.7 -
So because of the sheer number of interviews I’ve been doing I’m starting to get a bit brazen with them since I’ve started to really not give a fuck about most of them and I’ve started to notice patterns in common lines of questioning resulting in this unexpected gem today:
Interviewer: So we always start our devs off on the bottom end of our salary band.
Dev: Either give me the top or I’m not interested.
Interviewer: 😡. But if we start you at the top of the salary band we’ll have nothing to give you later. 🥺.
Dev: No need, I’ll take the money up front. Companies don’t give raises these days anyway, it’s just a carrot to dangle in front of the naive.
Interviewer: 😡. Well if all you care about is money so focussed on money you’ll just leave if a better offer comes around!
Dev: All the more reason to give me the highest number possible to defend against that possibility.
Interviewer: 😡. But there are other devs on the team with similar experience that will be making less than you.
Dev: Sounds like they fell for the negging and guilt tripping you are currently attempting on me in order to save a buck. Salary is not based on your skills or experience anymore, it’s based on your ability to negotiate. Here’s mine.
Interviewer: ………………. I’ll pass you along to the hiring manager.
Dev: ???? wtf
HOW THE FUCK DID THAT ACTUALLY WORK ARE YOU FUCKING KIDDING ME I WAS TRYING TO GET THEM TO HANG UP FOR SHITS AND GIGGLES AND NOW I’M LOOKING AT A 20K RAISE ALL BECAUSE I CONTINUALLY TOLD THEM TO GO FUCK THEMSELVES??? THIS IS ACTUALLY WHAT IT TAKES TO BE TREATED PROPERLY BY A COMPANY???13 -
Found this gem on GitHub:
// At this point, I'd like to take a moment to speak to you about the Adobe PSD format.
// PSD is not a good format. PSD is not even a bad format. Calling it such would be an
// insult to other bad formats, such as PCX or JPEG. No, PSD is an abysmal format. Having
// worked on this code for several weeks now, my hate for PSD has grown to a raging fire
// that burns with the fierce passion of a million suns.
// If there are two different ways of doing something, PSD will do both, in different
// places. It will then make up three more ways no sane human would think of, and do those
// too. PSD makes inconsistency an art form. Why, for instance, did it suddenly decide
// that *these* particular chunks should be aligned to four bytes, and that this alignement
// should *not* be included in the size? Other chunks in other places are either unaligned,
// or aligned with the alignment included in the size. Here, though, it is not included.
// Either one of these three behaviours would be fine. A sane format would pick one. PSD,
// of course, uses all three, and more.
// Trying to get data out of a PSD file is like trying to find something in the attic of
// your eccentric old uncle who died in a freak freshwater shark attack on his 58th
// birthday. That last detail may not be important for the purposes of the simile, but
// at this point I am spending a lot of time imagining amusing fates for the people
// responsible for this Rube Goldberg of a file format.
// Earlier, I tried to get a hold of the latest specs for the PSD file format. To do this,
// I had to apply to them for permission to apply to them to have them consider sending
// me this sacred tome. This would have involved faxing them a copy of some document or
// other, probably signed in blood. I can only imagine that they make this process so
// difficult because they are intensely ashamed of having created this abomination. I
// was naturally not gullible enough to go through with this procedure, but if I had done
// so, I would have printed out every single page of the spec, and set them all on fire.
// Were it within my power, I would gather every single copy of those specs, and launch
// them on a spaceship directly into the sun.
//
// PSD is not my favourite file format.
Ref : https://github.com/zepouet/...16 -
curl cheat.sh — get an instant answer to any question on (almost) any programming language from the command line
tldr
do curl cht.sh/go/execute+external+program to see how to execute external program in go
And this question: why I actually should I start the browser, and the browser has to downloads tons of JS, CSS and HTML, render them thereafter, only to show me some small output,
some small text, number or even some plot. Why can't I do a trivial query from the command line
and instantly get what I want?
I decided to create some service that will work as I think such a service should work.
And that is how wttr.in was created.
Nowadays you probably know, how to check the weather from the command line, but if not:
curl wttr.in
or
curl wttr.in/Paris
(curl wetter in Paris if you want to know the weather in Paris)
After that several other services were created (the point was to check how good the console
can solve the task, so I tried to create services providing information
of various nature: text, numbers, plots, pseudo graphic etc.):
curl rate.sx/btc # to check exchange rate of any (crypto)currency
curl qrenco.de/google.com # to QRenco.de any text
And now last but not least, the gem in this collection: cheat.sh.
The original idea behind the service was just to deliver a various UNIX/Linux command line cheat sheets via curl. There are several beautiful community driven cheat sheet repositories such as tldr, but the problem is that to use them you have to install them first, and it is quite often that you have no time for it, you just want to quickly check some cheat sheet.
With cheat.sh you don't need to install anything, just do:
curl cheat.sh/tar (or whatever)
you will get a cheat sheet for this command (if such cheat sheet exists inf one of the most popular community-driven cheat sheet repositories; but it surely does).
But then I thought: why actually show only existing cheat sheets? Why not generate cheat sheets or better to say on the fly? And that is how the next major update of cheat.sh was created.
Now you can simply do:
curl cht.sh/python/copy+files
curl cht.sh/go/execute+external+program
curl cht.sh/js/async+file+read
or even
curl cht.sh/python/копировать+файл
curl cht.sh/ruby/Datei+löschen
curl cht.sh/lua/复制文件
and get your question answered
(cht.sh is an alias for cheat.sh).
And it does not matter what language have you used to ask the question. To be short, all pairs (human language => programming language) are supported.
One very important major advantage of console oriented interfaces is that they are easily
programmable and can be easily integrated with various systems.
For example, Vim and Emacs plugins were created by means of that you can
query the service directly from the editor so that you can just write your
questions in the buffer and convert them in code with a keystroke.
The service is of course far from the perfection,
there are plenty of things to be fixed and to be implemented,
but now you can see its contours and see the contours of this approach,
console oriented services.
The service (as well as the other mentioned above services) is opensource, its code is available here:
https://github.com/chubin/cheat.sh
What do you think about this service?
What do you think about this approach?
Have you already heard about these services before?
Have you used them?
If yes, what do you like about them and what are you missing?26 -
I'm converting some old stylesheets to sass and found this gem. How drunk I must have been to write something like this o.012
-
Just finished reading this gem from start to end. It is over 20 years old and it is crazy how it is still up to date and applicable. Great work.8
-
So this other senior dev got seriously ill a couple of weeks ago and the project he was working on was assigned to me. His code was so aesthetic, loved his work, the structured code helped me a lot in meeting the deadlines. He returned a few days back and now the company has given him two weeks notice because "his pace is slow". I am frustrated, PM is frustrated. The guy is such a gem that he is still helping with all the new requirements client is throwing at us.8
-
Someone is wondering how to get this piece of code working as expected on StackOverflow:
for (var i = 1; i <= 2; i++) { setTimeout(function() { alert(i) }, 100); }
Found this gem in answers. :D14 -
Just got a job description from a recruiter with this little gem:
"maintain internet using MS Visual Studio"
If I have to use VS to keep your internet up, your company has some serious technical challenges ahead.8 -
Needed to download all my music from Google music, their download manager is crap (on ubuntu)
Decided to use their API, found a gem that works perfectly. Started downloading it.
Told my GF how I wanted to code something cool but gound someone else did, her response:
So why doesn't google make something ?
Me:They did, but it sucks in linux, and they have their API's which work fine.
And how are normal people supposed to make it work then?
Me: well it works, jut have to install this and run the CLI with.... wait.. am I not normal?
I guess we are not normal in the eyes of some people.18 -
Just found this precious gem in the legacy code I am maintaining! How do you check if a string is empty :-D ?5
-
Hey @Root! I know you won't have time to finish Ticket A before holiday vacation, so work on Ticket B instead.
I finished Ticket A in time. except for converting/fixing some horrible spaghetti monstrosity. More or less: "we overwrote this gem's middleware and now it calls back into our codebase under specific circumstances, and then calls the gem again, which calls the middleware again." Wtf? It's an atrocity against rationality.
The second day after vacation:
Hey @Root, drop Ticket B and work on Ticket C instead. Can you knock this out quick, like before friday? ... Uh, sure. It looks easy.
Ticket C was not easy. Ticket C was a frontend CSS job to add a print button, and for unknown reasons, none of the styles apply during printing. The only code involved is adding a button with a single line of javascript: `window.print()`, so why give it to the chick who hasn't been given a frontend ticket in over a year? Why not give it to the frontend guy who does this all day every day? Because "do it anyway," that's why.
And in somewhere between 13 (now 5) minutes and two hours from now, I'm going to have a 1:1 with my boss to discuss the week. Having finished almost all of Ticket A won't matter because it's not a "recent priority" -- despite it being a priority before, and a lot of work. I've made no progress on Ticket B due to interruptions (and a total and complete lack of caring because I'm burned out and quite literally can no longer care), and no progress on ticket C because... it's all horribly broken and therefore not quick. I assigned it to Mr. Frontend, which I'll probably get chewed out for.
So, my 1:1 with bossmang today is going to be awful. And the worst part of all: I'm out of rum! Which means sobriety in the face of adversity! :<
but like, wtf. Just give me a ticket and let me work on it until it's done. Stop changing the damn priorities every other freaking day!rant idk shifting priorities but why is all the rum gone? past accomplishments don't matter atrocity against rationality sobriety in the face of adversity16 -
This is a funny one:
I found this gem in SO.
Why is it funny? Well, PDVSA is the state-owned company for oil production of my country (Petróleos De Venezuela).
This little intern decided that it was a good idea to publish in SO an answer with actual code, showing database and tables names to everyone.
Priceless.8 -
Just found this gem on Twitters API...
When your app gets too excited they return status code 420 to tell you to chill! 😂😂😂
Fyi : For the non web-devs out there 420 is an invalid http code.5 -
Reading some of the wk50 rants makes my blood run cold. brrrrr. They're terrifying.
While my story goes just like this.
Didn't know our manager(let's call him R) messaged us in our group chat that he won't make it to office for that day.
My account replied "Let's have moment of silence for those who left us. R, you will be missed. :'( Thank you for everything.".
I didn't notice the message until lunch time and my co-devs (with much back-slapping and laughing) told me I'm a gem. -_-
I just went to get some coffee, forgot to lock my unit and came back a murderer.
AND It was only my 2nd month on the job.6 -
found this gem today.
P.S.
captcha - Completely Automated Public Turing test to tell Computers and Humans Apart.
ahh, seems promising!!3 -
Every step of this project has added another six hurdles. I thought it would be easy, and estimated it at two days to give myself a day off. But instead it's ridiculous. I'm also feeling burned out, depressed (work stress, etc.), and exhausted since I'm taking care of a 3 week old. It has not been fun. :<
I've been trying to get the Google Sheets API working (in Ruby). It's for a shared sales/tracking spreadsheet between two companies.
The documentation for it is almost entirely for Python and Java. The Ruby "quickstart" sample code works, but it's only for 3-legged auth (meaning user auth), but I need it for 2-legged auth (server auth with non-expiring credentials). Took awhile to figure out that variant even existed.
After a bit of digging, I discovered I needed to create a service account. This isn't the most straightforward thing, and setting it up honestly reminds me of setting up AWS, just with less risk of suddenly and surprisingly becoming a broke hobo by selecting confusing option #27 instead of #88.
I set up a new google project, tied it to my company's account (I think?), and then set up a service account for it, with probably the right permissions.
After downloading its creds, figuring out how to actually use them took another few hours. Did I mention there's no Ruby documentation for this? There's plenty of Python and Java example code, but since they use very different implementations, it's almost pointless to read them. At best they give me a vague idea of what my next step might be.
I ended up reading through the code of google's auth gem instead because I couldn't find anything useful online. Maybe it's actually there and the past several days have been one of those weeks where nothing ever works? idk :/
But anyway. I read through their code, and while it's actually not awful, it has some odd organization and a few very peculiar param names. Figuring out what data to pass, and how said data gets used requires some file-hopping. e.g. `json_data_io` wants a file handle, not the data itself. This is going to cause me headaches later since the data will be in the database, not the filesystem. I guess I can write a monkeypatch? or fork their gem? :/
But I digress. I finally manged to set everything up, fix the bugs with my code, and I'm ready to see what `service.create_spreadsheet()` returns. (now that it has positively valid and correctly-implemented authentication! Finally! Woo!)
I open the console... set up the auth... and give it a try.
... six seconds pass ...
... another two seconds pass ...
... annnd I get a lovely "unauthorized" response.
asjdlkagjdsk.
> Pic related.rant it was not simple. but i'm already flustered damnit it's probably the permissions documentation what documentation "it'll be simple" he said google sheets google "totally simple!" she agreed it's been days. days!19 -
!!rant
!!ANGER
Micromanager: "Hey, Root!
Since you're back, and still not feeling well, we have an easy ticket for you: Rewrite the slack integration gem! Oh, you don't have to re-implement all of it, just make sure it all works the same way it does now. That bitch you worked with once over a year ago who kept throwing you under the bus to management and stealing credit for your work? Yeah, she wrote the original code like four years ago. It's perfect, so don't touch it. but she can fill you in on all the details you need and get you up to speed on how to test it.
But yep! It should be simple. and I just knew you would love this ticket, so I saved it just for you. Nice and quick, too, to get you an easy win.
You know, since you have to repair your reputation with product. and management. and the execs. and the rest of the team. and me. Yeah, product doesn't trust you so they don't want to give you any tickets. They just can't trust you to get them out and have them work. So you have a lot of hard work to do."
Spoiler: The bus-thrower wasn't much help. (Surprise.)
Spoiler: The ticket was already in my backlog -- one of a grand total of two tickets.
Spoiler: I don't find the ticket fun. Maybe if I was to write the entire implementation with a nice DSL? but no, "don't touch the perfect code." Fuck you.
Spoiler: It isn't going to be nice or quick. But, she (micromanager) is looking to lose me, so that really is an easy win. for her.
And. just. argh. fuck you. i've been exhausted and dying for well over a year, but you've kept ignoring that (and still are, despite me providing goddamn legal forms from fucking doctors stating it in plain fucking english, which you also fucking ignore), and you just keep piling on the work and demanding the ridiculous of me despite it. Yeah I can pull it off sometimes. No, I really shouldn't, and I'm surprised I can. (also, "Time off? What, and lower your productivity even more? ____ doesn't even take vacations. And how are you doing on that ticket?") And no, none of my tickets have ever had any fucking problems. Not even when there are upstream service outages. Not. a. single. fucking. one. Ever. And the only things I've ever missed were things that bloody product never put in the fucking ticket, so fuck you with your "repair your reputation" bullshit.
god, i fuckiNG HATE THESESTUPOID ANWETLJAF SAJEWTKW BITCHFACEDUCKFUCKERS
Why the FUCK am I still fucking working here?
Right, because I've been burned out and dying so much I can't pass a fucking interview so I can fucking leave.
jasdkl;fk
ugh. Anyway. If you ever find yourself starting work at a Cali fintech company whose internal mascot is a very fine duck? Just run. I absolutely guarantee you will be miserable.rant root swears oh my micromanager duckfuckers "trivial" ticket root is fucking fed up root swears a lot holy shit rewrite an entire library in 2-3 days14 -
micromanager: "Quick and easy win! Please have this done in 2-3 days to start repairing your reputation"
ticket: "Scrap this gem, and implement your own external service wrapper using the new and vastly different Slack API!"
slack: "New API? Give me bearer tokens! Don't use that legacy url crap, wth"
prev dev: "Yeah idk what a bearer token is. Have the same url instead, and try writing it down so you don't forget it?"
Slack admin: "I can't give you access to the slack integration test app, even though it's for exactly this and three others have access already, including your (micro)manager."
Slack: "You can also <a>create a new slack app</a>!" -- link logs me into slack chat instead. After searching and finding a link elsewhere: doesn't let me.
Slack admin: "You want a new test slack app instead? Sure, build it the same as before so it isn't abuseable. No? Okay, plan a presentation for it and bring security along for a meeting on Friday and I'll think about it. I'm in some planning meetings until then."
asdfjkagel.
This job is endless delays, plus getting yelled at over the endless delays.
At least I can start on the code while I wait. Can't test anything for at least a week, though. =/17 -
I am in tears.
My manager had a lot of pressure to relocate to the US.
She wasn't able to do so and had to leave the company on mutual terms.
Not only we'll be working with someone new but also my manager was fucking amazing person.
A gem who walked into my life, flipped my life and now goes away.
Why the good people have to leave...
I was so wrong to think about her the wrong way even when I saw this coming.
I really hope that I stay in touch with these awesome people and grow along with them for a long time.
It hurts me when I lose good connections.
Fuck me! Can't even think clearly right now.6 -
So I was studying for a test using a quizlet my social studies teacher made, and I came across this gem. 99% sure my social studies teacher didn't read what it said/understand what it means.9
-
Was updating a legacy website when I came across this gem... Gotta wonder what was going on back then2
-
Came across this gem a few months ago ago. The only thing I can think of is the recruiter had his favorite pornsearch phrase in his clipboard manager and hit the wrong hotkey.7
-
If some of you missed this gem in stackoverflow answers, I bring it once again!
More fun @ http://meta.stackoverflow.com/q/...6 -
Just surfin aroung in C# job offers and found this gem, a joboffer from a german bank:
"Sie verfügen über Erfahrung in der Entwicklung individueller .NET-Lösungen auf Basis von C "Hashtag"."
which translates to
"... and you have excperience with C "hashtag"..."
Lol'ed harder then I should have...2 -
So, should I refactor this into a .greatGreatGrandParent() method, or should I just go hang myself?
(Thanks former colleague for this gem)10 -
I'm fixing a security exploit, and it's a goddamn mountain of fuckups.
First, some idiot (read: the legendary dev himself) decided to use a gem to do some basic fucking searching instead of writing a simple fucking query.
Second, security ... didn't just drop the ball, they shit on it and flushed it down the toilet. The gem in question allows users to search by FUCKING EVERYTHING on EVERY FUCKING TABLE IN THE DB using really nice tools, actually, that let you do fancy things like traverse all the internal associations to find the users table, then list all users whose password reset hashes begin with "a" then "ab" then "abc" ... Want to steal an account? Hell, want to automate stealing all accounts? Only takes a few hundred requests apiece! Oooh, there's CC data, too, and its encryption keys!
Third, the gem does actually allow whitelisting associations, methods, etc. but ... well, the documentation actually recommends against it for whatever fucking reason, and that whitelisting is about as fine-grained as a club. You wanna restrict it to accessing the "name" column, but it needs to access both the "site" and "user" tables? Cool, users can now access site.name AND user.name... which is PII and totally leads to hefty fines. Thanks!
Fourth. If the gem can't access something thanks to the whitelist, it doesn't catch the exception and give you a useful error message or anything, no way. It just throws NoMethodErrors because fuck you. Good luck figuring out what they mean, especially if you have no idea you're even using the fucking thing.
Fifth. Thanks to the follower mentality prevalent in this hellhole, this shit is now used in a lot of places (and all indirectly!) so there's no searching for uses. Once I banhammer everything... well, loads of shit is going to break, and I won't have a fucking clue where because very few of these brainless sheep write decent test coverage (or even fucking write view tests), so I'll be doing tons of manual fucking testing. Oh, and I only have a week to finish everything, because fucking of course.
So, in summary. The stupid and lazy (and legendary!) dev fucked up. The stupid gem's author fucked up, and kept fucking up. The stupid devs followed the first fuckup's lead and repeated his fuck up, and fucked up on their own some more. It's fuckups all the fucking way down.rant security exploit root swears a lot actually root swears oh my stupid fucking people what the fuck fucking stupid fucking people20 -
I'm doing a migration where I have to move like 200+ old-old websites. Stuff was never touched for ages and we kinda moved it 'into the cloud' now.
So after a few sites I check graylog (where all the logs are stored) and I saw this gem:
stderr: PHP message: PHP Warning: file_get_contents(http://tinyurl.com/api-create.php/... Online Viagra/): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
And I was like, wtf? Is this site hacked?
Ok the sadness starts now. Behold the following:
function getTinyUrl($url) {
$tinyurl = file_get_contents("http://tinyurl.com/api-create.php/...);
return $tinyurl;
}
This function gets executed for the current link AND every dynamic href on the page.. EVERY pageload.
I was not even mad.2 -
Beginning of a Hackaton and the CTO calls everyone up and tries to instigate everyone with this gem:
"Challenge yourself and what we have. For example, instead of AWS use Swagger."
🤨
Nobody says anything but has the same WTF expression ... How do these person become tech lead?2 -
While debugging some java code by our Senior Architect, I found this gem: 5000 padding done manually.
PS: Jr Developer here.7 -
Project Cortana: Day 56
*What I liked*
Here is the rant where I described the project: https://devrant.io/rants/962190
Time for a review. The biggest advantage I have found was the productivity. Let me explain:
1. Cortana: It's useful as fuck if anyone is willing to use it all the time. It really helps to get reminders and notifications everywhere (PC, Laptop and Mobile).
2. Microsoft Launcher: An underrated gem due to the hate towards M$. Thanks to it's transparent theme, it looks absolutely gorgeous. The most useful part is the "Feed" where you get all your emails, recently edited documents, recently used apps or contacts all together. I was quite surprised to see the level of customization if offered considering it's M$.
3. M$ Office: I probably don't need to talk much about it, it's the most productive tool you can get. Outlook is fucking brilliant on mobile. Other office apps, while they are great on mobile, are probably more useful in tablets. And the "Focused Inbox" is the best thing happened to outlook.
4. M$ To-Do: Holy fuck, this is sick. I know that there is many alternative with more features. But this app is the perfect example of a todo app. Simple, has the exact right features and has a really smooth, beautiful UI. This really helped me to be productive.
5. OneDrive: Didn't find much difference compared to Google Drive.
6. People: Something that I discovered later and found it really useful. You can pin contacts in the taskbar and see emails, calender items associated with that contact in one click. Found it really useful considering I was chatting with my Supervisor and lectures quite frequently.
7. Windows Mail App: While I really like it, I have mixed feeling about it. I would really love to have HTML signature. Not sure why M$ is not implementing it. But the "Share" in the Context Menu is really useful while sending attachements.
Finally, the "Fluid Design" so far is beautiful. Loving the effects.
I will write what I didn't like in the next rant.14 -
Just found this little gem when I ducked RBL.. must be a super high quality bank with that meta description :32
-
!dev
!!politics (kinda)
Here’s a gem from our recent harassment and diversity training at work:
Speaker: “All of these things are protected from discrimination in California! Wow! It’s a huge list, isn’t it? Now let me ask you a question: is a single white male under 40 protected?”
Everyone: *crickets*
Fucking really?
After immediately jumping on all of the other speaker’s questions, you can’t answer this one?
And later, here’s another gem:
Speaker: “If you witness an employee harassing another employee outside of work and work hours, completely unrelated to work, should you report it? What if you ask the person being harassed and she says no?”
Speaker: “Always report it! While it’s not *technically* required by law, you must report it! Why? Because you have the same protections she would! And maybe it’s easier for you to say something than for her.” (Surprise gendering was her own addition)
Fair on that last point, but against the person’s wishes? Totally not cool. Maybe it wasn’t harassment, or you don’t know the situation. Heads up: you probably don’t. Or maybe it wasn’t a big deal at all, but you think it’s earth-shattering. But all that reporting it against someone’s wishes does is create drama and possibly legal trouble. And if it wasn’t harassment or the case goes poorly, you just created enemies for yourself, or for one or both of them if you’re reporting it anonymously, and possibly even ruined one or both of their jobs/careers by doing so. Good fucking job, asshole.
Snitches get stitches.16 -
You wanted to hear more about my "glorious" teacher. I deliver. So get a cup of tea, take a seat and prepare for insanity.
As I already told in a comment my programming teacher is one special snowflake who lives in his personal bubble. We have final exams in less than a month and he spents at least half a lesson talking about vanishing bees and missing plants from his garden. Other topics he likes to talk about (and tries to turn every freaking conversation into at least one of these):
1. Other students and their stupidity
2. Diesel scandal
3. His sick wife
4. "Why does noone read newspapers anymore?"
5. Why he can't teach Java but really really really wants to and everyone hates him and forces him to do C#.
Even if I try to interrupt him he'll go on until he thinks we gained some "common knowledge" - this is how he justifies these topics.
Everytime he introduced us to a new command he compared it to Java and sometimes he even falsely corrects code because he confuses them.
We are only 6 people including me (another story for another time) and he is not able to help everyone during a 90min lesson. He normally sticks with one person for at least one hour and just talks to them or even do their tasks. This is really annoying if you have a simple question. He won't answer you until he's finished whatever he's doing.
Most of the time he doesn't seem to understand what he's talking about/trying to teach us. He's muttering statements from our textbook to himself switching halfway through to another sentence while drawing not decipherable shit on the blackboard.
Another gem are his "guidelines" for classtests. We are allowed to use any command we know. Except the ones we learned not in class. And the ones he doesn't like. And the ones he doesn't want to exist. And of course not the ones which make you're life easier. So basically we are bound to use his favourite commands or we won't get a good grade. Example: use an array. List is not allowed. Never.
He has some weird fetish with arrays.
I once presented him perfectly fine code I wrote in my freetime and asked what some warnings meant. (Was because of different Visual studio versions as I learned later.) He scolded me for using things he didn't taught us yet and ranted about how I'm pressuring him into rushing these things now - I never wanted to show this to my classmates nor was this anything else than a project for fun and learning something new. (FYI the "new stuff" where classes and objects because i was tired of kilometers of spaghetti code). His rant went on a good 20minutes and - obviously - he didn't answer my question. I asked my fiance that evening and he explained it to me.
This should it be for this time. I'm sure I have more stories to tell for another time!
Thank you for reading. ^^5 -
Found this gem in some old piece of code:
public static void printStackTrace(Exception e){
e.printStackTrace();
}3 -
Fond this gem in teams code;
Var temp = "",
Var tmp = "",
Var tmp2 = "",
Var tmpIDK = "";
Asked the creator only 4 hours after the commit what his code does. The answer; I have no idea, but it works, don't touch it.2 -
Found this little gem today in some legacy code at work.
Apparently this is the best way to split a datetime (hh:mm:ss mm/dd/yyy).
If only there was a function that could split a string by keying off characters.
Oh wait there is....
I decided to give it a comment memorial.7 -
Dunning-Kruger effect is strong with me.
Thankfully, one of the most important skills that I learned is active listening. I am less vocal about my silly thoughts and shitty opinions these days.
I don't feel dumb. Instead, I realise that I AM dumb.
The people in my new org are exceptionally smart and talented. Each everyone is a hand picked gem. This isn't a coincidence. Rather it's evident that they hire folks very carefully.
In my previous org, I used to be the one driving everything. Like the smartest guy in the room.
But here, I am just quiet in every meeting and I enjoy working 12 hours a day. I am the dumbest guy in the room surrounded by people who are brilliant and humble.
I truly feel fortunate and grateful to be part of such an amazing org and wonderful team. One of the best decisions I made in my career and life.8 -
Found this gem yesterday...
function justNumber(BigDecimal n) {
string negative_sign = "-";
BigDecimal response = BigDecimal.valueOf(n.toString().replace(negative_sign, ""));
return response;
}11 -
This gem of a game. Partly cause i'm a contributor, partly cause i'm a space junkie.
Is this advertising? maybe.
Am i in love? definitely.7 -
I just received this gem this morning.
First of let me start by saying that I am against scammers and all this Nigerian prince crap.
But some of this shit is so bad that it actually pisses me off. My intelligence feels insulted.
Look at this email. These fuckers spent hours perfecting the Hotmail feel to it. The logo, design and even font are in par. As I started reading the shit, the spelling mistakes are so obvious that I wondered; do these nut suckers know that whatever email editor they use, it autocorrects for you? Are they just ignoring the recommendations? I mean they could've even used the "Did you mean" feature in Google. Or any of the freely available grammatical check sites out there.
Think of this as plagiarism. It's bad but a majority of us can appreciate a well planned out one.
I'm yet to encounter a really good scam email that almost had me click their link. There's always an obvious stand out! Is there like a copyright holder to a perfectly well put scam email?!
(And yes, you just read a rant about someone complaining that scammers aren't doing a great job)4 -
Searching for local jobs, I found this gem:
- At least 4 years of experience in Unity3D with HTC Vive and Oculus devices.
Then people ask me why I want to work on another country...1 -
Casually perusing some online job postings and happened upon this gem. This is at best gloriously naive...2
-
Today,I found this gem:
static function getConfig(){
$cacheKey = 'foobar';
try {
$config = $this->repository->getConfig();
$this->cache->set($cacheKey, $config);
}
catch(Exception $e){
try{
$config = $this->repository->getConfig();
$this->cache->set($cacheKey, $config);
}
catch(Exception $e){}
}
}
I don't want to live on this planet anymore...!7 -
So I went with a friend to a printing company today and asked this gem: "so , will you print the white too?"
Before he answered I realized my momentary retardness and said: "wtf, what a stupid question."
I think I need some rest 😂😂2 -
!rant
I was fiddling around on a website for a bar near me with an arcade. Friends and I already discovered that you could input the konami code on the homepage and be brought to a little easter egg with a chance to win a free beer, free pizza, or nothing.
This evening I was looking at the site a little more and decided to try to find the js code they're using to manage this because I thought it was an ingenious idea. When Looking at the source, I found this little gem. I'm very pleased and wish I had built this site.2 -
Boss: <Commits odd and breaking changes to my specs>
Boss: How did these specs of yours ever pass!?
Boss: That's not how this gem works!
Boss: <Doesn't mention that the gem was updated well after I finished the ticket>
Boss: Go fix your specs!
...2 -
Computer related shit follows me everywhere, I swear. Went to a friends house and low and behold - this gem. I knew someone smelt like what I imagined a domain smelling like...1
-
Found this gem 😂
TRANSLATION
Java for believing programmers
For who?
Young male,
which want to pray together,
and at the same time make first
steps in programming
How old you need to be?
Up to 25 years
What do you need?
Holy Bible
Laptop
*you just need 500 mb RAM and WinXP6 -
Just stumbled across this gem last night. You guys know how biggest online games site in my country (also backed up by largest ISP) handles reset password requests?
After clicking "Forgot password", it asks you to login to Gmail (cause everyone is assumed to have and use one, right?) and then opens "New Email" window prefilled with some template data which you're expected to finish (in screenshot below).
And I just wanted to play some Ludo with my friends.. 🙄🙈2 -
Found this gem of a comment in a code base written 4 years back.
/*
Invoke <Service Base URL>/asset/v2/details/<SN> to get asset details
Feeling very bad to include this call, but we really need to use this !!!
This call is gonna take ~20s to respond. I've even increased the overall timeout of this module, just for this call !!!
So, if you are looking to debug any performance issue, I wish you jump directly here,
remove this call and just use master data management (MDM)
P.S: It is not that simple, as MDM and this asset DB (both asset masters) has differences in how the asset is defined :(
*/
Still trying to understand how to remove this costly time-consuming call and replace with an efficient one !!
And, of-course, the original author left 2 years back :(3 -
Still have access to my last companies github. Went snooping and saw main branches ahead and behind in commits from dev branches.
Decided to look into the PRs, and found this gem from my incompetent old VP of engineering.
Same guy who fired all the developers to save on money, and then contracted us back to do our jobs at 3x the rate. Basically a business savant!4 -
Came across this gem. Thought more people ought to see it. 😂 Guess no one in that repo had a sense of humor.
-
Found this gem today
public findHM(int height, int height2) {
if (height < height2) return height;
return findHM(height - 1, height2);
}4 -
Found this little gem in the AMD64 reference manual:
"When PCIDs are enabled the system software can store 12-bit PCIDs in CR3 for different address spaces. Subsequently, when system software switches address spaces (**by writing the page table base pointer in CR3[62:12]**), the processor **may use TLB mappings previously stored for that address space and PCID**".
later:
"Updates to the CR3 register cause the entire TLB to be invalidated except for global pages."
So let me get this straight: PCIDs allow you to reuse TLB entries (instead of flushing the entire TLB) when writing a new address space to CR3 but writing to CR3 always flushes the entire TLB anyways
Just why 🤦♂️7 -
After googling "fuck whoever thought of open plan offices" out of pure rage, I found this gem of a website, now I'm happily surprised I'm not alone. :)11
-
Today, I found this gem here in the codebase I've taken over:
#define BYTE unsigned char
FFS, use typedef, it's there for a reason. Solving the puzzle in the first comment.6 -
Came across a gem today...part of a stored procedure that sits under our erp software. This explains a lot7
-
TL;DR Pluralsight should be ashamed for taking 299 USD a year and writing some very low-quality quizzes.
I've always heard that Pluralsight is a great platform having some high quality courses, so I chose it as a benefit, as our company was giving us some budget for learning purposes. I've paid (or rather the company did it in the end) 299 USD for this year, which, I guess is not much for US standards, but it is a lot for Eastern European standards.
I didn't actually get to the point of watching any of the courses, but I started to use a feature called "Stack up", which is a long series of questions in a specific theme, like Java, Kotlin, C++, etc., accessible once a day. I must say, I'm amazed by the fact, that people pay quite a great amount of money and they get something so poorly made with a lot of errors and stupid questions.
Take the question from the included image for example. Not only that the 2 possible answers are repeated (and thus I failed to select the correct one from 2 equal answers), but the supposedly correct answer is also missing some type specifications. No Java compiler will compile it this way as far as I know. There would be at least 3 ways to fix it.
Then there is today's gem (should be included as first comment) as well, where the answer is wrong in both Chrome 96, Firefox 95 and Node v10. Heck, THIS IS one of the reasons why you should never use `var` in your JavaScript code, but always `let` and `const`!
So the courses on Pluralsight might be good, but I would be ashamed, if I were to release something like this. People might actually try to solidify their knowledge by solving these quizzes but instead of learning something useful, they will be left with some bullshit. I just don't get how could they release a feature with so much incorrect information and I am kind of disappointed, even if I didn't try the courses yet.9 -
Found this gem while cleaning up code:
.colorNavy { color: navy; }
This needs to be printed on a navy tshirt.3 -
THIS FUCKING RECAPTCHA GEM! WHY THE FUCK MUST I DEBUG YOUR FUCKING PRODUCTION CODE AND WORK AROUND YOUR FUCKING BLUNDERS?
VERY LITTLE PISSES ME OFF MORE THAN SUFFERING FROM SOMEONE ELSE'S FUCKING STUPIDITY5 -
Found this gem today while looking through confluence.
Goals:
Can the candidate use Slack?
Ask follow up questions if missed anything.
Ask the questions that tell a lot about someone without directly asking it (i.e. Have you ever met someone famous? (Telling what the candidate values in life) What are your hobbies? (Telling if candidate has a work life balance). If you were a crayon, what color would you be and why? (Highlights prominent aspects of candidate’s personality) Please don’t just use these, be creative.)
A crayon???? Das when I hang up5 -
Recently did a fresh installation of brothers laptop of windows 10 and found this gem at after installing chrome and running it for the first time
chrome://welcome-win10/
suck it micro$oftundefined tags i am awesome windows chrome ok seriously back to tags microsoft google windows10 win$hit1 -
Trying to investigate why the team of new Devs are reporting a particular set of modules is not properly maintainable, found this little gem at the root, written in 2014.4
-
Worst Jira ticket I've ever seen:
Title: "It looks f#?$ed"
Description: ""
This gem was opened by the project producer. When asked about it, it was just a mismatch in text margins. -
I am planning to build a list of Gem companies.
Would crowdsource the details.
Definition: Gem companies are NOT FAANG but companies with better ethics, culture, WLB, and good salary.
Will structure it as follows:
1. Name
2. Location(s)
3. Domain
4. Website
5. Jobs page
Make this public for anyone who wants to refer. This list can be used by any job hunter to search, apply, and land a decent job.10 -
Another gem from same co-worker who is a "Senior Developer". Unnecessary function that fills a dropdown box(?!) with numbers 1-100. I really really hate this guy.
Bonus: Best Practice Example of Naming Variables...4 -
Today’s DevOps public service announcement... don’t test your server provisioning scripts locally. Especially when this gem is in there:
rm -f ~/.ssh/id_rsa
echo ‘vault secret/ssh_key’ > ~/.ssh/id_rsa
Well, I no longer have my key, but the script works! I’m sitting with a very locked down server key6 -
I know politics is not allowed here, but I have to share this gem with you.
One day before the election for the European parliament the website of the German city Bochum showed a wrong bar diagram with false results of the election for a few seconds.
Everyone was loling. But I was like WTF? They were testing in production. And also they included data were the party AFD had about 50% of the votes. Are they retarded or so?4 -
A beautiful gem ticket from a manager today:
Title: "Check Stripe "Snippet APK" that might help for integration into the app to track pricing easily."
Alright, it's very clear this particular individual has no idea what they are talking about, but, I'll give them the benefit of the doubt and read the ticket description!
Description: "I think stripe offers some sort of snippet that can be implemented into the app similar to FB pixel. (I could be wrong here..) let’s briefly check this, if it’s of value for our A/B-Tests → e.g. if it makes your life easier = good otherwise it’s not important."
...
I might as well replace the management team with GPT-3 at this point.
Or even just a simple Markov chain; that'd probably be more accurate if you want to match the ticket quality more exactly of this ABSOLUTE PILE OF HORSESHIT WASTE OF TIME I GET FED EVERY SINGLE FUCKING DAY.
🤡4 -
Found this gem today (and there is not anything else defined as "any") WTF are you kidding me? Some people should not be allowed to program2
-
Found this today! For someone like me who has 30+ tabs open on an average, this is an absolute gem!7
-
I bring you all another gem from my computer science course, this time from my OOP class.
The first assignment we made for this class was a simple CLI shop, where you would have basically three main classes:
- A Product class that you extend to create different types of products.
- A Cart class that manages a list of products (basically an ArrayList<Product>) and has some useful methods
- A CLI class to display a simple interface to the user and call methods on a Cart.
Basic OOP stuff, so far so good.
Then for our second assignment the teacher asked us to make Cart a generic class, where you would say Cart<Bagel> and you would only be able to put bagels in it. This makes absolutely no fucking sense, this is not a good use case for generic types since
1) you would never limit your customer's cart to one type of product at compile time.
2) in Cart, you have to cast the generic type to Product to extract any information from the product, like when getting product prices to calculate the total price, so might as well use a fucking ArrayList<Product>
I'm just saying what he's asking us to do has (to our fictional shop's business logic) absolutely no advantage over subtyping.
Also, why the fuck teach generic constraints when you can just tell your students "just cast T to Product", right?
Like fucking hell, couldn't you spend like 10min to come up with a decent assignment that actually teaches generic types the right way? ffs
And just so no one can say "but wut simple assignment would you give to teach students generic types?", here's a simple and much, much better alternative: implementing your own ArrayList. Done. Can't get much better than that, it's a legit use case and teaches you the basics.
Sorry man, you're a great person, you really are, but you suck as a teacher.3 -
Just came across this absolute gem:
https://developer.blender.org/T5323...
"Yeah it's slow but it was _designed_ to be slow therefore it's no problem whatsoever"6 -
Just came across this gem. What's wrong with it??
Yes, the threat of SQL injection here is a legit response, but in this particular case that's not the answer I'm looking for.
Hint: This method gets called a lot!15 -
Just found this gem:
<a href="..." onclick="if (! confirm("Are you sure you want to log out?")) return false;">Log out</a> -
So I just recently had the pleasure to set up a Rails environment for a friend on Windows. I haven't used Windows in about 5 or 6 years, and the person I had to set it up for doesn't know much about programming at all.
I all went fine at first, install database, devkit thingy and git. Then set up the project itself. And there is where the problems started.
First windows would refuse to use SSL, because of some weird bug in the Windows version of rubygems. The suggested upgrade did not work so I had to switch some gem sources to insecure connections, but at least it did install everything correctly.
Alright, I thought, that's not _that_ bad, everything is running now.
He sent me a screenshot some time later. Something was wrong with the JavaScript runtime, and I could not figure out for the life of me what the issue was.
Later again he sent me another screenshot.
His Antivirus spyware was messing with the asset pipeline. (╯°□°)╯︵ ┻━┻
This was the point where I just said "FUCK IT, i'll just put everything into a fucking VM and let him use that".
I should have done that in the first place.
Long story short:
Setting up a development under Windows is painful.
Do yourself a favor and just use a VM.3 -
Damn frontend crap.
The fact that you have to mask all of the disease with processable versions of css, html & js is bad enough, but there are like 6 dialects of each bandaid, and every project has traces of each.
The the design kid tells me to run this grunt script, frontender number two screams "no, dont use grunt, we use gulp! or was it bower? I guess just run it through yeoman, it's easy!", after which the third fucking shitty hipster yells "No that's outdated, just edit the webpack file, and then run yarn install... oh but run npm upgrade --global yarn first"
Did you just fucking tell me to upgrade a fucking package manager with another package manager?
Composer, gem or cargo are not always without problems. But at least us backenders have our fucking shit together. The worst we have to deal with is choosing Python 2 vs 3, or porting some old code so the server can migrate to PHP7.
The next person to tell me they found this awesome tool to manage his other tools... I'll fucking throw your latte all over your wacom tablet.2 -
I really couldn't help but laugh when I found this gem of an error message. I mean, I'd literally know just as much if it served me a blank page.
If you can't describe your own god damned error message without calling it 'generic', IT IS NOT A GOOD ERROR MESSAGE!
I'm glad they informed me it's an application error though. HERE I WAS THINKING MY TOASTER WAS THE PROBLEM.2 -
Looking at some new dev tools I spotted this gem:
"If install fails, keep trying to install a few times."
Thanks for the tip!1 -
Found this gem in a comment from a couple of years previously:
// This shouldn't be here - needs moved to a separate handler. Likely to cause all sorts of weird bugs
No shit, Sherlock! Like the one I'm bloody trying to make sense of now!1 -
https://devrant.com/rants/4408042/...
Another one. Next phone is definitely an Android. Fuck this shit.10 -
!dev
So, here I am browsing steam for something new to play.
Thanks kwilliams for a solid 30 hours of gameplay 🤘
But anyway, I was just scrolling through and came across and old gem.
https://store.steampowered.com/app/...
And it got me thinking, if anyone else used to play this old bad boi around here.
It's not High Def or modern, although it does 1920x1080, but damn it's a trip down nostalgic lane.2 -
SO MAD. Hands are shaking after dealing with this awful API for too long. I just sent this to a contact at JP Morgan Chase.
-------------------
Hello [X],
1. I'm having absolutely no luck logging in to this account to check the Order Abstraction service settings. I was able to log in once earlier this morning, but ever since I've received this frustratingly vague "We are currently unable to complete your request" error message (attached). I even switched IP's via a VPN, and was able to get as far as entering the below Identification Code until I got the same message. Has this account been blocked? Password incorrect? What's the issue?
2. I've been researching the Order Abstraction API for hours as well, attempting to defuddle this gem of an API call response:
error=1&message=Authentication+failure....processing+stopped
NOWHERE in the documentation (last updated 14 months ago) is there any reference to this^^ error or any sort of standardized error-handling description whatsoever - unless you count the detailed error codes outlined for the Hosted Payment responses, which this Order Abstraction service completely ignores. Finally, the HTTP response status code from the Abstraction API is "200 OK", signaling that everything is fine and dandy, which is incorrect. The error message indicates there should be a 400-level status code response, such as 401 Unauthorized, 403 Forbidden or at least 400 Bad Request.
Frankly, I am extremely frustrated and tired of working with poorly documented, poorly designed and poorly maintained developer services which fail to follow basic methodology standardized decades ago. Error messages should be clear and descriptive, including HTTP status codes and a parseable response - preferably JSON or XML.
-----
This whole piece of garbage is junk. If you're big enough to own a bank, you're big enough to provide useful error messages to the developers kind enough to attempt to work with you.2 -
So was walking through a display homes with my partner and found this gem...
Edit: I have no idea why this rotated1 -
So I am managing some legacy code and I found quite the gem last week.
The code went something like this :
IF(methodA()&&methodB())
However, methodB returned ! methodA...2 -
Just stumbled on this little gem.
Apple's logic: 1+2+3 = 23
At this point I think Apple has just given up on quality. They are all about aesthetics nowadays.
#onlyApplewillmessupacalculator11 -
what a gem i found on the side of screen while viewing stack overflow :https://meta.stackoverflow.com/ques...
Long story short, a teacher gave a sassy reply to his student's question , the answer got viral on reddit and SO admins are going bonkers 😂😂4 -
So I'm pretty accustomed to German "professional" websites. As a tourist, I was just looking up tourist stuff online and I stumbled across this gem
http://eisenbahn-spielzeug-museum.de/...
I was like, yeah, okay, maybe this is just a really unfortunate mistake, although I was clearly having in mind the "easy" navigation DB offers both on their app and their website
So continuing my tourist search, I found several sightseeing objectives on decent websites, took the info from there, planned my trip and when I reached the place I was told completely different info that didn't exist on their website, which mostly messed up my visit to those touristic sites
Maybe I should just go search for answers on some forums and print out people's advice9 -
Just had a recruiter contact me, and found this gem in their text:
"We work with MS stack and SQL Server, but we really think JavaScript is the way of the future"
Motherfucker, JavaScript can hardly tell basic types apart, how the fuck you gon' run a relational database with it!? And if you're not, then why the fuck are you running a relational database in the first place!?
Fuck outta here!2 -
Another gem from the cunt I used to call my senior.
.nav-tabs > li > a, .nav-tabs > li > a, .nav-tabs > li > a { font-size: 7pt !important; line-height: 30px !important; font-weight: normal !important; }
.nav-tabs > li > a, .nav-tabs > li > a, .nav-tabs > li > a { font-size: 6pt !important; }
.nav-tabs > li > a, .nav-tabs > li > a, .nav-tabs > li > a { font-size: 7pt !important; }
These are all on the same level (not in media queries) and only a couple of other lines of css between them.
I swear this jackass just wanted to watch the world burn.5 -
Found this gem when trying to figure out what transclusion is in Angular. Didn't we all learn in like, 3rd grade not to use a form of the same word in a word's definition?
"ngTransclude
- directive in module ng
Directive that marks the insertion point for the transcluded DOM of the nearest parent directive that uses transclusion."1 -
shiiiet i was looking for some ascii art to include in my html found this gem
http://www.asciiartfarts.com/
There's some really weird shit there ...1 -
iOS is rotting my soul.
I've been a user of iPhone for 6 years now. For the first couple years, I wasnt really mindful of software I use, or I guess I didnt really care. As long as it did the bare minimum, I.e. bank app, call, text, browse, watch youtube vids, I didnt really care. However, in the last couple years, ive become very interested in tech and have worked on small developer projects, spent a lot of time coding in my free time, found really inspiring software and apps on my regular computer that just blow my mind on how advanced they are, and how I, some dumb guy with internet access, can just download it on my PC and use it.
This led me into a kind of software honeymoon phase, where I created a shiny new Github account and started exploring what other cool tools are just out there, available to me for free. My software honeymoon was spent on the beaches and resorts of the open-source software ecosystem. Exploring the gem-bearing caves and beautiful forests of anything from free open-source OCR programs(I needed it to convert my dads manuscript from scanned PDF .jpeg's to actual UTF8 text) to open-source RGB lighting/keymapping software to escape the memory-and-CPU-hungry(and most likely advertising-ID-interested) proprietary software that comes with the brand of mouse/keyboard/controller/etc.
It was like I was a kid exploring Disneyland for the first time or something. But then... then... I got off my computer. Picked up my phone to check notifications. Ew, tinder is blowing up notification center with marketing shit. I go to settings. Notification settings. Tinder's at the bottom so I just want to use a search bar instead of scrolling. There's no search bar. Minor inconvenience. Dark mode isnt dark enough for me. I guess thats just too damn bad, because for the next two hours, I'll have to figure it out by messing with accessibility settings. Time for bed, and I'm just getting plum tired of having to turn on my alarms every night for work the next morning. So I used the 'Automations' app to do it for me. For the next two weeks, at the time specified, 'There was an error running your automation' until I just delete the automation. Browsing through the FaceID settings, I see 'Attention Aware Features'. Cool, maybe now my phone won't automatically dim the screen when im in the middle of reading notifications on my lock screen. Haha, nope still does it. After turning on my alarms, I go to sleep. I wake up an hour late for work because those handy 'Attention Aware Features' silenced my alarm immediately because I fell asleep watching a youtube video.
I could go on and on. Its actually making me feel depressed typing this on my phone, fighting with Apple's primitive autocorrect and annoying implementation of Swype to type.4 -
bug comment in the tracker, from the new junior dev, during her first week:
"probably fixed by [other dev]".
Among the unhelpful comments, this was a special gem. really special. a What the Fuck did you mean by that special. Was it fixed or not? who fixed it? [other dev]? someone else?
it was better not to have any comment at all.
later that junior became a really good dev... -
/** Null until this web socket is connected. Used for writes, pings, and close timeouts. */
private ScheduledExecutorService executor;
Dear boys and girls.
If you ever do this again and release this as a public library (even better - an official client of your solution, e.g. kuber-fucking-netes), I will get my way into dR's gateway servers, trace down your IP in nginx's logs, find your location, probably use some means to get your first and last name (you prolly have a domain registered under your IP anyways...), buy a ticket to your town, get to your home and wait for night to fall. Once it's dark and you're asleep, I'll make sure to leave a real nice, warm and extraordinarily smelly turd on your doorstep (I'll also make sure the process of manufacturing that gem is as noisy as it gets - you just have to bend the right way, and....).
Gents. If you really, REALLY want to make writes asynchronous, at least provide a way to either get a notification once the write is synchronized, or allow the user to handle the threads/executors himself!
https://youtube.com/watch/...5 -
Cleaning up a CSS file that was becoming out of hand... Found this gem:
.main-content .panel-body .alert {
margin: -19px -16px 20px -16px;
margin: -19px -16px 00px -16px;
}4 -
Found this gem in my news feed yesterday and can't get it off my mind: catch exception, sleep, goto try-block and, well, try again:
$attempts = 0;
start:
try {
$attempts++;
// (...)
} catch (Exception $e) {
if ($attempts <= 10) {
usleep(100000);
goto start;
)
}
Did we go full-circle? Is "goto" the next big thing? Is this a late april fools joke? What am I missing here? This can't be real.
Source: https://blog.frankdejonge.nl/back-t...4 -
I've been having a tough time at work recently. I've been struggling with what I have become and what I want to do.
My voice used to carry quite a bit of weight, but as of late I'm no longer being kept in the loop of changes that are happening to my product.
Realizing that I'm slowing being phased out was like a punch to the scrotum. It has made me depressingly aware of the time I have wasted on this company.
All while I was wallowing in my own self-pity, as if on command, Youtube spit this gem out to me. It made me realize that I'm still that bright eyed eager developer just a bit older and a bit wiser. It reminded me of something that I thought I lost, but what I've always had.
https://youtu.be/cNbnef_eXBM
What we do is an art, it takes years of dedication and study to hone our skills. Don't let the bastards get you down, and just like Bowie said -- Never play to the gallery.
You got this. -
Refactoring/cleaning old code.. Found this gem:
$hour = substr($obj->hour, 0, - 3);
Turns out, hour was saved in the database as a TIME field(DATE was saved in another column) , and the previous genius dev was trying to output time in a H:i format...
No wonder php has such a bad reputation...2 -
Tired of the same old boring progress bars in my applications, so I made this little gem to keep users busy during slow operations. Bonus: no more complaints about things taking too long. (personal high score is 119)4
-
More WTFery from official corporate training.
This gem of a quiz comes right after the slide saying not to click on or open emails you suspect are spam. To reinforce the idea, click on the spam!
It's the kind of test that makes me go, "is this a trick question?" -
I saw a lot of rants about StackOverflow and its community.
I really couldn't understand, I always found friendly comments and answers, so it was hard for me to imagine why the community was tagged as "sadist assholes".
Then I found this gem and all was suddenly clear.1 -
How is it that 4 years after the start of this project we still have to tell people that their dedicated cloud storage is for their projects and not their 8TB server backups or 600000+ vacation pictures…
We literally have processes sending you mails that keep telling you should sort your crap and you still manage not to listen. And then we get support tickets like “cloud storage abnormally slow” “bug in performances” etc… The last gem being a small company CEO that contacted our CEO about this “problem”, he had syncd his entire workstation and told his employees to do the same…
I’m not sure how to convey the stack of feelings I have regarding all of this. I want not to care but I can’t. I want to get angry but what’s the point.2 -
Let's all take a moment and appreciate this LKML gem that happened before 4.20
https://lkml.org/lkml/2018/...1 -
Last week me and my friend have been changed from a legacy PHP project to new Ruby on Rails-based setup. What, in first instance, looked like a great improvement, now becomes a nightmare.
All this convention-over-configuration is awesome - but only if you already know the conventions, or if somebody told'em to you.
And everything is going even more out of control because the damn project is based upon Spree gem and several other extensions, that MUST be changed to meet out company needs.
I'm getting really mad with all this pressure. Ruby seems to be a great language, but I'd rather be working with Laravel. Its overall organization, the centralization of CLI commands in artisan, and the astoundingly clear, eloquent, direct and well-designed documentation made my adoption curve there a little more pleasant.
I mean, legacy PHP systems are awful, but Laravel framework sounds way more easy-to-learn and well-constructed when compared to rails.
But given all this nightmare, I really want to be proved the opposite.1 -
This rant can basically be boiled down to the name of the software in use/question:
FileMaker Pro 8.5
Please chime in if you have ever had the privelege of working with this gem of a database program, especially the scripting capabilities...
Trying to make it print/save/export an individual PDF file into a folder specified/created by one field with the filename set from another field. Will probably get it to work but the drag and drop scripting style reminds me of setting up an autoclicker for runescape; so fricken painful. Love to hear your comments.
Also happens to be running on an ancient PPC G5 iMac with 1 Gig of RAM running 10.4.11 hidden in the back room of an old warehouse with extra creepy flickering lights...
EFFF EMMM ELLL
So yeah thats my rainy Friday rant, hope you all are having this much fun.5 -
Thought I'd share this gem with you. Overwriting a value by itself. Why would you even do this? It's not a single occurrence, but happens 3 times even in the same class.3
-
So back to the stories of the gentleman with his master's degree who's job I wasn't qualified for. Hope you all enjoy this gem I found in his stored procedure.
Select distinct *
From(
Select * from a inner join b on a.id=b.id
Union
Select * from a full join b on a.id=b.id
Where b.id is null
)
An inner join unioned to a full join where you exclude null values in right table creates a.....left join you fucking idiot!5 -
(Part 1/2?)
Ohhh my god am I furious and this one's a gem.
Also I'm gonna namespoil all of the entities in my post. If this is against rant rules I'll reframe it.
So the story starts over an year ago. Me, being in a bad place, where I couldn't do a job due to external issues, wanted to try out an internship. Thought I could pull off a 5 hour shift and then attend to my problems.
THE INTERNSHALA ARC:
I apply to a bunch of applications on Angel, Internshala and Indeed.
I was contacted by a few handful of these places. One of them was called "ARCHITECTA SOFTWARE SOLUTIONS". These guys had arranged an online aptitude test for me which I promptly took.
I looked up this company and they seemed like a pretty okay big firm from the outset but didn't have many reviews on Glassdoor and likes of such. (first red flag). Post aptitude test, I was quite sure I fucked up and wouldn't get further contact. Surprisingly, a person from the company sends me his Whatsapp number over chat and asks me to save it. The message is worded like a bulk email (Starting with Hello everyone!!) which I thought was quite odd since the interaction from these platforms has always been a person-to-person contact for me. Since Internshala showed that only around 40 people applied for the position I was quite intrigued but attributed this to my lack of exp in internship operations.
THE WHATSAPP ARC:
I was contacted by the number on WhatsApp saying that they'd be interested in moving forward and I gave them my work experience details.
The person sends me over a development assignment to complete within a few days. The assignment consists of massive scope of details. I'm talking production level concept and implementation. Asks to me implement a custom emotion detection CV model (worded as "emotion camera" lmao), generate a 3d model (specified nowhere and expects to implement a mono-ocular system for the curious) and deploy it over AWS with a website to go along with it and also host that. The website should contain a VR ("360 rotatable") view that can explore the depth-map ("not worded as depth-map") of the face. My first assumption was that they had picked this work up for outsourcing and didn't bother to chip off parts so as to create an assignment out of it (I know very optimistic).
So I shoot it at him on WhatsApp asking which parts of the assignment should I do?
Him: So, which parts CAN you do?
I thought of it as an HR thing.
Me: I could do most of it but given the time-frame of the assignment and my applied position as a web developer it is perhaps out of scope for my application.
Him: Don't worry about the assignment. You can submit when you complete the whole assignment.
I was visibly angry over the stupidity of this man.
Me: This task is a Full-Stack + CV + VR task. It will take over two months to get working. Am I supposed to work on it for that long for an assignment?
Him: Okay just do the basic functionalities like add to cart. But also try to do the camera thing before next week.
At this point I'm sure that they are having trouble handling an eager client and they're offloading work to interns. So I do only the backend and minimal frontend and submit the assignment (a 2 day job done over a weekend).
Nothing. Empty. No messages since then. I tried sending in a Whatsapp message on the application and how to proceed. Then, if I could get to know if I have been rejected. Nothing.
And all this time I can clearly see the account is active as it pushes pretentious motivational quotes over it's Whatsapp status.3 -
$ rails new [old side project but this time I will finish it (sikes)]
$ cd [project]
[ Inserting "gem 'webpacker' ~> '3.0.0'" in Gemfile ]
$ bundle install
$ rails webpacker:install
$ rails webpacker:install:react
node_modules weights 97.4 mo 🙄3 -
Learning React Native tonight, and I find this gem in their tutorial... "In accordance with the ancient traditions of our people, we must first build an app that does nothing except say "Hello world"."
-
So to keep me going through the day I sometimes entertain myself by adding funny comments to my pull requests. I sit there giggling to myself like some sort of lunatic and the rest of the office probably think I'm a nutcase.
Todays gem was:
Added timeout to prevent hanging. Bet they wish they'd had this feature in the 16th century
Honestly I think my talents are wasted here...1 -
Another tale of the legacy app, so I'm redoing the user roles using the cancancan gem.
Hop into a meeting to go over why I'm re-doing the authorisation, currently, the app is using the rails-authorization-plugin, yes from Rails 2.0.
me: *explains why this is the way to do it*
other dev: "Can we just fix the custom code we have added in that plugin?"
me: "Well given that it's a massively out of date plugin and we have a ton of deprecations, probably not"
other dev: "so let's try and fix it"
Christ, why are we still clinging onto 10+-year-old plugins if were going to keep getting errors when we upgrade?27 -
Found this gem a while ago that made my day
if ( $this->isExternal() ) {
// This probably shouldn't even happen. ohh man, oh yuck.
// But for interwiki transclusion it sometimes does.
// Shit. Shit shit shit.
//
// Use the canonical namespaces if possible to try to
// resolve a foreign namespace.
if ( MWNamespace::exists( $this->mNamespace ) ) {
return MWNamespace::getCanonicalName( $this->mNamespace );
}
In a not too old version for mediawiki, the codebase for Wikipedia.
https://phabricator.wikimedia.org/s... -
Today I played with GitHub Actions. Since I couldn't test anything without making a commit and pushing it to GitHub to trigger the workflow, my commit history now chronicles my slow descent into madness. Thank God it's a private repo. I'm gonna squash it if I ever make it public.
This gem is from hour two of my four-hour struggle:6 -
Still remember my first year of university, listening to the full professor (i. e. she has a frickin PhD). She couldn't explain the difference between ++i and i++. When I tried to tell her what they meant, she dropped this gem: "oh, I just wrap them in parentheses to be safe so it makes no difference which one I use."
Luckily, future profs were much better.1 -
One of my very first PR's didn't even get a comment and I worked hard on it...
Feels bad man, all I need is some kind of yes, thanks for this, or no, this doesn't fit the project goals.
After patiently waiting, went ahead and created my own gem! No response sucks.
Why does this happen?1 -
Just came accross this gem, now I know what these guys look like.
Short Video: https://twitter.com/devrantapp/...
Original Rant: https://www.devrant.io/rants/289520 -
Just found this javascript one-liner gem:
array.sort((a, b) => ([...new Set([...this.strip(a.name), ...a.tags])].filter(x => inKeywords.includes(x))).length == ([...new Set([...this.strip(b.name), ...b.tags])].filter(x => inKeywords.includes(x))).length ? 0 : (([...new Set([...this.strip(a.name), ...a.tags])].filter(x => inKeywords.includes(x))).length < ([...new Set([...this.strip(b.name), ...b.tags])].filter(x => inKeywords.includes(x))).length ? 1 : -1))
If that doesn't make you angry you might be in a coma11 -
As there was a lot of talk on the last times about JDK / Java and the release of JDK 17… found this gem via Planet KDE.
JDK 8 - JDK 17 Summary with Examples
https://advancedweb.hu/a-categorize...
Thanks to the author!
Thanks to Kevin Ottens for having weekly something interesting to read, too:
https://ervin.ipsquad.net/blog/...4 -
I just witnessed Microsoft trolling preview setup.
Let me set the scene for you. I was in Visual Studio and saw the notifications and I had a minute so I decided to check them and saw there were updates, this one being one of them. I went to update and first it asked me to close all instances of VS. Fair enough, I close VS and continue. Instead of taking a minute at most to install it took ~10 minutes which is insane, but fine, I stopped my work for it... And then I'm greeted by this gem. Restart your computer for freaking .NET core and trolling.. I'm sorry, tooling... Preview... What the actual fuck Microsoft?2 -
!rant
If repost sorry for that. Today Im checking /r/AskReddit .
I found this gem - https://reddit.com/r/AskReddit/...
"Today you.... tomorrow me."2 -
So I needed a break from all the straight computer logic for days... so i figured i had 2 options, argue with chatGPT or go back to a dating app.
I chose the latter.
Im ocd with notifs... i NEED the bubble to be gone.
Found this gem...
"Hey beautiful Sara ;) my names is James king it very nice 2 meet u wow u look like a angel that fall from heaven 😘u mind me of a rose because how beautiful you are am how beautiful the rose is am I the best guy on badoo that u would ever talk with on badoo I actually look for Friendship and relationship ;) how are u today am wyd"
So... because im curious, esp when it comes to perplexing linguistics... im def gonna ask if English is his 1st language.
Normally i can tell within a sentence or 2... even tend to know their native tongue by then... this one has me stumped.
Anyone wanna guess if hes a native English speaker???
Maybe ill make a modest prize poolif there's a few entrants.
(he has plenty of pics so ill be able to legally find out in a few min... but ill wait til i dont get a response for a week)
Ill probably make a script to strip out the auto-messages... replying with an auto ofc... and the mundane crap that shows they definitely didnt go beyond the pics.11 -
Ah, the ancient art of copy-paste development – where originality goes to die and bugs come out to play. It's like a cursed incantation that tempts even the best of us into the dark abyss of shortcuts.
You think you're saving time by copying that snippet from Stack Overflow, but little do you know, you've just invited a horde of gremlins into your codebase. Suddenly, your once-cohesive architecture looks like a patchwork quilt sewn by a drunkard.
And let's not forget the thrill of debugging when you realize that the copied code references variables that don't even exist in your context. "Ah, yes, I remember copying this gem at 2 AM. What could possibly go wrong?"
But wait, there's more! Copy-pasting also introduces a special kind of chaos when updates are needed. You find yourself fixing the same bug in five different places because you couldn't be bothered to encapsulate that logic in a reusable function.
So here's a heartfelt salute to all the copy-paste warriors out there, bravely navigating the treacherous waters of borrowed code. May your future coding endeavors involve more thinking, less CTRL+C, and a lot fewer late-night bug hunts!1 -
(a bit late for wk73 but I wanted to post this anyway)
Back in my first year of university, we had to write a relatively simple (though it looked super complicated back then) C++ console application. I don't know what it's called, but it's that game where the computer generates a random 4 digit code and you have to try to guess what it is. Every time you try, it will tell you which digits are correct, which would be correct if they were in a different position and which are outright wrong.
Anyway, the program had a main menu with a help option that would output a short guide on how to play the game. Instead of hard coding it into the source code, the "guide" had go be written in a separate text file and then read and dumped to the screen when necessary.
Here came my great idea on how to read files. Instead of looping through the file until I reached the end, I counted the number of lines my text file had and wrote some gem of a piece of code like this:
for (int i = 0; i<11; i++){
line = file.readline();
cout << line << endl;
}
My teacher obviously took points off for doing such a stupid thing, and I remember complaining A LOT about it. I argued that 11 was a constant because I didn't plan on changing the text file, and that the teacher had no right to take points off for only reading 11 lines because the file only had 11 lines, so it was read in full.
Goddammit, what an innocent little brat I was. I'm glad my first programming teachers were good enough to stay firm and teach me how to do things the right way, even if it's the hard way. -
Just wanted to share this gem with the community here. Best 30 mins ever spent 😆
Kung Fury
https://youtu.be/bS5P_LAqiVg
. -
Found this gem while I going through Salesforce Workbench's disclaimer.
PS: I don't know why I was going through the disclaimer.2 -
Client's WordPress powered site has gone down due to influx of traffic. Site is cached and whatnot, the server it's on is simply underpowered and not coping. Whilst I'm frantically trying to spin up new servers and load balance and get things back online, client keeps interrupting with emails like "URGENT - Website is down", "How long is this going to take please?", and "Hello! Do you know whats going on?!". I reply cordially to each, secretly growing increasingly enraged. "Yes I am already aware and working on it.", "Difficult to estimate, but I'm hoping no more than 20 minutes.", "Yes. I'm working on it.", "Yes, I know. I'm working on it."
And then I receive this gem: "Perhaps call Word press?"
AARRGGHHH
This scene from Clerks springs to mind: https://youtube.com/watch/...2 -
Dependencies suck.
I wanted a ruby gem and needed an older version of ruby to run it. Fine, what's the best way to get multiple ruby versions on one system, apparently rvm.
Now I want rvm.
I can't have rvm without getting gnupg first though.
Before I can get gnupg I need brew.
Now I have brew setting my computer on fire compiling god knows what so it can get gnupg so I can get rvm so I can get the ruby version I want to get the gem I want!
It's been running for quite a while...
This isn't the first or last time that the convenience of packages and versions leads to a maze like trail of prerequisites you need to follow.
I'm sure there's some tool that would've helped with my problem, but the problem shouldn't be this bad to begin with!
I understand why it happens but it still sucks and it's a lot of wasted time.
Frankly I'm expecting some people will have gotten so used to this kind of insanity that they won't get why I'm renting about it, oh well, it made me feel better and gave me something to do while brew is melting my machine.3 -
So, I’ve been given the task of sorting the security out in an application plugging the holes and whatnot as to be honest it’s shocking haha. It doesn’t help that we automate security audits but that’s a different rant for another day.
We’re using devise for authentication (rails standard, ♥️ devise), we have no password resets through the login page, it has to be manually reset by ringing support, why who knows, even though it’s built into the gem and we allow the user to login using an username instead of an email because for whatever reason someone thought it was a bright idea to not have the email field mandatory.
So I hop onto a call with the BAs, basically I go that we need to implement password resets into the login page so the user can do it themselves and also to cut down support calls a ticket is already in place for it. So I go through the standardised workflow for resetting a password. My manager goes.
“I don’t think this will be very secure”
Wait.. what. Have you never reset a password before? It’s following the same protocol as every other app.
We go back and fourth and I said I’ll get it checked with security just to keep him happy.
The issue mainly is well we can’t implement password resets due to 100s of users not having an email on there account.. 🙃 so before we push this change we need to try and notice all users to set a unique email.
Updated the tickets. All dandy.
Looking at the PRs to see what security things have been done if any and turns out one of the devs in India has just written a migration to add the same default email to every user that doesn’t have an email present and yep it got merged. So I go revert the change but talk about taking a “we don’t care about security approach”.
Eventually we want to have the user reset their passwords and login using their email and someone goes a head and does that. Not to mention the security risk.
Jesus Christ I wonder why I bother sometimes.2 -
Please excuse the "photo of my monitor" picture, but it really was the easiest way to do this...
So, I'm finally getting around to that to-do list item of wrapping my head around Nrwl Nx workspaces, and I stumbled onto this little gem: https://itnext.io/easy-typescript-m...
I didn't take long for the "what the fuck" moments to start cropping up, and then I decided to check what comments might have been left on Daily.dev regarding this one (see attachment).
THAT little nugget there is what led me to the ultimate "what the actually fuck" moment, which is only truly appropriate for DevRant..
Create an Nx workspaces, only to initialise a project with `npm` directly, using a path under a new `libs` folder, next to the `packages` folder, only to build the library, and literally install it into the Nx workspace's `node_modules` folder, b order to import it into the app that exist in the same workspace.
So, seriously.. like.. WHAT THE ACTUAL FUCK? What is this guy smoking?? I need to know so I can stay the fuck away from it! Wow. My brain hurts now.7 -
Was assigned a ticket to figure out why some links disappeared when you navigated back and forth through the web application... After a few hours of digging and a bunch of var_dumps later, I find a gem buried in the newer part of the codebase that basically equated to:
$active = "get active flag from DB later";
I confronted the blamed developer and was told: "That statement is truthy, it works."
Another hour or two of passing session data through the obtuse class structure of this monolithic PHP app and the wonky behavior was fixed. -
I'm currently making an internship at a medical software company and today i found this gem in a js file:
/*
the server does not check if the element was deleted or not; it will return success, no matter what; **it's not a bug, it's a feature**
*/ -
Another gem from my Database Fundamentals class, this time it's from the textbook:
So right now we're learning about data modeling with ERDs and the book is explaining a few things about attributes. I got to a part where the book was explaining when you should split an attribute into many (the book mixes up conceptual modelling and logical modelling). The first example the book gave was an address, splitting it up by street name, address number, city, postal code, etc. So far so good. Now we get to the second example: a phone number. The book split the the number 55 11 9784-8900 into four parts:
Country code: 55
Area code: 11
Number prefix: 9784
Number suffix: 8900
At this point I was like "WHAT?". Separating area and country codes from the rest of the number is ok, that's useful, but splitting the number itself in half? Why the fuck would you want to do that? Correct me if I'm wrong but the dash in the middle of the number is just used for "chunking", to make it easier for our brains to read the number. Why would you want to split the number in half? There's literally no reason to do it, at least not in the example the book was showing.
Every time I open this book I keep wondering why the hell my teacher chose it to be our textbook. He's a great teacher, his lectures are awesome, he explains stuff super well, but he chose this book. A book that's filled with shitty literal translations to domain-specific words and acronyms, shitty examples, and convoluted sentences.6 -
https://youtu.be/f5d8pVg3Qtg Found this gem on YouTube for all you rubber duck fanatics out there :)
-
Worst dev tech, it has to be MS Word. Apparently they follow the OOXML guidelines to create a Word doc but they have to put in their own shit-flavored ingredients to increase a developer's misery. Parsing that document is pure agony.
I was looking for a way to find the default font size of the document and found this gem https://social.msdn.microsoft.com/F... -
After nearly four days of fighting with Ruby, Gem, Bundle and a dash of JRuby just to make a plugin for logstash install, I can officially say I feel like Ken Mattingly.
It is all about the sequence, and a metric ton of RAM and CPU cycles and patience.1 -
Except COVID-19, Airport security is also scanning preflight requests and incoming traffic for CORS with its dated test kit (found this unused gem in an old PHP codebase):
-
I am accessing the development server via remote desktop, currently maintaining a win forms app on visual studio. there is that one form which when a break point is hit the whole screen freeze and doesn't respond until you minimize the remote desktop and maximize back. just in this form, not the others. it's reproducable.
it's a gem if you ask me, I show it to everyone I know. -
Working with Python, one annoyance is, it does not have a solid dependency management. Sticking to hand writing requirements.txt and manually maintaining and upgrading dependencies and also manually updating requirements.txt is a horrible pain in the ass.
Wish there was a better way to do this similar to npm and gem.3 -
Cleaning up some old. NET code and found this gem. At least it might be readable once it is rendered to the browser.1
-
New guy taking over senior software developer since the last one seemed to burn out / got tired of all the bullshit. His coming replacement has a habit of making 'software walkthroughs' for every repository we have. The project organization is so badly managed and we only ever work on requirements when we have something concrete. After Outlook-declining one of the walkthroughs I get this little gem from him in an IM:
Guy: <Old Snr Dev> felt that you built the base for it and it would be good if you are there as you might take it forward is what <Manager> told me
Me: yeh but it is like so straightforward
and basically there are other projects on github which do the exact same thing
Guy: okay, just that I have not seen the code yet. Or anyone else to take it forward
Me: i think - go through it when you need to
if there are problems, then ask
WTF? You didn't even check it yourself and you want me to handhold you as a senior software developer? Totally nuts.2 -
Hi dev!, how do you deal with the dilemma of choosing between using a library (gem, package, plugins...) to implement a solution or building from scratch...
Use case: you are working on project x, you need to implement a feature, but stuck between importing a library ( however you will need to customize the library to fit in requirement) and building feature from scratch ( this may take you more time but you have more control).
I have been in both scenarios, whereby I use a library but spent 2 days on customizing, only for me to discard it and implement feature within 2 hours.
I had been in a situation where I build the feature from scratch, only to discover, a one-liner from a library could have saved me hours and whole stress.
I NEED YOUR EXPERIENCE.
THANKS IN ADVANCE4 -
While I was looking through a [physical] newspaper for an AP Micro project, I stumbled across this gem
-
The name of this game is: Identify the Context.
Found this gem of a quote:
"There is enough space between shaft and belt to sneak."
Now, identify the context!11 -
I was scrolling through my past rants and found this gem
https://devrant.com/rants/2305697/...
I posted it when images were not loading due to expired ssl. Looks like everyone who saw this got tricked!!