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 - "don't delete anything!"
-
Its Friday, you all know what that means! ... Its results day for practiseSafeHex's most incompetent co-worker!!!
*audience: wwwwwwooooooooo!!!!*
We've had a bewildering array of candidates, lets remind ourselves:
- a psychopath that genuinely scared me a little
- a CEO I would take pleasure seeing in pain
- a pothead who mistook me for his drug dealer
- an unbelievable idiot
- an arrogant idiot obsessed with strings
Tough competition, but there can be only one ... *drum roll* ... the winner is ... none of them!
*audience: GASP!*
*audience member: what?*
*audience member: no way!*
*audience member: your fucking kidding me!*
Sir calm down! this is a day time show, no need for that ... let me explain, there is a winner ... but we've kept him till last and for a good reason
*audience: ooooohhhhh*
You see our final contestant and ultimate winner of this series is our good old friend "C", taking the letters of each of our previous contestants, that spells TRAGIC which is the only word to explain C.
*audience: laughs*
Oh I assure you its no laughing matter. C was with us for 6 whole months ... 6 excruciatingly painful months.
Backstory:
We needed someone with frontend, backend and experience with IoT devices, or raspberry PI's. We didn't think we'd get it all, but in walked an interviewee with web development experience, a tiny bit of Angular and his masters project was building a robot device that would change LED's depending on your facial expressions. PERFECT!!!
... oh to have a time machine
Working with C:
- He never actually did the tutorials I first set him on for Node.js and Angular 2+ because they were "too boring". I didn't find this out until some time later.
- The first project I had him work on was a small dashboard and backend, but he decided to use Angular 1 and a different database than what we were using because "for me, these are easier".
- He called that project done without testing / deploying it in the cloud, despite that being part of the ticket, because he didn't know how. Rather than tell or ask anyone ... he just didn't do it and moved on.
- As part of his first tech review I had to explain to him why he should be using if / else, rather than just if's.
- Despite his past experience building server applications and dashboards (4 years!), he never heard of a websocket, and it took a considerable amount of time to explain.
- When he used a node module to open a server socket, he sat staring at me like a deer caught in headlights completely unaware of how to use / test it was working. I again had to explain it and ultimately test it for him with a command line client.
- He didn't understand the need to leave logging inside an application to report errors. Because he used to ... I shit you not ... drive to his customers, plug into their server and debug their application using a debugger.
... props for using a debugger, but fuck me.
- Once, after an entire 2 days of tapping me on the shoulder every 15 mins for questions / issues, I had to stop and ask:
Me: "Have you googled it?"
C: "... eh, no"
Me: "can I ask why?"
C: "well, for me, I only google for something I don't know"
Me: "... well do you know what this error message means?"
C: "ah good point, i'll try this time"
... maybe he was A's stoner buddy?
- He burned through our free cloud usage allowance for a month, after 1 day, meaning he couldn't test anything else under his account. He left an application running, broadcasting a lot of data. Turns out the on / off button on the dashboard only worked for "on". He had been killing his terminal locally and didn't know how to "ctrl + c a cloud app" ... so left it running. His intention was to restart the app every time you are done using it ... but forgot.
- His issue with the previous one ... not any of his countless mistakes, not the lack of even trying to make the button work, no, no, not for C. C's issue is the cloud is "shit" for giving us such little allowances. (for the record in a month I had never used more than 5%).
- I had to explain environment variables and why they are necessary for passwords and tokens etc. He didn't know it wasn't ok to commit these into GitHub.
- At his project meetups with partners I had to repeatedly ask him to stop googling gifs and pay attention to the talks.
- He complained that we don't have 3 hour lunch breaks like his last place.
- He once copied and pasted the same function 450 times into a file as a load test ... are loops too mainstream nowadays?
You see C is our winner, because after 6 painful months (companies internal process / requirements) he actually achieved nothing. I really mean that, nothing. Every thing was so broken, so insecure / wide open, built without any kind of common sense or standards I had to delete it all and start again ... it took me 2 weeks.
I hope you've all enjoyed this series and will join me in praying for the return of my sanity ... I do miss it a lot.
Yours truly,
practiseSafeHex20 -
Long rant ahead, but it's worth it.
I used to work with a professor (let's call him Dr. X) and developed a backend + acted as sysadmin for our team's research project. Two semesters ago, they wanted to revamp the front end + do some data visualization, so a girl (let's call her W) joined the team and did all that. We wanted to merge the two sites and host on azure, but due to issues and impeding conferences that require our data to be online, we kept postponing. I graduate this semester and haven't worked with the team for a while, so they have a new guy in charge of the azure server (let's call him H), and yesterday my professor sends me (let's call me M), H and W an email telling us to coordinate to have the merge up on azure in 2-3 days, max. The following convo was what I had with H:
M: Hi, if you just give me access to azure I'll be able to set everything up myself, also I'll need a db set up, and just send me the connection string.
H: Hi, we won't have dbs because that is extra costs involved since we don't have dynamic content. Also I can't give you access, instead push everything on git and set up the site on a test azure server and I will take it from there.
M: There is proprietary data on the site...
H: Oh really? I don't know what's on it.
<and yet he knows we have no dynamic data>
M: Fine, I'll load the data some other way, but I have access to all the data anyway, just talk to Dr. X and you'll see you can give me access. Delete my access after if you want.
H: No, just do what I said: git then upload to test azure account.
Fine, he's a complete tool, but I like Dr. X, so I message W and tell her we have to merge, she tells me that it's not that easy to set it up on github as she's using wordpress. She sends me instructions on what to do, and, lo and behold, there's a db in her solution. Ok, I go back to talking to H:
M: W is using a db. Talk to her so we can figure out whether we need a database or not.
H: We can't use a database because we want to decrease costs.
M: Yes I know that, so talk to her because that probably means she has to re-do some stuff, which might take some time. Also there might be dynamic content in what she's doing.
H: This is your project, you talk to her.
<I'm starting to get mad right now>
M: I don't know what they had her do apart from how it interfaces with what I've done.
H: We still can't have databases.
M: Listen, I don't do wordpress, and I'm not gonna mess with it, you talk to her
H: I won't do any development
<So you won't do any dev, but you won't give me access to do it either?>
M: Man, the bottleneck isn't the merging right now, it's the fact that W needs a db
H: I know, so talk to her
M: THE RESTRICTION TO NOT HAVE DATABASES IS NOT MINE, IT'S YOURS, YOU TALK TO HER. I can't evaluate whether it's a reasonable enough reason or not since I don't know the requirements or what they're willing to spend.
H: It's your project.
M: Then give me fucking access to azure and I'll handle it, you know you'll have to set up wordpress again regardless whether we set it up the first time.
H: Man just do your job.
At this point I lost it. WHAT A FUCKING TOOL. He doesn't wanna do dev work, wants me to go through the trouble of setting up on a test subscription first, and doesn't want to give me access to azure. What's more, he did shit all and doesn't want to anything else. Well fuck you. I googled him, to see if he's anyone important, if he's done anything notable which is why he's being so God damn condescending. MY INTERNSHIP ALONE ECLIPSES HIS ENTIRE CV. Then what the fuck?
There's also this that happened sometime during our talk:
M: You'll have to take to Dr. Y so he'll change the DNS to point to the azure subscription instead of my server.
H: Yea don't worry, too early for that.
M: DNS propagation takes 24 hours...
H: Yea don't worry.
DNS propagation allows the entire web to know that your website is hosted on a different server so it can change where it's pointing to. We have to do this in 2-3 days. Why do work in parallel? Nah let's wait.
I went over his head and talked to the professor directly, and despite wanting to tell him that he was both drunk and high the day he hired that guy, I kept it professional. He hasn't replied yet, but this fucker's pompous attitude is just too much for me alone, so I had to share.
PS: I named his contact as Annoying Prick 4 minutes into our chat. Gonna rename him cz that seems tooooooo soft a name right now.undefined tools i have access and you don't haha retards why the fuck would you hire that guy? i don't do development46 -
Friend: Hey, can you fix my laptop? The hard drive is almost full.
Me: (Looking through his folders) Maybe it's because of this. Why do you have 3000+ files in your downloads folder? Maybe I should delete some of this.
Friend: No no, please don't touch the downloads folder, I have some very important documents there.
Me: Why don't you move them to a separate folder then? You should organize the ones you actually need and delete the rest. This folder is a complete mess.
Friend: No no, the problem is not the downloads folder, there must be something else. Can't you just uninstall some programs to free up space?
Me: I could, but I don't know which ones you actually use.
Friend: What? You should know!! You studied computer science for this!!
Me: First of all, there is not a single class in the whole 4 years of university called "How to uninstall programs and free up space on 128GB hard drives of shitty €400 computers". Second of all, I don't know why you were expecting me to find a magic button on your laptop that immediately frees up all the space in a hard drive without actually deleting anything. That's not how computers work, you know.
Friend: Hey if you didn't want to help me you could have said so in the first place.
Me: FML18 -
When you're trying to fix your code but you don't want to delete anything valuable so you just comment out half of the file 😂8
-
*signs up for Skillshare*
> Sorry, your password is longer than our database's glory hole can handle.
> Please shorten your password cumload to only 64 characters at most, otherwise our database will be unhappy.
Motherf-...
Well, I've got a separate email address from my domain and a unique password for them. So shortening it and risking getting that account stolen by plaintext shit won't really matter, especially since I'm not adding payment details or anything.
*continues through the sign-up process for premium courses, with "no attachments, cancel anytime"*
> You need to provide a credit card to continue with our "free" premium trial.
Yeah fuck you too. I don't even have a credit card. It's quite uncommon in Europe, you know? We don't have magstripe shit that can go below 0 on ya.. well the former we still do but only for compatibility reasons. We mainly use chip technology (which leverages asymmetric cryptography, awesome!) that usually can't go much below 0 here nowadays. Debit cards, not credit cards.
Well, guess it's time to delete that account as well. So much for acquiring fucking knowledge from "experts". Guess I'll have to stick to reading wikis and doing my ducking-fu to select reliable sources, test them and acquire skills of my own. That's how I've done it for years, and that's how it's been working pretty fucking well for me. Unlike this deceptive security clusterfuck!14 -
FUCKING HELL
My sister has that Vaio laptop from 2012 and she wanted me to "clean it up"... You get the deal. I ran the bios and booted it up from my external SSD setup so I don't have to bother with her bloody Windows fucking 7. When I'm finished deleting some garbage she managed to accumulate on her disk I wanted to switch back to Windows to properly uninstall bloatware she had. AND THEN OT FUCKING STRUCK ME. Can't load bios. F keys don't do shit. Delete doesn't either. The bloody "ASSIST" button is as useless as always. Since the computer is so slow I'm gonna waste a whole day trying to fix it and in the end she will be like: "oh, it took you so long!". Why Vaio, why can't you just get over the fact that some people actually use BIOS and make it somehow ACCESSIBLE? It's the same shit every time I try to do anything with that laptop. I'm always getting shit on from Sony as if I paid them to fuck me. One last time. VAIO, FUCK YOU.4 -
So I've been reading a lot about this #deletefacebook trend across devrant lately. And frankly I'm a little concerned.
As per my understanding, everyone wants to delete Facebook because they're harvesting data. Learning more about us.
While I would agree that I want my privacy. I am a little surprised at how fast this trend is picking up. People are turning a blind eye on everything else they do online just to assume they have privacy.
Let's put this Into perspective, shall we?
You are afraid of letting Facebook harvest your data yet you watch videos on YouTube which is owned by Google. You may even proceed to removing your Google account and use a stripped down version of Chromium to protect yourself from these companies yet you're using a Windows, Mac, iPhone, or Android all of which may be harvesting your data behind the scenes. Some may argue that they have stripped down their android phones but don't take into consideration that you are still using apps on your phone that may be collecting your data.
Let's say that you manage to get out of every sort of technology, you should remember that companies like Facebook also check data about you through your friends.
You use platforms like DuckduckGo assuming that they might not be collecting data about you in some way. I don't think there is anyway for you to prove that these privacy companies don't collect our data.
I don't know why everyone seems to be interested in this trend. I absolutely don't see a point in it. If anything, things I see are super relevant to me.13 -
So the company I work for had a critical project they needed done in 8 days.
We told our boss it wasn't possible because of the scope of the project but he went on with motivational speeches about how anything is possible. So he hired 12 devs for 8 days.
The scope of the project is already big enough but everyday upper management either add 10 new features, modify 2, or delete some already.
We basically sleep 2 hours a day and today is the last day. 5 minutes ago we just had a meeting that we're supposed to change a core feature. We don't even have a stable system yet and everyone is fucking pissed.13 -
Commit Message Part2:
6528fff Code was clean until manager requested to fuck it up
241b35f Who knows WTF?!
4381a32 Argh! About to give up :(
c3bf1a9 more debug... who overwrote!
2d68d6d Fixed a bug cause Maciej said to
b112c1a This branch is so dirty, even your mom can't clean it.
bb456d4 Shit code!
4878b46 Copy-paste to fix previous copy-paste
e2c7e87 A fix I believe, not like I tested or anything
f56109f derpherp
e4b8f4c formatted all
3691208 I'm just a grunt. Don't blame me for this awful PoS.
0888b69 just checking if git is working properly...
62741aa I'm too old for this shit!
0735196 COMMIT ALL THE FILES!
09caccf I CAN HAZ PYTHON, I CAN HAZ INDENTS
1e1cda8 giggle.
ab70bde Fixed errors
934436d Now added delete for real
5f84e30 My bad
99baff8 CHRIS, WE WENT OVER THIS. C++ IO SUCKS.
953473d final commit.
f0c3b57 Just committing so I can go home
4e5ce4e yolo push
deb4e3b I CAN HAZ PYTHON, I CAN HAZ INDENTS
710c06a Commit committed....
3c45e67 it is hump day _^_
4487788 Committing in accordance with the prophecy.
bf86e7e This solves it.
4804f68 FONDLED THE CODE
051d42e REALLY FUCKING FIXED5 -
TLDR: SAP sucks. Don't ever work with it. Run away from it. Delete it from your memory. If your company works with it, quit. It's the best you can do.
A couple of weeks ago the group rant was "Story of your best/worst career choice" and I talked about the contract I signed. Even tho that is still true and I still feel like that, I think I got a new worst choice:
WORKING WITH SAP.
When I got this job I knew it would be SAP, but I didn't know what SAP was. I just thought "it's programming, how bad can it be?" OH BOII.
If only I would have done some FUCKING RESEARCH I would know this would be a mistake!!
And I knew I didn't want to work with this, I knew I wanted to be a web developer, but I STILL ACCEPTED THE JOB OH MAN WHAT WAS I THINKING I'M SO MAD.
Were I live we all have the same mentality when looking for the first job, which is to just accept anything you can get, because it's your first job, you need to work and to get experience, even if it's a bad job or if you know you won't like it. When my intership was ending, I told my parents I didn't want to stay there because they treat their employes like shit, and the salary is terrible. They told me to still accept it if they offered because I still need a job (this one was web tho) and experience.
So, of course, since I was looking for my first job, was told this my entire live, always thought like that and they were the first to contact me, I accepted it.
BIGGEST FUCKING MISTAKE!! DON'T THINK LIKE THIS!! AND STOP TELLING KIDS THIS!! IT'S NOT A GOOD MENTALITY!!!
ALSO DON'T WORK WITH SAP! EVER!24 -
CEO at work has a Mac elitist as a friend who somehow indoctrinated err I mean convinced him to get apple everywhere, now the most common issue is updating Microsoft products on the Mac.....
Mac elitist guys first name is Steve lol no lie, he also services the Macs which he expects to do so when no one is around, oh and did I mention he wants us to leave our passwords on our desks LOL, he doesn't work for the company and I really really don't trust him, glad I have a git repo, and I hope he doesn't delete anything on my PC (very reluctant to leave my password on my desk, so I may just convince everyone that my Mac is fine, which seems like it's doing it's thing)3 -
Most ignorant ask from a PM or client?
Migrated to SharePoint 2016 which included Reporting Services, and trying to fix a bug in the reporting services scheduler, I created a report (aka, copied an existing one) 'A Klingon Walks Into a Bar', so it would first in the list and distinct enough so the QA testers would (hopefully) leave it alone.
The PM for the project calls me.
PM: "What is this Klingon report? It looks like a copy of the daily inventory report"
Me: "It is. The reporting service job keeps crashing on certain reports that have daily execution schedules."
PM: "I need you to delete it"
Me: "What? Why? The report is on the dev sharepoint site. I named the report so it was unique and be at the top of the list so I can find it easily."
PM: "The name doesn't conform to our standards and it's confusing the testers."
Me: "The testers? You mean Dan, you, and Heather?"
PM: "Yes, smartass. Can you name the report something like daily inventory report 2, or something else?"
Me: "I could, but since this is in development, no. You've already proofed out the upgrade. You're waiting on me to fix this sharepoint bug. Why do you care what I do on this server? It's going away after the upgrade."
PM: "Yea, about that. We like having the server. It gives us a place to test reports. Would really appreciate it if you would rename or delete that report."
Me: "A test sharepoint reporting services server out of scope, so no, we're not keeping it."
PM: "Having a server just for us would be nice."
Me: "$10,000 nice? We're kinda fudging on the licensing now. If we're keeping it, we will be required to be in compliance. That's a server license, sharepoint license, sql server license, and the dedicated hardware. We talked about that, remember?"
PM: "Why is keeping that report so important to you? I don't want to explain to a VP what a Klingon is."
Me: "I'm not keeping the report or moving it to production. When I figure out the problem, I'll delete the report. OK?"
PM: "I would prefer you delete the report before a VP sees it."
Me: "Why would a VP be looking? They probably have better things to do."
PM: "Jeff wants to see our progress, I'll have to him the site, and he'll see the report."
Me: "OK? You tell Jeff it's a report I'm working on, I'll explain what a Klingon is, Jeff will call me a nerd, and we all move on."
PM: "I'm not comfortable with this upgrade."
Me: "What does that mean?"
PM: "I asked for something simple and I can't be responsible for the consequences. I'll be documenting this situation as a 'no-go' for deployment"
Me: "Oookaayyy?"
I figured out the bug, deleted the 'Klingon' report, and the PM couldn't do anything to delay the deployment.4 -
Cracking old recovery CDs for the 9x/2000/XP era shines some light into how companies operated and when concepts came to be in that time:
Packard Bell: An EXE checks that you're running on a Packard Bell machine and reboots if it's not. How do we bypass it? Easy: just fucking delete it. The files to reinstall Windows from scratch come from...
...
C:?
Yup. Turns out Packard Bell was doing the recovery partition thing all the way back to the 9x era, maybe even further. Files aren't even on the restore disc so if your partition table got fucked (pretty common because malware and disk corruption) you were totally fucked and needed to repurchase Windows. (My dad, at the time, only charged at-cost OEM prices for a replacement retail copy. He knew it was dumb so he never sold PB machines.)
Compaq:
Computer check? Nope, remove one line from a BATCH file and it's gone.
Six archives, named "WINA.ZIP" through "WINF.ZIP" (plus one or two extras for OEM software) hold Windows. Problematic? Well... only because they never put the password anywhere so the installer can't install them. (Some interesting on-disc technician-only utils, though!)
Dell:
If not a Dell machine, lock up. Cause? CONFIG.SYS driver masquerading as OAK (the common CD driver) doing the check, then chainloading the real OAK driver. Simple fix: replace the fake driver with the real one.
Issues?
Would I mention this one if there weren't?
Disc is mounted on N:. Subdirectories work, but doing anything in them (a DIR, trying to execute something, trying to view shit in EDIT.COM) kicked you back to the disc root.
Installer couldn't find machine manifest in the MAP folder (it wanted your PC's serial before it'd let you install, to make sure you have the correct recovery disc) so it asked for 12-digit alphanumeric serial. The defined serials in the manifest were something like "02884902-01" or similar (8-2, all numbers) and it couldn't read the file so it couldn't show the right format, nor check for the right type.
Bypassing that issue, trying to do the ACTUAL install process caused nothing to happen... as all BATCHes for install think the CD should be on X:.
Welp.
well that was fun. Now to test on-real-PC behavior, as VBOX and VMWare both don't like the special hardware shit it tries to use. (Why does a textmode GUI need GPU acceleration, COMPAQ?????)4 -
trying to do anything on the PS2 is almost fucking impossible
i imagine a board meeting where they were designing the hardware
"how can we make this insanely hard to use?"
"let's make decentralized partition definitions, allow fragmenting of entire partitions, and require all partitions to be rounded to 4MB. If you delete a partition, don't wipe the partition out, just rename it to "_empty" and the system will do it for you, except it actually won't because fuck you"
"let's require 1-bit serial registers to be used for memory card access and make sure you can't take more than 8 CPU cycles to push each bit or it'll trash the memory card"
"let's make the network module run on a 3-bit serial register and when initialized it halves the available memory but only after 8 seconds of activity"
"let's require the system to load feature modules called "IOPs" and require the software to declare which of the 256 possible slots it wants to use (max of 8 IOPs) then insert stubs into those. Any other IOP you call will hang the system and probably corrupt the HDD. You also have to overwrite the stubbed IOPs with your own but only if you can have the stubs chainload the other IOPs on top of themselves"
"let's require you to write to the controller registers to update them, but you have to write the other controller's last-polled state or the controller IOP will hang"
of course this couldn't make sense, it's
s s s s
o o o o
n n n n
y y y y4 -
After a few weeks of being insanely busy, I decided to log onto Steam and maybe relax with a few people and play some games. I enjoy playing a few sandbox games and do freelance development for those games (Anywhere from a simple script to a full on server setup) on the side. It just so happened that I had an 'urgent' request from one of my old staff member from an old community I use to own. This staff member decided to run his own community after I sold mine off since I didn't have the passion anymore to deal with the community on a daily basis.
O: Owner (Former staff member/friend)
D: Other Dev
O: Hey, I need urgent help man! Got a few things developed for my server, and now the server won't stay stable and crashes randomly. I really need help, my developer can't figure it out.
Me: Uhm, sure. Just remember, if it's small I'll do it for free since you're an old friend, but if it's a bigger issue or needs a full recode or whatever, you're gonna have to pay. Another option is, I tell you what's wrong and you can have your developer fix it.
O: Sounds good, I'll give you owner access to everything so you can check it out.
Me: Sounds good
*An hour passes by*
O: Sorry it took so long, had to deal with some crap. *Insert credentials, etc*
Me: Ok, give me a few minutes to do some basic tests. What was that new feature or whatever you added?
O: *Explains long feature, and where it's located*
Me: *Begins to review the files* *Internal rage wondering what fucking developer could code such trash* *Tests a few methods, and watches CPU/RAM and an internal graph for usage*
Me: Who coded this module?
O: My developer.
Me: *Calm tone, with a mix of some anger* So, you know what, I'm just gonna do some simple math for ya. You're running 33 ticks a second for the server, with an average of about 40ish players. 33x60 = 1980 cycles a minute, now lets times that by the 40 players on average, you have 79,200 cycles per minute or nearly 4.8 fucking cycles an hour (If you maxed the server at 64 players, it's going to run an amazing fucking 7.6 million cycles an hour, like holy fuck). You're also running a MySQLite query every cycle while transferring useless data to the server, you're clusterfucking the server and overloading it for no fucking reason and that's why you're crashing it. Another question, who the fuck wrote the security of this? I can literally send commands to the server with this insecure method and delete all of your files... If you actually want your fucking server stable and secure, I'm gonna have to recode this entire module to reduce your developer's clusterfuck of 4.8 million cycles to about 400 every hour... it's gonna be $50.
D: *Angered* You're wrong, this is the best way to do it, I did stress testing! *Insert other defensive comments* You're just a shitty developer (This one got me)
Me: *Calm* You're calling me a shitty developer? You're the person that doesn't understand a timer, I get that you're new to this world, but reading the wiki or even using the game's forums would've ripped this code to shreds and you to shreds. You're not even a developer, cause most of this is so disorganized it looks like you copy and pasted it. *Get's angered here and starts some light screaming* You're wasting CPU usage, the game can't use more than 1 physical core, and after a quick test, you're stupid 'amazing' module is using about 40% of the CPU. You need to fucking realize the 40ish average players, use less than this... THEY SHOULD BE MORE INTENSIVE THAN YOUR CODE, NOT THE OPPOSITE.
O: Hey don't be rude to Venom, he's an amazing coder. You're still new, you don't know as much as him. Ok, I'll pay you the money to get it recoded.
Me: Sounds good. *Angered tone* Also you developer boy, learn to listen to feedback and maybe learn to improve your shitty code. Cause you'll never go anywhere if you don't even understand who bad this garbage is, and that you can't even use the fucking wiki for this game. The only fucking way you're gonna improve is to use some of my suggestions.
D: *Leaves call without saying anything*
TL;DR: Shitty developer ran some shitty XP system code for a game nearly 4.8 million times an hour (average) or just above 7.6 million times an hour (if maxed), plus running MySQLite when it could've been done within about like 400 an hour at max. Tried calling me a shitty developer, and got sorta yelled at while I was trying to keep calm.
Still pissed he tried calling me a shitty developer... -
Today was a manic-depressive kind of day. Spent the morning helping some developers with getting their code to run a stored procedure to drop old partitions, but it wasn't working on their end. It was a fairly simple proc. But working with partitions is a little like working with an array. I figured out that they were passing the wrong timestamp, and needed to add +1 to delete the right partition. Got that sorted out, and things were good. Lunch time.
After lunch I did some busy work, and then the PO comes up at about 2PM and says he's assigned some requests to me. The first was just attaching some scripts. Easy. The second, the user wants a couple of schemas exported ... at 6PM. I've been in the office since 6:45AM.
While I'm setting up some commands to run for the data export, a BA walks up and asks if I'm filling in for another DBA who is out for a few weeks. Yep. There's a change request that hasn't been assigned, and he normally does the work. I ask when it's due. Well, the pre-implementation was supposed to be done in the morning, but it wasn't, and we're in the implementation window ... half way through. I bring up the change task, and look at. Create new schema and users. That's all it says. The BA laughs. I tell I need more to go on. 10 minutes later he sends an email with the information. There's only two hours left in the window, and I can only use half of it, because the production guys have to their stuff, and we're in their window. Now I'm irritated, because I'm new to Oracle, and it's an unforgiving mistress. Fortunately, another DBA says he'll do it, so that we can get it done in time. But can't work it either, because Dev DBAs don't have access to QA, and the process required access for this task. Gets shelved until the access issue is resolved. It's now after 4:15PM. I'm going to in traffic with that 6PM deadline.
I manage to get home and to the computer by 5:45PM. Log in. Start VPN. Box pops on screen. Java needs to update. I chose skip update. Box pops up again. It won't let me log in until Java is current. Passed.
I finally get logged in, and it's 6:10PM. I'm late getting the job started. I pull up Putty and log into the first box, and paste my pre-prepared command in the command line and hit error. Command not found. I'm tired, so it's a moment to sink in. I don't have time for this.
I log into DBArtisan and pull up the first data base, use the wizard to set the job, and off it goes. Yay. Bring up the second database, and have enter the connect info. Host not found. Wut? Examine host name. Yep, it's correct. Try a different method. Host not found. Go back to Putty. Log in. Past string. Launch. Command not found. Now my brain is quitting on me. Why now? It's after 6:30PM. Fiddle with some settings, reset $Oracle home. Try again. Yay. It works. I'm done. It's after 7PM.
There is nothing like technology to snatch the euphoria of a success away from you. It's a love-hate thing, but I wouldn't trade it for anything else. I'm done. Good night.3 -
I had spent the last year working on a online store power by woocommerce with over 100k products from various suppliers. This online store utilized a custom API that would take the various formats that suppliers offer their inventory in and made them consistent. Now everything was going swimmingly initially, but then I began adding more and more products using a plug-in called WP all import. I reached around 100k products and the site would take up to an entire minute to load sometimes timing out. I got desperate so I installed several caching plugins, but to no avail this did not help me. The site was originally only supposed to take three to four months but ended up taking an entire year. Then, just yesterday I found out what went wrong and why this woocommerce website with all of these optimizations was still taking anywhere from 60 to 90 seconds to load, or just timing out entirely. I had initially thought that I needed a beefier server so I moved it to a high CPU digitalocean VM. While this did help a little bit, the site was still very slow and now I had very high CPU usage RAM usage and high disk IO. I was seriously stumped the Apache process was using a high amount of CPU and IO along with MYSQL as well. It wasn't until I started digging deeper into the database that I actually found out what the issue was. As I was loading the site I would run 'show process list' in the SQL terminal, I began to notice a very significant load time for one of the tables, so I went to go and check it out. What I did was I ran a select all query on that particular table just to see how full it was and SQL returned a error saying that I had exceeded the maximum packet size. So I was like okay what the fuck...
So I exited my SQL and re-entered it this time with a higher packet size. I ran a query that would count how many rows were in this particular table and the number came out to being in the millions. I was surprised, and what's worse is that this table belong to a plugin that I had attempted to use early in the development process to cache the site. The plugin was deactivated but apparently it had left PHP files within the wp content directory outside of the actual plugin directory, so it's still executing scripts even though the plugin itself was disabled. Basically every time I would change anything on the site, it would recache the whole thing, and it didn't delete any old records. So 100k+ products caching on saves with no garbage collection... You do the math, it's gonna be a heavy ass database. Not only that but it was serialized data, so when it did pull this metric shit ton of spaghetti from the database, PHP then had to deserialize it. Hence the high ass CPU load. I had caching enabled on the MySQL end of things so that ate the ram. I was really desperate to get this thing running.
Honest to God the main reason why this website took so long was because the load times made it miserable to work on. I just thought that the hardware that I had the site on was inadequate. I had initially started the development on a small Linux VM which apparently wasn't enough, which is why I moved it to digitalocean which also seemed to not be enough, so from there I moved to a dedicated server which still didn't seem to be enough. I was probably a few more 60-second wait times or timeouts from recommending a server cluster to my client who I know would not be willing to purchase it. The client who I promised this site to have completed in 3 months and has waited a year. Seriously, I would tell people the struggles that I would go through with this particular site and they would just tell me to just drop the site; just take the money, just take the loss. I refused to, this was really the only thing that was kicking my ass. I present myself as this high-and-mighty developer like I'm just really good at what I do but then I have this WordPress site that's just beating the shit out of me for a year. It was a very big learning experience and it was also very humbling as well, it made me realize that I really don't know as much as I think I might. It was evidence that there is still so much more to learn out there, I did learn a lot from that experience especially about optimizing websites the different types of methods to do that particular lonely on the server side and I'll be able to utilize this knowledge in the future.
I guess the moral of the story is, never really give up. Ultimately things might get so bad that you're running on hopes and dreams. Those experiences are generally the most humbling. Now I can finally present the site that I am basically a year late on to the client who will be so happy that I did not give up on the project entirely. I'll have experienced this feeling of pure euphoria, and help the small business significantly grow their revenue. Helping others is very fulfilling for me, even at my own expense.
Anyways, gonna stop ranting. Running out of characters. If you're still here... Ty for reading :')7 -
My NDA prevents me of revealing a lot but here we go...
Hi,
during a 2 year hiatus after High School I decided to study CS. Coming from a third world country with no prospect of getting a nice job without breaking my back or getting spit on by overconfident CS geeks who now actually make a living wage there, I decided to study abroad.
I immediately realized what I have been missing... the culture, the people, the happenings,... I have been starved of LIFE
Anyways, I got the language pretty much down, uni is pretty hard but doable and I got the unthinkable... A JOB. I am currently a working student for a year at a multimillion dollar global conglomerate, doing what some may think of as scripting/data tinkering. I get payed more than both my parents combined, which is why they don't know anything... 😂 (yet, gotta ease em into it).
Now I have gotten my contract extended, which shows that I am doing a decent job there, the boss is firm but chill, coworkers are helpful and resourceful.
But what really grinds my gears is that I am mashing code together whilst googling my brain out, but I am not gaining any skill...
Now comes my grievance, the bane of my existence, the evil Morty to my Morty,... GitHub.
In this professional surrounding, where I got handed a $2,5k notebook and a overly huge paycheck, I never use Git (because we have a proprietary, internal, and very transparent alternative (transparent for the higher ups 😬 ))
I always wanted to contribute on GitHub, but I get very intimidated by the projects there and their scopes, people are waaay too knowledgeable in comparison to me and I will most certainly screw something up and embarrass myself. Since I am very self-conscious and awkward I would most probably just delete my profile there and lurk in the shadows again.
I need help, not only for my mental health, but also to expand my skillset and improve myself, since skill is the only thing I can still acquire.
Does anyone know where I should start as a overglorified python script-kiddy who still thinks 1337 is cool and mr Robot is a decent show?
Thanks,
@rn11 -
I am thinking about leaving this platform. To be honest I don't get anything out of it anymore and the only thing keeping me here is the less-rant'ish content like @devNews or the stories.
I am actually a bit disappointed, the quality of devrant really did degrade alot in the last few months. Don't get me wrong but I feel like people have become "normies" over here. I don't mean that in an edgy or degrading way but let me explain. When I started here I had a very high opinion of the people here. Everyone seemed like a passionate / knowledgeable individual from whom you could hear interesting stories or learn. Maybe I just saw it like that because I was still a very inexperienced dev and was looking for a dev community. But nonetheless I think devRant transformed into a place of mediocrity.
Dont get me wrong I wouldn't think of myself as aspiring or generally "better" than anyone else on here, but the content over here got a little stale.
I am not the kind of person who would "rant", in the first place, so I may have a different mindset and to be honest "ranting" has always been a thing I looked down upon. It just does not support my style of thinking. I totally get that people sometimes need to "vent" their feelings but there is nothing productive to gain from ranting, like you ain't not improving your situation by doing it. The more passionate raters over here call people things, I would never even dream about saying to people. Don't worry I'm no sjw or something like it, I don't care if you do it. If it helps you sure, why not. But there is a point where you corner yourself so much that you stop respecting your colleagues because they wrote that shitty code, instead of helping.
Some tech sure is bad, but it is not getting any better by insulting it.
Another thing I use to notice are people, thinking so highly of them selfes / being so close-minded - that they only accept their own views as true. These are the people that I always try to avoid, but that is getting harder and harder as time goes on.
Collectivism and group thinking are very strong on devRant making it really hard to defend a unpopular opinion - I get that devRant is not the kind of platform that would support actual proper arguments/discussions - but I still feels like some people shove opinions down another people's throat with no reasoning behind it.
Arguments on devRant are always won by the person coming up with the most witty response. Having another opinion is always seen as offensive. That's not exactly the definiton of open-mindedness.
Another rather annoying thing are what I call the "non dev, dev's". See: As a developer you should aspire to understand what your doing - I won't get into this too much but one sentencd: How are things like serious "Semicolon memes" a thing? I am as much into memes as the next guy, but debugging 3 hours, just to find out its a typo. I mean come on...
I sure get that devRant is not the kind of place where you would find the people I am looking for, and that's why I am leaving.
My whole post may seem super negative of the platform - and it is to an extend - but I sure also had a good time back in the day - devRant as in "the platform" surely is not at fault, but a forum is only as good as the people on it. Maybe I changed, maybe devRant did. All I know is that it is not for me anymore.
I won't delete my account and I probably will not leave completely, but all I will do is the "once a week" checkout.6 -
When I was in 11th class, my school got a new setup for the school PCs. Instead of just resetting them every time they are shut down (to a state in which it contained a virus, great) and having shared files on a network drive (where everyone could delete anything), they used iServ. Apparently many schools started using that around that time, I heard many bad things about it, not only from my school.
Since school is sh*t and I had nothing better to do in computer class (they never taught us anything new anyway), I experimented with it. My main target was the storage limit. Logins on the school PCs were made with domain accounts, which also logged you in with the iServ account, then the user folder was synchronised with the iServ server. The storage limit there was given as 200MB or something of that order. To have some dummy files, I downloaded every program from portableapps.com, that was an easy way to get a lot of data without much manual effort. Then I copied that folder, which was located on the desktop, and pasted it onto the desktop. Then I took all of that and duplicated it again. And again and again and again... I watched the amount increate, 170MB, 180, 190, 200, I got a mail saying that my storage is full, 210, 220, 230, ... It just kept filling up with absolutely zero consequences.
At some point I started using the web interface to copy the files, which had even more interesting side effects: Apparently, while the server was copying huge amounts of files to itself, nobody in the entire iServ system could log in, neither on the web interface, nor on the PCs. But I didn't notice that at first, I thought just my account was busy and of course I didn't expect it to be this badly programmed that a single copy operation could lock the entire system. I was told later, but at that point the headmaster had already called in someone from the actual police, because they thought I had hacked into whatever. He basically said "don't do again pls" and left again. In the meantime, a teacher had told me to delete the files until a certain date, but he locked my account way earlier so that I couldn't even do it.
Btw, I now own a Minecraft account of which I can never change the security questions or reset the password, because the mail address doesn't exist anymore and I have no more contact to the person who gave it to me. I got that account as a price because I made the best program in a project week about Java, which greatly showed how much the computer classes helped the students learn programming: Of the ~20 students, only one other person actually had a program at the end of the challenge and it was something like hello world. I had translated a TI Basic program for approximating fractions from decimal numbers to Java.
The big irony about sending the police to me as the 1337_h4x0r: A classmate actually tried to hack into the server. He even managed to make it send a mail from someone else's account, as far as I know. And he found a way to put a file into any account, which he shortly considered to use to put a shutdown command into autostart. But of course, I must be the great hacker.3 -
I remember the first time I was experimenting with Linux and decided to install Kali Linux (was still version 1 at the time) and in the process cleaned my hard drive. I was in first year and I hadn't been introduced to git, so you can imagine what happened to my code.
Or when I dumped all my databases into one SQL file (the feature looked tasty in phpmyadmin) and then after reinstalling everything, I couldn't import back the files.
Or last year, where I was on industrial attachment. So we were to delete some data from DHIS2 manually. So as a developer I grouped all organisation units to be deleted under one parent and wrote a python script to recursively delete anything in that group. Just when I was about to show my supervisor how efficiently my script was deleting stuff, he said, "Don't delete anything yet". I hope he doesn't read this *wink*
Fast forward, last week on Friday I dropped my external hard drive. It just works on one USB port now, no idea how and why. -
Just saved a co-worker by having an installer from 8 months ago in a folder called "desktop", 4 levels deep in folders called "desktop", all on my desktop. My hoarding habits finally saved the day!!!2
-
This is a story of how I did a hard thing in bash:
I need to extract all files with extension .nco from a disk. I don't want to use the GUI (which only works on windows). And I don't want to install any new programs. NCO files are basically like zip files.
Problem 1: The file headers (or something) is broken and 7zip (7z) can only extract it if has .zip extension
Problem 2: find command gives me relative to the disk path and starts with . (a dot)
Solution: Use sed to delete dot. Use sed to convert to full path. Save to file. Load lines from file and for each one, cp to ~/Desktop/file.zip then && 7z e ~/Desktop/file.zip -oOutputDir (Extract file to OutputDir).
Problem 3: Most filenames contain a whitespace. cp doesn't work when given the path wrapped in quotes.
Patch: Use bash parameter substitution to change whitespace to \whitespace.
(Note: I found it easier to apply sed one after another than to put it all in one command)
Why the fuck would anyone compress 345 images into their own archive used by an uncommon windows-only paid back-up tool?
Little me (12 years old) knowing nothing about compression or backup or common software decided to use the already installed shitty program.
This is a big deal for me because it's really the first time I string so many cool commands to achieve desired results in bash (been using Ubuntu for half a year now). Funny thing is the images uncompressed are 4.7GB and the raw files are about 1.4GB so I would have been better off not doing anything at all.
Full command:
find -type f -name "*.nco" |
sed 's/\(^./\)/\1/' |
sed 's/.*/\/media\/mitiko\/2011-2014_1&/' > unescaped-paths.txt
cat unescaped-paths.txt | while read line; do echo "${line// /\\ }" >> escaped-paths.txt; done
rm unescaped-paths.txt
cat escaped-paths.txt | while read line; do (echo "$line" | grep -Eq .*[^db].nco) && echo "$line" >> paths.txt; done
rm escaped-paths.txt
cat paths.txt | while read line; do cp $line ~/Desktop/file.zip && 7z e ~/Desktop/file.zip -oImages >/dev/null; done3 -
Person: "Can you speed up my computer? Don't delete anything though."
Me: "Your hard drive is at 99%... you need to get rid of some stuff."
Person: "Can't you do it with out deleting anything?"
Me: "We can move it to a cloud service..."
Person :"No, that won't work. How will get my stuff back?"
Me: "Nvm..."2 -
::This app says you need at least 3GB RAM.
::> delete everything there, I don't need anything.
:: uaaaaa.... you can't (long pause... ) do that.
::> I don't need anything from the laptop, delete everything and make the app run.
¯\_(ツ)_/¯ (he had 2GB ram)1 -
There it fucking is again...
The legendary spyware "Antimalware Service Executable".
I changed the entry in the regedit. Tried to delete it with every possible tool. Tried to "chmod" it in the Windows way to be able to delete it as an admin. Doesn't work.
I swear in the name of bloody satan. This shit is doomed. It cannot be removed even if your shit begins to burn.
Microsoft, fucking remove it.
It is not a fucking feature!
Your windows updates fucking suck, your compatibility telemetry whatever the fuck you call these retarded ass "features" anymore fucking suck, your windows defender sucks.
Is there anything that doesn't suck in the features that you produce? I don't fucking think so. Fucking die for fucks sake.
Apple is overpriced, but at least they do their job well. Not like you, you fucking scumbags!
JESUS!14 -
Modern technology is absolutely bullshit
I can't even
Now my keyboard on my phone is even too broken to complain about it
I wanted to look at someone's post history on a forum
To do so the forum wants an account. Ok. So I gave it my old junk Hotmail account during sign up for it to send me an email confirm so I can make the account so I can search. Well I'm refreshing this account for this confirm account email through the Gmail app on my phone because who even checks emails on computers anymore
Turns out, aside from this Hotmail spam email account having a lot of junk emails (it is my junk email account), there's this little pop-up that happens SOMETIMES claiming that it can't sync. I checked inbox and spam and the email isn't in there. So 1 out of 10 times I refresh there's this little "cannot sync" message that pops up and I click it. It claims my storage on my phone is too full to sync. Ok.
So I go try to find storage through the settings in my phone. It doesn't exist as a category anymore apparently. Thankfully phones have a search feature now -- because we can't have sane settings anymore so here's a search feature. First result it gives me is just device info. That's useless. It's just the hardware specs for my phone
Second it shows storage. 90% full apparently. That's odd. I have 132 gb. Thankfully it subdivided it by what's taking up space but it doesn't make much sense and a bunch of the categories don't open to anything
Apparently the fucking android operating system is 32 GB now? Well you're fucked if you wanna remove that. Apparently years of photos and videos is 20 gb, I can back those up and delete them. Similarly I have downloads in folders, and that's about 20 gb
Why are there 20 GB of apps? I literally have no apps!
Part of apps? Wtf is Gboard and why is it a gig
Why is my WEATHER APP using a gig of storage?
And none of the apps can I remove the storage they're using. The cache is like 600kb, and I can delete all data and it's using like 60 MB. So the fucking weather app executable itself is a gig of space? Wtf?
I deleted the data for Gboard and turns out that's the keyboard. So now all my keyboard settings are fucked.
Thankfully I wrote syncing scripts ages ago to sync various folders from my phone to my external HDD. I just had to connect it to the laptop and run the script on the external HDD. Problem? Well turns out no matter what I do I can't get the laptop to connect to the phone if it's USB file transfer mode. I can do photos. But this is gonna be more than photos.
So I do my sync backup script from the laptop to the external HDD. This will sync the camera, since I have sync thing sync my laptop and phone all the time, so I can just sync the laptop to the external HDD and then delete the older photos and get 20gb. Quick fix for now
Why do I need this quick fix?
Well
Get this
I've been having issues with my Gmail client for ages. It just won't display new email notifications which is really annoying because I need to know when emails get sent to me.
Now I'm thinking, maybe I can de-sync older emails and have more storage space maybe? But that's not an option anywhere. Actually, I can't even unconnect an email address from my phone. Gmail doesn't even let you do that
What the flying fuck is the state of modern technology
Now I have to go figure out what my fucking settings were for my stupid phone keyboard
The 90s were much fucking saner than this garbage. I don't need a 32 GB operating system on a phone. Is this fucking windows 8? And let me fucking tell YOU how many fucking emails you should sync to my phone. Holy shit what the fuck is all this
At least my Linux scripts fucking work like I wrote them12 -
!rant !dev
I was just on my way to work back from the University cafeteria when a guy in a black car - who I thought was moving the car out of a parking lot - stopped the car and asked if I had a second.
Naive me, thinking he might need directions or something decided to listen to him.
He looked older, around 60ish, with sunglasses on ( making it harder for me to read him).
He said that he had a stroke (or something) a few years ago and got damage to his brain, so that sometimes it can happen that he would faint. Therefore, he cannot go swimming unsupervised, and was asking if I would have the time to accompany him to the university lake, so that he could swim for an hour or so. He offered to pay me 40 bucks.
Me, being paranoid af, declined politely, saying I have to go to work ( which was actually true).
He goes on to say how he was a teacher, how he worked at the university before, how I look trustworthy, how I am the first person he asks today, and asked if he could have my number, so that he could call me sometime to supervise the swimming. I would just need to look out for him not to drown and if anything looks weird I should alarm the people working at the lake ( lookouts? not sure what they are called).
I kept declining politely and he backed off, letting me go without any fuzz.
Previously he also mentioned how some students are rich, others are poor, and how he would have done anything for 20 bucks back in the day. But also said that he accepts a no and won't bother me further.
He also mentioned he wouldn't lay a hand on me, that he is not a creep, since I could see his car and license plate, and if I gave him my number, I would also have his. That I shouldn't worry about anything, if I later decided to say no he would delete my number, and that he is not big on the technology and Internet so nothing would happen.
Uhh... well if he was genuine I'm sorry for him, but then you can just ask authorities at the beach to pay more attention to you, no?
Mentioning "all my worries" raised a red flag for me sort of.
Also, if you keep on fainting occasionally, even if you haven't fainted in 2 years, how are you allowed to drive? Or actually, why do you even drive then?
I don't know. The more I think about it, the more I think I should have taken a picture of the car or license plate.
And there are literal services for this kind of thing. Pretty sure you can get one of these if you are willing to pay even.
Jeez now I'm worried for the entire population of my university...9 -
tldr; Finally my NordVPN subscription comes to an end so I was looking at other VPN providers and I chose Mullvad. So far, it is an amazing experience.
It has been 2 years since I was using NordVPN. It was great at first but soon first problems started to appear. Speeds were not exactly breathtaking and I barely sqeezed more than 40Mb out of it. Another problem was connecting from PC to PC on local network with both of them connected to VPN. I never found a working solution.
Then Tefincom started pushing it literally everywhere. Ads on YouTube (+ partnerships), fake websites redirecting to NordVPN, etc. That was when I decided to just fucking wait until my subscription ends so I can finally delete my account there...
Today is the day. I decided to go Mullvad because it seemed to be really privacy focused (don't kill me - I know I can't have *real* privacy with VPN, but you also can't have that with your own VPN) - they don't know anything about me, no email, no name, no payment data (Bitcoin Cash). Speeds are absolutely f*cking amazing and also local network works!11 -
The conversations that come across my DevOps desk on a monthly basis.... These have come into my care via Slack, Email, Jira Tickets, PagerDuty alerts, text messages, GitHub PR Reviews, and phone calls. I spend most of my day just trying to log the work I'm being asked to do.
From Random People:
* Employee <A> and Contractor <B> are starting today. Please provision all 19 of their required accounts.
* Oh, they actually started yesterday, please hurry on this request.
From Engineers:
* The database is failing. Why?
* The read-only replica isn't accepting writes. Can you fix this?
* We have this new project we're starting and we need you to set up continuous integration, deployment, write our unit tests, define an integration test strategy, tell us how to mock every call to everything. We'll need several thousand dollars in AWS resources that we've barely defined. Can you define what AWS resources we need?
* We didn't like your definition of AWS resources, so we came up with our own. We're also going to need you to rearchitect the networking to support our single typescript API.
* The VPN is down and nobody can do any work because you locked us all out of connecting directly over SSH from home. Please unblock my home IP.
* Oh, looks like my VPN password expired. How do I reset my VPN password?
* My GitHub account doesn't have access to this repo. Please make my PR for me.
* Can you tell me how to run this app's test suite?
* CI system failed a build. Why?
* App doesn't send logs to the logging platform. Please tell me why.
* How do I add logging statements to my app?
* Why would I need a logging library, can't you just understand why my app doesn't need to waste my time with logs?
From Various 3rd party vendors:
* <X> application changed their license terms. How much do you really want to pay us now?
From Management:
* <X> left the company, and he was working on these tasks that seem closely related to your work. Here are the 3 GitHub Repos you now own.
* Why is our AWS bill so high? I need you to lower our bill by tomorrow. Preferably by 10k-20k monthly. Thanks.
* Please send this month's plan for DevOps work.
* Please don't do anything on your plan.
* Here's your actual new plan for the month.
* Please also do these 10 interruptions-which-became-epic-projects
From AWS:
* Dear AWS Admin, 17 instances need to be rebooted. Please do so by tomorrow.
* Dear AWS Admin, 3 user accounts saw suspicious activity. Please confirm these were actually you.
* Dear AWS Admin, you need to relaunch every one of your instances into a new VPC within the next year.
* Dear AWS Admin, Your app was suspiciously accessing XYZ, which is a violation of our terms of service. You have 24 hours to address this before we delete your AWS account.
Finally, From Management:
* Please provide management with updates, nobody knows what you do.
From me:
Please pay me more. Please give me a team to assist so I'm not a team of one. Also, my wife is asking me to look for a new job, and she's not wrong. Just saying.3 -
I've been wondering about renting a new VPS to get all my websites sorted out again. I am tired of shared hosting and I am able to manage it as I've been in the past.
With so many great people here, I was trying to put together some of the best practices and resources on how to handle the setup and configuration of a new machine, and I hope this post may help someone while trying to gather the best know-how in the comments. Don't be scared by the lengthy post, please.
The following tips are mainly from @Condor, @Noob, @Linuxxx and some other were gathered in the webz. Thanks for @Linux for recommending me Vultr VPS. I would appreciate further feedback from the community on how to improve this and/or change anything that may seem incorrect or should be done in better way.
1. Clean install CentOS 7 or Ubuntu (I am used to both, do you recommend more? Why?)
2. Install existing updates
3. Disable root login
4. Disable password for ssh
5. RSA key login with strong passwords/passphrases
6. Set correct locale and correct timezone (if different from default)
7. Close all ports
8. Disable and delete unneeded services
9. Install CSF
10. Install knockd (is it worth it at all? Isn't it security through obscurity?)
11. Install Fail2Ban (worth to install side by side with CSF? If not, why?)
12. Install ufw firewall (or keep with CSF/Fail2Ban? Why?)
13. Install rkhunter
14. Install anti-rootkit software (side by side with rkhunter?) (SELinux or AppArmor? Why?)
15. Enable Nginx/CSF rate limiting against SYN attacks
16. For a server to be public, is an IDS / IPS recommended? If so, which and why?
17. Log Injection Attacks in Application Layer - I should keep an eye on them. Is there any tool to help scanning?
If I want to have a server that serves multiple websites, would you add/change anything to the following?
18. Install Docker and manage separate instances with a Dockerfile powered base image with the following? Or should I keep all the servers in one main installation?
19. Install Nginx
20. Install PHP-FPM
21. Install PHP7
22. Install Memcached
23. Install MariaDB
24. Install phpMyAdmin (On specific port? Any recommendations here?)
I am sorry if this is somewhat lengthy, but I hope it may get better and be a good starting guide for a new server setup (eventually become a repo). Feel free to contribute in the comments.24 -
Use
git branch --merged
to get, you guessed it, all the branches you have merged.
Use
git branch -d <branch-name>
To delete a branch if it has been merged (use -D for forced)
And Use,
git branch --merged | egrep - v "(^\*|master|dev)" | xargs git branch - d
To delete all the branches that you have merged (but not anything with master/dev in their names)
Sorry for the formatting, I don't know how coder formatting works on DR..4 -
So as a personal project for work I decided to start data logging facility variables, it's something that we might need to pickup at some point in the future so decided to take the initiative since I'm the new guy.
I setup some basic current loop sensors are things like gas line pressures for bulk nitrogen and compressed air but decided to go with a more advanced system for logging the temperature and humidity in the labs. These sensors come with 'software' it's a web site you host internally. Cool so I just need to build a simple web server to run these PoE sensors. No big deal right, it's just an IIS service. Months after ordering Server 2019 though SSC I get 4 activation codes 2 MAK and 2 KMS. I won the lottery now i just have to download the server 2019 retail ISO and... Won't take the keys. Back to purchasing, "oh I can download that for you, what key is yours". Um... I dunno you sent me 4 Can I just get the link, "well you have to have a login". Ok what building are you in I'll drive over with a USB key (hoping there on the same campus), "the download keeps stopping, I'll contact the IT service in your building". a week later I get an install ISO and still no one knows that key is mine. Local IT service suggests it's probably a MAK key since I originally got a quote for a retail copy and we don't run a KMS server on the network I'm using for testing. We'll doesn't windows reject all 4 keys then proceed to register with a non-existent KMS server on the network I'm using for testing. Great so now this server that is supposed to connected to a private network for the sensors and use the second NIC for an internet connection has to be connected to the old network that I'm using for testing because that's where the KMS server seems to be. Ok no big deal the old network has internet except the powers that be want to migrate everything to the new more secure network but I still need to be connected to the KMS server because they sent me the wrong key. So I'm up to three network cards and some of my basic sensors are running on yet another network and I want to migrate the management software to this hardware to have all my data logging in one system. I had to label the Ethernet ports so I could hand over the hardware for certification and security scans.
So at this point I have my system running with a couple sensors setup with static IP's because I haven't had time to setup the DNS for the private network the sensors run on. Local IT goes to install McAfee and can't because it isn't compatible with anything after 1809 or later, I get a message back that " we only support up to 1709" I point out that it's server 2019, "Oh yeah, let me ask about that" a bunch of back and forth ensues and finally Local IT get's a version of McAfee that will install, runs security scan again i get a message back. " There are two high risk issues on your server", my blood pressure is getting high as well. The risks there looking at McAfee versions are out of date and windows Defender is disabled (because of McAfee).
There's a low risk issue as well, something relating to the DNS service I didn't fully setup. I tell local IT just disable it for now, then think we'll heck I'll remote in and do it. Nope can't remote into my server, oh they renamed it well that's lot going to stay that way but whatever oh here's the IP they assigned it, nope cant remote in no privileges. Ok so I run up three flights of stairs to local IT before they leave for the day log into my server yup RDP is enabled, odd but whatever let's delete the DNS role for now, nope you don't have admin privileges. Now I'm really getting displeased, I can;t have admin privileges on the network you want me to use to support the service on a system you can't support and I'm supposed to believe you can migrate the life safety systems you want us to move. I'm using my system to prove that the 2FA system works, at this rate I'm going to have 2FA access to a completely worthless broken system in a few years. good thing I rebuilt the whole server in a VM I'm planning to deploy before I get the official one back. I'm skipping a lot of the ridiculous back and forth conversations because the more I think about it the more irritated I get.1 -
Hot take: Rust doesn't go far enough with explicit clone; dropping any type that isn't trivially copiable should also be explicit. I don't mean that it should be leaked if you don't delete it, I mean that the compiler should force you to explicitly say
"I am done with this object, anything that had to know about it has already been notified and either there isn't a single last point of use or it isn't a clone, therefore dropping is justified."
This is the whole meaning of dropping a complex object. I think that this is far too strong a statement to imply in bulk for every value in scope at the end of the function.4 -
Just these little things that can drive you insane: TCP should guarantee that the order of packages is preserved, but somehow through a splitting of the message I get them files mangled. OK, might be our own fault, but then I just do a simple grep on the log file, but it won't display anything if I escape the f** dot.
Google it. No I didn't do it wrong, try different quotes. Nothing. Why then does it display the thing if I delete the dot?
Beginning to question my sanity. Grep just. has. to. work.
And that very moment the blinds of the window automatically go up, so the blazing sun blinds us, which as management told us, is not a bug but a feature, protection from freezing bla bla - and the control of the blinds gives me static shocks but refuses to shut them down again.. *sigh*
Just these little things. - Don't know, but I am convinced at the right time, a little mispunctuation or a glitch in a UI could drive a programmer mad.