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 - "double monitor"
-
Wrote my friend Sam a letter when I was still working in support. I think it still holds up today.
---
Dear Sam,
I understand that you will join us in our overseas office. Congratulations on landing that job. It’s good steady work. I’ve been doing it for the last ten years.
Your still young so maybe I can give you some little wisdom that will help you in your working years to come.
Let me begin by shedding some light on phone calls.
I try. I really do try Sam. But it is getting so hard for me to hold back the rage that builds up during certain phone calls. Especially the ‘Sorry, I just don’t know anything about computers! -giggle-’ ones.
Those are the times that I have no access to what they see. I’ve no team-viewer, can not take over that screen in any other way. And why-oh-why can I not take over that terminal session dear Sam? It’s because the caller can not double-click an icon or find a terminal session number.
And what is the reason for this? Because they ‘just don’t know anything about computers! -giggle-’. This is a sort of get-out-of-jail-free card. Beware of these callers Sam.
There is nothing so nerve-wrecking then finding yourself at the mercy of people describing Internet Explorer (do not even get me started) as ‘the big ‘E’, if they use Chrome for their webmail then they most likely will say ‘Mail’ if they mean Chrome. There is no logic Sam. That is just the way these people work.
They will suck all enjoyment out of your work. They will make you want to hunt them down in dark office hallways and show them your tears Sam. Because cry you will.
Sure, I understand that not everyone can be tech savvy. Why, if everyone would be, where would that leave us? No. I love the technologically challenged. They put the fiber in my internet. They make me LOL for real. After the initial anger subsides anyway.
But just below that well-willing folk, on the other side of that border… there they dwell: Management.
Nice cars, suits and iphones Sam. First thing a new manager will require is a brand spanking new business-card. It will hold his/her new title. Then an iphone or overpriced android model will follow suit.
Then they will barge into your office, holding it like it’s the next best thing since sliced bread.
Any manager will automatically assume that you will drop anything you are doing at the present moment to acknowledge the presence of greatness. Failing to do so will result in awkward yet fulfilling situations. I recommend that you do not take your hands of the keyboard and give only the slightest of nods after 5 minutes of complete silence and glaring.
Well… you feel the glare. You do not glare yourself. You do not break eye-contact with the monitor. It does not even matter if you are typing for real or not. I once clicked away happily for 5 minutes. I just typed ‘he is still there’ over and over again. Do not break down Sam. This moment will decide your relationship with this individual.
After the nod there will be a flood of words aimed in your general direction. You can disregard anything that is said. It boils down to ‘can not operate device’.
You then take the device from this person and put it next to you on your desk. You’ll ask the name of this simpleton, write it down on a sticky-note, slap that on the phone. Then you’ll write a random date in the not so near future on another sticky and hand that to the bewildered person in front of you.
It will usually utter some incoherent words about ‘needing, time or but’ (I find that ‘but’is a word they like. They tend to use it three or four times consecutive before you usher them through the door).
Now you’ve won Sam. Well… not really. But it will feel good, I can guarantee that.
This must do for now. A new suit is glaring at me for the last five minutes.
Felt good to do something productive with this time.
Take care,
Baltasar
P.s. I just noticed that there is some foam around his mouth. So if you encounter this, don’t worry: it seems to be perfectly normal.13 -
Most satisfying bug I've fixed?
Fixed a n+1 issue with a web service retrieving price information. I initially wrote the service, but it was taken over by a couple of 'world class' monday-morning-quarterbacks.
The "Worst code I've ever seen" ... "I can't believe this crap compiles" types that never met anyone else's code that was any good.
After a few months (yes months) and heavy refactoring, the service still returned price information for a product. Pass the service a list of product numbers, service returns the price, availability, etc, that was it.
After a very proud and boisterous deployment, over the next couple of days the service seemed to get slower and slower. DBAs started to complain that the service was causing unusually high wait times, locks, and CPU spikes causing problems for other applications. The usual finger pointing began which ended up with "If PaperTrail had written the service 'correctly' the first time, we wouldn't be in this mess."
Only mattered that I initially wrote the service and no one seemed to care about the two geniuses that took months changing the code.
The dev manager was able to justify a complete re-write of the service using 'proper development methodologies' including budgeting devs, DBAs, server resources, etc..etc. with a projected year+ completion date.
My 'BS Meter' goes off, so I open up the code, maybe 5 minutes...tada...found it. The corresponding stored procedure accepts a list of product numbers and a price type (1=Retail, 2=Dealer, and so on). If you pass 0, the stored procedure returns all the prices.
Code basically looked like this..
public List<Prices> GetPrices(List<Product> products, int priceTypeId)
{
foreach (var item in products)
{
List<int> productIdsParameter = new List<int>();
productIdsParameter.Add(item.ProductID);
List<Price> prices = dataProvider.GetPrices(productIdsParameter, 0);
foreach (var price in prices)
{
if (price.PriceTypeID == priceTypeId)
{
prices = dataProvider.GetPrices(productIdsParameter, price.PriceTypeID);
return prices;
}
* Omitting the other 'WTF?' code to handle the zero price type
}
}
}
I removed the double stored procedure call, updated the method signature to only accept the list of product numbers (which it was before the 'major refactor'), deployed the service to dev (the issue was reproducible in our dev environment) and had the DBA monitor.
The two devs and the manager are grumbling and mocking the changes (they never looked, they assumed I wrote some threading monstrosity) then the DBA walks up..
DBA: "We're good. You hit the database pretty hard and the CPU never moved. Execution plans, locks, all good to go."
<dba starts to walk away>
DevMgr: "No fucking way! Putting that code in a thread wouldn't have fix it"
Me: "Um, I didn't use threads"
Dev1: "You had to. There was no way you made that code run faster without threads"
Dev2: "It runs fine in dev, but there is no way that level of threading will work in production with thousands of requests. I've got unit tests that prove our design is perfect."
Me: "I looked at what the code was doing and removed what it shouldn't be doing. That's it."
DBA: "If the database is happy with the changes, I'm happy. Good job. Get that service deployed tomorrow and lets move on"
Me: "You'll remove the recommendation for a complete re-write of the service?"
DevMgr: "Hell no! The re-write moves forward. This, whatever you did, changes nothing."
DBA: "Hell yes it does!! I've got too much on my plate already to play babysitter with you assholes. I'm done and no one on my team will waste any more time on this. Am I clear?"
Seeing the dev manager face turn red and the other two devs look completely dumbfounded was the most satisfying bug I've fixed.5 -
Just moved to my own place, got more work done in 48hrs than I could've in a double that time with flatmates around. 💃👯
Now about that monitor setup...6 -
I know it is 1 week too late but i dont care. Im aware that my workbench looks like shit but in reality it is a "creative mess"
@Condor Do you envy me now? I have 1054z that is hacked and has all its features unlocked! I have desoldering station and crappy (very crappy) soldering station. In addition to that i got simple sine/square generator that goes to 1Mhz (old communist poland tech - indestructible and great)
Situation with my pc is complicated. My main pc (with the curved monitor)
-i5 3350p
-12 Gb or ram (2*4Gb and another 4 that friend gave me)
-radeon 7800hd (*RIP* cant play games anymore 😥)
-256Gb sata SSD
-2Tb WD blue HDD
In addition to that i have a laptop
i5 4 cores, 8Gb ram, 1Tb HDD, GTX1050
I use my lap for gaming now, i even connected that monitor as main lap.
(double monitors yay!) sometimes i use my old pc for minor things but i use rdp for that, it is great experience! (my lap displaying rdp from my old pc on second monitor that was my old pcs main one 😂 i find it a tiny bit funny)15 -
When I drove up the parking lot, I had a feeling that this was a special day. Not "good" special, but "BAD" special.
I parked my car, went out, double checked to I got my headphones with me and walked in.
People where not at the places, they where talking to each other. Not talking but everyone where at some different place.
I have seen this before, when people is not working at they desk - that means that something is not working as it should and they are not telling.
I went directly to the serverroom, and directly noticed that one rack was completly black. No power. And the monitor server was one of the victims - FUCK. -
I'm here in my bed. I can't sleep and in less than 5 hours I will have an important exam. I was thinking that a few months ago I went to a IT company as a school program. I would have to stay there for 2 weeks and "work" for them.
Upon arrival, the guy who had to monitor me gave me a sheet of paper with 5 alghoritmic problems to solve. He tells me to use java and hands me a laptop. naturally with windows. I try to look for some ideas but I can not find anything. I go to the control panel and search for something. Obviously there is a lot of bloatware and nothing catches my attention. then strangely I find something called oracle ... something ... but when trying to open it it gives me an error.
Fuck me. I decided to open notebook(normal one not ++ or something) and start solving the problems trying to remember the names of the methods and the classes based on what I had learned in school. then the guy comes back and looks at me puzzled. I tell him I did not find any IDE for java and the only one I found seem to give me an error. The guy double clicks and the program opens...fucking shit... He tells me to finish the problems and goes away perplexed. I copy the code from notepad to the IDE, I check the errors, I run it and the add some comments and I call the guy. he looks at the code, says that everything seems fine and then assigns me other things to do.
Now. HOW FUCKING STUPID MUST SOMEONE BE TO THINK THAT WRITING JAVA IN NOTEPAD IS A VIABLE CHOICE, AMONG ALL THE POSSIBLE SANE CHOICES I COULD HAVE MADE LIKE TRY TO UNDERSTAND THE ERROR OF THE IDE OR CALL THE GUY... NO. MY LITTLE SHOTTY FUCKING BRAIN DECIDED THAT NOTEPAD WAS A GOOD CHOICE. IF I COULD GO BACK IN TIME IN THE SAME MOMENT THAT I OPENED NOTEPAD I WOULD BITCH SLAP MYSELF SO HARD THAT I WOULD LOSE MY SOULD AND THE LAST 2 NEURON THAT MADE THAT SHITTY CHOICE. I WOULD BITCH SLAP MYSELF SO HARD THAT THE KINETIC ENERGY PRODUCED WOULD COLLAPSE THE UNIVERSE ITSELF. AND FROM THE DARKNESS A NEW UNIVERSE WILL BE BORN. A UNIVERSE WHERE THERE IS NO JAVA OR WINDOWS. A UNIVERSE WHERE MY 2 NEURONS WOULD HAVE MADE THE SHITTIEST DUMBEST CHOICE EVER IN A I LAST MISERABLE SELF DESTRUCTIVE ATTEMPT.
but then I come on devrant and I read about people who did thing worse than writing java on notepad and then everything is fine
PS my English is so bad I had to use Google translate, write an original version, translate it and do a side by side comparison with my translated version to check If I could improve something. Don't now If It improved the quality or not...3 -
So I thought I knew source tree, apparently I do not... Lost a week's worth of work, went to history, saw someone removed it with a commit, and now I'm getting blamed for my own work 'disappearing'. The reason I am being told I am to blame is how I control my branches... So how I do it is that I keep a local copy of the master branch, I keep it updated and monitor it for changes regularly (meaning fetch and pull cause double tap..) before I do a merge, I check for any new code on master again, then using the local copy of master, which I just updated, I pull the master changes into my branch, deal with any conflicts, build and done. Then I request my changes into master once I am happy everything is good.
My question is, clearly there is something wrong with the way I do things, so please source tree users, what is the most fool proof way to pull latest from master so that I don't loose code? 😔11 -
I've had my site up and working for a few months now (still need to finish building it properly the template project is still half default lol) but because I setup the Nginx server on a digital ocean droplet myself using both for the first time ever I obviously made some mistakes. It was up and running though just always spouting 'nginx[1755018]: nginx: [warn] conflicting server name "jessiejfoley.dev" on 0.0.0.0:443, ignored' whenever I 'nginx -t' or 'java.security.cert.CertificateException' on this server monitor app I have on my phone
But it was up and ssl seemed to be working so I ignored it
today I learned about https://sslshopper.com/ssl-checker...., which told me my intermediate certificates were not functioning properly, I was bored today and didn't wanna be too productive (else boss expects the progress I've made this week every week) and decided to finally go through and see about getting everything fixed properly starting by reinstalling the certs and double checking my commands.
2 hours later I still can't fix the cert errors so I decide to focus on the conflicting name error. Go through the nginx directory cleaning anything non essential or things I put there while trying to figure out how to get it up originally (learned as I was going lol bad practice I know, but it's just a practice site that'll eventually be a portfolio when I feel like making it properly and investing an adequate amount of time)
as soon as I get rid of jessiejfoley_dev.save.3 inside /etc/nginx/conf.d (my actual site is in sites-enabled) my server monitor app stops reporting the cert error and when I check the ssl checker everything is properly working now.
so the easiest problem to fix was actually the cause of all my problems. I'm and idiot and this shows I still have a LONG way to go to actually knowing what I'm doing at all.1 -
This happened to me sometime back.
I want to try out a WordPress plugin in my local machine before installing on a production server. It is an Ubuntu machine. Downloaded and installed Xampp, then setup WordPress with MySQL. Now tried uploading the plugin zip file, it throws some permission error, asking to fix permissions or use FTP. I thought of just chmod 777 recursively for the WordPress directory to fix this easily.
Ran the command, looks like it is hung. Terminated using Ctrl+C and then ran the same command. Again it is taking much time. It should not take so much time to recursively change the permission of just a WordPress directory. Thought something was wrong. Before I realized the damage is already done.
Looks like I ran the command
sudo chmod -R 777 /
instead of
sudo chmod -R 777 ./
Fuck, I missed a dot in the command and it is changing permissions of everything in my machine. Saw the System monitor, CPU usage spiked to 100%. I can't close or open any program. Force shutdown the machine using the power key. It didn't boot again. Recovery mode didn't help. Looks like there is no easy way to restore back from this damage. Most of the files I need are backed up in the cloud, still, need a few more personal files so that I can format and reinstall Ubuntu. Realised I have Windows in dual booting. Boot into Windows and used some ext4 reader to recover the files, formatted and reinstalled the OS. Took a few hours to get back to my previous setup.
Lesson Learned: Don't use sudo unnecessarily.
Double check the command while executing.
Running a wrong command with root permission can fuckup your entire machine.