Details
-
Aboutwebdev and programmer
-
Skillsphp, js, java, c#, python, android, html, css, sql, symfony, polymer, vue
-
Github
Joined devRant on 11/7/2016
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
-
two unread emails:
- from HR: please fill out our anonymous survey
- from Boss: don't forget about the survey, HR said you are the last one from our team11 -
When you hit the rock bottom, remember that at the very least you're better than those who use * in SQL selects bc they're too lazy to specify the fields they need.8
-
Client: I need you to fix my website
Me: Okay, can you send me your existing website files for me to fix.
Client: here is the screenshot
Me: -_-5 -
bf is starting his first job as a dev and asked me how to prepare. i had no clue what to tell him lol. any suggestions?30
-
Can we take a moment to recognize how absolutely retarded JS' event system is?
Events aren't objects. No, they're managed by an object, and identified by a string.
To subscribe to an event, you call object.addEventListener(name, callback). Because for some reason we can't just have an event object. Events MUST have an owner.
But to unsubscribe you don't call the function addEventListener returned, you don't use the token it returned either. No, you pass the same function to removeEventListener.
Because we don't use serializable tokens like in PP, and we don't return functions like in FP, no, we use functions as tokens, realising idiomatic DFP.2 -
The colleague:
- I can't work, my chair is uncomfortable
- I can't work, my chair is not ergonomic
- I can't work, my desk is too small
- I can't work, my legs are uncomfortable
- I can't work, my keyboard is not ergonomic
- I can't work on this task, John knows how to do it better
- I will only work on <this> type of tasks. I will not work on others
*gets assigned <other> task; browses the internet all day; at the EOD task isn't even touched*
- I can't work with Jack, he's too noisy
- I can't come to the office on time, there's traffic in the city
- I couldn't come yesterday, I was out of town. No, I will not log a vacation day - I was NOT on vacation. It's personal
- I can't<...>
Manager, 2 days to the end of said colleague's probation period:
- I am very sorry to tell you this, but our attitudes are not in line and we cannot continue working together. Since this is your 5th warning, we have to let you go.
The colleague:
- What?? How come?? I did NOT see this coming... You can't do this! I work here! This is where I work and you can't fire me!
*got his things from his desk and left. Never came back*
Everyone at the office:
- YAYYYY!!!! Let's have a shorter day today and let's celebrate this riddance in a pub! (manager agreed)7 -
My local government made a website where you can check whether your registration for covid vaccination has been successful because the bureaucrats keep losing people's applications.3
-
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.32 -
I've already ranted about this before, so I will summarize, but users passwords would be placed in plain text at the bottom of a webpage if you interacted with the page in a certain way. This page did not require a login, so user passwords were basically public. Gg.2
-
So I just found out that multi-line editing can copy a matrix of letters and paste it on other lines. This is amazing. Imagine being the person who thought of this feature.1
-
All fun and games until you inherit a legacy c project with 30k+ lines of code and a habit of leaking memory and segfaulting intermittently.
That's my worst nightmare at least.3 -
QA: There is a problem
Me: Ok how do I reproduce it?
QA: You do x
Me: I have done x and there isn’t a problem
QA: Oh it only happens sometimes
Me: Fair enough, I’ll try a few times
...
Me: Are you sure x is how you do it?
QA: Oh no actually it’s y
FML2 -
I forgot to eat today, but I have boiled down the devRant theme system into just a few classes... and the "window" one is redundant-ish
Now that I can dynamically theme Qt widgets, my client will be able to support custom themes, confirmed!2 -
A long time ago I started a project to make a devRant client with Python and Qt5.
I got far but got bored, or whatever. Was still in school, etc.
I have started from scratch again. Including a nogui mode. Sharing because I actually have made some pretty good progress in the past two days.
Plans: Besides the obvious fully-featured client: full support for plugins, custom themes, custom CLI commands. Multiple logins.
Considering a system that allows you to run a bot, and a bot framework (parsing arguments for you, marking notifs read, etc.)
And yes, it's called qtpy-rant (Pronounced cutie pie rant)3 -
I really want to know the thought process behind this PMA error simply saying "Failed to import file".
It's bad enough when user-facing software hides error details to seem less threatening, but PMA is literally designed exclusively to be used by technical people, who know how to handle an error message. -
Our CTO has been told, this morning by management, that our development department is "too quiet" and that it's spoiling "the atmosphere" of the office space.
So we've ordered mechanical keyboards.21 -
Since Microsoft is racist and is trying to remove the "master" term on GitHub to "fix the World" I hope they won't forget about the "master" volume in the audio settings of Windows.12