Skillssome electronics, hardware, code & stuff
Joined devRant on 4/12/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Marketing: it's not working...
Me: *fixes bug and pushes changes in less than 5 mins*
Me: Well it's working for me
Marketing: strange... it wasn't working 5 minutes ago...
I love their faces of confusion haha11
Only Legends can understand
for(int i=0; i<=5;i++)
for(int j=0; j<=i; j++)
Any hospital manager can manage ten IT departments simultaneously, any IT manager can’t even manage his own emails, let alone one department. Change my mind.
If you want to learn about bad UX design, look at every GDPR-compliant cookie alert on websites. The dialogues generally follow this pattern:
* Highlighting "Accept all" instead of "Reject" to bait you into habit-clicking.
* After clicking "Reject", you'll be redirected to an infinite list of usages. There is never a "deselect all" option. You need to opt-out everything manually.
* Sliders use some ambiguous coloring scheme without labels, which means you never know if you turned it on or off.
* Instead of "Reject", there is an "Other options" button. Clicking it redirects to a EULA document, with at the end... no other options.
Everything looks compliant, but they are still boobietrapping everything so you just wouldn't be able to opt out. Fucking data-vendoring assholes.18
this is the state of hiring tests:
1. can you take an english sentence, and without a tutorial, write a for loop?
2. okay now write a full parser. but not in the language we want to hire you in.
also we can afford to pay you in bananas, experience, and exposure.
p.s. we also need you to do this backend test because this is a backend job even though the ad is for front end and you specified an hour ago when the interview started that you only trained for front.
on the positive side, we have a ping pong table and a bean bag chair. and a two hour commute. Think of the benefits!16
I loved her from the beginning.
I devoted so much of my time to her. She told me her heart doesn't point to anyone. Yet I tried to reach her.
Everytime I ask her what's wrong, she gives me the same answer. I tried to be different. I changed things. Yet she said the same thing again today: "Segmentation fault (core dumped)"4
Windows be like: "bro is that a fucking usb drive? I don't have drivers for that"
Linux be like: "Hold on, is that a Millennium Falcon? I've got the drivers for that"10
Wanna mess with users? Take
“OK” and “Cancel”.
You know what looks visually the same but means the opposite?
“NO” and “Confirm”.
Deploy that little ui update overnight and watch the world burn.22
Really unfortunate that we all just accept people being assholes because they're good at their job. I guess it's just the way the world is but personally I don't think you get a free pass to be rude just because you're a key player.
Life is short and whatever bullshit project for whatever dumbass company you work for is ultimately not that important in the grand scheme of things. Don't let your hyperinflated ego misguide you. Be nice to people.12
In today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8
Friend bought a 3D printer.
I had friend who bought a 3D printer before and all came to me for some tips so did this one.
He got also Auto leveling probe with his printer.
And when he saw that he has like 5 choices of auto bed leveling he went nuts.
I was big fan of bilineral leveling but i have switched to Unified Bed Leveling or UBL for short and never went back.
The options you have in there are crazy. Yes it takes time to set up properly but DAMN it is worth it.
Im gonna print PETG ?
Switch to PETG leveling profile.
Switch to PLA leveling profile.
Like if you arent using UBL go change that NOW.
I helped him set it up and he was amazed at how much better the adhesion got.6
Yesterday I was in a party. We were playing the truth and dare. Than suddenly my friend had given me the dare to go home. I laugh everytime whenever I think about this.2
Who actually started the reign of mixed character passwords? because seriously it sucks to have an unnecessarily complex password! Like websites and apps requesting passwords to contain Upper/Lower case letter, numeric characters and symbols without considering the average user with low memory threshold (i.e; Me).
Let's push the complaint aside and return back to the actual reason a complex password is required.
Like we already know; Passwords are made complex so it can't be easily guessed by password crackers used by hackers and the primary reason behind adding symbols and numbers in a password is simply to create a stretch for possible outcome of guesses.
Now let's take a look into the logic behind a password cracker.
To hack a password,
1) The Password Cracker will usually lookup a dictionary of passwords (This point is very necessary for any possible outcome).
2) Attempts to login multiple times with list of passwords found (In most cases successful entries are found for passwords less than 8 chars).
3) If none was successful after the end of the dictionary, the cracker formulates each password on the dictionary to match popular standards of most website (i.e; First letter uppercase, a number at the end followed by a symbol. Thanks to those websites!)
4) If any password was successful, the cracker adds them to a new dictionary called a "pattern builder list" (This gives the cracker an upper edge on that specific platform because most websites forces a specific password pattern anyway)
would be cracked faster compared to
Because the former is short and follows a popular pattern.
In reality, password crackers don't specifically care about Upper-Lowercase-Number-Symbol bullshit! They care more about the length of the password, the pattern of the password and formerly used entries (either from keyloggers or from previously hacked passwords).
So the need for requesting a humanly complex password is totally unnecessary because it's a bot that is being dealt with not another human.
My devrant password is a short story of *how I met first girlfriend* Goodluck to a password cracker!9
So... Facebook canceled our plugin since we did not update it to newer version.
Fine.. I'm fine with that. There was no time for that since there's was some very very very fucking important projects, tasks and side requests requested by administration for customers that are actually not real customers since they don't pay or have a contract yet (or ever will!)
Administration... Wtf our plugin is not
working?! We are receiving complaints from (paying) customers!!
Me. Since you assumed the team leading and revoked my rights on leading the team we are doing shittttt work for non paying customer...
Administration... Resolve FB issue then do non paing customer work. Hum! bether otherwise.. No, otherwise. No. Do both ASAP
Me. Sure! It's Friday, I'm overtime already by 10h at lunch time,. So I'm fuck off outa here and pick up on whatever I'm keen to on Monday morning after guide the other colleagues on the crapp you dropped on them with your seagull managent!
This means I might start on Wednesday!
Testing a raspberry pi 4 as a computer driving our 4k dashboards' screen. Temperatures are constantly 80-90C.
Me: STEP ASIDE! MAKE WAY FOR A HOTFIX!
Rpi: aaahhh, 42C -- now we're talkin!8
Can't find any quiet place in my uni. And for some reason it's always a group of girls giggling. They're always there. Every fucking corner of this campus. But I do know one place they never are...
You guessed it.
The Computer Science building.11