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 - "config files"
-
She: Uuggrrr.. You did it again
Me: What
She: Stop opening the dev tools
Me: Oh sorry
She: Leave me alone with your laptop.
10 min later
Me: What did you change?
She: I tried to remove the dev tools by changing the dragged position to a negative value in chromes config files.
Me: wow.
She: Didn't work.
Me: Hehe, nice try though
*opens chrome*
Me: wut.
She: *chuckles*
- Light pink theme
- 500% zoom
- Font size changed
- Some virus search engine (my search?)
- deleted some plugins
- start page randomcolour.org (or color? (<- me css freak))16 -
You know who sucks at developing APIs?
Facebook.
I mean, how are so high paid guys with so great ideas manage to come up with apis THAT shitty?
Let's have a look. They took MVC and invented flux. It was so complicated that there were so many overhyped articles that stated "Flux is just X", "Flux is just Y", and exactly when Redux comes to the stage, flux is forgotten. Nobody uses it anymore.
They took declarative cursors and created Relay, but again, Apollo GraphQL comes and relay just goes away. When i tried just to get started with relay, it seemed so complicated that i just closed the tab. I mean, i get the idea, it's simple yet brilliant, but the api...
Immutable.js. Shitload of fuck. Explain WHY should i mess with shit like getIn(path: Iterable<string | number>): any and class List<T> { push(value: T): this }? Clojurescript offers Om, the React wrapper that works about three times faster! How is it even possible? Clojure's immutable data structures! They're even opensourced as standalone library, Mori js, and api is great! Just use it! Why reinvent the wheel?
It seems like when i just need to develop a simple react app, i should configure webpack (huge fuckload of work by itself) to get hot reload, modern es and jsx to work, then add redux, redux-saga, redux-thunk, react-redux and immutable.js, and if i just want my simple component to communicate with state, i need to define a component, a container, fucking mapStateToProps and mapDispatchToProps, and that's all just for "hello world" to pop out. And make sure you didn't forget to type that this.handler = this.handler.bind(this) for every handler function. Or use ev closure fucked up hack that requires just a bit more webpack tweaks. We haven't even started to communicate to the server! Fuck!
I bet there is savage ass overengineer sitting there at facebook, and he of course knows everything about how good api should look, and he also has huge ass ego and he just allowed to ban everything that he doesn't like. And he just bans everything with good simple api because it "isn't flexible enough".
"React is heavier than preact because we offer isomorphic multiple rendering targets", oh, how hard want i to slap your face, you fuckface. You know what i offered your mom and she agreed?
They even created create-react-app, but state management is still up to you. And react-boierplate is just too complicated.
When i need web app, i type "lein new re-frame", then "lein dev", and boom, live reload server started. No config. Every action is just (dispatch) away, works from any component. State subscription? (subscribe). Isolated side-effects? (reg-fx). Organize files as you want. File size? Around 30k, maybe 60 if you use some clojure libs.
If you don't care about massive market support, just use hyperapp. It's way simpler.
Dear developers, PLEASE, don't forget about api. Take it serious, it's very important. You may even design api first, and only then implement the actual logic. That's even better.
And facebook, sincerelly,
Fuck you.17 -
So my actual job is being a nurse at the local hospital, with coding being just a hobby. However, the way some IT–Related things are treated here are just mind-blowing. Here are some examples:
Issue: Printer is not recognized by network anymore due to not being properly plugged in
Solution: Someone has to tell the house technician, if the house technician is currently not available, ask his assistant who only works part time and like twice a week. House technician took the printer (God knows why), came back 2 days later and plugged it back in.
Issue: Printer 1 of 2 on ICU has run out of ink and since all computers default to printer 1, nobody can print.
Solution: Call the house technician, blah blah, house technician comes, takes ink cartridge of printer 2 and puts it into printer 1.
Issue: Public WiFi is broken, can be connected to but internet access is missing. Probably config issue as a result of a recent blackout.
Solution: Buy a new router, spend 5 days configuring it and complain about how hard networking is.
Issue: Computer is broken, needs to be exchanged with a new one, but how do we transfer the data?
Solution: Instead of just keeping the old hard drive, make a 182GB backup, upload it to the main file server and then download it again on the new computer.
Issue: Nurse returns from vacation, forgot the password to her network account.
Solution: Call the technician who then proceeds to open a new account, copies all the files from the old one and tells her to pick an easier password this time. She chooses "121213".12 -
Took yesterday off to sort out a new passport.
Today on the stand:
Manager: "So we've been trying to get app X running on a dev environment for client X but we couldn't expose it to them"
Me: "Well yeah it's a dev environment if you want to give them one give them access to staging"
Manager: "Oh well we're still going to give them access to dev because they asked for it. It's due for 10am but we couldn't get it to run. You have to get it running since we edited the config files"
*accessing dev environment*
half of config files is missing, random files committed to the repo, SSL certs manually edited, eth0 down and found swan vpn installed.
never taking a day off again.1 -
Dev manager: great news guys. We’ve built a new tool to do automated testing on apps. We’ve gotten rid of the old Appium solution we were using and built this new one.
Me: why not just use the inbuilt native stuff? Click to record works really well.
Manager: nah we thought it would be more flexible to build it ourself.
Me: ... ok ... moving on ... how does it work?
Manager: well this new .jar, you download it, pass in a config file, setup up your simulator and appium and the jar will do everything for you.
Me: ... wait you said you hate Appium? Now you’ve built a wrapper around it? And it doesn’t even set everything up, you’ve to do it all by hand?
Manager: oh we had too, would be too much effort to replace it. Don’t worry we can now write all our tests in .yaml config files instead of using Appium.
Me: so we’ve lost the ability of auto-complete and type ahead, everyone has to upskill on a new tool, it offers no new features over what’s available out of the box and we’ll have to deal with new bugs and maintenance and stuff our self ... because we need more flexibility?
Manager: oh don’t worry. The guy who built it is staying here. He’s going to deal with bug fixes and add features. He’s only one guy, but he’s really sharp, it’ll be great for us and the team.
Me: ... ... ...
*audible noise of soul breaking*
Me: ... ok thank you. I’ll look into this new tool3 -
Me: Well, it's time to make a new app!
* opens up VS Code *
* opens folder selection dialog *
* creates a new folder called "notes app" *
* yarn inits that folder *
* installs react and react-dom *
* installs webpack, webpack-cli, babel-core, babel-loader, babel-preset-env, babel-preset-react, style-loader, css-loader, file-loader, html-webpack-plugin and clean-webpack-plugin as a dev dependency (install is pending) *
* copies a webpack config from some other project *
* creates a babelrc file *
* copies a yarn script called "build:dev" which would launch webpack *
* dev dependencies installed *
* tries to save *
* vscode doesn't save because files differ *
* tries to copy dev dependencies *
* fail *
* tries again *
* saves *
* writes bare-bones index.jsx *
* yarn build:dev *
* opens build/index.html in firefox *
* gets satisfaction *
* writes bare-bones App.jsx which is a react component but it's an entire app *
* yarn build:dev *
* opens build/index.html in firefox *
* gets satisfaction *
-- trim --
* walks out of his room to his mom's room where's sbc is located *
* grandma plays solitare on laptop *
* i ask grandma for a laptop *
* grandma gives me laptop *
* glues all components into App.jsx *
* yarn start:dev (magic of webpack-dev-server) *
* opens localhost:8080 in firefox *
* searches how to update a component prop *
* nothing found *
* registers on devrant and verifies his email *
* writes this rant *14 -
Our website once had it’s config file (“old” .cgi app) open and available if you knew the file name. It was ‘obfuscated’ with the file name “Name of the cgi executable”.txt. So browsing, browsing.cgi, config file was browsing.txt.
After discovering the sql server admin password in plain text and reporting it to the VP, he called a meeting.
VP: “I have a report that you are storing the server admin password in plain text.”
WebMgr: “No, that is not correct.”
Me: “Um, yes it is, or we wouldn’t be here.”
WebMgr: “It’s not a network server administrator, it’s SQL Server’s SA account. Completely secure since that login has no access to the network.”
<VP looks over at me>
VP: “Oh..I was not told *that* detail.”
Me: “Um, that doesn’t matter, we shouldn’t have any login password in plain text, anywhere. Besides, the SA account has full access to the entire database. Someone could drop tables, get customer data, even access credit card data.”
WebMgr: “You are blowing all this out of proportion. There is no way anyone could do that.”
Me: “Uh, two weeks ago I discovered the catalog page was sending raw SQL from javascript. All anyone had to do was inject a semicolon and add whatever they wanted.”
WebMgr: “Who would do that? They would have to know a lot about our systems in order to do any real damage.”
VP: “Yes, it would have to be someone in our department looking to do some damage.”
<both the VP and WebMgr look at me>
Me: “Open your browser and search on SQL Injection.”
<VP searches on SQL Injection..few seconds pass>
VP: “Oh my, this is disturbing. I did not know SQL injection was such a problem. I want all SQL removed from javascript and passwords removed from the text files.”
WebMgr: “Our team is already removing the SQL, but our apps need to read the SQL server login and password from a config file. I don’t know why this is such a big deal. The file is read-only and protected by IIS. You can’t even read it from a browser.”
VP: “Well, if it’s secured, I suppose it is OK.”
Me: “Open your browser and navigate to … browse.txt”
VP: “Oh my, there it is.”
WebMgr: “You can only see it because your laptop had administrative privileges. Anyone outside our network cannot access the file.”
VP: “OK, that makes sense. As long as IIS is securing the file …”
Me: “No..no..no.. I can’t believe this. The screen shot I sent yesterday was from my home laptop showing the file is publicly available.”
WebMgr: “But you are probably an admin on the laptop.”
<couple of awkward seconds of silence…then the light comes on>
VP: “OK, I’m stopping this meeting. I want all admin users and passwords removed from the site by the end of the day.”
Took a little longer than a day, but after reviewing what the web team changed:
- They did remove the SQL Server SA account, but replaced it with another account with full admin privileges.
- Replaced the “App Name”.txt with centrally located config file at C:\Inetpub\wwwroot\config.txt (hard-coded in the app)
When I brought this up again with my manager..
Mgr: “Yea, I know, it sucks. WebMgr showed the VP the config file was not accessible by the web site and it wasn’t using the SA password. He was satisfied by that. Web site is looking to beat projections again by 15%, so WebMgr told the other VPs that another disruption from a developer could jeopardize the quarterly numbers. I’d keep my head down for a while.”8 -
I applied for a backend job. Somehow i ended up doing frontend. Ok whatever the pay is alright and i dont mind doing js. But then i see the backend team doing absolute horseshit, stacking up overhead and not even fucking documenting the endpoints, i get mad.
And now our sysadmin left so there is no fucking server and i cant run locally because of 9trillion config files (remember the overhead part?) and the pm is nagging me to get the site done WHEN THERE IS NO FUCKING SERVER. WHAT DO YOU WANT FROM ME, SET IT ALL UP AGAIN? THATS NOT MY FUCKING JOB YOU IMBECILE FUCKFACE.8 -
Two nginx config files for two different sites.
Both exactly the same except for the fastcgi location, document root and virtual host.
THE MOTHERFUCKING GET VALUES DOESN'T REWRITE PROPERLY WITH ONE OF THEM BUT IT WORKS PER-FUCKING-FECTLY WITH THE OTHER ONE.
GO SUCK A COCK NGINX. AND NO I'M NOT SWITCHING TO APACHE.21 -
Manager: IT and I have decided that you will not be doing any rewriting of the legacy code. We paid a lot of money for it and throwing it away would be impossible. Instead you will create a “config file” that will customize the legacy code behaviour to whatever spec we need. IT said this would be possible and would be a very simple way of operating everything going forward. That way no future code needs to be written or maintained, it’s just a matter of changing this “config file” to match our needs.
Dev: Nobody in IT codes though.
Manager: Yes but they work with config files all the time. If you need to be shown how they work just ask them.
Dev: I know how they work it ju—
Manager: Good!! So that should speed things up quite a bit. See this is why developers need managers.18 -
Just happened at my internship:
Guy: hey could you come over here for a sec and look at this problem?
me: Sure! *walks to table*
guy: the FTP server isn't working. I added config files etc but nothing!!
me: *does some terminal stuff*
me: uhm.... the ftp server isn't installed......
guy: *poker face*
guy: *poker face*
guy: *poker face*
guy: *plz don't tell anyone face*
guy: could you pls install? *desperate look*2 -
The gift that keeps on giving... the Custom CMS Of Doom™
I've finally seen enough evidence why PHP has such a bad reputation to the point where even recruiters recommended me to remove my years of PHP experience from the CV.
The completely custom CMS written by company <redacted>'s CEO and his slaves features the following:
- Open for SQL injection attacks
- Remote shell command execution through URL query params
- Page-specific strings in most core PHP files
- Constructors containing hundreds of lines of code (mostly used to initialize the hundreds of properties
- Class methods containing more than 1000 lines of code
- Completely free of namespaces or package managers (uber elite programmers use only the root namespace)
- Random includes in any place imaginable
- Methods containing 1 line: the include of the file which contains the method body
- SQL queries in literally every source file
- The entrypoint script is in the webroot folder where all the code resides
- Access to sensitive folders is "restricted" by robots.txt 🤣🤣🤣🤣
- The CMS has its own crawler which runs by CRONjob and requests ALL HTML links (yes, full content, including videos!) to fill a database of keywords (I found out because the server traffic was >500 GB/month for this small website)
- Hundreds of config settings are literally defined by "define(...)"
- LESS is transpiled into CSS by PHP on requests
- .......
I could go on, but yes, I've seen it all now.12 -
We lost a frontend developer who used dozens of hipster libraries without any communications with other devs and replaced him with this one that has just pushed all the node_modules to master branch with all of her local config files. God. Fucking. Dammit.7
-
When I realized the .config files of GTA VC could be modified in a text editor. Policecar maxspeed=0, wheelsize=0, damagemultiplier=99993
-
Wrote a rant yesterday (or recently?) in which I explained that I needed to rewrite the core of something I'm writing in order to make it more extendable/flexible/modular.
Finished the rewrite yesterday and started to write a module (it exists our of modules and one can write a specific module for a specific kind of task) for another use case that has shown itself in the past few weeks.
Fun thing is that part of the core stayed the same and I hardly made changes to the libraries which the core uses a lot but the modules are, except for a few similarities (like one default invoke methods), completely different but do use the libraries to make sure they've got all functions needed to properly fulfill their task.
Ran a rule (what I call something in the project) hoping that everything works together the way it's supposed to and that the config files are interpreted well by the parsing 'engine' (pretty much switch cases and if-elses 😅).
FUCKING BAM IT FUCKING WORKS 😍2 -
TL;DR I'm fucking sick and tired of Devs cutting corners on security! Things can't be simply hidden a bit; security needs to be integral to your entire process and solution. Please learn from my story and be one of the good guys!
As I mentioned before my company used plain text passwords in a legacy app (was not allowed to fix it) and that we finally moved away from it. A big win! However not the end of our issues.
Those Idiot still use hardcoded passwords in code. A practice that almost resulted in a leak of the DB admin password when we had to publish a repo for deployment purposes. Luckily I didn't search and there is something like BFG repo cleaner.
I have tried to remedy this by providing a nice library to handle all kinds of config (easy config injection) and a default json file that is always ignored by git. Although this helped a lot they still remain idiots.
The first project in another language and boom hardcoded password. Dev said I'll just remove before going live. First of all I don't believe him. Second of all I asked from history? "No a commit will be good enough..."
Last week we had to fix a leak of copyrighted contend.
How did this happen you ask? Well the secure upload field was not used because they thought that the normal one was good enough. "It's fine as long the URL to the file is not published. Besides now we can also use it to upload files that need to be published here"
This is so fucking stupid on so many levels. NEVER MIX SECURE AND INSECURE CONTENT it is confusing and hard to maintain. Hiding behind a URL that thousands of people have access to is also not going to work. We have the proof now...
Will they learn? Maybe for a short while but I remain sceptic. I hope a few DevrRanters do!7 -
> dockerized gitea stops working 502,
> other gitea with same config works just fine
> is the same config the issue? maybe the network names can't be the same?
> no
> any logs from the reverse proxy?
> no
> does it return anything at all on that port?
> no
> any logs inside the container?
> no
> maybe it logs to the wrong file?
> no others exist
> try to force custom log levels
> ignored
> try to kill the running pid
> it instantly restarts
> try to run a new instance with specifying the new config
> ignores config
> check if theres anything even listening
> nothing is listening on that port, but is listening in the other working gitea container
> try to destroy the container and force a fresh container
> still the same issue
> maybe the recent docker update broke it? try to make a new one and move only necessary
> mkdir gitea2
> all files seem necessary
> guess I'll try to move the same folder here
> it works
> it is exactly the same files as in gitea1, just that the folder name is different
>10 -
Needed a list with all domains I run on a server but I don't always give nginx config files the names of their website so I was about to start going through them by hand..... waaait, let's try to automate this with a bash script...
Five minutes later I've got a working bash script which gets all domains from all config files.
Oh, the joys of terminal/bash stuff!11 -
I showed a friend of mine a project I made in two days in Docker and Symfony php. It is a rather simple app, but it did involve my usual setup: Nginx with gzip/cache/security headers/ssl + redis caching db + php-fpm for symfony. I also used php7.4 for the lolz
He complained that he didn't like using Docker and would rather install dependencies with composer install and then run it with a Laravel command. He insisted that he wanted a non-docker installation manual.
I advised him to first install Nginx and generate some self-signed certificates, then copy all the config files and replace any environment-injected values (I use a self-made shell script for this) with the environment values in the docker-compose files.
Then I told him to download php-fpm with php 7.4 alpha, install and configure all the extensions needed, download and set up a local Redis database and at last re-implement a .env file since I removed those to replace them with a container environment.
He sent an angry emoji back (in a funny way)
God bless containerized applications, so easy to spin up entire applications (either custom or vendor like redis/mysql) and throw them away after having played with them. No need to clutter up your own pc with runtime environments.
I wonder if he relents :p9 -
Fuck Apple and its review system
So, this started in december. We wanted to publsih an app, after years of development.
Submit to review, and passes on the first try. Well, what do you know. We are on manual release option, so we can release together with the android counterpart. Well yes, but someone notices that the app name is not what was aggreed (App Name instead of AppName). Okay, should be easy, submit the same app, just the name changed. If it passed once, it will pass again, right? HAH
Rejected, because the description, why we use the device’s camera is too general. Well... its the purpose of the app... but whatever, i read the guidelines, okay, its actually documented with exapmles. BUT THEN WHY THE FUCK COULDNT YOU SAY THAT ON THE FIRST UPLOAD?
Whatever, fix it, new version, accepted, ready to release just in time.
It doesindeed roll out,but of course, we notice that the app has a giant issue, but only on specific phones. None of our test phones had this problem, but those who have, essentially cannot use our program. Nasty as it is, the fix is really easy, done in 5 minutes. Upload it asap, literally nothing changed from user point of view, except now it doesnt crash on said devices. Meanwhile 1 star reviews are arriving from these users - of course with all the right. Apple should allow this patch quickly, right? HAH
THE REAL BULLSHIT COMES NOW
With only config files changed, the same binary uploaded we get rejected? What now? Lets read it. “Metadata rejected, no need to upload new binary”.... oh fine only the store page is wrong? Easy. Read the message, what went wrong. “Referencing third party content is nit permitted on the app store” meaning that no android test device should be shown. Fine, your rules. They even send a picutre of the offending element. BUT ITS NOT EVEN ON THE STORE. THATS A SCREENSHOT OF THE APP. HOW IS THAT METADATA? I ask about this, and i get a reply, from either a bot, or a person who cant speak or read english, and only pasted a sample answer, repeating the previous message. WTF. Fine, i guess you are dumb, but since they stop replying to our queries, do the only sensible thing, re-record the offending tutorial video that actually contained an android device. This is about 2 weeks, after the first try to apply a simple patch to a broken app. And still, how did it pass the review 2 times?
Whatever, reupload again, play the waiting game for a week, when the promised average wait time is 2 days, they hit us with a message, that they want to know what patent we use in our apps core functionality. WTF WHY NOW? It didnt bother you for a month, let it release ti production and now you delay a simple patch for this? We send them what they know. Aaaaand they reply: sorry we need more time to review your app. FUUUUUUCKKK YOUUU. You are reviewing a PATCH with close to zero functional change!!! Then, this shit goes on, every week we ask about an ETA, always asking for patience... at the end it took another 3 weeks... so december 15 to jan 21 in total...
FOR. A. SINGLE. FUCKING. PATCH
Bottom line is what is infurating, apple cares that there is an android device in the tutorial video, but they dont care that a significant percentage of our users simply cannot use the app.
Im done7 -
People committing config files with connections strings pointing to their own machines.
Oh I'll just pull the latest changes... Why is all my data suddenly different??!? Fucking Gregg just checked in a connection string with "server=GREGGSPC".2 -
[CMS of Doom™]
The gift that keeps on giving...
When you think you've seen it all after 7 months in legacy hell, you get another gift:
Let's say you use PHP, but your IQ is in the zero-ish range, then it is obvious to:
- use define() for constants in all your config.*.php files
- then include said config.*.php files multiple times
- and because define() doesn't overwrite the same constant, because it's - you know - a constant, you instead of including just do a file_get_contents() to read the PHP file as string and then parse the values by Regex.
The dev who wrote this was truly one of the devs ever.12 -
One time in a job interview I got asked a very softball question.
"what is the difference between .net framework and .net core?"
"well not much these days. there's a few APIs that didn't get ported over. but even winforms and that are available now. essentially it's the same experience when you're writing c# or whatever"
"ok but like, what's the biggest difference?"
"well the config files are different..."
"yeah but like the main difference?"
"uh... well there's a cli for .net core. it's not tied to visual studio anymore"
"ok. moving on..."
GODDAMMIT JOSH ALL YOU HAD TO SAY WAS CROSS PLATFORM
This interaction still keeps me up at night.6 -
got given the job of removing a menu link on a site my company hadn't built today.
biggest pile of dung ever! the site had folders for 5 different back end languages all full of random files not in use.
I dug around and found it was using a big framework that produces a massive single variable and outputs it as the page.
Eventually I realised this wasn't in use either but was still being loaded in the site! in fact the site even has a database and an admin login but the stupid original dev hard coded all the content in and runs includes to files in the admin folder directly from config!
such a confusing, pointless, shit site! Its like building a car and driving it like Fred from the Flintstones....1 -
My Sunday Morning until afternoon. FML. So I was experiencing nightly reboots of my home server for three days now. Always at 3:12am strange thing. Sunday morning (10am ca) I thought I'd investigate because the reboots affected my backups as well. All the logs and the security mails said was that some processes received signal 11. Strange. Checked the periodics tasks and executed every task manually. Nothing special. Strange. Checked smart status for all disks. Two disks where having CRC errors. Not many but a couple. Oh well. Changing sata cables again 🙄. But those CRC errors cannot be the reason for the reboots at precisely the same time each night. I noticed that all my zpools got scrubbed except my root-pool which hasn't been scrubbed since the error first occured. Well, let's do it by hand: zpool scrub zroot....Freeze. dafuq. Walked over to the server and resetted. Waited 10 minutes. System not up yet. Fuuu...that was when I first guessed that Sunday won't be that sunny after all. Connected monitor. Reset. Black screen?!?! Disconnected all disks aso. Reset. Black screen. Oh c'moooon! CMOS reset. Black screen. Sigh. CMOS reset with a 5 minute battery removal. And new sata cable just in cable. Yes, boots again. Mood lightened... Now the system segfaults when importing zroot. Good damnit. Pulled out the FreeBSD bootstick. zpool import -R /tmp zroot...segfault. reboot. Read-only zroot import. Manually triggering checksum test with the zdb command. "Invalid blckptr type". Deep breath now. Destroyed pool, recreated it. Zfs send/recv from backup. Some more config. Reboot. Boots yeah ... Doesn't find files??? Reboot. Other error? Undefined symbols???? Now I need another coffee. Maybe I did something wrong during recovery? Not very likely but let's do it again...recover-recover. different but same horrible errors. What in the name...? Pulled out a really old disk. Put it in, boots fine. So it must be the disks. Walked around the house and searched for some new disks for a new 2 disk zfs root mirror to replace the obviously broken disks. Found some new ones even. Recovery boot, minimal FreeBSD Install for bootloader aso. Deleted and recreated zroot, zfs send/recv from backup. Set bootfs attribute, reboot........
It works again. Fuckit, now it is 6pm, I still haven't showered. Put both disks through extensive tests and checked every single block. These disks aren't faulty. But for some reason they froze my system in a way so that I had to reset my BIOS and they had really low level data errors....? I Wonder if those disks have a firmware problem? So that was most of my Sunday. Nice, isn't it? But hey: calm sea won't make a good sailor, right?3 -
Hey there!
So during my internship I learned a lot about Linux, Docker and servers and I recently switched from a shared hosting to my own VPS. On this VPS I currently have one nginx server running that serves a static ReactJs application. This is temponarily, I SFTP-ed the build files to the server and added a config file for ssl, ciphers and dhparams. I plan to change it later to a nextjs application with a ci/di pipeline etc. I also added a 'runuser' that owns the /srv/web directory in which the webserver files are located. Ssh has passwords disabled and my private keys have passphrases.
Now that I it's been running for a few days I noticed a lot of requests from botnets that tried to access phpmyadmin and adminpanels on my server which gave me quite a scare. Luckily my website does not have a backend and I would never expose phpmyadmin like that if I did have it.
Now my question is:
Do you guys know any good articles or have tips and tricks for securing my server and future projects? Are there any good practices that I should absolutely read and follow? (Like not exposing server details etc., php version, rate limiting). I really want to move forward with my quest for knowledge and feel like I should have a good basis when it comes to managing a server, especially with the current privacy laws in place.
Thanks in advance for enduring my rant and infodump 😅7 -
One of the dumbest things I've done as a dev... I was a front-end/php guy that got hired into a asp.net company. My boss told me to take down a section of the website. I hopped on the server and started looking at files and saved a config file. 2 minutes later I had 3 devs in my office asking what I'd done that took down our entire network.
Thankfully my boss laughed it after they republished the site, but that was my intro into asp.net development.1 -
! exactly dev
I'd ditched Windows and spent a while exploring the Linux ecosystem for content creation. And I have to say, it was not a nice experience.
As much as I respect the Linux mantra of "free as in freedom" and "you need to roll up your sleeves and figure out stuff on your own", it just isn't good enough for non-dev work. Sorry guys, but I need software that gets out of my way and at least does what it's supposed to do. I can't stand a horrible UI or delays and random crashes, which is exactly what happens with most things under Linux.
To replace my Windows workflow I used the following:
1. Windows -> elementaryOS (because Debian/Ubuntu repositories seem to have the best software support, and elementaryOS is the least horrible looking thing that supports that) and then Arch, because, well, Arch.
2. Blender + Maya -> Blender + Maya on Linux.
3. Reaper + FL Studio -> Ardour + LMMS.
4. Photoshop -> GIMP + Krita + Inkscape.
5. ZBrush -> nothing :(
As you can see, my use cases are pretty much all over the spectrum.
Firstly, installing and configuring stuff. A pleasure on Windows, an absolute pain on Linux. Everything just worked on Windows, I had to wrestle with library versions and patches and unstable audio layers (Linux audio just sucks, except for JACK) on Linux.
Out of these, Blender and Maya were the best experience. But even then, both would suffer from random crashes that just didn't happen on Windows.
Ardour is actually really nice when it works. Its use of JACK for routing makes it really really flexible, but it just isn't stable enough to depend on. LMMS is utter crap. I'm sorry, but I just hate the UI. Can't stand it.
GIMP, Krita, and Inkscape can't beat Photoshop, even when you consider them together. Adobe software workflow is just so much better and more intuitive.
Blender 3D sculpting is not bad, but it's nowhere as good as ZBrush.
Also, if you're a C++ dev like me, nothing beats Visual Studio 2017. Nothing. That IDE just blows everything else out of the water. Even VSCode. And it's not slow at all, it handled a fairly large project (PBRTv3) just fine on my Windows development VM. Yes, a VM.
So...I ditched Linux and went back to Windows, but I keep Linux as a VM for when I actually want to mess with Blender or Ardour. Or some dev stuff which Windows sucks at (which is becoming less frequent because of WSL).
Out of all the above, the only one I'd consider ready for production use would be Blender. Developers of open source software, please learn from Blender. Kickass UI and user friendly operation is extremely important, you can't make a random window with GTK buttons and text boxes and arcane config files and expect people to use it for serious work.
Also, Windows beats Linux hands down as an everyday OS. It's always been rock solid, if you take care of it properly (and that goes for any OS). Updates hardly take any time because I run it on a SSD. As for all the advertising and marketing bullshit, you can block a large amount of stuff. And for what can't be blocked, well, I just have to live with it, because the alternative is compromising on my creative output, which is too much for me.
I still run Linux on my server, though. And on my embedded devices (Pi, BeagleBone, etc.). It absolutely rocks there.
I realize that Linux software is not going to improve unless we do something about it, so I'll be contributing fixes and code (the joys of being a C++ dev, yay). Still, I feel that the platform and software as a whole is just not mature enough.18 -
My boss says to me this morning.
Boss: Can you add these links as a redirect 301 to this link.
Me: Ok, I'm not the developer for that domain but I guess I can do it. Let's try to update apache htaccess for that domain through my account.
(After a swift ssh connection to the server to check out that domain.)
Me: Er...boss, we don't own that domain. We cannot redirect it's links to our other domains.
Boss: Why? What do you mean?!
Me: well if we don't own that domain, than it is not on our server and we cannot update it's server config files. So we cannot redirect that domain to our other domains.
Boss: Are you sure?
It went on like this for a while. I had a laugh break after.1 -
@JoshBent and @nikola1402 requested a tutorial for installing i3wm in a windows subsystem for linux. Here it is. I have to say though, I'm no expert in windows nor linux, and all I'm going to put here is the result of duckduck searches, reddit and documentation. As you will see, it isn't very difficult.
First things first: Install WSL. It's easy and there's a ton of good tutorials on this. I think I used this one: https://msdn.microsoft.com/en-us/...
Once you got it installed, I guess it would be better to run "sudo apt-get update" to make sure we don't encounter many problems.
Install a windows X server: X is what handles the graphical interface in linux, and it works with the client/server paradigm. So what we'll do with this is provide the linux client we want to use (in this case i3wm) with an X server for it on windows. I guess any X server will do the work, but I highly recommend vcXsrv. You can download it here:
https://sourceforge.net/projects/...
for i3 just "sudo apt-get install i3"
Configurations to make stuff work:
open your ~/.bashrc file ("nano ~/.bashrc" vim is cool too). You'll have to add the following lines to the end of it:
"""
export DISPLAY=:0.0 #This display variable points to the windows X server for our linux clients to use it.
export XDG_RUNTIME_DIR=$HOME/xdg #This is a temporary directory X will use
export RUNLEVEL=3
sudo mkdir /var/run/dbus #part of the dbus fix
sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf #part of the dbus fix
"""
Ok so after this we'll have a functional x client/server configuration. You'll just have to install your desktop enviroment of choice. I only installed i3wm, but I've seen unity and xfce working on the WSL too. There are still some files that X will miss though.
*** Here we'll add some files X would miss and :
With "nano ~/.xinitrc" edit the xinitrc to your liking. I only added this:
"""
#!/usr/bin/env bash
exec i3
"""
Then run "sudo chmod +x ~/.xinitrc" to make it an excecutable.
Then, to make a linking file named xsession, run:
"ln -s ~/.xinitrc ~/.xsession"
Now you'll be able to run whatever you put in ~/.xinirc with:
"dbus-launch --exit-with-session ~/.xsession"
There's a ton of personalisation to be done, but that would be a whole new tutorial. I'll just share a github repo with my dotfiles so you can see them here:
https://github.com/DanielVZ96/...
SHIT I ALMOST FORGOT:
Everytime you open any graphical interface you'll need to have the x server running. With vcXsrv, you can use X launch. Choose the options with no othe programs running on the X server. I recommend using "one window without title bar".10 -
First thing on Monday. The very first thing.
I fucking killed prod.
Reminder to my future self to either stash local config files and .htaccess files... or add them to gitignore... But either way, don't leave them lying around assuming I won't do something dumb and accidentally commit them. Because some fateful Monday morning before I've had my coffee I'm going to do something dumb.8 -
So at the old job, i needed support for an issue relating to Amazon S3. We used a third party Python plugin for sending files to our buckets, but had some pretty severe performance issues when trying a 2-way sync.
Naturally, I sought help on StackOverflow, and was asked to share my config. Without much thought, I pasted the config file.
Next comment made me aware that our API id and key was listed in this config (pretty rediculous to keep such private info in the same file as configuration, but oh well).
I edited my question and removed the keys, and did not think about the fact that revisions are stored.
Two weeks later, my boss asks me if I know why the Amazon bill is for 25.000$ when it used to be <100$ 😳
I've never been so scared in my life. Luckily, Amazon was nice enough to waive the entire fee, and I leaned a little about protecting vital information4 -
Depends. No one took for the job. VSCode is really good for web and Python. I use Visual Studio for c#, c++ and c. Jetbrains for Java stuff, including Android studio.
When writing SQL I usually use vendor-provided editors like MySQL Workbench. They're the tool made for the job.
Visual Studio Code is my generic editor thanks to it's easy-access terminal. Makes running anything a breeze.
It doesn't feel as snappy as other editors though and installing plugins just for intellisense to work can be annoying, which is why I use other tools for other workflows.
Generally, I avoid things like vim. Sorry, but I have a mouse AND a keyboard. Paid for em both, and I intend to use em. Sometimes I wanna find a setting in a menu and not fuck around with config files after googling what the right setting is called.
I used Sublime for a while, but never really got too into it. It's okay.1 -
Okay it's FUCKing rant time... FUCK you prestashop!
FUCK your utterly bizarre "coding standard"
Also a big FUCK your config files, since when did config files start to include application logic, multiple includes/requires and modification of super-globals. When did I miss that memo?
This file is full of so much FUCKing horseshit, my FUCKing testicles hurt.
FUCK your "module overrides", yes let's duplicate 20-30MB senseless horror code into another folder, just so we can modify one line, without having future updates breaking our stuff.
And your attempt to migrate to a symphony stucture is FUCKing pathetic, do it properly, or don't do it at all.. FUCKtards..
I know wordpress can be bad, but this...
Prestashop takes FUCKing lousy, headache/cancer- giving, piece of crapware to the next FUCKing level.
I wouldn't even wish this FUCKing upon my worst enemy.2 -
finally got TI to cough up their SDK and I noticed there's no compiler or linker or anything. Turns out I need to use TASM.
...TASM is for MS-DOS or compatible. I'm on Linux.
Well, it went poorly, as usual, specifically like this:
- tried to automate building with DOSBox config and Python script: output binary always corrupted. Manually repeated, TASM mangles output on DOSBox every time. No PCem or 86box, and i'm on a Ryzen, so no KVM DOS. Out of luck there.
- TASM Linux build or wrapper? No build, but there is a wrapper! ...wait, it needs... 4 things written by random people to be made from source. I mean, that's not actually that bad... oh, after setting all of them up (and struggling through some autoconf/automake bullshit, one of the programs only had source for a 2.x kernel and autoconf/automake were not happy about it) it fails because one project's been worked on a lot more and dropped support for working with the other 3... goddammit.
- Community SDK? Several options for this... but all of them need .NET 2 to run on Win9x, don't work in Wine, or require... hey look, TASM! GODDAMMIT!
- DOS on a real machine? It's a massive bitch to shuttle files to and from a real DOS machine quickly and I can't take 30 minutes between builds that take me 4 minutes to change enough to need tested again.
why must i suffer like this22 -
Received a complaint that the year dropdown list isn't far enough (ends at 2022). They wanted it to go all the way to 2027. My script handles this by getting the current year then add 5 to it and it generates the values in the dropdown list. All I had to do was change from '5' to '10' in the config puppet files. Contractually, any source code changes needs to be documented and informed to the client. I followed suit, documenting how I am going to make the change. This is new as it involves using git to commit the changes and pull it in the server that talks to the git server. This shouldn't take more than a minute to fix.
Submitted and wanted to finish this today. Client decided to wait til next week to complete the code change to fix the complaint. A work that can be done in a minute is now dragged to a week. FFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUU -
You know what, let me jump in on the "I hate PHP" bandwagon.
A couple months ago I upgraded my mail servers unattended. Roundcube got fucked for a couple of months, and I figured.. fuck it, I can still use Dovecot for authenticating with desktop mail clients like K-9.
Recently I unfucked it, turns out that it was an issue with the sock file in php-fpm. That's also when I noticed that PHP apparently hardcodes in its current version in the bloody socket file. Because why the fuck wouldn't you? It makes upgrades so much fucking easier!!! Said no fucking sysadmin ever!!!
And today I upgraded one of my mail servers to Ubuntu Server 18.04, finally, after a lot of hesitation. Bad decision, because now PHP got fucked YET AGAIN.
Again an issue with socket files? I have no fucking idea. systemctl shows no failed services (because you know PHP, why would you fail your service with an error message instead of throwing a meaningless 502 Bad Gateway, right?!!) and looking at the config files, well the socket file got its new php-fpm 7.2 file (still got the fucking version number hardcoded in) and thus I changed that socket file location in /etc/php/7.0...
devRant may just have been my rubber duck.
WHY THE FUCK DO YOU STINKING FUCKING PILE OF SHIT CALLED FUCKING PHP KEEP THE FUCKING 7.0 DIRECTORY OUT THERE WHEN YOU'VE UPGRADED, WITHOUT EVEN HAVING THE FUCKING BALLS TO RENAME THE MOTHERFUCKING DIRECTORY TO 7.2, IF YOU'RE GOING TO HARDCODE IN YOUR VERSION NUMBERS ANYWAY?!!!!!
Bloody fucking pile of fucking junk!!!!18 -
Long meeting with a coworker presenting a huge, complicated system to track changes to configuration files.
Basically, whenever someone needs to change a config file, this person is supposed to manually enter an entry to a changelog file, and the build system is supposed to give an error if the person forgets to update the changelog.
At the end of the 1 hour long presentation, I raise my hand and say: "we are already using git for our config files, look:
$ git log <filename>
here you can see the list of changes to the file. What you describe is already available, no need to reinvent it."
Long akward silence in the room.
The presenter: "okay, I will look into that. Any other questions?"
Haven't heard about that project since then.1 -
Dear Microsoft, why, just why did you put config files for 64-bit application in System32 while putting config files for 32-bit application in SysWOW64? WHY?
It is like Microsoft is fooling everyone by making such stupid things. Regardless of which excuse they have, this is just an extremely stupid design.15 -
I am so mad, I have no words for how fucking much I hate ever having to work or pass work to other incompetent developers or teams, what a fucking waste of time and resources.
After handing off the frontend - for the client to find some team, that would do it in the short time and budget he needs (multiple developers, more fast, much good), he found a team that seemed to be alright for the job and seemed alright to me too, now maybe a month or two later, the client contacts me, that they fucked something up and if I could talk to them.
The email I then received from them seriously made me speechles, mad and sad, all at same time, I spent multiple upon multiple hours, getting a very good readable documentation up (markdown with TOC, properly rendered headers, bulletpoints, all that shit), with all files, all services used, all credentials, even converted all ssh keys into putty ppk format, in case the developers are using windows and are too dumb to do it themselves, nginx configs, it had seriously everything, even too much to list.
They somehow managed to fuck up the entire server, while attempting to "add ssh keys themselves", EVEN FUCKING THOUGH I have included all the keys they need, all the hosting credentials, everything, yet they decided to fuck with shit themselves and completely annihilate the server in the process (HOW?!), so not even the webserver works anymore.
I am fucking speechless, I made it so fucking easy to gather all info and files they need, all properly put into well named folders, along the documentation in an archive and they somehow managed to nuke the fucking server, while attempting to add ssh keys?!
If you don't know how to config a server, then don't fucking touch it and just use everything, that got served to you on a fucking silver platter.
---
I'll just instantly answer the most annoying comment, that somebody could come up with: "why didn't you do it yourself?"
Because in a perfect world, a fully managed team, can do much more than a single developer can, especially in the same timeframe and from what I heard of said client, atleast they did something in terms of developing the system. (which surprises me, considering it's the same people that nuked a server, while trying to add ssh keys)5 -
The person who claims we should be "in control" of our stack and not use any of this pre-made, one size fits all, BaaS bullshit.
Even though none of our projects are even remotely close to needing scaling and whatnot.
Then proceeds to argue all we need is a step by step guide on how to deploy things very easily using Cloud Formation.
Spends the next two weeks trying to figure out why config files and scripts don't work.
And now that we have that "recipe", we're fully capable of deploying our own pre-made, one size fits all backend.1 -
Previously: http://bu.tl/8t
I wanted to grab a script off another computer, and was getting strange scp errors. Turns out my use of .bashrc to hold all my aliases and custom variables was not "best practice," and scp was flipping out. I renamed my .bashrc files to .bash_profile, and scp worked properly from there. But then, I found that by default xterm doesn't consider an xterm session a "login." So I had to update my .Xresources file with an option for xterm, and re-merge it with xrdb. SO! I was ready to grab my script to set my openbox config the way I like it.
All the while, I noticed that the trackpad tapping didn't work, so that was my next hurdle to take. Next post! -
Arch I want to love you. But you're so freaking unstable and I just want to code in peace without you freaking out every week about config files being screwed up. Why can't we have the stability of more mainstream distros AND the Pacman package manager + AUR? Some of us have to code for a living you know.
I'm really tempted to just go back to Debian to set it and forget it. PPA's be damned.9 -
@linuxxx’s recent post inspired me to try out linux again and see if I want to use it as my primary OS. My past experience with linux has always been endless fiddling with settings or drivers or whatnot, so I was wondering if you’ve got advice on what level of complexity is appropriate in solutions. E.g. if using the terminal and changing a bunch of config files is normal, or if that is generally unsustainable on the long term.
Thanks, I can’t wait to see how this experiment goes 😄17 -
Product Management thought of automating an entire legacy product so they funded undisclosed amount to program management who in turn hired >20 contract devs managed by architects and dev managers with zero functional or technical knowledge of product and who in turn went ahead automating the product in selenium, end result of which was an useless automation framework with lot of browser specific dependencies and whuch could run only on one setup environment and migrating test cases to another environment and running is almost impossible and tyrannical to configure. The automation test cases are highly disorganized with all generic setup, DB configurations and business case test data mixed up in same config files and which need to be rewriten every time ported from one environment to other.To add misery to my woes as a dev working in that product I was told to utilize that framework and enhance the quality of my code by writing inline automation Cases for the same. I am left speechless thoughtless and emotionless after that decision.2
-
when you try to stop tracking changes to files you added on git but instead of running the remove from cache command you run the remove from server also command. and it deletes all the cpanel config files and ruins the hosting account.3
-
In This Rant: A mildly satisfying piece of mind story.
Using code to prove yourself right is a hell of a drug.
A few weeks ago I whipped up a tiny program that downloads configs from hardware we manage. Since the vendor's API documentation is hidden behind a pay wall, my method of extraction is different. It results in bigger files, but testing showed it to still be valid.
Enter today. Interns at work downloaded a config to load onto a spare machine and it won't work.
"TheCapeGreek, your configs don't work"
I was confused since I tested the files when I built it and it worked. I am also currently fleshing out that download utility's features so the fear that I've been wasting the past 2 weeks on improvements is looming.
Last 15 minutes of the day and nothing else to do so I figured I might as well whip up a string comparer. The smaller file's content is scattered in the big file so a direct diff won't work.
Code it all, quick hardcoded proof of concept code, bit it got the job done. I was right, my bigger file is still correct!
Turns out the issue was with the machine they were configuring. They found this out before I finished my test code, so I'm off the hook already, but it was good to have piece of mind haha!1 -
Had a better day with i3wm and Linux. Did a lot of futzing with config files and got it looking pretty cool. My status bar is relevant, urxvt is transparent, I'm happy with it.
I would have taken a screenshot to share with you all but uhh... I don't know how yet. :/6 -
CI CD pipelines in my company... Having CICD suppose to help development... Now we have countless templates and tools (github actions, circle ci, agro, aws beanstalk, azure pipelines, serverless, terraforms, cloud formation, helm charts, ECR, Vault... and few more).
Total chaos, doing simple CICD for 1 api and 1 lambda took 3 days so far, and will take bit more.
On top of that, no one have idea which part of scripts are doing what exactly, as responsibilities are in different tools (each tool have different config files).
Does deployment have to be so complex? Or is it that my company DevOps team makes it so unnecessary complicated?4 -
Here's something I'm sick of seeing: server software documentation that doesn't fully list what ports they are using. Too often I've read things like this: "AcmeServe uses ports 400, 8001, and 8002". Great, but why are you making me guess if those are TCP or UDP?
And sometimes it's: "AcmeServe uses ports 400 (UDP), 8001 (TCP), and 8002 (TCP)". Soooo, which ones do I port forward? Are you really going to make me have to use netstat -a to find out?
I can't understand the mentality behind that. They obviously realise you need to setup firewalls, but they half-arse it by only telling you the port numbers but not the protocol and/or if they're inbound/outbound.
Please, list what protocol the port is and if it's listening or outbound. Oh, and consider also mentioning where the port numbers come from in your config files, so I don't have to go playing a guessing game with a bunch of XML files should someone have overridden the default port numbers.1 -
I am scratching my head since 2 days cause a rather large Dockerfile doesn't work as expected.
CMD Execution just leads to "File not found".
Thanks, that's as useless as one ply toilet paper...
Whoever wrote the Dockerfile (not me…) should get an oscar...
Even in diarrhea after eating the good one day old extra hot china takeout from dubious sources I couldn't produce such a dumpster fire of bullshit.
The worst: The author thought layering helps - except it doesn't really, as it's a giant file with roughly 14 layers If I count correctly.
I just found out the problem...
The author thought it would be great to add the source files of the node project that should be built as a volume to docker... Which would work I guess....
Except that the author is a clueless chimp who thought at the same time seemingly that folder organization means to just pour everything into one folder....
Yeah. That fucker just shoved everything into one folder.
Yeeeeeesssssssss.
It looks like this:
source
docker-compose.mounts.yml
docker-compose.services.yml
docker-compose.yml
Dockerfile-development
Dockerfile-production
Dockerfile
several bash scripts
several TS / JS / config files
...
If you read the above.... Yes.
He went so far to copy the large Dockerfile 3 times to add development and production specific overrides.
I can only repeat what I said many times before: If you don't like doing stuff, ask for fucking help you moron.
-.-
*gooozfraba*
Anyways...
He directly mounts this source directory as a volume.
And then executes a shell script from this directory...
And before that shit was copied in the large gooozfraba Dockerfile into the volume.
Yeeeaaah.
We copy stuff inside the container, then we just mount on start the whole folder and overwrite the copied stuff.
*rolls eyes* which is completely obvious in this pit latrine of YML fuckery called Dockerfile.
As soon as I moved the start script outside the folder and don't have it running inside the folder that is mounted via volume, everything works.
Yeah.... Maybe one should seperate deployment from source files, runtime related stuff from build stuff.
*rolls eyes*
I really hate Docker sometimes. This is stuff that breaks easily for reasons, but you cannot see it unless you really grind your teeth and start manually tracing and debugging what the frigging fuck the maniac called author produced.1 -
At work everybody uses Windows 10. We recently switched from Vagrant to Docker. It's bad enough I have to use Windows, it's even worse to use Docker for Windows. If God forbid, you're ever in this situation and have to choose, pick Vagrant. It's way better than whatever Docker is doing... So upon installing version 2.2.0.0 of Docker for Windows I found myself in the situation where my volumes would randomly unmount themselves and I was going crazy as to why my assets were not loading. I tried 'docker-compose restart' or 'down' and 'up -d', I went into Portainer to check and manually start containers and at some point it works again but it doesn't last long before it breaks. I checked my yml config and asked my colleagues to take a look. They also experience different problems but not like mine. There is nothing wrong with the configuration. I went to check their github page and I saw there were a lot of issues opened on the same subject, I also opened one. Its over a week and I found no solution to this problem. I tried installing an older version but it still didn't work. Also I think it might've bricked my computer as today when I turned on my PC I got greeted by a BSOD right at system start up... I tried startup repair, boot into safe mode, system restore, reset PC, nothing works anymore it just doesn't boots into windows... I had to use a live USB with Linux Mint to grab my work files. I was thinking that my SSD might have reached its EoL as it is kinda old but I didn't find any corrupt files, everything is still there. I can't help but point my finger at Docker since I did nothing with this machine except tinkering with Docker and trying to make it work as it should... When we used Vagrant it also had its problems but none were of this magnitude... And I can't really go back to Vagrant unless my team also does so...10
-
Today a co-worker (I am going to call him 'boss') ask to another co-worker (I am goin to call it 'useless piece of shit' or 'ups') to explain to me a new task, becaus boss was to bussy with a new release for a client.
Idk how but ups managed to explain all wrong, like terribly wrong.
Ups: "Dev, all you have to do is fix some queries from local files"
Dev: "Ok, seems legit"
Try the local files, nothing happend
Dev: "weird... ups why this is happening?"
Ups: "I know the same as you, ask boss."
Dev: "boss this."
Boss: "what the actual what? ... this is all wrong. The config file is in mongo, in this IP, we don't use local files anymore. I tell ups to explain this to you so I can atay focused on this other task, but now I lost the double amount of time"
Dev: "oh... sorry, I will fix the remote queries"
I hate ups, every fucking time soneone need something from him this happend or worst...1 -
You win Linux. That was the last straw. I will never install ANY linux distribution ever again.
Setup a simple FTP server. What can possibly go wrong ?
Ok now I want it to point to /media/ftp
Easy, right ?
Just add local_root=/media/ftp
Weeeeellll nop.
Not working. Completly ingnoring this setting, all users log to home directory.
#chroot_local_user=YES
tried, no effect.
I'm wiping this server and installing windows server there.
Too bad, the process started very well, the machine is fully confiogured, ready to go, DNS working every thing working. Except this shitty FTP.
So FUCK YOU linux wioth config files, WELCOME windows with nice GUI where I can just SELECT the default ftp folder29 -
-Rant-
How do you (not) secure your Rest based web service?
1. Chain it to shady organic authentication system built by a hoard of monkeys high on Tequila.
2. have secret keys that get copy pasted into config flat files, and index them on your code search engine.
3. make the onboarding extremely platform specific that you need 500 environment variables, 50 scripts, 5 fancy device presses and a tap dance to make a GET call to the service.
4. fish through 500 rotating log files that the authentication system generates for each API call made.
5. Leave traces all over the host so if you have to start over, you should sudo rm -rf / and set fire to your computer. -
I always find reading small configuration files way more difficult than reading a big codebase.
I accept config files do really help in writing a better flexible code and separating the logic and settings but always offer a stiff learning curve.
And often, people make changes in config either unintentionally or with half knowledge which works in local but later blows up the entire system.
Wondering how config files can be presented in a way that the learning curve is minimal and the understandability of its impact is more visible.
I do really like annotations or decorators which provides a closer visibility between config and code. -
Connecting my Pi to the interwebs through my computer should be easy, right?
NOPE!
Two hours of fiddling with badly-documented config files after I started, I can SSH in but not access the internet on the Pi. None of the guides seem to want to actually work...5 -
Try to finish some of the projects I've started in 2018. Right now I have a todo list text file, along with multiple written lists (the written ones are more focused on a single project normally).
-Finish the startpage I've been doing off and on for at least a month now. I ended up making a lot of it command based (just need to write the scripts for the commands..). I had a little config menu but I just got tired of it and the text box is autofocus anyways, so I figured I'd make it command focused.
-Nice little root safety script as I call it. I've made very stupid mistakes as root before. I once made a typo and ran "chmod --recursive 644 /" while half asleep. I believe I was trying to run that on the current directory I was in, but as you know, the . and / are right next to each other. Basically the script would see what you're doing and echo "you're about to do x, are you sure that's what you want to do?". Something I know I could knock out in a day, but I've been putting it off for at least a year now.
-Compiling notification. I saw something similar once a few years ago, and it was so fucking cool. I remember it being a Mac, and it had a notification that would basically tell you how many files and shit you had left to compile if you were building something. Kinda want to build something for polybar.
-FUCKING RUBBER DUCK DEBUGGING TO THE EXTREME! This one was inspired by a comment someone made once months ago. Might have been here, or reddit, or in real life, not sure. Basically a big ass fucking rubber duck with LEDs in it that will like glow red if your code wouldn't compile (I think Visual Studio has like an automatic error detecting thing in there?? Maybe something similar if I can figure that out). Honestly not sure how the fuck I'd do this one, but I love the idea and I really want to fucking do it
There's more shit. These are just the main ones I want to attempt sometime in the near future. -
Why does everything installed via npm sux so hard?
Why the fuck does any minor update in their bullshit packages either forces you to change config files:
E.g. now should be "@babel/core" instead of "babel-core" - WHAT A FUCKING SIGNIFICANT CHANGE!!! Rewrite all you configs motherfucker, that goddamn "@" in front of our shit is SO IMPORTANT that we will break everything to add it
Or breaks the code internally:
Consider the recent fail of fucking Terser [https://github.com/gatsbyjs/gatsby/...] that breaks fucking webpack and FORCE YOU TO ROLLBACK TO ANY VERSION THAT WORKS, why you nerd retards, can not run a simple dummy project BEFORE YOU RELEASE YOUR SHIT???!?!!?
Why any fucking update from *.*.1 to *.*.2 turns into hours of googling of what the fuck got broken this time??
The way that webpack, babel and other npm packages are released nowadays is absolutely retarded. I really have a strong feeling that it is better to keep old error-proof working config and NEVER UPDATE, than constantly suffer from butthurt
p.s.
Of course I am sorry for all the hate and caps in my post, and have respect for guys that develop amazing stuff for us for free, but I need to share this5 -
That moment when you convince your team's project manager to finally encrypt the config files before comitting them to source control..1
-
Got some Freelance work(PHP) via my friend so i said ok lets see. Those were some college students and wanted their project to be deployed that their seniors built and none of them knew how to fix the issues so here i step in.
Nightmare of a design, no signs of framework, html/css looks like it was designed by a 10th grader, no prepared queries, every file uses db config seperately so a minor change would require me to edit those 50+ php files... overall a broken mess. FML.5 -
I fucking hate web development and fuckton of issues it has. Laravel library not found despite the files exists and composer loaded it in the autoloader, fix: create a config file for the lib, why? Because magic. The code cannot find the provider class without it....
Next, try out smtp mail. Works everywhere, but not with the live smtp server. Fails with Invalid recipients error. 2 hours later, with half of my hair torn out I finally figured out. Can you guess?
Credentials and settings are correct, recipients are also correct. The fucking from address parameter was the culprit because you cannot send emails on behalf another address, logical but fuck that error message. Why is it that hard to respond with an understandable response?2 -
On my last deployment for the musician client I encountered a really nasty bug.
I configured all the settings in my Nginx. Theoretically everything should work, but it did not. Somehow I always ended up landing on my default Nginx page.
After hours of trying to find the typo, turning it off and on again and praying to all gods I ever heard of, I finally analysed my default Nginx config file. Somehow the server config I posted on the clients conf-file got posted beneath the default configs. WTF?
After deleting those everything worked. 🙄2 -
I'm crying internally. The project(s) i work on have configuration files with dev and prod-info, the prod is just commented out. But thanks to reasons everyone has a different dev environment so there are many dev-config-blocks. I just use mine and carry on, BUT SOMEONE ALWAYS COMMITS THOSE FILES. I JUST THOUGHT OF IT NOW, BUT I'LL PUT THOSE FILES ON A BLACKLIST. FROM NOW ON YOU CAN ONLY COMMIT THESE FILES DURING A FULL MOON.
There's also this codebase to create licenses for our products. The license data fpr every customer is there, commented out. If you wanted to create another license, comment something and comment out another thing and you're good to go. THAT'S NOT WHAT VERSIONING IS FOR.4 -
How fitting because that just happened today: MOTHERF*CKING Tomcat.
TL;DR:
Tomcat sucks with client side routing (e.g. in angular2).
How hard can it be to provide a web/application server which is properly configurable?
I lost a whole day by trying to get an angular2 project deployed in Tomcat.
It's not that I could not manage to deploy it. But that you need to put all the files in the ROOT folder if Tomcat so that your JavaScript files can be found is the first dumb part.
But that's not enough.
There seems to be no way in Tomcat, short of writing to XML config files and including one jar library, to disable routing go a webapp. And you need to do this when you have a single page application with client side routing.
But yeah, dear boss, I get the part where Tomcat is lightweight, easy to use and does most of the work for you: when you do not use it.
As a side note, so that nobody thinks I have a grudge against the Apache guys: I see the advantages of a Tomcat if you have multiple webapplications written in Java which you need to manage our if you use it as an embedded application server.
But there are just some occasions where a plain old Apache Webserver is better suited.
Another side note: if I just embarrassed myself because those are settings which can be easily applied feel free to tell me 😉2 -
My apologize to everyone I told that functional programming is declarative.
It's actually imperative. Thank you @AndSoWeCode for figuring that out. I spent the whole day thinking about it.
Lisp is imperative. It's just different way to define the exact data transformations, and that's quite imperative.
On the other hand, HTML, CSS, config files and markup languages are declarative.
But writing the imperative program which is configured with declarative configs seems like great idea. Consider Apache web server and others.3 -
This may be obvious, but debugging is all about input / algorithm / output. If there's something wrong, it's one of the three. Work with the method of elimination. Sometimes it's easy, sometimes it's not.
I'll give you an example from my situation:
I wanted to play an old DOS game on my modern PC and so I used DosBox. I made an iso from the original CD, mounted it, referred to it in the game's mount settings and launched the game.
Then, after I had saved the game and I tried to load it again, the game would say: "Could not read/write savegame". And so I thought something was amuck with my mount settings and I started fiddling with those, but it only made it worse and it gave me more (cryptic) errors.
The next approach was to save a new game and load that one. Nope, same problem.
Finally I decided to follow a DosBox tutorial for the game and load the game again.. same problem. So I think hmm.. my algorithm is correct.. my output is wrong.. so then my input must be wrong. So I decided to save the game again with these new and correct settings and low and behold, it finally loaded.
One thing to note was that when it failed to load the savegame, it was because it had done a partial save because due to incorrect mount settings it couldn't figure out all the right config folders/files/paths and my savegame ended up being corrupt with 80% of the files having 0 Bytes, which was suspicious. That usually means a file became corrupt.
And then it hit me.. if the game says: "Could not read/write", that doesn't mean the same as "Could not access the file/folder". It could access it, it just couldn't parse it. And of course.. the 'write' part of the message indicates that it messed up in writing, causing it to misread. Sometimes you really have to think about it..
Anyway, input, algorithm, output. :) -
ARE YOU FUCKING KIDDING ME!!!!!
IT'S A FUCKING VPN AND THEY CAN'T FUCKING PROTECT IT'S CONFIG FILES FROM JS!!!!!
https://thehackernews.com/2018/02/...
ooh first rant with dvorak2 -
Why the fuck open source solutions need to be such a load of bullcrap? I've spent a week trying to set up every single self-hosted video conference software, and the only thing I've got is a shorter lifespan.
How the fuck does your (judging by GitHub, well maintained) software only support Ubuntu 16.04? And I mean ONLY, there's no support for docker, or any other distro either, and we're only weeks from getting the second LTS since 16.04. And why the fuck does documentation tell me to manually go through 20 different config files just to enable SSL?
Why the fuck doesn't your official AWS cloudformation template include VPC or other required parameters? I've had to rewrite the whole thing just to get a valid stack you dipshit!
And how fucking hard is to make your software look decent, I can't expect clients to chat with me using something that looks like an incest child of 2003 MSN and eDonkey?
Oh, and it'd be fucking dandy if your documentation wouldn't return 404, maybe I'd be even able to test what your product has to offer?
I guess after everything I've tried I'll go with Jitsi; it seems the most decent, although it lacks some pretty basic features like limiting chat features for guests.22 -
Recently had to start developing on a PLC for a new project and didn’t realize how much these companies fuck their developers.
For example, I’m using CODESYS to write structured text to run on the PLC. CODESYS is free to download. However, in the free tier, they take all your .st files and ur config files and combine them into a SINGLE FUCKING BINARY which completely defeats the purpose of version control.
However, if you BUY their pro license, you can install a git module.
There’s other things that make developing in them suck. For example, the only IDE you can use is the one built into CODESYS and it fucking sucks. Another one is that their builtin IDE has a “dark mode” that only works on certain files. If you open a function file, it uses dark mode. But if you open a struct file, it uses light mode.
Also, having no other runtime than the one built into CODESYS fucking sucks.
Maybe I’ve been spoiled with VSCode and python 🤷♂️5 -
Couldn't be arsed with all the conditional compilation that angelscript required, so I dumped right back to good ol' lua for now.
Got lua in, vm started, loading strings and pushing/popping the stack.
Got SDL actually drawing as intended.
I don't know even half of what I'm doing.
Apparently header files that end in ".hpp" are specific to c++, while .h are for c headers.
I like the new SDL2 though, little bit different than SDL1. Not a lot of tutorials cover the difference, but I could kinda suss out from the documentation where I needed to adapt, even though I'm still pretty loose on the library, on the docs, and on c++ itself.
Still just a learning project.
Also, I'm continually surprised there isn't a portable, platform independent tool or little language just for replacing all pseudo-languages out there like .bat and .sh, and .zsh
Maybe even just a tool that standardizes it all, then takes config files that map the new standard to system dependant commands, so you can download the damn thing, configure the relevant environment variables, drop in the platform dependent configuration (or your browser or package tool detects what platform you are on and chooses the relevant package/download for your platform), write a console script and the tool automatically translates, and emits the system-relevant commands to that platform's console (so you don't even need much platform-specific code to do things like file access). -
For Java and Kotlin I use IntelliJ, for like config files and crap VsCode.
For C-ish languages Visual Studio Community 2019. -
I tried playing with github pages sites today.
It was, as expected, *almost* awful. Tried the toml config first, figured out after a while that shit doesn't map well between jekyll and toml config.
The themes suck but didn't want to fuck with css files. As it is on a public github repo, I can't just copy paste and clean it up.
... So much for free software to be a pain in the arse to deal with. 🙄
Still better than nothing and I guess that's the entire selling point. You suffer, but it's *for free*. 🖕8 -
Dealing with a project which should be together in a single location, but no.. two solutions, two web config files... FFS
-
I would hack the heck out of Roslyn Analyzers! Everything that could be f*ckin detected at compile-time _would_ be f*cking detected at compile-time. All those freaking config files usages, or attributes/reflection. Analyzers for everything, with sensible error messages! (Although I realize I that's overstretching the concept of unlimited time)
-
My config-manager for Linux.
I began writing these apps because, I was fed up with changing shellscripts and make files, whenever I had new make files to add or something.
The first one was just a simple shells script, but it did its job.
The second one was in pearl6, i t was better but still a bit hacky.
The now 3rd installation is a complete redesign in Go and works like a charm.
https://github.com/thosebeans/wento1 -
I just started a new job last week. Old-school sysadmin role for a pretty old-school company, but the pay is nice and the kids've gotta eat.
They gave me a windows laptop. I haven't used windows for work or as a daily driver since 2016, and now, a week into trying to make this machine work for me, I have the following observations to report.
WSL is nice. It's nice to have it installed(though actually installing it was an adventure unto itself), and to set alacritty to open my default user prompt straight into that is very nice. As terminal emulators are by far my most used piece of software, that's nice to have.
Command-line software management through powershell, winget, and chocolatey are also very nice.
I like the accessibility offered by autohotkey, though there is something of a learning curve on it. Once I get better with it, I suspect that what follows will be largely mitigated.
The Bad:
In general, Windows is janky. It feels like it's all kinda taped together without any particular cohesion in mind. As a desktop, it feels decidedly amateur, compared to the feature-mountain polish of MacOS, and especially compared to the flexibility and infinite possibilities of Linux.
Lots of screen real estate is wasted, with window decorations, and fonts that look terrible at smaller sizes, because the antialiasing of fonts is just terrible. Almost all the features I depend on in other desktops: ad-hoc searches and launches(alfred, rofi) are-- again --janky. They work, but they typically require more typing than alfred or rofi. I admit I haven't spent weeks on this problem yet, but I haven't found a workable solution yet with wox, hain, and keypirinha. Quick searches like what you get with alfred, alfred workflows, and the swiss army knife that is rofi, just aren't possible or reliable with the tools I've used so far, and most require some kind of indexing agent to fully function.
It beggars imagination that a desktop in which users are subjected to "default apps" that is purported to be acceptable for enterprise, professional use, does not have a default entry for text editor. I installed nvim-qt, and I want to use it to edit anything and everything I ever edit with text, but all too often, apps have hard-coded instructions to open text files with notepad.
I want to open certain URLs with firefox, certain ones with firefox developer edition, and others with vivaldi, and yet there is not an app available that I have seen yet in my searches that allows me to set this kind of configuration. I found one that's supposed to, but it just ignores everything I put into its config, and just opens MS Edge for everything. Jank.
Simple things take too long. Like the delay between when I laboriously hit ctrl-alt-del to bring up the login and when the actual text field appears, and the delay between that and when I want to start using the computer.
Changing some settings requires a reboot. Updating some software requires a reboot. Updating permissions on something sometimes requires a reboot. And those are all on top of the frequent requests to reboot for updates.
I would have thought Windows would have overcome most of the issues that create these problems, but it's just, as I said, amateur.1 -
Hell of a Docker
One application in c++. 4 in c# targeting Linux. Several logging places, Several configuration files , dozens of different folders to access (read/write). Many applications being called from just one that orchestrates everything.
OS is Linux. Installation is to be made inside a docker image and later placed in a container by means of several bash files and python scripts. All these are part of a legacy set of applications.
They’ve asked me to just comment out one line which took 3 days to find out because they didn’t remember where it was and in which application it was and what was in that line.
After changing it, I was asked to create a test environment which must have resemblance to the current server in production. 12 days later And many errors, headaches, problems with docker, I got it done.
Test starts and then, problems with docker volumes, network, images, docker-composer, config files and applications, started to appear.
1 month later, I still have problems and can’t run all applications at least once completely using the whole set.
Just one simple task of deploying locally some applications, which would take one or two days, is becoming a nightmare.
Conclusion: While still trying to figure out why an infinite loop was caused by some DB connection attempt in an application, I am collecting a great amount of hate for docker. It might be good for something, that’s for sure, but in my experience so far, it is far worse than any expectations I had before using it.
Lesson learned: Must run away from tasks involving that shit!5 -
Long story short,
I made a repository on GitHub containing all the necessary files to build network-card specific firmware that the developer Mellanox does not suply openly to the general public anymore.
Can they (Mellanox) do something to me for that? 😨
And should i pick a license for that repo?
The files were grabbed from either an old russian ftp who grabbed them from the mellanox page years ago while they were available.
Or from some programs appdata tmp folder where they magically appeared during installation.
The files are 2 different kinds,
Either a core firmware textfile containing encoded binary 😵, or
Adapter specific config files that could also be dumped from the adapter card itself.
In total, mellanox provides version compiled 2.9.1000,
I obtained "sources" for
2.9.1200
2.9.8350 and
2.10.0720
Which are massively better and needed for certain features and functionality. Like building in PXE.
Thanks1 -
My visceral hate of Spring.Net burns with the force of a thousand suns.
Almost everything it does is done wrong or solved better by other solutions.
Specifying which classes to instantiate from .xml files? Sure why not, compile type safety (the whole reason for using a static programming language) is obviously overrated and dependency based injection is surely impossible!
And for extra bonus points, now our client code must be aware of the internals of the service classes, and all of their references as well, because, encapsulation? Who cares.
Have you made an typo? Good fucking luck finding out from which of the 100 config files we have floating around...
And, because it has baked in AOP and Transactions its woven into the fabric of the project like a tapewom.
Of course this may just be how our "special snowflake" project uses Spring.
What makes it more painful is that I love good DI tools (ninject, castlewindsor, autofac, there are so many...) and we're stuck with this turd because 7 years ago some java devs couldn't be arsed to learn a new library...1 -
Dear Webmin,
how is it that you fail to update and fuck up every Apache config file existing on the server.
Why can't I just be a lazy dev tonight, instead of fixing your moronic actions upon those files, one by one.
Why is it that you frigging forget to close Directory tags properly.
Why is it that you show a Forbidden page when everything seems to be finally ok.
And why is it that I can not re-generate that shit with one button.
Fuck this shit.
sudo rm -rf /2 -
Pulled my hair out over one today (and a week ago when I first saw the issue)
Setting up development environment. Created test user and test database and used mysqldump to copy data over.
MySQL was executing a function as the wrong user. Checked my config files, checked my config reader, checked my database connection, checked checked checked. Checked everything twice, I felt like Santa.
Changed the password in the config file to make sure it was logging in right. It threw an error still but not one I had expected so I figured the login still worked (My bias was that I thought the config file was not working or the mysql library was caching authentication. Both were wrong but this blinded my debugging. Foolish, I have forgotten my training)
Logged into the database directly via client. *didn't bother executing the function because I was only testing auth*
Think
Think
Think
Search entire project for database username. It's gotta be hard coded by accident SOMEWHERE.
It's not.
Why
Why
Why
Wait.
-- Flashback to how the test db was created -- What's actually in this damn script?
DEFINER `production_user` CREATE PROCEDURE `old_db`.`procedure_name`
Two issues: definer is old user (this is the error I was seeing) and its creating the procedure on the old db (this would be the next error I would have found if I kept going)
Fuck mysqldump. Install mysqldbcopy. Works
Put hair back in head. -
Oh boyyy, I just had to work with Asterisk again. And holy shit it is still the clusterfuck it was many years ago.
We got:
- Inconsequent documentation that is mixed through all versions.
- The config sprinkled over what feels like 20 gazillion files.
- AEL being a half assed attempt at a "pRoGRamMinG LanGuAgE"
- The fuck you mean with extensions, endpoints and AOR's?
- Inconsistent config parameter naming. Some are snake case, some camel case some are just everything smushed into a single word.
- queue_log determines wheter to write a log to a file. queue_log_to_file Says to do so independent of you having a realtime backend. Whatever the fuck that is.
- Log compression is done by executing a gzip command after a rotation??!!?!! -
!rant
So, I've been working on a new project, it's basically a java library/package/jar with a lotta nice gadgets and stuff in.
The current functionality is limited, but will expand more as time goes on.
Right now it's able to:
apply ARGB filters to images (changing ARGB values), save objects in files on disk(Serializer/Deserializer), send emails with working create/load/unload configuration-system which saves a user-config to a file, loads and works with it, but the most coolest thing...
random char generation MY GOOOODDD
yea just wanted to post this cuz im rly proud2 -
Who else here smokes weed through the day (WFH) when the work for the day isn’t that cognitively demanding? Like updating config files, raising a PR, or doing some silly RnD etc.7
-
I was having issues with PulseAudio on Ubuntu not working properly and spent about 40 minutes trying to modify various config files to fix the problem. Eventually, I fuck my system up so bad that there is no audio at all and PulseAudio refuses to even start. So I revert all of the config files to their original state and try starting PulseAudio, it still refuses even start. Then I try rebooting the system, and not only does PulseAudio work when I log back in but my original issues were gone even though I reverted all of the configs. Computers. How do they work? Nobody knows. But at least now I can listen to my music in peace.1
-
I've been using go for two days and I'm already pissed at it. Don't get me wrong, I like the language itself, I love the simplicity, the tooling and frameworks are the problem. Like, why does everything have to be so hard?
Why do I have to spend around 4 hours in total just to configure a fucking linter?
Why does everything have to live inside the fucking GOPATH?
Why the fuck can't I put a src/ folder in my project so I don't mix code with config files, docker files, etc?
Why the hell does documentation for frameworks/libraries/tools suck so much? Looking at you Gin and Gorm.
Why can't gin-swagger just find out what routes I have?
I must be either dumb or chosen the wrong frameworks and libraries, but the "development experience" I'm having sucks. Nothing works first try and documentation is shit and vague.
I want to like the language, but I can't, at least not if it's always going to be shit like this. Does it get better? Am I just a noob? Or should I just jump ship and look for something else?4 -
Level 1 support moron dishing out bad instructions from his flowchart.
Wanted me to edit config files for a production setup, which would've killed shipping for all stations, in the middle of our shipping rush.
Fixed the problem while in the escalation queue for level 2. L2 confirms the fix, and bemoans the shit documentation L1 provided.
If its a business class (mission critical) system, hire decent support staff! You might try testing people for reading/listening comprehension, and then paying them a decent wage! This isn't good for my blood pressure...undefined l1 support shipping mouthbreathing flowchart monkey cheap business support bullshit outsourcing -
My answer to their survey -->
What, if anything, do you most _dislike_ about Firebase In-App Messaging?
Come on, have you sit a normal dev, completely new to this push notification thing and ask him to make run a simple app like the flutter firebase_messaging plugin example? For sure you did not oh dear brain dead moron that found his college degree in a Linux magazine 'Ruby special edition'.
Every-f**kin thing about that Firebase is loose end. I read all Medium articles, your utterly soporific documentation that never ends, I am actually running the flutter plugin example firebase_messaging. Nothing works or is referenced correctly: nothing. You really go blind eyes in life... you guys; right? Oh, there is a flimsy workaround in the 100th post under the Github issue number 10 thousand... lets close the crash report. If I did not change 50 meaningless lines in gradle-what-not files to make your brick-of-puke to work, I did not changed a single one.
I dream of you, looking at all those nonsense config files, with cross side eyes and some small but constant sweat, sweat that stinks piss btw, leaving your eyes because you see the end, the absolute total fuckup coming. The day where all that thick stinky shit will become beyond salvation; blurred by infinite uncontrolled and skewed complexity; your creation, your pathetic brain exposed for us all.
For sure I am not the first one to complain... your whole thing, from the first to last quark that constitute it, is irrelevant; a never ending pile of non sense. Someone with all the world contained sabotage determination would not have done lower. Thank you for making me loose hours down deep your shit show. So appreciated.
The setup is: servers, your crap-as-a-service and some mobile devices. For Christ sake, sending 100 bytes as a little [ beep beep + 'hello kitty' ] is not fucking rocket science. Yet you fuckin push it to be a grinding task ... for eternity!!!
You know what, you should invent and require another, new, useless key-value called 'Registration API Key Plugin ID Service' that we have to generate and sync on two machines, everyday, using something obscure shit like a 'Gradle terminal'. Maybe also you could deprecate another key, rename another one to make things worst and I propose to choose a new hash function that we have to compile ourselves. A good candidate would be a C buggy source code from some random Github hacker... who has injected some platform dependent SIMD code (he works on PowerPC and have not test on x64); you know, the guy you admire because he is so much more lowlife that you and has all the Pokemon on his desk. Well that guy just finished a really really rapid hash function... over GPU in a server less fashion... we have an API for it. Every new user will gain 3ms for every new key. WOW, Imagine the gain over millions of users!!! Push that in the official pipe fucktard!.. What are you waiting for? Wait, no, change the whole service name and infrastructure. Move everything to CLSG (cloud lambda service ... by Google); that is it, brilliant!
And Oh, yeah, to secure the whole void, bury the doc for the new hash under 3000 words, lost between v2, v1 and some other deprecated doc that also have 3000 and are still first result on Google. Finally I think about it, let go the doc, fuck it... a tutorial, for 'weak ass' right.
One last thing, rewrite all your tech in the latest new in house language, split everything in 'femto services' => ( one assembly operation by OS process ) and finally cramp all those in containers... Agile, for sure it has to be Agile. Users will really appreciate the improvements of your mandatory service. -
Yocto is the most overly complicated shit on earth! How the fuck did i ever get my board to boot? You get so easily lost in layers and bb and bbappend and there are like 20 flavours of assignement operators and to configure the kernel you need to run one command for menuconfig and then another right after to pull a diff out of the .config into your project. otherwise noone else will have your changes. TrY the same thing with the bootloader and the whole thing shits its pants. Also there are like four devicetree that are required for boot. And if you specially fuck up here, your hardware will be an expensive paperweight. Also there are like featuresets that enable shizz like wayland or ethernet but good luck finding out what in the actual genderbent jesus the thing you just configured does. And there is like no way to visualize any of it as its just a cockblock of text and files. Also if you use search the results are most likely useless. As the thing you are looking for is a filename and vscode does a text search only. Also you can add layers but whatever the fuck that means as a bsp is like a layer but so can also be a kernel patch or some rando variable change. And good luck fugurig out to which dir $PWD points to. As it could just be on the Elon Musk nazi base on the dark side of the moon. Also every folder starts with meta for some dumb reason. And if it starts compiling you could just aswell build a coffin and go into winter hibernation. It takes fucking forever. I have a 3800x and the build takes 1.5h. Why? Because, BECAUSE, B E C A USE! There is a require package called optee. Which need a python package. That package depends on a crypto lib thats written in rust. And since its all from source, it downloads the FUCKING rust compiler source and compiles the compiler to compile a lib that only takes like 5 seconds to compile. Also good luck figuring that out without constantly staring at the compile log. As there is some compilation time info but you need to write a parser for that first as there is no included anal -lyzing tool for it. I could keep on yappin' waaay longer about why dantes inferno is kindergarten compared to yocto, but i dont have enough alcohol in the house to fuel that.1
-
I have a small NUC-like machine in my home with an old external hdd connected to it. I use it to run my local gitlab, nextcloud and to test a few websites I build for the lolz.
If you too have a homelab, whether it's a single raspberry or an entire room full or racks, you know damn well that everything you have running locally as a web service keeps going until it doesn't, for whatever fucking reason. This time, it was the turn of my nextcloud.
The machine has arch linux running, I chose it since I already use it on my coding laptop and being a rolling release means I don't have to manually upgrade to a newer version, risking various fuck-ups and consequent screaming of profanity.
The downside is that arch is a bleeding-edge distro, so, despite being pretty good for what concerns security, as updates are pushed out some packages may still require legacy software to work as intended, since obviously not all developers for all packages can release simultaneously.
The problem was that php reached 8.2.x but nextcloud couldn't use anything beyond 8.1, so the highlighted solution was to download php-legacy, a package with a set of utilities which the cloud could use instead of mainline php.
Pretty easy, right? fuck my life, here we go.
I edited apache-httpd's configurations to link the new libraries, updated every reference in every virtual host that could possibly screw up the web server.
Done.
Then I went on and disabled the php-fpm mainline, creating a new systemd unit that would instead run the legacy executable and afterwards I edited nextcloud's additional configs so they use that instead.
Done, getting a bit dizzy, but I reboot everything and breathe.
At this point the migration should be complete, but wait, the server returns an error saying that the application is still trying to use php 8.2+...wait, what in the sysadmin Christ?
Back to nextcloud config, everything is set, everything else in every other fucking php-legacy and web server is fine, the old fpm service is disabled, I am confused, and why in the FUCKING FUCK is the new php-fpm unit failing to start at boot with "error 78/config - directory not found"? Hello? Am I being trolled by a shitty dual-core amazon fake NUC?
Maybe yes, cause it turns out that the unit was referencing a directory in the external hdd, which gets mounted at boot time after the unit itself starts, so nothing much, just a matter of tinkering with cron jobs, a reboot and at least this one is off my balls.
But why still isn't the server responding correctly? why? WHY?
After slamming my cock on the keyboard here and there scrolling back through all the config files I think to myself, hmmm, my gitlab is working flawlessly, well yeah, I didn't need to install the whole web stack, everything was nice and easy wrapped in a docker container...so why am I even here, why the fuck am I bothering with all this layered web-app bullshit, why don't I just run the up-to-date docker image that someone else has already set up for me, back up all the data and reupload them on the application?
Oh joy, you can't imagine, after 3...almost 4 hours of pure computer-touching the relief I had from seeing the blue web page with the "welcome to nextcloud" title.
Right now it's copying back all the files, and the external hdd is now linked to include the data folder.
Like really, everything was solved in two lines of bash.
I am still fuming, but at least I learned a valuable lesson, if you want a service up for yourself, implement it and deploy it as fucking easy straight-forward as you can, giving MAXIMUM priority to already fully-working options that are out there just waiting to be downloaded and used. I swing my scrotal sack on web-apps elegance as long as it's MY homelab in MY place.
Eat a fat dick php.
sudo pacman -Rns nextcloud
sudo systemctl disable --now php-fpm-legacy
sudo pacman -Rns php-legacy
sudo pacman -Rns $(sudo pacman -Qdtq)2 -
vim...no GUI for Windows for vimRC?? Seriously? gvim is fine as a gui but I want a gui to configure vimrc. Give me sliders and drop down boxes with live visable updates to see what it does right away with common vim options that saves to my vimrc. You know, like a edit ->preferences dialog box with tabs and scroll bars etc that updates the config file for vim directly?
Since there are many here that use it I'd figure sure I'll try it. I used it many years ago for some basics stuff but you've all shown me it can outdo my current note tab++ but holy hell if it isn't shit to configure and set it all up!
I'm not interested in using another editor besides vim after seeing the features now and not interested in a emulator or simulator for vim in another editor (like sublime).
Why don't you just....X? Because. Reasons. I like my GUIs and hate editing text config files then restarting to see what changed. Show me right away dammit...is this a pipedream or does such an app exist?
I'm not looking for a gui for vim...gvim does that just fine, but rather a gui edit preferences options dialog window for vim config file vimrc. Sigh...
Am I dreaming that such an app exists??9 -
First experience with dotfiles today, absolutely loved working configuring it a bit, also first experience with shell. But honestly also felt very dumb and perhaps incompetent compared to other such repos. Anyhow my terminal is delightful to use now, that's probably somewhat good.1
-
Damned XAMPP doesn't want to run MySQL. Can't access phpmyadmin on local machine. Fixed localhost problems now it shows me 404! Edited all ports in config files for Apache, killed some tasks working on that port, stopped running some services - still nothing. Now found out there are some db files missing for MySQL via error log so I need to fix that plus 404 on my localhost. Don't feel like I'm close to solve all that. Half of a day wasted with no results. I need a cold shower and a gallon of coffee.1
-
Even though I like a rolling Linux install that's been working for a long time, it's always fun to set up a fresh installation. Remember back when I had more time and setting up "Linux from scratch". Then there was Gentoo. Now Arch serves that purpose. Even though there is not that much time as when I was a student it's still brings pleasure starting from a clean slate. Only setting up the things you need and keeping config files clean and a nice directory structure. Keep it simple.4
-
I thought: Okay lets update this open source software the day right before my exam. What could go wrong? All previous updates worked without a problem and this is an urgent security fix for RCX.
Of course: It failed. I spend the whole night searching for the error in my config files etc. The error was: A missing null check in start sequence. Had to fix and build it myself as I required the files stored there for the exam.
I learned a lot that day/night about updating only when you have the time to deal with errors... -
The only way I can edit Puppet config files is by git. And the only way I can git pull/push/commit/etc is generating a ssh key with a private key and give my public key to my supervisor to the git server (wherever that may be).
Because I'm on Windows 10 and screwed up my installers, I completely forgot to backup my ssh keys before resetting it. FML2 -
I almost never enter a commit message for my private git repos. Sometimes I even forget what I did to some of the files (Unreal Engine files are mostly binary except the config and c++ files, so not that easy to check for changes). That combined with my bad attitude to change some stuff here, then fix a minor bug there and then start something completely unrelated leads me just saying fuck it and commiting without message.1
-
Network management from the terminal is such a pain in the ass on linux! Far too many different config files in many different places, and I have no idea which works with which!
Just now I managed to fuck something up in my RPi's config, so I don't have wifi access anymore and I didn't have time to find its ip address while connected through ethernet :/
Fuck's sake4 -
When it comes to config files for any kind of application, I tend to make sure that I understand what each config does, and that for each environment, they have the correct settings.
However some of my co-workers don't bother understanding what the configs mean and so I have people copying and pasting config details from development environments into staging and production configs. They think that just changing hostnames is more than enough.
So they ended up wasting a good 3 hours trying to figure out why sessions were always invalidating and cached objects were not caching. I had a look at the config and realised their mistake in like 3 mins. -
I'm pretty sure whoever devised the syntax for Kamailio config files was drunk around half the time they were working on it, because only half of it makes sense.
-
I ranted about my new laptop and linux mint on it https://devrant.com/rants/1919501 and I said there will be a rant about the OSs I tried
So my new laptop is the Xiaomi notebook pro, with the highest config: i7/16g/256g/mx150 gpu/alu body/10h battery/perfect keyboard/great screen. Its Chinese, but Xiaomi... you kinda expect flaws, problems, but i watched all the reviews and knew about all the things, and the price was 35% down (836 + taxes = 997EUR) for a macbook pro clone? its a no brainer.. but i had a rattling vent (fixed with shoe glue lol) now its just loud in windows but not in linux, strange
I changed the Chinese windows on it to EN... worked perfect... but... It has 2 slots for NVMe ssd so i bought a 500gb one for the second slot, I put windows on that (because games, occasional insta story video edit, big files, anyway...) and put Ubuntu on the 256gb original ssd.. (to develop on that) and it was slow as fuck, I got errors all over the places, problems I never had before with ubuntu.. and mind you Windows had over 3000 MB/s for read and almost 2000 MB/s for write speeds on that disk... I was disappointed af. MIND YOU all my life I had Ubuntu on secondary old/slow laptops/pcs working JUST FINE... I still don't know what the fuck happened.. the ui was choppy to say the least and I just was not ready to accept that on this HW while windows worked like a charm (yuck)
Then I went with Manjaro (based on arch, here on devrant people like that stuff, must be great)... well after I installed it, it booted up to the login page and black screen... something with the MX150 GPU according to the interwebs... by this time I was so frustrated and in time stress because of my flight home for xmas that I decided not to fix Manjaro but to go with another flavour
Linux Mint it is... everything kinda works out of the box, like they say... it has dark mode everywhere in the settings without downloading some bloated theme or plugin like on other flavours. So I sticked with Linux Mint. Im not saying its perfect, but I have it for like a month now and all its flaws are these small irrelevant settings not working, utilities like the battery showing funny numbers in the post I linked in the beginning.
Other than this I want to ask you guys. In all 3 distros I tried, they all had text scaling issues everywhere (os, apps, web). I think I have a regular fullHD display, its sharp, but I mean... I never expected resolution or scaling issues or things like that. On Windows I never had those scaling issues... other than the famous win10 "blurry apps"3 -
Always watch all committed files so you don't push the local config file to QA and suddenly the client have errors all over.2
-
I swear I touched some weird and complex programming shit in over a decade of programming.
I interfaced myself through C# to C++ Firmware, I wrote Rfid antennas calibration and reading software with a crappy framework called OctaneSDK (seems easy until you have to know how radio signal math and ins and outs work to configure antennas for good performance), I wrote full blown, full stack enterprise web portals and applications.with most weird ass dbs since the era of JDBC, ODBC up to managed data access and entity framework, cloud documental databases and everything.
Please, please, please, PLEASE I BEG YOU, anyone, I don't even have the enough life force to pour into this, explain me why the hell Jest is still a thing in javascript testing.
I read on the site:
"Jest is a delightful JavaScript Testing Framework with a focus on simplicity."
Using jest doesn't feel any delightful and I can't see any spark of focus and simplicity in it.
I tried to configure it in an angular project and it's a clustefuck of your worst nightmares put togheter.
The amount of errors and problems and configurations I had to put up felt like setting up a clunky version of a rube goldberg's machine.
I had to uninstall karma/jasmine, creating config files floating around, configure project files and tell trough them to jest that he has to do path transformations because he can't read his own test files by itself and can't even read file dependencies and now it has a ton of errors importing dependencies.
Sure, it's focused on simplicity.
Moreover, the test are utter trash.
Hey launch this method and verify it's been launched 1 time.
Hey check if the page title is "x"
God, I hate js with passion since years, but every shit for js I put my hands on I always hope it will rehab its reputation to me, instead every fucking time it's worse than before. -
Neovim and atom. I can't really pick one. Neovim is great for smaller config files and it's really fast. Also, I usually have terminal window open.
On the other hand, I like atom because of its looks and I prefer to use it for bigger projects. I also use it to edit js, html and css files. -
My side project has been a SPA. One part was to make it "serverless" (folder of markdown and html files for content,config.json, no database). Another part was I wanted anybody to be able to choose whatever theme/framework they wanted and easily be able to change the config file, so I looked for a templating framework... and found PugJs. I choose it solely because I liked the logo :^).
3 days later, after successfully figuring out how to use pugjs on the client side, implementing different templates, and making sure everything loaded in the right order. I tested how big the website was without any content.
Woof.
So I'm just going to use a feature that was already in Bone.io to begin with :^). (Bone.io has a router and a "view mount" feature) -
This happened while I was working for my company's client, I was analysing why the build failed and I had ctrl+c the build files(.zip) to my local webserver to see what was wrong. After sometime I was replying an official email via outlook. But somehow those copied build files (.zip) ended up in this email. I realised this only it was too late. Yes config files had clear text passwords.
-
So I recently started a new position as a Node JS dev, and on my first day I've been assigned to the DevOps team... The offer and the interview had me believe I was going to be actually writing code not config and yaml files5
-
Had to optimize today a DB File / MySQL 5.7
I'm sometimes sad that software cannot bite people in their crotches, shit in their faces and fuck their eyes out.
The config was non commented and a disaster.
Yay. Let's set thread_cache to 16K while max connections is 50.
And raise limits like max files without adjusting SystemD / ulimit
And OF COURSE MySQL sucks...
So let's migrate to PostGres.
*Brainfart*
This has happened way too often.
Really. Software should have the right to punish dumb people. At least ... 10 kv shock to teach a lesson.1 -
lol
found an old config file on my external drive for all my torrent files. awyisss. my SSD died out of nowhere last year and I thought I lost all my torrent configs! I had hundreds of TV series and stuff and I kept track which ones I watched and didn't in the client. so when the SSD died I lost all my knowledge of my progress. but I found this config file just now and imported it. omg booyah. I think I got one show since this backup. godsend
decided to export settings again and it said I can set it on a schedule. go to the scheduler tab in the settings and I have no clue what's going on. nothing about exporting settings, it just has schedule configurations that seem to conflict. then I realized. the main client maybe has a schedule tab icon. bam am right. so in settings I turn on scheduler and then the main app gives me access to the scheduler tab and if I go there I can click "add" and then I can schedule regular config backups
bruh this UI is so jank. but it actually is impressive. because. while I have experience in designing websites, when I played around with making a GUI in rust, which would be native, I have absolutely no clue how to make an app on this tech. now I'm looking at this complex torrent client with its bazillion features in absolute awe.
*takes notes*
I can only aspire to be so genius as to allow you to turn on and remove tabs in the settings menu. now it makes sense why all the windows always had awkwardly sized panels. this genius man.
however did he come up with that?! ALL THESE NEW STANDARDS
honestly somehow it never occurred to me that native apps and web apps would have totally different ergonomics. I feel like I've found some kind of lost art from the ancient world. aaaaaaa -
I'm trying to create log files with the PID or some JVM arg like app name but File appender doesn't parse ${myVar} in the config.
Issue is we have multiple instances of an app running but they can't be all writing to the same file.
I tried creating a custom Appender by pretty much copying the source code of FileAppender and then adding a function to add PID to the filename.
But when I use it, get some error saying "name, and fileName" are invalid parameters.
So wondering if anyone has experience building one that works out maybe there an existing code for such an appender?12 -
Not sure if this is somehow standard but have a new dev process we need to use to deploy a Docker image to an Openshift container.
(Is an container one node/vm or could be many?)
In the Jenkins build it seems the files are copied to in Docker image.
But they aren't copied to the container/OPENSHIFT deployment image. There's something mentioned about config map but not sure how that's related to file copy...10 -
Darn xml config file for a dll wouldn't load.
1) Searching Stackoverflow which says that only configs for exe files are loaded. Problem found and time to send bug report? Nah, better check source code first.
2) Downloading and reading the source for the dll. Nope, dll should explicitly load config file and read settings. Time to send problem report to author? Nah, better to test in greater isolation first.
3) Setting up isolated test. About to copy the LibName.dll.config.xml and WHAT? Note to self: You half witted twat, the file contents is XML, the bloody file extension isn't!
Now apply this sort of typo error to program code, and you will see why I use statically typed languages. -
I need help structuring a new TypeScript project built on a MERN stack. I used CRA for the client, so I opted to have separate tsconfig files -- one for client (auto-generated by CRA) and one for server (extends node12 tsconfig). However, I'm trying to setup eslint and prettier globally so that the lint/style rules are uniform across the codebase. CRA adds an eslint config that extends react-app, which is fine, but I'd like to still have my global rules. I have written my eslintrc.json file and am happy with it, so I placed it in the project root directory. I figured I would install eslint, prettier, etc. in the project root, then when I run eslint globally, it would lint the server code with the global rules and the client code with the global rules and the react-scripts rules.
However, react-scripts complains that I've installed a newer version of eslint in a parent directory. I can either ignore that rule or use the same version as react-scripts, but it seems like react-scripts is going to run eslint on its own when I run npm start, regardless of if I have a global config. What should I do? Is there a better way to structure the app?1 -
Bit of a stupid oopsie I had today that someone might appreciate.
We’re working on a microservice project in Spring Boot, running in a docker swarm. Past few days I get a Spring Cloud config server going in separate stack, create an overlay network, and get CI deployments to use the right profiles etc. It’s looking great, and the first component is working spectacularly.
Now just to do the other 6. Move config files to the Git repo, tweak CI, all the other faffing and hoohas; and deploy. Health checks keep failing, the containers are murdering themselves and resurrecting ad infinitum. They’re doing this so quickly that by the time I get the container ID to exec in and curl health, it’s no longer running. Cue frustration, increased caffeine and nicotine consumption; my sanity is slipping.
No errors in the logs, because from experience the Cloud Config errors ar at debug level. Whhhyyyy?? Some time later (way longer than it should have been) I realize I had never actually included the Spring Cloud Config starter. Boot 101, get your starter!
Since config client is just additional setup in properties.yml, there’s no issue of the dep isn’t there, it just doesn’t try to get the config.
The containers are still unhealthy, I can hear them screaming. But now at least it’s about something else... -
I just spent 3hours trying to determine why behat could not find context files and tried to find nonexistent one while running it on jenkins.
It turned put that config directory with behat.yml had to be in lowercases rather than starting with uppercase.
It worked on my machine though..
Funny thing is rven after that it failed as php version on jenkins did not have propper extension. Guess I’ll have to get into this docker thing1