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 - "sysvinit"
-
current stage of development at work
anger and rejection at first but now ends up at acceptance and sarcasm4 -
Once you realize your server is hacked, just disconnect the ssh and forget about it. It is known as Schrodinger defense.
The server will be both okay and fucked at the same time until someone get back into the server.1 -
Today is the real fuckening at work. The worst part is, you are working your ass off and someone started bugging you constantly on chat and blaming it is effecting his "productivity" because tech team doesn't solve his problem.
I have 4 projects under me with doing day to day operations also. But yeah just few more months before I left this shit. I wanted to shout back, but tried to keep my head cool, though I have already kicked his face many times in my mind.
If you cannot help, at least stop being a dick and appreciate someone trying his best to solve problems.4 -
We do infra as a code, and one of my coworker worked on the project alone. Few months down the road, when shit hits the fan, he just message me this is not working.
First of all, I did not write that shit, and also I was never part of the conversation during the decision making. So when shit hits the fan what do you expect me to do? Do some black magic and fix it magically???1 -
Your code is supposed to solve the primary problem you have. It is not supposed to create problems and solve those problems you do not have initially.5
-
Me talking with my manager for handover before I leave. Just found out, there is an interview for my position, full stack dev.
No one bother asking me or the manager for tech interview and general manager from business interview alone by herself.
Manager: Do you code?
Poor soul: Yes, I do.
Manager: You are hired!
Shit, now I want to know what they ask to tech candidate without tech ppl.6 -
Our company is cheap, cheap as fuck. We have to use some third-party platforms and every year they choose something that is slightly cheaper than the other. (like a few $ per annual), they do not know that we have to refactor our code at the backend because the changes of the platform.
It doesn't end there, they even look for devs from third world countries to work for them remotely instead of hiring permanent staff (I understand it is cheaper because of currency difference and etc), but what about the training period or to let them become comfortable with the existing system, even when he/she is a genius... it takes time to be productive at work.
The worst part is they dont give a shit, they think devs can be replaced easily just like some construction workers carrying stuffs on site (no offence to them), management treating people like shit and doesn't care when they leave.2 -
project launched and everything is going smoothly so far. since I have some time, I started writing documentation and I put this at the start of the document.4
-
We have an e-commerce platform. One guy uploaded a blurry product image later he created a ticket on Jira that the image is too blurry at the storefront and asked if we can do something about it.5
-
Welp, its official, with Debian Buster adoption into our mainline, we are officially switching from Sys-V-Init to SystemD.
I still do not know how I feel about it.
From the professional point of view - Its a relief. SystemD has so many more neat features that make the life of a sysadmin easier. If any, I love that it tracks the uptime of a service, making it incredibly easy the last time it crashed / restarted...
On the other... I just... Am kind of afraid where the whole systemd environment will go with time... And... I guess... I am also worried about how much systemd is taking over in the system itself... It will mean learning quite a few new services, debugging routines and such...
A new era of GNU/SystemD/Linux is upon us.15 -
We have Jira to keep track of bugs and allow users to inform issue with our in-house software. One fucker created ticket, "Hi Guys, I cannot sign-in to Skype business". He even put the screenshot.
What the fuck he expected us to do. Everyday have to deal with low mentality peasants.3 -
Saw new issue on jira. When look, they are like my computer is slow or I cannot any buttons in Excel.
For fuck sake, don't send stupid tickets, we already got stupid projects the company took from the others without consulting to the IT team.
There are about 600 tickets every month and most of them are issue because of their stupidity not the software (they never read the error message). And no we are not IT support, go ask those ppl for your computer issue.1 -
I was cleaning up dangling images in docker, and I accidentally removed the production database container as well.
Its not a big issue, I can just up the container back and everything should be fine. But after I up the container and connected to the database, I found out there's no data inside. I thought I fucked up, and sent msg in slack channel that I nuked the db.
Later my friend asked me which compose file I am using and that's when I realized I used the wrong config to up the db. Used the correct config to up the database again and everything goes back to normal.
It's friday evening and if I really dropped the db it would be fucking bad weekend....3 -
How do you judge the ability of the candidates during the interview?
Sometimes I find it hard to score their ability. I have seen some candidates with x years on paper yet does not know git more than push and pull.
Also there are few who didnt do very well at the interview, however we hired and doing quite well at work.
(As I also had a hard time getting a job before, I sometimes feel bad to reject some who seems to have good personality but didnt do well at work)5 -
How do you counter DOS attack? I have one online service where an idiot just calls curl command to one endpoint.
Although my service is working and server performance is not affected, I found it annoying.
Cloudflare could be a solution, the reason I did not use before is user might have to wait a few seconds before seeing the app, but if no choice then.17 -
So we have this team bonding and feedback session every monday, where everyone in the team needs to say what they appreciate of their team member and what they wish the team member would change... The whole thing takes about 2 hours.
Honestly, feel like a corporate BS, what feedback do you want? Just do your job and I am happy with it... Well I guess that's part of the corporate world, instead of just doing your job, it is about how big your "influence" is in the company and how many people like you4 -
This weekend, I have been grinding a lot on leetcode. Even though I am grinding part of me believe that the interview process is broken for relying too much on those questions. I know it's a way to filter but I still think it's broken. But I guess I have no choice since that's how the interviews work .
I guess from now to next 1-2 months I will be busy with leetcode. I also have to read some system design questions.
Fuck, so many things to prepare4 -
When you feels like you are dealing with assholes everyday, it is better to look in the mirror and see if you were the asshole that whole time.
-
Code on own side project the whole night without sleeping til 6-7am right before going to work because today is half day only in office.
I thought I could manage it but haha totally wrong, First 2 hours were good, during last 2 hours I was trying my best not to fell asleep.
Worst decision ever.2 -
So I was rejected by the management today for promotion to Senior 2 although I have done several major feature developments + infra design and basically end to end ownership.
Reason for no promotion? That's the best fucking part, according to the feedback, the work I performed on the service I created is well-designed,
and the code quality is commendable. However, they pointed out a notable difference in code quality between the micro-service
I built and the rest of the project developed by others. This, apparently, suggests that I lack a strong sense of ownership over the broader product.
First of all, we have super tight deadlines (almost 996), and I burned midnight oil to make sure the service I am in-charge of is designed really well.
Also, how in the flying fuck the other how the inability of others to maintain good code quality elsewhere in the product is being used as evidence against my sense of ownership
and initiative in ensuring high engineering quality for the repository I wasn't even working on
What a delusional management, the entire feedback feels like just an excuse to fuck off, we are not promoting you...
May be instead of doing actual engineering work, I should have just do minimal work and write more design docs / technical artifacts
It is very demoralizing after I worked hard for so many months, product went out really well.. yet when performance review comes, rejected with a petty reason7 -
Project with partner company, during the meeting I asked them how can we secure the communication between two services. I suggested api keys, tokens. They were like nope, no need. But I asked them for their IPs to do whitelisting on our side in Nginx.
But their side, nah not even whitelisting, no tokens, no validations. If one has address, can send anything from anywhere.
How hard would it be to do at least, AT LEAST simple token validation. And they are using the very old IIS server. I think for them as long as data flows in as expected, it is fine.3 -
In last episode of "How SystemD screwed me over", we talked about Systemd's PrivateTMP and how it stopped me from generating SSL certificates.
In today's episode - SystemD vs CGroups!
Mister Pottering and his team apparently felt that CGroups are underused (As they can be quite difficult to set up), and so decided to integrate them into SystemD by default. As well as to provide a friendlier interface to control their values.
One can read about these interactions in the manual page "systemd.resource-control"
All is cool so far. So what happened to me today?
Imagine you did a major system release upgrade of a production server, previously tested on a standalone server. This upgrade doesn't only upgrade the distribution however, it also includes the switch from SysVInit to SystemD. Still, everything went smooth before, nothing to worry now then, right? Wrong.
The test server was never properly stress-tested. This would prove to be an issue.
When the upgrade finishes, it is 4 AM. I am happy to go to bed at last. At 6 AM, however, I am woken up again as the server's webservices are unavailable, and the machine is under 100% CPU load. Weird, I check htop and see that Apache now eats up all 32 virtual cores. So I restart it, casting it off to some weird bug or something as the load returns to normal.
2 hours later, however, the same situation occurs. This time, I scour all the logs I can, and find something weird - Many mentions that Apache couldn't create a worker thread? That's weird.
Several hours of research and tinkering later, I found out the following:
1 - By default, all processes of a system that runs SystemD are part of several CGroups. One of these CGroups is the PID CGroup, meant to stop a runaway process from exhausting all PIDs/TIDs of a system.
This limit is, by default, set to a certain amount of the total available PIDs. If a process exhausts this limit, it can no longer perform operations like fork().
So now, I know the how and why, but how should I solve this? The sanest option would be to get a rough estimate of just how many threads the Apache webserver might need. This option, though, is harder, than apparent. I cannot just take the MaxRequestsWorkers number... The instance has roughly double the amount of threads already. The cause being, as I found out, the HTTP/2 module, which spawns additional threads that do not count towards this limit. So I have no idea what limit to set.
Or I could... Disable the limit for just the webserver via the TasksAccounting switch. I thought this would work. And it did seem to... Until I ran out of TIDs again - Although systemctl status apache2.service no longer reported the number of tasks or a task limit of the process, the PID CGroup stayed set to the previous limit. Later I found out that I can only really disable the Task Accounting for all the units of a given slice and its parents.
This, though, systemctl somewhat didn't make apparent (And I skimmed the manual, that part was my fault)
So... The only remaining option I had was to... Just set the limit to infinite. And that worked, at last.
It took me several hours to debug this issue. And I once again feel like uninstalling systemd again, in favor of sysvinit.
What did I learn? RTFM, carefully, everything is important, it is not enough to read *half* the paragraph of a given configuration option...
Oh, and apache + http/2 = huge TID sink. -
I built an api to sync data between two systems. It is simple, if I have new data to send, I call their api with data. If success, get Json response back or error if not.
Today the guy from other side asked me for "acknowledgement" endpoint. I was literally WTF?
He explained me very clear, when I call their api, it can be either success or fail, so for those success or fail, he will send the response to my "ACKNOWLEDGEMENT ENDPOINT" to tell me if success or not.
*facepalm*6 -
!dev
So my company says they are paying the market rate, and I should be grateful about it. When I went for interviews at "some big companies", I got offers from 2 different companies with the annual pay x2.5 of what I am getting here.
My current company mentality is so shitty that they only want to hire undergrads or people from oversea so they can pay less.
I do not even know what my fucking role is at this point, I do DevOps, I fucking do infra, I also do SRE shit, then I also write fucking code for servers. Yet my pay is slightly less than just "dev" working at good companies. Fuck my company, I am leaving soon.
I am not the only one in the shit show here, our PM also has to write code because most of our developers left. Most of the time, CTO is not even in the office, the company is basically run by some managements below CTO.6 -
I just created my first service under systemd.
Having never made one under sysVinit I don't know how difficult it is, but I found this to be fairly easy. -
C++ or Python for coding interviews?
I used to do a lot of developments in Python and JS/TS. But now I have been doing a lot of back-end stuff in Golang at work (1+ year) and C++ for some of my side projects. So when I started grinding leetcode, I used C++ all the way.
Today this question struck me and I keep thinking if I should continue with C++ or use Python, which will help me focus more on the question than the language.5 -
Maintaining a good mood, listening to Avicii and electro house music the whole time at work.
It works so far, no more Kendrick Lamar or NF. -
Found a bug today that made me groan in frustration.
It appears that the official elasticsearch debian package checks if the system's init daemon is systemd by... Checking if systemctl binary is available.
Issue is... Systems might contain that binary while using a different init, as the binary is part of the "systemd" package.
To actually switch to systemd however, the package systemd-sysv has to be installed, which creates a link from /bin/init to systemd's main executable.
What happens when your system doesnt use systemd then? The postinstall/preremove scripts fail as systemctl fails to talk to the system bus, and thus, the installation is marked as failed!
Oversights like this are exactly the reason behind my systemd dislike. We never wanted the systemd package, but another key package suddenly added it as a dependency one day...
Now to see if this is reported as a bug already, and if not, to report it myself...
(also, who checks for init by looking for the init's management utility?! Its like I checked if sysvinit is installed by checking if update-rc.d is installed!
And not like figuring out the system's init daemon is hard anyway! Just check /bin/init, or, better yet, check for process with pid 0!)1 -
Unpopular Opinion but
sometimes I feel that the pay should be based on how much you contributed to the project not by the titles or your highest education level.
So no fucks given if you are master degree holder or 4yr experience. If you did more work this month, your pay will be higher. If you wasted your whole month browsing reddit your pay will be lower.7 -
Working with people who believe pushed to production = we are done with this project..... and let's move to another right away.2
-
I really don't know how I feel about SystemD.
Their recent reveal of Systemd-Homed made me once again doubt the logic behind the project. I mean, yes, systemd is handy to work with at some occasions (SysVInit, for example, doesn't store information about when a certain service failed), but SystemD is slowly eating up more and more of the system's jobs, and I'm a little worried, what would happen if SystemD suddenly went bust.
That will never happen, I know, but... Wasn't the idea behind Unix... Its modularity? That its made up of clearly defined parts that cooperate with each other, rather than a huge, monolithic projects that handle several functions at once?
This is not meant to be a hate post about Systemd, just a little... reminiscence about its goal and role in the Linux community.
Any ideas are appreciated! Discussions are welcome. Just... keep it civil. Please.3 -
Any of you started thinking about second income? I started learning business on my free time, like forex, government bonds and investment.
What you are ways for second income? Lately, I started thinking about being financially independent5 -
It makes me want to cry in frustration that I... actually love SystemD, as an *init* system. But with all the crap it brings along with that core part, it just makes it so much harder for me to really enjoy! Why can't it be modular? Why can't it be broken down into independently-installable packages, with the init system as a core? Is there some sort of internal API issue? Or does mister Pottering just does not want that to happen? The Linux world has always stayed by the idea of "1 package = 1 task", and it made the system management so much easier!
But now... When I switch to SystemD from SysVInit, I get... What SysVInit did + so much more I didn't ask for... I just... Don't understand it.3