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 - "to framework or not to framework"
-
Hi, I am a Javascript apprentice. Can you help me with my project?
- Sure! What do you need?
Oh, it’s very simple, I just want to make a static webpage that shows a clock with the real time.
- Wait, why static? Why not dynamic?
I don’t know, I guess it’ll be easier.
- Well, maybe, but that’s boring, and if that’s boring you are not going to put in time, and if you’re not going to put in time, it’s going to be harder; so it’s better to start with something harder in order to make it easier.
You know that doesn’t make sense right?
- When you learn Javascript you’ll get it.
Okay, so I want to parse this date first to make the clock be universal for all the regions.
- You’re not going to do that by yourself right? You know what they say, don’t repeat yourself!
But it’s just two lines.
- Don’t reinvent the wheel!
Literally, Javascript has a built in library for t...
- One component per file!
I’m lost.
- It happens, and you’ll get lost managing your files as well. You should use Webpack or Browserify for managing your modules.
Doesn’t Javascript include that already?
- Yes, but some people still have previous versions of ECMAScript, so it wouldn’t be compatible.
What’s ECMAScript?
- Javascript
Why is it called ECMAScript then?
- It’s called both ways. Anyways, after you install Webpack to manage your modules, you still need a module and dependency manager, such as bower, or node package manager or yarn.
What does that have to do with my page?
- So you can install AngularJS.
What’s AngularJS?
- A Javascript framework that allows you to do complex stuff easily, such as two way data binding!
Oh, that’s great, so if I modify one sentence on a part of the page, it will automatically refresh the other part of the page which is related to the first one and viceversa?
- Exactly! Except two way data binding is not recommended, since you don’t want child components to edit the parent components of your app.
Then why make two way data binding in the first place?
- It’s backed up by Google. You just don’t get it do you?
I have installed AngularJS now, but it seems I have to redefine something called a... directive?
- AngularJS is old now, you should start using Angular, aka Angular 2.
But it’s the same name... wtf! Only 3 minutes have passed since we started talking, how are they in Angular 2 already?
- You mean 3.
2.
- 3.
4?
- 5.
6?
- Exactly.
Okay, I now know Angular 6.0, and use a component based architecture using only a one way data binding, I have read and started using the Design Patterns already described to solve my problem without reinventing the wheel using libraries such as lodash and D3 for a world map visualization of my clock as well as moment to parse the dates correctly. I also used ECMAScript 6 with Babel to secure backwards compatibility.
- That’s good.
Really?
- Yes, except you didn’t concatenate your html into templates that can be under a super Javascript file which can, then, be concatenated along all your Javascript files and finally be minimized in order to reduce latency. And automate all that process using Gulp while testing every single unit of your code using Jasmine or protractor or just the Angular built in unit tester.
I did.
- But did you use TypeScript?37 -
After listening to two of our senior devs play ping pong with a new member of our team for TWO DAYS!
DevA: "Try this.."
Junior: "Didn't work"
DevB: "Try that .."
Junior: "Still not working"
I ask..
Me:"What is the problem?"
Few ums...uhs..awkward seconds of silence
Junior: "App is really slow. Takes several seconds to launch and searching either crashes or takes a really long time."
DevA: "We've isolated the issue with Entity Framework. That application was written back when we used VS2010. Since that application isn't used very often, no one has had to update it since."
DevB: "Weird part is the app takes up over 3 gigs of ram. Its obviously a caching issue. We might have to open up a ticket with Microsoft."
Me: "Or remove EF and use ADO."
DevB: "That would be way too much work. The app is supposed to be fully deprecated and replaced this year."
Me: "Three of you for the past two days seems like a lot of work. If EF is the problem, you remove EF."
DevA: "The solution is way too complicated for that. There are 5 projects and 3 of those have circular dependencies. Its a mess."
DevB: "No fracking kidding...if it were written correctly the first time. There aren't even any fracking tests."
Me:"Pretty sure there are only two tables involved, maybe 3 stored procedures. A simple CRUD app like this should be fairly straight forward."
DevB: "Can't re-write the application, company won't allow it. A redesign of this magnitute could take months. If we can't fix the LINQ query, we'll going to have the DBAs change the structures to make the application faster. I don't see any other way."
Holy frack...he didn't just say that.
Over my lunch hour, I strip down the WPF application to the basics (too much to write about, but the included projects only had one or two files), and created an integration test for refactoring the data access to use ADO. After all the tests and EF removed, the app starts up instantly and searches are also instant. Didn't click through all the UI, but the basics worked.
Sat with Junior, pointed out my changes (the 'why' behind the 'what') ...and he how he could write unit tests around the ViewModel behavior in the UI (and making any changes to the data access as needed).
Today's standup:
Junior: "Employee app is fixed. Had some help removing Entity Framework and how it starts up fast and and searches are instant. Going to write unit tests today to verify the UI behaivor. I'll be able to deploy the application tomorrow."
DevA: "What?! No way! You did all that yesterday?"
Me: "I removed the Entity Framework over my lunch hour. Like I said, its basic CRUD and mostly in stored procedures. All the data points are covered by integration tests, but didn't have time for the unit tests. It's likely I broke some UI behavior, but the unit tests should catch those."
DevB: "I was going to do that today. I knew taking out Entity Framework wouldn't be a big deal."
Holy fracking frack. You fracking lying SOB. Deeeep breath...ahhh...thanks devRant. Flame thrower event diverted.13 -
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 -
FUCK WORDPRESS TO DEATH!
Seriously, I have a degree in computer science and I can't for the fucking lfie of it understand the fucking architecture of fucking WORDPRESS!
How many fucking times when developing fucking shitty wordpress sites for clients you spent 66% of the time debugging some stupid fucki9ng shit related to the retarded monolithic fucking stupid architecture of this huge retarded abomination which should be killed in a fire with dragonfire.
How many fucking times while using trellis sage bedrock mother fucking super uber framework bubblegum you find yourself struggling with the fgucking broweser shit sync or some other fucking stupid bubblegum fix shit to make wordpress even remotely a decent experience to work with?
Even when buffed with a fucking shitton of boilerplate shit code from people who want developers to not fucking kill themselves while working on this fucking piece of shit framework the developing experience with wordshit makes me want to blow my fucking brains out with a desert eagle.
I seriously can't fucking stress how fucking shit this whole framework is and I seriously hope people stop using it for good. Wordpress was made by a bunch of fucking retarded monkeys who barely knew how to write afucking hello world.
This is the last fuckign time Im ever going to accept a wordpress project from my clients this fucking framework has driven me mad for fu cking years and i've finally had it with thsi fucking piece of shit framework and i fucking hope it gets buried 1000 km down and never dug up ever fuckign again.
Wordpress is the single most fucking horrid abomination that has ever been created in the fucking history of the tech industry.67 -
LONG RANT AHEAD!
In my workplace (dev company) I am the only dev using Linux on my workstation. I joined project XX, a senior dev onboarded me. Downloaded the code, built the source, launched the app,.. BAM - an exception in catalina.out. ORM framework failed to map something.
mvn clean && mvn install
same thing happens again. I address this incident to sr dev and response is "well.... it works on my machine and has worked for all other devs. It must be your environment issue. Prolly linux is to blame?" So I spend another hour trying to dig up the bug. Narrowed it down to a single datamodel with ORM mapping annotation looking somewhat off. Fixed it.
mvn clean && mvn install
the app now works perfectly. Apparently this bug has been in the codebase for years and Windows used to mask it somehow w/o throwing an exception. God knows what undefined behaviour was happening in the background...
Months fly by and I'm invited to join another project. Sounds really cool! I get accesses, checkout the code, build it (after crossing the hell of VPNs on Linux). Run component 1/4 -- all goocy. run component 2,3/4 -- looks perfect. Run component 4/4 -- BAM: LinkageError. Turns out there is something wrong with OSGi dependencies as ClassLoader attempts to load the same class twice, from 2 different sources. Coworkers with Windows and MACs have never seen this kind of exception and lead dev replies with "I think you should use a normal environment for work rather than playing with your Linux". Wtf... It's java. Every env is "normal env" for JVM! I do some digging. One day passes by.. second one.. third.. the weekend.. The next Friday comes and I still haven't succeeded to launch component #4. Eventually I give up (since I cannot charge a client for a week I spent trying to set up my env) and walk away from that project. Ever since this LinkageError was always in my mind, for some reason I could not let it go. It was driving me CRAZY! So half a year passes by and one of the project devs gets a new MB pro. 2 days later I get a PM: "umm.. were you the one who used to get LinkageError while starting component #4 up?". You guys have NO IDEA how happy his message made me. I mean... I was frickin HIGH: all smiling, singing, even dancing behind my desk!! Apparently the guy had the same problem I did. Except he was familiar with the project quite well. It took 3 more days for him to figure out what was wrong and fix it. And it indeed was an error in the project -- not my "abnormal Linux env"! And again for some hell knows what reason Windows was masking a mistake in the codebase and not popping an error where it must have popped. Linux on the other hand found the error and crashed the app immediatelly so the product would not be shipped with God knows what bugs...
I do not mean to bring up a flame war or smth, but It's obvious I've kind of saved 2 projects from "undefined magical behaviour" by just using Linux. I guess what I really wanted to say is that no matter how good dev you are, whether you are a sr, lead or chief dev, if your coworker (let it be another sr or a jr dev) says he gets an error and YOU cannot figure out what the heck is wrong, you should not blame the dev or an environment w/o knowing it for a fact. If something is not working - figure out the WHATs and WHYs first. Analyze, compare data to other envs,... Not only you will help a new guy to join your team but also you'll learn something new. And in some cases something crucial, e.g. a serious messup in the codebase.11 -
The windows/microsoft fanboy I've ranted about multiple times.
- wouldn't use anything except for windows. Even if required for a project (I would if really needed, have done that a few times already)
- refused to use any framework/language not written by Microsoft
- tried to get other projects to use windows/.net when it wasn't required and it was only linux/php guys (and that fit the projects perfectly)
- ONLY wanted to use Skype and whatsapp. Always bragged about how he had 10gb of Skype history.
- didn't want to use anything related to linus torvalds or open source because 'those are open source and have no business model so they're bad'
And then: he suggested the use of windows server right after one was hacked (windows vuln that wasn't patched yet) which caused the devops guys to want to install a new Linux server for it.
Even the windows sysadmin pointed to the door when he said that and gave him a huge 'GTFO' face cD
Yeah, fuck him.9 -
I don't discriminate fellow devs. i don't care if you write Java or PhP, I don't care what OS you use to code, I don't care if all your software are free or not, I don't care what framework you use, I don't care about all this. The important part is being a dev. But, those bastards using light theme can go fuck themselves. 🤣10
-
OH MY GOD, MY TEACHER DOES NOT TEACH MY FAVORITE LANGUAGE!
I've seen a lot of rants about teachers who use an outdated language, or don't accept the preferred framework or library of the ranter, or even force students to use a technology or even worse an OS they don't prefer.
Whats with that attitude?
I absolutely encourage young people to learn technology in their free time and it absolutely helps at building a career and become good at programming. I don't think being around 18 and never having worked in a real job is the time to select "the most superior language and technology".
Actually, that time is never.
Technology is evolving all the time and different tech evolves in different paths for different purposes. Get rid of the idea, that there is a "best" and get rid of the idea, that you will always be able to work with what you think is best.
If you're really really really awesome, you can chose to do what you like most. Not awesome as in "i learned programming in my free time, now i'm better than my programming-for-beginners-course teacher" but awesome as in "start my own company and can afford to only take the jobs i feel like doing", that awesome. Most likely, you're not (yet).
In the real world, you will very likely sometimes be required to work with technology you don't prefer. Maybe with something you think is really bad. Probably, it's not that bad. More likely, you read it on the internet from someone whose self-image is based on on loving TechA and hating TechB. A lot of much hated technology is at least okay for it's intended use. Maybe not the most pleasant time you will ever have, but no reason to jump out of the window. Hey, and if you get used to it, you may even start to like it. At least, learn to retain some dignity when confronted with things you don't like.
You can still think that one thing is better than another, but if you make a huge drama out of it, you just make it harder for yourself. The best programmer is the one who get's shit done, not the one with the saltiest tears.14 -
I guess that is what you get for bringing up security issues on someones website.
Not like I could read, edit or delete customer or company data...
I mean what the shit... all I did was try to help and gives me THIS? I even offered to help... maybe he got angry cause I kind of threw it in his face that the whole fucking system is shit and that you can create admin accounts with ease. No it's not a framework or anything, just one big php file with GET parameters as distinction which function he should use. One fucking file where everything goes into.21 -
Okay i'm done - YOU FUCKING ANDROID STUDIO MORONS. Being at a high level in C++, I tried to do some android coding. THERE ARE FUCKING NO GOOD TUTORIALS, NO GOOD DOCS, HECK, THE SELF GENERATED CODE OF THE IDE IS WRONG: WHAT THE FUCK IS GOING ON YOU FUCKING MORONS?
oh wait, let me first import android.widgets.rant;
or was it android.widgets.devrant.rant; or was it android.dr.rant.RantManager;?
Oh wait, I know lets search the docs?
OH WAIT THE DOCUMENTATION DOESNT HAVE THAT.
NOW HOW ABOUT I JUST TRY THE EXAMPLE CODE? WELL UH-UH! YOU HAVE TO FIND OUT YOURSELF WHAT TO IMPORT IN ORDER FOR IT TO WORK. ALSO, WHAT FUCKING UP WITH THAT PERMISSION SYSTEM? ITS SO BADLY DOCUMENTED!!!
Oh wait, I'm sure that I have to change something in this file... or was it that other file?
GOD
how dare they have style and design guidelines?
MORONS!
I will resort to implement my app idea in godot, idc anymore... I don't want to burn out because I used the "official high standard" tech.
it definitely isn't high standard and definitely not good. Thank you morons@google
THANK YOU FOR NOTHING
A FRAMEWORK WHERE I NEED 2 DAYS TO FIGURE OUT TO ADD EVENT LISTENERS TO MY THINGS IS DEFINITELY NOT ONE I'D LIKE TO USE.
also, whats up with
AudioRecord (int audioSource, int samplerateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes);
ARE WE BACK IN THE C ERA? CAN'T YOU BE BOTHERED TO IMPLEMENT SOME SIMPLE FUCKING ENUMS????
WHATS THE POINT OF AN OOP LANGUAGE IF YOU ARE GOING TO USE IT LIKE C?
Oh wait I found a tutorial ... First trigger: "java scripts". Second trigger: this guy LITTERALLY ONLY TEACHES YOU HOW TO PLACE WIDGETS ON THE CANVAS. THANKS FOR NOTHING SHERLOCK!
Oh btw: did you know that android studio gives the best error messages?
"Error: illegal start of expression"
NO ERROR MESSAGE - NOTHING!
YOU BETTER USE THE IDE OR YOU GO HOME YOU FUCKER!!!
Oh and btw: if you want to read the best documentation - the code itself YOU GOTTA AGREE TO OR TERMS OF SERVICE!!!! WE DONT WANT ANYBODY TO BECOME SUCCESSFUL WITHOUT US KNOWING!!!!!
THANK YOU GOOGLE FOR NOTHING!
YOU FUCKERS!
thanks godot for *atleast* existing. You are the... last pick i'd pick, but :shrug:, I have experienced android studio now.
If anybody has any advice on what to use instead, please go ahead. And you better not tell me how good you are at android studio. I DONT CARE ABOUT WHAT YOU CAN IMPLEMENT IN ANDROID STUDIO. I JUST WANT SOMETHING THAT IS USABLE WITHOUT HAVING TO BE EXTRA CAREFUL WHEN DOING *ANYTHING*!!!!
fuckers.48 -
Laravel is the worst framework ever.
Everything has to be made convenient and easy. That sounds amazing, because developers want to save time, worry less about boilerplate code, right? No more constructors, no more dependency injection, fuck all the tedious OOP shit... RIGHT?
It does one thing well: Make PHP syntax uniform and concise through easily integrated libraries such as Collection and Carbon. But those are actually not really part of the framework... just commonly integrated and associated with Laravel.
The framework itself is completely derailed: You can define code in a callback in the routes file. You can define a controller in the routes file. You can define middleware as a parameter to the route, as a fluent method to the route, you can stack them up in a service provider. Validators can be made in controllers, Request objects, service providers, etc. You can send mail inline, through Mailable objects, through Notification objects, etc.
Everything is macroable, injectable, and definable in a million different places. Ultimate freedom!
Guess what happens when you give 50 developers of various seniority a swiss army knife?
One hammers in a screw with a nail file, the other clips the head from the screw using scissors, and you end up with an unworkable mess and blunt tools.
And don't get me started about Eloquent, the Active Record ORM. It's cute for the simple blog/article/author/comment queries, but starts choking when you want more selective and performant queries or more complex aggregates, and provides such an opaque apple-esque interface which lets people think everything is OK, when in reality it's forcing the SQL server to slowly commit suicide.50 -
Today my manager asked me about my research into using RabbitMQ as a backup in case Azure Service Bus ever goes down.
Me: "Good. The way we designed the framework, all we have to do is drop the DLLs into the directory, update the config, and the services will start using RabbitMQ."
Mgr: "Excellent. Probably should be looking into using RabbitMQ as a permanent replacement for Azure"
Me: "What? The whole reason we moved to Azure was to eliminate the problems with having an on prem service bus. Since we've switched, there has been zero downtime."
Mgr: "That's what VP-Joe is afraid of. If Azure ever goes down, he won't know how to explain Azure to the president as to why we're not taking orders or can't ship packages."
Me: "That makes no sense. What did VP-Joe tell the president when a database goes down or a server mis-configuration?"
Mgr: "President understands internal outages, its just the whole 'cloud' thing he doesn't understand."
Me: "Um..then VP-Joe needs to explain it to him?"
Mgr: "The decision has already been made. Are you on board? Lets look at this move as a cost savings."
Me: "You mean the $10 a month? How much hardware will we need to support RabbitMQ?"
Mgr: "Yea, nobody probably thought of that."
Me: "I'm on board with whatever decision, but I'd like a little more than VP-Joe being afraid of the president."
Mgr: "I'm sure its not being afraid."
Me: "..."
Mgr: "OK, lets wait and see if VP-Joe forgets about this and moves on to something new."4 -
Getting annoyed by the framework made by school which we had to use. We werent allowed to use Laravel or other frameworks.
What did I do with a classmate, we expanded on the schools framework. Added a templating engine, improved routing, made a query builder and a few other things before startimg the real project. 4 weeks of building the framework to build the application in a day.
Where others were still using the schools framework were strugglimg and not able to make it.2 -
Never gonna happen:
* Port our API to graphql. Or even make it just vaguely rest-compliant. Or even just vaguely consistent.
* Migrate from mysql to postgres. Or any sane database.
* Switch codebase from PHP to... well, anything else.
* Teach coworkers to not commit passwords, API keys, etc.
* Teach coworkers to write serious commit messages instead of emoji spam
* Get a silent work environment.
* Get my office to serve better snacks than fermented quinoa spinach bars and raw goat milk kale smoothies
* Find an open source IDE with good framework magic support. Jetbrains, I'll give you my left testicle if you join the light side of the force.
* Buy 2x3 equally sized displays. I'm using 6, but they're various sizes/resolutions.
* Master Rust.
* Finish building my house. I completely replaced the roof, but still have to dig out a cellar (to hide my dead coworkers).
* Repair/replace the foundation of my house (I think Rust is easier)
* Get slim and muscular.
Realistically:
* Get a comfortable salary increase, focus more on platform infrastructure, data design, coaching
* Get fat(ter). Eating, sitting, gaming, coding and sleeping are my hobbies after all.
* Save up for the inevitable mental breakdown-induced retirement.13 -
I feel the need to take a different approach to this week's rant. I think someone needs to defend teachers, for a number of reasons. Obviously this is probably out of place on devRant but it is a kind of rant against those who think they know everything and have nothing to learn.
1) Teachers are not industry specialists. They do not spend their lives keeping on top of the latest framework or project management methodology or code management tool. They are educators and that brings its own set of out of hours challenges and training exercises.
2) They have a course to teach and have probably used the same one for quite some time. Years probably. They (should) teach the fundamentals of programming not a particular language or syntax or quirk. Those fundamentals don't really change. Logic, problem solving, precision, structures, etc.
3) They need to provide a course which will cater for different skill levels. There are always class members who are bored because it's too easy and others who struggle in any subject.
4) Teaching is like any profession - there are really, really good ones, OK ones and there are shit ones.
5) They have probably never developed a detailed project or solution in their lives. They don't know the pitfalls and challenges that teams face in this kind of environment. Should they - maybe. But the probably don't.
I think that's all... I'm not a teacher (although I did fancy the idea at a time) but just feel they get a rough ride sometimes (particularly on here).4 -
Public service announcement: Do not get married to your language, tools, or way of doing things. If there's an easier solution to something, try it before dismissing it. No language is perfect, and dumping everything on the responsibility of an API or framework can cause more headache then solve it.
Case in point: I love Java for backend programming, but node.js is a better solution to frontend programming then depending on JSP's and HTML within the same Java project. Less things go wrong and it's easier to debug issues.
There is no best programming language. Only best practices and using the right tool for the right job.
#exceptC++fuckthatlanguage
:^)15 -
My friend loves Dreamweaver... And continuously says that he doesn't understand what people see in it that is so wrong... It does the job right?...... Fucking blind...
Uses a bootstrap plugin which generates HTML code for bootstrap.
I did not know this at the time.
Comes to me the night before submission.
He: Dude i need help quick! I've got the presentation tomorrow morning and bootstrap fucked up the links to my style sheets or something, my page is broken and won't work. I should have done what you did and gone for Foundation...
Me: Yeah, because the bootstrap framework definitely affects the style links...
He: help me out man, please! I can't do this anymore!
I had my submission the day after him to prepare still...
Me: Teamviewer. Now.
Log on to Teamviewer.
See what he's using to code...
Dreamweaver..... Niiiiice....
I go through the code. There are empty divs with &nbsc; in them everywhere.. some HTML elements haven't been closed, no comments, indentation seems to be completely random. All the usual shit storm of a novice web designer.
The only thing is, this guy I know knows how to indent, I've seen his previous work. Why is this so horrible then???
I ask what the hell happened, it looked like a nuclear explosion happened!
He: Yeah I'm using this great plugin for Dreamweaver which lets me click and it puts in Bootstrap elements! It's great!
........ You're blaming the bootstrap framework for affecting your links to your stylesheets, you're using an elements generator, you're not checking what the FUCK it puts into your code, not fixing the indenting, not checking the standard HTML rules are followed AND YOU WONDER WHY IT'S BROKEN???
Kill me now.4 -
Hello there, just couple of words about PHP. I've been develop on PHP more than 10 years, I've seen it all 3,4,5,{6},7. Yes PHP was not good in terms of engineering and patterns, but it was simple, it was the most simple language for web to start those days. It was simple as you put code into file, upload it via FTP and it works. No java servlets, no unix consoles, no nothing, just shared hosting account was enough to host site, or even application with database. As database everybody used to have mysql, again because its simple to start and easy to maintain. So PHP+MySQL became industry standard on Web during 00-2012, and continues in some way.
You can write HTML and logic inside single file, within php code, even more single file may content few pages, or even kind of framework. That simplicity and agility sticks everybody who wants to develop sites with PHP.
This is pretty much about why it is so popular.
Each good or wannabe PHP developer in an early days write its own framework or library (like in javascript this days because of nodejs)
Imagine that PHP has hadn't have package manager, developers used to have host packages on their own sites, then various packages catalog sites created, and then finally composer. A gazillions of php code had spread over internet, without any kind of dependency control. To include libraries to your projects you have to just write include, or require. Some developers do it better than others.
So what we have ? A lots of code, no repositories, zip archives with libraries, no dependency control.
Project that uses that kind of code are still alive even today, they are solid hose of cards, and unmaintainable of course.
And main question that I'm trying to answer is Why PHP is not good ?
- First is amount of legacy code which people copy and pasted into their project, spread it even more like a virus.
- Lack of industry standards at the beginning lead to a lots of bad practices among developers. PHP code usually smells.
open source php projects in early days was developed in same conditions so even in phpbb, phpnuke, wordpress, drupal used to have a lot of bad practices in their codebase. So php developers usually not study by another library, instead they write their own frameworks/libraries.
- "It works", - there are no strong business demands, on web development, again because lack of standards, and concerns.
This three things are basically same, they linked to each other and summarize of answer of why PHP have strong smells and everybody yelling against it.
Whats is with PHP nowadays ? Of course PHP today is more influenced by good practice of webdev. Composer, Zend, Laravel, Yii, Symphony and language it self became more adult so to say, but developers...
People who never tried anything except PHP are usually weaker in programming and ecosystem knowledge than people who tried something else, python, perl, ruby, c for instance.
Summary
PHP as any other programming language is a tool. Each tool has its own task. Consider this and your task requirements and PHP can be just good enough solution.
"PHP is shit" - usually you heard that from people who never write strong applications on PHP and haven't used any good tools like Symphony or Laravel.
Cheap developers, - the bigger community, the more chance to hire cheap developers, and more chance to get bad code. That can be applied on any other language.
PHP has professionals developers, usually they have not only php on scope.
That's all folks, this is very brief, I am not covering php usage early days in details, but this is good enough to understand the point.
Enjoy.8 -
Normally I just read rants but my new assignments is just to much and I have to vent a bit.
So I was assigned on a new company to help them with their automated tests (I'm normally a developer) which was fine for me. Especially when they said a guy that have 10+ years of experience have worked on the framework for a couple of weeks so it should be fine and ready. So I though it would be a quick deal.
But then I got there and... it's the worst C# code I have ever seen. I can live with the overuse of static, long method and classes and overally messy classes that doesn't really seems to fit (it's bad but not unusual in test code it seems). My biggest problem is overuse of the damn "dynamic" keyword.
Don't get me wrong, dynamic can be good and it have it's uses but here they use "dynamic args" in every single method, every one! They don't care if the method only require one value or ten values, they use dynamic args. Then you follow this "dynamic args" parameter going in to sub method after sub method and you have no idea what they use.
And of course they don't know if anyone use the methods correctly (as you have no damn clue what to use without checking the source code) so in 75% of the methods they convert the dynamic to an object and check if it contains "correct argument".
So what I have here is a code that isn't just hard to use, it's a hell to maintain.
So I talked with this with other testers on the team and they agree, but as most of them lack experience they couldn't talk back to the senior that wrote it. So I hope to sit down with him this week and talk this through because it would be fun to hear the arguments for this mess.
/rant10 -
Still trying to get good.
The requirements are forever shifting, and so do the applied paradigms.
I think the first layer is learning about each paradigm.
You learn 5-10 languages/technologies, get a feeling for procedural/functional/OOP programming. You mess around with some electronics engineering, write a bit of assembly. You write an ugly GTK program, an Android todo app, check how OpenGL works. You learn about relational models, about graph databases, time series storage and key value caches. You learn about networking and protocols. You void the warranty of all the devices in your house at some point. You develop preferences for languages and systems. For certain periods of time, you even become an insufferable fanboy who claims that all databases should be replaced by MongoDB, or all applications should be written in C# -- no exceptions in your mind are possible, because you found the Perfect Thing. Temporarily.
Eventually, you get to the second layer: Instead of being a champion for a single cause, you start to see patterns of applicability.
You might have grown to prefer serverless microservice architectures driven by pub/sub event busses, but realize that some MVC framework is probably more suitable for a 5-employee company. You realize that development is not just about picking the best language and best architecture -- It's about pros and cons for every situation. You start to value consistency over hard rules. You realize that even respected books about computer science can sometimes contain lies -- or represent solutions which are only applicable to "spherical cows in a vacuum".
Then you get to the third layer: Which is about orchestrating migrations between paradigms without creating a bigger mess.
Your company started with a tiny MVC webshop written in PHP. There are now 300 employees and a few million lines of code, the framework more often gets in the way than it helps, the database is terribly strained. Big rewrite? Gradual refactor? Introduce new languages within the company or stick with what people know? Educate people about paradigms which might be more suitable, but which will feel unfamiliar? What leads to a better product, someone who is experienced with PHP, or someone just learning to use Typescript?
All that theoretical knowledge about superior paradigms won't help you now -- No clean slates! You have to build a skyscraper city to replace a swamp village while keeping the economy running, together with builders who have no clue what concrete even looks like. You might think "I'll throw my superior engineering against this, no harm done if it doesn't stick", but 9 out of 10 times that will just end in a mix of concrete rubble, corpses and mud.
I think I'm somewhere between 2 and 3.
I think I have most of the important knowledge about a wide array of languages, technologies and architectures.
I think I know how to come to a conclusion about what to use in which scenario -- most of the time.
But dealing with a giant legacy mess, transforming things into something better, without creating an ugly amalgamation of old and new systems blended together into an even bigger abomination? Nah, I don't think I'm fully there yet.8 -
*Opens some Computerphile video on YouTube in Chrome Canary*
CPU > hey ho dude, wait a minute..! I can't process all of this in realtime!!! >_<
Alright.. I think I've still got a copy of all their videos sitting somewhere in the file server.. perhaps I could use that instead.
*Opens said video from the file server in SMPlayer*
CPU > aah, thanks man. Now I can allocate 15-ish % of my resources to that and give you a good watching experience.
Web browsers are really great for being the most general-purpose document viewers, application execution environments (remote code execution engines as someone here called it), and overall be one of the most versatile programs on any PC's standard software suite.
But that comes at a price.. performance. And definitely when it comes to featureful fucking WordPress shitsites (shites?), bloated YouTube, Google, Facebook, and all that fucking garbage.. I fucking hate web browsers and this "Web 2.0" that people keep on talking about. Your boatload of JavaScript frameworks just to ease your own fucking development has a real impact when it happens on dozens of tabs, you know.
Besides, can't those framework creators just make it into a "compiler" * of sorts? So that front-end devs can flail their dicks in an shit-infested environment full of libraries and frameworks all they want, but the framework can convert it into plain JS code that the web server can then serve. Or better yet, the JavaScript standard could be improved to actually be usable on its own!
Look, I'm not a front-end dev. Heck, I'm not even a dev to begin with. But what I do know is that efficiency matters, especially at large scale. Web browsers being so overgeneralized and web devs adding a boatload of fucking libraries or frameworks or whatever, it adds up, both to the CPU's and my own temper.
(*) Quote marks because source code to source code isn't really compiling, but then uglified JS looks worse than machine code anyway so meh :/6 -
From my last job interview (which I got hired btw)
Lead developer: "so we see quite a lot of frameworks that you listed for php, Laravel,cakephp, codeigniter, we really like the idea of them but have not had the opportunity to use them since as you might know by know our pages run over basic and small scripts, you also listed some cool front end frameworks, react looks amazing and I do have somr experience. Tell me, if given the choice, which framework would you use for php?"
Me: Really depends on the project, but the ones that you have described previously seem that they would not really benefit from them, we should not use them if they are overkill or will not expand to anything else on the future"
Him: "But given the choice?"
Me: my own framework, completed it a couple of days ago, it has its own routing system and everything made by yours truly, used it before on some projects in which the developers work with it with no need to ask me about stuff, the documentation is sound and the code rather simple. Php is and can really be all you need depending on what we are talking about."
Him: **stands up, moves closer to me and fist bumps**
"All right now moving on, i was wondering abouy redux, what are the benefits of..."
Walked out of there like a boss, it got interesting when we started talking about Lisp, apparently they are interested in putting some Clojure to test in small things since they want to learn new things and apply them. Yup, this gon b good!!4 -
I honestly don't understand why some developers like to shit on other's preferences.
Don't like PHP? Fine, but don't give shit to somebody else for liking it or coding in it.
Not a fan of Javascript? That's cool, but do realize that there are people who enjoy coding with it and don't appreciate you talking shit about their preferences.
Don't like a certain framework? That's okay, but again, there are people who code with it so don't tell them that they shouldn't.35 -
Indian web dev companies suck ( for developers )
when I finished 3 year grad program in computer application here in my country (India), I thought life's gonna be fun working as a developer. Oh boy, I was so wrong.
I started out working for a small service based IT company, followed by 2 more. I realized really quickly that they're nothing short of a scam. If your company's only agenda to somehow survive in the market and showing no signs of growth in 8 fucking years, then I'm sorry you're working for scamsters.
Now I'm not saying that all of them are alike. But most of them sorta are.
They don't give a shit about quality, not one bit. Quality means no money in the short run. And they haven't been able to develop any strategy to deal with that. Hence, no growth.
They promise 100 things on their website but only provide shitty services in 10.
There is no pair programming, no code review, no code quality check, no architect, no database designer. They won't give you extra time to write test cases. They use git as a storage device.
They don't put their developers (especially the ones who are learning) under any sort of managed development framework to ensure smooth work.
At the end of the day, their main objective is to somehow NOT deliver a project but finish a milestone and make money out of it.
After cashing out for a milestone, they want you to put your current project on hold and start working on a new project until you have like 10-15 projects in the pipeline and you're severely overwhelmed and you just wanna fucking QUIT.
They would say YES to literally every fucking thing, only to disappoint the client later.
I can't believe someone in the US, or UK thought it'd be a good idea to approach these companies
for their brand new app ideas. They're so fucked.
They're rarely finishing any project.
I'm sorry if I hurt your feelings. I had to get it out of my system.11 -
You guys made my whole day for the first time since I joined. (yes all of you!)
1) I had a 'fight' with a guy I'm making a startup with. Had to explain some of the story of my life, just to clarify that I'm not evil or generally unwilling to understand - regarding me, having the need to keep using practices
2) I've found that a whole niche-community of people seems to ignore the rest of the community and won't tag along. Having spent several months to be able to help, and receiving shit or absolutely nothing, for finally trying
3) Was in a bad mood the moment I woke up, because I fought with my girlfriend last night because she fails to communicate simple things and won't realise it.
Sorry for the bad punctuation, I tried and smartphones aren't a nice way to edit such things.
So my rant is basically a thank you! Not a rant.. But still, I think you people are the best for being so relatable and making me laugh, and feel like there's more of 'my kind'.
I also just fixed a bug in my app by (finally!) asking the framework maintainer what's up, and got a response which made no sense in a logical manner.. That's a rant for another day, I'll aggregate all the 0 fucks given, when I'm finally able to leave this thing behind, and give you a proper curse-filled shit stack of the nonsense I'm experiencing!
The bug would still live if I weren't so energized by devRant
EDIT: '!' != ','1 -
Dear external developer dumbass from hell.
We bought your company under the assumption you had a borderline functioning product and/or dev team. Ideally both
For future reference expect "file path" arguments can contain backslashes and perhaps even the '.' character. It ain't that hard. Maybe try using the damn built in path parsing capabilities every halfway decent programming environment has had since before you figured out how to smash your head against the keyboard hard enough for your shitty excuse of a compiler stops arguing and gives in.
I am fixing your shit by completely removing it with one line of code calling the framework and you better not reject this.
This is not a pull request ITS A GOD DAMN PULL COMMAND.
- Is what i would _like_ to say right now... you know if i wouldn't be promptly fired for doing so :p
How's you guys friday going?8 -
You know what does my fucking head in?
Designers or developers who shit on Twitter bootstrap because of something to do with how it looks.
Bootstrap is a framework. Not a theme.
If I can look at your site and tell, just by looking, that you’ve used bootstrap, then you’re a lazy developer / designer.
A site / app should look like how it was designed by the designer (even if that’s you). It SHOULDN’T look like the default version of the css framework you’ve used.6 -
➡️You Are Not A Software Developer⬅️
When I became a developer, I thought that my job is to write software. When my customer had a problem, I was ready to write software that solves that problem. I was taught to write software.
But what customers need is not software. They need a solution to their problem. Your job is to find the most cost-effective solution, what software often is not.
According to the universal law of software development, more code leads to more bugs:
e = mc²
Or
errors = (more code)²
The number of bugs grows with the amount of code. You have to prioritize, reproduce and fix bugs.
The more code you write, the more your team and the team after it has to maintain. Even if you split the system into micro services, the complexity remains.
Writing well-tested, clean code takes a lot of time. When you’re writing code, other important work is idle. The work that prevents your company from becoming rich.
A for-profit company wants to make money and reduce expenses. Then the company hires you to solve problems that prevent it from becoming rich. Confused by your job title, you take their money and turn it into expensive software.
But business has nothing to do about software. Even software business is not about software. Business is about making money.
Your job is to understand how the company is making money, help make more money and reduce expenses. Once you know that, you will become the most valuable asset in the company.
Stop viewing yourself as a software developer. You are a money maker.
Think about how to save and make money for your customers.
Find the most annoying problem and fix it:
▶️Is adding a new feature too costly? Solve the problem manually.
▶️Is testing slow? Become a tester.
▶️Is hiring not going well? Speak at a meetup and advertise your company.
▶️Is your team not productive enough? Bring them coffee.
Your job title doesn’t matter. Ego doesn’t matter either.
Titles and roles are distracting us from what matters to our customers – money.💸
You are a money maker. Thinking as a money maker can help choose the next skill for development. For example:
Serverless: pay only for resources you consume, spend less time on capacity planning = 💰
Machine Learning: get rid of manual decision-making = 💰
TDD: shorter feedback cycle, fewer bugs = 💰
Soft Skills: inspire teammates, so they are more productive and happy = 💰
If you don’t know what to learn next — answer a simple question:
What skills can help my company make more money and reduce expenses?
Very unlikely it’s another web framework written in JavaScript.
Article by Eduards Sizovs
Sizovs.net17 -
CTO hired mid-level full-stack developer for really complex product we’re building.
Here’s the funny part - he has 2 YEO building on top of freelance dev. code base’s on wordpress… Just fucking yesterday he told me, that Angular 10 framework is simillar to Jquery. Fucking dipshit, his code is so fucking bad it looks like italian sausage made out of spaghetti.
Not sure if I hate him more than ours truly cheapest CTO or him for being ridiculously incompetent and arrogant young asshole.
I’m in charge of him.
Help me.10 -
I had a coworker that was an Air Force pilot (99% certain he was telling the truth as I was working for a government contractor and he had security clearance so I'd be a little surprised if he fooled HR and our whole team). Thing is... He genuinely believed the earth is flat. Whenever anybody would ask "haven't you seen the curvature of the earth? Like... More than once?" He'd respond with "yes I have, what's your point?". Uh.... Okay.
Didn't help that he also was convinced cpp is the only language you ever need for any project. Like, "what if instead of building a web API and two separate native mobile app frontends (Swift/Java)... We instead build our own proprietary C++ framework that somehow runs on IOS and Android and we can also use it for our Backend instead of .Net?"
I'm not saying I love Java or Swift or that at some point I haven't thought about why we can't just use cpp in both, but you're supposed to grow out of that kind of thinking. I think every noobie or college students thinks "oh there's got to be a way". But at some point in your career you realize even if you could, it wouldn't be any easier to use and the performance gain would crazy small compared to amount of effort and you'd be playing catch up with both IOS/Android forever.
But no matter how many times we'd shoot it down, he'd keep bringing it up. And he wasn't straight out of school or something. He had like 20 years of programming experience.
I don't have a lot of memorable co-workers that were positive but honestly I think that's because usually if they're good at what they do I don't have to interact with them a bunch or spend time thinking "Jesus what am I going to have to fix next from this guy". I definitely have worked with good/great programmers, they just don't stand out as much as the shitty ones.1 -
John: You know, I don't appreciate it when I run the application and it crashes on me. Especially when you say it's working. If you say you've debugged it and got it working, I shouldn't be able to break it in the first 2 minutes.
--------------------------
me: You know John, with all due respect, there are two ways that this can go. Either we can actually work on this project as a team and get something done, or I can leave and have you flounder on your own trying to complete the rest of this project for the next 4 months. Now, I know that you don't have a lot of experience in this framework, so that means you owe me the respect I deserve and not complain about the way things are getting done.
--------------------------
Me: Ok, John, I'll fix it.1 -
Spent 2-3 weeks on implementing a new feature, a guy with 10 years of experience jumps in and solves it within 5 days.
*Oh! I forgot to mention, it was his first time working with the framework.
I must say his OOP skills are really good, not sure if this is something you learn by reading books or simply by practice.
I strongly believe that if you have a good understanding of how to build apps with OOP pattern, you'll do a great job in the SW industry.4 -
"If you use a css framework splat splat splat splat bullshit bullshit bullshit"
Listen fam, I write apps that a good portion of the time will be used internally by the company I represent or work for. They don't give 2 flying fucks if I write an entire webpack ecosystem for them to push out assets and 10k outher bs shit in to their frontend end. They just care that shit connects properly to their backend and it spits out the information they need, which 9 times out of 10 does not require a lot of the shit y'all cry about.
Bootstrap will suffice, bulma will suffice. I don't neckbeard over simple shit like this.15 -
this is how I destroyed my career in IT and how I'm headed to a bleak future.
I've spent the last 10 years working at a small company developing a web platform. I was the first developer, I covered many roles.
I worked like crazy, often overtime. I hired junior dev, people left and came. We were a small team.
I was able to keep the boat afloat for many years, solving all the technical problems we had. I was adding value to the company, sure, but not to mine professional career.
There was a lot of pressure from young developers, from CEO, from investors. Latent disagreement between the COO and the CEO. I was in between.
Somehow, the trust I built in 10 years, helping people and working hard, was lost.
There was a merge, development was outsourced, the small team I hired was kept for maintenance and I was fired, without obvious explanations.Well, I was the oldest and the most expensive.
Now I'm 53, almost one year unemployed.
I'm a developer at heart, but obsolete. The thing we were doing,
were very naif. I tried to introduce many modern and more sophisticated software concepts. But basically it was still pure java with some jquery. No framework. No persistency layer, no api, no frontend framework. It just worked.
I moved everything to AWS in attempt to use more modern stack, and improving our deployment workflow.
Yes, but I'm no devop. While I know about CD/CI, I didn't set up one.
I know a lot of architectural concepts, but I'm not a solution architect.
I tried to explain to the team agile. But I'm not a scrum master.
I introduced backlog management, story mapping, etc. But I'm not a product manager.
And before that? I led a team once, for one year, part of a bigger project. I can create roadmap, presentations, planning, reports.
But I'm not a project manager.
I worked a lot freelancing.
Now I'll be useless at freelancing. Yes I understand Angular, react, Spring etc, I'm studying a lot. But 0 years of experience.
As a developer, I'm basically a junior developer.
I can't easily "downgrade" my career. I wish. I'll take a smaller salary. I'll be happy as junior dev, I've a lot to learn.
But they'll think I'm overqualified, that I'll leave, so they won't hire me even for senior dev. Or that I won't fit in a 25 y.o. team.
My leadership is more by "example", servant leader or something like that. I build trust when I work with somebody, not during a job interview.
On top of that, due to having worked in many foreign countries, and freelancing, my "pension plan" I won't be able to collect anything. I've just some money saved for one year or so.
I'm 53, unemployed. In few years time, if I don't find anything, it will be even harder to be employed.
I think I'm fucked25 -
Hey all! It's a me, Skayo, you might know me from the very early years of devRant, my highlight bot, my random quote bot, the devRant-Community on GitHub or any of the dumb rants and things that I've posted during my time.
Since I'm currently doing a cleanup of my old GitHub repos and this platform is still somewhat active, I have decided to pass on or publish all my projects and things I've created for this community back in the days.
Firstly, I have just published and transferred the source codes for the @highlight bot, the @RandomQuote bot, the @here bot, and some weird bot framework to the devRant-Community GitHub organization (https://github.com/devRant-Communit...).
Feel free to check them out if you've ever wondered what awful, awful code was running in the background all these years!
Secondly, I am offering any of the following to anyone who's interested:
- Ownership of the "devRant-Community" organization on GitHub (https://github.com/devRant-Communit...)
- Credentials for the @RandomQuote devRant user
- Credentials for the @highlight devRant user
- Credentials for the @here devRant user
- Credentials for the @devNews devRant user
- Ownership of the "devNews" Discord server
- Ownership of the "Community Programming Book" Discord server
- Anything else that I've forgotten about, maybe check the comments
If you're interested, message me on Discord "@skayodev" or anywhere else I am active under that alias (f.e. Telegram).
I might do a little background check to prevent abuse and I AM NOT SELLING THEM, just giving them away.
Thank you devRant for all the fun we had together and for introducing me to some of my current best friends :)
A thank you especially to @dfox and @trogus, who have created this amazing platform! (and sorry for all of the bullshit I did back then lol)
I wish you all the best <3
~ Skayorandom skayo random quote highlight bot here devrant-community devnews community programming book farewell skayodev11 -
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 -
So we ordered a piece of software from external software house becouse I was low on time and we needed it asap.
So. Long story short, their software was bugged as hell, they deny all the bugs and they have their BDD that they done and anything we say about it like "feature XYZ is broken on firefox" they will deny it "becouse it wasn't on BDD" or "let's get on call" (in which +- 6-7 people participate from their side and we of course have to pay them for this...)
So they fixed like 20% of bugs (mostly trivials/minors) Application is fairly small scope. You have integration with like 3 endpoints on arbitary API, user registration/login, few things to do in database (mainly math running from cron).
They done it in ASP so I don't know the language and enviroment so can't just fix it myself.
2 days ago (monday) they annoyed me to point where I just started to break things. For starters I found that every numeric input is vunrable to integer overflow (which is blocker). I figured most of fields are purefect opportunity to XSS (but I didn't bother to do JS... anything but not JS...). I figured I can embed into my name/surname/phone (none validated) anything in HTML...
So for now we have around 25 bugs, around 15 of them are blockers.
They figured it's somehow our fault that it's bugged and decided to do demo with us to show off how perfectly it works. I'm happy to break their demos. I figured I will register bunch users that have name - image with fixed/absolute position top:0;left:0 width/height 100% - this will effectively brick admin panel
Also I figured I can do some addotional sounds in background becouse why not. And I just dont know what to put in. It links to my server for now so I can freely change content of bricked admin panel.
I have curl's ready to execute in case they reset database.
I can put in GIFs or heck, even videos, dosen't really matter. Framework escapes some things for them so at least that. But audio/image/video works.
Now I have 2 questions:
- what image + audio combo will work the best (of course we need to keep it civil). Im thinking finding some meme with bugs or maybe nuclear logo image with some siren sound
- am I evil person?
Edit:
I havent stated this clearly:
"There is no BDD that describes that if user inserts malicious input server should deny it" - that's almost literally what we get from them....11 -
Well... I had in over 15 years of programming a lot of PHP / HTML projects where I asked myself: What psychopath could have written this?
(PHP haters: Just go trolling somewhere else...)
In my current project I've "inherited" a project which was running around ~ 15 years. Code Base looked solid to me... (Article system for ERP, huge company / branches system, lot of other modules for internal use... All in all: Not small.)
The original goal was to port to PHP 7 and to give it a fresh layout. Seemed doable...
The first days passed by - porting to an asset system, cleaning up the base system (login / logout / session & cookies... you know the drill).
And that was where it all went haywire.
I really have no clue how someone could have been so ignorant to not even think twice before setting cookies or doing other "header related" stuff without at least checking the result codes...
Basically the authentication / permission system was fully fucked up. It relied on redirecting the user via header modification to the login page with an error set in a GET variable...
Uh boy. That ain't funny.
Ported to session flash messages, checked if headers were sent, hard exit otherwise - redirect.
But then I got to the first layers of the whole "OOP class" related shit...
It's basically "whack a mole".
Whoever wrote this, was as dumb and as ignorant to build up a daisy chain of commands for fixing corner cases of corner cases of the regular command... If you don't understand what I mean, take the following example:
Permissions are based on group (accumulation of single permissions) and single permissions - to get all permissions from a user, you need to fetch both and build a unique array.
Well... The "names" for permissions are not unique. I'd never expected to be someone to be so stupid. Yes. You could have two permissions name "article_search" - while relying on uniqueness.
All in all all permissions are fetched once for lifetime of script and stored to a cache...
To fix this corner case… There is another function that fetches the results from the cache and returns simply "one" of the rights (getting permission array).
In case you need to get the ID of the other (yes... two identifiers used in the project for permissions - name and ID (auto increment key))...
Let's write another function on top of the function on top of the function.
My brain is seriously in deep fried mode.
Untangling this mess is basically like getting pumped up with pain killers and trying to solve logic riddles - it just doesn't work....
So... From redesigning and porting from PHP 7 I'm basically rewriting the whole base system to MVC, porting and touching every script, untangling this dumb shit of "functions" / "OOP" [or whatever you call this garbage] and then hoping everything works...
A huge thanks to AURA. http://auraphp.com/
It's incredibily useful in this case, as it has no dependencies and makes it very easy to get a solid ground without writing a whole framework by myself.
Amen.2 -
I wrote a prototype for a program to do some basic data cleaning tasks in Go. The idea is to just distribute the files with the executable on our shared network to our team (since it is small enough, no github bullshit needed for this) and they can go from there.
Felt experimental, so I decided to try out F# since I have always been interested with it and for some reason Microsoft adopted it into their core net framework.
I shit you not, from 185 lines of Go code, separated into proper modules etc not to mention the additional packages I downloaded (simple things for CSV reading bla bla)
To fucking 30 lines of F# that could probably be condensed more if I knew how to do PROPER functional programming. The actual code is very much procedural with very basic functional composition, so it could probably be even less, just more "dense"
I am amazed really. I do not like that namespace pollution happens all over F# since importing System.IO gives you a bunch of shit that you wouldn't know where it is coming from unless you fuck enough with Ionide and the docs. But man.....
No need for dotnet run to test this bitch, just highlight it on the IDE, alt enter and WHAM you have the repl in front of you, incremental quasi like Lisp changes on the code can be REPL changed this way, plethora of .NET BCL wonders in it, and a single point of documentation as long as you stay in standard .net
I am amazed and in love, plus finding what I wanted to do was a fucking cakewalk.
Downside: I work in a place in which Python is seen as magic and PHP, VB.NEt and C# is the end all be all of languages. If me goes away or dies there will be no one else in this side of the state to fuck with F#
This language needs to be studied more. Shit can be so compact, but I do feel that one needs to really know enough of functional programming to be good at it. It is really not a pure language like Haskell (then again, haskell is the only "mainstream" pure functional language ain't it not?) but still, shit is really nice and I really dig what Microhard is doing in terms of the .net framework.
Will provide later findings. My entire team is on the Microsoft space, we do have Linux servers, but porting the code to generate the necessary executables for those servers if needed should be a walk in the park. I am just really intrigued by how many lines of code I was able to cut down from the Go application.
Please note that this could also mean that I am a shit Golang dev, but the cut down of nil err checkings do come somewhere.9 -
We were 6 devs on a big project that needed to be completed in 3 months. Probably my first project as a full-stack dev and the work was very demanding.
The senior of my team was a very sharp and energetic, but also a very "in your face" kinda guy. Like, he was cool, but sometimes a little too much to handle for some people.
Anyway, this guy "Senior dev" worked faster (naturally) and harder than the rest of us and was always willing to help if somebody had problems with a framework, tool or other technology. Also, there was this other guy also a good dev (second best I would say) that just hated the first guy's guts for being "rude and obnoxious" as he put it.
One day, the PM and the senior had an argument about a major change that the PM had agreed to (just to save face with the client) that will force the team to come to work on the weekend. In the end he saved us the trouble of going throught that and the PM had to tell the client that the change wouldn't be made. From then on it went downhill for "Sr. dev" in the company. Until one day he was told that his contract was not gonna be renewed.
Short after, he showed some of us a screen cap. somebody sent him of an email from the "hateful" dev to the PM in which he wrote he had heard that the senior guy was leaving and he couldn't be happier because he was "damaging, problematic and a stressful part of his job". That was such a dick move, we thought he should get back at the guy.
So he sent a fake email to the PM using the "hateful" guy's email ID, that read:
"Dear PM. I'm sorry I said those things about 'Senior dev', I guess I'm just mad that he's a better professional than me and mad that I was born with no genitalia".
After the senior dev left I worked on one more project with the "hateful" dev and he was let go mid project for "not being proactive and making little effort on completing the project". -
I'm coming off a lengthy staff augmentation assignment awful enough that I feel like I need to be rehabilitated to convince myself that I even want to be a software developer.
They needed someone who does .NET. It turns out what they meant was someone to copy and paste massive amounts of code that their EA calls a "framework." Just copy and paste this entire repo, make a whole ton of tweaks that for whatever reason never make their way back into the "template," and then make a few edits for some specific functionality. And then repeat. And repeat. Over a dozen times.
The code is unbelievable. Everything is stacked into giant classes that inherit from each other. There's no dependency inversion. The classes have default constructors with a comment "for unit testing" and then the "real" code uses a different one.
It's full of projects, classes, and methods with weird names that don't do anything. The class and method names sound like they mean something but don't. So after a dozen times I tried to refactor, and the EA threw a hissy fit. Deleting dead code, reducing three levels of inheritance to a simple class, and renaming stuff to indicate what it does are all violations of "standards." I had to go back to the template and start over.
This guy actually recorded a video of himself giving developers instructions on how to copy and paste his awful code.
Then he randomly invents new "standards." A class that reads messages from a queue and processes them shouldn't process them anymore. It should read them and put them in another queue, and then we add more complication by reading from that queue. The reason? We might want to use the original queue for something else one day. I'm pretty sure rewriting working code to meet requirements no one has is as close as you can get to the opposite of Agile.
I fixed some major bugs during my refactor, and missed one the second time after I started over. So stuff actually broke in production because I took points off the board and "fixed" what worked to add back in dead code, variables that aren't used, etc.
In the process, I asked the EA how he wanted me to do this stuff, because I know that he makes up "standards" on the fly and whatever I do may or may not be what he was imagining. We had a tight deadline and I didn't really have time to guess, read his mind, get it wrong, and start over. So we scheduled an hour for him to show me what he wanted.
He said it would take fifteen minutes. He used the first fifteen insisting that he would not explain what he wanted, and besides he didn't remember how all of the code he wrote worked anyway so I would just have to spend more time studying his masterpiece and stepping through it in the debugger.
Being accountable to my team, I insisted that we needed to spend the scheduled hour on him actually explaining what he wanted. He started yelling and hung up. I had to explain to management that I could figure out how to make his "framework" work, but it would take longer and there was no guarantee that when it was done it would magically converge on whatever he was imagining. We totally blew that deadline.
When the .NET work was done, I got sucked into another part of the same project where they were writing massive 500 line SQL stored procedures that no one could understand. They would write a dozen before sending any to QA, then find out that there was a scenario or two not accounted for, and rewrite them all. And repeat. And repeat. Eventually it consisted of, one again, copying and pasting existing procedures into new ones.
At one point one dev asked me to help him test his procedure. I said sure, tell me the scenarios for which I needed to test. He didn't know. My question was the equivalent of asking, "Tell me what you think your code does," and he couldn't answer it. If the guy who wrote it doesn't know what it does right after he wrote it and you certainly can't tell by reading it, and there's dozens of these procedures, all the same but slightly different, how is anyone ever going to read them in a month or a year? What happens when someone needs to change them? What happens when someone finds another defect, and there are going to be a ton of them?
It's a nightmare. Why interview me with all sorts of questions about my dev skills if the plan is to have me copy and paste stuff and carefully avoid applying anything that I know?
The people are all nice except for their evil XEB (Xenophobe Expert Beginner) EA who has no business writing a line of code, ever, and certainly shouldn't be reviewing it.
I've tried to keep my sanity by answering stackoverflow questions once in a while and sometimes turning evil things I was forced to do into constructive blog posts to which I cannot link to preserve my anonymity. I feel like I've taken a six-month detour from software development to shovel crap. Never again. Lesson learned. Next time they're not interviewing me. I'm interviewing them. I'm a professional.9 -
Well, for starters there was a cron to restart the webserver every morning.
The product was 10+ years old and written in PHP 5.3 at the time.
Another cron was running every 15 minutes, to "correct" data in the DB. Just regular data, not from an import or something.
Gotta have one of those self-healing systems I guess.
Yet another cron (there where lots) did run everyday from 02:00 to 4ish to generate the newest xlsx report. Almost took out the entire thing every time. MySQL 100%. CPU? Yes. RAM? You bet.
Lucky I wasn't too much involved at the time. But man, that thing was the definition of legacy.
Fun fact: every request was performed twice! First request gave the already logged-in client an unique access-token. Second request then processed the request with the (just issued) access-token; which was then discarded. Security I guess.
I don't know why it was build this way. It just was. I didn't ask. I didn't wanted to know. Some things are better left undisturbed. Just don't anger the machine. I became superstitious for a while. I think, in the end, it help a bit: It feels like communicating with an alien monster but all you have is a trumpet and chewing gum. Gentle does it.
Oh and "Sencha Extjs 3" almost gave me PTSD lol (it's an ancient JS framework). Followed by SOAPs WSDL cache. And a million other things.5 -
I got tired of relearning JavaScript frameworks and instead tried to escape their clutches.
Most of my developer life I've spent relearning how to do the same thing in a different framework.
And every three or four years its the same story, figure out templating, figure out building, complain on github bugs etc.
I am trying to reduce framework fatigue by allowing you to think "can I make my application with just vanilla JavaScript". The advantage of vanilla JavaScript is it write once - do not need to rewrite.
Do YOU think I will abandon ship and end up having to use a framework again?19 -
Some random coworker has been asked to setup tests for the framework written in Java and the GUI is a web app that comes with the framework.
Since he doesn't know any language we work in, he decided he would do it in Python. When I asked him why introduce Python and he replied with "it doesnt matter which language it is because it is going to run on selenium"
I told him to either use Java or Javascript for selenium because when he leaves we should be able to maintain the tests and not first figure out what the hell you wrote in Python
He didnt understand and is going to go with Python anyway8 -
I like PHP.
It's not as bad as its reputation. Just because it's easy to learn, does not mean it's bad. In fact, with a framework like Laravel or Zend it's not so simple and keeps the whole spaghetti code developers away, which led to the bad reputation.9 -
PORTFOLIO INFLATION
when every junior is writing algorithms, the next step up, the only way to keep up is writing apps. When every junior is writing apps, the next leg up is writing an entire SN.
Eventually junior full stack devs are writing microservice streaming cloud backend content delivery optimized social networks wrapped in virtualization with load balancing, proper CI, public accessible analytics apis, written in custom webaseembly compiled scripting backend utilizing both the latest graphql and every single feature of postgres, while also being a web site builder, an in browser app, mobile optimized, designed to transmogrify your asset pipelines linearflow functional-oriented modular rust cratified turbencabulator while cooking your turducken with CPU cycles, diffusing your gpt, and finetunning your llama 69 trillion parameter AI model to jerk you off all at the same time.
And then the title "wizard" becomes a reality as the void of meaning in our lives occupied by the anxiety of trying to reduce the fear of rejection in job hunting, is subsumed by the brief accidental glance into the cthulian madness-inducing yawning abyss of the future which is all the rest of our lives we have to endure existing for until at last sweet sweet death consumes us and we go to annihilation never having to configure one more framework or devops deploy of another virtual environment.
And it dawns on us that we no longer develop or write code at all. No, everything has become a "service" in this new hellscape future. We slowly come to the realization that every job is really just Costco greeter, or eventually going to be reduced to something equivalent, all human creativity, free will and emotions now taken care of by the automation while we manage the human aspects, like sardines pushing against one another not realizing their doom has been sealed along with the airless can they have been packed into, to be suffocated by circumstance and a system designed to reduce everything to a competition of metrics designed by the devil, if the metrics were misery", and "torture", while we ourselves are driven by this ratfuck wheel to turn endlessly toward social cannibalism, like rats eating their babies, but for the amusement of wallstreet corporate welfare whores who couldnt turn a dime if it wasnt already stolen.
And on our gravestones, those immortal words are carved, by the last person who gave up the ghost, the last whose soul wasnt yey shovelled onto the coal fires driving the content machine consuming the world:
Welcome to costco. I love you.12 -
Hired a designer below me.. guy never wrote a full back nor frontend... Used npm shit for all his solutions and worked his way above me just by kissing ass and polluting the codebase in such a way 70% would be open source shitty plugins for shit he could not do by himself code wise...
At some point he assigned some of his tasks to me and I couldn't work with his patchy framework that was non existent within the codebase I worked on ...
At some point between npm installed tantrums I got pulled up to HR because my code quality dropped... And it was this fucktart that accused me of this saying I could not do modern development...
In the end I either had to butkiss after his butts or just quit, so I did the latter... I told him and HR I owned alot more code quality than this asshat but just not his way of working and therefor it was more an issue of code equality I was never aware of ...
A month after that the company got overtaken by some silicon valley bullshit company buying up competition, and he is still working within that shithole dealing with 90's tech...
Was the best thing that happened to me, after that I grew alot in skillset and such by investments from other jobs and projects... If I would still work there today I would consider myself a caveman6 -
After years around devs of all levels of expertise I have found the following to be true mostly of junior developers.
Junior devs seem to like to pick out a single (or few) idiosyncrasies of a language/framework and then call it shitty overall.
While senior devs have seen the small idiosyncrasies of many languages/frameworks and know that none of them are perfect and those quirks come with the territory.
It may also have something to do with senior devs having less to prove and therefore not wasting their time of such useless language debates....
ROUND 1: FIGHT!2 -
Realizing that the former so-called PHP developers based the entirety of their so-called dashboard framework (self-written of course) on GET requests.
Every. Controller. Only. Accepts. Get. Requests.
It creates stuff? So what! It does update? No matter! It deletes? Who cares!
Just call that URL, and it will release all hell, plagued with multiple side-effects, and then issue a redirect.
Of course that one delete button was inside some twitter bootstrap tabs, and due to the redirect the page always reloaded and the content manager landed on a very different tab. Meaning if they wanted to delete multiple records, they had to hit "activate tab" and "delete" and "activate tab" and "delete" -- rinse and repeat.
It's our *job* to make things easier for our users! Not to waste their time. (Unless you are browser game developer. Then do your thing.)
And we are talking basic CRUD! Basic CRUD! I am not even demanding for it to be restful or to have some parts of a HTML page being updated on the fly with such rad and new technologies like ajax!
There is just question I would like to ask whoever build this: Seriously!?4 -
While this wasn't technically a real client, it's still one of the most insane requests I've ever had.
I chose to specialize in software engineering for the last year and a half of my degree, which meant a lot of subjects were based around teamwork, proper engineering practises, accessibility, agile methods, basically a lot of stuff to get us ready to work in a proper corporate dev environment. One of our subjects was all about project management, and the semester-long coursework project (that was in lieu of a final exam) was to develop a real project for a real client. And, very very smartly, the professors set up a meeting with the clients so that the clients could tell us what they wanted with sixty-odd students providing enough questions. They basically wanted a management service for their day-center along with an app for the people there. One of the optional requirements was a text chat. Personally not something I'm super interested in doing but whatever, it's a group project, I'll do my part.
The actual development of the project was an absolute nightmare, but that's a story for another day. All I'll say is that seven juniors with zero experience in the framework we chose does not make a balanced dev team.
Anyway, like three months into the four-month project we've got a somewhat functional program, we just need to get the server side part running and are working our asses off (some more than others) when the client comes in and says that 'hey, nice app, nobody else has added the chat yet, but could you do voice recognition okay thanks?'.
Fucking.
Voice.
Recognition.
This was a fucking basic-ass management app with the most complicated task being 'make it look pretty' and 'hook up a DB to an API' and they want us to add voice recognition after sitting on their ass for three months??? The entire team collectively flipped its shit the second they were out of earshot. The client would not take no for an answer, the professor simply told us that they asked for it and it was up to us whether we delivered or not. Someone working on the frontend had the genius idea of 'just get them to use google voice recognition' so we added the how-to in the manual and ticked the requirement box.
What amazes me about all that is how the client probably had no idea that their new last-minute request was even a problem for us, let alone it being in a completely different ballpark in terms of implementing from scratch.8 -
First day on my first job ever, the boss asks me what I want to do. I indicated that I had some experience with php and the yii framework (which was at some point very cool xD), so I wanted to start with something like that. And so it goes: after two days of watching laracasts (which is an awesome platform by the way! :O) I got assigned to a project.
Now the company I work at uses some kind of self built system that tracks how many hours are spent on which project, and compares that to how many hours was estimated implementing a feature would take. That's cool, but then I saw that for the project I was working on the time estimated was 5 work days. This was the estimate for both designing the interfaces and implementing both front and backend. I knew in advance that this was probably way to little time for me, but didn't want to come over as the new kid who can't do shit x)
Anyway, I started on the project and was having fun, but the biggest time consuming aspect of the project was not necessarily that I didn't have enough experience: it was that the developer who started this project and made most of the design choices had written some very messy code, without tests or apparently any refactoring. Also, everything was extremly inconsistent and not according to all the best practices I just watched in my laracasts spree.
So fastforward a little: we're way over the estimated hours. Yay. Now suddenly the boss comes by with an almost angry face that the client is becoming angry and we need to finish soon. He makes it entirely our (me and the front end guy) problem and I just decide to say nothing and try to work faster.
Now I'm stuck writing fugly code on top of more fugly code and when I mentioned to my front end guy that I was almost finished with feature but I only needed to finish up the tests, he said something like "oh just don't write tests, that'll take too long"... Is that really the mindset of this company?! No wonder the project I work on was in a very bad state.
Thanks to devrant I see now that I just need to say something if I know that I won't be able to complete something in a certain amount of time and that other people are just like me (thank god). :) I think I'll need to post more rants to vent my frustrations x)5 -
Inmates are trying to take over the asylum again.
Got a message from the web team manager deeply concerned because since switching to the new logging framework, the site is significantly slower.
She provided no proof or any data to what 'significantly slower' means.
#1 The 'new logging' has been in place and logging for 5 years. We only recently depreciated the ILogger interface ('new' ILogger interface only has 1 method instead of 5)
#2 The 'old logging' was modified 5 years ago, so even if you were using the 'old' interface, the underlying implementation is still the same.
She tried to push the 'it wasn't this slow before' argument, so I decided to do some fact based analysis.
Knowing they deployed their logging changes couple of weeks ago, I opened up AppDynamics, looked at the average call time to Splunk (along with a few other http calls they are doing)
- caching services - 5ms
- splunk - 30ms
- Order Service - 350ms
- Product Data Service -525ms
Then I look at the data they are logging, for the month of June, over 5 million messages. At 30ms each, that's almost 42 hours spent logging errors...yes errors. Null reference exceptions, Argument exceptions, easily fixable stuff.
So far for the month of July (using the 'new' logging), almost 2.5 million errors. Pretty close so far with June's numbers.
My only suggestion was to fix the bugs in their code so they don't log so many errors.
Her response.."Can we have one of our developers review your logging code? We believe we can find ways to optimize the http requests"
Oh good Lord. I'm not a drinking man..but ...I might start.1 -
> be me
> work on a nice project with friends: A, B and C
> joined in a bit later, but before any real progress was made + we scrap the existing code, because it was Python2 or something
> decide on a framework
> A wants to create one himself, instead of using an existing one
> we fight for a little, but let A do his thing
> 2 months later
> been waiting the whole time
> +1000 lines on github, but still not finished
> "Wouldn't it be better if we would use the normal framework?"
> "No, mine is hand-crafted for that task"
> "But it is full of bugs"
> "If you find one major bug, we'll ditch my framework"
> finds major bug
> "That's fixed, just give me a min-"
> finds another bug
> "Thats just because you don't know how to use the framework"
- Documentation inside ONE gigantic README
- Library is missing the core features we needed/those which are implemented don't work
- Both B and C were on my side from the beginning (in that we should use "Already Existing Fully Documented Popular And tested Framework Which Does Everything We Need")
> "But i dont understand this framework so explain it to me"
> send him a few code examples + a tutorial??? (dont remember if i actually sent im the tutorial before i left)
> "explain it to me, i can't understand it"
> I CANT UNDERSTAND YOUR FUCKING FRAMEWORK DUMBASS
> ragequitted the server+project
To this day i still don't know, which framework they are using..
Also that Python 2 code in the beginning was because A didnt know the difference and copied (yes by hand) the code from atom to github without testing anything.4 -
I need bleach...
Lot of bleach.
When you think that not using a JS framework is bad...
Ever saw a Frankenstein of a HTML, PHP and JQuery? Full rewrite of an old project with more than enough time allowed....
Just... That was not awful enough.
*sobs* so the dev added bootstrap onto this pile of garbage... Instead of rewrite....
Think I missed CSS or included it in HTML? Lol. No.
No CSS. Inline. HTML 4 Tags.
?>
<table width=40 class="table table-striped">
<?php
foreach( $table as $row ) {
....
<input onkeyup="..." onkeydown="..." class="form-control"
...
To give you a basic example of how worse it is...
But the best. The lead developer does not understand why I was speechless.
i need more beer. And bleach. Filth and disgust must get out of my system2 -
Why is it that pretty much zero package & framework maintainers understand semantic versioning?
1. If you do a complete rewrite of your package, but the resulting API is identical, you don't need to bump to the next major version. As a user, I'm thankful for your increased performance or cleaner internal code, but it doesn't really affect my update process.
2. If your package required some-framework 6.0.0, and now ALSO supports some-framework 7.0.0 but is still compatible with 6.0.0, you don't need to bump to the next major version. As a user, I can now upgrade the framework, and know that the package will keep working, but otherwise it doesn't really affect me.
3. Following your versioning along with the framework/language version is super annoying, especially if your library really doesn't need to differentiate between framework versions because it's not actually utilizing new framework functionality.
4. On the other hand, if you stop supporting a certain language, framework or shared library version, or change the public methods, exceptions, fields, etc, you MUST bump to a new major version.
Yet everyone gets this wrong.
For example, many of Laravel's underlying subpackages (for collections, filesystem, database, config, http, mail, etc) do not change their code in a breaking way, or do not even change at all between major framework versions.
Yet they follow along with the major framework version.
Now if someone makes a library "laravel-elasticsearch" which uses the support libraries and collections from laravel, they need to update their package to move along with the versions as well, and often they choose to number their library along with the framework in turn.
This means that to update the framework, you also need to update over 9000 dependencies.
FOR NO FUCKING REASON. THE ONLY CHANGE IN THOSE FUCKING DEPENDENCIES IS TO UPDATE COMPOSER.JSON TO BE COMPATIBLE WITH THE FUCKING FRAMEWORK.
Meanwhile, Laravel itself breaks repeatedly on minor/patch version updates, because breaking changes slip through their review process.
Ugh.3 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
"Knowing" Bootstrap or Foundation is not the same as knowing CSS. If you claim to know css and you can't even tell me what media query is or how to make a page even semi-responsive without a css framework, please do everyone a favor and fuck off.2
-
Updated a website for an older client today. Realized I originally wrote their website in 2002.
That web site is a fucking non-responsive piece of shit... but it is still running normally after 18 years.
Just HTML/CSS and some light JS/PHP for form processing. It's not fancy but it still performs and works perfect on Desktop and OK on mobile. Mobile devices which DID NOT EXIST when I wrote it.
Let this be a lesson to the entire new class of developers who seems to think you need some framework to develop. You don't. And I GUARANTEE if that site used any framework that framework would have been retired or updated to un-useability 10 years ago.
Meanwhile my LAMP ass "web native" shit spaghetti with ZERO DEPENDENCIES is still just chugging the fuck along.4 -
oh, it got better!
One year ago I got fed up with my daily chores at work and decided to build a robot that does them, and does them better and with higher accuracy than I could ever do (or either of my teammates). So I did it. And since it was my personal initiative, I wasn't given any spare time to work on it. So that leaves gaps between my BAU tasks and personal time after working hours.
Regardless, I spent countless hours building the thing. It's not very large, ~50k LoC, but for a single person with very little time, it's quite a project to make.
The result is a pure-Java slack-bot and a REST API that's utilized by the bot. The bot knows how to parse natural language, how to reply responses in human-friendly format and how to shout out errors in human-friendly manner. Also supports conversation contexts (e.g. asks for additional details if needed before starting some task), and some other bells and whistles. It's a pretty cool automaton with a human-friendly human-like UI.
A year goes by. Management decides that another team should take this project over. Well okay, they are the client, the code is technically theirs.
The team asks me to do the knowledge transfer. Sounds reasonable. Okay.. I'll do it. It's my baby, you are taking it over - sure, I'll teach you how to have fun with it.
Then they announce they will want to port this codebase to use an excessive, completely rudimentary framework (in this project) and hog of resources - Spring. I was startled... They have a perfectly running lightweight pure-java solution, suitable for lambdas (starts up in 0.3sec), having complete control over all the parts of the machinery. And they want to turn it into a clunky, slow monster, riddled with Reflection, limited by the framework, allowing (and often encouraging) bad coding practices.
When I asked "what problem does this codebase have that Spring is going to solve" they replied me with "none, it's just that we're more used to maintaining Spring projects"
sure... why not... My baby is too pretty and too powerful for you - make it disgusting first thing in the morning! You own it anyway..
Then I am asked to consult them on how is it best to make the port. How to destroy my perfectly isolated handlers and merge them into monstrous @Controller classes with shared contexts and stuff. So you not only want to kill my baby - you want me to advise you on how to do it best.
sure... why not...
I did what I was asked until they ran into classloader conflicts (Spring context has its own classloaders). A few months later the port is not yet complete - the Spring version does not boot up. And they accidentally mention that a demo is coming. They'll be demoing that degenerate abomination to the VP.
The port was far from ready, so they were going to use my original version. And once again they asked me "what do you think we should show in the demo?"
You took my baby. You want to mutilate it. You want me to advise on how to do that best. And now you want me to advise on "which angle would it be best to look at it".
I wasn't invited to the demo, but my colleagues were. After the demo they told me mgmt asked those devs "why are you porting it to Spring?" and they answered with "because Spring will open us lots of possibilities for maintenance and extension of this project"
That hurts.
I can take a lot. But man, that hurts.
I wonder what else have they planned for me...rant slack idiocy project takeover automation hurts bot frameworks poor decision spring mutilation java11 -
I should just quit. I am not paid enough to deal with this pissing contest.
Reviewer:
Need to add instructions (on readme) for installing pnmp, or if possible, have the top-level npm i install it (lol).
Also, it looks like we are no longer using lerna? If that's right, let's remove the dependency; its dependencies give some security audit messages at install.
Me:
it's good enough for now. Added a new ticket to resolve package manager confusions. (Migrate to pnpm workspaces)
Reviewer:
I will probably be responsible for automating deployment of this (I deployed the webapp on cloudflare pages and there is no work that needs to be done. "automating deployment" literally means replacing npm with pnpm). I disagree that it's good enough for now.
Imagine all readmes on github document how to install yarn/pnpm.
Lesson learned:
If you think an OOP static site developer can't handle modern JS framework, you are probably right.2 -
Stupid HTML checkboxes! It's always annoyed me that you can't just set checked to true or false, but have to remove the property altogether to uncheck a checkbox. Better still would be if you'd only need to set the value to 1 or 0, and the checked or not would sort out automatically. Yes, there are frameworks to handle it, I know. But if checkboxes had been designed right from start, a framework or any sort of special cases would not be needed. You've got love HTML, but things like this make it ugly.6
-
We have a 45year old junior that is left to his own devices. He simultaneously wants help all the time and won't listen to the answers. He also wants help but doesn't want to redo things he's fucked. He wants to finish tasks but not write tests in case it shows problems and he has to do more work.
The worst thing is he wants to get work done but cba to learn the framework, language, tools he's using, or just the feature of the framework he is literally using for his task. He just fumbles about like a blind man in a strip joint until things 'work'.6 -
Chrome, Firefox, and yes even you Opera, Falkon, Midori and Luakit. We need to talk, and all readers should grab a seat and prepare for some reality checks when their favorite web browsers are in this list.
I've tried literally all of them, in search for a lightweight (read: not ridiculously bloated) web browser. None of them fit the bill.
Yes Midori, you get a couple of bonus points for being the most lightweight. Luakit however.. as much as I like vim in my terminal, I do not want it in a graphical application. Not to mention that just like all the others you just use webkit2gtk, and therefore are just as bloated as all the others. Lightweight my ass! But programmable with Lua, woo! Not like Selenium, Chrome headless, ... does that for any browser. And that's it for the unique features as far as I'm concerned. One is slow, single-threaded and lightweight-ish (Midori) and another has vim keybindings in an application that shouldn't (Luakit).
Pretty much all of them use webkit2gtk as their engine, and pretty much all of them launch a separate process for each tab. People say this is more secure, but I have serious doubts about that. You're still running all these processes as the same user, and they all have full access to the X server they run under (this is also a criticism against user separation on a single X session in general). The only thing it protects against is a website crashing the browser, where only that tab and its process would go down. Which.. you know.. should a webpage even be able to do that?
But what annoys me the most is the sheer amount of memory that all of these take. With all due respect all of you browsers, I am not quite prepared to give 8 fucking gigabytes - half the memory in this whole box! - just for a dozen or so tabs. I shouldn't have to move my web browser to another lesser used 16GB box, just to prevent this one from going into fucking swap from a dozen tabs. And before someone has a go at the add-ons, there's 4 installed and that's it. None of them are even close to this complete and utter memory clusterfuck. It's the process separation. Each process consumes half a GB of memory, and there's around a dozen of them in a usual browsing session. THAT is the real problem. And I want to get rid of it.
Browsers are at their pinnacle of fucked up in my opinion, literally to the point where I'm seriously considering elinks. Being a sysadmin, I already live my daily life in terminals anyway. As such I also do have resources. But because of that I also associate every process with its cost to run it, in terms of resources required. Web browsers are easily at the top of the list.
I want to put 8GB into perspective. You can store nearly 2 entire DVD movies in that memory. However media players used to play them (such as SMPlayer) obviously don't do that. They use 60-80MB on average to play the whole movie. They also require far less processing power than YouTube in a web browser does, even when you download that exact same video with youtube-dl (either streamed within the media player or externally). That is what an application should be.
Let's talk a bit about these "complicated" websites as well. I hate to break it to you framework web devs, but you're a dime a dozen. The competition is high between web devs for that exact reason. And websites are not complicated. The document itself is plain old HTML, yes even if your framework converts to it in the background. That's the skeleton of your document, where I would draw a parallel with documents in office suites that are more or less written in XML. CSS.. oh yes, markup. Embolden that shit, yes please! And JavaScript.. oh yes, that pile of shit that's been designed in half a day, and has a framework called fucking isEven (which does exactly what it says on the tin, modulo 2 be damned). Fancy some macros in your text editor? Yes, same shit, different pile.
Imagine your text editor being as bloated as a web browser. Imagine it being prone to crashing tabs like a web browser. Imagine it being so ridiculously slow to get anything done in your productivity suite. But it's just the usual with web browsers, isn't it? Maybe Gopher wasn't such a bad idea after all... Oh and give me another update where I have to restart the browser when I commit the heinous act of opening another tab, just because you had to update your fucking CA certs again. Yes please!19 -
Why do viedo tutorials always assume that one doesn't know anything about programming?
If I am looking up a framework or library there's a good chance I know what a for loop is, and even if I didn't it's not the place to teach me 😒13 -
How to explode a .NET developer, give them this challange:
Write a method.
- I must HTTP Get any site (does not matter what), and return the result
- It must NOT be async, and must directly return the result string (No Task<string>)
- It must use HttpClient
- It must be in .Net framework 4.5 or lower
- No other nuget packages allowed
This was my job today and i want you to share my pain!11 -
So as all of you web developers know. If you are stepping into the world of web development you stepping into a world of unlimited possibilities, opportunities and adventure.
The flip side is that you step into a world of unlimited choices, tools, best practices, tutorials etc.
Since even for a veteran programmer, this is a little overwhelming, I'd like to take the opportunity to ask you guys for advice.
I know that 'there is no best' and that everything 'depends on what you want to achieve'. So how about just say the pro's and cons or when to use and when not to use. Or why you prefer one over another. Everything is allowed! :D
Maybe it will help others too. Start a nice, professional discussion:)
These are the parts I'd like advice about:
- frontend: what frameworks, libraries
- backend: language, framework, good practice
- server: OS, proxy (nginx, Apache, passenger), extra tips (like don't use root user)
- extras: git, GitHub, docker, anything
Thanks in advance everyone willing to help!:)
Also, if you only know frontend or backend. No worries, just tell me about your specialism!6 -
Rant!
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3 -
[wk249]
My specialty, I don't think I actually have specialised in anything, maybe that's why I never run out of work, shove a problem on my desk and it gets done, don't have experience? Welp, you do now!
Maybe that's the point, you see a lot of people fall of the wagon or get stuck without work, and here I am just plowing through the next problem at hand.
My career was founded on trying something new, seeing something and going, it's needs X, or Y and building my own with it - no degree got me into software, and no degree is going to replace the years of experience gained by just trying new things.
It also allows you to be well versed in a lot of areas and not feel the paradigm shift when changing stack, language, framework, or whatever, it's just another tool in the shed that has its purpose.1 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
I'm out of my mind bored. I'm an unemployed person with a great job. You'd think this would be awesome. It's torture.
I work for a consulting company. I get paid whether or not they have work for me. They haven't for several months. I'm not hearing anything. I don't know when it will change.
I'm a skilled developer in a few very popular languages - nothing remotely in the ballpark of old or obsolete. I hear that's in demand. I spend most of my time answering questions on Stack Overflow. I really like to help people, but it boggles my mind that the people struggling with the stuff I help them with all have actual work to do and I don't.
I like to learn about new stuff, but I'm just not interested in learning another framework or anything else to add to the giant pile of stuff I'm already not using. It's not fun anymore.
I don't want to do another side project, either. I have a job as a software developer. That should, at some point, involve developing some software.
This is sucking the life out of me. It's harder and harder to get out of bed and come to work. I've held off looking for another job because I'm hoping this will change. The people here are great. I could go somewhere else and it could suck for completely different reasons.
Ironically, this is close to the reason why I left my last job. Ten years ago I went through a spell where I just gave up and stopped coming to work for over a month. No one noticed. Other people were stressed about getting laid off. Some of them were. Not me.
Am I part of some weird experiment to see how insane someone can go in this totally screwed-up circumstance? Are people following me around with cameras?
I'd love to find something else, but by all outward appearances I had already found an awesome place to work. There's only one thing missing - the work.
Thanks for listening. I'm just going to put my head on my desk for a while and despair. What is wrong with this industry? We're a mess on so many levels.12 -
TL;DR: Stop using React for EVERYTHING. It's not the end-all solution to every application need.
My team is staffed about 50/50 with tenured devs, and junior devs who have never written a full application and don't understand the specific benefits of different libraries/framworks. As a result, most of these junior devs have jumped on the React train, and they're under the impression that React is the end-all answer to any possible application need. Doesn't matter what type of app is, what kind of data is going to be flowing through the app, data scale, etc. In their eyes, React is always the answer. Now, while I'm not a big fan of React myself, I will say that it does its job when its tasked with a data-heavy application that needs to be refreshed/re-rendered dynamically and frequently (like Facebook.) However, my main gripe is that some people insist on using it for EVERYTHING. They refuse to acknowledge that there can be better library/framework choices (Angular, Vue, or even straight jQuery,) and they refuse to learn any other frameworks. You can hit them with countless technical reasons as to why React isn't a good choice for a particular application, and they'll just spout off the same tidbits from the "ReactJS Makes My Nips Hard 101" handbook: "React is the future," "Component-based web architecture is the future," (I'm not arguing with that last one) "But...JSX bro.," "Facebook and Netflix use it, so that's how you know it's amazing." They'll use React for a simple app, and make it overly-complex, and take months to write something that should have taken them a week. For example, we have one dev who has never used any other frameworks/libraries apart from React, and he used React (via create-react-app) to write what is effectively a single form and a content widget inside of a bootstrap template. It took him 4 MONTHS to write this, and it still isn't fully functioning. The search functionality doesn't really work (in fact, it's just array filtering,) and wont return any results if you search for the first word in an entry. His repo is a mess, filled with a bunch of useless files that were bootstrap'd in via create-react-app. We've built apps like this in a week in the past using different libraries/frameworks, and he could have done the same if he didn't overly-complicate the project by insisting on using React. If your app is essentially a dynamic form, you don’t need a freaking virtual DOM.
This happens every time a big new framework hits the scene. New young developers get sucked into it, because it's the cool hip new framework (or in React's case, library.) and they use it for everything, even when it's not the best choice. It happened with Angular, Rails, and now it's happening with React.
React has its benefits, but please please please consider which library/framework is the best choice from a technical standpoint before immediately jumping on the React train because "Facebook uses it bro."2 -
Everyone and their mother has a JavaScript framework and the NEWEST cool npm module you're an idiot for not using.
It's like musicians and gear acquisition syndrome, coders love to have new stuff even if it's over-engineered, already exists, or redundant.
Hate dealing with tech hipsters 🙄 is nothing tried and true anymore?2 -
It really irks me when I see 'web developers' and 'front-end developers' write CSS like a bunch of first-timers. Not considering hierarchy, specificity or even following a proper naming convention (who the fuck mixes camel case AND lowercase for class names?!) It's worse when you already have Sass or SCSS and they still write their style rules WITHOUT PROPER NESTING or keep using !important like it was a goddamn semicolon.
This is fucking basic shit for a web or front-end developer, and God help you if I ever conduct your technical interview and decide to ask you on a whim to write an Angular app WITHOUT USING BULLSHIT SYSTEMS LIKE CLARITY, ANGULAR MATERIAL OR BOOTSTRAP for your UI. But if you can explain to me the pros and cons between using CSS grid and flex, I'll be fucking impressed.
I wish these 'UI experts' I keep encountering would learn to build an optimal static site without a fucking framework or build manager before doing advanced shit, for the love of Jeebus.14 -
Me, the only iOS dev at work one day, and colleague (who we'll call AndroidBoy), the only Android dev at work that same day (he's been working with us for less than two months). There was a change in one of the jsons we received from the server: instead of receiving a list, we now received a dictionary with strings as keys and lists as values. My iOS colleague had already made this modification on our parse function the day before.
AndroidBoy: "Hey what happened with the json?"
Me: "Oh, well instead of parsing a list, we'll parse a dictionary and get the list from each key. You basically have to do the same thing, only this time the lists are organized into categories."
AndroidBoy: "Oh, ok. But I don't know how to parse a dictionary while using Retrofit." (Context: Retrofit is a framework for request handling - correct me if I am mistaken, that's just what I've been told)
Me: "Sucks, dude, can't help ya. I've never worked with that and don't have that much exp. with Android."
I go out for a cigarette break. When I return, AndroidBoy is nowhere to be seen and suddenly I can't seem to get that data in my app. AndroidBoy comes in from the room where the backend colleagues work.
AndroidBoy: "Solved it!"
Me: "Solved what?"
AndroidBoy: "I told them to change back to a list and just put the key inside the objects of the list."
... he used the precious time of the backend colleagues to change the thing back hust because he was too lazy to search how to parse a dictionary. I was so amazed by his answer, that I didn't know whether to laugh, scream at him or punch him in the face. Not to mention the fact that now I had to revert just so he could avoid that extra work.5 -
I find many of the peculiarities about our kind (developer) to be amusing.
Here is one I have seen too many times to count...
You ask a group of developer something like...
“We have a project built using X, Y and Z. We are looking at integrating the “example framework” to solve a specific problem. Do you have any experience with “example framework” or would you suggest another framework?”
Inevitably you get the same useless response of “Why are you using X, Y, and Z. It’s so <insert generic complaint here>!” Followed with no actual attempt to answer the question asked...
Listen, I know some of us a socially awkward (I can be) and I know we like to debate and argue.
But, if someone asks you a specific technical question about an existing product, either...
1. Answer the question with your experience
2. Declare that you do not have experience with it
3. Shut your fucking childish mouth
No one cares about how you feel about the size of the underlying technology in existing products! What do you expect?
“OMG, we didn’t realize X technology as 100mb large! Hold on while we go and reengineer our entire product base because of this fucking revelation you just told us!”
You may want to hear your own voice but the rest of us would prefer it if you would shut your mouth if you have nothing useful to add.
(Reads as: we would prefer is you fucked right off!)3 -
Kinda all other devs translate incompetent with a lack of knowledge
i would go with not able to recognize his lack of knowledge
Story 1:
once we had a developer, whom was given the task to try out a REST/Json API using Java
after a week he presented his solution,
2 Classes with actual code and a micro-framework for parsing and generating JSON
so i asked him, why he didn't use a framework like jackson or gson, while this presentation he felt pretty offended by this question
a couple of weeks later i met him and he was full of thanks for me, because i showed him, that there are frameworks like that, and even said sorry for feeling offended
- no incompentence here -
Story 2:
once i had a lead dev, who was so self-confident, he refactored (for no reason but refactoring itself) half the app and commited without trying to compile/run test
but not only once, but on a regular basis
as you may imagine, he broke the application multiple times and blamed the other devs
- incompentence warning-
Story 3:
once i had a dev, which wanted to stay up with the latest versions of his libraries
npm update && commit without trying to compile/testing multiple times
- incompentence warning-
Story 4:
once i had a cto
* thought email-marketing is cutting edge
* removed test-systems completely to reduce costs
* liked wordpress
* sets vm to sleep without letting anyone know
- i guess incompetent alert -2 -
!rant
Arduino CNC
Hey guys.
Since I mostly see frameworks to use with G-Code in Arduino CNCs I'm gonna make my own framework, where you don't need to know G-Code and the code is executed by Arduino code.
The code would include a template to define steppers steps and such.
Would include a library to work with different stepper shields.
Would this interest to anyone?
I'll provide a full example with stuff to learn for any amateur working with CNCs or that want to work with one. If you're not interested, thank you for reading, you can stop here.
Ex:
X(10);
Y(-5.5);
XY(6,7.5);
Z(-10);
This framework would only use incremental coordinates and will work for basic forms, drilling and such.
<Tutorial>
Coordinates.
Coordinates can be relative/incremental or absolute.
Lets say you have a square with 10mm, (top coordinates: (X=0,Y=0) to (X=10,Y=10).
think your drawing this square.
First line:
X0, Y0
Absolute: x10,y0
Relative: X+10
Second line:
A: x10,y10
R: Y+10
Third Line (...)
Absolute is a fixed point (coordinate)
Relative is a distance to move (not a coordinate but the distance and direction)
</Tutorial>
So, to cut a square with a TR10 (end mill with radius=5, diameter=10)
<code>
// You don't place + in positive values
// The tool always cut in the direction of the tool rotation, meaning on the left of the material.
Z(10); // Security Distance
XY(-5,0); //Compensate the diameter of the tool in radius
Z(-1); // Z=0 is the top of the block to mill, in this case. Z=0 can also be in the bottom
Y(15); //Second Point
X(15); // Third Point
Y(-15); // Forth point
X-15; // Fifth Point
(repeat)
</code>
Now we have a block with 1mm depth. If you use a while or for you can repeat the sequence for x=n passages, change the value to Z for the depth and your done.31 -
I started to hate programming.
I started with a lot of enthusiasm 11 years ago up to become in 2 years a full stack dev, a sysadmin and had also my fair share of technical assistance on every device plus hardware experience mounting hardware like cctvs, routers, extenders, industrial printers and so on. At the time you actually had the tools to solve problems and had to crack your head and pull hairs to solve stuff and people actually was developing solution and frameworks that solved stuff.
Today I can't stand anything.
Every midschooler feels entitled to release a framework that is announed as the next cure for cancer. Web dev once was thin and simplistic, now simplicity is considered a bug and not a feature.
I'm working on an angular project for the nth time and the whole environment is a clusterfuck of problems held togheter with kids glue.
Someone did a tool/framework for everything but most of it is barely well tested or mature.
Just to start this project we had to know, beside html/css/js techs like Angular, Kafka, Kubernetes, Docker, git, Lit, npm/node, mysql/sql server, webpack/grunt and the hell that it brings, C#/Asp.NET/MVC/WebAPI, and so on, the list is long.
DAMN. Making a simple page which shows a tabbed view with some grids requires you to know a whole damn stack of technologies that need to cooperate togheter.
It's 10x more complex and I actually find it much less productive than ever.
But what bugs me most, is that 90% of that stuff is bug ridden, has some niche use case or hidden pitfall and stuff because with this whole crap of "hey we put on github you open a ticket" they just release spaghetti code and wait for people to do the debug for them.
Angular puts out a version every 2 days and create destructive updates.
I am so tired that I spend most of my 8hrs binging youtube vids in despair to procrastinate work.
I liked to do this once....13 -
Joined a place where I am the only FE engineer and the product is mature (around 15yrs).
Every single framework you can think of is there. The codebase is such a mess that it makes spaghetti looks neat, organized and logical.
I need to port the code to the latest standard but everything is so bad that tasks that would take a week or 2 max are taking almost a month.
I’m gonna cry. I feel so incompetent even though it’s not my fault.9 -
More like a sub company/department inside a company: Android.
I still use it as my main driver, but every time I try to get back into development with it(did it professionally for 2 years nearing on 3 and was a lead Android dev, mind you not necessarily by merit....) I end up hating everything about it.
The tooling is meh, the API is hideous and even with the addition of Kotlin, which I do find a nicer language over Java I still dislike it. The ammount of shit needed to make something as simple as store data, manage fragments, integrate with the NDK, make JSON API calls or even shake motions is just ludicrous and counter intuitive. I can see why people would hate Java based on Android, a language that I generally love and defend.
I firmly believe that people extend frameworks or tooling for 2 reasons only:
1 the stack is so awesome that you just want to create packages and libraries to extend the functionality of a powerful environment, like gems for Ruby, python packages, Node packages, php composer, nuget etc
2 the stack is so fucking hideous that people need to fix shit: the entire android square utility framework, butterknife, flutter, react native, codenameone, etc etc
The case with Android is the second. I have not met a professional Android developer that completely likes everything about Android, but will seldom find people that HATE other frameworks or environments.
Android it is for me. Still my daily driver and I love every Android phone I have ever owned. It just makes me feel lots of more compassion for fellow Android devs.4 -
What were some of your "OH MY GOD I'M AN AWESOME CODE WIZARD!" moments?
For example, I can remember two or three:
One was when I, with only cursory knowledge of C, never having worked with it but having been exposed to it (and having lots of experience with C# therefore familiar with the c-family syntax), took 5 minute look at a source code and pointed out a bug that the student working on it was trying to solve for the past 2 hours. Sadly, I don't remember what the bug was anymore.
Second one was on reddit, someone posted to gamedev group a 2minute video from his voxel+ai framework he was working on, I watched it, and without any idea what it's written in, or how, I was like "you seem to be dropping frames in a pretty regular manner unrelated to anything I see happening on the screen. You're creating too much garbage on frame-by-frame basis (probably while your AI is exploring what to do), look into object pooling, it'll help".
And the guy responded in a few hours like "by gosh, you're right! thank you! and what do you think about the source code?" (he linked git repo below the video.
And I was like OMG I'M A MAGE, I DIDN'T EVEN CLICK THE REPO LINK, ONLY NOW AFTERWARDS, AND yeah, it's c++ so sadly nothing for me, but OMG I JUST WROTE THE FIRST THING THAT CAME TO MY MIND, DIDN'T EXPECT IT TO BE CORRECT, I'M AWESOME.
=D and the feeling stayed with me for about two days.
(If it's not clear yet, it's perfectly okay, in fact, required, to brag about yourself in answering this question ;) )18 -
Can't stand it when devs who never bother to do anything / don't pull their weight etc. suddenly come out with:
"Ooh I'm really feeling the imposter syndrome right now, I feel like everyone around me is just leagues ahead of me and I shouldn't be here"
...then wait for everyone to tell them how amazing they are, how they're a critical part of the team etc.
No mate, imposter syndrome is a thing, but so is being a genuine waste of everyone's time. I'm not talking about having bad days, I'm talking about your work output being practically zilch for the past half a year or so because you're "not too familiar with the framework", then going after this pity party approach. As a senior dev, it's kinda insulting to all the great junior and mid level devs who do a better job while being paid considerably less.4 -
I love my adhd kicks. My webstorm trial ended, I downloaded vscode, hated the bindings, I then used thr intellij extension. Everything ok expect autocomplete, not a fan of tab, couldn't use enter to enter enter as a binding. Hacked that binding.json, idk how i ended up installing a json sorter extension, ow theres a imports sorter. Okay what exactly i wanted to do? Right, do my niche site. Bad idea, i had written it in kotlin js, (missing intellij already) so i searched for almost non-scripting framework. Idk what happened...i ended up being interested in tailwind. Tried it a bit, ow they have tailwind ui. Thinking about buying the sweet shit. Ow i see headless UI... Pause, threw tailwind out. Thinking about react, met Solid, loved it, yarned and npmed it. Extension time, auto tag rename, more emmet like shit, rainbow and fira fonts, theme, scheme, ow colors whaaaw. Okay, its not gonna look like or feel like intellij, more like IDEA community if i had made the ide. What was i making again? Ah my webcrapp. still (idea)less... I went to codepen, grew a beard, came out, still feeling powerfully uncreative. Last stop: awwwards.. ow that awesome 7up nl site, imma see it, they nuked the animations, everything. This is where the rant actually ends, because THANK GOD I DONT FULLSTACK FOR A LIVING!!! Swift, Kotlin, XML and unpredictable Gradle is good enough for me to stop me from going wild. Stay safe. Genetic.🙋♂️2
-
Angular is still a pile of steaming donkey shit in 2023 and whoever thinks the opposite is either a damn js hipster (you know, those types that put js in everything they do and that run like a fly on a lot of turds form one js framework to the next saying "hey you tried this cool framework, this will solve everything" everytime), or you don't understand anything about software developement.
I am a 14 year developer so don't even try to tell me you don't understand this so you complain.
I build every fucking thing imaginable. from firmware interfaces for high level languaces from C++, to RFID low level reading code, to full blown business level web apps (yes, unluckily even with js, and yes, even with Angular up to Angular15, Vue, React etc etc), barcode scanning and windows ce embedded systems, every flavour of sql and documental db, vectorial db code, tech assistance and help desk on every OS, every kind of .NET/C# flavour (Xamarin, CE, WPF, Net framework, net core, .NET 5-8 etc etc) and many more
Everytime, since I've put my hands on angularJs, up from angular 2, angular 8, and now angular 15 (the only 3 version I've touched) I'm always baffled on how bad and stupid that dumpster fire shit excuse of a framework is.
They added observables everywhere to look cool and it's not necessary.
They care about making it look "hey we use observables, we are coo, up to date and reactive!!11!!1!" and they can't even fix their shit with the change detection mechanism, a notorious shitty patchwork of bugs since earlier angular version.
They literally built a whole ecosystem of shitty hacks around it to make it work and it's 100x times complex than anything else comparable around. except maybe for vanilla js (fucking js).
I don't event want todig in in the shit pool that is their whole ecosystem of tooling (webpack, npm, ng-something, angular.json, package.json), they are just too ridiculous to even be mentioned.
Countless time I dwelled the humongous mazes of those unstable, unrealiable shitty files/tools that give more troubles than those that solve.
I am here again, building the nth business critical web portal in angular 16 (latest sack of purtrid shit they put out) and like Pink Floyd says "What we found, same old fears".
Nothing changed, it's the same unintelligible product of the mind of a total dumbass.
Fuck off js, I will not find peace until Brendan Eich dies of some agonizing illness or by my hands
I don't write many rants but this, I've been keeping it inside my chest for too long.
I fucking hate js and I want to open the head of js creator like the doom marine on berserk19 -
Despite common sense, I think technology is not making our lives easier. It's just build chaos on top of chaos.
Take server-side programming for instance.
First you have to find someone to host your thing, or a PaaS provider. Then you have to figure out how much RAM and storage you need, which OS you're going to use. And then there's Docker (which will run on top of a VM on AWS or GCP anyway, making even less sense). And then there's the server technology: nginx, Apache (and many many more; if, that is, you're using a server at all). And then there are firewalls, proxies, SSL. And then you go back to the start, because you have to check if your hosting provider will support the OS or Docker or your server. (I smell infinite recursion here.)
Each of these moving parts come with their own can of worms in terms of configuration and security. A whole bible to read if you want to have the slightest clue about what you're doing.
And then there's the programming language to use and its accompanying frameworks. Can they replace the server technology? Should you? Will they conflict with each other and open yet another backdoor into your system? Is it supported by your hosting provider? (Did I mention an infinite recursion somewhere?)
And then there's the database. Does it have a port to the language/framework of your choosing? Why does it expose an web interface? Is it supposed to replace your server? And why are its security features optional again? (Just so I have to test both the insecure and the secure environments?)
And you haven't written a single line of code yet, mind you.4 -
We need to normalize not being a passionate CS guru. You can be good at your job and not have passion for it. You don't have to dedicate your life to your career in every facet.
I don't expect plumbers to sit around their house all day during their free time hooking up water lines. Why is it expected that I'm always reading some dev book or learning some new framework or reading some tech blog?
I do other shit, and that's fine. My job earns me a paycheck and I'll improve on the clock, and when I walk out at the end of the day I leave that shit there.
At most I might converse with you informally about tech but I'm not going to spend my little free time going to meetups and pretending like I care more than I do. If you do that's great, but I'm not you and that's fuckin fine too.10 -
dev, ~boring
This is either a shower thought or a sober weed thought, not really sure which, but I've given some serious consideration to "team composition" and "working condition" as a facet of employment, particularly in regard to how they translate into hiring decisions and team composition.
I've put together a number of teams over the years, and in almost every case I've had to abide by an assemblage of pre-defined contexts that dictated the terms of the team working arrangement:
1. a team structure dictated to me
2. a working temporality scheme dictated to me
3. a geographic region in which I was allowed to hire
4. a headcount, position tuple I was required to abide by
I've come to regard these structures as weaknesses. It's a bit like the project management triangle in which you choose 1-2 from a list of inadequate options. Sometimes this is grounded in business reality, but more often than not it's because the people surrounding the decisions thrive on risk mitigation frameworks that become trickle down failure as they impose themselves on all aspects of the business regardless of compatibility.
At the moment, I'm in another startup that I have significantly more control over and again have found my partners discussing the imposition of structure and framework around how, where, why, who and what work people do before contact with any action. My mind is screaming at me to pull the cord, as much as I hate the expression. This stems from a single thought:
"Hierarchy and structure should arise from an understanding of a problem domain"
As engineers we develop processes based on logic; it's our job, it's what we do. Logic operates on data derived from from experiments, so in the absence of the real we perform thought experiments that attempt to reveal some fundamental fact we can use to make a determination.
In this instance we can ask ourselves the question, "what works?" The question can have a number contexts: people, effort required, time, pay, need, skills, regulation, schedule. These things in isolation all have a relative importance ( a weight ), and they can relatively expose limits of mutual exclusivity (pay > budget, skills < need, schedule < (people * time/effort)). The pre-imposed frameworks in that light are just generic attempts to abstract away those concerns based on pre-existing knowledge. There's a chance they're fine, and just generally misunderstood or misapplied; there's also a chance they're insufficient in the face of change.
Fictional entities like the "A Team," comprise a group of humans whose skills are mutually compatible, and achieve synergy by random chance. Since real life doesn't work on movie/comic book logic, it's easy to dismiss the seed of possibility there, that an organic structure can naturally evolve to function beyond its basic parts due to a natural compatibility that wasn't necessarily statistically quantifiable (par-entropic).
I'm definitely not proposing that, nor do I subscribe to the 10x ninja founders are ideal theory. Moreso, this line of reasoning leads me to the thought that team composition can be grown organically based on an acceptance of a few observed truths about shipping products:
1. demand is constant
2. skills can either be bought or developed
3. the requirement for skills grows linearly
4. hierarchy limits the potential for flexibility
5. a team's technically proficiency over time should lead to a non-linear relationship relationship between headcount and growth
Given that, I can devise a heuristic, organic framework for growing a team:
- Don't impose reporting structure before it has value (you don't have to flatten a hierarchy that doesn't exist)
- crush silos before they arise
- Identify needed skills based on objectives
- base salary projections on need, not available capital
- Hire to fill skills gap, be open to training since you have to pay for it either way
- Timelines should always account for skills gap and training efforts
- Assume churn will happen based on team dynamics
- Where someone is doesn't matter so long as it's legal. Time zones are only a problem if you make them one.
- Understand that the needs of a team are relative to a given project, so cookie cutter team composition and project management won't work in software
- Accept that failure is always a risk
- operate with the assumption that teams that are skilled, empowered and motivated are more likely to succeed.
- Culture fit is a per team thing, if the team hates each other they won't work well no matter how much time and money you throw at it
Last thing isn't derived from the train of thought, just things I feel are true:
- Training and headcount is an investment that grows linearly over time, but can have exponential value. Retain people, not services.
- "you build it, you run it" will result in happier customers, faster pivoting. Don't adopt an application maintenance strategy
/rant2 -
Our project at work goes live in 3 weeks.
The code base has no automated tests, breaks very often, has never had any level of manual testing
will not be releasing with any form of enforced roles or permissions in our first release now due to no time to enforce, however there is a whole admin api where you can literally change anything in our database including roles.
We also have teams in various countries all working separately on the same solution using microservices with shared nuget packages and they aren't using them properly.
Our pull requests are so big - as much as, 75 file changes - in our fe app that I can't keep up with it and I honestly have no idea if it even works or not due to no automated tests and no time to manually test.
We have no testing team, or qa team of any sort.
Every request into the system has to hit a minimum of 3 different databases via 3 different microservices so 1 request = 4 requests with the load on the servers.
We don't use any file streams so everything is just shoved in the buffer on the server.
Most of the people working on the angular apps cba to learn angular, no one across 2 teams cba to learn git. We use git so they constantly face problems. The guy in charge has 0 experience in angular but makes me do things how he wants architecturally so half the patterns make no sense.
No one looks at the pull requests, they just click approve so they may as well push directly to master.
Unfinished work gets put in for pull request so we don't know if the app is in a release state since aall teams are working independently, but on the same code base.
I sat down and tested the app myself for an hour and found 25 fe only issues, and 5 breaking cross browser issues.
Most of our databases are not normalised. Most of our databases make no sense. 99% of our tables have no indexing since there is no expertise with free time to do it.
No one there understands css properly. Or javascript.
Our. Net core microservices all directly use ef in the controller actions so there is no shared code there.
Our customer facing fe app is not dry because no tests so it was decided it was better this way.
Management has no idea on code state, it seems team lead is lieing to them about things like having any level of tests.
Management hire devs that claim to be experts but then it turns out they have basically no knowledge of what they were hired to do, even don't know what json is or the framework or language they are hired for, but we just leave them to get on with it and again make prs too big to review.
Honestly I have no hope that this will go well now but I am morbidly curious to watch. I've never seen anything like the train wreck that we are about to get experience.5 -
Many people here rant about the dependency hell (rightly so). I'm doing systems programming for quite some time now and it changed my view on what I consider a dependency.
When you build an application you usually have a system you target and some libraries you use that you consider dependencies.
So the system is basically also a dependency (which is abstracted away in the best case by a framework).
What many people forget are standard libraries and runtimes. Things like strlen, memcpy and so on are not available on many smaller systems but you can provide implementations of them easily. Things like malloc are much harder to provide. On some system there is no heap where you could dynamically allocate from so you have to add some static memory to your application and mimic malloc allocating chunks from this static memory. Sometimes you have a heap but you need to acquire the rights to use it first. malloc doesn't provide an interface for this. It just takes it. So you have to acquire the rights and bring them magically to malloc without the actual application code noticing. So even using only the C standard library or the POSIX API can be a hard to satisfy dependency on some systems. Things like the C++ standard library or the Go runtime are often completely unavailable or only rudimentary.
For those of you aiming to write highly portable embedded applications please keep in mind:
- anything except the bare language features is a dependency
- require small and highly abstracted interfaces, e.g. instead of malloc require a pointer and a size to be given to you application instead of your application taking it
- document your ABI well because that's what many people are porting against (and it makes it easier to interface with other languages)2 -
Interviewed for a company that needed help with an Ecommerce website, after which I was given a take home assignment to create a small web page displaying books from a DB.
The instructions specifically said to write it in any language or even pseudocode... Upon turning in the working solution I was rejected for not picking their current Ecommerce framework.
WHAT THE ACTUAL FUCK. Clearly they forgot to list "mind reader" in the job description...2 -
This might not resonate with many ranters here... but FUCK Taylor Otwell & Graham Campbell.
Like, not on a personal level. Maybe they're great to drink a beer with. But as framework devs... fuck everything about them.
Laravel seems so nice, it takes away many annoyances of developing in PHP. Collections are the array object you've always needed. The route bindings, middlewares, request validation objects, it's all sweet.
But eventually your company serves a few million customers, you run into specific performance problems or missing features on a deeper level. You open the issue tracker... and see a few hundred issues about the problems you are encountering, they already exist.
Some just have a short paragraph with a request for a feature, some complete PRs with tests in the style of the framework. All of them closed.
Reasons?
"We don't think anyone will ever need this"
"This seems complicated, you can just do <super non-DRY hacky code>"
FUCK YOU WITH YOUR TODO APP SNIPPETS AND USER-POST-ARTICLE EXAMPLES. I'M NOT BUILDING THE NEXT WORDPRESS. I'M DEALING WITH THE REALITY OF GRAPH DATABASE CLUSTERS, COMPLEX AUDITING LOGS AND A GAZILLION QUERIES PER SECOND.
Sigh... the problem with all these "simple" and "elegant" languages & frameworks is that they don't fucking scale.
Not because the language, server or framework intrinsically can't do it, but because the maintainers are stuck thinking in terms of their retarded non-realistic example apps.
I think I'll go back to my cave and write some Haskell or Rust to calm down.2 -
Today I had a problem with a JS framework. The only person who was available who could help me was the one I avoid, because he always knows everything better.
Well, after I asked if he had time for me, he sits next to me and I started to explain.
After looking around, he started blaming my backend code.
(I belong to the kind of dev that tries to write small and simple code. But I also often use the more complex features of the languages.) He suddenly started accusing everyday things in the backend like inheriting a class or using objects and basic data types together as parameters of a method (WTF???) Hell, all I could say at that moment was that I had a problem with this JS framework and not with the backend that worked well. He probably tried for over an hour to find the bug in the backend and just wouldn't listen, after that he gave up. I wonder what this bitch has learned over the years. Can it really be that he forgot the basics of a programming language? Or has the fool never worked with an inheritance before? I think he's an incapable piece of shit, he hasn't even patched my reported vulnerability in his project in the last half year, which allows to inject own code onto the server.
Because of such fucking morons I get a headache when I think about it. How can it be that he's got a higher degree and earns about 50% more. I should leave this company!3 -
Not planning ahead, just start at some point, adding just a tiny little feature after another, and then wondering why your to do app (just to check out a new framework or language) suddenly comes with Blockchain, a chatbot and a machine learning algorithm that (slowly) learns when the best time to show random cat videos is...
-
I don't want to trash-talk anyone's favorite programming language - after all, I get quite pissed if anyone rants about my favorite language, too! I'm not saying that VB .NET is a bad language. It really has its strengths, even more so for beginner devs. But is this guy serious?
https://red-gate.com/simple-talk/...
I don't even particularly care for C# - mostly because I don't like Pascal Case and it's a Microsoft Original and I don't want MY source code spying on ME... But still... every single one of the points that guy tries to make is either IDE-specific, not a big deal or even an advantage in my opinion!
What bothers me the most, however, is the way he subtly tries to force his own opinion upon his readers. "It doesn’t matter if you disagree with everything else in this article: case-sensitivity alone is sufficient reason to ditch C#!" - quote end!
Real sneaky fella.11 -
You know what really grinds my gears more than anything else? Not having anything to work on at work.
That might sound like the most german thing to say but bear with me for a second.
Even though i am almost one year into my job as a junior dev, i consider myself and i probably am very new to the coding world. And even if i weren't new i would still have to continuously learn and improve. And every time i just sit in front of my working station, with nothing to do, i'd rather figure out an incredibly tedious bug, learn lisp or deal with a shitty framework.
Most of the time i don't know what to do. I improve my workflow with some bash-scripts and aliases, i read into the details of certain tools but at the end of it, i can't really get into something deeper and get value out of it because actual work might just be around the corner...3 -
Tried flutter for the first time in life, for 2 days, java based Android dev here.
I have some.... thoughts...
Flutter does not feel extremely new to me. It is very much relatable if you have ever tried basic the spring/ other java based gui framework. It is trying to achieve the goods from multiple worlds,its so far good, but mann its playing on thin ice.
Flutter : Yo boy embrace me. I am the beauty. checkout my hot reload.
Me :❤️❤️😍 (But wait. your first execution is wayy longer than a simple android studio build. And AS would generally take smaller time after every rebuild. And you are going to take the same long time as first build, if app gets closed or my usb gets accidentally removed. So I see what you did there ;))
Flutter: Ha. Checkout my function passing as parameter. ever thought your puny java going to give you that?
Me :you got me ,❤️. (Although this style is not so uncommon with web devs)
Flutter: everything is a widget, everything is stateful or stateless, Single Streams FTW!
me: ❤️
Flutter:You kotlin devs are gonna love me, i got Small, concise code
Me: Now wait, This is a thin ice for me, okay? I hated when kotlin replaced everything with symbols & lamdas for a confusing but small code, So be careful,even though your code is still good.
Flutter : Control every pixel , dear! No more xmls!
Me : Yes, what is with that? are we accidentally going in the past?
Java desktop apps, spring framework used to build whole layouts with programming language. The day i stepped into Android, it was xml for ui and java/kotlin for code. was that a bad decision or is this one?
Anyways i liked my stuff seperated, but that's just me.
Flutter : Ugh so much whining. Are you going to work with me or not?
Me : Yes mam! ❤️4 -
I want a boring software developer job. I’ve been working for software consulting companies since the beginning. And is just so stressful. Clients always ranting, the need to always be in the cutting edge, or even the complete opposite. There’s always pressure to get certified in X o Y. I don’t want that anymore. I don’t want to be constantly catching up with the latest stack or framework. I want a boring job. A slow-paced job maybe maintain some old hunk of software that does not give too much trouble. I’m tired of putting down fires all the time. Of running against the clock to deliver a meaningless app. Because all this apps don’t contribute to anything in the world. Just more clutter, more bloat. I just want to work 8 to 5 and be done with it. Just throw myself in the couch after it and play some games. Maybe do some gardening. Or bread. I love bread. Don’t you love bread?7
-
I read something LinkedIn -related just now in here, and it kind of made me think. Not really, but whatever it was, brought my mood down some...
It’s a good thing I’m not looking for work at the moment, and I’m quite happy where I am right now, because what I see in LinkedIn depresses me. More specifically, the language and/or framework experience companies are looking to recruit... Java this, Python that, React everywhere... and then there’s the M$ shops... (oh and Scala - surprisingly much Scala, waduheq?) Urgh...
Don’t take it wrong, I totally understand sticking to the tried and tested tools you just know there’s devs aplenty who know their way around them. It’s just from the perspective of someone who prefers to use one of the better tools for a job, it breaks my heart to not see them utilized more, and it makes me think what I would do if I was fired rn? (Unlikely, but theoretically...) Tbh, I don’t know. Probs apply to one of the few F# jobs out there, even when I knew I’d probably have to work on a Windork machine again (pls no), but due to the drawback I just mentioned, not such a bright prospect after all...4 -
Is your code green?
I've been thinking a lot about this for the past year. There was recently an article on this on slashdot.
I like optimising things to a reasonable degree and avoid bloat. What are some signs of code that isn't green?
* Use of technology that says its fast without real expert review and measurement. Lots of tech out their claims to be fast but actually isn't or is doing so by saturation resources while being inefficient.
* It uses caching. Many might find that counter intuitive. In technology it is surprisingly common to see people scale or cache rather than directly fixing the thing that's watt expensive which is compounded when the cache has weak coverage.
* It uses scaling. Originally scaling was a last resort. The reason is simple, it introduces excessive complexity. Today it's common to see people scale things rather than make them efficient. You end up needing ten instances when a bit of skill could bring you down to one which could scale as well but likely wont need to.
* It uses a non-trivial framework. Frameworks are rarely fast. Most will fall in the range of ten to a thousand times slower in terms of CPU usage. Memory bloat may also force the need for more instances. Frameworks written on already slow high level languages may be especially bad.
* Lacks optimisations for obvious bottlenecks.
* It runs slowly.
* It lacks even basic resource usage measurement.
Unfortunately smells are not enough on their own but are a start. Real measurement and expert review is always the only way to get an idea of if your code is reasonably green.
I find it not uncommon to see things require tens to hundreds to thousands of resources than needed if not more.
In terms of cycles that can be the difference between needing a single core and a thousand cores.
This is common in the industry but it's not because people didn't write everything in assembly. It's usually leaning toward the extreme opposite.
Optimisations are often easy and don't require writing code in binary. In fact the resulting code is often simpler. Excess complexity and inefficient code tend to go hand in hand. Sometimes a code cleaning service is all you need to enhance your green.
I once rewrote a data parsing library that had to parse a hundred MB and was a performance hotspot into C from an interpreted language. I measured it and the results were good. It had been optimised as much as possible in the interpreted version but way still 50 times faster minimum in C.
I recently stumbled upon someone's attempt to do the same and I was able to optimise the interpreted version in five minutes to be twice as fast as the C++ version.
I see opportunity to optimise everywhere in software. A billion KG CO2 could be saved easy if a few green code shops popped up. It's also often a net win. Faster software, lower costs, lower management burden... I'm thinking of starting a consultancy.
The problem is after witnessing the likes of Greta Thunberg then if that's what the next generation has in store then as far as I'm concerned the world can fucking burn and her generation along with it.6 -
I am so much stunned i cannot form a sentence on what to say. Lost 3 days trying to fix a bug on why socket.io was connecting to backend TWICE per user. I cannot fucking comprehend this. Backend works fine because via postman it doesnt connect twice. Everything works fine. 72 fucking hours waste d of my life just to find out i had to change
<React.StrictMode>
<App />
</React.StrictMode>
Into
<App />
When i tell you my jaw fucking dropped it fucking did. And it does not drop often or that easily for me. What the FUCK is react strict mode???? FUCK react. I fucking hate this piece of garbage framework. I even like nextjs better. React💩💩💩💩💩💩💩💩💩💩motberfucker WHY is strict mode fucking my code what use does it have who gives a shit why does it have anything to do with websocket connection FUCK react 💩💩💩💩💩💩💩💩💩 how does this piece of camel turd have anything to do with duplicate connection 💩💩💩💩MFKKCER this garbage doesnt exist in my beautiful angular or nextjs PLS why this cancer has to be so headaching i knew I'll get FUCKED if i dont go over a detailed course learning react from scratch. Now im suffering. Learning this garbage the hard way FUCK off4 -
This is fucking mental. Nextjs is a fucking unoptimized piece of fucking trash framework. When i dont touch it for several days magically everything breaks and no longer works. What the FUCK is this garbage framework.
Also i just npm run dev after 3 days of not touching the project, when it started routing is fucking dead, freezes and loading forever, getting stuck at UI, checked activity monitor just to see this piece of fucking cum eat 330-390% of my fucking CPU
Powered by Shitcel
Nextjs unstable cum gargled bullshit garbage framework for script kiddies who think they know shit about programming but they're mindless retards who know nothing about security, jwt tokens or even devops infrastructure or IaC. Fucking useless overexaggerated trillions of dollars of marketing budget for Shitcel's framework called nextjs is not as good as the fake marketing campaign portrayed it to be. It was all a fabricated lie. A fascade. A hollywood shitshow. A faked moon landing type of framework. A fucking meme framework. Fucking pissed off for wasting my time learning it15 -
Hey dear HR people and Headhunters - learn to write proper Joboffers - when someone is a JavaScript developer and even writes JavaScript for 10 years for a living doesnt mean he can or wants to write strict typed TypeScript out of the box using an library ecosystem and NOT a framework already written with TypeScript (React vs Angular)
Write TypeScript developers in the job offers when you search them: TypeScript !== JavaScript.6 -
So... Today I started using my first Python web framework, web2py. At a first glance I liked it, the templating system, the view/controller thing ecc. But there is one thing in frameworks that I really don't like: they make me feel dumb.
I mean, in just one line of code I can generate an entire form, but if I wanna customize it a little bit... I can't. Or better, it is very hard, also if there is a bug, I have to look for a problem in an entire system that I DID NOT wrote.
I don't like the idea that the frameworksl handles everything for you, like it is teasing me, I don't even know how it works, it just works, and man, I don't like it. There's some kind of hacker in me, I dont like a system that just works, I want to know how it works. But the sad thing is that I will have to learn web frameworks if I want to work in the IT, right? Please If you can help me or share your experience with web frameworks do so.3 -
Finally finished the longest ticket I've ever worked on in my life. The ticket title and description was a pretty simple and straightforward one: "Upgrade from PHP 7.4 to 8".
If it was only so simple in real life. Our application is mostly done with API Platform framework, which is based on top of Symfony framework which is based on top of PHP language.
Once I did PHP 7 => 8 upgrade I needed to upgrade API Platform 2 => 3. But of-course that couldn't have been done as before that I needed to upgrade from Symfony 5 => 6.
This all was literally an equivalent of touching into a wasp nest - it took me a bit over 5 months and 800 hours of work and there was literally not a single source file left untouched.
In the process of all of this I've ran into literally dozen undocumented feature-breaking changes, broken backwards-compatibility promises and inside out architectural changes - from both the frameworks and the language itself.
Upgrading just one major version of anything SHOULD NOT be so hard. And to top it all up just to think I will need to do this again in a year or two..
Experiences like these really set my hate for time-based model of releases and the state of today's development in general.6 -
This is real rant, not one of these funny stories!
So, I spent 4 years to get a Computer Science degree, and did two specializations, 3.5 years more in Uni. I have 6 years of experience working in IT, from support to programming. I also speak 3 languages.
I'm from a South America country, and now I'm living in EU.
I'm 30 now and earning a little more than a MacDonald's cashier earns in the US. I have to live in a shared apartment like a fucking Uni student. I have nothing, no car, no house, no girlfriend. WTF!
IT is a fucking lie! Profession of the future my ass!
In Uni they said that finding a good job was easy, that companies would literally grab us by the neck to work for them. LIE!
I did found a low paying job though, where at least I could learn a lot more.
People were really satisfied with my work and I even received a proposal of one of our clients to work for them, but the offer wasn't good enough.
I tried entering some big companies as a Trainee, but it was so ridiculous, they said they were looking for an IT person, but they asked things related to economy and other stuff that had nothing to do with IT. I always failed in the group work/interview, it was so ridiculous, I remember one candidate saying her dream was to work for the company since she was a child, SERIOUSLY!
When the opportunity came, I moved to EU and now I'm working as a dev. But as I said, I'm not satisfied with it! In the US the yearly average software engineer salary is about 100K, I earn less than 1/4 of it. And don't come saying that US pays more because of the cost of life, here the cost of life is the same or even more expensive, a super small apartment/loft is at least 180K, a simple new car 18K and a Big Mac costs 4€.
In the US, the average salary of someone that just graduated from uni is 60K to 70K! LOL
In EU, it's super hard for someone to earn 100K, that's why many companies are creating offices here, good workforce, 2 to 3 times smaller salary!
IT also sucks because it's too volatile, there's new stuff all the time. Someone always has to come with a new language, new framework, new library, etc etc. And you have to keep learning new stuff all the time.
Also job openings always ask for experienced people, like you must have at least two years of experience with VUE.js, or something.
Do you remember the last time you went to a doctor for a checkup, did they use a new tool, or did something different during the checkup? Probably not, the medic don't have to learn new stuff all the time, he is still using a stethoscope, he is still placing a wooden stick in your mouth to check your throat...
But in IT, almost no one nowadays is going to create code using CoffeeScript, they instead will use TypeScript.
I read an article saying that an IT professional must study 20 hours a week to keep up with new trends. So I must work 40 hours and study another 20? LOL
It's not that I don't like learning new stuff, but this sucks, I want to maybe learn something different or have a hobby.
Today I regret going to uni, I feel it was a waste of time and money. They taught things like calculus and physics that I never had to use professionally, and even programming stuff like linked lists I never had to use.
If instead I had studied dentistry or studied to be a ophthalmologist I think I would be earning more, would be working more independently and wouldn't need to keep up learning new things so much.
Also to work in IT you don't need a diploma, I read an article by a dude that learned programming by his own, did some software for his portfolio and got a job at Google.
When I read these kinds of story I regret even more going to uni, It really feels I wasted my time.
For these reasons I can't recommend going to uni to study IT, if you want to go to uni go study something else!
If you want to study programming do it on your own, there's everything you must know online for free, create a portfolio, and look for a job or even try working for yourself!
Living the life I have now, there's just no incentive to keep going.
Should I keep learning new stuff so maybe I can get a better job that will still pay low, or quit and try creating something on my own?
Or even ditch IT all together and go back to uni? LOL NO!5 -
My boss drives me crazy. He hired me for working on his SDK which is game related. So I am responsible for basically everything, including an ingame UI (menu etc.) and to predict the future path of a game object (unit, minion, ..) when a certain spell is casted on it. For that task I divided the prediction into firstly getting the predicted path of the unit without a spell being casted and then a class that would cast the spell on that path and estimate the units reaction to that cast. Simplified, but that way you get a pretty okayish result. Now he thinks that is too complicated. "Can we not put everything into one class, if someone wants to replace the prediction he needs to read documentation for hours". WHAT THE FUCK DID YOU EXPECT, THAT IT'S GONNA BE SOME ONE CLASS 3K LINES MAGIC??
Same for the GUI. We only have DirectX and don't want to use a framework. Guess what, it's more than one class if you want to seperate view, model, controller or whatever fucking "design pattern" thing you use.
And then Git... he seriously said let's not use branches till release, I feel like they slow down things.. before I was there they did every operation on master.
And if it was just that..
/rant
I put much work into this, time to leave?1 -
I think I need some "programming detox", a couple weeks away from any kind of software development. It's just not fun anymore, I have lost my drive, I'm lazy to learn new stuff, I never finish my projects, I don't even know if I enjoy web development anymore.
Actually, I'm kind of lost on what to do with my life.
I don't want to become a full time web developer because it's boring, it's always the same shit: write frontend with some sort of framework, design database, write backend, rinse and repeat. There's nothing new, all projects seem to have the same requirements.
I don't want to get into machine learning and whatnot because it's a lot of math and theory, I like math but idk if I would like doing that all day. Same goes for basically anything related to research.
Low level stuff: on paper I like it, it's interesting, but I'm too lazy to learn and whenever I come up with a robotics project I end up making a shopping list and forgetting about it because either 1) stuff is too expensive or 2) I can't make the parts I want without spending a lot of money on tools. Also from what I can see in school, VHDL is boring af.
I just don't know what I like anymore, nothing gets me excited, not even video games. I used to like csgo but I just suck at it and I only play it because there's nothing else to play and deep down I still have a little bit of hope of becoming a decent player, even though I know I never will.
I just don't know what I want out of life. Sometimes I just like having tons of school assignments (especially calculus ones) just to keep me busy.8 -
A peeve of mine is when someone in the software industry denigrates a technology/tool/framework outside of his role eg webdevs on sysadmin stuff or viceversa.
I'm not trying to shame anyone for having subjective experiences, I just think that if you're gonna talk about tools that are not on your domain, then you need to be twice as humble as usual.
I'm a webdev and I don't post around how I KNOW how to make ssh secure, while other people devote their entire careers to that and all related matters.
What prompted me is seeing some not webdevs do this here that seem to be sysadmins/devops (can't tell for sure since I don't know them), but in real life, I've seen people from any role do this, webdevs too, even testers!
Imagine you had cancer, and you had a tumor extraction, and the oncologist said to the surgeon "step aside son, let me show you how to deal with cancer".5 -
How is coupling backend + frontend as a single nextjs app a good idea? What the fuck is this?
What if you have to create new replica sets of a backend because of high load pressure? What about load balancers?? What if i want my backend to be a microservice? How do i unit test the backend if its cluttered with frontend? WTF IS THIS
WHY DID NEXTJS THINK THIS IS A GOOD IDEA AND WHY DO SO MANY DEVS LOVE THIS IDEA AND GLORIFY NEXTJS?
Nextjs seems like the type of framework that was built by a frontend web developer who just refuses to learn backend technology at all costs.
---
its been a few hours and the concept of nextjs is bending my mind rn. I thought nextjs is just another frontend framework. A react killer. Only to find out its both a backend + frontend framework.
Cluttering backend stuff into frontend is gonna get messy no matter how much you try to modularize the code. Am i lost or am i right???
---
Scratching my head over nextjs. Looks like a great framework for small-mid project but definitely not large project. The more shit the project needs the more messy shit become. Angular has modularized all of this in separate folders -- components services guards interceptors (now new stuff coming called Signals) etc. All of it is separated in individual folders and kept frontend-only. Simple enough. No backend clutter
---
Can i even use nextjs strictly as a frontend framework while it uses my custom backend built in java spring boot? For example use nextjs /api/ folder to handle custom routes built outside of nextjs framework?
Am i insane here21 -
Okay so i graduated last year and got a job working for a place that sadly disappoints me in their web development practices. This place uses a dead technology(my opinion)called Cold Fusion by Adobe. They do not use any form of version control like Git and their sites are very shitty and the design and development is implemented very poorly honestly. It honestly makes me sad that i feel like im smarter than my department vp. That being said i do not feel challenged here and am looking to collaborate in some open source projects via Github preferably.I dont consider myself an expert in this field but i would say im about intermediate level in web development. Im pretty comfortable with HTML,CSS/SASS,PHP,JS/JQuery, and im pretty comfortable in the PHP framework Laravel. So if anyone is interested in collaborating or starting something up, id be so down for it. :)7
-
You know when you decide to choose a language/framework/platform not because it's the best for the job, or the one with most developers, or the one with most job offers, but simply... because it makes you feel good, even just by looking at the code...!
-
How the Common Lisp Community will eventually die soon:
Clojure is the only main Lisp dialect having some sort of heavy presence in today's modern development world. Yes, I am aware of other(if not all) environments in which Lisp or a dialect of it is being used for multiple things, CADLisp, Guile Scheme, Racket, etc etc whatever. I know.
Not only is Clojure present in the JVM(I give 0 fucks about whether you like it or not also) but also has compilation targets for Javascript via Clojurescript. This means that i can effectively target backend server operations, damn near everything inside of the JVM and also the browser.
Yet, there is no real point in using Lisp or Clojure other than for pure academic endeavours, for which it is not even a pure functional programming language, you would be better served learning something else if you want true functional purity. But also because examples for one of the major areas in software development, mainly web, are really lacking, like, lacking bad, as in, so bad most examples are few in between and there is no interest in making it target complete beginners or anything of the like.
But my biggest fucking gripe with Lisp as a whole, specifically Common Lisp, is how monstrously outdated the documentation you can find available for it is.
Say for example, aesthetics, these play a large role, a developer(web mostly) used to the attention to detail placed by the Rails community, the Laravel community, django, etc etc would find on documentation that came straight from the 90s. There is no passion for design, no attention to detail, it makes it look hacky and abandoned. Everything in Lisp looks so severely abandoned for which the most abundant pool of resources are not even made present on a fully general purpose language constrained as a scripting environment for a text editor: Emacs with Emacs Lisp which I reckon is about the most used Lisp dialect in the planet, even more so than Clojure or Common Lisp.
I just want the language to be made popular again y'know? To have a killer app or framework for it much like there is Rails for Ruby, Phoenix for Elixir, etc etc. But unless I get some serious hacking done to bring about the level of maturity of those frameworks(which I won't nor I believe I can) then it will always remain a niche language with funny syntax.
To be honest I am phasing away my use of Clojure in place of Pharo. I just hate seeing how much the Lisp community does in an effort to keep shit as obscure and far away from the reach of new developers as possible. I also DESPISE reading other Lisp developer's code. Far too fucking dense and clever for anyone other than the original developer to read and add to. The idea that Lisp allows for read only code is far too real man.
Lisp has been DED for a while, and the zombies that remain will soon disappear because the community was too busy playing circle jerks for anything real to be done with it. Even as the original language of AI it has been severely outshined by the likes of Python, R and Scala, shit, even Javascript has more presence in AI than Lisp does now a days.9 -
First Happy new year, now lets get put on the dancing shoes... (I have another one coming, but this one is fresh)
As a PHP developer (yeah I am and I like it, if you gonna hate on me... go fuck yourself) I expect to not be required to reinvent the wheel when I have to use something that is not too mainstream (in my case was producing JSON and XML HAL responses). Now there are 2 (fairly active and somewhat mature), one of which does not produce XML responses, so off I went with the other one, but for fucks sake it does not produce XML that is compliant with the (draft)RFC (https://tools.ietf.org/html/...)
So as I need that, I decided to write one myself, since extending the one that provided XML would've been a waste of time, since it is NOT documented and for some reason depends on about 4 packages (also developed by the same maintainer), why the whining you ask, eh? Well fuck this shit. It took me 2(+2 classes) to achieve everything (according to standard as far as I can tell) + went with using a "hydrator" as opposed to reflection (the lib used reflection and didn't care too much for the access modified on the property of the object being serialized) so got a pretty solid performance boost, cleaner and simple code (I wrote it for a few hours and it is ugly, but hey KISS and it works perfectly)...
So with the more ranty part of this rant... Why the fuck so many people don't write independant packages for the simple parts... I don't hate it when I need a package and end up downloading half of the codebase of symfony or whatever fancy framework the dev decided to use, wasn't it the point of having 'package managers' (composer, npm, etc.. you get the deal..) instead of promote our projects and not force others to use our favorite framework that is absolutely out of scope for their projects...
Fuck you, fuck me and fuck everybody... If this continues I will continue writing my own packages from scratch, because "you" asshole are too lazy to learn and apply SOLID and common sense; even if your life depends on it you cannot write a meaningful piece of code without "the fancy framework of the month" holding your hand and allowing you to continue being a dumbass that has enough brain cells to walk straight and remember that you have to go to the toilet and not shit all over the place....
FML.... Fuck this shit and that is the main reason my gears grind the most when I head "you should use *framework name* instead" or "don't reinvent the wheel", fuck that guy I refuse to work my ways around a framework in order to get things done, my boss aint happy for that shit you know, I don't get paid to deal with your crappy code or uninformed opinion..3 -
To have only one Javascript framework which everyone can use which does not do breaking changes every fuckin 6 months or year. And newer versions are backwards compatible. And will not endorse in any framework wars1
-
In a time where a web dev is expected to know, well.. everything... Backend -JAVA, python, nodejs and C++ would be great.
Front- angular, react, other 10 libs
DBs -sql, mongo, redis, elastic, kafka, rebbitmq
Also be devops on the side with AWS and docker kubernetis and more stuff
How the f is that possible?
In my real job for the last couple of years and different companies, I usually use 1 language/framework & 1 main DB.. and although it's possible in some companies, but in mine, ppl dont get access to AWS etc..
So let's say there's me.. a server side dev for years.
So I decide to be better and learn Golang.. cool lang, never needed in my job, after few days of not using it I forgot all I learned and that was it.
Then I realized I gotta know some frontend cause everyone want a fullstack ninja nowadays.. so I tried Vuejs.. it was amazing .. never got to use it at work, cause i was a backend, and we didnt use frameworks on our products back then..
Also forgotten.
Then I decided to learned nodejs, because this is the coolest thing ever.. hated it, but whatever... Never got to use it at work, cause everything was written in other lang which the whole team knew... Forgot the little i knew.
Then I decided, its time to see what Angular is, cause everyone started using it... similar idea to vuejs which i barely remembered, but wow it's a lot of code to remember, or I'll have to google everything.. so I went over it, but can't say i even learned it.
Now Im trying to move on to python, which, I really am learning in depth.. however, since I dont have real experience with it, no one gives me a shot at being a python dev, so again i feel like I'm trying to memorize syntax and wasting my time..
Tired of seeing React in all job ads, i decided to have a look what's that all about.. and whadoyaknow... It's fucking the same idea as vue/angular with again different syntax..
THIS IS CRAZY!
in how many syntaxes do i need to know how to make a fucking crud api, and a page with same fucking post form, TO BE A GOOD PROGRAMMER?!?6 -
Did my first meaningful work in angular in many moons at work today - also apparently the first time I've touched it in 4 major version releases lol.
I typically find myself specializing in API and service architecture lately, so I was pleasantly surprised at how quickly I got back into the swing of things with the front end in general. Granted the app itself has been very neatly organised and written which goes a very long way to helping one find their way quickly.
That said, I really can't admit to having any desire to stay working in angular for very long. Yes, I think it speaks well to the framework itself that I can pick up immediately going from version 8 to 12 without any issue, but also, I think angular kinda sucks ass*.
* Opinion should be taken with a grain of salt coming from a .NET dev. This does not reflect the views of .NET or other devs in general. User results may vary.1 -
Well this is the thing. I have been starting to replace a lot of my shit with Golang. I think it is a great language because of one small fact: it is a boring language.
With this I don't mean that it is not incredibly fun to use. It is and honestly I feel that a lot of the concepts that I had from C passed quite nicely with some additions. The language does not do anything special and there is no elegant code. It works in a very procedural fashion without taking into consideration any of the snazzy things found in JS, Python, c# etc etc. Interfaces and struct make sense to me, way more than oop does in other languages. I don't need generics with the use of interface parameters and I have hadly found a situation in which I have to strive too far away from the way things are done with Go to be happy with it, then again my projects are not hard or by any means groundbreaking (most of them deal with logistics or content management and a couple of financial apps that I am rewriting in Go from work)
The outcome is fast and easy to read since idiomatic go is for the most part very readable(no people...single letter variable names are by no means a standard and they should feel ashamed from it)
I miss the idea of a framework, but not so much and the docs and internal code for Go is just way top inviting. I believe the code to be readable enough than anyone that has gotten used to the syntax and ideas of the language can just jump in and start learning. This is the first language that I have learnt from studying the code as it is inside of the standard lib, the same I cannot say for any other language or framework.
Also, it play beautifully nice with vs code.
I dunno man, I feel that I am doing something wrong. I have projects built in Node, php, python, ruby and spring java as well as .net core and I still find Golang way more appealing simply because it goes harder than Python with "one preferred way" to do things.
The lang does not make me feel like a pro, i certainly develop in it at pro speeds, but it was made with beginners in mind to built fast and concurrent apps, with the most minimal syntax possible.
I guess my gripe with it is that it gets shunned from this, saying that it ignored years of lang research to make it as dumbed down as possible. Which it did, lack of generics amongst other things certainly make it seem like, but I will not say that it was poorly designed. Not at all, I believe it is a testament of amazing engineering. To be able to create such a simple yet amazingly powerful language.
Wish there were more to it. Wish there was a nice gui lib or a ml framework comparable to the ones offered by python and java. But I guess such things will come with time.
I feel stupid with this language.
And that is fine.5 -
I present to you a php framework with an "orm" that doesnt support table joins. Yes, you heard it right.
I just want to say few things to the developers community -
If you are a bad programmer, please spend your time at improving rather than writing frameworks, or making the stupid decision on using SUCH SHIT FRAMEWORK AT A CORPORATE COMPANY!
Also if you are not sure if you are a good programmer or not, chances are you aren't. That's just how it is.6 -
Fuck it, fucking fuck it.
Consulting company, been here for 2 years, had some decent projects (surprise, only those that me and my coworker started from scratch), but OMG the fuck ton amount of bizarre code I've seen is just mindblowing.
Everytime I start on a project, spend days improductive because the stack won't fucking work.
We use some frameworks, but the creators of the projects said fuck it, why would we follow the framework guidelines if I can create a supersmart way that nobody fucking understands way of doing things. I mean, It will look smarter and so nobody else can touch this shitty code.
I hate that the most praised developer is the guy that created most of this shit, and his nº 1 skill is moving Jira tickets to the correct state, tracking time (PM's love this, I hate it) and blocking my fucking merge requests because I left an extra blank line, dangling comma or whatever the fuck else, he's like a human linter.
Dude, the code is a piece of shit, my dangling comma is not going to be the problem! And if you really care that much, setup a linter or something.
Fuck this, I'm quitting this week.3 -
Fuck you apache server...
Why did your dumb ass developers decide it was a good idea to not support "expect 100 continue headers". I seriously suspect that the devs were high smoking dragon dildo ashes like they were getting ready to get a whole chair shoved up their asses.
I wasted alot of time thinking i was getting a 417 http code because i fucked up my API implementation... No, it was the dumb apache server that decided to give me the finger.
Also, whoever built the HttpClient for .net framework 4... Fuck you too for automatically adding that dumb header to PUT requests and not properly documenting this or allowing for it to be disabled in a non hacky way.
I appreciate and enjoy solving coding problems... I, however, can't stand dumb decisions like the two above. -
There has been a post today about the existence of too many js frameworks. Which reminds me of this awesome post https://hackernoon.com/how-it-feels...
At first I thought someone was corpseposting, as it is my understanding that the js ecosystem is calming down a bit. But then I noticed that post got almost 20 upvotes. So here's my thoughts:
(I'm not sure what I'm ranting about here, as it feels kinda broad after writing it. I think it's kinda valid anyhow.)
I'm ok with someone expressing frustration with js. But complaining about progress is definitely off to me.
How is too many frameworks a bad thing?
How does the variety and creation of more modern frameworks affect negatively developers?
Does it make it hard to understand each of these new frameworks?
Well, there's no need to. Just because it has a logo and some nice badges and says it will make you happy doesn't mean you should use it.
You just stick to the big boys in the ecosystem and you'll be fine for a while.
Does it make you feel compelled to migrate the stack of every project you did?
Well, don't. If you don't like being on the bleeding edge of js, then just stick to whatever you're using, as long as it's good code.
But if a lot of companies decided to migrate to react (among others frameworks), it's because they like the upsides: the code is faster to write, easier to test and more performant.
In general, I'm more understanding/empathic with beginner js programmers.
But I have for real heard experienced devs in real life complain about having to learn new frameworks, like they hate it.
"I just want to learn a single framework and just master it throughout my life" and I think they're lowering the bar.
There's people that for real expect occupying positions for life, make money, but never learn a new framework.
We hold other practitioners to high standards (like pilots or doctors), but for some reason, some programmers feel like they're ok with what they know for life.
As if they couldn't translate all they learned with one framework to another.
Meanwhile our lives are becoming more and more intertwined with technology and demand some pretty high standards. Standards that historically have not been met, according to thousands of people screaming to their devices screens.
Even though I think the "js can be frustrating" sentiment is valid, the statement 'too many js frameworks is bad' is not.
I think a statement like 'js frameworks can go obsolete very quickly' is more appropriate.
By saying too many js frameworks is a bad thing you're
1) Making a conspiracy theory as if js devs were working in tandem to make the ecosystem hard,
But people do whatever they want. Some create packages, others star/clone/use them.
2) Making a taboo out of a normal itch, creating.
"hey you're a libdev? just stop, ok? stop"
"Are you a creative person? Do you know a way to solve a problem in an easier way than some famous package? it doesn't matter, don't you dare creating a new package."
I'm not gonna say the js world is perfect. The js world is frantic, savage, evolves aggressively.
You could say that it (accidentally) gives the middle finger to end users, but you could also say that it just sets the bar higher.
I liked writing jquery code in the past, but at the same time I didn't like adding features/fixing bugs on it. It was painful.
So I'm fine with a better framework coming along after a few years and stealing their userbase, as it happens almost universally in the programming world, the difference with js is that the cycle is faster.
Even jquery's creator embraced React.
This post explains also
https://medium.com/@chrisdaviesgeek...13 -
So I finished 6-month long frontend studies and the school proposed internship in one of the best local coding companies. I got their test, basically to write 'API-based internet app with any of JS frameworks'.
Me: 'Hooray!!!'. Couple of days later, app delivered. Made with jQuery (because this is the only js framework the fucking coding school taught me). Very long, very personal cover letter sent along with it.
They: ' We are sorry, but we will not consider anything written with jQuery'.
Me: 'OK'. Learning ReactJS alone by myself for two weeks, 8-10 hours daily. Another two weeks - another project delivered. News agregator, fetching from 3 APIs and merging news based on publication time. News categories, news search - all the bells and whistles. Made 100% myself - not some clone from Udemy workshop or youtube.
They: 'Sorry, your project isn't good enough'.
Me (silently): Fuck you too, stupid HR manager. If you aren't able to see the motivation and dedication in a person, shove a dildo up your ass.5 -
C# has become shit.
I work since 2013 with C# (and the whole .NET stack) and I was so happy with it.
Compared to Java it was much lean, compared to all shitty new edge framework that looked like a unfinished midschool project, it was solid and mature.
It had his problems,. but compared to everything else that I tried, it was the quickes and most robust solution.
All went in a downhill leading to a rotten shit lake when all this javascript frenzy began to pop up and everyone wanted to get on the trendy bandwagon.
First they introduced MVC, then .NET Core, now .NET 5-6-7-8.
Now I'm literally engulfed with all these tiny bits of terror javascript provoked and they've implemented in all the parts of their framework.
Everything has to be null checked at compilation time, everything pops up errors "this might be nulll heyyyyy it's important put a ! or a ? you silly!!!" everywhere.
There are JS-ish constructs and syntax shit everywhere.
It's unbearable.
I avoid js like a plague whenever I can (and you know it's not a luxury you get often in the current state of a developer life) and they're slowly turning in some shit js hybrid deformed creature
I miss 2013-2018, when it wass all up to me to decide what to do with code and I did some big projects for big companies (200-300k lines of code without unit tests and yes for me it's a lot) without all this hassle.
I literally feel the need c# had to have some compiler rule you can quickly switch called "Senior developer mode" that doesn't trigger alarms and bells for every little stupid thing.
I'm sure you can' turn on/off these craps by some hidden settings somewhere, but heck I feel the need to be an option, so whoever keeps it on should see a big red label on top of the IDE saying "YOU HAVE RETARDED DEV MODE ON"
So they get a reminder that if they use it they are either some fresh junior dev or they are mentally challenged.20 -
I’m an idiot. Stackoverflow issue that I documented to a T. Javascript. So I put requirement of not having jquery or framework.
Get a comment about do I know it is working? My answer, debugging. They respond back with a question about debugging and some details I totally didn’t read.
Well, that was the bug. Chrome debugger was showing a message I didn’t understand. So they answered my problem perfectly.
But before realizing he answered my issue, I blew up. Of course I know what is going on. The debugger is showing me....did you even run my example?
I almost felt like giving up as a developer. Here is this awesome guy, solving my issue, and some dumbass like me has to be frustrated. Now he won’t respond to take a bounty he so awesomely deserves.
I’m still a dev. I just don’t feel so professional anymore... -
I can be manipulated. Yes, I’m now more resilient to manipulation than ever because I’m autistically good at recognising patterns, yet I’m not perfect.
For a manipulator, there is just one problem — now and then, my disorder obliterates my entire worldview, together with the foreign manipulative framework, so I can start with a blank slate. It protects me. Yes, this protection is akin to our body’s “we’ll boil all the germs in our own blood” tactic that instead of defining winners and losers only leave survivors, yet the force is unstoppable. You cannot secure the land that is hit by a tornado every three months.
That inner Nemesis is so strong that it even defeated a complex, almost fractal-like manipulation of my own mother that I lived in since birth, leaving her with a wound that will never heal. Wannabe manipulator exes didn’t even stand a chance. I don’t care if that force destroys me or not, as during that time, there is no “me”.
About my mom, long story short, she told me “I want to stop treating my cancer to die as soon as possible just to not see you anymore” after my coming-out. Full story is here:
- part 1: https://devrant.com/rants/4923052/...
- part 2: https://devrant.com/rants/4924040/...7 -
That one classmate I had to do an internship with. The project has pretty simple, but we were both young to front end. I decided, that we use react, because it seemed like a fairly easy front end framework, with concepts a Java (not javascript) developer could wrap his head around.
Boi, I was wrong.
He was practically unable to implement a calendar, or rather get the sample code to work... For several days...
Needless to say that the project wasn't finished by the time we left and I feel kinda guilty for it.
Guilty that I couldn't find an other internship in time and was forced to pick this one with my classmate -
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
Sometimes I think devs are like superheroes who are bored to death and just want to have the greatest world clusterfuck possible to be ... Amused.
Backstory: One project, fairly large (roughly 200 dependencies, a framework). I looked over the ticket backlog and a critical ticket title regarding the important framework caught my eye.
(Rephrased as title was gibberish)
Framework fork needed for supporting different versions of library X
...
Ok. They want to fork a whole fucking framework for a single library dependency.
😶
The framework that is the basis of like 30 - 40 % of all projects at our company.
😶
Maybe.. I just misunderstood it. (my hope dies several times a day, one more or less doesn't matter).
Ticker: Blablablablabla...
"to incorporate library X at version A and - for other projects - at version Y, we need to split the framework into two forks with different versions but same namespace."
🤮
Why. Just why. How the fuck can anyone come up with such an incredible stupidity?
After chewing some people's ears off....
It turned out to be very simple.
Just split off the library dependent part, which were like 20 plus classes.
Release it with two different versions, for library in version A and library B.
Done.
Sometimes devs terrify me.
Please. Never fork / branch a framework or anything "heavy" completely.
That's madness. Properly split what needs to be split and be done.
It's not that hard, hmkay?1 -
Why things are fucking hard when you're not too good and not too bad at work. I'm like normal dev just throw things at me give me any task any framework I will learn it, I will solve production issues, I will help my co-workers to get their shit done even my JIRA is clean but it feels like I'm going nowhere. I'm like an average guy who knows many things other than normal guys or devs (by considering I'm junior and the people who are working with me).
I'm feeling like I'm in a fucking loop, where every day is same.
Is there anything I can do? which will make me feel little better?
I think every guy on earth have some innovative ideas even I have some(of course some of them are implemented already even they are kinda same, even some ideas are totally new, some are not possible, some requires much knowledge of certain field). But by just having an awesome idea doesn't change anything.
Maybe I'm not trying hard, there are several other reasons which are coming in my way but of course, I shouldn't tell any reasons. -
So a co-worker of mine contacted me for help in her project. I was in no mood to help as I hadn't slept properly the previous day. But she begged me to help, so I obliged just so I could get her off my back and catch some rest after 2 hours, or at least that's what I thought it would be. But here I am, 10 hours later, having just finished helping her in her project, and now I have a really bad headache, just waiting to go to sleep, but my brain is betraying me.
It was a project that uses Tryton framework (based on Python), which I sometimes feel is fucking inconsistent. Things won't work as expected most of the time. Her boss (my ex-boss) is a piece of shit, and he wanted the work by the next day (i.e. today). And nobody else (not even the boss, who would have gotten this work done in less than half the time had he helped her even a little bit) was ready to help, because they all hate her for being a slow learner. All I had to do was get some data in a particular format in a text file using the framework. But the amount of tries it took just to get the data in the text files cost around 2 hours due to shitty internet speeds that caused tons of lag on Anydesk. Then we had to take breaks in between for reasons. But due to my agitated state of mind, I couldn't sleep in those breaks. Then I had to spend time tinkering around with ljust and rjust to get the right amount of padding for the data, which took hours due to shitty internet speeds that caused tons of lag on Anydesk. And then Tryton kept throwing errors in between which took some time to fix. But we finally completed half the task, and I am off to sleep.
As I write, my co-worker is still awake completing the work her boss gave her. It's around 1:46am IST. HER BOSS IS A PIECE OF SHIT.2 -
I can't recall one single person I can call a mentor, however...
When I first started as a developer I had a senior to work with... I knew close to anything but I was always good at research and learning on my own... But we used an asp.net framework, it was new and there was little to no useful information, only basics... When I asked the senior (let's call him Joe) for help he gave me a quick answer:
Joe: Go to file xx, there's an example of what you need there...
Me: Well, been there and that's great but it doesn't help...
Everytime I was stucked during my first week it was always some sort of the same, so I insisted this time...
Me: so, Joe... I'm really stuck on this one, can you give it a look?
Joe: I know, I've been researching a way to do it for an hour now and can't get it either...
Me: wow! Thanks... But I thought you were an expert on this...
Joe: not really, never used it before. It's as new to me as it is to you! :)
So, that switched me from "this fucking weasel won't help me for shit" to "well, let's help each other"
We became good friends, always challenging each other and from that day on I stopped asking for help, and asking where can I help others...
I had great and greatly bad colleague and seniors. Each one thought me something either what to do or what not to do, how to act or not, how to tackle problems, how to teach...
Everyone I have worked with, worked for or trained is a mentor of mine. Even those I feel like I failed training thought me how to do better next time...
Thank you guys for being grate... Thank you assholes for teaching me how to send a guy go fuck himself! Good luck for those who get stucked with me -
Currently have this issue where I just want to try out all the cool things I see, so my project is not going anywhere and instead just gets rewritten over and over but with a different tool or architecture or framework each time. Can't lock down on something I like, because I like everything 😅1
-
With a recent HAProxy update on our reverse proxy VM I decided to enable http/2, disable TLS 1.0 and drop support for non forward-secrecy ciphers.
Tested our sites in Chrome and Firefox, all was well, went to bed.
Next morning a medium-critical havock went loose. Our ERP system couldn't create tickets in our ticket system anymore, the ticket systems Outlook AddIn refused to connect, the mobile app we use to access our anti-spam appliance wouldn't connect although our internal blackboard app still connected over the same load balancer without any issues.
So i declared a 10min maintenance window and disabled HTTP/2, thinking that this was the culprit.
Nope. No dice.
Okay, i thought, enable TLS 1.0 again.
Suddenly the ticket system related stuff starts to work again.
So since both the ERP system and the AddIn run on .NET i dug through the .NET documentation and found out that for some fucking reason even in the newest .NET framework version (4.7.2) you have to explicitly enable TLS 1.1 and 1.2 or else you just get a 'socket reset' error. Why the fuck?!
Okay, now that i had the ticket system out of the way i enabled HTTP/2 and verified that everything still works.
It did, nice.
The anti-spam appliance app still did not work however, so i enabled one non-pfs cipher in the OpenSSL config and tested the app.
Behold, it worked.
I'm currently creating a ticket with them asking politely why the fuck their app has pfs-ciphers disabled.
And I thought disabling DEPRECEATED tech wouldn't be an issue... Wrong... -
I need some advice, because I'm feeling like I'm getting ripped off by my company.
I'm a junior developer and this is the first company I've every worked at. I've been here for 1 1/2 year. I said in the first interview that I am proficient with a fullstack framework, for a rather niche programming language, but I don't want to do front end, because I'm not good at it and I generally don't like it.
I'm the sole coder working on a project that costs the client 100EUR/h. There are others, but they just organize the tasks I have to do. This project requires me to work a full stack of retardation server, that's a pain in the ass, not really compatible with this project and required hack after hack to be fixed. Finding bugs in this pile of shit often takes days of emailing around and asking for logs in hope something might pop up. I've had to scavage through threads saying the still bleed form the anus or have PTSD, beccause of this retarded stack. As you can imagine, I'm also responsible for all of the QA and obviously get shit for bugs. I'm supposed to remember every little detail I've done in this project at the end of the sprint, while also working on 2-3 other projects simutaniously.
I've developed some small servers with dashboard and api for apps on my own. I'm supposed to also do all of the QA so that my boss doesn't see any errors, because otherwise our clients have to be QA.
I have written a complicated chat system that is distributed across nodes. We've nearly missed a deadline of 6 days for this shit, because I've been put under preasure, because I estimated such a "large" amount of time for this.
Other things I've done include:
* Login/Registration on many projects
* Possibility to add accounts for subordinated, with a full permission system for every resource
* Live product configuration with server validation and realtime price updates
* Wallet & transaction system, dealing with purchases of said product and various other services offered on this platform
* Literally replaced the old, abandoned database framework from a project with a modern one.
I've made some mistakes during the WFH corona times, but this that doesn't mean you can put more preasure on me and pull stuff like this: https://devrant.com/rants/2498161 https://devrant.com/rants/2479761
Is all of what I'm doing and have to deal with worth the 9EUR/h salary?10 -
!rant
For a bunch of application redesigns that we are doing at work I am letting the other two developers in my department help with selecting the stack. Normally, we work with Java and PHP, and while they seem to enjoy php I find them concerned at the possibility of making it more Java centric.
So I compiled a list of examples of different tech stacks that are not only more modern (cuz our Java stuff is old JSP stuff) but also simple to learn and use. Mind you, the point is to make this a gradual change, not just rewrite the entire house from scratch.
the list contained examples in:
Python: django and flask
Ruby: Ruby on Rails
Java: Spring Boot
Golang: Small self made mvc framework I built, nothing fancy on it, it uses templates and shit, didn't make it api centric
Node: Express examples in both vanilla JS and TypeScript
php with Laravel.
Since we work with php most of the time as well I imagined that they would be more inclined for Laravel, but I was wrong :P they seemed to like the Node Express route and the Golang route more than anything else with Python and Django being close.
Personally I know that there is more to selecting a stack, but initial perceptions make for a lot of things in selection of the stack.
Pretty excited, if they gauge everything considered in regards to what we have and we found Golang to be a clear winner it would give them the chance to add a nice and competitive tech to their resumes.
not a rant, or anything per se, just wanted to share some stuff with y'all2 -
Boss assigned code cleanup to me. We put up eslint and fixed a couple of issues, all nice and cute. Now, he wants me to find any redundant code and remove it (redundant fields in config objects). Sounds doable right?
WRONG!
Because we're writing fucking ExtJS. This abomination that is still called a "web framework" in lieu of its former glory supports no typescript, no code intel, no JSDoc, no nothing. Absolutely heinous and deplorable. Add insult to injury, our code on it is even worse. NO single component reused except from a couple REALLY fucking badly written ones, because every component queries for shit outside its jurisdiction so it's all a dependency spaghetti. Everything else is just copy-paste. Barely anything works as intended anymore in this bloody joke of an app.
I tell him in a meeting, I can prepare an automated solution. Some script or something that runs on a file watcher. All nice and dandy. A weekend and a Monday later, I get tired and do something else to clear up my mind. Show him some progress in that other thing. He's like:
Boss: that's good and all but did you remove *insert misused config that got everywhere during copy paste* like I told you to?
Me: I'm still working on it. I switched cause I got tired a bit with the automation.
Boss: automation?
Me: We were talking about in the meeting. *Explains again*
Boss: That's not what we agreed upon
Mfw I've been rambling uselessly on the meeting about it just for you to put me down and make me remove all that copy pasted GUNK from the melting hot garbage that is our codebase BY HAND? All the 150 occurrences of it? What do you think I am, a fucking robot?2 -
I just recently started working on a product that uses MaterialUI.
I’m not saying it is bad, but it is frustrating me. As a person with a very strong understanding of CSS (SASS mostly), it is frustrating to see the framework try to make things easier while making them entirely more hard.
It would take one or two classes do a thing in SASS but instead it is accessing a bunch of sub classes already built in and modifying some aspects. And then having to add custom css-in-js for other layout needs.
It feels wrong for 1 element to have 2 different methods and areas to house it’s own styles.
I’m sure I’m going to get used to it soon enough. But it is frustrating now. -
I always had this mentality that I shouldn’t rely on a certain library or framework for my entire project because what if one day they stop supporting it. (Yeah I’m talking to u vuetify) That’s why I came up with this code structure that for everything that I wanna do I have a ‘driver’ library all coded by myself that interacts with that third party framework or library so if they stop supporting it I could just change a couple of lines of code in my driver file and my codebase should be working again. But I feel like this ‘driver’ approach is not the most efficient way of going in terms of memory usage. Do you guys think I should keep it simple and directly use those libraries or this is actually not a bad approach.7
-
Got an idea that needed prototyping, remembered that people always said Bootstrap is a good UI framework for quick prototyping. Had a doubt though, as the last time I checked Bootstrap sucks.
I ended up wasting hours to make it work with webpack. Turned out it still sucks.
The most irritating thing was they tell people to install the latest beta, or even alpha version on their website, not the stable one. Who the fuck would do that?
When you do the bare `npm install bootstrap`, it will install the latest stable version, but the docs page defaults to the... guess what, the latest beta version. I wasted nearly an hour just to figure out why the styles weren't working like the examples in the docs.3 -
> wanting to add an embed google maps to a website I'm working on for fun, with React
> Check the API documentation, excepted their iframe they create from your needs, not much info about how to set in a a js framework
> decide to check if anyone has already created something with React
> They did! 1 american dude, one polish, one last from idk where
> The rest is basic doc so let's try each of them
> Errors, errors everywhere
> Screens stays awefully white
> Spend 2 hours checking, checking and checking again each library
> Each of them have a different problem
> Fuck this, let's copy the iframe thingy from Google's doc, adapt 1 or 2 things because of React and run npm
> Google maps works on first try -
I'm finishing up the most depressing client engagement ever. Ultimately it all traces back to their worthless Expert Beginner EA who thinks he's a genius but can't write code. I don't mean that he's not great at it. It's some of the worst I've ever seen by a person in his position.
In the time I have left here I could do so much to help them clean this stuff up so that future developers could ramp up more easily and there wouldn't be tons of duplicate code.
But I've just given up. You can't help someone who thinks their code is perfect. I don't even bother suggesting stuff any more (like don't have two methods in a class - a "real" one and one for unit testing) because he gets mad or just says that's his "pattern."
If I have a useful improvement, first he'll want me to put all new code in some new library, which is fine as an end result but you don't start with putting single-use code in a library separate from where you're using it. You work with it for a while to see what's useful, what's not, and make changes. But, you see, he just loves making more libraries and calling them "frameworks."
He tells me what he wants me to name classes, and they have nothing to do with what the classes do. When you haven't done any development yet you don't even know what classes you're going to create. You start with something but you refactor and rename. It takes a special breed of stupid to think that you start with a name.
I've even caught the dude taking classes I've committed and copying and pasting them into their own library - a library with one class.
The last time we had to figure out how to do something new I told everyone up front: Don't waste time trying to figure out how you want to solve the problem. Just ask the EA what he wants you to do. Because whatever you come up with, he's going to reject it and come up with something stupid that revolves around adding stuff to his genius framework. And whatever he says you're going to do. So just skip to that.
So that's the environment. We don't write software to meet requirements. We write it to add to the framework so that the EA can turn around and say how useful the framework is.
Except it's not. The overhead for new developers to learn how to navigate his copy-pasted code, tons of inheritance, dead methods, meaningless names, and useless wrappers around existing libraries is massive. Whatever you need to do you could do in a few hours without his framework. Or you can spend literally a month modifying his framework to do the same thing. And half the time his code collapses so that dozens of applications built on his framework go down at once.
I get frameworks. They can be useful, but only if they serve your needs, not the other way around.
I've spent months disciplining myself not to solve problems and not to use my skills.
Good luck to those of you who actually work there. I am deeply sad for the visa worker I'm handing this off to. He's a nice guy and smart. If he was stupid then he wouldn't mind dragging this anchor behind him like an ox pulling a plow. Knowing the difference just makes it harder. -
The dangers of PHP eval()
Yup. "Scary, you better make use of include instead" — I read all the time everywhere. I want to hear good case scenarios and feel safe with it.
I use the eval() method as a good resource to build custom website modules written in PHP which are stored and retrieved back from a database. I ENSURED IS SAFE AND CAN ONLY BE ALTERED THROUGH PRIVILEGED USERS. THERE. I SAID IT. You could as well develop a malicious module and share it to be used on the same application, but this application is just for my use at the moment so I don't wanna worry more or I'll become bald.
I had to take out my fear and confront it in front of you guys. If i had to count every single time somebody mentions on Stack Overflow or the comments over PHP documentation about the dangers of using eval I'd quit already.
Tell me if I'm wrong: in a safe environment and trustworthy piece of code is it OK to execute eval('?>'.$pieceOfCode); ... Right?
The reason I store code on the database is because I create/edit modules on the web editor itself.
I use my own coded layers to authenticate a privileged user: A single way to grant access to admin functions through a unique authentication tunnel granting so privileged user to access the editor or send API requests, custom htaccess rules to protect all filesystem behind the domain root path, a custom URI controller + SSL. All this should do the trick to safely use the damn eval(), is that right?!
Unless malicious code is found on the code stored prior to its evaluation.
But FFS, in such scenario, why not better fuck up the framework filesystem instead? Is one password closer than the database.
I will need therapy after this. I swear.
If 'eval is evil' (as it appears in the suggested tags for this post) how can we ensure that third party code is ever trustworthy without even looking at it? This happens already with chrome extensions, or even phone apps a long time after reaching to millions of devices.11 -
When the CTO/CEO of your "startup" is always AFK and it takes weeks to get anything approved by them (or even secure a meeting with them) and they have almost-exclusive access to production and the admin account for all third party services.
Want to create a new messaging channel? Too bad! What about a new repository for that cool idea you had, or that new microservice you're expected to build. Expect to be blocked for at least a week.
When they also hold themselves solely responsible for security and operations, they've built their own proprietary framework that handles all the authentication, database models and microservice communications.
Speaking of which, there's more than six microservices per developer!
Oh there's a bug or limitation in the framework? Too bad. It's a black box that nobody else in the company can touch. Good luck with the two week lead time on getting anything changed there. Oh and there's no dedicated issue tracker. Have you heard of email?
When the systems and processes in place were designed for "consistency" and "scalability" in mind you can be certain that everything is consistently broken at scale. Each microservice offers:
1. Anemic & non-idempotent CRUD APIs (Can't believe it's not a Database Table™) because the consumer should do all the work.
2. Race Conditions, because transactions are "not portable" (but not to worry, all the code is written as if it were running single threaded on a single machine).
3. Fault Intolerance, just a single failure in a chain of layered microservice calls will leave the requested operation in a partially applied and corrupted state. Ger ready for manual intervention.
4. Completely Redundant Documentation, our web documentation is automatically generated and is always of the form //[FieldName] of the [ObjectName].
5. Happy Path Support, only the intended use cases and fields work, we added a bunch of others because YouAreGoingToNeedIt™ but it won't work when you do need it. The only record of this happy path is the code itself.
Consider this, you're been building a new microservice, you've carefully followed all the unwritten highly specific technical implementation standards enforced by the CTO/CEO (that your aware of). You've decided to write some unit tests, well um.. didn't you know? There's nothing scalable and consistent about running the system locally! That's not built-in to the framework. So just use curl to test your service whilst it is deployed or connected to the development environment. Then you can open a PR and once it has been approved it will be included in the next full deployment (at least a week later).
Most new 'services' feel like the are about one to five days of writing straightforward code followed by weeks to months of integration hell, testing and blocked dependencies.
When confronted/advised about these issues the response from the CTO/CEO
varies:
(A) "yes but it's an edge case, the cloud is highly available and reliable, our software doesn't crash frequently".
(B) "yes, that's why I'm thinking about adding [idempotency] to the framework to address that when I'm not so busy" two weeks go by...
(C) "yes, but we are still doing better than all of our competitors".
(D) "oh, but you can just [highly specific sequence of undocumented steps, that probably won't work when you try it].
(E) "yes, let's setup a meeting to go through this in more detail" *doesn't show up to the meeting*.
(F) "oh, but our customers are really happy with our level of [Documentation]".
Sometimes it can feel like a bit of a cult, as all of the project managers (and some of the developers) see the CTO/CEO as a sort of 'programming god' because they are never blocked on anything they work on, they're able to bypass all the limitations and obstacles they've placed in front of the 'ordinary' developers.
There's been several instances where the CTO/CEO will suddenly make widespread changes to the codebase (to enforce some 'standard') without having to go through the same review process as everybody else, these changes will usually break something like the automatic build process or something in the dev environment and its up to the developers to pick up the pieces. I think developers find it intimidating to identify issues in the CTO/CEO's code because it's implicitly defined due to their status as the "gold standard".
It's certainly frustrating but I hope this story serves as a bit of a foil to those who wish they had a more technical CTO/CEO in their organisation. Does anybody else have a similar experience or is this situation an absolute one of a kind?2 -
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
In my experience, any BE dev or old architect/lead programmer that says they “can do frontend” does shit like writing Ajax calls in script tags directly in the html. They are the ones who add style attributes directly in html. They are the ones who google how to center a div and they still use float positioning because all of them are old, arrogant BE devs who get caught in a single framework who convince themselves they are an expert. They can’t give any good UX advice. They don’t know how to use a screen reader. They don’t know what WCAG means. They don’t constantly keep up to date on what browsers are supporting and what’s being released in the unstable versions. They don’t know what a web component is. They don’t know what a closure is. They don’t know anything about optimizing web perf metrics. They couldn’t tell you what web crawlers look for. They couldn’t tell you anything about design principles and anti-patterns. They don’t know how to manage a web application that will be seen by millions AND keep it nice, shiny, and refactorable on the code side. What do they really fucking know? how to write an MVC app? How to connect APIs and integrate code that other people wrote? I do full stack all day and writing anything not-client-facing is super easy.
Take that stick out of your ass and get over yourself you asshole. You haven’t written anything close to amazing even though you constantly act like you’re a god-tier programmer and your shit doesn’t stink.
Hit the books like the rest of us you fuck.
The Frontend is anything but fucking easy.25 -
Is it just me or has Windows SDK gone down hill horribly in recent times
WPF -> UWP was a giant and good step
then they kinda killed off UWP, focused on XAML Islands
then came Windows 11 which breaks some UWPs built with WinUI2 coz the components are tied to the OS and not self-contained, so some dont exist in Win11 and the apps crash on runtime
Now there's WinUI3 but it assumes that the starting point is Windows 11, I try to build em on Win10 (coz win11 sucks ass), and intellisense it all crazy
These are all issues one can circumvent IF they align their setups the way MSFT desires
But the fact that these issues exist and wont work out of the box, makes me wonder how long before they start recommending Electron or some other "JS/TS-based UI framework" that'll work within ChakraCore or something. Getting back to WPF/Win32 days5 -
part of my workflow i want to improve?
in general, take more time to get to know better the technologies and tools i'm working with.
e.g. learn all the fancy hacks and features of my IDE or of a certain language or framework.
i tend to be in the mode "i don't have time for that, it already works the way i use it". if i spend "too much" time on learning stuff, i feel bad, since i could also spend that time working on my ever growing list of tasks. but i think, that's not a good habit... -
So i'm visiting the JavaScript bubble every now and then when i'm writing on the userscript i develop to fix bugs in our ticketing system or fix some clients website they negelected. Every time i'm searching for answers to the weird problems that inevitably turn up i have to filter out all the threads that derail with the classic 'google jQuery basic arithmetic plugin' craziness to find an actual vanilla solution to my problem.
All the time i wonder why on earth people put up with this framework hell. This is part serious question and part rant but seriously, how did we come to this? With all that jQuery, React, Node, whatever stuff i'm kinda losing the overview over what's even todays standard. I always try to keep my code as vanilla as possible without using external libraries. But it seems the entire web development industry is heading the completly other way. I tried to look into a few frameworks but i never really see the appeal. Just now i looked up react native because the last 20 rants talked about it and immediately noped out because they fucking create a DOM in js, why the fuck would you do this?!
Worst thing about this framework shithole is that some frameworks are beeing pulled into the mix for very weird and unnecessary reasons. Best example is a charts library i recently used to visualize a database of temperatures that was completely written in native js but pulled jQuery in for the equivalent of window.addEventListener('load',function(stuff)) and i was furious. I rewrote the code and could throw out the jQuery dependency with no problem. What the fuck is wrong with people?
Alright since you made it here: I'm not trying to throw any of you under the bus for using frameworks. I just fail to understand why you would use these. To each their own and unless your site has the performance of the ticketing system i use at work that takes like 15 seconds to load one fucking page i won't complain at all. But pull in a framework just to do a task you can easily do in native js in remotely the same timeframe you are on my list.2 -
Shame on Apple to use AngularJS on their iTunes Connect developer portal.... and probably other sites.
Today I discover that while inspecting the source code in search of an element that might have been hidden or missing and to my surprise I saw angular code in it !! WHATTT? !! shame on Apple... the links of the iTuneConnect still mention WebObjects (a Java based web-building framework that was never adopted by the mass) but the client code has Angular on it. How is it possible that they did not try to come up with their own framework for web applications ? They started the entire web-widget html/Javascript adventure, promoting modular web component and what not to then adopt a Google made framework ?! . No wonder they are syncing again. :D ... of course I am just runting... I love you Apple.5 -
Is part of being intermediate/fluent in a tool, language or framework that you've just unwillingly memorized all the error messages you've come across?
'Hey I got error X' -> Just change Z and C and it will work
'Do you know what this stacktrace is trying to tell me?' -> Yeah you forgot a space
'What does this mean?' -> Just add the host to the hostfile
Not that it immediately makes you an expert ofcourse2 -
FML. Troubleshooting a bad mount. My server doesnt seem to know whether it wants "remote_images" to be a directory or a file lol.
admin@off001-truservcomm-jhb1-001:///var/...$ cd remote_images
admin@off001-truservcomm-jhb1-001:///var/...$ ls
ls: reading directory .: Not a directory
admin@off001-truservcomm-jhb1-001:///var/...$ sudo ls
ls: reading directory .: Not a directory
admin@off001-truservcomm-jhb1-001:///var/...$ cd ../
admin@off001-truservcomm-jhb1-001:///var/...$ mkdir remote_images
mkdir: cannot create directory ‘remote_images’: File exists
admin@off001-truservcomm-jhb1-001:///var/...$ rm remote_images
rm: cannot remove ‘remote_images’: No such file or directory
admin@off001-truservcomm-jhb1-001:///var/...$ sudo rm remote_images
rm: cannot remove ‘remote_images’: Is a directory13 -
For the love of god, why in the world are coworkers so prone to overflow with pointless informations? I don’t care about which db you use when I am a frontend, just tell me the f*cking endpoint to use ffs! Nor I care about the FE framework when I’m working on the be and most of all I don’t care about the reason behind a formula you use to calculate a freaking param, give me the goddamn formula or its name 🙄
Please tell me I’m not the only one getting triggered by coworkers explaining useless things, cause lately it’s so annoying3 -
So the project I work on basically has to talk to a 3rd party plugin, through a 3rd party framework. The 3rd party plugin is a black box. This conversation happened:
Software guy: so we aren't sure what is breaking the thing. It's either us or the plugin, but it's probably both.
Systems guy: well then if we aren't sure then why are we writing an issue for it.
SWG: because we aren't sure but we know we are doing at least something that contributes. We read int X from a table and put it into a float. X doesn't perfectly represent in a float. It comes out X.0001. Then they take it and when it comes back it comes back as Y.0001. We cram it into an int so it becomes Y, we compare it to X which is really X.0001 and it comes back invalid.
SG: well as long as we are sending them the right number . . .
SWG: but we aren't sending them the right number. They are expecting X not X.0001. Then they send us back Y.0001 but it should be X so it's wrong.
SG: so they're giving us the wrong return value.
SWG: yes, but because we're giving them the wrong number.
SG: well not exactly . . .
SWG: yes exactly. It is off by .0001 because of floating point math.
SG: well . . .
Me: look it doesn't matter how it's breaking. But it IS broken. Which is why we're filling out the damn problem report. THEY ARE EDITABLE. We talked to the customer and gave them the risk assessment. They don't care. It happens rarely any way.
SG: then can we lower the severity?
Me: no. Severity doesn't relate to risk. That is a whole different process. Severity assumes it has already happened. It's a a high severity.
SG: but the metrics.
Me: WE GIVE THE METRICS TO THE CUSTOMER. WE TALKED TO THE CUSTOMER. THEY DON'T GIVE A SHIT.
And that was how I spent Wednesday wondering how a level 4 lead systems engineer got his job. How many push ups did he do? What kind of juice did he drink?2 -
Junior Dev: "The man told me I have to use his framework but I don't know shit about it"
Me: "hmmm, since it's something he developed, you should ask him for some documentations or some examples"
Junior Dev: "I did!! That bastard gave me an example but I can't do anything with it. It's just executables, some config file and NO sources"
Me: "well, this sounds odd to me. You're telling me he just sent you executables and not a single source ? There is no .cs file in there?"
-- 2 minutes later --
Junior Dev: "now that I see ... The sources are there ... BUT the damn bastard put them into subfolders ... And there isn't a Solution file ... How could I even ..."
And THAT was the moment my brain collapsed into a black hole, obliterating me from the existence. Or at least that was what I wished for. -
Why is there no VueJS job requirements in my area? It is all about Angular and React. Quite sad my favorite JS Framework is not a favorite here.
Guess I'll be forced to study Angular or React for job requirements purposes only *sigh* 😩 It is like - forced eating the only available food that you don't like in order to survive. Oh well supply and demand.
I haven't seen any VueJS requirements yet in all the job posts that I browsed 😕11 -
Why the fuck nobody talks about Multi-page apps?! We went from a Web where everything was Multi-page server-rendered, and now everything for Web developers is "Single-page apps".
What about websites who can't do that? Not everything can be a single-page app. Only my uncle's restaurant website, or something which is TRULY a full app. No half choices.
If your website is a multi-page app/portal which actually PRELOADS data, instead of doing 100 fetch to an API within a page that is full of loading bars, well, your life is a pain.
When you want a first contentful paint which isn't a white page, well, your life is a pain.
What are React, Vue, Ember, Angular (let's exclude Svelte and Marko) going to do about Multi-page apps and SSR?
React-router sucks to me. It's performance is weak and it's useful only when you have an SPA with multiple sections which can be treated as pages (e.g. A single SPA divided in tabs).
Server-side rendering is the worst pain ever made by humanity, in React (and prob Vue, I didn't try but I can bet). And even when made easier from libs like Svelte and Marko, I (personally) can't get it to be faster enough compared to a traditional website without a JS framework and with a templating engine.
Anyways, if there's anything that I learnt from React, is to stay away from Next.js. Perfect, beautiful, mess.
All JS frameworks just seem to bloat the code and make it worse and slower, even though they're REALLY helpful.
Why? Why everyone loves them if their downsides are so clear? Why 3 projects out of 3 I made (1 React SSR, 1 Vue, 1 Marko SSR) are and will stay painfully slow and bloated, full of shit, even if in 2020 we should have evolved with the famous three shaking, with the famous lazy loading, etc.?
I am just frustrated.
And let's not even talk about Webpack, Rollup, Lasso, those module bundlers shit which are harder to configure and understand than finding a needle in a haystack.
Lasso was the easiest to configure but I anyways can't understand it. Webpack seems it was made to handle SPAs, as any tool in this freaking world, and not even considering an easy way to integrate multiple bundles for multiple pages (I know it's pretty easy, but with component sharing between pages and big unique bundles Next.js handles it soooo bad it feels like hell).
Am I the only one?
Sorry for the long rant. I just needed to rant right now.17 -
This goddamn obtuse motherfucker at this discord of this framework I'm trying to learn, who happens to be a mod.
I'm trying to explain my scenario to this guy (a very reasonable one in my opinion) but this motherfucker is giving me some sass saying I'm confused at very basic things or saying shit like "it's literally that simple", well ain't that a bitch.
He's doing half assed reading, and apparently he's alt tabbing to a videogame (as displayed by discord), so I guess he's not paying attention and reducing me to an idiot.
What am I supposed to do? Call him out and get banned?
No, I have to fucking shut up and stomach this idiot because I need to learn.
If you don't have much patience, you just can't be a mod and also respond to people. Just pick one.
Because people can't fucking call you out when you're being a douche.
Fuck this guy.1 -
Recruiters on LinkedIn:
"Apologies for this direct approach, I'm sure you're not looking right now and get messages like this all the time, but I have this opportunity that I think you'd be perfect for.
It's not in a language you know or a framework you're even aware of, but I know you're right for the job. It's not anywhere near you either. Hell, it's not even on the same planet as you, but fuck it, let's give it a whirl!
If you think this right for you, or not, just call me and we can talk some more about this (even though I have no idea what THIS is!). If not, forward this on to 1000 other people or you will be eaten by a dinosaur tomorrow!
To be honest, I don't really know who you are or what your skills are. I'm just spamming you through InMail.
Laters, Nerd!"1 -
http://www.phpthewrongway.com
I am not a php dev but I really like the following statement:
In the software industry you can compare a pre-built house to a general purpose framework. Building software using general purpose frameworks doesn’t make you a coder or a programmer any more than putting together a pre-built house makes you a carpenter.14 -
I always thought wordpress was ok, not great not terrible, from a coding perspective. Now every new framework I have worked on makes me see why Wordpress is on 40% of the internet.
Now I love wordpress not because of what it did do, but because of all the really stupid things it managed to avoid doing including: over abstraction, trend chasing, using "new transformative technology" that disappears in 2 years, breaking plugin economy with updates and making devs start over, making everything OOP for the sake of making everything OOP, making adding on a bit of code take multiple files of multiple formats and boiler plate code, boiler plate code, compiling dependencies, composer, twig, laravel, one page applications, react, angular, vue, javascript only stacks (MEAN), not letting you control sql queries, protected/private scopes and design that doesn't let you fix or alter bad code others did, and the list goes on and on.
Wordpress did a lot right, and devs should try learning from it instead of making more problems to solve. Sure it's not elegant, but you known what it does do? Focus on a solving a problem. Then it does. Without inventing new ideas or concepts to inject into the code and create new problems.
And you know what else? Hooks are actually very well implemented in Wordpress. I've seen it done much worse.
Honestly my main gripe with the entire platform is a slow moving to OOP for no reason and the database design should separate post type into different tables, the current design makes it less scalable for large data sets for multiple reasons so I'd fix that.5 -
Me vs Myself
I lack of consistency in my life.
Except job, I work on single project for more then four years now.
Besides that I struggle so much to finish things I started or do one thing everyday or even every week for more then one month.
Trying to improve myself but it’s so hard and I don’t know when and how I lost this whole consistency I had that made me good self thought developer. Some people said best they’ve seen but I think I have a lot to learn.
It’s not that I don’t want to continue doing things I started previous day but my narrative self is harassing me so much that I don’t have vital power left.
Whenever I try to fight back it makes me weak and I can’t get up from bed so I lay and wait.
Sometimes I lay whole day and just wait.
When I do nothing my narrative inner voice find me instantly 100 other interesting things to do that make me excited, like:
- let’s check mail - oh new <picks technology> framework let’s try it,
- let’s check news
- let’s see how much <picks something> cost because you want it, buy this thing or you’re gonna die
- go out with this <picks a girl> or you’re gonna die alone
- hey <picks something> is cool let’s see how it works
- hey this <picks some problem> is cooler then the one you’re working on,
- how about to call <picks someone>
- how about go out it’s nice outside
- let’s cook this thing today you need to go to grocery
I don’t know how I figured out I need do nothing and wait to fight myself and do what I started not what my narrative voice want me but I see whole slightly improving now and doing nothing helps a lot.
It makes me focus on things I really want to do not things that are just waste of time.
Anyway thanks if anyone got to the end of this stupid story.
Have a nice day. Keep dreaming.
Peace ✌🏽1 -
So there was a time when I "knew" PHP but I've never been able to use it, correctly or not. I knew I had to know a framework to get more accepted in the work market place, so I went on Codecademy, and started to learn a shit ton of stuff that I knew but I now master way more than before. Until I fall on a Ruby on Rails tutorial. Then another. Then a login / register system.
Dude. It was so simple. I had the feeling that my magic wand found me, and that I was developing just by speaking English (well it was the basics)
Today RoR is still my favourite framework, I just wish I could be paid to work with it 😍 -
Isn't it fun when you are given a library or framework and that in order to debug it you have to use some hacky way of hooking the code to a special instance of the project?
Even more fun: the developers by default don't debug the project with tools, but rather with logic. Ok, that's a good way to debug but it shouldn't be the only way to debug. I don't want to go back to the age of coding on paper. At least give me a stacktrace that's halfway clear on what's happening there. Even worse is when the framework doesn't document its own problems! stacktrace.someMagicalMethodNoOneKnowsWhatItDoes(). Having to read the even more mystic and overly verbose documentation! You're just left there trying and guessing shit, even for the senior devs!
And do you know what's more fucked up?! Fucking using println() to debug!! And they take this shit seriously! I don't understand how these people call themselves programmers. No breakpoints? What the fuck, man!
Just give me Visual Studio for fuck's sake. I don't want to code in a broken IDE with a broken framework. Development on its own is already hard enough, so don't make it harder by giving me crappy frameworks and crappy IDE's that only work half the time.
Debugging without a debugger, with broken IDE's, with broken frameworks, I'm sorry but that's just not for me. And then the framework dares advertise that it 'lets the developer focus on business code!' (how many times have you heard this crap before?). Right, the only thing I focus on constantly is trying to figure out why their broken framework doesn't work.
Arghhh. -
Just curious on whether or not to open source something or not...
As some would have seen I'm working on a game engine/framework and putting a lot of effort into the development terminal (lumber camp) and had a fair few people show interest in it so thought I might chuck it on GitHub as I go but I don't want to allow for merging until the main component is at version 1 and stable...
Should I release as I go and not do merging or wait till it is at version 1?4 -
A lot of this might be an assumption based on not enough research on both NestJS and TypeScript, so if something here is not well put or incorrect then please feel free to provide the necessary info to correct me since I care far more about getting dat booty than I do being right on the internet :D
Sooo, a year or so ago I got a hold on the Nest JS framework. A TypeScript based stack used to build microservices for node. Sounded good enough in terms of structure, it is based on the same format that Angular uses, so if you use Angular then the module system that the application has will make sense.
I attempted (last night) to play with the framework (which I normally don't since I am not that much of a big fan of frameworks and prefer a library based approach) and found a couple of things that weird me out about their selling points, mainly, how it deals with inversion of control.
My issue: This is dependency injection for people that don't really understand the concept of dependency injection. SOLID principles seem to be thrown out of the window completely due to how coupled with one another items are. Literally, you cannot change one dependency coming from one portion to the other(i.e a service into a controller) without changing all references to it, so if you were using a service specification for a particular database, and change the database, you would have to manually edit that very same service, or define another one....AND change the hardwire of the code from the providers section all the way into the controllers that use it....this was a short example, but you get the gist. This is more of a service locator type of deal than well....actual dependency injection. Oh, and the documentation uses classes rather than interfaces WHICH is where I started noticing that the whole intention of dependency injection was weird. Then I came to realize that TypeScript interfaces are meeheed out during transpilation.
Digging into the documentation I found about custom providers that could somehowemaybekinda work through. But in the end it requires far too much and items that well, they just don't feel as natural as if I was writing this in C# or Java, or PHP (actually where I use it the most)
I still think it is a framework worth learning, but I believe that this might be a bias of mine of deriving from the norm to which I was and have been used to doing the most.3 -
When file managers copy and delete files within the same partition instead of moving or renaming them…
When Google's Storage Access Framework was introduced, it did not feature a move command, so file managers just resorted to copying and deleting files within the same storage. Not only does this cause needless wear and is much slower, but it also destroys the date/time attribute (it gets changed to current).
When moving files through MTP (miserable transfer protocol, used for connecting smartphones to PC), they are also copy-deleted. This makes moving a 20-Gigabyte DCIM folder impractical. Also, if one cancels the operation, it might end up whoopsie-daisy deleting some files from the source before they have been transferred.
MTP is so bogus that it is incapable of a simple operation that would JustWork™ on mass storage devices. Not to mention, MTP lacks parallelism and its directory listing loading it S-L-O-W. Upwards of a minute for just 1000 files. Sometimes, it fails loading at all.
Also, trying to rename a file through MTP using the terminal through GVFS, even if just within the same folder, it copy-deletes it. If I want to rename a 1 GB 2160p 4K video in a highly populated DCIM folder, I can not do so through the terminal. At least, the 4K video has a time stamp in its internal metadata, but it still renames slowly and adds needless wear to the smartphone's flash memory.14 -
Ugh! I feel so low and less motivated because I am unable to solve the interview practice questions really well.
This is fucking annoying. I am not sure what is that that I am lacking.
I got the framework. I have problem statements. I am practicing mocks. I got the feedback and I implemented it.
I have spent ~30 hours on this till now. Solved around ~20 cases, 10 of each category.
Should I now purely bet on luck? Maybe I'll take a break and submit the other companies case assignment to divert my mind.
I need to crack the interview and land the offer at all cost. There is no chance or scope for failure.7 -
Important thing I learned is not to listen to devs who suggest to learn a framework because its pointless
If i ask should i learn react or angular, some will say angular some react, and both have valid arguments why
When i branch to react and ask if i should learn nextjs or nuxtjs the same thing will happen
No matter if the arguments are valid or not people will prefer a framework they have been biased towards
All frameworks have cons and pros there is no such thing as "the one" perfect framework
No matter how framework is good people will always find a reason to take a shit on it
So from now i wont ask IF i should learn framework X, I'll ask for the order in which to learn it
For example i Know i want to learn A for whatever reason, should i first learn framework B or C?
I dont need your subjective opinion to tell me how B or C sucks and i should do D instead of A4 -
Note to devs here. Please don't choose a framework for the hype at your work. Use it on your own time or company hackaton/learning time.
I'm looking at you angular.
Production ready doesn't mean sanity ready.
Now because some dev choose such technology for arbitrary reasons. (hype, latest acronym on CV). I spend more time debugging and understanding than I would if some simpler technology was chosen. Look at all the options then choose the simplest one that has and seems to have active maintenance. Zen of python is the best thing to happen in programming and I think everyone, even if you don't like Python should follow it. Save you and your colleagues brain time and ask for advice.
Also IMO react is probably third or second best option, higher if one requirement is to be react native. Angular is even lower because it's complexity is unforgivable when a dev has not enough front-end experience.8 -
Am I the only one that is very neutral while learning a new language or framework or whatever it may be? Like cause you have to go through the basics and you’re basically stuck copying what the tutorial, book, video, whatever source tells you to do and the best you can FUCKING do is change a few things. I love learning new stuff don’t get me wrong I love adding tools to my arsenal.
I just don’t know what else I could try to do because it’s new ground but I want to acknowledge I’m learning it by making my own small basic program with what I’ve been showed but there’s not enough to do different stuff and I have to go back to the tutorials and copying and I feel like I’m learning NOTHING it’s just a annoying feeling for me personally idk if anyone feels the same. Am I crazy? Or am I just doing something wrong?
Also to clarify the all caps “FUCKING” was because my phone changed it to ducking and I wanted to make sure autocorrect knew I meant what I meant.5 -
I have found that once you work for a company where you have to implement everything in its raw form using the raw language and raw logic, you really have to know what you're doing and knowing some basic/medium programming and having some algebra knowledge doesn't cut it (unlike some people think).
I've been at two sides of the coin: I worked for a company that had everything in place, a framework that handled all edge cases and what not and I just had to focus on user stories, but I also worked for a company where I had to do everything manually.
For example, at the latter company I had to know Discrete Mathematics; truth tables to their most convoluted and disgusting form, having to be able to apply this on a late Friday night with a headache and lack of food and sleep with the PM stressing out.
I've had to deal with NOT AND OR AND OR AND OR AND branches or whatever, where an OR behaves like an AND and if you want a value between an AND AND and an OR, you'd have to do a NOT OR.. to think about latches, all in my head, sigh, anyway, within limited time constraints, without even having time to write tests, having to make sure that everything checks out while the client is breathing down my neck. Yeah, not such fun times.
I'm happy for those of you who can just write some moderately difficult logic but you don't have to break your head over doing everything manually, as if you're in the coding stone age and nothing is taken care of.
Companies like these make me want to run away.3 -
I'm writing all the dev things I know in a docs site as a means to be hireable should I need to switch jobs.
I'm not gonna go too deep on how I'm doing it. One style I'm enjoying is making every article take only one page long, and if they take longer, maybe consider breaking it into another article.
Fuck long articles. Yes, that's a bit autistic.
But I will describe the challenges I'm finding (which are quite many) in further detail.
One of them is that words can be ambiguous. Production can mean the production environment but it can also mean production in plain english.
And there are tons of cases like this.
Because of this, I felt a lot of confusion in my beginner days. So it my objective to write this as to prevent as much confusion as possible.
Granted, I don't want to write "development for dummies". Software is complex. But because it's complex on its own, I don't want to add complexity to the learning process through obscure language usage.
"Fine", I say, "I'll disambiguate". But this means I find myself branching out very often into fundamental or commonly used software terms like "framework", "model", "scaffold", "algorithm", "viewport", "breakpoint", etc.
Another challenge is reaching good levels of completitude.
This means I have to explain that obscure CLI flag I never used in my life.
If I don't do this, then what makes my docs different than these superficial dev.to or medium posts? Nothing.
But trying to explain EVERYTHING about a software can generate a lot of frustration: I never finish.
It also makes me wonder "do I even know shit?". I think some amount of insecurity is healthy and pushes myself forward.
But at some point it's kind of making me feel like shit. Maybe I just need to keep learning.1 -
my biggest lol moment was talking to some hardcore always bring in your own algos and ds games to the table, always going to the core of the world devs, better than thou my shit is better than you ass, my point of view is the best in the world devs, cite papers and algos to you devs, shit like that that were making way less money than some dudester ruby on rails dev sitting at the the conf sipping on his drink.
Really, all that comp sci shit is legit and fun as fuck. But if you are not getting the green for it and living the life then what is the fucking point. Even then, those that are are normally fucking morons. This shit ain't some art, or a personality trait, it is a job.
Fuck me i am so tired of the whole hacker news reddit ass SO mentality of devs, then again I am also tired of mfkers with no knowledge of actual engineering publishing medium articles left and right.
As long as you cannot take human error out of this computer equation you will always have a shitfest of opinions, because regardless of correctness you will always have a shitfest as long as some dickwad has a difference of opinion in an otherwise young ass scientific field such as computer science.
Language wars, framework wars, editor wars you name it. This field is so fucking broken and so full of shit it ain't funny, made less comedic by the fact that it runs the world.
If we are going to die it will be by some massive kernel panic made possible because somewhere, some morons could not mergr a repo due to conflict in ideas. As if being right was going to bring you closer to not being an ugly fat nerd and getting pussy, or dick, whatever your flavor is you fucking losers. -
Last week I did a test for a huge real estate company here in Dubai.
The test they asked to create a database of students and use jquery datatables so far is easy.
But they told you cannot use any framework and uses mvc structure, in other words, build your own framework. It's ok.
But my main concern is, the company is quite famous to not provide proper feedbacks or just forgot about you. And I would be very piss off if after of 3 entires days building my own framework, doing documentation, code comments those guys didn't reply me any feedback.4 -
I want to start with Web development and for that I want to code a dashboard for finances with a connection to an Restful API.
I know HTML, CSS, TS and some JS. But I don't know which framework to use.
The framework should:
- have an easy way to separate HTML from JS or TS code.
- easy way to break down a single page into different html files.
- not have to use npm or Node.JS. Preffered is a CDN solution.
- HTML Templating
Maybe also tutorials on how to setup the coding enviroment.8 -
Shame on you Facebook Developers!
I’m neither messy or anal coder, but whenever I push something to production I make sure to handle all debugger warnings... I don’t think it’s perfectionism, rather good practice, makes important bugs easier to find. ;)
A single Facebook SDK Framework has 70+ unhandled warnings, trivial things, could be fixed in a half day...
I had to use ‘inhibit_all_warnings!’ flag literally for the first time, not to get frustrated every time it gets updated :/
P.S Not to mention I had to change the dependency manager because (with the newest update) they have written themselves out of compatibility with the one I was using... C’mon guys. Not cool. -
min-height: calc(100% - 1rem)
AAAAA REEEEEEEEE WHAT ARE YOU DOINGGGGGGGGGGG IF YOU DONT UNDERSTAND CSS DONT USE ITTTTTTTTTTT
so much pain / time could be saved if devs just used a damn framework (i don't care, bootstrap or tailwind, have at it which is better, i could care less). stop trying to be fancy, like this above, because its ultimately wrong. sorry i'm not sorry7 -
When you think you suck something it's NOT your fault - learn how it's done in a different language or framework, then come back to it.
When you think you mastered something, it IS your fault - learn how it's done in a different language or framework, then come back to it. -
Every time I have to explain to someone what projects I've done, and what I'm currently working on.
No, they're not the most useful and don't showcase any skill using this framework or that piece of knowledge. You're not the first to tell me. I like what I do and if I die hungry because of it, so be it. -
Can't decide whether I like React or not. Hated it in the beginning, then sort of started liking it and even thinking it was great just to fall back to the dislike stage again where I roll my eyes and think it's a messy, crowded pile of shit that breaks with all sorts of good software principles. This has fluctuated up and down for over 3 years.
It's the only language/technology/framework I have had this experience with. Weird.8 -
"Guys best idea to fuc... help the javascript developers. We make a framework with its own events/states and it will not change inputs or anything unless specified in state. Clearly easier to test... I mean how hard can it be?
Even better our framework will be so fuc... Helpfull that they will put an plugin so they can make it work... I mean improve...
Did i say we just throw the html and put everything in our own butchered way? Even better remember that easy
, Style= ? Hahaha we will make it an object...
O yeah and the state must be immutable objects... What immutable means? Who the fu... I mean its easy...
And we make our own virtual dom because... Fu browsers"
-Facebook developer who hates javascript probably
P.S: thanks vue for keeping the double binding.2 -
The one in which I am rn is the reason why so many people dislike php, jquery and Java on the server.
Then previous to this one, classic ASP for the web interface and our desktop components were delphi (OLD ass delphi)
Mind you, these are all tech stacks that I do like (php, java and O Pascal in particular) but really dislike in:
php: we have just your standard procedural spaghetti php on some old ass shit.
Classic ASP: Same as with php, no proper structure, made more apparent by the intense limitations of VBScript, I did enjoy the language tho, had it evolved better It would have been more tolerable, but the hoops i had to take to build a propee API in it....boooooy that shit was an eye opener.
Delphi: Not bad in itself, but the original dev had a shit notion about how architecture should work.....or what architecture is for that matter.
The Java one: this shit was coded when Spring was already an alternative to just fucking around with JSP, or any other framework for that fucking matter. Dude tried....TRIED to implement design patterns in it and it failed on every single fucking component. Worst of all, it was coded in such a shit way that during certain...err...conditions, the bottleneck proved too massive of an ubdertaking and the app chokes and needs to be restarted ... constantly
their use cases for jquery are not bad, but loading all of jquery for the shit they mostly do could have been easily done with just standard vanilla JS.
I got more, but thede are just from the top of my head
I love php, mind you, but shit like this makes me see why some people GREATLY dislikes it.
I alsp have some old web forms in c# and vb net that I loathe, funny enough the code for thise in vb.net is more elegant, almost as if it were from a different developer.3 -
If a team uses multiple languages and stacks (Have, JS, Python) do you think it's better to have everyone use/constantly switch between them or have dedicated developers for each language (ie. 80% main, 20% others)?
--END QUESTION, ANSWER NOW BEFOREHAND CONTINUING---
---BEGIN RANT---
My boss likes keeping the team "will rounded" so everyone does everything. One month in working in Java, the next with Node web apps. When I switch to node, it takes like a week of "wtf doesn't it work.... what changed, is it a big?" And usually end it"oh right I remember I need to ..."
And also always... "How the fuck do I write tests in {some reading framework} again?"
So feels like everyone is just a generalist and no one is a master/has time to develop mastery. I don't know if it's just me (1/3 Senior developers on the team that has to do everything) or if I'm the only one that complains... Not that it makes a difference... (Only option to really be heard is to resign but I need to somewhere else to work and finding one is hard for personal reasons)
And well this is the biggest reason I would leave the team. No time for mastery, no standardization/shared knowledge (everyone does their own thing but probably not well and no time for testing or documentation; how the fuck does whatever you wrote work, how do we use it, what the fuck did you put in prod that does ... And where the fuck did you put it cuz it's not in ANY of our repos).
I always feel one day soon it will come crashing down and I can say "I told you so" but will then it's too late and I'll be there one cleaning it up... Again6 -
I am still relatively new to Ruby and would like to write a program using an interactive shell like interface,meanjng that people type the name of the program "taskflow" and the app starts, putting them into interactive mode. Is there a good framework for it or is it hard to write it myself? If not, any ideas or tips on how to accomplish it?3
-
At first i was told to go to college BY PEOPLE WITH NO COLLEGE because i wouldnt be able to find a job without degree
Like a sucker i fell for it and believed in those LIES so i sacrificed my life for school
Then later i found out PEOPLE WHO FINISHED COLLEGE told me i just need knowledge in order to be hired, and turns out degree is unimportant
Like a sucker i fell for it and believed in those LIES so i studied and worked on practical projects and gained knowledge
Now when I try to get hired, they admitted that i am able to complete complex projects and i know how to solve the problems even if i see them for the first time. But they rejected me because "im not sure why the car leaks oil".
I have to understand and know what the whole framework is doing under the hood, how everything works, how dependency injection works under the hood, SOLID principles under the hood, decorators how they work under the hood etc.
So now it turns out
- sacrificing life for school is not enough
- sacrificing life for degree is not enough
- sacrificing life for learning and gaining knowledge is not enough
- now the new trend is i have to know not only how to drive a car like a professional formula F1 driver, i also have to be a mechanic and know how to fix the car if it breaks.
MATRIX IS A BIG FAT BULLSHIT AND A LIE.
I feel like they're looking for a senior developer knowledge to pay him junior developer salary
WTF IS THIS BULLSHIT?
I sacrificed 10 days of my life for their bullshit to build this project from scratch as a technical interview. They never said congrats on all the parts that were built right, but only complained about the small portion of bugs i didnt have time to fix.
ALL OF THIS FOR A SALARY OF $1500/MONTH THAT I ASKED. THATS LESS THAN 20,000$ A YEAR. THEY EITHER GAVE ME AN OPTION TO WORK FOR WAY LESS (500-600$/month) OR CALL THEM BACK IN A FEW MONTHS.
I JUST FINISHED COLLEGE AND THEY EXPECT ME TO HAVE 20 YEARS OF SENIOR DEVELOPER EXPERIENCE.
WTF IS THIS SLAVERY BULLSHIT?
HAVING A 500$/MONTH AS ENGINEERING SALARY WITH A DEGREE IS BELITTLING OF THIS JOB.
NO I DONT LIVE IN INDIA I LIVE IN SERBIA. MY DOG IS SICK AND IT COSTS 100$ A DAY JUST FOR HIS TREATMENT. HOW AM I SUPPOSED TO SURVIVE WITH A SLAVE SALARY IN THIS ECONOMIC CRISIS.
I DON'T UNDERSTAND2 -
Microsoft owed a lot of its product development to the VB language. VB6 made an acute impact in the dev world. With a RAD environment, a proper language that executes to the machine level. A good IDE etc etc.
VB.NET broke a lot of balls due to the fact that the .NET framework came to the world and C# became a special name in the .NET arsenal. for years, both languages were hand on hand. With a bunch of neckbeards hating on VB.NET and another group of neckbeards advocating for VB.NET to step in to their roots concerning the VB6 standard.
Fast forward and Microsoft is complete hating on VB.NET regarding the .net core environment.
This is for me the biggest hurdle with Microsoft technologies, while I love C#, I am very hesitant to trust in their technology stacks since they have a thing about ignoring things they developed. Remember Visual Fox Pro? ded, remember classic ASP with VBScript and JScript? dead
Shit like that makes me not trust Microsoft, F# is a fascinating language, but nothing stops me from believing they will discard it at one point or another.
Honestly, there is nothing wrong with VB.NET, I feel that the language is fucking easy to get, a glimpse of a VB.NET project and I know what is happening, the syntax, as verbose as it is, really makes it easy for anyone to follow along with it.
The problem? Because it is so easy to work with, most devs in that realm never bothered to move forward, which is why there are no big projects build with this language, as such, people coming forward as maintainers are rare, and few in between.
I just want to go back to the good ol days of RAD and for Embarcadero to get their heads out their ass and release Delphi for everyone. Object pascal is dummy easy.3 -
Fuck Sitecore (Crapcore) up it's ass! Honestly, I thought Wordpress was a pain, but crap, at least I can get it to fucking work! Crapcore is the most finicky, bi-polar, PoS I had ever had the displeasure of using. Full of bugs, issues, and half-cocked stupidity (and we're talking from the ground up).
Imagine this, let's take a perfectly good working wheel (MVC/ASP) and then let's redesign it to be the most dysfunctional crap, that would fall apart the minute a damned light breeze blows on it, oh! And let's make it EVEN WORSE...Let's hide everything behind an eff'n pay wall and gimmicks that never work! Brilliant! Now NO ONE will be able to help anyone (because no one wants to pay up the ass for this shit to begin with)! I mean, it's not enough that the "framework" is such a bloated mess that no one knows what/why things screw up (psst...it's the framework itself), let's make it so idiotic to use as well! F'N BRILLIANT!
Seriously, I can only pray that the same thing that befallen to Blackberry happens to Crapcore so that I could be rid of this shit (or find someplace else that DOESN'T USE THIS SHIT). Word of advice, before taking any job, if they say they're a ".Net firm" ask them if it's MVC/ASP or Crapcore...And if it is, run...Run far the fuck away from that mess! It would save you the aggravation, anguish, and the stress of trying to get any work done with a "framework" that seems to have been made by a mentally disabled 2 year old (no offense to any mentally disabled 2 year olds other than the mentally disabled 2 year old morons at Crapcore).
/RantOver -
GET Requests with a BODY as a payload are legit and stop living in denial!
TALKING TO YOU ANGULAR!
I'm fucking sick of seeing ignorant people(on SO or GitHub) coming up with the generic advice, on HTTP GET issues with having a BODY as a payload, to don't do that or you shouldn't, yadayadayada.
It's not a fucking issue at all in general, because as RFC-7231(https://tools.ietf.org/html/...) sais:
"A payload within a GET request message has no defined semantics; sending a payload body on a GET request might cause some existing implementations to reject the request."
So, if your fucking server can't handle them(aka living in the past), [rest] in peace and suck it up!
(ps, I happen to use modern servers)
But why should you limit a fucking front-end framework(ex. Angular) in the first plate to being able to send such requests?!
It's a moronic limitation and the person or team responsible for it are at least clueless and as far the issue has reappeared through time, for how old is Angular, they didn't move an inch.14 -
So the company that asked me to join them for work in a somewhat illegal way, has just sent me a small project to understand how I think inside a project in order to understand whether they should hire me or not.
I have a week to finish that.
It's only frontend, in ReactJS+Tailwind, based on a theme/framework.
I fucking despise ReactJS and specifically told them I much rather work on Angular.
I feel like
I'll just do this project at best, give it to them, wait until they give me the contract and they tell them they'd need to double my pay to have my ass.
Yeah, I just want them to waste time, just like they're wasting my time. -
It's been a while since i stopped programming.....
It's been so busy with all the school work/assignments/ and the most important part is that school ends at 10pm, arrive home at 11pm, prepare for tomorrow school stuff, sleep at 2am, wake up at 7am next morning, and again ends at 10pm 5 days a week...
It is exhausting, but I am getting used to this routine.
Studying my own programming skills or working on a side project? Not sure when to do it... The only way to continue studying is at breaks at school, or sleep less and study....
But it is impossible....
I have some great projects that are waiting to go out to the world, to list a few:
- cloud gaming
- cloud storage with live streaming
- complete school schedule management
- home automation framework in dotnet
- deepfakes and ai image generation algorithm (~18 months of training till now)
- game cheat engine (20GB total omfg ^^)
- and more
and I don't have time to finish it. lol
I think it will see the bright world after 3 years of high school... By then, my projects will be ancient, probably....
TIme is really short.
24 hours equally, but feels like 8 hours a day....
Should I abandon the project rn and focus on studying? (probably should)
or should i sell the project or open source it?
Also, how do you manage your time between work(study) and side projects (especially big ones)?4 -
Had an interview yesterday for a UI UX front end position with someone that had about 3 months of experience, all from a bootcamp. For a beginner it was ok, your run of the mill projects whose CSS framework you can tell at a glance. The guy finished the interview by pointing out that people from his bootcamp were getting offers of around X, where X is around 50% higher than engineers with 5+ years of experience usually get.
I'm not sure if he was trying to bullshit me, or if he seriously thought that was a standard salary. Or maybe he was some savant and I was too dumb to realize it.1 -
serious question: in what FUCKING case would i need to use DevOps engineering and custom backend custom frontend AWS azure gcp cloud providers etc if all that bullshit can be avoided and the same performant software can be crafted in 1 single framework -- nextjs?????
all of that bullshit looks like WAY overengineered, marketing-bloated BULLSHIT so bozos can buy more yachts off ur fucking dumbass cloud provider usage.
how is nextjs so powerful that u dont need any of those shits?
beyond me
the only time i see all of this overengineered shit makes sense is if u work on a large corporation software such as bank
then sure.
but chances are if u freelance or build ur own side project
ur NOT gonna fucking need to overengineer all of that cowshit
i literally had to take a step back for several weeks to unbrainwash myself by jeff bozos megacorp
and realize all these megacorps lure u into bullshit
keep it fucking simple you fucking fags and stop feeding the money hungry corps
u dont need a fucking gigazillion complexity software5 -
I'm doing a project for uni in Omnet (C++ framework that should facilitate working with networks of queues, simulating and displaying statistics).
I needed to retrieve a random value from an exponential distribution, and the function to do so requires a random number generator as input. The framework has 2 implementations of the RNG and I picked the first one.
I spent 3 hours trying every possible thing, using both the exponential() function and its class wrapper (both provided by the framework), it was always returning 0 or NaN.
The RNG was spitting out values correctly, so I thought it was okay.
When I was almost ready to give up, I figured I could try and change to the second implementation of RNG, expecting nothing to change. And it fucking worked.
Zero reports on this behavior on Google, no apparent reason why it would work with one and not with the other when the two RNGs literally implement the same abstract class and spit out the same exact numbers... Just black magic...
Oh and cherry on top, it works with the raw function but not with the class wrapper on that same function... IF YOU GOTTA IMPLEMENT SOMETHING IN YOUR DAMN FRAMEWORK THAT DOESN'T WORK, FUCKING DON'T! 1 combination working out of 4 is not good! Or at least document it!
Sorry just had to share my pain -
I've been helping a friend of mine with his postgraduate project the last 3 months.
It was a Java based program made in Processing. Though I am not a Java developer and I never used processing before, it wasn't that hard to write the logic of the program.
I noticed that sometimes Java made me use loops for almost everything.
Also I had to communicate between server and client via JSON but I had to write it manually as string due to the lack of keys in Java.
The main trial though was with the logic of the project. It was supposed to be made as a framework to be extended from custom user classes. I had to change the core classes I made many times because the user class had methods that should run while the parent class didn't have them declared. That could be my fault for not knowing how to write desktop application framework but you can't expect a framework to be extended in a compiled state, or so I think. Processing on the other hand doesn't seem to like the idea of an external java library. At least it didn't workout for me, it should be able to work normally.
In the end the project was never as completed as we wanted. It could rum a basic sim but we hadn't the time to test other possibilities. -
Why do I see so many developers in the game community asking if a <insert tool> is usable for making a game? (I see it a bit here too for language and framework suggestions.)
Then I started thinking that these people either don't know what they want to do or they don't research the tools to find out what the capabilities are. Yes a certain percentage don't have a clue and are asking out of complete nativity.
However, as a developer I have always looked into features I think I need and base decisions on that. Often times spending a couple of days to play with the tool. Learn by doing.
Then I got a bit philosophical. Are the people asking these questions because their value system is based upon collectivism rather than merit? They will be in for a rude awakening when they cannot finish a project on time or at all when a feature is not there.
I get it on some level though. Sometimes we gotta know if something is complete shit.3 -
Should I learn Angular 2 or Vue 2?
Not asking which one is better, but which one suits my need better:
I want to move from PHP to nodejs frameworks; I know Vue cause it's famous in the Laravel community, but don't know about the node/js community. I heard Angular 2 is hard, but I'm changing my dev stack so might as invest some time in it. So which one should I pick?
Also, what's a good nodejs framework for starters (who aim to build production-ready apps) (also, not planning on doing mobile apps so no need for cross platform js frameworks).
Thanks in advance12 -
How to protect API endpoints from unauthorized usage by bots?
If the API end points are meant to be used by any incoming to CSR frontend user without prior registration?
So far, my the only idea is going from pure CSR React to something with partial SSR at least in Node.js, Django or any other backend framework. I would be able restricting some API endpoints usage to specific allowed server ip.
Next.js allows dynamically both things as well.
As alternative I have a guess to invent some scheme with temporally issued tokens... But all my scheme ideas I can break really easily so far.
Any options? If SSR is my only choice, what would you recommend as best option in already chosen Django and not decided fully front-end framework?
I have the most crazy idea to put some CSR frontend framework literally into my django backend and making initial SSR from it. The only thing its missing... my lack of skills how to use React, but perhaps I have enough time to get a hang of it.
SSRed frontend can be protected with captcha means at least.16 -
Framework Style Guide:
"When extending this library, please refrain from exposing too many arguments for the stages in your pipeline. Everything that could be fixed or inferred should not require additional configuration. "
Real life:
"Adjust every fucking knob and screw to stupidly specific settings for each and every use case or gravity itself will stop working. Heed this warning for you will not have another chance. "
That's it. More a vent than a rant. -
Whenever someone praises a language or framework to be the holy grail of programming, I like to think of epicurus' problem:
1. If an omnipotent, omniscient, and omnibenevolent programming language exists, then all the hundreds of other PLs would not.
2. There are a fuckton of PLs in the world.
3. Therefore, an omnipotent, omniscient, and omnibenevolent programming language does not exist. -
Usually I come here to rant but this time I want to appreciate a technology which many programmers loves to hate: the old .NET Framework.
It may not be the most cutting edge or performat technology but it makes dealing with legacy code such a breeze.
I had to work on an old .NET Framework 4.5 project and all I had to do was opening the .sln with Visual Studio and I was ready to go, in the meantime Node.js projects unmaintained for few years easily succumbs to missing packages and breaking changes making maintenance a PITA.2 -
Right know, the biggest challenges when taking a new task are not learning the tool or framework or language, no...
The biggest challenge is how to integrate it with the burocratic and undoccumented in-house software and tools of my company.
Is it the same for you?? Should I start my job hunting already??1 -
I have a guy that will come in a few hours to discuss about an e-commerce website he wants to start his business. I've accepted to do it freelance.
Things are a little quick for my taste, but I know myself enough to know that if I don't jump head first, I'll back out and miss on an opportunity to add something valuable to my resume (and get a bit of money).
The thing is : I have nearly zero experience in 1) e-commerce websites and 2) client relationship and managing. So that will be a great challenge to me, but that's precisely what I need right now.
Anyway, I'm coming to you to ask a few questions : assuming his requirements are simple and common for an online shop, should I create it from scratch or would it be wiser to use a dedicated framework (Prestashop, Wix, etc.). If the latter, which one would you recommend, cost and efficiency-wise.
Still assuming simple and common requirements, how much time would it likely take, for an average developper (I'm no Linus Torvalds) working on average 8h a day ? More like 2-3 months, or more like 5-6 months ? I'm leaning more towards 2-3, but since I don't have experience in these kind of websites, I find a lot of user stories that might take me time to figure out.
Last but not least, what would be approximately an honest price, technical costs aside (domain, host, potential framework, etc.) for that kind of work. And for maintenance ?2 -
First of all... What I really like is computing. Wearing a language T-shirt and defending a framework as a New World Order activist is not me. What matters is to make the computer perform the task that I programmed, in a way that it is easy to maintain and that it executes quickly. User needs to like and operate fast. And the computer should be respected and not make it work its ass off just because it needs to load my fancy libraries. Whether the task will be done in C, C++, Go, PHP, Java, Ruby, VB, or whatever the fuck it is doesn't matter.
Fed up with people shipping a simple 2kb utility with 2GB of runtime dependencies.
IT is the only profession that advocates branding and specializes in a single tool. I've never seen an electrician who only uses a single brand screwdriver.
Fuck you fan boys.1 -
Just spent the whole night awake to do a university coursework.
Not because I was late or it was difficult, but because the framework we had to use was so wrong that I had to take a 20 minutes break for desperation for every line I wrote. -
If ever a jinn grants me a wish I would ask him to build me a webpage. If he does I'll report back to you guys wether he went for material design or not, the JavaScript framework, the backend language, client or server side rendering etc.
Waiting for a jinn... -
Any Unity3D devs out there?
My thoughts: Unity3D is an amazing game engine. It lets you really quickly go from concept to implementation and allows you to prototype very quickly. My concern is that I find it incredibly hard to write good code using it. It's very difficult to write in a test driven way, especially if you put any logic in a MonoBehaviour. It is possible to work around this by using Zenject or another DI framework. You could even use entitas which is an entity component system. But these all have their downsides too. Zenject I find to be quite boilerplatey and not that easy to test either. I also find it really frustrating to be using a really old very of C# (maybe C#4 equivalent but I think it's customised in some way for the engine).
Anyone else struggle to enjoy writing code for Unity3D games?18 -
I like the people I work with although they are very shit, I get paid a lot and I mostly enjoy the company but..
Our scrum implementation is incredibly fucked so much so that it is not even close to scrum but our scrum master doesn't know scrum and no one else cares so we do everything fucked.
Our prs are roughly 60 file hangers at a time, we only complete 50% of our work each sprint because the stories are so fucked up, we have no testers at all, team lead insists on creating sql table designs but doesn't understand normalisation so our tables often hold 3 or 4 sets of data types just jammed in.
Our software sits broken for months on end until someone notices (pre release), our architecture is garbage or practically non existent. Our front end apps that only I know the technology have approaches dictated by team lead that has no clue of the language or framework.
Our front end app is now about 50% tech debt because project management is so ineffectual and approaches are constantly changing. For instance we used to use view models for domain transfer objects... Now we use database entities, so there is no commonality between models but the system used to have shared features relying on that..sour roles and permissions are fucked since a role is a page regardless of the pages functionality so there is no ability to toggle features, but even though I know the design is fucked I still had to implement after hours of trying to convince team lead of it. Fast forward a few months and it's a huge cluster fuck to enforce.
We have no automated testing of any sort or manual testing in place.
I know of a few security vulnerabilities I can nuke our databases with but it got ignored.
Pr reviews are obviously a nightmare since they're so big.
I just tried to talk to scrum master again about story creation since any story involving front end ui as an aspect of it is crammed in under one pointed story as sub tasks, essentially throwing away any ability to calculate velocity. Been here a year now and the scrum master doesn't know what I mean by velocity... Her entire job is scrum master.
So anyway I am thinking about leaving because I like being a developer and it is slowly making me give up on doing things to a high standard and I have no chance of improving things, but at the same time the pay is great and I like the people. -
Does anybody else feel a little sad when reading rants or negative comments concerning frameworks you've used a lot or maybe even more in case you're still using them?
In my particular case I just read some comments tackling Angular - and I do not want to say, that those comments aren't justified. We're currently living in a more than ever fast-paced front end framework world and Angular is simply not state of the art anymore.
So I do not want to start a "what's the best framework" discussion here, that's not my intention.
This is more about the feeling you get when you've built a lot of stuff using a framework, maybe you have still projects running on this framework or even contributed.
Either you do not have the time to switch to another framework yet or you're even still somehow satisfied with the way they're working.
However - reading all this negative stuff about such a framework is sometimes not that easy.
..or am I just some kind of strange, sentimental developer guy? ;D10 -
(I'm not completely sure of what I'm saying here, so don't take this too seriously)
Settling on a language to write the api for ranterix is hard.
I'm finding a lot of things about elixir to be insanely good for a stable api.
But I'm having a lot of gripes with the most important elixir web framework, phoenix.
Take a look at this piece of code from the phoenix docs:
defmodule Hello.Repo.Migrations.CreateUsers do
use Ecto.Migration
def change do
create table(:users) do
add :name, :string
add :email, :string add :bio, :string
add :number_of_pets, :integer
timestamps()
end
end
end
Jesus christ, I hate this shit.
Wtf are create, add and timestamps. Add is somehow valid inside the create, how the fuck is that considered good code? What happens if you call timestamps twice? It's all obscure "trust me, it works" code.
It appears to be written by a child.
js may have a million problems. But one thing I like about CJS (require) or ESM (import) is that there's nothing unexplained. You know where the fuck most things come from.
You default export an eatShit() function on one file and import it from another, and what do you get?
The goddamn actual eatShit function.
require is a function the same way toString is a function and it returns whatever the fuck you had exported in the target file.
Meanwhile some dynamic langs are like "oh, I'll just export only some lang construct that i expect you to specify and put that shit in fucking global of the importing file".
Js is about the fucking freedom. It won't decide for you what things will files export, you can export whatever the fuck you want, strings, functions, classes, objects or even nothing at all, thanks to module.exports object or export statement.
And in js, you can spy on anything external, for example with (...args) => debugger; fnToSpyOn(...args)
You can spoof console.log this way to see what the fuck is calling it (note: monkey patching for debugging = GOOD, for actual programming = DOGSHIT)
To be fair though, that is possible because of being a dynamic lang and elixir is kind of a hybrid typed lang, fair enough.
But here's where i drop the shit.
Phoenix takes it one step further by following the braindead ruby style of code and pretty DSLs.
I fucking hate DSLs, I fucking hate abstraction addiction.
Get this, we're not writing fucking poetry here. We're writing programs for machines for them to execute.
Machines are not humans with emotions or creativity, nor feel.
We need some level of abstraction to save time understanding source code, sure.
But there has to be a balance. Languages can be ergonomic for humans, but they also need to be ergonomic for algorithms and machines.
Some of the people that write "beautiful" "zen" code are the folks that think that everyone who doesn't push the pretty code agenda is a code elitist that doesn't want "normal" people to get into programming.
Programming is hard, man, there's no fucking way around it.
Sometimes operating system or even hardware details bleed into code.
DSLs are one easy way to make code really really easy to understand, but also make it really fucking hard to debug or to lose "programming meaning".7 -
I'm sorry, but who thought eslint or any linters for that matter were a good idea.
Started a new vue project using the cli, installed tailwind... oh what's that you don't like the line length... get out of here. It's an SVG and using a class-based framework. The hell.
Any way of removing eslint? I just want to code and not get bs warnings because of an svg length or because I add one to many classes.16 -
Hello council of elders.. or should I say "console"? Heh? Heh? I've been up for a long time sorry.
Anyway. I've started learning framework stuff. Angular right now. Been long overdue tbh. And I found a free course on udemy and followed it. It's cool and everything but I gotta ask...
Why can't I just use vanilla js and everything from scratch? I'm not sure if its the course I'm using (I'd appreciate more resources. Thanks) but I feel like it's a lot of effort. Is there something I'm missing or haven't learned yet?
It might sound stupid please let me know why it's better to use that than regular methods. Apparently it's meant to make stuff easier but I feel like it's just a lot linking files and making various things in different places.
Also. Other stupid question which might just be cause of the course but like... Is it mostly just for manipulating json??
Thanks. More questions to come soon!!3 -
I have been coding since 2016, am I overthinking applying for jobs because Im not that "current"? (my React experience is not that deep, I have been working on our startup whos stack doesnt use React or any other front-end framework (only simple handlebars templating))
I have built an actual stable working web platform and mobile app through ionic, is this enough to get a decant non-junior job?
I have never actually worked at a company, its been freelancing and startup (we failed, moving on). Am I overthinking how good I need to be to get a job? I like this one local company but I dont want to screw it up, Im sort of delaying applying there because of it7 -
<assumption>If there are no fundamental laws constraining the existence of simulated consciousness</assumption>, I would throw in my lot in working towards developing an AGI.
Since there is infinite time to learn any skill and <assumption>it is possible to learn or invent whatever software or mathematical framework is required for such a goal</assumption>, I would get down to that, learning and creating various new forms of mathematical frameworks and required software tools.
<assumption>Engineers usually work best without another fellow human on the project</assumption>, so I will set up automation for tasks that do benefit from multiple minds on a project, in the form of low-level artificial intelligence that I have to work on as a prerequisite for the main goal.
Once the critical mass is hit where the code can keep self-improving and produce more iterations of itself that are better, I sit back and start with my long, long to-watch/to-read list and try to finish as much as I can before the AGI I created would <assumption>repurpose all of our mortal flesh for more efficient use.</assumption>
The only remnant of the existence of humanity will be the influence on the initial design of the code based sentience that exists now.
.
.
.
.
.
.
.
Just kidding, <not-an-assumption>I'd probably procrastinate right until the heat death of the universe</not-an-assumption>1 -
Quite confused between choosing one out of two job opportunities
Little background - I am currently working on my own startup/project. I have been thinking of taking a break from it, for now, for various reasons, pick a job, earn some more experience and money, and get back to my gig after couple of months.
18 months ago, I had to choose a framework. I decided to go with Vuejs, and I feel, I made the correct choice. My motive was not to select a framework for job market or prepare for job, but to learn the best framework for project ( Good learning curve, easy, and fast )
Just recently, I got internship opportunity at two good startups (one YC selected and one funded), one using Vuejs and other Reactjs, which will be converted into full-time job.
The advantage with vuejs startup is, I am good with vuejs and looking to use it in future also. But with reactjs startup, I will have to dive deeper in reactJs in coming 2-3 weeks, which I don't think I am going to use in future for personal projects.
Compensation of reactjs startups looks more than vuejs company. Around 20-30% more. Vuejs company had asked for 3 month internship, while reactjs company will decide to convert it to full-time in a month.
Have anything to say ??
*Vuejs is adapted from and bit similar to angular and reactjs*1 -
Any file manager without range selection is basically crippled.
Desktop PC file managers had the ability to select many files at once since at least the 1990s, yet smartphone file managers typically still lack it as of 2022. This means if I want to select a range of files, I have to tap each file individually. That's OK for - like - 20 files, but not for 1100 files. I'd need more time to select those files than the transfer would take, and if I accidentally hit anything that closes the app, I can start all over again. <sarcasm>That is how I wish to spend my day.</sarcasm>
In the early 2010s, ES File Explorer brought a dragless range selection feature, where only the first and last item had to be highlighted and a button pressed. This means over 5000 items could be selected in 10 seconds: tap item A, drag the scroll bar, tap item B, tap range selection icon, then done! But then Google came and said "sorry, you can't have nice things" (not vocally but through actions), and forcibly disabled write access to the microSD card to third-party applications. The only way to evade this restriction was through rooting.
Then, Google "blessed" us with storage access framework and then iOS-like scoped storage "to protect us". https://xda-developers.com/android-... . Oh, thank you for your protection by taking freedoms away!
The pre-installed file manager of Android still lacks range selection THIRTY YEARS after desktop computers came pre-installed with this feature. Shame on you, Google. This isn't innovative.
If Google will implement range selection, I guess they will make it half-assed by implementing drag-to-select, which is hardly more useful than individual tap selection for thousands of files. Then they tell us "you wanted range selection, here you are! Now don't bug us.". Sorry, but users don't want half-assed drag-to-select, but real tap-A-B-selection and a draggable scroll bar.
Some mobile file managers even lack a draggable scroll bar, meaning if I want to go near the center of the list, I have to swipe up like a dog or cat licks water from a bowl.8 -
I need advice!
I have a project idea that involves creating a cross platform gui but I cannot decide on a framework.
I have been toying with the idea of electron(ugh please no), c++ with either gtk+ or qt, Java with JavaFx.
I really want to be be able to create binaries for Mac windows and Linux while keeping bundlesize low and efficiency high. With this in mind I am leaning towards a c++ implementation but qt (which seems to be the best option for this route) has an insane learning curve. Is there something I am not thinking of that would satisfy these requirements?10 -
I almost looked for every possible source but is not satisfied or not found optimum way or path.
Actually i have to build a netflix clone (not exactly but a video on demand platform for one local client). The tech stack will be React at the frontend and DRF (Django Rest Framework) at the backend.
I know the node will match my purpose at best, but this needs to be done on DRF. How should I return the video, should I return it in bytes, packets and what can sample code look like, how frontend should fetch it. It will really help if you put your insight, in general. Thank you5 -
So many choices for backend I'm fucking confused. Yesterday, I tried Django and i found it little similar to RoR(in generating things, db migration things).
I'm currently working in NodeJS.
I even don't know should I rant or cry.
And of course frontend is another thing same like this.....
And I'm not much experienced to differentiate them and know which is better and where it will fit.
Can anyone tell me in simple way which framework fits where?1 -
I think if you are a beginner and you want to learn to program it's always better to look at the current technologies in the industry. This does not only apply to beginners, even those who are already in the industry as this may help to decide which language or framework you want to learn. In order for you to decide you need to know the market trend and the stability. I think the following links can help quite a lot.
https://insights.stackoverflow.com/...
https://octoverse.github.com/
https://madnight.github.io/githut/...3 -
Recruiter contacts me on a software dev jobs platform because my profile looks great.
Job is for a fullstack JS developer and they use React, Node.js and some other stuff I've never touched.
Nowhere on my profile is any mention of React.
I thank him for reaching out and politely decline an interview by stating I have zero experience with React.
He says, oh, he thought I'd be willing to learn React since I know vue.js.
Why do people think learning a new JS framework is easy, and that devs who use a similar framework is willing to learn another one, and that "it's all just JS in the end"?
React is not just JS, it's fucking spaghetti. The React code I've read was cognitively demanding to decipher (or maybe I am low IQ lol), because it's not "just JS". It's a nasty spaghetti of HTML, CSS, and TypeScript.4 -
I’m a front-end developer. Whenever I need to introduce a new library or framework into the project, I always wonder if this tool is the best choice we have? How about its alternative? It always triggers my decidophobia.
I think one kind of data I can refer to is how many real repositories use it. So I crawl the JS projects on GitHub and record their dependencies usage and build a website called npmusage to check whether I should use it or not. More than 85K repositories have been fetched already.6 -
I am the technical lead in a project which uses a C# based framework. It's a lot of drag and drop, and C# scripts can be embedded for fancy stuff.
Scripts in general are not hard to do, it's harder to understand the business rules rather than the code itself.
I got hired as a junior to build this project from scratch as an MVP, and we need another junior to add enhancements and minor changes required from our end users. Since management wants me to move on working on more mid-senior development stuff, I'm supposed to be only supervising the juniors work (in the hopes that one day they'll be able to work on their own).
We've had bad luck filling this position. Our last hire is a guy like 17 years older than me, supposedly with experience in said framework but OH DEAR GOD.
Fucktard can't understand requirements and corrections, isn't able to deliver a 20 line script without fucking up. I give him a list with 3 mistakes to fix and only fixes two, crap like that.
Now, hear me out, the mistakes are stuff like:
- Unused variables
- Confusing error messages
- Error messages written in spanglish (mix between Spanish and English, we're located in Latin America)
- Untested features, this is the worst of all.
You may say "but he's a junior", sure. But as I said, he supposedly has experience, more years in IT than me, and fine, you're allowed to fuck up a few times on your first tasks but not make the same mistakes over and over, specially since we've already sat down and addressed these issues in presence of the CTO.
Fuck this guy. I genuinely dislike him as a person also, he is from another latin country and we have some serious cultural differences. For instance, he insists on sucking your ass constantly, being overly well manered (we already saluted with the whole team at the daily stand up, stop saying hello, good day, regards in each of your fucking chat messages or task submissions), and other mannerisms that are hard to translate, but whatever, all of these attitudes are frowned upon here. They're not necessary, we just want to keep it simple, cordial and casual and see you deliver the crap that you're being paid for with a decent level of quality.
On Monday the CTO comes back from vacation, I'm looking forward to that meeting, gonna report his ass, there is evidence everywhere on our issue tracker.4 -
How do you say no to any opportunity? I mean , as an engineering student, i have learned that anything can be made or any paper can be cleared if we set up our mind towards it( or if there is a deadline/good bucks/both attached to it)
But as a person who has given most of his free time to android dev, i know that i will give better outputs as an android dev than reading some web manuals for 2 days and work as a backend dev.
I am very confused. i have seen people who are very successful yet not passionate about any language , framework or tool. whatever comes in their way and carries a ton of $$$, they shut up, read the docs and make a great product. And then there are people who will only prefer to work in a specific environment and with a limited set of tools and technologies.
Can anyone with industry experience guide me that where should I incline if i am playing for the long run?3 -
Apart from the fact that I arrived at a good framework at work to play in problem space than in solution space, this post is more about self realisation and a slight progress in my happiness levels.
Monsoons started in India. The vibe somehow had always been melancholic for me triggering SAD (aka seasonal depression).
However, this year I find it cosier than ever. Hot showers, lazing around on a holiday when it's pouring outside, watching my favourite show/movie. I feel very relaxed in the moment, even when work and life is not as expected/under control.
What I realised is that my problem can be solved. I need a bigger house. That would give me privacy, some personal space for hobbies, and put a barrier between me and parents easing the tension and clashes. I could then get married, and with all the money I will save (from not buying a house myself), can be used to pursue hobbies like music, art, travel, etc.
Whenever I relax, my sleep pattern changes where I have longer duration of deep sleep with many dreams (perhaps processing everything). Does anyone else experience such a phenomenon?
Anyway, life doesn't get easy or hard, we just learn to put up with shit.4 -
So I got hired by a new client as a front end dev and I’m supposed to start a project from scratch. I asked (since it’s a new project) if it makes a difference if I use Angular or React and he said “technically not” but then in the following days he said he wants to use Angular with some lame reasons that’s it’s a full framework etc etc. I used both but obviously prefer React because well I’m not an idiot. Come to figure out he knows nothing about React but has used Angular before. What a FUCKING surprise 👏 👏 👏
Why can’t people decide objectively instead of just sticking with what they know. -
What exactly is a full-stack developer/engineer? I'm confused.
So, I worked as a freelance webdev for a US company where I redesigned a pretty complicated website from scratch with PHP, mysql, JavaScript, CSS, HTML5. I only mention those because it will important later.
Basically, it's a lame mvc framework I wrote which heavily relied on AJAX and bootstrap modals.
I built from mysql <=> PHP -> UI
I Also built an android app that communicates with the php api
I worked for 4.6 years and they were kind enough to give me the designation "Full Stack Engineer" so I could put that on my resume. Alright, cool.
Then I go to this interview and one interviewer took offense. He told me that, there are 3 tiers of web dev; Database, Backend shit and UI. And I'm not a full-stack engineer. He then asked me if I worked with frameworks like laravel, symphony etc. [I did but not in this project]. I didn't know what to say. The other interviewer tried to help me, "Do you know what it means? Or have you ever worked with React.js or Angular?".
Didn't get the job and I'm so embarrassed and just feel like I'm a fraud. How could I not know what full-stack is? And why did I put it in my resume? Fuck!
Anyway can anyone tell me what "full- stack *" is?
>inb4
>incoherent
>bad engrish
Just fuck my shit up fam5 -
In most businesses, self-proclaimed full-stack teams are usually more back-end leaning as historically the need to use JS more extensively has imposed itself on back-end-only teams (that used to handle some basic HTML/CSS/JS/bootstrap on the side). This is something I witnessed over the years in 4 projects.
Back-end developers looking for a good JS framework will inevitably land on the triad of Vue, React and Angular, elegant solutions for SPA's. These frameworks are way more permissive than traditional back-end MVC frameworks (Dotnet core, Symfony, Spring boot), meaning it is easy to get something that looks like it's working even when it is not "right" (=idiomatic, unit-testable, maintainable).
They then use components as if they were simple HTML elements injecting the initial state via attributes (props), skip event handling and immediately add state store libraries (Vuex, Redux). They aren't aware that updating a single prop in an object with 1000 keys passed as prop will be nefarious for rendering performance. They also read something about SSR and immediately add Next.js or Nuxt.js, a custom Node express.js proxy and npm install a ton of "ecosystem" modules like webpack loaders that will become abandonware in a year.
After 6 months you get: 3 basic forms with a few fields, regressions, 2MB of JS, missing basic a11y, unmaintainable translation files & business logic scattered across components, an "outdated" stack that logs 20 deprecation notices on npm install, a component library that is hard to unit-test, validate and update, completely vendor-& version locked in and hundreds of thousands of wasted dollars.
I empathize with the back-end devs: JS frameworks should not brand themselves as "simple" or "one-size-fits-all" solutions. They should not treat their audience as if it were fully aware and able to use concepts of composition, immutability, and custom "hooks" paired with the quirks of JS, and especially WHEN they are a good fit. -
Not sure if I'm sick or I'm actually in my full sense ....
I reached a point that I'm sick of all that million language to work with, maintain lots of shit, and started to consider using Flutter and get it done.
But I still don't like to build on these things because well, for the lots of trouble I went through in React Native, and yet again in Flutter having to modify several plug-ins because they don't support a simple feature as simple as Authentication header
I thought I'd give SwiftUI a go, but for a starter:
1. No pull to refresh
2. No proper grid (aka UICollectionView)
3. Comparing SwiftUI with Flutter, Google did a better job at keeping things simple
4. Only iOS 13+ supports SwiftUI, their statistics might show 90% using latest update, but that's their target audience, mine might be 90% not on latest update ...
Just some midnight thougts filled with frustration and wondering: How do web developers keep up with those "look ma! I made a new JS Framework!!" their life must be tougher .... -
(insight: for organisational and modularity purposes we tend to cut each object (which are usually chemical reactors or unitary a operations for plants ) into classes and subclasses and such, also to provide a common guided framework to insert a new objext to expand our simulation program).
Me: should we just use a middle parent class for these objects or leave them like this. Also I believe we could do X the Y way instead of X but requires updating the user guide. I could do that as well though. Up to you.
Professor: Yes *too bad it does not comply expected answers* Also mmh can you provide me a paper for tommorow morning to explain our project and why it should be better than what other universities do need to show some friends
Me: *looks at the watch, it's 9 pm, reflects upon the fact he has to get 2 hours of travel to even get home* well it's a bit hard for tomorrow morning, can you leave me 2 days?
I rise my head and realised my professor took his things and went home in that split second of me checking the time.2 -
!question+rant
So, I was call to be phone-interviewed at a company that I kinda liked.
They were looking for a full-stack developer.
I'm more of a back-end but I'm not blind to some front-end things, but I'm not expert to any front-end framework or technology.
I'm pretty good with Java and Python, and have 8+ years of experience.
The thing is, they were looking someone like me BUT also with React and JS knowledge. So it was a bye bye for me.
That made me start thinking: Should I start learning a framework and become a full-stack developer?
Which framework would be a good one to start with?
(I've made a couple of native Android apps, and once I tried to learn React-Native but I couldn't last more than two weeks with it).7 -
!rant, so I'm trying to decide on what caching system I should use. It's for a PHP app, using Symfony as framework, tlgether with Doctrine for DB. The caches in Question are memcached, APCu or redis.
The goal: speed shit up.
The app currently uses Symfony 2.8 and is hosted on a single server (so no distributed system is needed). I'd currently opt for APCu, but more since it's not distributed, there won't be an overhead from that. A nice thing about memcached would be the abillity to store user seeions, even if we would decide to have multiple servers in the future.
What would you reccomend and why?3 -
Don't you just hate it when there seems to be nothing but in some ways lacking solutions to a definite task in your capability arsenal? Or rather, I don't really know how I should feel about it... I've been developing this solution to receive a 3DES encrypted Azure Service Bus message, decrypting it and chewing the output XML down so as to be digestible to the PHP application whose API the message gets delegated to... but there just seems to be no perfect solution: subscribing to the event topic straight from the target app just... doesn't seem to work properly, a Python implementation.... well, let's just leave it at that... a Node.js implementation would require TS and completely rewriting a proprietary library with 100+ complex types - also, there's some hiccups with both the subscription and the decryption...
I started with an F# implementation (after deeming the PHP one flawed), and it seems it's still the best. But goddamn it I had problems with it on the dotnet core side of thing (decryption output incorrect), so I had to switch to dotnet framework... Now finally everything crucial is peachy, but I can't seem to be able to implement a working serialized domain model pipeline to validate the decrypted message and convert it to something easier to digest for the target application (so that I could use the existing API endpoint instead of writing a new one / heavily modifying the existing implementation and fear breaking something in the process...). I probably could do it in C#, I don't know, but for the love of Linus I'm not going to do it if I can avoid it, when implementing the same functionality I have now without the Dto and Domain type modules would take 3x LoC than the current F# implementation incl. the currently unused modules!
And then there's the problem of deployment... I have no idea what's the best way to deploy a dotnet framework module to an app completely based on MAMP running on a mostly 10yo AWS cloud solution. If I implemented a PHP or Node.js solution, it'd be a piece of cake, but... Phew, I don't know. This is both frustrating, overwhelming and exciting at the same time.7 -
which software/research/project you created in your free time as a hobby recently?
I personally created a small widget app that would allow users to create widgets of PDF files on their mobiles.
i have noticed a personal trend : i tend to spend my free time on language/tools/framework that are somewhat different than my daily job. I am a software engineer building sdks in my job that provide a very commercial set of features for android apps, but ended up creating an hobby app that would utilise android's other cool APIs ( storage, file, permission etc) .
before this project too i was exploring backend and web development, creating small react websites in my past time.
do you also spend time exploring outside yhe frameworks/tools used in your work life? or if not, how do you keep yourself motivated? the lateral part os important for me as i am soon going to a job where i might be exploring android APIs in daily work life and therby making android apps will become boring for me .
i remember before joining an SDK making company, i was trying to come up with an SDK myself lol, which at that time was opposite yo rhe work i was doing in the day2 -
How can I avoid coding in trial/error when learning a new framework (recompiling and testing)? I’m learning Unity and find myself constantly recompiling just to test if a single line works. This adds up to a lot of wasted time - am I missing something or not doing something properly?2
-
Background: We switched from just simple old PHP and JS using notepad++ to PHPStorm and its infinite configurables, Symfony 4, Twig, Composer, Doctrine, Yarn, NPM, Bootstrap, ( thank the stars we didn't try to add Docker in with all this ), any other junk I'm missing here? Then upgraded to Symfony 5.
Symfony's autowiring: madness behind the curtains. I get frustrated about when and where I can just magically inject these dependencies or use config variables, you know, like the ones you define in service.yaml. Hmmm, "service".yaml. In a controller you can say getParameter() but in a service you have to inject the parameter, FROM THE "SERVICE".yaml!!! Autowiring drives me nuts. Ok, so we can supply dependencies using the constructor, that's great! Within a controller you never have to instantiate the object you're passing to the constructor (autowiring handles that). That's cool, weird when we you try to trace it for the first few times, but nice I guess. Feels like half-assin' it. What bugs me here is that it only works in controllers... I guess out of the box.. i'm not even sure. To get that feature to work for services you have to make some yaml edits. Right?Maybe? Some of the Symfony tutorials have you code up some junk then trash it. Change config then wipe that out and do X instead... so I have no idea what "out of the box" for Symfony really is.
Found this cool article that describes my frustrations in better terms and seems like a good resource to learn about autowiring. I need to continue my yaml wizardry classes. https://alanstorm.com/symfony-autow...
.....And on to YAMLs, or CSS, or JS or any other friggin' change you make to a file anywhere... Make a change, reload page, nothing... nope you have to do some hidden cheat combo of yarn dostuff -> cache:clear -> cache:warmup -> cache:cache:the:cache ... I really really hate this crap. Maybe I'm too old school for all this junk. It was simple with pure PHP. Edit code, push file, reload page, and oh look it changed! Done. So happy! Ok, Ok. Occasionally the js or css might get cached by the browser and you have to ctrl/f5 or Shift/f5 .. one of those. With this framework there's just so much more that you have to remember to do get some new feature of your site loaded.
Now, I totally get wanting to use some type of entity framework, but I feel like my entire world turned backwards. Designing tables using something like MySQL Workbench made sense. I can see all the columns and datatypes right there as i'm building them. From what I've experienced now with Symfony/Doctrine is you have to make and entity, get a shit-ton of question lobbed at you and if it's a relation field you have to really have a clear idea of the cardinality up front. Then we migrate that to the database. Carefully read through the SQL if you really really just want to use migrations:migrate in Prod. That alter table could cost you some some downtime if your table is large.
Some days man.... -
#Suphle Rant 3: Road to PHP8, Flow travails
Some primer: Flows is a feature that causes the framework to bypass handling the request now but read it from cache. This cache entry is meant to be populated without warming, based on the preceding request. It's sort of like prefetching but done on the back end
While building Suphle, I made some notes on some chapters about caveats and gotchas I may forget while documenting. One such note was that when users make the Flow request, the framework will attempt to determine who user is, using authentication mechanism defined on the first module (of the modular monolith)
Now, I got to this point during documentation and started wondering whether it's impossible for the originating request to have used a different authentication mechanism, which would result in an empty entry for returning user. I *think* it's possible cuz I've got something else called "route mirroring", where web based routes can be converted to API routes. They'll then return JSON, get served under defined API path, use JWT, all automatically. But I just couldn't connect the dots for the life of me, regarding how any of this could impact authentication on the Flow request
While trying to figure out how to write the test for this or whether it was even necessary (since I had no use case), it struck me that since Flow requests are not triggered by an actual user, any code attempting to read authenticated user will see nothing!
I HATE it when I realize there's ambiguity or an oversight, after the amount of attention and suffering devoted. This, along with a chain of personal troubles set off despondency for a couple of days. No appetite for food or talk. Grudgingly refactored in this update over some days. Wrote some tests, not all passed. More pain. May have to convert them to unit tests
For clarity, my expectation is, I built this. Nothing should be impossible for me
Surprisingly, I caught a somewhat lucky break –an ex colleague referred me to the 1st gig I'm getting in 1+ year. It's about writing a plugin for some obscure forum software. I'm not too excited cuz it's poorly documented and I'll have to do a lot of groping, they use arrays instead of objects etc. There's no guarantee I'll find how to implement all client's requirements
While brooding last night, surfing the PHP subreddit, stumbled on a post about using Rector to downgrade a codebase. I've always been interested in the reverse but didn't have any incentive to fret over it. Randomly googled and saw a post promising a codebase can be upgraded with 3 commands in 5 minutes to PHP 8. Piqued my interest around 12:something AM. Stayed up all night upgrading it, replacing PHPSTAN with Psalm, initializing the guy's project, merging Flow auth with master etc. I think it may have taken 5 minutes without the challenge of getting local dev environment to PHP 8
My mood is much lighter than it was, although the battle is not won yet –image tests are failing. For some weird reason, PHP8 can't read generated test images. Hope I can ride on that newfound lease on life to study the forum and get the features working
I have some other rant but this is already a lot to digest in one sitting. See you in rant #4 -
!rant => question?
I'm hired as a freelancer for a start-up that wants to create a social-network-like platform. I've always been a "basic" PHP and javascript developer like using AngularJS, MySQL and my own kinda like PHP MVC framework etc.. But I'm worried that 'this' will come short when the platform expands on the user-base and stuff. That MySQL won't be able to keep up with the expectations and the amountof data, that AngularJS will not be enough for the Frontend,.. I've taken a look at ReactJS, RethinkDB, NodeJS and such, but this is not really within my "comfort zone" and I'm not willing to invest time in something new if it's not able to handle the platform (I don't know if it will..) and I'm afraid that I'll have to start from scratch if it all fails.. (and this is something I can't afford)
So.. What are you guys's opinions? We're not looking at millions of users, but it will have feeds, comments, connections, messages, post scopes,.. Etc. RethinkDB looks promising with the 'watchers' to get live data instantly, but it's a whole new way of query'ing and such.. It just feels like I'm wasting my time because I'm afraid that I'll reach a point in development where I'll have a situation for example like "damn.. This is impossible with angular or php.." [I've shouldn't have agreed to this project..] :D1 -
I have been working a part time paid internship for a few months and it’s not going well.
I’m applying and interviewing for full time but was lucky to pick up a paid internship to pay the bills. I’ve built and am currently updating a single side project for them but their lead developer works a full time job and tbh pretty sure doesn’t want to work with anyone so I can’t even get a list of dependencies or any instructions on how to run anything locally or really connect to the codebase. They also don’t really seem to care about the project as updates happens maybe one every few months. It’s written in a language and framework I’m unfamiliar with and falls outside of the scope of the documentation.
Currently spending hours a week trying to figure out this random codebase and as much as I would love to help the company if their main dev doesn’t want to assist I really can’t do much. Idk if this is a rant or what but this sucks, I legitimately like the owners but I’m afraid there not much I can do to assist or help.
On the other end I’m involved with some great open source teams that I’ve learned a bunch from and really appreciate. Ultimately I just wanna find somewhere accepting, I know I’m a novice and junior at best and need an environment that will help me grow not try to reinforce that doubt and make me feel bad.
TLDR;
Please be nice a receptive to Novices/Juniors who’s end up on your team we probably think you’re really cool and just want to help and we’re sorry for not being experts. 😕4 -
How I wish my job interviews would end like this:
HR: "So, we're looking for a developer with experience in Nuxt.js. Can you tell us about your experience with that framework?"
Developer: "Honestly, I'm not very familiar with Nuxt.js. But I have a lot of experience with Vue.js, which Nuxt.js is built on top of."
HR: "Oh, well that's just fantastic. So you're telling me that we're supposed to hire someone who doesn't know the most important part of our stack? How hilarious!"
Developer: "Look, I understand that Nuxt.js is important to your team. But I'm a quick learner, and I'm confident that I can pick it up quickly."
HR: "Oh, I'm sure you are. I mean, it's not like Nuxt.js is a completely different framework or anything. You can just magically learn it overnight, right?"
Developer: "I never said it would be easy, but I'm willing to put in the work to learn it. My experience with Vue.js and JavaScript is still valuable, and I think I could make a positive contribution to your team."
HR: "Oh, I'm sure you could. I mean, it's not like there's a million other developers out there who already know Nuxt.js. We might as well just hire someone who doesn't know anything and hope for the best, right?"
Developer: "Okay, that's enough. I get it, you're not interested in my skills. But maybe you should consider the fact that your job description didn't even mention Nuxt.js as a requirement. If it was so important, you should have made that clear from the beginning."
HR: "Oh, don't get angry. We're just trying to find the best candidate for the job. And clearly, that's not you."
Developer: "Fine. I don't need this kind of attitude from someone who doesn't even know the difference between Vue.js and Nuxt.js. Good luck finding someone who meets your impossible standards."
HR: "Yeah, good luck to you too. I'm sure you'll find a job where you don't have to learn anything new or challenging."
Developer: "At least I'll be working with people who appreciate my skills and experience."
HR: "Sorry, what was that? I couldn't hear you over the sound of your arrogance."
Developer: "You know what? I don't need this. I'm out of here."
HR: "Wait, wait, wait. Don't be like that. We were just having a little bit of fun. You know, trying to lighten the mood."
Developer: "I don't think it's funny to belittle someone for not knowing everything. And I don't appreciate being treated like I'm not good enough just because I haven't used Nuxt.js before."
HR: "Okay, okay. You're right. We shouldn't have been so hard on you. But the truth is, we really do need someone who knows Nuxt.js. We can't afford to waste time on training someone who doesn't know the technology."
Developer: "I understand that, but I'm willing to learn. And I think my experience with Vue.js and JavaScript could still be valuable to your team."
HR: "You know what? You're right. We've been looking for someone with Nuxt.js experience for so long that we forgot to consider other skills and experience. We'd like to offer you the job."
Developer: "Really? Are you serious?"
HR: "Yes, really. We think you'd be a great fit for our team, and we're willing to provide you with the training you need to get up to speed on Nuxt.js. So, what do you say? Are you interested?"
Developer: "Yes, I'm definitely interested. Thank you for giving me a chance."
HR: "No problem. We're excited to have you on board. Welcome to the team!"5 -
I am a mobile dev. Wants to step into backend world by learning python.. django perhaps. I am not sure myself. If someone can point towards good tutorials or links, which takes low learning curve in picking up things.. Thanks.
P.s. I found django rest framework official tut site. Also agiliq.com3 -
One of the most stupid phrases I hear again and again is "to not reinvent the wheel". Guess what, if no one had ever dared to take the first iteration of something, throw it out the window and start from scratch, we'd still be living in the stone age. If you're gonna use a library or a framework, fine, that's totally valid. Just make sure to actually understand the tools and code you're working on. People now tend to use these without knowing exactly what they do. And then once the original authors retire, no one knows what to do if something breaks. There can't be innovation if you don't try to reinvent. Don't shy away from writing from scratch sometimes.
-
#Suphle Rant 9: a tsunami on authenticators
I was approaching the finish line, slowly but surely. I had a rare ecstatic day after finding a long forgotten netlify app where I'd linked docs deployment to the repository. I didn't realise it was weighing down on me, the thought of how to do that. I just corrected some deprecated settings and saw the 93% finished work online. Everything suddenly made me happier that day
With half an appendix chapter to go, I decided to review an important class I stole from my old company for clues when I need to illustrate something involved using a semblance of a real world example (in the appendix, not abstract foo-bar passable for the docs)
It turns out, I hadn't implemented a functionality for restricting access to resources to only verified accounts. It just hasn't been required in the scheme of things. No matter, should be a piece of cake. I create a new middleware and it's done before I get to 50 lines. Then I try to update the documentation but to my surprise, user verification status turns out to be a subset of authentication locking. Instead of duplicating bindings for both authentication and verification, dev might as well use one middleware that checks for both and throws exceptions where appropriate.
BUT!
These aspects of the framework aren't middleware, at all. Call it poor design but I didn't envisage a situation where the indicators (authentication, path based authorisation and a 3rd one I don't recall), would perform behaviour deviating from the default. They were directly connected to their handlers and executed after within the final middleware. So there's no way to replace that default authentication scheme with one that additionally checks for verification status.
Whew
You aren't going to believe this. It may seem like I'm not serious and will never finish. I shut my system down for that day, even unsure how those indicators now have to refactored to work as middleware, their binding and detachment, considering route collections are composed down a trie
I'm mysteriously stronger the following day, draw up designs, draft a bunch of notes, roll my sleeves, and the tsunami began. Was surprisingly able to get most of previous middleware tests passing again before bed, with the exception of reshuffled classes. So I guess we can be optimistic that those other indicators won't cause more suffering or take us additional days off course2 -
[ WEBDEV frontend QUESTION ]
I will need to build a new admin dashboard for representing a lot of data from the api. the API is written in PHP and this won't change. We are currently using jquery to make the data interactive (choose date ranges, different filters and so on). Were currently using morris.js for charts. I'm thinking this would be a good opportunity to learn and use a new js framework to make the data more easily bindable on buttons and selects (not so many listeners on buttons and shit like that).I will be developing the front end on my own, alone, so i mostly have freedom here. I need something that has implementations of chart rendering, and which I could learn in a week or two in the evenings after work (starting to work on this in the next week probably). What are your guys recommendation? Whats the best option for dashboards js wise? I was thinking vue, won't I shoot myself in the foot for using a new technology(for me anyway) right from the bat?2 -
Hey! Just curious, is it normal that a technical test/challenge takes me more than a day to do?
I have been interviewed for a front-end role, and was given a react challenge. They said that it shouldn't take more than 2 hours ('hopefully' is what they added at the end). But i've been doing this challenge for a day now and it's only 60-70% done.
It's not complicated, and I do know how to do it, and, even, do it properly, it just takes a lot of time for me to code, i.e. develop components, change webpack when needed, read react materialize-ui (css framework) docs, then destructure json response from the api they provided and put this information on a page, then try to compile to the right format (they want single .html element with inline js and css as a deliverable).
So my question is, am I shit or is it unreasonable for a company to ask do so much coding or a little bit of both?
What's your experience usually when looking for a job in 'hip' and 'cool' startups?4 -
Fucking hate to explain basic shit to computer illiterate. Usually I don't mind, but right know I working on the project, want to automate one thing I need to do every morning, put two numbers to web page(I will explain details maybe in next rant). So I am only one who fix, buys computers, printer(for some problems I call for other repair man.). Generally speaking working as IT guy. Firm has like 50 computers, some of them has SCADA software. Some computers have Win 7, some win 8 and others win 10, can't upgrade those computers, not enough money(I can deal with this problem). And yes, computer buying is not the fastest, easiest thing too. Because is public firm, I need to do public buying(I don't know how to translate to english), and most of the time wins the lowest price, I am ok with that. But I can't on item specification write I want that model pc or it components. Example: I can't write I want intel processor, however I can write number of cores, frequency. But it's not that bad, usually i have template for all things I buy. One of the worst thing is this, our firm bought new bookkeeping software version, old version was using visual foxpro framework. Good thing I didn't initiate the purchase, because right know I would be jobless, not because I would be fired, but because our senior accountant would drive me crazy. In fact accountants drive me crazy, but I can handle it for now. As I wrote before our form has about 120 workers, major part of workers are old, like my parents age. (I am 28 btw. Mom is 55.). As you all know what happens if you say you work with computers. So our accountants are like 60 years old, got new program, don't know how to work with it, and they ask me how to do certain things. if I don't know how to I ask program's support, every question is like 90 Eur. So in short accountants expect I should know their work and how program works. If I try say something they don't like, they try to make my day hard. Next thing is our billing program. Man that worked before me done some payments import. And when I came everyone expect me to do that. Ok I did that because that people working with billing program would probably fuck it up. And I semi automated that, so I don't mind that much. Sometimes that program fucks up, like it happened yesterday, it send email invoices attachment without filename. Example: people got this attachment ".pdf"(no filename, only extension), And if you save it you need do OPEN WITH command and then select pdf reader or rename file (I don't know what easier). And surprise surprise our firm, customer support redirects all phone calls, emails to me. But I did explain to customer support what to say to people. Still they redirect it to me.
PS: This is my first job after school. I work as part time.
TL;DR Thinking my life, carrier choices. accountants are not the nicest people.8 -
Pretty niche tool, but Sencha Architect!
It is a wanna be GUI-Builder/IDE for ExtJS, but neither works properly.
This rant is not about ExtJS, just about Sencha Architect, which my coworkers and I were forced to use.
If you want to join the ride, here an excerpt of just some of the issues:
- installation: already the setup is more of a gamble than an actual setup, either it works on your machine or it doesn't, plain and simple
- GUI Builder: just drag and dropping components is actually nice, but the editing capabilities are frustrating, you can't edit the UI code by hand at all, just through pre defined properties. If there was the need to really mix things up it wasn't possible, I couldn't even rebuild shown examples of their ExtJS documentation. Furthermore the property editor was data type locked, which means if you want to enter a string which ExtJS already supports, but architect locks the value as a boolean, you can't edit it at all, while still using Architect
- code editing: well it is a colored texteditor, which is fine, and I could live with that, but Architect let's you just edit areas where it allows you to - want to change something else? Nope not allowed
- autocompletion: there is none at all, same goes for refactoring, multi highlighting, string replacement, and others
- code storing: well now some may think edit it somewhere else, well no, also not possible... Architect not just only saves simple js, there is also a Json formatted file for everything you have created, which is needed so the tool can actually load it for further editing. They possibly never heard of DRY. But the worst of this code storing was actually using git along with it - have a merge conflict? Merge both files! Every single time, it was so damn tedious
There are a few more, but these were the worst I can remember.
Luckily I don't have to use it anymore!
Maybe they have fixed or changed a lot of it, because the developers were aware of the issues and eager to resolve them, as far as I was told on a roadmap presentation. And some of the tools they had released in the end of my time using ExtJS were actually really good, like an IDE plugin for the framework, and I liked using it. -
I need to actually build up my website since all that's there is a digital resume currently
I have too many ideas for what I want like a simple blogging space, project showcase space, my teacher recommend a lanking page, and a better digital resume. but limited free time to figure out where to start and what to use and that's really demotivating
I'm thinking about using node or vue to learn a framework but again I'd have to learn them since all I know is normal unmodified js. And again where the hell do I start4 -
I think I just realized what my biggest gripe about our career paths that I hate the most.
This is something that has worsened over time, especially the last 2 to 3 years.
As developers, we have far too many options. Some of the most powerful apps are written with languages that have hard, and I mean HARD, guardrails in place. If the app is written in a language that does not meet this criteria usually a framework has been used to install those guardrails.
We just get our minds so wrapped around the possibilities and the opportunities in the software, that we just can't focus on the end result. We're like puppies that are excited about something and we just piss all over everything.
In my career I have met far too many developers that don't have the capacity and mental fortitude to take control of their actions. Because of this I think the only way for us to stop this corruption, that I feel we are nurturing, the solutions/services that we use need to push back on us and install those guardrails for us.
All this came from a change that Microsoft put in place that seems well intended, but introduces yet another choice and a multitude of opinions in how you release code.
It used to be a simple check box. If it was checked it was pre-release, if it was unchecked it was a production release. That's it. On or off. The simplest choice you ever needed to make on a release.
Now though, there are two check boxes. One for a pre-release and one for a latest release. You can also not check either for some "ephemeral" release? So now something as easy as on or off has been made into a difficult decision on how this works within my pipeline. Now every time I make a release I have to ask myself, "which one do I check?"
I shouldn't need to spend more than a second to identify a path forward on simple shit like this, but here we are with a third choice.
Can we just stop overcomplicating shit?6 -
For those who ever tried to find and/or implement a crm: everything seems to be based on that bastardized vtiger core which is based on an old version of sugarcrm I'm so fucking tired of that shit. I gonna make my own. The underlying framework makes me sick to the bone. Everything in there relies heavily on magic. Being arround for years and just recently got a new major release yet unable to transfer offer items to the invoice even though it requires a relation?
This is not blunt talk. My thing is based on Laravel, EAV principle for dynamic fields, module code structure, interface for the list view and many other stuff is already integrated. This is gonna be done and will be done because existing stuff is so fucking ugly and broken I can't fathom myself.
Btw I still need a name
PS: I hate smarty, PearDb and their fucking database layout -
Who does find themselves sailing through the process of 'reinventing the wheel'?
Im not asking about anything specific, but the feelings and doubts whispering that probably you really are going down the rabbit whole by doing so, and so is your free time -or not so free-
The thing is, I don't know if really, really this kind of decisions are genuine when it comes for example to a whole new framework, editor or solution... Its case specific, but I have plenty of hard times to keep on due to family and friends not really understanding what I am doing, specially if its intended for developers to use, makes one feel its just thin air, and I have just me to hold into the strong reasons to do so.
Leave a comment if are also 'reinventing the wheel' in any way or want to share your opinion or story on the matter!6 -
At first I got this crappy project which 400 users HAVE TO use but NO ONE WANTS to use - with ASP.Net MVC, ASP.NET MVVM (Yes, both!), KENDO MVVM, KENDO UI, JQUERY and not a single line of typescript or modern web framework...
After I told them, that was not why I was hired and not what I was promised, they told me in summer I will get this brand new project, not a single line of code written.
Every new project of my company in the last 2 years was in React / Redux / Typescript and ASP.Net Core WebAPI - So I invested a bunch of weekends to get into it to be able to lead such a new project!
Today I recieved a Email from my boss, that because "we have to be on the same stack as the sister-project" we will use jquery and kendo mvvm....
What the fuck... -
!rant
I prefer to write desktop applications or mobile applications (android). Only time I touched web-applications so far was for school.
Tbh, I hate it the way have to do it in school. vanilla js, no css framework, JSP backend (sometimes php 5.4) and that rounded up with eclipse indigo.
Let's not even talk about the fact that we never really talked about js or css in school, so that was even harder for me too begin with (still suck at both of them imo)
I can't express my gratitude for js and css frameworks. They make web development much more fun for me.
💖 laravel, vuejs, materializecss💖
Feel free to suggest me other things, I only completed 2 project with these1 -
BACKSTORY:
I was considering creation of client-server app to learn some new language and wanted it to have the best possible performance.
The client part is not an issue, it can be whatever, really... the server choice is pain in the ass...
I have looked up web server framework benchmark here: https://techempower.com/benchmarks/
So comparing those I have 2 options:
- Actix (Rust)
- Vert.x (Java)
I was about to use Vert.x, it handles requests asynchronously which seems nice.
However I thought, what if I wanted to sell this shit someday and Java requires licenses, while Rust don't.
I am terrible if it comes to licenses, so...
QUESTION:
How does Java licensing work?
It is on client to pay it cause he is using it or on me as a product owner?
Or should I switch to Rust already?5 -
FUUUUUUUUUUUUUUUCCCCCCCKKKKKKKKKKK LOOPBACK. Fuck it right in the dickhole. Fuck IBM for paying the salary on this piece of shit. Fuck all of the copy pasting I have to do, fuck the fact that it never knows what fields my type will or will not have, fuck the 4 different versions of the docs they have for each version of this dumpster fire of a framework. This is the dumbest codebase I have ever worked with, and I hate every minute of it. One last fuck, it is for the guys who came before me and chose this for our companies server. Fuck you!2
-
You work in a team, for a team to move forward successfully the team should work in sync. A team always has a goal and a plan to get to it. There are times when the team needs to take a different direction therefore the set path should always be available for change because our environments dictate it.
We all have different styles of working and different opinions on how things should work. Sometimes one is wrong and the other is right, and sometimes both are wrong, or actually sometimes both are right. However, at the end of it all, the next step is a decision for the team, not an individual, and moving forward means doing it together. #KickAssTeam
The end result can not come in at the beginning but only at the end of an implementation and sometimes if you’re lucky, during implementation you can smell the shit before it hits the fan. So as humans, we will make mistakes at times by using the wrong decisions and when this happens, a strong team will pull things in the right direction quickly and together. #KickAssTeam
Having a team of different opinions does not mean not being able to work together. It actually means a strong team! #kickAssTeam However the challenging part means it can be a challenge. This calls for having processes in place that will allow the team members to be heard and for new knowledge to take lead. This space requires discipline in listening and interrogating opinions without attachment to ideas and always knowing that YOUR opinion is a suggestion, not a solution. Until it is taken on by the team. #KickAssTeam We all love our own thinking. However, learning to re-learn or change opinions when faced with new information should become as easy to take in and use.
Now, I am no expert at this however through my years of development I find this strategy to work in a team of developers. It’s a few questions you ask yourself before every commit, When faced with working in a new team and possibly as a suggestion when trying to align other team members with the team.
The point of this article, the questions to self!
Am I following the formatting standard set?
Is what I have written in line with official documentation?
Is what I am committing a technical conversion of the business requirement?
Have I duplicated functionality the framework already offers?
I have introduced a methodology, library, heavily reusable component to the system, have you had a discussion with the team before implementing?
Are your methods and functions truly responsible for 1 thing?
Will someone you will never get to talk to or your future self have documentation of your work?
Either via point number 2, domain-specific, or business requirements documentation.
Are you future thinking too much in your solution?
Will future proof have a great chance of complicating the current use case?
Remember, you can never write perfect code that cures every future problem, but what you can do perfectly is serve the current business problem you are facing and after doing that for decades, you would have had a perfect line of development success.1 -
Where can I find those types of "homework assignments" where let's say a company sends you a sample project and asks you to add few features where in that way you learn new technology in a practical way?
I know there are some public "homework assignments" projects from Wix where you're given a sample project that uses let's say react framework and typescript where you have to learn react and add features and send it.
These projects IMO are the best way to learn new technologies fast instead of going through the documentation and figuring wth are they talking about before you realize the full potential.
Are there any of those "awesome lists" in GitHub or something? No I'm not talking about "algorithms and data structures" type of thing, I'm talking real practical samples that I can learn from and extend it.1 -
!rant
Can anyone recommend me a good book or course to start learning spring framework 4??
Am tired of struggling with it, I have to
Work with the thing and I barely know what am doing most of time.
I managed to resolve a couple
Of spring security issues we had at
Work but that was through sheer dogged googling around, I want to spend some
Time learning it from Bottoms up...
I know its quite vast but what am going for is trying to learn the basics and a few of the most commonly used bits of the advanced portions then expanding my knowledge.
So any suggestions?
I hear spring in action 4 by craig wells
is nice but some reviews criticises it about not being appropriate for newbies like me.
So damn tired of silently screaming
"what the F*** is all this shit?!?" when am given spring related stuff to work on 😔5 -
Going to begin an intranet web application. Confused between choosing Angular, Vue or React.
I have worked with Angular but this application will be managed by some junior developers with me overlooking it. And Angular seems overkill regarding this, it is too over engineered and then there is TypeScript. So I am thinking from the perspective of those junior developers so that they don't face a huge learning curve and become productive very fast.
Then there is the bullshit that usually goes around in every corporate intranet application where management becomes too nosy. That's why I decided that back end API should be done with Laravel which is stable not some kiddie framework of Node.js13 -
what is wrong with android storage access hierarchy?All i want to do is to make a file explorer app which could show user a list of all the files on their device and memory card(if available), but its been days and i cannot find a proper way for that.
I checked all the Environment class methods and context.getFileDir()/other methods of ContextCompat , but they either point to emulated storage or the app's folder, but not the sd card. I have scratched my head and pulled all my hairs out researching a lot deep into this area, but found nothing. The only thing that works sometime is the hardcoded paths( eg new File("/sdcard") ) , but that looks like a terrible hack and i know its not good.
I have also read briefly about Storage Access Framework, but i don't think that's what I want. From what i know, SAF works in the following manner : user opens my app>>clicks on a button>>my app fires an intent to SAF>> SAF opens its own UI>>user selects 1 or multiple file>> and my app recieves those file uris. THAT'S A FILE PICKER, AND I DON'T WANT THAT.
I want the user to see a list of his files in my app only. Because if not, then what's the point of my app with the title "File explorer"?7 -
Okay Android dev intern here.
This has been an awfully weird experience for me as an Android dev and this is not the first time. I am seeing a pattern here and i don't know if its just bad luck or its the reality
I have always learned Android by searching on the web , on stack overflow, medium articles, youtube , books , etc.
Sometimes i had a vision to create some unique nd innovative app, nd sometimes i just wanted to learn a particular tech, framework, library, or a feature.
The former case sometimes required the knowledge of unexplored areas, so in order to make the possible product, the original idea would reduce to a smaller, more possible one if i thought it isn't possible or "need more resources on that" after several hours of searching.
But as an intern i found this approach not working out. Here the company gave me an app idea by a designer who thinks its possible, the senior Android dev also thinks its possible and i also believed it to be possible.
The thing is we all know its possible but the person working on it, i.e me, doesn't know have all the knowledge for it.
Fine . I will apply my usual time taking approach of searching and debugging to tackle my issues when they arrive.
But at one stage i too would get exhausted. To me , the code in my front is the correct code for this approach and i have checked all the possible cases, debugged it and yet can't find the issue.
Now the only thing i want is for my senior to look into it, tell me if its an architecture issue or is there any possible case that i missed.
But that's not what company wants. The senior says that he's involved in a lot of projects and my problem is too simple to be solved by solely myself. Now i am sitting here, with my code, exhausted and no longer willing to work here . (And that's maybe why it's my 4th internship and not first)
Am i the asshole fresher?is this always going to be the case? Am i the one running away from the problem and deserve all the lashing that i am getting for not completing the product and getting stuck?4 -
I starting developing my skills to a pro level from 1 year and half from now. My skillset is focused on Backend Development + Data Science(Specially Deep Learning), some sort of Machine Learning Engineer. I fill my github with personal projects the last 5 months, and im currently working on a very exciting project that involves all of my skills, its about Developing and deploy a Deep Learning Model for Image Deblurring.
I started to look for work two months to now. I applied to dozens of jobs at startups, no response. I changed my strategy a bit, focusing on early stage startups that dont have infinite money for pay all that senior devs, nothing, not even that startups wish to have me in their teams. I even applied to 2 or 3 and claim to do the job for little payment, arguing im not going for money but experience, nothing. I never got a reply back, not an interview, the few that reach back(like 3, from 3 or 4 dozen of startups), was just for say their are not interested on me.
This is frustrating, what i do on my days is just push forward my personal projects without rest. I will be broke in a few months from now if i dont get a job, im still young, i have 21 years, but i dont have economic support from parents anymore(they are already broke). Truly dont know what to do. Currently my brother is helping me with the money, but he will broke in few months as i say.
The worst of all this case is that i feel capable of get things done, i have skills and i trust in myself. This is not about me having doubts about my skills, but about startups that dont care, they are not interested in me, and the other worst thing is that my profile is in high demand, at least on startups, they always seek for backend devs with Machine Learning knowledge. Im nothing for them, i only want to land that first job, but seems to be impossible.
For add to this situation, im from south america, Venezuela, and im only able to get a remote job, because in my country basically has no Tech Industry, just Agencies everywhere underpaying devs, that as extent, dont care about my profile too!!! this is ridiculous, not even that almost dead Agencies that contract devs for very little payment in my country are interested in me! As extra, my economic situation dont allows me to reallocate, i simple cant afford that. planning to do it, but after land some job for a few months. Anyways coronavirus seems to finally set remote work as the default, maybe this is not a huge factor right now.
I try to find job as freelancer, i check the freelancer sites(Freelancer, Guru and so on) every week more or less, but at least from what i see, there is no Backend-Only gigs for Python Devs, They always ask for Fullstack developers, and Machine Learning gigs i dont even mention them.
Maybe im missing something obvious, but feel incredible that someone that has skills is not capable of land even a freelancer job. Maybe im blind, or maybe im asking too much(I feel the latter is not the case). Or maybe im overestimating my self? i think around that time to time, but is not possible, i have knowledge of Rest/GraphQL APIs Development using frameworks like Flask or DJango(But i like Flask more than DJango, i feel awesome with its microframework approach). Familiarized with containerization and Docker. I can mention knowledge about SQL and DBs(PostgreSQL), ORMs(SQLAlchemy), Open Auth, CI/CD, Unit Testing, Git, Soft DevOps Skills, Design Patterns like MVC or MTV, Serverless Environments, Deep Learning Solutions, end to end: Data Gathering, Preprocessing, Data Analysis, Model Architecture Design, Training and Finetunning. Im familiarized with SotA techniques widely used now days, GANs, Transformers, Residual Networks, U-Nets, Sequence Data, Image Data or high Dimensional Data, Data Augmentation, Regularization, Dropout, All kind of loss functions and Non Linear functions. My toolset is based around Python, with Tensorflow as the main framework, supported by other libraries like pandas, numpy and other Data Science oriented utils.
I know lot of stuff, is not that enough for get a Junior Level underpaid job? truly dont get it, what is required for get a job? not even enough for get an interview?
I have some dev friends and everyone seems to be able to land jobs, why im not landing even an interview?
I will keep pushing my Dev career, is that or starve to death. But i will love to read your suggestions! how i can approach this?
i will leave here my relevant social presence:
https://linkedin.com/in/...
https://github.com/ElPapi42
Thanks in advance!9 -
I implore ANYONE... please...
Have you EVER written a SINGLE Jest test that didn't have some sort of bullshit spewing stuff like this:
"ReferenceError: You are trying to `import` a file after the Jest environment has been torn down."
"Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."
and yet running on a device, features work flawlessly and quite well, no errors or even warnings in sight logged
This is the most fragile pile of garbage I have ever seen.
I hate this.
inb4 your stupid ass todo boilerplate garbage you wrote tests for in freshman year. i'm talking about a REAL app with HUNDREDS of components.
where the grownup testing tools at? it's a question I've still not answered after a year of fucking around with this framework1 -
My best friend (a consultant in salesforce) told me that he feels that software development is becoming like a blue collar casual job that anyone who has enough IQ can just pickup and start working. Have in mind that, he doesn't even have coding basics so I take his opinion with a grain of salt (since his work is just knowing the salesforce framework and teaching his clients what button to click where. He spends 80% of his day in business calls or meetings).
Personally I think that anyone can learn coding basics, but only certain people can stay in this field because you need to constantly grow, change, learn new things, have a huge treshold for failure and also somehow motivate yourself. Only 20% of my unversity peers are actually coding nowadays. Also only around 2-3 people out of 10 people in coding bootcamps actually become devs. So for me dev job is clearly not a casual job.
What are your thoughts on this?14 -
I have been doing android dev for quite a time now and have started to understand/appreciate a few things that I previously hated (Like Kotlin) . so am not sure where would be my stance regarding this rant in upcoming months, but FUCK DEPENDENCY INJECTION FRAMEWORKS!!
dependency injection is rightly said to be a $25 term for a 25 cents concept. If i start refactoring my old apps today to "follow DI principles", they would require just 5-10% refactoring and i will end up with much more testable code.
But integrating dagger in my apps? Oh please fuck me straight instead. That thing is so overly complicated and confusing. Why would you trust compiler to inject instances in YOUR LOGIC ? it was YOUR LOGIC that guided the compiler, remember?
I am yet to work on a product of scale where frameworks like dagger or koin made even a slightest of sense.
Currently it just feels like another bad choice we took between "simple but verbose" and "complicated but pretty to look at"
The way this framework makes me think like a compiler than a programmer somehow reminds me of this beautiful article i read:
https://theatlantic.com/technology/...3 -
Just discovered https://twitter.com/ExpertBeginner1. It's the story of my life. Giant classes, copying and pasting, and architects who create frameworks. It's great when we combine all three: A "framework" created by an architect which is made of giant classes that you copy and paste. Imagine a giant generic class where the generic argument is only used by dead code. Pause for a moment and try to visualize that.
It inherits from a base class with lots of virtual methods called by base methods that throw NotImplementedException, so if you don't need them you have to override them to return empty collections. If you're going to do something so messed up you could just put those default implementations in the base. But no, you can inherit, it compiles, and then it throws a runtime error unless you override methods the compiler doesn't require you to override.
The one method you're required to override has a TODO comment telling you what to put there. Except don't ever do what the comment says because that's the old standard. The new standard says never, ever do that.
Most of the time when I read about copy-and-paste coding it's about devs who copy and paste because they don't know how to write or reuse code. They don't mention the environments where copying and pasting the same classes over and over again is the requirement and you're not allowed to write your own code.
Creating base classes where you just override a method or two can potentially work, but only in the right scenarios and only if you do it right. If you're copying and pasting a class that inherits from the base class and consists entirely of repeated code, why the heck isn't that the base class? It could be a total mess, but at least it would be out of sight and each successive developer wouldn't become responsible for it by including it in their own code.
It's a temporary engagement, but I feel almost violated. I know it's a first-world problem, and I get to work indoors and take vacations. I'm grateful for those things.
Before leaving I had to document the entire process of copying and pasting an entire repo, making a ton of baseline edits that should just be in the template but aren't, and then copying and pasting from other places into the copied and pasted code. That makes me a collaborator. I apologize more than once in the documentation, all 20 pages of it that you have to read and follow before you even get to the part where you write the code for what you actually need it to do.
This architect has succeeded in making every single thing anyone does more about servicing the needs of his "framework" than about writing actual code to do what needs doing. Now that the framework is in and around everything it creates the illusion that it's a critical part of our operations. It's not. It's useless overhead.
Because management is deceived into thinking they need it they overlook the fact that it blows up, big and small, every single day. The log is full of failures that I know no one ever sees. A big chunk of what they think it does fails silently, and they don't even notice until months later when they realize how much data they're missing. But if they lose, say, 25% they'll never notice.
When they do notice they just act like it's normal, go into fire drill mode, and fix it. Doom. You're all doomed. I'm standing on the deck of the Titanic next to my jet ski.1 -
Anyone herr tried API Platform?
I know I know. Generic ass name but that is what the framework is called.
Its in php, it contains a lot of goodies from(try and guess...no?? Ok I'll tell ya) the Symfony platform(go figure right) so if you are familiar with Laravel or well....Symfony then I guess that you will be good to go. I ain't...so fuck me because I only know Laravel.
Either way the concepts are very simple. Configs is donde almost entirely with YAML, i dunno how to feel about that, not used at writing routes on yaml, but the framework is thus far quite powerful. About to test jwt auth so wish me luck!4 -
Hi So I need some solid advice from you all wonderful people.
I think i am now ready to look into job side of this world, but have lots of doubts , read my story.
I have been learning android for last 2 years. Most of the time i have been trying to understand how stuff works in android , but i have also gained a few other skills ( python programming, kotlin/flutter basics data analysis basics, testing, some graphic designing, aweful web dev ,etc). But i really want to work with Android. I don't have any specific Salary figure in mind, but i guess my knowledge is better or atleast par with most of the good android developers.
So i want to know how is this fresher/placement thingy work?
1.) GETTING KNOWN? : How can i make some good android based company aware that I am available for hiring? Should i start emailing every android related company that i know of? Should i start listing my profile on recruitment sites like linkedin or internshala? This year it is being said that companies will come for placements. From the status of my college, they are going to give me way to less $ , nd i know am not going to like any of them, but i guess i have to sit for them too.
2.INTERVIEW OR DIRECT PLACEMENTS? A little pre-context: i am currently starting my 4th year in clg. Afaik , 4th year isnt that strict and their can be leniency in terms of attendance. But my college is a place full of political cun*s in the name of directors and HODs and I don't know if they are again going to enforce the old 75% mandatory criteria. Plus if the company is from a different state/country , then my attendance would definitely not suffice.
So mainly i am unsure if somehow a company hires me, i would be able to start immediately. I heard that there are interviews for job recruitment after which the candidate is binded with an agreement to do some months training followed by permanent working after college completion.
This type of agreement is very much suitable for me, since from what my friend tells me, trainings can be lenient and understanding regarding exam preparations nd stuff.
So what do company usually chooses? Binding a fresher on immediate working basis or do they consider graduate completion?
Also, i suck at competitive coding. Do i need to polish myself on that or some company is willing to give me chance on the basis of my other skills 🙈(okay, no kidding , that's a serious question. I need to either work on getting better in competitive or build more apps based on that)
3.) ANDROID OR EVERYTHING? From what i have heard, working as a professional fresher is more like being an allrounder than being a domain specialist. But as i already stated, i really dig android and that's no small framework. I may di other stuff too, but won't interest me nd my output might be less efficient than expected.
So freshers can really be asked to do any stuff? Or can i still be in the area i like being into?
4.) COMPANY OR START-UP? Yeah, this is a general debate starter. Ignoring the business side of the conversation ( job safety vs more salary, experience, etc) the thing that's most important for me is the presence of a team. I want someone to assign me a task, whose vision i could follow, from whom i could learn, and some other people who are supportive and doing the same amount / similar work that am doing . This is so much import8 for me that i can easily ignore other factors for a better team. I once took a call from a startup ceo who hired me, a 2 month old android beginner at that time, as the "lead android developer"
But if am being on a team where i am supposed to do any random stuff that is assigned, then obviously this whole point of "visionary, helpful leader, guiding team, "etc goes moot9 -
Im not “senior”, but I’m maybe middle level but anyway....
Learn good object oriented design!
Have a decent computer science background!
If you don’t know a certain framework or “tech”, google it and learn it quickly! Most of the “hot new techs” can be learned rather quickly by anyone who has a strong foundational understanding of programming and computer science. Its not sacred knowledge reserved to the chosen software prophets lol -
So I am currently updating a application from play framework version 2.5 to 2.6 and am working through all the dependency updates... I feel like I am playing whack a mole.
and now there are suddenly ClassNotFoundExceptions because the classes are not in the same classloader as before and the access over reflection doesn't work anymore.
Anyone got some tips why the classloader is differing?
I think it might be because some dependency conflicts or such. -
I need to create a very simple, 2 page website with a simple form on the first page which is processed and a results page shown. It will run on a shared hosting platform.
I've created a few of these over the years for the same client and will have more to do. They started as .NET WebForms (yes, that long ago!) and morphed into more client-side driven but not particularly flexible.
So, is there a front-end framework which will simplify my life and continue to generate accessible, cross-platform output, or would such a choice be overkill and I should keep spitting out reasonable HTML?2 -
How do folks feel about IoC/DI?
I used Spring and Angular for the first few years of my career, so it seemed like it was a mandatory pattern of a framework and my team would never deploy an app that couldn't use it (even if it was just a Lamda or something, we found smaller DI libraries). Now I work in Express and React, and I look back and feel that those patterns required me to write more code, created more complexity, and wasn't any easier to read or understand, and was way more bug prone, and debugging the injection pipeline itself was effectively not possible.
I guess I'm wondering: what do people feel that it buys them?15 -
Upgrading my tech skills.. Once again I feel my personal my personal dev environment and told are much more up-to-date than what I use at work.... Though the book Kim reading is on TDD and was written 3 years ago.
Maybe I should read another on in cloud services and ML... but don't have any motivation for these topics.
I need TDD for work because now we're emphasizing unit test coverage...
I usually only use manual functional tests to verify the final outputs as either the testing framework is broken (JS) or I don't have time to relearn the frameworks for the particular language...
Anyway got off topic... So questions after:
1. Do you ever feel your technologically always more ahead than what you do at work and essentially you bring skills to the job but you don't learn much out of it?
2. How do you test? I actually got into a bit of a argument/discussion with my colleagues about how to implement unit tests. Apparently there are 2 ways to test? Black box vs WhiteBox. She said she tests only Public methods using mock inputs, dependencies. She read online and seems there is an opinion that should only test public functions and if you can't then your app is designed incorrectly, not separated enough.
For me I test the private functions individually (WhiteBox/Java reflection) because the public one is like generateReport and as a whole is like a Pachinko machine, too many unique paths that would need a test case for.
So thoughts? Yes sorry for turning it into a remake I guess...24 -
Xamarin vs Flutter
I already know c# but I’m thinking it’s better to learn Dart + Flutter than carry on with Xamarin (only ever worked on the back end parts of Xamarin so not familiar with the layout syntax and the ui side of it).
Xamarin seems to be so clunky (to be fair more the dev environment than the end result), even on a powerful machine it’s a pig to work on.
Our project uses Xamarin forms, without any extra MVVM framework such as Prism and it just seems a bit shit from what front end code I’ve seen (could be the devs).
So given that I’m not sure that holding out for MAUI and expecting it to be a silver bullet is a good idea.
Is the UI code for Flutter any cleaner?
Is the dev environment more reliable?
Or is another option better, such as ReactNative or Ionic ?
(Particularly if one of those would let you develop an iOS version without access to a Mac)2 -
#Suphle Rant 4: Laravel closing the gap II
I had expected rant 4 to come at least, some days later. Apparently, I'd miscalculated how fast things work in this wonderful world of software. In an earlier rant, I wrote about how dismayed I was to learn laravel had implemented one suphle feature I'm very proud about. They call it Premonition. Idk if it's officially rolled out yet but you can do a search among accepted pull requests for what it's all about
Well, today, I've just seen a draft from one of their maintainers showing one of the things suphle was designed to do: https://twitter.com/enunomaduro/.... They can't integrate it with this pattern since php doesn't have generics, so it'll either get trashed or with plastered as some band aid. In suphle docs, I explicitly indicated the data structure/typing for that feature is a polyfill for the absence of generics
I think I can get away with it because of where I'm using it (model authorization instead of custom exceptions/throwable operations, in general, like theirs)
I don't feel as distraught as I did on finding the Premonition thingy. Am I impressed with these things dawning on them? Ffs Laravel was invented in 2011. It's incredulous to think it gave me hell for years. Waited ~2 years for me to fix all issues in a brand new framework, only to magically gain iq points and start improving their work
It's weird and brutal. If they keep figuring stuff out, it may not be long before there are no features unique to suphle. Then, my worst nightmares will come to life. I will argue there's one thing nobody will ever copy, not without rethinking the mvc architecture in its entirety.2 -
Feminism is Harmful to Society
Feminism may be defined as an activity aimed at preserving women’s rights and interests. The initial objective of the movement was to aid women play an equal role in a mainly male society. However, with time, the idea of equality of sexes has transformed into a battle where feminists intend to outdo men. Such toxic metamorphoses have made feminism dangerous to the society.
The ideology of the modern feminism falsely positions women as victims. Women, just as men, are capable of making competent decisions in accordance with their wishes individually and do not require extra advantages. Treating females as the oppressed gender encourages women to put the blame for any intellectual or physical challenge either at work or study on a male will. Such impact of feminism leads to the formal recognition of women as a victimized class and triggers a shift in the legal framework towards one of the sexes.
Unfortunately, men have to face one of the most unpleasant effects of feminism. The idea popularized by some feminists is that the latter are the worthless accessories in a woman’s life. Radical feminism has affected the law system. For instance, after separation, fathers are regarded as sponsors of their children. The incapability to fulfill the obligation leads to severe implications such as the loss of the driver’s license and examination of income tax return. On the contrary, there is no requirement for the mothers even to provide fathers with access to the children.
Finally, feminism badly affects families. With time, the initial principles of feminism were lost. Radical transformations of ideology took place in the 1960s and 1970s when the “Women’s Liberation” movement enjoyed vogue. The proponents of the movement approved sexual affairs outside marriage neglecting the core family values. Therefore, the lifestyle promoted by feminists is barely suitable for raising children.
Women have experienced numerous forms of institutionalized discrimination in different times and various cultural environments. This is a bitter but indisputable truth. However, in the race for the revenge, feminism has radicalized and deviated from its high aspirations. Modern feminism breeds hatred against men and destroys families thus being harmful to society.
Written by Emily Stafford, the best writer at https://perfectessaysonline.com/ -
#Suphle Rant 1: Laravel closing the gap
This is the first of a series of long overdue rants regarding Suphle, because I have had so so much to grumble about over the last ~2 years building it. A bit of introduction: I compiled a list of all the challenges I faced in my time as a salaried PHP developer. I also gathered issues complained about by other developers in a laravel group I'm part of, and decided to solve them at the framework level since they're avoidable. I also borrowed impressive features encountered in my time working with other languages and invented a new one, as well. I quit my job last July, still haven't get a new one yet cuz office workload kept conflicting with Suphle development. I concluded all work and testing on it back in August/September but it's yet to be officially released since the docs is still in progress.
Anyway, yesterday, I stumbled upon what is IMO the most progressive /tangible update I've seen in all my time following Laravel updates. It's called [precognition](don't have enough rep to post the PR link but you can search on their repo), and contains features that are actually beneficial to both developer and end user. It also turns out to be functionality that was part of Suphle's bragging rights. Their DX is still tacky but I'm devastated cuz it's a matter of time before they work it out. Makes me wonder what the quality of all I've built would be in a year if it doesn't become big enough to attract frequent contribution. I guess there's only so much one can do against a community.
Later that evening, I found a developer from my country on twitter who claims to be making a decent living. A little snooping around his profile informed me he's building his own back end framework but in NodeJS. I know with every degree of certainty that what he'll eventually do can't hold a candle against Suphle in overall functionality or thoroughness. Not a dick measuring contest but when your motive isn't significant innovation, you'll neither plan properly nor even know what exactly to build. You'll just reinvent the wheel as an academic exercise
Yet, I can't help but have that sinking feeling he's winging it, while making a windfall with his dozens of freelance projects. It kind of feels like I shortchanged myself, and Suphle's shelf life will suffer the same fate as a hobby project for 10 stars (which I don't even have yet!!). I reached out to him to rub minds together but he ignored. More pain.
I'll get over this and return to work on the docs, but from the look of things, the end isn't an appealing or expected /deserved one -
One of the things I find annoying about today's development is having to use package managers.
Here I am, trying to just simply install a package. Oops! The version of x you are running is not compatible with y. *fixes it and runs it again* Oops! The version of y you are running has dropped support for z.
How about! You just! Let me! Code! And stop! Making me waste time! On project scaffolding! For each! And every! Framework! Library! Or whatever!
*pulls my hair out*
lol4 -
I need an idea for a JS coding challenge for a job interview that a poor unlucky person is going to take after me, 'cause i'm leaving..
Requirements: it must be simple, but not simple enough for my other two colleagues. Aka no webpack, no framework, plain js inside a webpage.
My other two colleagues don't even know how to do an array.forEach() or literally how to code in general. They are copy-pastah programmers.
How can i do that without offending anyone?3 -
#Suphle Rant 2: Michael's obduration
For the uninitiated, Suphle is a PHP framework I built. This is the 2nd installment in my rants on here about it.
Some backstory: A friend and I go back ~5 years. Let's call him Michael. He was CTO of the company we worked at. After his emigration, they seem to have taught him some new stack and he needed somewhere to practise it on. That stack was Spring Boot and Angular. He and his pals convinced product owner at our workplace to rebuild the project (after 2+ years of active development) from scratch using these new techs. One thing led to the other, and I left the place after some months.
Fast forward a year later, dude hits me up to broach an incoming gig he wants us to collab on. Asks where I'm at now, and I reply I took the time off to build Suphle. Told him it's done already and it contains features from Spring, Rust, Nest and Rails; basically, I fixed everything they claimed makes PHP nonviable for enterprise software, added features from those frameworks that would attract a neutral party. Dude didn't even give me audience. I only asked him to look at the repo's readme to see what it does. That's faster than reading the tests (since the docs are still in progress). He stopped responding.
He's only the second person who has contacted me for a gig since I left. Both former colleagues. Both think lowly of PHP, ended up losing my best shot at earning a nickel while away from employed labour. It definitely feels like shooting myself in the foot.
I should take up his offer, get some extra money to stay afloat until Suphle's release. But he's adamant I use Spring. Even though Laravel is the ghetto, I would grudgingly return to it than spend another part of my life fighting to get the most basic functionality up and running without a migraine in Spring. This is a framework without an official documentation. You either have to rely on baeldung or mushroom blogs. Then I have to put up with mongodb (or nosql, in short).
I want to build a project I'm confident and proud about delivering, one certified by automated tests for it, something with an architecture I've studied extensively before arriving at. Somewhere to apply all the research that was brainstormed before this iteration of Suphle was built.
I want autonomy, not to argue over things I'm sure about. He denied me this when we worked together. I may not mind swallowing them for the money, but a return to amateur mode in Spring is something I hope I never get to experience soon
So, I'm wondering: if his reaction reflects the general impression PHP has among developers globally, it means I've built a castle on a sinking ship. If someone who can vouch for me as a professional would prefer not to have anything to do with PHP despite my reassurance it'll be difficult to convince others within and beyond that there could be a more equipped alternative to their staple tool. Reminds me of the time the orchestra played to their deaths while the titanic sank8 -
tests boy
- balding in his late twenties
- thinks that React is a framework
- favorite book is either 1984 or fight club
- came to IT to make an impact but obviously lacks determination to do so. Prefers not to think about it
- doesn’t know why and for what he wakes up every morning. Stopped thinking about it 7 years ago
- has a girlfriend that doesn’t allow him to penetrate her, only hugs and cunnilingus
- already forgot how does a blowjob feel like
- when it’s too hot in his room when he tries to sleep, he gets up and opens the window, and after that he doesn’t want to sleep anymore, and tomorrow is a yet another working day
- unexpected slack message sound he hears when not at the office triggers his fight or flight response
- still salty about CSS vertical-align: middle not instantly centering the element vertically
- just like 5 years ago, every day he thinks that after he learns That New Thing, he’ll begin The Real Life, and his current career state is temporary
- loves to say “it’s not my job” but only says that if absolutely sure that he won’t be reported for that
- uses vscode
- thinks he’s an engineer1