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 - "recommended"
-
So the new robot (Dingo) arrived yesterday. Today I did the unboxing, and damn was it disappointing. I realized the university purchased it not from the company I recommended, and they messed up the delivery.
The robot controller was missing, and the charging cable did not match the charging station input. Like dude, you had one job!
Since the lady in administration decided to disregard my recommendation and order from a random shop, she might as well assemble the robot herself....14 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.9 -
Rich CEO's are so out of touch with reality.
We outsourced part of our software development to a third world country. During hiring process I had pushed for us to hire the more expensive, more experienced devs in a second-world country, but nooo we must save up those bucks. The pay is so low you wouldn't be able to afford rent in *city where CEO lives*.
As @GiddyNaya has ranted about, third world countries face impossibly slow internet and frequent blackouts. I also ranted about it in my last post. The "last straw" for the CEO was when our dev's computer started malfunctioning.
boss: When is that computer from?
dev: 2017
boss: 2017?! That's a dinosaur! Of course you're having battery problems!
me, trying to come up with an affordable solution for our dev: Well, you can have the battery switched.
boss: But 2017 is too old! Your computer should be *at most* 5 years old. I cannot stress enough how important it is to have your work-related tools working. (last sentence is ad verbatim)
The boss, of course, recommended a Mac. Mind you, the closest Apple store to our dev is 500km away! And a month of their salary will not come close to paying a Macbook.
Providing them with the equipment? No! We're already paying them a "competitive" salary!
Like seriously, how out of touch with reality can you be? Does greed blind you that much?
(The dev seems to have fixed the computer problems on his own tho)9 -
This greek-speaking fucker (who wasn't Greek, he just spoke the language) went full bitch mode when he found out I recommended against giving him a promotion.
While screaming for an hour he called me "ornitophagos", or something that sounded like it.
I'm not quite sure that "chicken eater" is an insult, but it surely seemed like one. Maybe it was some weird attempt at hinduphobia, dunno, I just changed my recommendation to "sack the fucker".8 -
OBS is advertised as the expert's screen recording and streaming tool, every list on the internet makes it out to be some incredibly difficult program not recommended for newbies.
It's also the only linux screen recorder that works out of the box on Pipewire, records both microphone and system sounds and all configuration was to
1. select recording as my main use case in the setup wizard which is a very verbose English popup, then accept all defaults
2. add a new source, following the instructions written in the box which are also the only instructions on screen after application launch
3. set the output directory (optional) by going to File > Settings > Output > Recording Path, all of which were the first items I guessed. If I had not done this, it would've written everything to my home folder which is a bit dumb but not confusing at all
4. click Start Recording
5. click Stop Recording when done
Some newbie-oriented screen recorders have a more complicated setup procedure than this super advanced experts' tool don't touch without safety gloves and a degree in video engineering.11 -
I think, after a few weeks, I'm actually quite enjoying that the Android SDK is genuinely awful.
We all know the feeling: "This is shit, whoever designed this is a fuc...oh, I get it. This is pretty cool actually."
So, it's nice to encounter a genuine dumpster fire of a platform.
I think the beautiful thing about its absolute obsession with providing a context to every single operation, is that you end up passing it around so much that the very concept of context becomes redundant.
Honestly, half of the stuff in here I've just attached to a global statics class, because it saves having to request a context, or a manager or some fucking kind of adapter, and it works just fine.
I've started to laugh when I look up a solution and see the browser scrollbar shrink into infinity, because the recommended answer is about two whole pages' worth of boilerplate to make the back button disappear or something.
I don't think there's been a single moment where I've just been in the flow of writing code. Pretty much all of the process is grafting boilerplate into it.
Not long til deadline, thank fuck.2 -
dR Community Server Showcase is open for suggestions! From devRant users, for devRants users. 🔗 https://devrant.com/collabs/3221539
You will find: guides, videogames, software w/ source available, useful web extensions, gamedev assets, and other stuff.2 -
My company is 8 days late to pay my salary.
The government (uae) recommended a 4.5 work week and my company hinted they wont abide by it
My company promised us bonuses and shares a year ago that we still didnt get
Altho we have been working remotely for 2 years due to covid, they are also trying to enforce going to the office...
Everything about the company is way too toxic
I want to leave ...
but all my applications get ghosted so i feel like a slave, its like i need this company otherwise im jobless. I haye this6 -
"And in a stunning turn of events, he got it to work!"
But seriously... I've literally been throwing shit at a wall and seeing what would stick.
Fucking DTOs and getting shit out of a database. I need better resources on how to do this properly!
Anyways, I found that just using 'object' and letting the compiler deal with the rest of the bullshit actually allowed my code to work and run. I'm still a little in shock.
I'm over here trying to keep things in a nice one-to-one because that's what my PM recommended... and instead I just get slammed by Type casting nonsense and more errors than I can begin to understand. And unfortunately, Stackoverflow is of no help because everyone's issues are very nuanced and unrelated to my problem... Maybe I'm the problem? 🤷
But here it is working without all that bullshit. I don't know man... This code base is not the rager I was expecting. I'm getting my ass kicked with code that doesn't fall in line with the book I'm learning from.
You know how they say, "forget everything you've read and learned"? I'm feeling that really hard right now.
Constantly fighting the urge to rip everything down and do it based on what my book is recommending, but then the logical natured side of me is like "you ain't got that kind of time to be unfucking someone's work, only to get caught in more trouble. Your ego is not worth it"
Anyways, it's fucking late here and I'm glad enough to not have to think about this issue anymore. Bye.3 -
I fucking hate corporate environment. We have a weekly meeting in our tech department where a team is chosen at random to present the project they're working on, architecture and such. You know what? We have fucking documents, for both product scope and technical architecture. If you're interested in our work, go fucking read our docs. If you have a question, slack us or send us a fucking email. Why the fuck do I have to attend a 1-hour meeting every week for this bullshit. Oh and some dude from upper management has a brilliant idea: from today they decide to host 2 such meetings per week, 1 within the tech department, and another within the whole company. So we had to attend the same fucking meeting twice in 1 week!!! Fucking genius!
I'm so fucking tired of these meaningless meetings, but attendance is recommended because "this is how you reach staff level" as they told me. Fucking bullshit. I may try a few more years for the sake of financial stability, and then find a small shop where people just leave me the fuck alone with my codes.4 -
I work as a freelancer and one time I had a client that needed some work done on a crypto website. I was so hyped up because the money was good so I jumped on it. Fast forward 2 weeks later I still couldn’t figure what the shit I was doing as the client kept asking for update.
Yes, I have experience with blockchain but my skill on Javascript just couldn’t help. I did google and also ask questions on S.O. but it wasn’t enough to get me on track.
At the end, I reached out to the client and apologized for not being able to meet up with their request and then recommended someone else.
So I’d say “I lost faith” on my skill as a Javascript dev at that moment for not being able to use some blockchain APIs effectively and also look forward to improving my catalog.2 -
After 20 minutes of recording a coding tutorial video in Quicktime, I clicked the "stop" button and waited for the file to write to the desktop. And I waited....and waited....and waited....and....nothing. Short test videos I had created saved fine, but not this long one. I've tried all the recommended "how to recover Quicktime recording" tutorials, but no joy. Does this ever happen to you? If so, were you able to recover any recordings and how did you do it?12
-
I ran out of milk halfway a chocolate milk.
With no options left, I skeptically decided to add some water.
I had half a cup of milk, added 1/4 of water. Y'know, enough to look filled, not enough to ruin it in case it goes wrong.
Microwave it.
No, freaking, difference. Loved it.
I added some more water to see how much it changes, and it's just slightly less thick and 70% milk flavour. Sure it's a change but now I know the limit.
Recommended.8 -
The website was down.
She called me 5 or 6 times and mailed me twice that amount, asking how long it would take to get back up. Each time I answered that I did not know, that it was my job to figure out what was wrong, and that solving a problem doesn't have a fixed duration.
What I thought was that the updates on her emotional state of regret were not helping me to resolve the issue and cost me time. Why do people inflate the price of things they are going to pay for by asking for what cannot be known?
In the end it was just a shitty shared host having flipped some switches. It was their own damn fault for picking it over our recommended provider that keeps us informed about all them switches. Such as disallowing SymLinks overnight.3 -
real story. In high school, a librarian (women) recommended me a book. I read it in classroom, it was fine for the first half and then.... the real story began.
It was 50 shades of grey.
It's been about 4 years. I'll soon be completing bachelors. And I've yet to return the book, out of shyness.9 -
Asciidoc! I finally got around to play around with it and it is just so awesome! Best tool for documentation hands down! So many improvements over Markdown:
- importing real code snippets based on tags with syntax highlighting and annotations (which can be also auto numbered with "<.>" instead of "<1>"!)
- Admotions! Love them!
- automatic TOC! Finally!!
- joining a child item to a parent item in a list with "+" in a new line (this one took me a while to understand, but no more offset items in lists! Love it!)
- making tables and loading data from an actual CSV-file! The future is now!!
- embedding images with a fixed size
Just a few things from the top of my head. I don't know why I put up with vanilla Markdown all these years...
Last but not least, a big THANK YOU to everyone who recommended Asciidoc! I accidentally stumbled across multiple mentions of Asciidoc a few months ago. Sorry, but you know who you are! Much love to you and your loved ones! You changed my life for the better. Thank you! -
Any recommended free Mac App Uninstaller which uninstalls the app completly including any preferences and cache?7
-
This is the link that has brought me the most joy acceleration in my life.
Go see what it does yourself.
I love adminer so much.
Hyper recommended.
Screw MySQL Workbench.
(this rant was saved since that day images stopped working, good job guys)4 -
How the fuck is Firebase still a thing? I just spent hours debugging a random "not authorised" error, only to find out you need to enable a deprecated API even if you're only using the new (recommended) one. Do they tell you about it? Fuck no, they keep it disabled by default, they tell you to only use the new API, and they make it pretty much impossible to find the deprecated API you need to enable without a direct link.
And why the fuck does the official SDK send image URL as { "imageUrl": "http://..." }, when the endpoint expects it to be { "image": "http://..." }? Why the fuck does the documentation mention both options interchangeably, while only the latter one actually works?7 -
Question for Support:
What are the recommended system specifications for [X]. We have a client using a laptop with an [BEEFY-CPU] and 32 GB of RAM and your program hits 100% on both resources when this program is used.
Answer by Support:
Those specs look above our recommendations. Programs using 100% of computing availability is a good thing and it means that it is functioning correctly. Of course if they have a more powerful computer it will run faster, but I would say that they are well positioned.4 -
So, what are your most favorite methods of saving interesting articles about algorithms, functions or simply news so you can read them later when you have time? I find myself storing links to interesting web pages without really going back to them or remembering which link was what. I shifted to storing the links in evernote but it's still not what I'd ideally like to have...
If there are any recommended routines, apps or tools that make stored links insightful (like allowing me to add a quick description or automatically adding a sort of preview of the link), I would appreciate it!
Please note that this is primarily about saving a resource while I'm on the go or simply can't/don't want to spend too much time on the actions.15 -
Several folk in various places recommended TigerVNC over TightVNC to solve a copy and paste bug.
So after wrestling to get it installed..
I find out its got other bugs that make it more annoying !
I can't get the client window to be anything but super large, across several monitors at first opening, and then, you can't resize it to auto-shrink the contents..
This makes it so much of a pain to try and use, I never got around to testing the copy and paste bug !
So, other than TigerVNC, is there any other VNC version that is copy/paste bug fixed.. ?6 -
Any heuristics on using new JS/CSS features?
I thought of waiting 2 years, but I just saw an article that recommended waiting 6 months.
Another factor could be covered percentage, based on caniuse. 98%+ is the coverage of things we can all agree we can use, so is 95%+ enough for new features? 90%+ (so 1 in 10 people wouldn't get the expected experience)?5 -
A friend recommended Durrell's "The Alexandria Quartet" in 1982. I check it out from the library and read it. Over the intervening years I acquired a very nice softcover edition. Last Christmas I began reading it again. For some reason I was pissed off at the soap opera bassinet who haven't we bonked narrative that began the fourth book.
So I ripped up the softcover edition and threw it away. Now I'm re-reading the third book. I wanted to buy just that one. Except it's something like forty dollars. I learnt my lesson. Don't tear up good softcover editions of books just because you don't like them at the mo. It'll cost ya. -
I go to YouTube and I get recommended the same selection of videos almost everytime.
I made a joke about being a virgin on 9GAG, after that the first video recommended to me on YT is "Master of Virginity" by penguinz0 (MoistCritikal).
Is that how being spied on like ?1 -
Junior: "I've deleted the unnecessary migration files after a rollback, just like you recommended me, but the DB-table that tracks which migrations where run still shows them after running migrations"
Me: "That shouldn't happen 🤔 How did you delete them?"
J: "I deleted the code in the Up and down scripts"....
Is it so hard to understand that a migration will "run" even if it doesn't do anything?4 -
favourite/recommended database IDEs/tools? I'm looking to put more time into a hobby project using mysqlite. I only got datagrip, mysql workbench and DB Browser for SQLite on my list so far3
-
VSCode offers to install the official MSSQL plugin as "recommended plugins for MySQL" without informing the user that they're getting fucked over. I tolerate very few deliberate minor inconveniences designed to influence my product choice, so what are my options for a reasonably scriptable, yet stable open source IDE with a good set of plugins?6
-
I have the following scenario with a proposed solution, can anyone please confirm it is a secure choice:
- We have critical API keys that we do not want to ship with the app because de-compiling will give access to those keys, and the request is done before the user logs in, we are dealing with guests
Solution:
- Add a Lambda function which accepts requests from the app and returns the API keys
- Lambda will accept the following:
1. Android app signing key sha1
2. iOS signing certificate sha1
- If lambda was able to validate them API keys are sent back.
My concerns:
- Can an attacker read the request from the original (non-tampered) apk and see what the actual sha1 value is on his local network?
- If the answer to the question above is yes, what is the recommended way to validate that the request received is actually from the app that we shipped and not from curl/postman/script/modified version of the app11 -
Which favicon sizes do you use? Most sites I see still use 32x32 as the default.
Plus a list of higher red icons with and an apple-touch-icon at 192x192 or 180x180 being the most common.
Reason I'm asking is Google recommended anything divisible by 48. https://developers.google.com/searc... First example is 48x48, which is not even generated by most favicon-generators and I rarely see.
And from what I can tell Google Search shows 32x32 for most sites.4 -
How to Jitter Click and Increase Clicks per Second?
If you are a gamer who wants to increase clicks per second speed, you must learn how to jitter click. Here, I am sharing an easy step-by-step process of jitter clicking and how to master the technique with practice.
For those who are new to the concept of jitter clicking, let me first tell you about that.
What is Jitter Clicking?
Jitter Clicking is an advanced mouse-clicking technique that gives you more clicks per second on the CPS test ( https://cpstest.pro ) than the regular way of clicking. You use your forearm and wrist muscles to create vibrations in the hand and use it to make more clicks in less time.
How to Jitter Click? Step by Step Guide
If you want to learn jitter clicking, follow the steps provided below.
1. First, hold the mouse properly. A claw grip works the best for jitter clicking.
2. Start by making for forearm stiff and putting all the stress on the wrist muscle.
3. Use the stressed wrist to create vibration in your hand and the index finger.
3. The index finger must be on exactly the top of the mouse button keeping it just a few millimeters away.
4. The vibration in the finger will make the mouse button click way faster than normal
That's it. You've successfully learned how to jitter click. It might seem a bit difficult in the beginning, but after you practice it enough, you'll be able to master jitter clicking within a week.
Among all my gamer friends who started using jitter clicking, most of them have seen significant improvement in their clicking speed. Those who had around 6-8 CPS earlier, started to get 11-12 CPS within a week of jitter click practice. A few of them went even beyond that with 14 clicks per second.
According to stats, jitter clicking is recommended as the fastest way of clicking.
Clearly, it is a good technique but those who are starting to jitter click should take proper precautions as the method involves unusual muscle movements and may lead to wrist pain, cramps, or even carpal tunnel syndrome.
It is advised that gamers take sufficient breaks while jitter clicking and not perform it for long time periods in one go.
Keeping this in mind, I hope you'll definitely get better clicks per second using the jitter click technique.4