Details
-
AboutDevSecOps
-
Skillslinux, debian, ubuntu, servers, ruby, rails, python, shell, bash
-
Location/dev/null
-
Website
-
Github
Joined devRant on 7/21/2018
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
-
developer makes a "missed-a-semicolon"-kind of mistake that brings your non-production infrastructure down.
manager goes crazy. rallies the whole team into a meeting to find "whom to hold accountable for this stupid mistake" ( read : whom should I blame? ).
spend 1-hour to investigate the problem. send out another developer to fix the problem.
... continue digging ...
( with every step in the software development lifecycle handbook; the only step missing was to pull the handbook itself out )
finds that the developer followed the development process well ( no hoops jumped ).
the error was missed during the code review because the reviewer didn't actually "review" the code, but reported that they had "reviewed and merged" the code
get asked why we're all spending time trying to fix a problem that occurred in a non-production environment. apparently, now it is about figuring out the root cause so that it doesn't happen in production.
we're ALL now staring at the SAME pull request. now the manager is suddenly more mad because the developer used brackets to indicate the pseudo-path where the change occurred.
"WHY WOULD YOU WASTE 30-SECONDS PUTTING ALL THOSE BRACES? YOU'RE ALREADY ON A BRANCH!"
PS : the reason I didn't quote any of the manager's words until the end was because they were screaming all along, so, I'd have to type in ALL CAPS-case. I'm a CAPS-case-hater by-default ( except for the singular use of "I" ( eye; indicating myself ) )
WTF? I mean, walk your temper off first ( I don't mean literally, right now; for now, consider it a figure of speech. I wish I could ask you to do it literally; but no, I'm not that much of a sadist just yet ). Then come back and decide what you actually want to be pissed about. Then think more; about whether you want to kill everyone else's productivity by rallying the entire team ( OK, I'm exaggerating, it's a small team of 4 people; excluding the manager ) to look at an issue that happened in a non-production environment.
At the end of the week, you're still going to come back and say we're behind schedule because we didn't get any work done.
Well, here's 4 hours of our time consumed away by you.
This manager also has a habit of saying, "getting on X's case". Even if it is a discussion ( and not a debate ). What is that supposed to mean? Did X commit such a grave crime that they need to be condemned to hell?
I miss my old organization where there was a strict no-blame policy. Their strategy was, "OK, we have an issue, let's fix it and move on."
I've gotten involved ( not caused it ) in even bigger issues ( like an almost-data-breach ) and nobody ever pointed a finger at another person.
Even though we all knew who caused the issue. Some even went beyond and defended the person. Like, "Them. No, that's not possible. They won't do such dumb mistakes. They're very thorough with their work."
No one even talked about the person behind their back either ( at least I wasn't involved in any such conversation ). Even later, after the whole issue had settled down. I don't think people brought it up later either ( though it was kind of a hush-hush need-to-know event )
Now I realize the other unsaid-advantage of the no-blame policy. You don't lose 4 hours of your so-called "quarantine productivity". We're already short on productivity. Please don't add anymore. 🙏12 -
Damn it! today I learnt that GitHub has a tool called Hub - "an extension to command-line git that helps you do everyday GitHub tasks without ever leaving the terminal".
It's been around for 10 years.
And here I was clicking on the link that was sent by the remote after every push to open a pull request 🤦♂️
It even comes with vim syntax support for pull requests.
I'm never leaving the terminal to do things on the GitHub web interface anymore1 -
Is 'Ikea Programming' a thing?
If it isn't yet, we should make it a thing - for those people who call themselves "programmers" after copy-pasting a few lines of code from stack-overflow ( or elsewhere ) and gets it working.
And then claims, "It works right? Don't touch it."
I'm going to start using it already.
( but it wouldn't be any fun to call someone names over video conferencing. that's the fun of going to an 'office'. I guess I'm missing it now. )
PS : the long conversation screenshot is only for context, but the highlighted part should be sufficient to get what I'm talking about.question ikea programming copy-paste not programmers we should totally make it a thing copy-paste programmers3 -
Wife ( working from home; to husband ) : how many whistles did the pressure cooker blow?
Husband : How am I supposed to know? I don't know!
Manager ( on Skype ) : Three! I heard three whistles!6 -
It's weird that devRant, being a developer-centric platform, doesn't support `preformatted text`.
I just want to put `code` in backticks and stupid code snippets in triple backticks.
I think it's high time we adopted markdown. Can someone please take this issue #27 up from 2017? It's 2020 FFS!
https://github.com/devRant/devRant/...11 -
How do you transfer text from one machine ( laptop ) to another ( phone ) with no common tools ( Firefox Send spat out a long string of characters that I had no way of transferring either ) on either? Basically a clipboard sync.
There used to be this online notepad at notepad.cc, but that tool is gone away now.
How do you do it hacker-style? `wall`!
- SSH into the same same server from both machines ( this also assumes you have Termux or some equivalent tool for your phone )
- use `wall` to broadcast message from source
- copy broadcast at destination
- done31 -
I started reading this rant ( https://devrant.com/rants/2449971/... ) by @ddit because when I started reading it I could relate to it, but the further he explained, the lesser relatable it got.
( I started typing this as a comment and now I'm posting this as a rant because I have a very big opinion that wouldn't fit into the character limit for a comment )
I've been thinking about the same problem myself recently but I have very different opinion from yours.
I'm a hard-core linux fan boy - GUI or no GUI ( my opinion might be biased to some extent ). Windows is just shit! It's useless for anything. It's for n00bs. And it's only recently that it even started getting close to power usage.
Windows is good at gaming only because it was the first platform to support gaming outside of video game consoles. Just like it got all of the share of 'computer' viruses ( seesh, you have to be explicit about viruses these days ) because it was the most widely used OS. I think if MacOS invested enough in it, it could easily outperform Windows in terms of gaming performance. They've got both the hardware and the software under their control. It's just that they prefer to focus on 'professionals' rather than gamers.
I agree that the linux GUI world is not that great ( but I think it's slowly getting better ). The non-GUI world compensates for that limitation.
I'm a terminal freak. I use the TTY ( console mode, not a VTE ) even when I have a GUI running ( only for web browsing because TUI browsers can't handle javascript well and we all know what the web is made of today - no more hacking with CSS to do your bidding )
I've been thinking of getting a Mac to do all the basic things that you'd want to do on the internet.
My list :
linux - everything ( hacking power user style )
macOS - normal use ( browsing, streaming, social media, etc )
windows - none actually, but I'll give in for gaming because most games are only supported on Windows.
Phew, I needed another 750-1500 characters to finish my reply.16 -
I found out that apache had built-in support ( via a module - mod_md ) for automatic TLS certificate management with Let's Encrypt since October 2017.
Bloody Hell! Why didn't I hear of this sooner?
So, I ran off into my cloud to set up this so-called ManagedDomain ( mod_md ).
Found the module in the package repositories, installed it and started testing it out.
I started writing IfModule conditions under mod_ssl so that I wouldn't have to overwrite my existing TLS configurations ( which was already issued by Let's Encrypt via certbot, by the way ).
After a whole night of twisting and turning with the configurations, it turns out that the module in the package repositories were built for ACMEv1 and that API has been dead for as long as the module has been around.
I had noticed that the module was 'experimental', but I still hoped that they had the packaged the module.
Finally, I cozied back up with certbot. At least, until this so-called mod_md becomes stable and mainstream.
I hope certbot doesn't make a fuss. I'm sure, it got offended that I was trying to cheat it with mod_md.4 -
I finally got around to setting up my own cloud with nextcloud on my own dedicated server.
Just setting up Nextcloud alone was not really the challenge ( I've set up at least 2 Nextcloud instances in the past ).
The actual challenge was to install /e/ OS on my mobile phone and get it to work with my Nextcloud instance.
It's not all performant, buttery-smooth or super-fast yet, but for a one-person / user-cloud, I think it should be just fine.
There's still room for improvement in terms of server-side performance, but it's working fine with the basics at least.
I need to figure / iron out some issues like social federation via ActivityPub not working, Nextcloud SMS not syncing up my SMS, Mail app crashing because I used a self-hosted Nextcloud instance, etc; but those are things I could work on slowly, in the course of time.
No, the server is not physically controlled by me, yet ( it's a dedicated box server though. Still, hosted and physically controlled by a provider ).
I intend on setting up another 'replica' on a RaspberryPi which I will then make primary, connecting to the internet via DynamicDNS.
I'll probably keep the server as a fallback / backup server just in case my home server loses connectivity.
Taking back control from Big Tech is something I intend on pursuing actively this year. I've had the idea in my head for too long that it has started to fester.
This is only a first step, of many, that needs to follow, in order for me to take control back from Big Tech.
Yes, there still is some room for improvement, but I think for now ‒
Mission Accomplished!🤘3 -
Colleague put this up on their team's channel today :
" I'll be working from home today, ad hoc task is in review, will be opening a PR for backend changes [ ... ], yesterday was mainly spent on setting up gcp on my local and fixes towards gcp deployment. "
Wait, what? did you just set up the entire GCP on your local [machine]? I wouldn't mind giving you a whole week off if you needed it; if I were your manager.3 -
Oh, I've pulled a lot of all-nighters. I love doing hackathons. I find myself most productive when I work on something in a single stretch. I have ADD that way. If I leave a project mid-way, that's probably the last time I'll be working on it; unless someone comes to me and reminds me about it.
Other than attending organized hackathons, I go on personal hackathons. When I'm in the mood to code something up in my free time, I just find some stupid, random idea to code and code it up overnight. (Oh, I have a very long list of projects that I can complete over the weekend)
Other times, I'll just be in the mood as I'm working on something and then lose track of time (and other bodily calls like hunger) as I finish it.
If my weekend looks very peaceful without any distractions, I put my hand in my project bowl and pull something up to finish it off over the weekend.1 -
Team Lead (not my team, thankfully) sends outs a team-wide message (in their exact words):
"please DM me with the task link if you are adding any new tasks in Jira. This is to make sure that i am aware of any ad-hoc task coming up in the jira queue and also to make sure that all the task are following a common template."
Interpretation : "I'm just too lazy to look at each jira issue after the last one that I followed up on (which is my job BTW). So I'll add some extra work for you to explain everything to me on DM"
Way to go for killing productivity. ¯\_(ツ)_/¯
Thankfully, this is not my team. If they were my team lead, I'd be super furious. I'd even report it to upper management. I'd even offer to do their job and let them do mine. I think their job just got so easy if everyone was to go report to him like that.3 -
My terminal (Tilix) didn't have a header bar for a quite a while now. I had grown to live without it even though I missed looking at the terminal title to figure where I was.
Today I my hand accidentally hit F11 and I was in for a surprise. I actually exclaimed aloud in the office.
I waited to test, confirm and verify that the header bar itself was not a bug before I facepalmed myself1 -
junior developer raises an issue saying that there's an application deployment error on one of their dev clusters.
sysadmin asks them to go back and look at the error logs and come back with the problem.
they come back saying, "No space left on device"
sysadmin takes a look at server. finds this :5 -
when you have 6GB worth of unused kernels on your machine and your machine is desperately crying for MOAR storage space!4
-
I've never ever fully completed a side-project like I envisioned it to be. If I had, I'd have my own company already. It's mostly because I didn't have the time (no, that's a lie; or just an excuse). It's mainly because I haven't been motivated enough to see it through to the end. My motivation life-span ends when I get distracted by something else and in the end ends up like the Commit Strip.2
-
Back in the days when I knew only Windows, I used to be a Microsoft fan. I wanted to use only Microsoft products. I had a Hotmail email account that Microsoft acquired. I used a version of Windows and Microsoft Office (even though I didn't know at the time that it was pirated). I wanted to be a Microsoft Student Partner (MSP) and promote Microsoft everywhere.
Fast forward to now (or maybe to the time after I got introduced to GNU/Linux), I started hating Microsoft solely for the reason that they had a price-tag on everything. Later on, when I got to open-source software, I hated Microsoft for making all of their software closed-source. When I decided to move out of the Microsoft environment, my next favorite was of course, Big Brother (Google, if you haven't gotten it) - Gmail, YouTube, Google Drive. My personal information was the price to pay for the services even though I wasn't OK with that fact.
Then again, I realized that you could actually have your own stuff if you had the know-how. Compile / host your own software on your own systems. Oh, then I went on a compile spree. That's when I realized I didn't need any of these corporations to own my data. Today, I try my best to keep my data in my control and not some corporations who gives me free stuff for the price of my data and personal information, no thanks.4 -
I used to love mozilla as a community. The mozilla foundation loved the community and always listened to their voice. Of recent, they've started to turn a deaf ear to the community's voices and have started moving the agenda for a corporate culture. They slowly killed many amazing projects that was mostly run by the community (RIP Firefox OS) and started focusing on more corporate-oriented lobbying and agenda (*cough* Pocket *cough*). I feel that the company is slowly moving toward becoming less of a (community-oriented) foundation and more of a corporation. That path is dangerous and not one that I expected mozilla to take.
Another company worth mentioning was OwnCloud which got forked into Nextcloud because they didn't care about the community enough and put the enterprise customers and their needs ahead of the community's. The disappointed founder of the OwnCloud quit and forked it into NextCloud with the right controls for the community and the users to always be put in the first position.19 -
3 days when I had to complete documentation for an audit. I only returned to my room to shower and change clothes for the next day. That too I left at 8AM and returned at 09:30AM.
2 days when I had to complete setting up the office network over the weekend. Note that this was over a weekend.
And this is without counting the many hours I've spent semi-working at hackathons. I've gone up to 60 hours without sleep, coding the shit out of my brains.2 -
I have multiple (in no particular order) :
Nextcloud : It was an idea that I had in my head as well - to take on corporations like Google in the space of personal cloud. Be free, open-source and put the users in charge.
Gitlab : The most open and transparent company that I've ever come across. And they work 99% remote. They've got features that no other players in the space have. All while putting users in control.
Fediverse social media - Mastodon, GNU Social, Diaspora (soon) : For taking a major step in the direction of putting the users in control of their data; all while enabling a decentralized social network.
Ruby : An open community and building a programming language that runs a lot of software of the world.
Python : The oldest thriving community that has a special place in the development community (and my heart)
Javascript / ECMAScript : The scripting language that grew to be a beast of it's own. -
A developer couldn't get a application performance monitoring (APM) tool to trace his application. They claimed that their libraries and their configurations were alright and that the APM tool was non-performant.
The developer then argues with sysadmin that the APM tool can't trace the application and that there's nothing wrong with the application or the configurations. When sysadmin questions whether the developer got the tool to work anywhere, they say, "No" and head off to make it work at least in one place. They come back saying that it works on their development environment (which is their local machine). Sysadmin claims that the system configurations on the server instances cannot be matched by the development environment and there could be a lot more factors to be considered for the problem. The sysadmin asks to prove it on a server instance on one of the test environments and then they'd agree that it is a problem with the tool. They also argue that this is not the only application that uses the APM tool and the tool happily traces other applications with no issues.
The developer tries the same configuration on a staging instance and fails. In order to make it work, they silently uninstall the existing version of the APM tool and then compiles an unstable branch of the tool. It finally works with this version.
They go back to the sysadmin and show that it works on the staging environment, but does not on production. After banging their head on the wall for a while, the sysadmin figure that the tool had been swapped out for the unstable branch that was manually compiled. When questioned, the developer responds, "It works with this version on staging, so deploy the same version on production"
WTF? You don't deploy an unstable branch to production. Just because you can't make it work on the stable branch doesn't mean that it is the problem with the tool itself. There's a big difference between a stable branch and a non-stable branch. How would you feel if the sysadmin retorted by asking you to deploy the staging branch of your application to production?