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 check"
-
I was 15 years old and the first year of high school. Everything was new to me and I was such a newbie. At that time I had 2-3 year of programming behind me at an institution where they taught competitive programming. And I knew something about computers. Not much but more than most of my school mates. At that time I wanted to become "super cool hacker".
So we had this very very thought teacher for history which was also our form master. She really knows how to explained everything about history and in an interesting way. But while she was teaching we also had to write down notes from her powerpoints that were on a projector. And occasionally she would wait for us to copy everything and then move on with her lecture. But sometimes she didn't. This was frustrating as hell. The whole class would complain about this because you couldn't take notes down normal, you had to do it at double speed.
But she got one weak spot. She was not very good with computers. Our school computers were locked in some kinda closet so that students didn't have physical access to a computer and were also password protected. So I came up with the plan to plant wireless mouse in her computer so that I could control her mouse. At that time it seemed like SUPER HACKER MASTER PLAN.
So I got an opportunity one time when she left the classroom and let closet where the computer was open. I quickly sneaked the USB of the wireless mouse in the computer and then go back to the seat.
So THE FUN began.
Firstly I would only go back in powerpoint so that all my schoolmates could write down notes including me. And it was hilarious to watch when she didn't know what is happening. So then I would move her mouse when she tried to close some window. I would just move it slightly so she wouldn't notice that somebody else is controlling mouse. And by missing X button just by slight she would click other things and other things would pop up and now she had to close this thing so it became a nightmare for her. And she would become angry at the mouse and start complaining how the computer doesn't work and that mouse doesn't obey her.
One time when she didn't pay attention to her computer and projector I went to paint program and drew a heart and wrote we love you (In Slovenian Imamo vas radi -> See the picture below) and one of my school mates has the picture of it. We were all giggling and she didn't know what is was for. And I managed to close everything before she even noticed.
So it got to the point where she couldn't hand it more so she called our school IT guy so that he would check her computer (2 or 3 weeks passed before she called IT guy). And he didn't find anything. He was really crappy IT guy in general. So one week passed by and I still had messed with her mouse. So she got a replacement computer. Who would guessed all the problems went away (because I didn't have another mouse like that). I guess when our IT guy took the computer to his room and really thoroughly check it he found my USB.
So he told her what was the problem she was so pissed off really I didn't see her pissed off so much in all my 4 years in high school. She demanded the apology from whom did it. And at that moment my mind went through all possible scenarios... And the most likely one was that I was going to be expelled... And I didn't have the balls to say that I did it and I was too afraid... Thanks to God nobody from my school mates didn't tell that it was me.
While she waited that somebody would come forward there was one moment when our looks met and at that moment both of us knew that I was the one that did it.
Next day the whole class wrote the apology letter and she accepted it. But for the rest of 4 years whenever was there a problem with the computer I had to fixed it and she didn't trust anybody not even our IT guy at school. It was our unwritten contract that I would repair her computer to pay off my sin that I did. And she once even trusted me with her personal laptop.
So to end this story I have really high respect for her because she is a great teacher and great persons that guide me through my teen years. And we stayed in contact.11 -
boss: What the fuck guys! Why didn't you go to the meeting this morning? Have you checked your google calendar?
me: But, but it is scheduled to tomorrow, google calendar says that.
boss: Who put that date?
me: You
boss:....
boss:And fo you double checked it?
me: What do you mean?
boss: Double check! Check if what is in the google calendar is correct!
me: But that doesn't make any sense.
boss: No excuses!! Next time you must double check!10 -
If programming languages where weapons...
1. C is an M1 Garand standard issue rifle, old but reliable.
2. C++ is a set of nunchuks, powerful and impressive when wielded but takes many years of pain to master and often you probably wish you were using something else.
3. Perl is a molotov cocktail, it was probably useful once, but few people use it
4. Java is a belt fed 240G automatic weapon where sometimes the belt has rounds, sometimes it doesn’t, and when it doesn’t during firing you get an NullPointerException, the gun explodes and you die.
5. Scala is a variant of the 240G Java, except the training manual is written in an incomprehensible dialect which many suspect is just gibberish.
6. JavaScript is a sword without a hilt.
7. Go is the custom made “if err != nil” starter pistol and after each shot you must check to make sure it actually shot. Also it shoots tabs instead of blanks.
8. Rust is a 3d printed gun. It may work some day.
9. bash is a cursed hammer, when wielded everything looks like a nail, especially your thumb.
10. Python is the “v2/v3” double barrel shotgun, only one barrel will shoot at a time, and you never end up shooting the recommended one. Also I probably should have used a line tool to draw that.
11. Ruby is a ruby encrusted sword, it is usually only used because of how shiny it is.
12. PHP is a hose, you usually plug one end into a car exhaust, and the other you stick in through a window and then you sit in the car and turn the engine on.
13. Mathematica is a low earth orbit projectile cannon, it could probably do amazing things if only anyone could actually afford one.
14. C# is a powerful laser rifle strapped to a donkey, when taken off the donkey the laser doesn’t seem to work as well.
15. Prolog is an AI weapon, you tell it what to do, which it does but then it also builds some terminators to go back in time and kill your mom
All credits go to Vicky from damnet.com5 -
// sorry, again a story not a rant
Category->type = 'Story';
Category->save();
Today at work I got a strange email
'about your msi laptop'
(Some background information, a few months ago I went on vacation and left my work laptop at home. Long story short some one broke in and stole my msi laptop)
So this email had my interest. I opened it and the content was something like:
Hi! My name is x, I clean/repair laptops partime and I noticed your personal information on this laptop, normally people whipe their data from their laptop before selling so this is just a double check, if the laptop was stolen please call me on xxx
If I hear nothing I'll assume its alright and will whipe your data
So of course I immediately called him, after a conversation I informed the police who is now working on the case7 -
Once we were going to present a web service to governmental firm. All is going well so far and my boss asks me to host the web application the day before the presentation.
I hosted it and all was good with demo production tests, but I had a bad feeling.
While it was running on our server, I also ran it locally with a reverse proxy just in case.
* Meeting starts *
* Ice broken and down to business *
"And now our developer will run the demo for you..."
* Run the demo from my laptop to double check --> 500 Internal Server Error *
Holy shit!!!
* Opens reverse proxy link on my laptop. Present demo during meeting. Demo works like a charm. *
Firm representative: "Great! Looking forward to go live."
*Our team walks out*
GM: "Good job guys"
ME:4 -
Dev: Why do you have an identical if statement right below this one?
Manager: Because I want the code to double check, obviously.
Dev: …19 -
Was asked to log into a website by my company and I swear something was up... I needed to double-check
Yup... it's even worse than I thought.6 -
These fuckface wantrapeneurs, posting jobs (paying to do so) and then offering bullshit like:
- We have no funding, so you'll work for free for some time.
- Paying in fucking crypto.
- Wanting a full stack rainbow puking and shitting unicorn for peanuts
- Fucking scammers, posing as legit companies and asking you to install Anydesk.
- Asking absurd interview tasks and times (a couple of days worth of work for a task).
- Whiteboard and live coding interviews with bullshit questions thinking they're Google, while having 20 devs.
- Negotiating salaries and when presented with contract get the salary reduced by double the amount.
- Having idiotic shit on their company websites like a fucking dog as a team member associated as happiness asshole. (One idiot even had a labrador during the video interview while cuddling him)
- Companies asking you to install tracking software with cam recording to keep you in check. (Yeah, you can go fuck yourselves)
- Having absurd compensation schemes, like pay calculation based on the "impact" your work has
Either I'm unlucky or job hunting has become something else since I last started searching.4 -
Dev: Hey that internal audit you asked me to perform didn’t go so well
Manager: It has too! I’ll get in a lot of trouble if it doesn’t pass.
Dev: Ok well it’s a lot of work to get it to a passing state, we have to dedicate a lot of resources to fix all these findings.
Manager: We don’t have any spare resources, they are all working on new projects! Why did you have to find things??
Dev: ….It’s a lot of hard to miss stuff, like missing signatures on security clearance forms
Manager: Ok can’t you just say that everything is all good? They’ll probably not double check.
Dev: I’m not really comfortable with that…Look all of these findings are all just from one member of the team consistently not doing their job, can’t you just address that with him and I can make a note on the audit that issues were found but corrective action was made? That’s the whole point of audits.
Manager: You don’t get it, if anything is found on the audit I’ll look bad. We have to cover this up. Plus that’s a really good friend of mine! I can’t do that to him. Ok you know what? You are obviously not the right person for this task, I’ll get someone else to do it. Go back to your regular work, I’m never assigning you audits again.8 -
So, as the lead UX/UI designer, I was working with the marketing officer on the new e-mail template of the company. It took us at least one week to get a good settle – 'cause, you know, she's so skilled on that – doing back and forth and arguing on every detail.
Then she sent me a PPT file with the content and wording for each kind of e-mail.
After 3 days of work, I finished implementing the template and pushed the project in production.
~3 months later
MO: How's your work going on the template?
Me: Erm, sorry? You mean, the e-mails?
MO: Yes! Can you show me the result?
Me: Well, the result is online for...like...3 months?
*Surprised* MO: Hum, yeah? But I didn't validate it!
*Wince* Me: Well, yes, you did, we worked together on it and we finally found a nice settle.
MO: Yes, but the content? Can you send me one of each kind so I can double-check?
Me: ...
*to the rescue* CEO (and husband of MO): It's OK, I've already validate them.
MO: Oh, ok. But I want to double-check. I'll do it later, ok.
~3 weeks later
MO: Can you tell me how I can receive the registration e-mail?
Me: ...
*to the rescue, joking* CTO: Well, did you try to turn your computer off and on again?
MO: Oh, you really think this will work? Let me save my work first!
Me: *BOOOOM*
TL;DR: The marketing officer of my company does nothing productive and is making the company losing a lot of money, but she also make me lose my time for bullshits.
At least I can laugh about it on devRant.2 -
Worst coding mistake would be me dropping an entire table of customer names because I forgot to double check the table name in the script. I felt my soul leave my body.4
-
TL;DR: check polarity before plugging your DIY circuits into others!!!
*goes off to watch some Lucky Star and drink some booze*
*notices phone battery dying after 3rd pint*
But my charging cable that Huawei delivered with this thing is way too short... Well that ain't no problem, I can make one of my own 😎
But I'm tipsy.. sound I really enter the workbench in this state?
*goes off to build a charging cable anyway*
But what was USB-A male connector's polarity again? Oh, there's the fan's USB connector that I've made in the past. Let's check on that one. So, left is positive and right is negative?
*solders the wires on*
Snip, strip, stick, done! Well that was easy. I guess that all those failed soldering attempts and lost pads in the past as a means of training did pay off in the end!
*plugs phone into Raspberry Pi media center through new charging cable*
Strange sounds coming from the speakers.. well that's odd. Reverse polarity or maybe the Pi can't handle a 1A load from my phone?
*plugs phone into the 5V 5A charging hub that I've made earlier*
That oughta do.. current limits should be no more in that thing.
*charging hub makes high-pitch noise similar to the Pi speakers*
Definitely a reverse polarity, isn't it :') let's check on the Gargler...
Oh shit! It is a reverse polarity mistake!!! Should've checked this earlier >_<
*resolders wires properly*
Alright, finally done.. as I'm writing this post, my phone's charging from the Raspberry Pi through my fixed charging cable now...
Lesson learned. Always check on the internet what the pinout is before soldering anything, don't solder while tipsy, and be fucking grateful that this phone has reverse polarity protection in it.
Nexus 6P with all its shortcomings regarding power delivery and battery management, luckily it's got reverse voltage protection features built-in. Otherwise it might've costed me my phone. Always double-check before plugging anything into something else!!!5 -
Can I trust myself?
Start a new email in Outlook 2013. Drag an attachment onto it. Immediately double click the attachment to sanity check it's the right file.
"You should only open attachments from a trustworthy source."
Sigh.1 -
Unless you had a horrible accident where you lost most of your fingers, I don't understand why anyone would do this. I had to double check I wasn't looking at obfuscated code.
```
String a;
String flag;
String tp;
String n;
String chn;
String lt;
String lg;
String bid;
String d;
```11 -
[Little perspective: For the last 7 months I'm working in a certain project.]
[The project is full of unimaginative, non-creative devs with 0 initiative and poor technical background.]
[And they're almost all from one country which you all can figure out.]
[But I'm not going to mention it here because I don't want to come up as a racist]
[So there's US (Europeans) and THEM. 3 of US and about 10 of THEM. And we're doing 90% of all the heavy lifting]
---
Yesterday
---
D (Dev from THEM): Hi S, I have a problem with my task
Me: (sighing) Ok let's have a call
* on the call with D we were checking some stuff loosely related to task *
* code wouldn't get invoked at all for some reason *
* suddenly I realize that even if the code would invoke, D's probably doing everything wrong in it anyway *
Me (thinking): I need to double check something.
Me: I can't help you now, I'll get back to you later.
* call ended *
---
Me: Hey J, I need your help, I need to clarify the work package in my mind, because I am no longer sure.
J (my European TL): Ok, fire away.
* call started *
Me: Is it true that [blahblahblah] and so D's task depends on me completing first my task, or am I losing my mind?
J: That is correct.
Me: Well she's trying to do this in [that] way, which is completely wrong.
J: You see, that's how it is in this project, you do refinements with them, split these work packages to tasks, mention specifically what depends on what and what order should things be taken in, and in some cases all tasks from given user stories should be done by one person entirely... But they do it their way anyway, assign different people to different interdependent tasks, and these people don't even understand the big picture and they try to do the things the way they think they understand them.
Me: It's a fire in a brothel.
J: Yup.
Me: I fucking love this project.
J: (smiling silently)
* call ended *
---
Me: Ok D, you can't do your task because it's dependant on my task.
D: Oh... so what do I do?
Me: I don't know, do something else until I do my task.
---
A (THEIR TL) (Oh, did I forget to mention that there are 2 TLs in this project? THEY have their own. And there are 2 PMs as well.)
A: Hey S, I need to talk
Me: (sighing, getting distracted from work again) Ok let's have a call
* call started *
A: S, we need this entire work package done by Friday EOD.
Me: I can't promise, especially since there are several people working on its several tasks.
A: D's working on hers for 3 days already, and she's stuck. We want you to take over.
Me: (sighing, thinking "great"): Ok.
* call ended *
---
Me: Hey D, A instructed me to take over your task. This is actually going to be easier since you'd have to wait for mine after all.
D: Oh, ok.
---
* I switched the Assigned Person on D's task to myself on Azure *
---
This morning, email from D.
"Hey, I completed my task and it's on [this] branch, what do I do now?"
........................................
Me, hesitating between 2 ways to reply:
(and take note there are people in CC: A, J, P - the last one is THEIR PM)
1) "Hi, Unfortunately you'd still have to wait for my changes because your task is dependent on my task - the column to be changed is in the table that I am introducing and it's not merged to develop branch yet. By the way I already did your task locally, as I was instructed to do it, I'm wrapping things up now."
(y'know: the response which is kind, professional, understanding; without a slight bit of impatience)
2) WHAT FUCKING PART OF "DON'T DO THIS I WILL FUCKING DO IT MYSELF GO HOME JUST GO HOME" YOU DON'T FUCKING UNDERSTAND4 -
So... I was using my laptop one day and randomly my mouse started spazzing out, I thought maybe it's broken or something so I paused the video I was watching and waited for a couple of seconds, soon after I played the video, my mouse started moving around again, closing windows and opening up different things. I got so scared I shut my laptop down before it could open anything else.
A few minutes later I turn it back on and everything looks fine, I thought whatever that was all about is probably gone, had to double check my security settings etc. and let it be for now.
A few days later I found out that it was actually my dad, in the next room trying to hook up his Bluetooth mouse to his iMac which for some reason got connected to my laptop instead. He was moving it around trying to see whether or not it's working, thus the spazzing out of it on my screen...lmao boy I felt so relieved after that 😂
~not really a hack however it gave me a good laugh2 -
Reviewing bosses code and had these two if statements with no logic between
if (someVar) {
if (someVar) { // double check someVar is true just in case
}
}7 -
always double check your rm -rf command...
long ago, young me was setting up a server. last thing was to remove a temp folder i created. instead of rm -rf /path/to/dir, i typed rm -rf / path/to/dir...
"this should not take so long...wait... shit"7 -
When I was 17 years old. I had difficulties in understanding math problem “Calculus” (I can’t remember which one was it). This one day when we were in a Computer Lab, our teacher was showing us how really software’s are made. During my time, it was vb6. I paid close attention. When I went home, I started to think things that I can make using that software so one day I went to my teacher and asked if I can have a copy of the vb6. He gave vb6 and told me that inside are few eBooks that will help in learning.
Fuck School, from that day I started to concentrate on programming only. Made a small calculator which will help me to understand a Calculus problem and double check my answer. From that day, I love programming.
I’ m 26 now and a full stack software developer. All I want to do it build cool shit, something that will blow the eyeball of my friends and that eyeball should pop out from their asshole.
Joke: The person who scored highest in the computer class was afraid to switch on the PC.1 -
Worst codding interruptions? That's easy: fucking meetings.
You know they're coming up. They start to drain your focus. You double check the clock/start time. You ask yourself if you were supposed to prepare anything. You typically waste an hour of your time over something that could have been a fucking e-mail (or doesn't even matter at all). You come back to your desk, and your focus is broken and you wonder when the next meeting is coming up.2 -
When you think you've either found a bug in Python, or you're going insane, so just to double check, you make two mutually exclusive assertions that could never both be true, and yet, your tests still pass.
I think it's time to find a new job.9 -
Why the fuck does Arduino use C++ macros for min, max, abs, etc. ???????
---
For those who don't know what a macro is, basic example:
#define abs(x) (x > 0 ? x : -(x))
Which looks like a function, but instead abs() will be replaced by the expression and all x will be replaced literally with what you pass to abs
So
abs(i++)
would evaluate to
(i++ > 0 ? i++ : -(i++))
which would call i++ twice
---
I guess I will have to double check every built in function and rewrite it if it's a macro -_-. Not taking any chances. Btw all Arduino functions are in one big file, so now I have to pollute my code with namespaces.
Macros can be great but what the fuck.16 -
Dynamically typed languages suck. God I hate them
It's like one big clunky free for all. I don't understand how people can work in Python or even JavaScript and tell me that they're good languages with a straight face
Not having proper autocomplete or documentation (a somewhat seperate issue of Python) is a kick in the stomach for productivity.
I've seen people advocate for using EXTERNAL DOCUMENTATION VIEWERS. WHAT
I hate not being able to enforce types so I can reason about little parts of my program. I hate not having an IDE that can actually help me. I hate having to see stupid grep'ed code snippets instead of nicely formatted javadocs. I hate having to double and triple check everything when trying to code. I hate handling effectively opaque values where I don't know anything about the type without looking it up. And I especially hate not knowing what types function parameters need to be.
Dynamic typing doesn't remove types. That, although completely unfeasible, I could respect.
Oh no, the types are still there. Just not for you
It's like solving a jigsaw puzzle with a blindfold on56 -
So my gas bill (for heating and warm water) is so low that my provider wants to send someone over to check the counter on it.
They can't put one and one together and take into account that my power bill is like double the amount they calculated. -
I had to take the screenshot from my phone so as to not offend anybody in the office.undefined you can't be sure if an object is what it is double check when you paid by code quantity codebase in my company5
-
That moment you've been dreading for a week, when you've exhausted every single resource you can in finding a solution and you've put it off way longer than you ever should have.
When you might have to ask on ...StackOverflow...
So you spend an hour agonizing over your post. You double check your google searches in case there is some info out there that you may have missed. You include code samples. You check your spelling and grammar and you any 'fluff' from your post.
Finally you hit submit and watch as nobody responds, but the downvotes just keep piling up... and damnit you have no idea why.5 -
Sometimes it's better to burn a bridge so you don't even think about crossing it in the future.
See, I left a company some years ago because I didn't see my future in it and all management combined had a collective intelligence of a chicken.
However, I got a call from them a couple of months ago asking me if I could return. The salary was double and the working arrangement seemed fine. On paper. WFH. Flexibile hours...
Since I actually liked the project itself for its technical challenge, I accepted the return offer. What a bad idea that was.
Of course, the things that made me leave for the first time had only gotten worse. Bad leadership, idiot developers in team leader positions. Tech debt higher than Mount Everest. Bad infra that makes you want to off yourself every time you work on it. The whole circus.
Seriously, the "senior" team leader will happily merge code that includes assert(true == true), but hold up a well written MR because he has a personal vendetta with the developer.
Personally, I always check him whenever he starts being an ass. But the poor juniors are in hell. They're terrified.
Now I'm leaving again, but this time I've made sure I can't come back.3 -
Trying to communicate with a client's former "web guy" to transfer the clients domain back to my client so I can make changes to the design and make it mobile friendly.
He emails me "it's on Wordpress, so it's already responsive"
Go to double check on iPad and my phone. design is unresponsive... -
Yep, today was a Monday. Had a request to truncate some tables. Set up a script to disable constraints, truncate, and re-enable constraint. It ran flawlessly. Too bad I ran against the wrong schema, though. Ran it against a dev schema instead of the requested itest schema, because the dev schema was stuck in my head. Well, I guess I tested it in dev. Against some developers schema. But, hey, it worked flawlessly. Because, you know, when you are pointing at the wrong place, it will always work. Every time.3
-
I strongly dislike people who don't even try to gather information by themselves before asking others.
Now, I'm sure ALL of you have seen this, when someone has a problem with their code, printer, etc they ask you or someone else before just Googling the answer. Like ffs, you really think that you're so special that you feel like other people should Google stuff for you, like I need you to understand that you're not special, you're not unique and there's a VERY high chance someone has has the exact problem as you.
The most common question I see on Discord as a whole is "who ping" or "why ping" or something related. Ffs Discord had a fucking button that tells you who pinged you (yes I know that the sender can delete the message, but this is rarely the case and I always check before getting mad)
On a somewhat related note, I never understood why people ask "who are you" especially when they have a name tag or whatever (and double especially if it's online) like what do you expect them to say? Do you want their life story?13 -
I don't know why things work when I do but not for other people. 😓
Request to reset password. I did.
Said still cannot login.
I double check. Reset again and try to login. Success.
Said still cannot login with a screenshot.
😓 I think my projects hate me.2 -
Always double check your keyboard layout when setting a complex password in non-English speaking countries.
-
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 -
Client calls me, 10am in the Sunday, complaing that there's something wrong with the system, the same thing he called me last week and I told him to observe and double check every time he closes a POS sale. So far, the error hasn't happened till today, Sunday again.4
-
so... not really a rant because i'm happy to be in the long-term zenlike state where i don't really give a fuck about anything anymore, but...
so today's my birthday (thanks in advance for all the semi-mandatory "cheers" reactions and such)
the agency i do temp jobs through sends money weekly (for the one week back) (which is the main and only reason i use them). they arrive at friday 12:25, so that's when i know to go "check" by withdrawing it, and it's also awesome because it's the best time to provide funds to reward myself (by booze/weed) at the end of the week.
last week, nothing came in. i called them and learned it was due to the contact person in the company i did job in being too late on sending the agency list of people who showed up at the work, i was told it's gonna arrive one week later together with the proper payment for the week-1,so effectively i was one week without any money (literally), but on the next week double was going to arrive, which is nice.
that next week of double was now. i found out that no double arrived, only single-value payment. i called them to ask why.
i was told that what arrived was the late payment, and the dude in company was again late with sending the presence list, so the other payment, for the proper week's work, will be a week late again.
so... that kinda ruined my financial planning tor tge week that's going to happen.
i guess my point (if i have any) is... funny how when someone fucks up, there's nobody for me to be angry at and hold responsible in any way, but when i have delays in my work due to delays upstream, nobody gives a shit about my excuses and it's my fault and i should have compensated, it was my responsibility and duty, and me not doing it (to my own detriment, for someone else) is me failing.
funny how the subjective dynamics of the world always somehow works out in a way where everyone else fucks up and i either have to suck it up and be okay with it otherwise i'm a selfish unreliable entitled asshole, or suck it up and extinguish their fire for them, otherwise i'm a selfish unreliable entitled asshole XD
anyone else noticed this in their life?
how does it work? what is the factor that decides whether you're in the "suck it up" class or the "fuck it, someone else will suck it up" class?
doesn't seem to (just) be the money(flow), i've seen this thing happen even in situations where the money/client dynamics were flowing the opposite way to what would be natural for the shit fall direction.4 -
Not dev but I need to get it off my chest, first day back from holiday and I'm already stressed.
Today my company's travel agency made a mistake in my first name when booking me a flight. Once I received the itinerary and noticed the mistake I sent an email telling them and politely asking to have it fixed. They said they'd sort it out urgently.
~4 hours later
They changed my *last name* and now both first and last names are spelled incorrectly..
Seriously, how incompetent does one have to be to mess the very thing they were told to double check. -
So today was interesting.
I had to extract the domain from an email address and compare the domain to a hard coded whitelist, nothing difficult, fuck takes 2 min really.
Except the project starts throwing 500 errors for no god damn reason, like seriously, I double check syntax, nope looks fine, run pho's syntax checker on the file
# php -l /path/to/file.php
Nope says it's all good.
Checks error log on server -> no log
OoooooooooKay then.
Comments out the few lines, saves, errors gone.
remove comments, error comes back.
Do this a few times, and magically the fucking thing stops throwing errors, now I haven't actually changed anything, and I know this project is so fragile I don't know how it stays running at times but fuck me this is a painful joke.6 -
A long long time ago ( 2007 I think ) I worked for a company that made landing sites, so basically an email campaign would go out, users would be sent to a 1 page website with a form to capture their data, ready to be spammed even more. You know how it was back then.
So I worked with a guy who we had just hired, I didn't do the hiring but his CV checked out, so I gave him one of my tasks. Now most pages were made with js and html, with a PHP backend ( called with Ajax). Now this guy didn't know PHP so I was like all good, ASP works too at the end of the day we don't judge, we do like 2 or 3 of these a day and never look at them again. So he goes of and does is thing.
3 weeks later, the customer calls up to me they still haven't received their landing page. Ok so he probably forgot to email the customer np, I tell him to double check he has emailed the customer. Another week goes by end the customer calls back, same problem. At this point I'm getting worried, because we're days away from the deadline and it was originally my task.
So I go back to the guy and I tell him I want that landing page so I can send it myself, half thinking to myself that we had a freeloader, that guy that comes in to companies for 3 weeks, doesn't work, but still cashes his pay. But no, this was much worse.
So he tells me he has finished yet. I ask him why, what's the blocker ? You had 4 weeks to tell me you were blocked and couldn't progress. And his answer was simply, because I wasn't blocked I have been working on it this whole time. So I tell him to zip his project up and email it to me. We didn't do SVN or git back then, simply wasn't worth it. So he comes back to me and says the email server is telling him attachments can't be bigger then 50mb. At this point I'm thinking he didn't properly sized the art or something, so I give him a flash drive to put it on.
When I then open the flash drive, the archive is 300mb, thinking to myself, the images weren't even that big to begin with.
So I open it up, and I don't even find any images, just a single asp page. About 500mb. When I opened that up and it finally loaded, I saw the most horrendous things ever.
The first 500 lines was just initializing empty vars. Then there was some code that created an empty form with an onChange event that submits the form. After that.. it was just non stop nested if's. No loops, no while, for, foreach, NO elseif's, just nested if's, for every possible combination of the state the form could be in. Abou 5000 of them, in a single file. To make matters worse, all the form ( and page ) layout was hardcoded in the if's. Includes inline css, base64 encoded images, nothing but as dynamic, based on the length of the form he changes the layout, added more background etc. He cut the images up for every possible size of the page and included them in the code.
I showed it to my boss, he fired the guy on the spot. I redid the work from scratch, in under 4 hours. Send it to the client. they had no ammends to make, happy as Larry. Whish I kept the code somewhere.
Morale of the story, allways do a coding test on interviews, even if small things just to sanity check.3 -
So we've got a gif that doesn't show up in our React Native application. Of course, the designers assume it's me: "are you sure the gif is in the codebase? how are you using it in your component"? yeah ok boomer. I'm like, look at this other gif, works fine. "oh" So I tell them, double check the export options on how you are building the gif, maybe there is something there. so now they are asking ME for those export options. I'M A DEV, NOT A DESIGNER, DO YOUR JOB AND FIGURE IT OUT. I DON'T EVEN KNOW WHAT PROGRAM YOU ARE USING
oh as an aside, I was putting up a website for a client and they are like "my logo is quite similar to many others, is this something to worry about legally?" OH, SO NOW I'M A LAWYER TOO??!!?!? WHAT IS WRONG WITH YOU PEOPLE GOOGLE IS LITERALLY IN FRONT OF YOU
why do people continually think just because we can code we are fucking designers / lawyers / astronauts
/ god?
man this pisses me off - i think of that draw red lines with blue ink expert video, in the end, just smile and nod: "i can do... absolutely anything... trust me, I'm an expert"4 -
Does anyone else find it super-confusing how Microsoft refers to SQL Server versions by both product year and version number?
For instance, we primarily use SQL Server 2012, 2014, and 2017, which are versions 11, 12, and 14 respectively.
The slight mismatch between the product year and the version number creates a lot of ambiguity. If someone refers to SQL Server "14," we always have to double-check: do you mean 14 as in version 14 as in 2017, or 14 as in 2014 as in version 12? Does SQL Server "12" mean 12 as in version 12 as in 2014, or 12 as in 2012 as in version 11? It's ridiculous!3 -
Let's Americanize idioms:
1. Break the ice — Open the wallet
2. Bite the bullet — Pay the price
3. Hit the nail on the head — Count the exact change
4. Let the cat out of the bag — Drop a dime
5. Piece of cake — Easy money
6. Costs an arm and a leg — Break the bank
7. Under the weather — In the red
8. The ball is in your court — The check is in your hands
9. Burn the midnight oil — Spend the last dollar
10. Hit the sack — Cash in for the night
11. Barking up the wrong tree — Investing in a bad stock
12. When pigs fly — When money grows on trees
13. Kick the bucket — Cash out
14. Spill the beans — Drop a coin
15. Break a leg — Make a fortune
16. Pull someone's leg — Shortchange someone
17. Once in a blue moon — Once in a financial windfall
18. A blessing in disguise — A hidden treasure
19. The best of both worlds — A double dividend
20. Caught between a rock and a hard place — Between a loan and a hard debt16 -
that moment when you're very proud of yourself, spending almost a week making a workaround for a problem with a plugin but as you double check the plugin for similarity with what you want to accomplish, it already has a frickin method for it
fml1 -
Don't think too big at first. You'll definitely get there if you play it smart. Babysteps, kiddo, start with the babysteps. We've all been there, we've all started with all the hello-worlds.
Never trust a sole source of information. Always have doubts and double-tripple check with other sources. Some tutorials are misguiding, others could be solving slightly different problems than they appear to at the first glance
listen to the seniors/mentors. Seek for mentorship. This field is too vast to absorb it on your own. Mentors will help you there.
Before diving into coding make sure you know what you want to build, how it'll work. "I'll make it move somehow" is the straightest path to disappointment. Think it through, ask mentors for help if you need
If you're building an elephant, start with his front left feet's toes. Don't start with the elephant.
Always test.
Most importantly - have fun! -
Okay so I have a question about Windows Linux Subsystem and idk where else to ask this.
So should I think of it as a virtual machine except instead of being a completely separate environment it’s my current computers environment?
I don’t know how to word this how I’m thinking about it but I’m trying to figure it out.
Also do Bash scripts work with it? I assume they do but it’s just a double check.19 -
Right to repair by Corsair
My mouse has double click glitch...
To disassemble the mouse, first skates need to be peeled off and destroyed in order to get to mounting screws...
I was unable to find those skates online, so I reached directly the Corsair to check if they sold them. Of course they don't sell them...
Next I tried to find professional shop. I found one willing to replace switch for 50$ while brand new mouse costs 60$.
FUCK YOU CORSAIR7 -
API response.
For a week been working with my project manager remotely.
Then yester night had a tough one.
Me:Please send me the API endpoint so that can test it and see the response.
Him:On my side all is set just consume the response.
Me:As a practice I did first test the API using postman and the response was okay.
Me:As I had already prepared my Retrofit code to consume and parse the response I head to it.
Me:Fast forward 20 minutes into the application I realise getting some unexpected errors thanks to the guy who didn't follow my response format.
Me:I call him asking him to check how he formatted the response .
Him:He claims he formatted it as requested .
Me: Double check my work and am damn right and now raise my voice as I talk to him again and requests him to send me a screenshot of his response and I send mine.
From the screenshots turns out his response is okay as he is working from a damn localhost and my response was coming from the live server.
Feel like strangling him for wasting my previous 30 minutes2 -
Started opening tabs in Firefox Quantum like all you devs do during development. All of a sudden, firefox gave up and stopped loading any new websites.
Bookmarked all the tabs and closed ff. Clicked on again, the old process appearantly is stuck, so it showed a warning, closed the old one and opened it again.
Alright fine, opened all the tabs from bookmarks again. Firefox is again stuck. Realised some of the tabs might be acting up. Just to double check if it really is those tabs, decided to open them in chrome.
It opened fine and I continued to browse in Chrome without any hiccups.
:/6 -
Been working on a new project for the last couple of weeks. New client with a big name, probably lots of money for the company I work for, plus a nice bonus for myself.
But our technical referent....... Goddammit. PhD in computer science, and he probably. approved our project outline. 3 days in development, the basic features of the applications are there for him to see (yay. Agile.), and guess what? We need to change the user roles hierarchy we had agreed on. Oh, and that shouldn't be treated as extra development, it's obviously a bug! Also, these features he never talked about and never have been in the project? That's also a bug! That thing I couldn't start working on before yesterday because I was still waiting the specs from him? It should've been ready a week ago, it's a bug that it's not there! Also, he notes how he could've developes it within 40 minutes and offered to sens us the code to implement directly in our application, or he may even do so himself.... Ah, I forgot to say, he has no idea on what language we are developing the app. He said he didn't care many times so far.
But the best part? Yesterday he signales an outstanding bug: some data has been changed without anyone interacting. It was a bug! And it was costing them moneeeeey (on a dev server)! Ok, let's dig in, it may really be a bug this time, I did update the code and... Wait, what? Someone actually did update a new file? ...Oh my Anubis. HE did replace the file a few minutes before and tried to make it look like a bug! ..May as well double check. So, 15 minutes later I answer to his e-mail, saying that 4 files have been compromised by a user account with admin privileges (not mentioning I knee it was him)... And 3 minutes later he answered me. It was a message full of anger, saying (oh Lord) it was a bug! If a user can upload a new file, it's the application's fault for not blocking him (except, users ARE supposed to upload files, and admins have been requestes to be able to circumvent any kind of restriction)! Then he added how lucky I was, becausw "the issue resolved itself and the data was back, and we shouldn't waste any more yime.on thos". Let's check the logs again.... It'a true! HE UPLOADED THE ORIGINAL FILES BACK! He... He has no idea that logs do exist? A fucking PhD in computer science? He still believes no one knows it was him....... But... Why did he do that? It couldn't have been a mistake. Was he trying to troll me? Or... Or is he really that dense?
I was laughing my ass of there. But there's more! He actually phones my boss (who knew what had happened) to insult me! And to threaten not dwell on that issue anymore because "it's making them lose money". We were both speechless....
There's no way he's a PhD. Yet it's a legit piece of paper the one he has. Funny thing is, he actually manages to launch a couple of sort-of-nationally-popular webservices, and takes every opportunity to remember us how he built them from scratch and so he know what he's saying... But digging through google, you can easily find how he actually outsurced the development to Chinese companies while he "watched over their work" until he bought the code
Wait... Big ego, a decent amount of money... I'm starting to guess how he got his PhD. I also get why he's a "freelance consultant" and none of the place he worked for ever hired him again (couldn't even cover his own tracks)....
But I can't get his definition of "bug".
If it doesn't work as intended, it's a bug (ok)
If something he never communicated is not implemented, it's a bug (what.)
If development has been slowed because he failed to provide specs, it's a bug (uh?)
If he changes his own mind and wants to change a process, it's a bug it doesn't already work that way (ffs.)
If he doesn't understand or like something, it's a bug (i hopw he dies by sonic diarrhoea)
I'm just glad my boss isn't falling for him... If anything, we have enough info to accuse him of sabotage and delaying my work....
Ah, right. He also didn't get how to publish our application we needes access to the server he wantes us to deploy it on. Also, he doesn't understand why we have acces to the app's database and admin users created on the webapp don't. These are bugs (seriously his own words). Outstanding ones.
Just..... Ffs.
Also, sorry for the typos.5 -
There are a couple:
A system that updates user accounts to connect them into our wifi system by parsing thousands of processing files written in Clojure. The project was short lived and mainly experimental, It has complete test cases and the jar generated from it is still purring silently on the main application. It was used to replace an $85k vendor application that made no fucking sense. The code has not been touched in 2 years and the jar is still there. The dba mentioned the solution to the vendor, the vendor tried buying it from me, but being that it belongs to the institution nothing was touched, still, it got the VP's attention that I can make programs that would be bought for that level, it caught his attention even more when I showed him the codebase and he recognized a Lisp variant (he is old, and was back in the day a Fortran and Cobol developer)
A small Python categorical ML program that determines certain attributes of user generated data and effectively places them on the proper categories on the main DB. The program generates estimates of the users and the predictions have a 95% correctness rate. The DBA still needs to double check the generated results before doing the db updates. I don't remember how I coded it because I was mostly drunk when I experiment on the scenario. It also got the attention of the VP and director since the web tech manager was apparently doing crazy ML shit that they were not expecting me to do, it made them paranoid that I would eventually leave for a ML role somewhere, still here, but I want more moneys!!
A program that generates PDF documentation from user data, written in Go, Python and Perl (yes Perl) I even got shit from the lead developer since I used languages outside of their current scope of work. Dude had no option but to follow along with it :P since I am his boss
Many more. I am normally proud of my work code. But my biggest moment is my current ntural language processing unit that I am trying to code for my home, but I don't have enough power to build it with my computers, currently, my AI is too stupid, but sometimes it does reply back to my commands and does the things I ask it to do (simple things, opening a browser, search for a song etc) but 7 times out of ten it wont work :P -
Lua users, have you used moonscript?
It's a little language that has it's own interpreter or can be compiled down to Lua and it's absolutely lovely (currently using it with Love2d).
Of course, as with most things, what I love about it also royally pisses me off sometimes.
For starters local has to be declared for variables, unlike lua.
Otherwise the variable goes to _
Also note, that some tutorials literally tell you the opposite.
all variables are local by default
unless you don't declare them
then they go to _ (throwaway)
Some tutorials get this wrong too.
all variables have to be declared local
except tables. failure to declare a table WITHOUT a local will cause things like
table.insert to fail with "nil" values for no god damn reason.
No tutorial I could find mentioned this.
Did you know we call methods with '\'?
By the way, we call methods with '\'.
Why? Who the fuck knows.
Does make writing web routes more natural though.
Variables in the parameters of new are declared and bound for you. Would have loved to know this before hand instead of trying
to bind to them like a fucking idiot.
Fat arrows are used to pass in self for methods.
Unless you're calling a method. Then you use backwards slash. This fact is unhelpful when you're a beginner and dealing with the differences between the *other* arrow, the backslash, the fat arrow, and the fact that functions can be called with or WITHOUT parenthesis.
And on that note..
While learning all this other shit, don't forget parenthesis are optional!
Except when they're not!
..Like when you have a function call among your arguments and have to disambiguate which args belong to the outer call and to the inner call! Why not just be fucking consistent?
But on the plus size, ":" is now used for what it should have been used for in the fucking beginning: binding values to keys.
And on the downside, it's in a language thats built on top of another language that uses it for fucking *method calls*, a completely
different fucking usage.
And better still, to add to that brainfuckery thats lost in the mental translational noise like static on a fucking dialup modem, you define methods with the fat arrow. Wait, was that the single arrow or fat one? Yeah the fat one. Fuck. But not before you do THIS shit..
someShit: =>
yeah, you STILL include the god damn colon just so when you're coming from lua you can do a mental double take. "Why am I passing self twice? Oh right, because fuck me, I decided to use moonscript." It's consistent on that front but it also pisses me off.
A lot of these are actually quality of life improvements disguised as gotchas, but when you're two beers in to a 30 minute headscratcher it sure doesn't fucking feel like it.
Nevertheless, once I moved beyond the gotchas, it was like night and day. Sure moonscripts takes a giant steaming dump all over the lua output, like a schizophrenic alcoholic athena from the head of zeus, but god damn, when it works it just WORKS.
Locals that act like locals? Check.
Sane OOP? Check.
Classes, constructors, easy access to class methods, iterators? Check, check, check, check, check.
I fucking hate ceremony. Configuration over convention is for cunts. And moonscript goes a long ways toward making lua less cunty.
If you've ever felt this way while using lua, please, give moonscript a try.
You'll regret it, but in a good way!6 -
/me joining a new front-end project with enforced prettier rules to complete the build pipeline.
No double-quotes ! Single-quotes all the way !
- weird flex, but OK. I'll comply
No CRLF ! LF only !
- Ok, now you're starting to annoy me. With git autocrlf I can have my precious CR locally bu check in only LF and YOU CAN GIVE THE FUCK ABOUT WHAT LINE ENDINGS I USE LOCALLY WHEN EVERYTHING WILL BE CORRECT WHEN PUSHING COMMITS!
No semi-colons !
- Now I hate you18 -
I already wrote this story in the comments to some other rant, still it's pretty funny.
So, i was modding my wii u by messing with system files, the only way to do this is to run an homebrew that hosts an ftp server so you can connect with your pc, the thing is, this server was not protected and allowed anonymous login, not an issue if you have a firewall.
BUT i had this console in the DMZ on the router for online play.
~You can see where this is going~
While doing stuff from my pc i started seeing a lot of entries on the console's log and i didn't understand why, i thought filezilla was doing some shit so i closed it but the log was still going, then i realized and quickly shut the server down.
Then i disabled the DMZ and went back to check what happened (unfortunately the log was only shown on screen and not saved, by closing the server i lost it) so looks like the attacker uploaded a lot of files with random names in pretty much every folder.
Due to the random names, I don't know which are system files and which attacker's files so i just kept them there. And today they should still be there.
--Random thinking--
What if the attacker also stole some files, he was hoping to get photos or valuable documents, but just got the console's system files and he thought something along the lines of "wtf is even this".
Also, how likely is that an ip scanner script gets to my ip in the 5 minutes i run the server, and (on the attacker side) how likely is to hack a server just to find out that's a wii u (the least successful console in the last generation)...
Moral of the story: double check your firewall if you are going to run an unprotected server.
That's it, stay safe :P2 -
When replying to posts, it'd be useful if we could reply in a textbox underneath the rant or comment rather than a modal window (at least on a desktop browser.)
Sometimes I want to refer back or double check something as I'm replying to it, and the current modal dialog makes it a tad annoying to do that at present.2 -
Just fixing a broken build due to another bad merge by SVN. There was no reason it should have fucked that merge up but somehow it did.
Of course I didn't double check by building locally so that was my screwup but what I wouldn't give to use a decent source control tool1 -
Anyone else notice that the error checking in Visual Studio sucks sometimes? I'll see the error pop up in the editor, read what it's complaining about, double check all the code, think for a minute, get confused about it, comment out some stuff - wait no, it wasn't that, uncomment it....
then save the file and it rescans. Boom, error gone. It was just a phantom error wasting my time.3 -
So last year I sent my PC to get a motherboard replacement, as I couldn't be arsed replacing it or even research what motherboard I should get(was dealing with more urgent personal matters).
Anyway, I get it back and everything works good but not the front USB port.. I always found it weird, but also didn't bother to open the case and double check, so I let it go and assumed, since the motherboard was fried, that the USB wires were faulty.
Time passes by and I decide to open the case for annual cleaning job... Turns out the motherfucker didn't connect the port, why?? Fucks knows why... Obviously the wires were "short" and he didn't even try to pull it out further!!! You little piece of shit,for a full year I've been living with a missing usb port, the fucking front facing mother fucking usb port. Fuck.
Moral of story? Don't be a lazy ass and fix your shit on your own!4 -
Started a new contract:
Dev: "here, take this draft document containing a rough explanation of the requirements and write this service that exchange messages with these two subsystems"
Me 😐"ok"
-- couple weeks later --
Dev: "oh btw, you should go through ALL the fields in those messages described in the 'documentation' and double check them because we use millimeters and they use meters, we measure milliseconds and they use seconds. You should handle conversions when you deal with those messages"
Me (in my mind): "fucking son of a bitch! Why didn't you tell me this little piece of information at the beginning so I could have accounted for that instead of bloating the code now with your spaghetti style, full of horrible hacks, ifs and workarounds?
Me 😐: "sure, I will"
(don't worry, in the end I managed to find a clean solution for that 😉) -
!rant
tl;dr: programmer's excuse vs civilian excuse funny moment in conversation w/ gf
pertinent info: gf has access to my calendar; I added my class schedule for the upcoming semester earlier today
gf: you're taking human psychology where as im taking human development lol
me: I'm taking human psychology?
wat
gf: <screenshot of my calendar entry (it's human physiology)>
see
me: OH
Physiology
!=psychology
psybnlogy
close enough
the human brain's word recognition relies on lossy compression
not my fault
.-.
gf: ohhhhhh
I don't have my glasses on and my computer is far so that's my excuse lol
me: LOL
I assumed I misread it
didn't even double check your spelling6 -
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 -
Today my boss sent me something that smelled fishy to me. While he was trying to simulate Excel's rounding he faced what was to him unexpected behaviour and he claimed that one constructor of the BigDecimal class was "wrong".
It took me a moment why this was happening to him and I identified two issues in his code.
I found one fo the issues funny and I would like to present you a challenge. Can you find a number that disproves his claim?
It's Java if anyone was wondering.
double d = 102.15250;
BigDecimal db = new BigDecimal(d)
.setScale(3, BigDecimal.ROUND_HALF_EVEN);
BigDecimal db2 = new BigDecimal(String.format("%f",d))
.setScale(3, BigDecimal.ROUND_HALF_EVEN);
BigDecimal db3 = BigDecimal.valueOf(d)
.setScale(3, BigDecimal.ROUND_HALF_EVEN);
System.out.println(db); // WRONG! 102.153
System.out.println(db2); // RIGHT! 102.152
System.out.println(db3); // RIGHT! 102.152
P.s. of course the code itself is just a simple check, it's not how he usually writes code.
P.p.s. it's all about the numerical representation types.8 -
In last episode of "How SystemD screwed me over", we talked about Systemd's PrivateTMP and how it stopped me from generating SSL certificates.
In today's episode - SystemD vs CGroups!
Mister Pottering and his team apparently felt that CGroups are underused (As they can be quite difficult to set up), and so decided to integrate them into SystemD by default. As well as to provide a friendlier interface to control their values.
One can read about these interactions in the manual page "systemd.resource-control"
All is cool so far. So what happened to me today?
Imagine you did a major system release upgrade of a production server, previously tested on a standalone server. This upgrade doesn't only upgrade the distribution however, it also includes the switch from SysVInit to SystemD. Still, everything went smooth before, nothing to worry now then, right? Wrong.
The test server was never properly stress-tested. This would prove to be an issue.
When the upgrade finishes, it is 4 AM. I am happy to go to bed at last. At 6 AM, however, I am woken up again as the server's webservices are unavailable, and the machine is under 100% CPU load. Weird, I check htop and see that Apache now eats up all 32 virtual cores. So I restart it, casting it off to some weird bug or something as the load returns to normal.
2 hours later, however, the same situation occurs. This time, I scour all the logs I can, and find something weird - Many mentions that Apache couldn't create a worker thread? That's weird.
Several hours of research and tinkering later, I found out the following:
1 - By default, all processes of a system that runs SystemD are part of several CGroups. One of these CGroups is the PID CGroup, meant to stop a runaway process from exhausting all PIDs/TIDs of a system.
This limit is, by default, set to a certain amount of the total available PIDs. If a process exhausts this limit, it can no longer perform operations like fork().
So now, I know the how and why, but how should I solve this? The sanest option would be to get a rough estimate of just how many threads the Apache webserver might need. This option, though, is harder, than apparent. I cannot just take the MaxRequestsWorkers number... The instance has roughly double the amount of threads already. The cause being, as I found out, the HTTP/2 module, which spawns additional threads that do not count towards this limit. So I have no idea what limit to set.
Or I could... Disable the limit for just the webserver via the TasksAccounting switch. I thought this would work. And it did seem to... Until I ran out of TIDs again - Although systemctl status apache2.service no longer reported the number of tasks or a task limit of the process, the PID CGroup stayed set to the previous limit. Later I found out that I can only really disable the Task Accounting for all the units of a given slice and its parents.
This, though, systemctl somewhat didn't make apparent (And I skimmed the manual, that part was my fault)
So... The only remaining option I had was to... Just set the limit to infinite. And that worked, at last.
It took me several hours to debug this issue. And I once again feel like uninstalling systemd again, in favor of sysvinit.
What did I learn? RTFM, carefully, everything is important, it is not enough to read *half* the paragraph of a given configuration option...
Oh, and apache + http/2 = huge TID sink. -
I'm going to build a PC. Everything is done besides of the GPU.
I wanted to go full team red, but it turns out that the RX 5700 XT has a lot of driver issues.
I watched a hell lot of YouTube videos, benchmarks, forum posts, reddit, ...
Everyone is complaining about driver issues that haven't been fixed since the launch of the product.
That makes me want to go to team green and buy the NVIDIA 2070 SUPER GPU.
I post this as some sort of rant, but also as some sort of advice seeking post to double check my decision before I buy the 2070 SUPER.14 -
Always double check the code you're sending to the teacher after finishing a school project.
I once sent them an old version of the code that had useless comments and debug messages everywhere. Some of them "politely" pointed out the fact that I really hated the subject, that it was pointless and that the assignment was way overcomplicated for first year students.1 -
when people in a framework chatgroup ask you to "you should really read the docs" because you keep asking roughly the same question.
I'd gladly stop asking 20 questions about the subject because I keep getting errors, but when there is literally no reference to the methods I have issues with in the documentation I don't have much choice than asking a question for each new method...
And yes I did ask if someone could point me to the doc's for them, the answer was "Check the source code..."
(double annoying when the rest of the framework is documented rather excellently)2 -
>People ranting about Whatsapp not adding features
>Whatsapp adds a feature
>People ranting about the feature whatsapp have just add
And this happen all the fucking time. When the double-check turned blue and in almost all major improvement they've made
Am I the only one who likes the new feature?
Peace guys, I don't want to start a telegram vs Whatsapp war here :P3 -
Spend 1 hour learning to configure networking interfaces via command line on an ubuntu VM for home use.
Can't ping anything.
Double check /etc/network/interfaces, restart box, check loopback interface functions, check physical cabling.
Realize that VM is attached to a separate virtual switch.
Virtual switch is tagged for Vlan 2, connected router is a flat topology.
Face palm. -
Visual studio code has this feature where it will automatically add typescript import statements. It doesn't work properly for me on this angular project.
eg. I get this:
import { Output } from '@angular/core/src/metadata/directives';
instead of this:
import { Output } from '@angular/core';
After a few weeks of being annoyed at this I tried to search to see if there was a fix. Surely others must use vscode+angular? Anyway I found this issue and it is set to fixed in typescript 2.5:
https://github.com/Microsoft/...
So I check and I am using typescript 2.4. I read that angular has issues if you use an unsupported version of typescript but I cant find anywhere that actually says the versions that are supported. I try npm install typescript@latest anyway and sure enough angular-cli spits out some error. The error says to run npm install typescript@'>=2.1.0 <2.6.0'
That command doesnt work! maybe something about those quotes in windows command prompt but I manage to run it with double quotes npm install "typescript@>=2.1.0 <2.6.0" and now I have typescript 2.5.
I try out the auto import but it still doesn't work.1 -
Almost had an existencial crisis for the last two and a half hours because I was trying to fix a bug on the connection of my app, only to discover that it wasn't working properly because I was writing correctly "registerUser.php" on the app, but I messed up in original file and saved as "resisterUser.php".
Always double check you spelling, kids. -
double-clicking bugs in web application.
They keep happening and generate double actions.
Instead of fixing the bugs, I created a script that check periodically for double actions and delete them from db.
I also gave db access to first level support and the query to delete double actions.
So I can be free on weekends and avoid the stress of fighting for resources -
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 -
I solved the Monty Hall problem for once and for all! Suckers. Of course a computer can't decide if switching or keeping is the best choice. Even wikipedia states that switching wins. NEVER. And even if that would be the case, it's pure how you arranged the labels to determine which one wins. If everyone actually wrote their own code, the conclusion wouldn't be what it is now. Many people probably just changed their code until that false result comes out or had it at the beginning caused by lack of experience.
Here is a GOOD implementation: https://pastebin.com/dRiTWQpw
It gives a 50%-ish chance on a choice like mathematically is correct.
The problem is in the computer simulations: using > or < to check which choice has won. But actually, often no one has won (it's a tie) after running it x times so you have to filter out the ==.
Then, you get the right results. My first version also had a bias, but i refused to accept it and did spent 45 minutes on the code instead of 15. This is the end result. And no, with double ?: in a printf statement i don't expect a prize.
It was a lot of fun actually, did not expect this from such stupid 'problem'35 -
I even gave him a plus 1 this time :P
even if he's ranting like a robot troll :P
and i took down the general computing bucket list idea since last time noone liked it even though I like the idea of creating a reallllly big pile of crap to pay people to sift through and integrate and double check against a project roadmap.
upgrading the os structure to something corporate and finding a way to pay all people who participate in COMMUNITY projects would be a great idea.
and all of you with anti social personality disorder can stay home and call people psychopaths.9 -
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. -
Question for iOS Swift guys:
Since Implicitly Unwrapped Optionals are now dropped for a while, and everything is an optional, hiw can I now declare property that has no value and intializer will not make fuss?
I used to do this:
class Bullet {
var calibre: Double!
}
This way I can avoid initializer which gets useful when there are properties which hold complex types, which get useful when writing tests.
If I remove ! Then compiler complains.
If I put ? Then My code becomes crap of guards and ifs to check for optionals.
Really hate this Optional thing in Swift. Half my time when I jave an issue is related to optionals.
Btw,
let x: Int! = 10
let y = x, yields y: Int? -
Algolia says:
"So our price widget doesn't allow decimals, you'll have to create a custom widget"
I do it.
"Hey, It's not working and I verified it's applying the filter correctly. I noticed my price is a string in your index, maybe that's incorrect and causing it to not work?"
They say: "Yep, you'll need to run an update to fix that and change all to floats" (charges an arm and a leg for the thousands of index operations needed to update the data type)
I clear the index and send a single one as a test, verifying it's a float by casting it using (float) then var_dumping. It shows "double(3.99)", but when it gets to Algolia, it's 0.
So I contact support.
"Hi, I'm sending across floats like you say but it's receiving it as 0, am I doing something wrong? Here's my code and the result of the var_dump"
They respond: "Looks like you're doing it right, but our log shows us receiving 3.999399593939, maybe check your PHP.ini for "serialize_precision" and make sure it's set to -1"
I check and it's fine, then I realize that var_dump is probably rounding to 2 decimal points so I change my cast to (float) number_format($row['Price'], 2) and wallah...it works.
Now I've wasted days of paying for their service, a ton of charges for indexing operations, and it was such a simple fix.
if they had thrown an error for the infinite decimal, that would have helped, but instead I had to reach out to find out that was the issue.
#Frustrated. -
So for the past two days I had to deal with a problem where I have to do a nested query with sequelize, pretty straight forward reading the documentation, or that was I think. I implemented everything according to the docs but the query stills fails, why ? I had no idea, I double check my implementation, I googled the error, no luck, after a day searching like crazy I talked with the backend lead about this and he help me to realize that the naming convention was changing because sequelize is creating a nested (SELECT * FROM) because one of the relations has a one-to-many realtion with the root model and I'm why the heck is doing that? But we both didn't know, and the problem was solved by just modifying the names, so we let it through, and sent it to QA. The next day I see the task rejected by QA and the reason was after the changes were merged another part of the app was broken, ok np, I'll fix it right away, and oh God I found the error was caused by another query that was including the first query we fix yesterday ! It was a nested query with 3 lvls! And the names became even more complex ( like `model1->model2.colum1`), goddamit, ok, I spent most of the day searching again, nothing, read the specification of the findAll function, nope, tried to put that name in the ON clause as the docs suggested, still an error, shit, then the lead helps me again and creates a literal which can hold that name and voila! Everything is happiness, at least for that moment, but I was still curious about this behavior, so I keep digging on it and I've just found an issue where a great guy posted an option to the findAll method that is not documented in any version of sequelize ! WTF ! And this option was "subQuery" which if you set it to false it won't create that additional (SELECT * FROM) from before, FUUUCK! I can't believe it, I know that all the effort works in my favor because I learn more about sequelize, but FFS I'm still angry because this shit shouldn't happen, you need to update the god damn docs, it's just adding a row and telling the people what it does. Well to end this, after putting that in the query and replacing all the workarounds with the expected syntaxis everything works like charm.1
-
So i'm currently working on my PiStation..
(look at my previous post if you're interested)
I'm imaging over RetroPie over to the SD card, screw back together the housing, and it boots up fine. As soon as i configured my XBOX-controller i got to the wifi-settings. And when i try to access my wifi, guess what, it doesn't connect to my f**kin wifi. So i double check my wifi-settings in the router i just bought to get over my roommates paranoia (that's a whole another story. Just in short, he's got no idea of IT-security and tries to be an admin, which results in a HUGE amount of bulls**t), confirm that the settings are alright, double check the PSK too, anything is fine. So i go through the whole process again, download the image (from their goddamn slow servers), open up the PiStation, image it over to the SD card, close it back up, anything boots up fine and works, except this f**king wifi. And the thing is, i COULD connect it with a patchcable, but i dont want cables going anywhere through my room. Currently imaging over recalbox OS, will keep you updated. I just want to play some old retro games ._.2 -
My colleague:
Working in this job double as long as me.
Also my colleague:
isSafari = navigator.userAgent.indexOf("Safari") > -1 (pro tip: almost any browser but Firefox contains Safari in it's user agent, because browsers lie)
Also wasn't able to check if autoplaying a video fails. It's not my primary department, I'm just helping fixing bugs there. They really need an employee with knowledge and experience. The last and only one got fired, so...4 -
Ok. As a tech reference tool
I'm hooked on chatgpt
You just have to double-check what it in outputs
Fuck you in people for shelving it over and over it's awesome3 -
Just bitched out the same customer service woman telling her I wish her and everyone like her would just die so I wouldn't have to waste another day recovering my own goddamn property i keep double paying for.
I'm sick of having to buy the same movies and games just so some butt sniffing pederast can have a pay check.
speaking of pederasts, table 2 just showed up. more assholes with potential copies in the same places. while two creepers i could also photograph sit behind me for some reason.
so sick of repetition.
and you fucking cunts wouldn't even need to be bothered with this if you hadnt stolen soooo much of my time without adequate recompense.
not that i'd of course agreed to this insanity.
but these people should have to suffer AND pay us.2 -
OMG
LVM
WHAT A PIECE OF CRAP
It's so precious that when it detects an existing mdraid signature, it just *won't* let me create a physical volume over it!
No matter that I run pvcreate with double-force switch.
It doesn't matter that the system doesn't even have a single MD device defined (Which can be easily checked in /proc/mdstat OR by checking the /dev subsystem)
I *hate* commands that are trying to be more clever than the admin sitting behind the keyboard.
Sure, leave this as the default behavior (It could save a lot of people's data I bet), but BLOODY HELL GIVE ME A SWITCH TO OVERRIDE THE CHECK YOU DUMBASS.
I swear... I feel like I'll get a frickin' brain hemorrhage from this "clever tool" -_-"5 -
Question about linux iptables. I am currently blocking all access and whitelisting only when my users launch my software. When software is launched a socket client is also launched, it connects to socket server, identifies itself with a password and disconnects. If given password by socket client is correct, then socket server whitelists the users IP by executing the following command: " iptables -I INPUT -s userIP -j ACCEPT".
My problem is that now I have lots of duplicates of IP's whitelisted and as far as I've heard I should not go over 25k iptable rules.
So my question is how to check if ip is already whitelisted, in order to avoid duplicate iptable rules for for same IP?
Obvious solution would be to store whitelist somewhere (mysql/txt) and double check before whitelisting ip, but maybe there is an easier way to do this?4 -
When a function has parameters for "limit" and "skip", make sure to double check those first when something seems broken. I switched them around so limit was 0, and I kept wondering why it returned 0 objects. It took me way too long before I figured that one out...