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 - "bash"
-
Our software needs apache, php, mysql and node of certain versions installed. This is too many dependecies for our customers.
Let's dockerize!
Now they need docker, docker-compose, make, bash and python in a certain version. What an improvement!
I mean yes but hm.10 -
In the Ruhr area (Germany) we have some very old, very strange words with strange meanings. One of those words is ‚Prutscher‘.
A Prutscher refers to a person who does things but never gets a good result, due to lack of knowledge or simple carelessness. Most of the time, Prutschers are people who are interested in certain subjects and often work in the related jobs, but who lack the motivation to properly train themselves, learn what there is to learn and to always keep up with their technologies .
Here are a few examples I've stumbled upon so far in my career:
- Developers in their 60's who read a book about PHP 25 years ago and decided to become a software developer. Since then haven't read anything about it. Who then now build huge spaghetti monoliths for large companies, in which they prefix every function, every variable and constant with their initials and, of course, use Hungarian notation.
- People who read half a fucking tutorial about <insert any fancy js framework here> and start blogging/tweeting about it
- Senior web developers who need to be told what the fuck CORS is and who can't even recognize CORS related errors in their browser console.
- People who have done nothing else for 18 years than building websites for companies on Wordpress 1.x and writing few lines of PHP and Javascript from time to time. Those who are now applying as a frontend dev due to the difficult economic situation and are surprised that they are not accepted due to a lack of experience.
- Developers who are the only ones working on Windows in the team and ask their Linux colleagues for help when Windows starts bitchin.
- People who have been coding for 30 years, have worked with ~42 languages and don't know the difference between compiled and interpreted languages in the job interview.
- Chief developers at a large newsletter-publisher who think it's a good idea to build your own CMS (due to a lack of good existing ones, of course).
- Developers who have been writing PHP applications for multinational corporations for 25 years and cannot explain how PHP is executed. They don't even know what the fucking OPcache is, let alone fpm. FML
- People who call themselves professional developers but never ever heard of DRY, KISS, boy-scout rule, 12-Factor App, SOLID, Clean Code, Design Patterns, ...
- Senior developers wondering why the bash script won't run on their fucking Windows machine.
- Developers who consider Typescript to be a hindrance and see no value in it.
- Developers using ftp for deployments in 2022
- Senior Javascript Developer applying for a job and for whom Integer is a primitive data type in JS.
- Developers who prefer to code without frameworks and libraries because they are only an unnecessary burden/overhead and you can quickly code everything up yourself.
- Developers who think configuring their server(s) manually is a good idea.
You fucking Prutscher. What you have already cost me in terms of work and nerves. I can't even put it into words how deeply I despise you. I have more respect for the chewing gum that has been stuck in my damn trash can for the past 3 years than I do for you guys. You are the disgrace of our profession. I will haunt you in your dreams and prefix every fucking synapse of your brain with MY initials.
As a well-known german band once sang in a very fitting song: I wouldn't even piss on you if you were on fire.
If you recognized yourself in one of the examples here: FUCK YOU!38 -
I watched today one of our devs working in Windows with a Docker Environment.
I think I'm pretty insensitive regarding pain, horror and morbid stuff.
But damn. I really needed to turn off the stream or else I'd walk to the company and rip his fucking workstation out of the server rack to put it out of his misery...
Errors? ignore them....
Weird python messages? Ignore them...
wild copy pasta between notepad++ containing shell commands and a git bash... Per mouse context. Yes. Move the cursor, mark the text, right click, copy, go to terminal, right click, paste.
Understanding of whats happening. Zero. Like literal zero.
He was wondering why there were strange characters when he pasted log output in a text file...
My question: How do you think colored text works in a terminal environment?
was answered by : "Don't know, never thought about it. But don't think this has something to do with the weird characters?"
I don't wanna talk about the rest.
Retarded humanity can please kindly kill itself so the intelligent above average nice people can live in peace...
The meeting was 2 hours. I drank 5 bottles of beer after it in1 hour and I'm please to announce I'm forgetting large parts of what has happened.
Cheers.8 -
Ahahaha
More of a suprise.
Just by error double clicked on WINDOWS machine on a BASH (.sh) script.
Welp, some randon bash processor appered and script was executed correctlly.
I almost shit my pants, it's a script which changes production env.
I was expecting a notepad lol8 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
When I told someone to read the docco+wiki and ask me if there were problems, for them to come back every five mins to tell me "so, how does this all work?"
I wrote the wiki and it was A-Z. There's nothing I knew about the product that wasn't in the wiki.
It took me so much self-control to not bash his head into my monitor.9 -
Making an ssh connection:
No....
No this one.
Not that one.
Not that one, either.
*starts typing*
*Typo 1*
*Typo 2*
Yay. Connected to server.
... Okay. Wrong environment.
*Exiting*
*trying again*
*Typo 1*
*Typo 2*
*finally connected*
Okay. I'm here...
Why did I connect to this machine again?!
------
Migrations are fun. Your bash history is an obsessive lier, your brain completely fried and when you finally managed to achieve something... You either forget what it was - or even worse - you get reminded of all the stuff you still have to do.
I'm literally amazed that I currently manage to go to the toilet, don't forget to make coffee and eat stuff at least once a day.
Before anyone thinks... Haha joke.
Nope I'm dead serious.
I am amazed that I didn't forget to go to the toilet, aka sitting in my own piss and wonder why it's so warm and wet down there.
I'm glad that the migration is going to end soon, otherwise I might opt in out of paranoia for adult diapers.
*My brain is really fried*5 -
I don’t remember the first experience as I was a very small child, but I remember a very defining one: picture a 4yo just casually turning on the computer and playing a game.
My mother and sister find me out and panic because “oh no, turning it off it’s hard how will we do? Your father is working and can’t turn it off!”
Now picture the 4 yo saying “it’s easy, you just do this”, followed by him closing the game, launching the bash command to close the computer and going away.
I must have been so creepy in their eyes 😂2 -
oh, I have a few mini-projects I'm proud of. Most of them are just handy utilities easing my BAU Dev/PerfEng/Ops life.
- bthread - multithreading for bash scripts: https://gitlab.com/netikras/bthread
- /dev/rant - a devRant client/device for Linux: https://gitlab.com/netikras/...
- JDBCUtil - a command-line utility to connect to any DB and run arbitrary queries using a JDBC driver: https://gitlab.com/netikras/...
- KubiCon - KuberneterInContainer - does what it says: runs kubernetes inside a container. Makes it super simple to define and extend k8s clusters in simple Dockerfiles: https://gitlab.com/netikras/KubICon
- ws2http - a stateful proxy server simplifying testing websockets - allows you to communicate with websockets using simple HTTP (think: curl, postman or even netcat (nc)): https://gitlab.com/netikras/ws2http -
This guitar looks heavily worn, yet it’s brand new. It’s called a “relic” — the guitar is artificially aged. Relics always cost crazy amount of money compared to regular guitars.
Relics were invented by Keith Richards, when he said “bash ‘em up a bit” to a guitar master builder from Fender, the guitar company.
With one phrase, Keith created a billion dollar industry.7 -
It's weird how these "senior engineers" bash on other people's code while they themselves are still stuck coding in 2007 and refuse anything new or different. "Software Engineer" has become a laughing stock that I don't want to associate myself with the title anymore. Instead of engineers, I'd call those seniors "software tools" (also human "tools" for that matter).10
-
I posted the kintsugi rant recently, about how I reached zen when it comes to software engineering, and let go of all frameworks, including React.
Yesterday I was getting started with Lisp (because simplicity), and posted the rant about how Lisp code was fixed with REPL on a spacecraft 100 million miles away from earth.
Today I was contemplating replacing everything I have on Heroku with a single NGINX VPS, as I don't need containers.
I was also reevaluating the way I deploy apps, replacing everything with simple bash scripts.
I'm learning NGINX now.
…and I just realized it all wasn't some kind of breakthrough that had a reason behind it.
It was my bipolar disorder all along. Having bipolar disorder implies you change your ways, and sometimes your entire world view, once a year. The change cannot be averted or postponed. It will happen.
Bipolar makes you suffer, but, on the flip side, keeps you from becoming stale and set in your ways. Also, bipolar is an undefeatable protection against manipulators and abusive relationships. Yes, you can be manipulated, but the manipulator's framework will last one year tops. Then it will be obliterated together with your world view, and you will start a new life.11 -
I found a vulnerability in an online compiler.
So, I heard that people have been exploiting online compilers, and decided to try and do it (but for white-hat reasons) so I used the system() function, which made it a lot harder so i decided to execute bash with execl(). I tried doing that but I kept getting denied. That is until I realized that I could try using malloc(256) and fork() in an infinite loop while running multiple tabs of it. It worked. The compiler kept on crashing. After a while I decided that I should probably report the vulnerabilites.
There was no one to report them to. I looked through the whole website but couldn't find any info about the people who made it. I searched on github. No results. Well fuck.7 -
Today after longer vacation I came back to work.
Edit: wrote this rant long time ago, but never finished. Was too pissed.
Some easy meetings, then wanted to start on an easy job.
Just migrating some things from bash regex voodoo to proper tools like JQ.
Finished in roughly 1 h. Lovely.
Made some tea, ate some cookies.
Set up dev environment, found no documentation what so ever, got it running after half an hour.
Annoying, but ok.
Then I tried my scripts...
They worked... Except they didn't.
Console log empty, response code 200 with state: GENERATE_NO_FILES.
Eh. Fuck you. Just fuck you.
Fixed the logging configuration, which was broken since uhm... 2 years plus?
Well... Another half another hour gone...
Kinda pissed now.
Still script return failed...
Poking and trying to sprinkle debug all over that shit cause everything seems ... An incohesive, inconsistent diarrhea.
3 hours later...
Made the ticket to rewrite it.
I did nothing wrong at all.
The API just has no workflow at all. The
*seperate* API calls have to be in an **specific** order - as otherwise the generation will fail, as the prerequisites for the generation are not fulfilled.
Yeah. Completely logical. Especially not to give out any kind of warning or an error message like requirements not met, blablabla.
I drank that evening 2 six packs of beer. I was raging mad....
Then gave that shit to another manager, as I never want to touch that nuclear waste again....
How can someone be so brain damaged -.-1 -
35y/o and a child (well, 2 soon), experienced as an integration dev (not my dream job tho), scripted a lot as a devops engineer (bash, py).
My heart says "jump deeper into devops and/or py", but my imposter syndrome infested brain says it might be too late and that after 10 years in IT it's time to navigate more into management/architect role (mostly because I've seen a lot of people around me follow this path).
Thoughts?7 -
Junior Software Developer Job( $37k-$42k USD)
-1 year experience
- J2EE, Javascript, HTML, XML, SQL
- object oriented design and implementation
- management of relational and non-relational such as Oracle, PostGreSQL and Cassandra
- Lifecycle and Agile methods
- Familiarity with the Eclipse development environment and with tools such as Hibernate, JMS, ,TomCat/Gemini/Jetty, OSGi.
• UNIX skills, including Bash or other scripting language
• Experience installing and configuring software packages
• ActiveMQ troubleshooting/knowledge
• Experience in scientific data processing and analytical science in general
• Automated testing tools and procedures, including JUnit testing, Selenium, etc.
• Experience in interfacing with scientific instrumentation, potentially over IP networks
• Familiarity with modern web development, user interface and other ever-evolving front-end
technologies, such as React, TypeScript, Material, Jest, etc.
I am betting they don't get many people applying.9 -
Best
typescript - I needed to learn it for a project and I like it, I know java and javascript and it is something in between of those two that makes writing enterprise web applications easier, it’s nice that you can debug it directly in chrome, it makes things easier
Worst
docker, Dockerfiles - devops tools - amount of shell commands inside them and mangled && to make everything running in one file layer makes those unreadable mess that you need to think twice to understand, there is no debugger for it, you do everything with try and see what happens, there is actually no real dev toolset for devops and that sucks, since you got builder images that makes things more mangled than before, it’s clearly missing some external officially approved scripting language or at least
FUNCTION and
WITH LAYER and indentation / parentheses syntax and they still trying to make it flat, why are you doing that ?
as a result next to Dockerfile cause you can’t import multiple ones you get bunch bash scripts with mangled syntax and other crap that is glued together to make a monster - and this runs most of current software on this planet2 -
I decided to try shell scripting by making myself a nice configurable menu using dmenu that I can add commands to and that isn't cluttered with desktop entries. Worked suprisingly well tbh5
-
SCW (Secure Code Warrior) IS TOTAL, COMPLETE AND UTTER SHIT!
I keep finding outright and definite mistakes... for example: two solutions that are 100% identical - I copied and diff'd them to be sure I wasn't stoned... the code they show has ZERO comments, so you have ZERO context for anything (and it's written like shit on top of it - I'd fire a motherfucker if they turned in ridiculous crap like this regularly)... I've found answers where one is a subset of another so the "superset" answer should be considered correct as well, so you effectively have two right answers (in other words: this is one of those "you better pick the EXACT answer we WANT you to pick, even if another is TECHNICALLY correct too, doesn't matter, you gotta divine which WE say is right" situations)... there's not enough information given in some cases to even realistically attack the problem... and so on.
It's just fucking garbage, but now I HAVE to get a passing score on the fucking thing to meet a work requirement and you think anyone is going to give two shits if I point out the problems? Of COURSE not! Just need to check the box, so now I have to waste hours of my day fighting through this horseshit just to say I did it.
Is there any value in it? FUCK NO! It's actually NEGATIVE value since now I'm not doing what I'm actually paid to do.
And the worst part is I absolutely, 100% know all this shit! It's not like it's a problem because I fundamentally don't know the concepts. But because your platform is a joke it's making it a nightmare for me.
FUCK THIS SHIT! Friday is over early because of this, I'll bash my head against the wall again on Monday.2 -
Archlinux
Sway
Alacritty
Neovim
Firefox
And there are Tons of open source projects underneath all of that, that you are not 100% aware of. (Wayland, gtk, qt, zsh, bash, sh, systemd, etc...) -
I dreamt we had a linux shell build-in our brains. Was not that useful though because it was kind of sandboxed so you could neither access any memories or brain functions, nor insert any data other than text. But at least you could test some bash scripts and such.10
-
Python has grown on me as an alternative to bash
Including compared to c# the ease of making shell calls
Os.system()18 -
I recently graduated from university and landed a job as a junior devops engineer.
There’s so much tech stacks to learn and I’m in the process of converting a legacy CI system composed of only bash scripts to Python and I feel that 8 hours a day isn’t enough and I often feel that after working hours, I should be reviewing more so that the next day I can be more productive.
I am given tasks to do but I keep feeling the pressure that I need to prove myself.
Is this normal? I’m not used to this learning pace.3 -
I just created a wolpertinger.
https://en.m.wikipedia.org/wiki/...
We have the problem that the number one build tool for scala / java is sbt.
Sbt sucks.
There are many nice plugins for maven.
Sbt can generate a POM from an SBT build.
But the plugins need to be set up, so the generated POM must be modified...
... a POM is XML.
So Python, Pexpect (as SBT needs a PTY and is very cranky regarding exiting properly and running non interactive)… POM XML modification....
Maven - Plugin run.
But we need to do this on... Larger scale.
So, as I'm a lazy mofo, I wrapped the python thingy in bash, mostly because it was simpler than dealing with async / threading in python. Just spawning per project...
So we have Bash, Python, Java, SBT / Maven, hand in hand....
... Is it normal to feel sorry for the build server?1 -
ugh what have I done to myself?
Today I started this codingame thing someone mentioned on here, but because I'm stubborn I've played every puzzle or game in bash so far...
So yeah, I'm loosing to all the cool kids using C++ or python even on simple stuff and I'm always struggling with this weird syntax - like "$" or not ... whitespace? parenthesis?
I mean I do like some bash but these games are really not made for it4 -
How do you guys monitor programs on your servers?
For example, I have a raspberry pi zero w running raspbian (headless). On this pi, I have a bunch of discord bots and web scrapers running at the same time. My solution was to run them all from a bash file:
Python3 discordbot1.py &
Python3 discordbot2.py &
Python3 webscraper1.py &
Node webscraper2.js & etc.
Is there a better way I could be running these services? How is stuff like this usually done?8 -
Hello anyone with an idea how I can unsubscribe my email from many services at once? It seems Google doesn't have that feature that lets you see all your email subscriptions. I'm receiving a lot of junk and spam mails from some subscriptions I no longer want.
Unroll.me would have been great but it's not available in my country.16 -
Steam, f you because of your beautiful idea to expire gslts "on the fly" as soon as a server is not online for the glimpse of me taking a shit.2
-
I was passed someone else's homework which included describing what certain Bash commands do. I've a fair bit of experience and I can't imagine why this one would be useful, can you think of any use for it?
(find -type d) | grep public | tr './p' ' '6 -
How bash does not support redirecting stderr to /dev/null when using read redirection inside command substitution is F*CKING ANNOYING.
x=$(</foo/non_exitence_file.txt 2>/dev/null)
Why do people still use this shit of a shell?2 -
I loathe manual regression testing. So much so, that today I made a quick bash script to move my mouse every minute to make it look like I'm online and doing stuff while I watch Twitch and YouTube videos.
The worst part is that we have Cypress to automate this and my company puts more value in pushing out features instead of automating all this unnecessary manual testing. Soooo I'm just not gonna participate because there's no way for them to know that I'm *not* testing.1 -
1. Enter repository of proprietary Node package that you maintain
2. Run `npm outdated | tail -n +2 | awk '{ print "npm i " $1 "@latest" }' | bash`
3. push to master3