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 - "orm"
-
FUCK!! It's been 3 days in the new office.
Can't find a single to rant about.
Why is everyone is so fucking nice??13 -
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 -
Douche: So your a programmer ?
Me: Yes
Douche: Excellent, I have an idea.....
Me: No
Douche: cmon bro, week be rich, this screensaver so will make us tons of money
Me: I have a question.
Douche: corz man waddup
Me: do you use a screensaver?
Douche: no, why?
Me: *walks away angrily10 -
Client: Glad to have you on the team, you come highly recommended for your experience in Microsoft technology, specifically asp.net
Me: I was contacted for a php, mariadb project
Client: well they're all the same
Me: actually sir no.... No they're not.
Client: then why was I told to contact you
Me: you tell me, your hiring manager contacted me for a php project not asp or. Net
Client: well I guess I know who to blame for your, sorry for taking your time. Can I contact you if we have a project made with that thing you mentioned?
Me: php?, Sure
Client: nice...... Take care
Me: you too
That went better than I expected3 -
Seven months ago:
===============
Project Manager: - "Guys, we need to make this brand new ProjectX, here are the specs. What do you think?"
Bored Old Lead: - "I was going to resign this week but you've convinced me, this is a challenge, I never worked with this stack, I'm staying! I'll gladly play with this framework I never used before, it seems to work with this libA I can use here and this libB that I can use here! Such fun!"
Project Manager: - "Awesome! I'm counting on you!"
Six months ago:
====================
Cprn: - "So this part you asked me to implement is tons of work due to the way you're using libA. I really don't think we need it here. We could use a more common approach."
Bored Old Lead: - "No, I already rewrote parts of libB to work with libA, we're keeping it. Just do what's needed."
Cprn: - "Really? Oh, I see. It solves this one issue I'm having at least. Did you push the changes upstream?"
Bored Old Lead: - "No, nobody uses it like that, people don't need it."
Cprn: - "Wait... What? Then why did you even *think* about using those two libs together? It makes no sense."
Bored Old Lead: - "Come on, it's a challenge! Read it! Understand it! It'll make you a better coder!"
Four months ago:
==============
Cprn: - "That version of the framework you used is loosing support next month. We really should update."
Bored Old Lead: - "Yeah, we can't. I changed some core framework mechanics and the patches won't work with the new version. I'd have to rewrite these."
Cprn: - "Please do?"
Bored Old Lead: - "Nah, it's a waste of time! We're not updating!"
Three months ago:
===============
Bored Old Lead: - "The code you committed doesn't pass the tests."
Cprn: - "I just run it on my working copy and everything passes."
Bored Old Lead: - "Doesn't work on mine."
Cprn: - "Let me take a look... Ah! Here you go! You've misused these two options in the framework config for your dev environment."
Bored Old Lead: - "No, I had to hack them like that to work with libB."
Cprn: - "But the new framework version already brings everything we need from libB. We could just update and drop it."
Bored Old Lead: - "No! Can't update, remember?"
Last Friday:
=========
Bored Old Lead: - "You need to rewrite these tests. They work really slow. Two hours to pass all."
Cprn: - "What..? How come? I just run them on revision from this morning and all passed in a minute."
Bored Old Lead: - "Pull the changes and try again. I changed few input dataset objects and then copied results from error messages to assertions to make the tests pass and now it takes two hours. I've narrowed it to those weird tests here."
Cprn: - "Yeah, all of those use ORM. Maybe it's something with the model?"
Bored Old Lead: - "No, all is fine with the model. I was just there rewriting the way framework maps data types to accommodate for my new type that's really just an enum but I made it into a special custom object that needs special custom handling in the ORM. I haven't noticed any issues."
Cprn: - "What!? This makes *zero* sense! You're rewriting vendor code and expect everything to just work!? You're using libs that aren't designed to work together in production code because you wanted a challenge!?? And when everything blows up you're blaming my test code that you're feeding with incorrect dataset!??? See you on Monday, I'm going home! *door slam*"
Today:
=====
Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."24 -
Clint want custom CMS with php,
*makes custom CMS with php
Client thinks it's not php coz it looks pretty.
*shows php code
client still not convinced it's php8 -
Sending a well typed professional email to your boss, but receiving a:
Sure thing
Dave
Sent from my iPhone9 -
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 -
Being a software developer automatically qualifies you to fix paper jams and wi-fi issues in the eyes of your family.5
-
*We colleagues were cursing Valentine's week*
Team Lead : Committed?
Me: No, I am single.
TL: *confused look* Did you committed that code?
Me: ohh yes! I raised the merge request as well.
TL: Ok. I will review it. *Moves away smiling inside*
Me: *looking at screen* *crying inside*6 -
"I want to create a Linux distribution from scratch but i don't know how to code, I'll pay you $300 but i get to have the rights to it"8
-
Never have I been so furious whilst at work as yesterday, I am still super pissed about going back today but knowing it's only for another few weeks makes it baerable.
I have been the lead developer on a project for the last 3~ months and our CTO is the product owner. So every now and then he decides to just work on a feature he is interested in- fair enough I guess. But everything I have to go and clean up his horrendous code. Everything he writes is an absolute joke, it's like he is constantly in Hackathon mode "let's just copy and paste some code here, hardcoded shit there and forgot about separation of code- it all goes in 1 file".
So yesterday he added a application to the project and instead of reusing a shared data access layer he added an entirely new ORM, which is near identical to the existing ORM in use, for this one application.
Being anal about these things, the first thing I did was delete his shit and simply reference the shared library then refactor a little code to make it compatible.
WELL!! I certainly hit a nerve, he went crazy spamming messages on Slack demanding I revert as it broke ONE SINGLE QUERY that he hadn't checked in (he does 1 huge commit for 10 of everyone else's). I stuck to my principals and explained both ORM's are similar and that we only needed one, the second would cause a fragmented codebase for no benefit whatsoever.
The lead Dev was then forced to come and convince me to revert, again I refused and called out the shit quality of their code. The battle raged on via the public slack group and I could hear colleagues enjoying the heated debate, new users even started joining the group just to get in on mine and the cto's difference of opinion.
I even offered to fix his code for him if he were to commit it, obviously that was not taken well ;).
Once I finally got a luck at the cluster fuck of shit he had written it took me around 5 minutes to fix and I ever improved performance. Regardless he was having none of it. Still the demands to revert continued.
I left the office steaming after long discussions with the lead Dev caught in the middle.
Fortunately my day was salvages with a positive technical discussion that evening at a company with whome I had a job offer from.
I really hate burning bridges and have never left a company under bad terms but this dictator is making me look forward to breaking the news today I will be gone in 4 weeks.4 -
I like it when a boss is a Dev (or a former Dev). Makes them a bit more sympathetic towards us i think :)2
-
I write code,
I am a writer.
I fight with bugs,
I am a fighter.
I optimise code,
to make it tighter.4 -
#2 Worst thing I've seen a co-worker do?
Back before we utilized stored procedures (and had an official/credentialed DBA), we used embedded/in-line SQL to fetch data from the database.
var sql = @"Select
FieldsToSelect
From
dbo.Whatever
Where
Id = @ID"
In attempts to fix database performance issues, a developer, T, started putting all the SQL on one line of code (some sql was formatted on 10+ lines to make it readable and easily copy+paste-able with SSMS)
var sql = "Select ... From...Where...etc";
His justification was putting all the SQL on one line make the code run faster.
T: "Fewer lines of code runs faster, everyone knows that."
Mgmt bought it.
This process took him a few months to complete.
When none of the effort proved to increase performance, T blamed the in-house developed ORM we were using (I wrote it, it was a simple wrapper around ADO.Net with extension methods for creating/setting parameters)
T: "Adding extra layers causes performance problems, everyone knows that."
Mgmt bought it again.
Removing the ORM, again took several months to complete.
By this time, we hired a real DBA and his focus was removing all the in-line SQL to use stored procedures, creating optimization plans, etc (stuff a real DBA does).
In the planning meetings (I was not apart of), T was selected to lead because of his coding optimization skills.
DBA: "I've been reviewing the execution plans, are all the SQL code on one line? What a mess. That has to be worst thing I ever saw."
T: "Yes, the previous developer, PaperTrail, is incompetent. If the code was written correctly the first time using stored procedures, or even formatted so people could read it, we wouldn't have all these performance problems."
DBA didn't know me (yet) and I didn't know about T's shenanigans (aka = lies) until nearly all the database perf issues were resolved and T received a recognition award for all his hard work (which also equaled a nice raise).7 -
Ok, rant incoming.
Dates. Frigging dates. Apparently we as a species are so bloody incompetent we cannot even decide on a one format for how to write today. No, instead we have one for every language and framework, because every moron thinks they know better how to write the date. All of them equivalent and all of them different enough to make me start lactating out of frustration trying to parse this garbage... And when you finally manage to parse it on one platform it turns out that your ORM just decided to use the less common version of the date, and have fun converting one to the other. I hope that ever time someone comes up with a new date format will be hit in a face with a red hot frying pan untill they give up programming in favour of growing cactuses.12 -
The fact you’re older doesn’t give you the right to call other people’s 8-months’ engineering effort “shit work”, especially if you didn’t even see the code...
Sincerely,
Your tech lead - me :)4 -
I recalled a seemingly simple task I took on.
We were building a booking system, and I had to figure out how to retrieve bookings by a certain date range.
Upfront, the tasked seemed simple until I realised I had to both figure out the logic and the SQL statements needed to retrieve all bookings within a certain date range in one query.
I ended up drawing a model to help me visualise the various date-range criteria to be satisfied. And used unit tests to help me think through each date range criterion and make sure they were accurate. Some were obviously from paranoia, but better to be safe than sorry...
After that, I had wrote down raw SQL directly into Sequel Pro first to make sure my query logic was accurate too, before translating into something the ORM equivalent. This was when I learned how to define and use variables in SQL. The variables were throw-away code; I just didn't want to have to hard-code the test date-ranges over and over again; minimise chances of spelling errors.
Needless to say, felt my problem-solving skills went up one level after this task. Saw my coding style and unit tests improve. And also the thought processes that go into how to maintain code quality...4 -
/* secret devRant script */
let joke = "why do Java developers wear glasses? Because they can't C#"
//check if rant was posted recently
if ( !recentRants.find(joke) ) {
postRant(joke)
}4 -
Morning: Boss decided he was changing all the table names, used a different ORM than we are used to, and implemented it in such a way that the connections stay open and live forever, and had ultimately destroyed half our existing codebase.
Midday: clients keep messaging saying that everything is broken, and rather than accepting that we are fixing it, they want an entire breakdown of exactly what is wrong.
Afternoon: clients still say things are broken even though they have been fixed - they keep sending month old screenshots, which is obvious because the entire interface has changed since then.
Conclusion: shouldn't have gone to work today.4 -
> TeamLeader1: I just discovered SQL is actually super fast! The low responsiveness I've experienced comes from our ORM!
> IHateForALiving: well of course SQL is blazingly fast. SQL has been refined by the best engineers in the world for the past 50 years, its performances are unparalleled for everything you could possibly need, unless you want to scale REALLY big. Sequelize, instead, is an Active Record ORM, so it's bound to struggle with huge amount of data, because every single row will get attached a significant amount of black magic to make sure everything syncs correctly. Why is that?
> TeamLeader1: I have a problem with this frontend component, it doesn't allow pagination. I tried downloading the whole DB to bypass that, but the ORM is slow... so I will bypass the ORM and download the whole table with a raw query. Look at that! It works like a charm, it's super duper fast!'
This mf is downloading some 35 thousand rows every time some user loads a page because he doesn't know how to paginate the fucking table with Angular, there's no way these people are real.12 -
I love the skill requirements section of a junior Dev job advertisement.
To summarise "Basically you'll need all the skills and experience of a senior, but we are gonna pay you much much less". 😔1 -
Why the fuck someone write "used linux to speed up development" in your resume. But when you have to use it, questions like "where to download git for linux?" appears?1
-
When someone comes to your desk and asks "did you get my slack message".... Which they sent 23 seconds ago 😒4
-
Giving functions exciting names so you can feel like a Bond villain while programming:
execute(); destroy(); fire(); isDead();6 -
Expecting your client to be nice with you just because you are nice to them is like expecting lion not to eat you, because you don't eat lions.3
-
GoodGuy BroCow
Senoir problem
2years back
Senoir dev was assigned to make a webapp for billing
Dude uses dreamviewer and writes code like a bitch
Phpmysqljqueryhtml whole thing mixed very badly and undocumented
His function name format fun_1()
a simple update cost him a day,
Told him to use brackets atleast and also a framework ,guy denies
Days go by
He learns a lot of stuffs from me ,like how to use inspect in chrome lol, how to use sqlite for small projects , and orm and frameworks.
He used to pin his mistakes on me, so that boss gets angry on me
Then i quit the job
2 years went by
Now he is unemployed, nobody wants a 24 year old plain php coder and template editing web developer
Anyway I hired him, he was my first senior, whatever he did,it didnt matter to me, bcoz i remember
the days we spent on the same hall right next to each other coding in php,
days we brainstormed to fix a div
Also the days we ate lunch and breakfast together6 -
I was working on a very database heavy PHP app about six months ago. All database access was done directly, with hardcoded SQL strings.
I'd suggested switching over to an ORM during the upcoming major verson's rewrite, and FINALLY got approval to start integrating one.
The next week I'm told that I need to trash all the code I'd just written, since the decision to use an orm has been reversed.
The rationale? According to management, ORMs aren't "scalable enough for our application" and would "reduce developer productivity". I pointed out that we would be processing ~10 concurrent operations, maximum; I was told that the technically details didn't matter and the person I was working under had the final say because they'd worked at IBM, briefly, as an intern.
I stopped working on that project about two weeks later, thankfully.15 -
That moment when you change your mindset from "I'll probably leave the office by 6pm" to "I hope I'll leave before midnight"1
-
Hello (World)! Noob here. I installed devRant around 5 days ago. I just keep reading the rants and didn't created my account because i was not sure if i will stay here for long time coz most (cr-)apps are boring.
After 5 days:
I owe all of you a tons of '++'.
I want a boss like @Linux have. (i know tags work only in comments)
Gonna stay here till i stay in IT industry.(maybe)10 -
So almost burst a vein today because of a teacher who kept telling us that the .NET orm , Entity framework , loaded the whole database in memory at a context's instantiation , i thought that's kind of stupid thing for an ORM today,considering the hit on performance and memory consumption with large DBs, and asked her to argument why they would adopt such an approach , at the end she said it worked like that and that me saying it's inconvenient is just my stupid opinion . when i looked it up on the internet i couldn't for the life of me find any mention of that behavior and that she was completely WRONG !! i fucking hate this dumbshit university am going to , anyone looking for an intern trying to escape dumb fucks ?5
-
My most satisfying bug fix?
I found a core concurrency issue in this gnarly homegrown ORM and reported it to the lead devs, who (very defensively, having written the damn thing) argued that it would never pop up in a prod environment and I was stupid for even bringing it up. Theoretically, this bug could cause pretty much every foreign key to be assigned to the wrong parent, but only if multiple instances of the application were open/running at once. They were so certain it would never happen on live that they explicitly instructed me not to fix it. After all, this bug had been active for many years on a previous project and nobody complained.
Problem was, that previous project was something that only a single user had open most of the time (think: a manager). The new project was something that would be used by multiple people at the same time (think: all the employees). Once we released this new-project-with-old-orm, it didn't take long at all for our customers to start complaining.
After that, they let me fix the bug. :) -
This is really creepy. Yesterday I was talking to my parents about buying a Thermosteel flask. Today I opened Amazon and this is what I see.. (attached pic)
I am pretty sure, I didn't looked for it even on Google.
It may be co-incidence but still..20 -
Once I didn't knew anything about coding or development.
Someone suggested me to start with Java.
Still looking for that Mada-foker.5 -
Look at that. The very fucking smart colleague spent 40 days implementing a repository pattern (WHEN WE'RE USING AN ACTIVE RECORD ORM), breaking stuff left and right. Does he use that fucking pattern at the very least?
Of course he doesn't. And along the way he's making sure to create conflicts with the stuff he broke (and I'm fixing). By the time I fix the merge conflicts of one commit, he pushed 6 of them.9 -
Now this is true. Devrant changed me and now, after one of the devranters post I'm finally searching for a new job. Most of the time I was using PHP, but here I've seen lot of rants about laravel. Now I'm building a website with it and going to change my job. Thank you Devrant creators and community.3
-
Had to consume a soap webservice which spits out a XML of 5000 lines with ambiguous node names and a shitload of data that needs to be parsed.
Built a ORM model to hold all the data and I already built a Xmlparser which works like a boss.. untill now..
I've been debugging for 3 hours, cursing every God man ever made up. Swearing at my screen like a madman... but this particular set of nodes just didn't got saved properly to the DB...
Alright, so my ORM definition is fucked... nope... Alright, so my XmlParser is fucked... nope...
Whaaaaat the fuuuuck...
Oh wait, I've been checking the wrong table for hours....
Hooray for ambiguous tables because I followed the ambiguous structure.
I am going to get drunk now.
X1 -
Stack overflow was down..
I don't know why, but it developed some kind of respect for senior developers who don't had access to stack overflow in their time. -
made a Facebook app once that allowed users to submit their stories for a competition to win a tablet. The HTML form had no limit on length but ORM defaulted to 1000 characters in database, imagine the sourprise when we exported the data for the client at the end...1
-
Programming on a train is always interesting. I expect a minimum of one dirty/confused look off a member of the public.2
-
A gigantic codebase of several tens of millions of loc [prolly hundreds of mill's as we don't see all of it] in java EE.
Very complex business logic where bells have their own whistles with their own bells with .... You get it.
Very fine-tuned performance to make app so performant that the only bottleneck becomes the db. The beefiest rds instance becomes too laggy [orm, so sqls are immutable]
Client moves to rewrite the whole thing in PHP. Motivation: lower TTM
:facepalm:11 -
Curious did any of you have a specific reason to learn how to program?
I wanted to be involved in aerospace but realised I'd probably never be an Astronaut, but i could learn how to write the software that controls the spacecrafts!12 -
My day:
5:30AM - 2yo son wakes me up, I send him back to his bed
6AM - wakes me up again, gotta grab a coffee
7:30AM - leaving towards the office
8:30AM - finally arriving to the office, after horrible traffic.
*continue working on major schema change I started yesterday*
12:30PM - Lunch + Beer
1:30PM - Tequila time!
*back to work*
7:30PM - Finally done with coding, leaving the office
8PM - home at last
9:30PM - Beer time
9:31PM - "I'll just write a couple of more lines"
12:30AM - "That's it, no more code for today"
12:31AM - "I'll just scroll through devRant"1 -
Client: "documentation, oh you mean those grey texts the previous code guy wrote on the code files"
Me: I kinda need more than "grey texts on the code files" if you want me to actually fix the system and implement the new specs.
Client: oh you mean the Microsoft asp books
Me: It's a Laravel system sir, it's php not asp.net
Client: what are those?
Me:.................2 -
List of shit my superior said and wrote in the project:
1. Prefer to write "pure" SQL statement rather than ORM to handle basic CRUD ops.
2. Mixing frontend and backend data transformation.
3. Dump validation, data transformation, DB update in one fucking single function.
4. Calculate the datetime manually instead of using library like momentjs or Carbon.
5. No version control until I requested it. Even with vcs, I still have to fucking FTP into the staging and upload file one by one because they don't use SSH (wtf you tell me you don't know basic unix command?)
6. Don't care about efficiency, just loop through thousands of record for every columns in the table. An O(n) ops becomes O(n * m)
7. 6MB for loading a fucking webpage are you kidding me?
Now you telling me you want to make it into AJAX so it'll response faster? #kthxbye2 -
Kiss for fucks sake! What the fuck of an ORM is Sequelize? How the fuck do I have to write a 50 line query json to get a query for a single object going, which doesn't work then because that shit peace of software has a bug that breaks findOne and forces you to use findAll and use the first and only hit?!
Well yes, I looked in your garbage SEO docs for that issue, but whenever I look for something specific I just end up on your optimized as hell querying for noobs doc page. FUCK YOU!
Seriously, you guys working with Sequelize saved me many hours. But fuck your fuckups! And ajfjekidjjskrhbdkaowbdjdkwobdnfie4 -
This is a public service announcement with a threat at the end of it:
"Do not, I repeat, do NOT attempt to write web applications, or any particular sort of application that works with a relational database (damn near more than half of applications) without a PROPER grasp and knowledge of SQL.
I do not want to see you reaching out for an ORM either, no, you need to learn to properly design a database or to properly interact with them AT most before you even attempt using an ORM OR designing an application from the beginning, shit will only hurt you in the long term I promise, learning SQL can go a looooong fucking way and most DBA's I know make way tf more than people think they make, it might even be an interesting career choice"
If you do not follow the above advise, and I see your ass reaching for building a web application without the above knowledge I will be under your bed at night, putting oil in my hairy body before I jump into bed to you and leave you confused for the rest of your life.
Build to learn, YES, but for the love of Chamberlain and Boyce PLEASE do not neglect SQL. I have seen such neglect REACH production and I am currently wishing I had these mfkers close to me.9 -
left the office early today to see my 2 years old son before he goes to bed.
it's 11pm and I'm working from home, gonna wake up around 5:30am to commute to work.
I really need to move closer to work3 -
Are any of you guys sentimental about your early programming efforts? I still have my first few simple Python programs on my computer, from years ago!
print("hello world")8 -
2 years ago..
Me : How can i learn Java?
College Senior : Do some online courses.
*did a course for a month! Still not confident*
Me: it ain't working for me.
Senior: Do some project.
*Created an Android App under internship! Still not confident*
After wasting my 6 months on Java, i reached to the conclusion that: "Java Sucks" (at least for me)
No Offence!16 -
I think I can learn English here.
HAHAHA
I can also learn professional knowledge.
**I am a Korean.**
And...
Succeed!
Android studio AVD powered pictures4 -
The more I work with performance, the less I like generated queries (incl. ORM-driven generators).
Like this other team came to me complaining that some query takes >3minutes to execute (an OLTP qry) and the HTTP timeout is 60 seconds, so.... there's a problem.
Sure, a simple explain analyze suggests that some UIDPK index is queried repeatedly for ~1M times (the qry plan was generated for 300k expected invocations), each Index Scan lasts for 0.15ms. So there you go.. Ofc I'd really like to see more decimal zeroes, rather than just 0.15, but still..
Rewriting the query with a CTE cut down the execution time to pathetic 0.04sec (40ms) w/o any loops in the plan.
I suggest that change to the team and I am responded a big fat NO - they cannot make any query changes since they don't have any control on their queries
....
*sigh*
....
*sigh*
but down to 0.04sec from 3+ minutes....
*sigh*
alright, let's try to VACUUM ANALYZE, although I doubt this will be of any help. IDK what I'll do if that doesn't change the execution plan :/ Prolly suggest finding a DBA (which they won't, as the client has no € for a DBA).
All this because developers, the very people sho should have COMPLETE control over the product's code, have no control over the SQLs.
This sucks!27 -
Why won't you just approve my PR???
Whats wrong with you?!
I don't understand your cryptic one-sentence feedback. I'm not even sure you understand what you're asking yourself.
What the hell does "make it a transaction" mean? Don't give me pseudo-code examples that don't even work fucking asshole!
Its a small change that does NOT need a canary build dammit. Don't go testing the ORM, its a goddamn standard library. Why does working with you make everything so complicated?!?!
The code fucking works! There is no need to make it comply to your specific tastes goddamn it. Working with you is like pulling teeth!
/endrant9 -
My last company had a code base originating in the 90's and they still write most parts of the GUI with a library that is a thin layer on top of Win32 API, with a self-rolled "ORM" for DB access (with LOTS of enums) and all that with >2million lines of C++ code. The code includes at least two implementations of std vector and std:list. One of which is even *named* std::vector. Feels good remembering that I have left that behind2
-
I had once an sql error that took me two days to resolve it.
The error message was a syntax error but I was using an ORM to write my queries (doctrine with php) .I didn't have too much to debug as the code was pretty simple and clear so I got to the point that I convinced myself that this a bug and I'm gonna try to mess around it to avoid it.
Second day late night, something popped up in my mind '' hey what about those reserved words? Could it be the reason? '' aaaaand BINGO the key '' option '' is a fucking reserved word for mysql.
Tip : always check that list before writing your data models (specially if you're a noob like me)1 -
I'm having a strong urge to kill that asshole that asked me, on a SECOND interview for a SENIOR position if I knew what ORM was!!!
Are you making me fucking waste my time you fucking cunt???
Did you fucking read my CV?
Obviously not because you would have seen several ORM technologies on it you fucking piece of shit.
You made me waste my time, and now I have no choice but to slice your fucking throat!
I'll be waiting for you, in the dark you mother fucker.13 -
on one hand- got a new job, on the other hand getting a new MacBook pro just before they release a new generation2
-
Do you guys ever feel like you lose the ability to be objective about your own work. I've looked at my website for so long now, I don't know if I think it's good or not...5
-
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
First month of project we suggest that we test that Entity Framework has made reasonable DB queries because the system will need to handle a lot of records. “Not a priority in this sprint because we need features.” Devs try to get it into every sprint. The last week of the project they want us to dump in a ton of records so they can test it. The N+1 SELECT query issue is on main queries. It is so bad and slow with more records that a simple query causes the container management to auto scale the application on a single query. They can have max 8 users in the system at a time and it will take 10 seconds to do a simple page refresh.
They get on our case and we dredge up all of the correspondence where they completely ignored our advice. Fix it now! We need another sprint. Fix it free! No.11 -
Every time I think I've seen the worst there's someone to prove me wrong...
GRANT ALL ON ALL TABLES/SEQUENCES
To web user on production
if (x == 1) y = 1;
else y = x;
loop through a collection and get 'few' relations using ORM - 1000s of queries and not a single join - but don't worry, "The ITs will just add more RAM and some CPU cores to the server"
4th day off and I already miss this2 -
When used properly No-SQL databases are an incredible resource but my employer keeps hammering them in problems which could better be solved by traditional SQL databases in an attempt to be more "hip" and "cool".
This causes huge PITA in making the database work properly with the ORM we're using and waste of time since we're force to emulate basic features which are already exists in almost any SQL database (i.e. relational integrity) using No-SQL storage.1 -
> finds awesome front-end design software
> build a decent layout
> adds Phalcon stuff (started to use that a few days ago, works really nicely, just don't like the ORM as much as Propel2)
> software can no longer display the site layout properly
FML -
Eloquent is so fucking slow, my (dead) grandma queries faster. It takes the fucking double of time on a simple query with only one join for maybe ~200 rows... From now on I go fucking back to raw SQL in my Laravel projects. 😤16
-
Man collapses in the street, his wife "help, we need a doctor".
Dev speaks up "I did recently move to a standing desk"1 -
It is time for my own dumbass's favorite pastime: not letting go on retro tech.
I am gonna build a small and complete RESTful web API with Vbscript and Classic ASP with errrthing thrown in this mfker including JWT authentication and i am gonna see how the idea of an ORM goes. I know that COM interop was a thing, dunno if it still is.
I am fucking bored. The graduate degree is killing me and I need a distraction.
Thinking about being a purist and keeping the COM libraries to be made with VB.NET :P
Fuck yeah for being a masochistic retard.
I legit love vb net tho4 -
<opinion>
You may be a prod ninja but I believe that every dev should have a decent level of exposure with a low level language(s). Sure you can make an HTTP server, do a sentimental analysis, topic modeling, set up multinode clusters, write ORM queries from dbs and all sorts of awesome stuffs with Python/Ruby/PHP/JS/GO etc but none of them teaches you what happens at kernel level. Things like memory leaks, threading, multiprocessing, memory allocations etc can only be better learnt from a low level language.
</opinion>
P.S. Not a C/C++ fanboy. I'm a python dev 😄5 -
Copy-pasting 90% of our entities including logic and merging some - creating thousands of duplicated lines - and then creating views for those abnomalies just to speed up the ORM fetching which could have been done with a single join...
Took me some time to delete all of that fking shitty untested code full of bugs... -
I might be pushing my 4 years old macbook pro too hard with 2 IDEs, 1 instance of datagrip, and tons of open browser tabs, all on 4gb of RAM..6
-
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 -
body {
overflow-x: hidden;
}
is a bit like trying to fix a broken arm by wearing a long sleeve shirt 😅 -
This moment when someone mentions you in an PR of an huge ORM clusterfuck with associative tables and discriminators...
And you accidentially say "Yes I'll look at it later" because you thought it was an tiny PR -.-
Should have opened that link first.7 -
Are people using Vim doing it for the sake of it? Is there such a thing as a Vim hipster?
I mean, nano is just nicer 😇15 -
I fucking HATE ORMs. Fuck this bullshit, they always have some use case that is stupidly difficult or obscure that no one knows how to deal with because the creators didn't think of the one thing I want to fucking do.
Screw this bullshit, homebrew SQL is ALWAYS the way to go; I've never encountered an ORM that didn't turn in to a troubleshooting, dialect-learning timesink.5 -
Hello fellow devs, how do you clear your mind when you cant make something work? I think most of you had this feeling like 'fuck that, creating from beggining will be easier'1
-
i started a project a couple months ago and i used ORM for the queries, cause it's already implemented. thing is, this project came directly from hell and the math is stupid af. it requires subqueries in subqueries and the data that was provided is trash. I'm giving up on the ORM, it's not scalable.
-
Looking for a team mate for https://spot-next.io - a new fast and small OSS microservice-focussed ORM RAD framework
-
To all the people who complain about writing a delete or update query. Not to talk you down, but seriously. STOP WRITING RAW QUERIES AND USE AN ORM!9
-
I discover last week Eloquent ORM.
A php database abstraction layer.
How to make things quickly! Great tools!6 -
I don't know why... But I cringe when somebody says "coding", "coder". Maybe it's because it's an Americanism...1
-
The first 30 minutes of a working day often consist of me saying, "who broke this then?" Then a liberal use of git blame.
-
Desk fans whirling. Sweating co-workers. An extra short stand-up.
That's right, the English summer has arrived.1 -
I love how our industry has invented such important sounding yet meaningless job titles...
Developer, software engineer, software architect, developer evangelist, dev ops engineer, systems analyst, quality assurance engineer, code monkey...4 -
I once found a bug that I couldn't figure out from the code, so I started putting log statements that would print out the variables on screen (yes I have xDebug, but old habits die hard). Then the entire website didn't load anymore and eventually the entire container crashed.
It took me an hour to realize I was trying to var_dump an object from the ORM, resulting in a memory overload since there were like 20 related objects that recursively tried to load all the data in the database.
In my defense, it was friday afternoon... -
Service's like freelance and people per hour are a farce. It's just a constant race to the bottom price-wise.
'Yeah sure I can make you a blog website in 24 hours for £5' -
People in SO be like: "I don't understand why I'm not getting any answers. All I want to do is to twist this ORM to do something it doesn't support and I haven't even explained the nature of the models and nested relationships in the question"3
-
I feel with @gipsydanger
I had to work with snake case columns with a maximum name length of 16 characters. Abbreviations, acronyms and undocumented adfixes. The ORM models were generated with resolved pendants of the column names. There are typos in name resolving and some adfixes were used with different understandings which result in completely wrong field/property names for the ORM. As this ORM class generating process is separated from migrations some people did not care or check on the ORM.
Previous rant https://devrant.com/rants/1461563/1 -
It probably will be an unanswered question, but let's try.
Does anyone know of a large project using onion / hexagonal/ ddd or similar architecture with free access to the source code...
Or an example of said architectures that goes beyond "trivial dumb example".
The new recruits need... A lot of brushing up (I'd be for electro shock treatment and other stuff, but somehow HR thinks I'm joking).
As said, most examples I found are too basic. On the other hand, if I write now a good example, I'd need to do it in either my free time (nope, just nope) or jiggle it in somewhere in company time (aka it will be never finished nor be in a useful state).
Programming language preferred would be Java, but as I'm fluent in most languages except the forbidden ones (JavaScript and it's friends) ...
Anything would be helpful.
Most welcome would be an example with a focus on Adapter / Ports, e.g. abstraction of HTTP client usage / ORM etc.
Thanks.12 -
My manager always tell that we're less process oriented and self sufficient.
Later on, I understand what that means
- Poorly written JIRA tickets
- JIRA tickets with only title, rest for you to fill
- Two teams did same task, client side team pushing their change directly on master, while mine still waiting on code review will eventually get rejected
- Client writing raw SQL in ORM framework instead of using any single feature of ORM.4 -
whats your biggest aha-experience learning about programming? mine was probably finally realizing what an orm does and how it eliminates your need need to write sql manually10
-
Don't people learn the basics of how things work anymore ?!
I am cleaning this project, where some juniors have implemente a lot of the code.
Apparently, the way of deleting an entity from the database is:
1) SELECT the entire row and cast it to a model class
2) CONVERT that model class to a DTO class
3) READ the Id property from the DTO class
4) SELECT the entire row, again, and this time cast it to a DTO class
5) CONVERT that DTO class to a model class
6) Use you pancy-pants ORM delete method using the entire model class as input argument..
FUCK YOU !
inb4 what about reference checks ?
- Nope. That is done separately using only the Id
inb4 what about checking if someone else has altered it before deleting
- Nope, the entire entity is not used for that either.3 -
Brewmaster.
I've been brewing my own beer for about 6 months now and super positive feedback keeps on coming :)2 -
I'm pretty familiar with SQL. It used to scare me, but now, years on, I'm super comfortable with it, and I don't really get why anyone would need anything else, generally speaking. Having said that, just tried to play with mongodb for a minute, and holy shit, that is some weird, weird stuff. I read all of the marketing fluff on the site, but I still am at a loss. Is it just that people don't want to be bothered to learn SQL syntax or use an ORM, or make a REST API, so they went off and created a weird JSON thing?
Not trying to be a douchebag, not trying to criticize. I honestly do not get it. Why does this exist?10 -
Created a docker stack that can run on a swarm, tried out an actor system framework with a really nice message passing interface, used a web server framework built on that actor framework, used a really cool ORM that relies heavily on code generation, did some experimenting with Alpine Linux, and re-learned for the 100th time how to deal with CORS
-
Python file truncate instead of actually deleting file contents...
there goes a weekend of log backups.. FML -
developer oriented saas? well yeah, you could've at least develop a decent SDK for one language, or just let people send JSON payloads instead of XMLs..a**holes
-
I wonder what is going on in the minds of inexperienced developers. It must be very interesting.
I just read this bit of code
The task was to implement a certain schema into a database. They were given an ORM library, and several tutorials explaining what an ORM was and how it did it.
The result were these 3 models:
- A defaultUser with all of the defaults values for the User model. It wasn't even supposed to be instantiated, just accessed by `defaultUser.fields.username.default`
- another default table for another model.
- The "main" model, containing all other models in the form of JSON fields that would contain an array with other JSON objects that would represent the instances themselves.
I will say though, they made a home-brew ORM with (most of) all the logic a normal ORM has by parsing through the "main model", except, of course, common sense2 -
Got a chance to work again on a Spring project after a few years of working with JavaSE.
All these horrible memories started rushing back. SpringJPA and its dark magic that only works unintuitively and under very certain conditions...
Ooooh boi. Now I remember. I remember it all.
Why do developers enjoy being squeezed into frameworks and enjoy spending half of a day figuring out how to make the application code compatible with the said framework rather than just writing code that they have full control over...? Masochists much?9 -
Fuck sequelize, the bloody query generated by the "ORM" give diferent result on the same DB if you trie it on dBeaver (works fine) vs node (shit results).
order DESC have 0 effect on sequelize, but it appears on the logger as part of the query.
I just want to go to sleep ffs.7 -
So I developed this proxy server that will throttle down API calls to one of our providers so we don't get blocked for TOS violation...
Some dude had a tool running all day long which crashed 2 minutes before I left work.
This literally ruined my day until I recalled it's all cached!!!!
Mood is back again and I deserve my beer! -
Like seriously how fucked up are those ORMs? Prisma “yeah we support mongodb, but we will force you to write in a relational way.” I always hit on hard walls whenever ever I try an ORM in my projects.
Don’t get me wrong they are good for dummy stuff. But if you want to go a little bit crazy with mongo, embedded documents with refs it’s a mess…
Typescript and good old mongodb adapter bb anything else.14 -
Just spent a lot of time on custom building an Ubuntu docker container, and forgot to save the image before I accidentally reset the whole thing to blank1
-
I want to develop a django quiz app which will show questions to all online users at same time and allot a short time slot(1min) for answering questions.
How can i do that?
Any kind of help/link/hint is appreciated.
Thanks in advance.3 -
Im fucking fed up with overbloated "all in one" ORMs.
For shit I cant find simple ORM that would literally just do fucking CRUD for me.
Thats all I require for some small project, yet still for few tables I have 2 choices:
a) do it without ORM and write models with raw SQL (which I usually end up doing, as its just more fault tolerant and works better)
b) install overloaded ORM that I wont use even 1% of features
Guys, why the fuck nobody created anything small, tiny and yet usefull? I know my SQL sucks and that is reason I want to use ORM in the first place. But when Im just forced?
Best what I found in terms of ease of use, and beeing not too heavy was RedBeanPHP.
A freaking ORM that will create database on the fly. It's awesome, sure. It's usefull, sure.
BUT STILL ALL I NEED IN SMALL PROJECT IS 1% OF THAT FUNCTIONALITY.
Does literally every single ORM dev want to feel their dick when they list out features list?
There should be allways proper tool for proper job. Its like using symfony for creating onepage website with contact form. WTF.13 -
I want to know the name of the evil mastermind who once conceived the "literal" function in Sequelize.
- You design a method to insert pieces of raw SQL exactly the way they are written, no further processing
- You release this method, you call it LITERAL to make sure people know its intended purpose: it is used to insert LITERALLY everything you write, nothing more and nothing less
- Then make sure this "literal" method changes the fucking case of column names. Because that's what "literal" means in the head of this rabid animal: you arbitrarily change the code written by the developer
WHY
WHY ARE ALL AR ORM DESIGNED BY FUCKING ANIMALS
ELOQUENT IS TRASH, SEQUELIZE IS TRASH, TENS OF DEVELOPERS AT WORK TO ALCHEMICALLY CREATE THE MOST ROTTEN CODE THEY POSSIBLY CAN, BECAUSE YOU MUST NOT BE ALLOWED TO WRITE ANY QUERY MORE ADVANCED THAN "SELECT * FROM users WHERE id =1", NOT A FUCKING SHRED OF DOCUMENTATION AND 16 MILLION LAYERS OF ABSTRACTION TO MAKE SURE EVERY BUG FUCKING STAYS THERE, DON'T YOU DARE TO USE A JOIN, DON'T YOU DARE TO TREAT A DMBS LIKE AN ACTUAL FUCKING DBMS INSTEAD OF A HOT STEAMING PILE OF METHODS IMPLEMENTED BY MONKEYS.6 -
Going over some NodeJS code, and I feel like the scene from "Dude Where's My Car" - "And then....And then..."
Coming from almost three years of 99% python, this hurts my eyes so much1 -
Just started VueX ORM, absolutely brilliant plugin and don't think I could live without it now :D
[Github Link]: https://github.com/vuex-orm/...1 -
I HATE WINDOWS' WINDOW MANAGEMENT. I have two monitors and nothing can be maximized. Windows' spaces are terrible as well.
I am building in the back end in VS Code.
I have three terminals open because I need them to run multiple parts of the app locally.
I have postman open to try requests.
I have firefox for the orm system's documentation.
I have my database tool running as well.
I have an ERD diagram floating in a window.
I have another VS Code window showing a diff of my JSON compared to the version I'm replacing.
Also all of my team communication tools.
I have never hated shuffling windows around so much. Would it kill us to use some command line tools for http instead of Postman? Could we please get a decent shell in windows? Could we get some simple ways to switch between virtual desktops? Click click click. I can't automate clicking. Why do we use the most clicky tools we can find?17 -
When your VP Engineer says we DONT NEED AN ORM.
Raw sql queries are just fine and he even can help with that!!
It's only monday.6 -
The project my company agreed to work with 1 year ago is totally shitty.
We basically use Python 2, Tornado, MySQL and driver for it from 2005, custom made "ORM" where you have to write SQL in strings in Python, custom asynchronous service that runs jobs and all such...
The rest of the team writes code really badly and only after a year of fucking with this shit we made them do pull requests.
I became totally neurotic because of the shit I have to go through daily at work. I do not develop myself, no new things I have learned in the past year or so. What do I do, devrant? What is your advice?1 -
During my internship, I fixed a bug in android app related to user data updation..
BUT I didn't knew it's root cause and I have no idea how I fixed it.
Also, it was satisfying.1 -
I fucking hate people who uses complex words to describe something simple.
Describing a frame work
Show-off : "..you can define what objects/tables to expose, what values in that object you want to expose...if you are using some orm, then because you have models defined. Once you update your model, your endpoints get the new model..."
Simpleton : "something like parse..."
Wtf is 'fixedUUID'?
Show-off: "..hardcoded UUID is fixed (constant) value, with format of UUID, hardcoded UUID will be unique value between backend and frontend,
you will need to store it as constant value in your codebase ( we may encrypt/ decrypt it for security reasons)..."
Simpleton : "a secret password only u & I know"
--why whyyyyyyyyyy2 -
No proper normalization and database structure practices seems to continue to be the bane of my fucking existence at work.
One would think that it would be the quirks carried through by the language stacks in question, those are fucking absolutely ridiculously horrible by the way, y'all think you've seen bad Javascript and PHP? these would make you cry, laugh, wonder in amazement and then fucking pity me and eventually buy me a beer NO JOKE.
Y'all think you have seen some obscenely unoptimized SQL code? think of the worst fucking possible output from the shitty-est most error prone boundary checking inefficient ORM out there and multiply it by 10k. Then refer to my other point, and do the same thing for me which culminates in alcoholic consumption.
Worst thing? the developer that wrote most of this is a college level TEACHER rn....i've met the smug piece of shit, he acted severely condescending to everyone around him and I just smiled because I know how much of a piece of shit he is.
The other dude in question (it was two of them that I am talking about) left for another city and currently holds a senior developer position....i-fucking-magine that.
Fuck I hate these mfkers and I really wish they gave me a chance to fucking blow up on them.2 -
Two senior developers were baffled at why their Web application built using sql server wouldn't just instantly work using sqlite... The Web application uses some pretty advanced queries and ORM.1
-
Dreading the end of this bank holiday weekend, tomorrow I must wake up and return to working with legacy code.
-
!rant
Yesterday my little brother sent me a screenshot of game called robotJS and asked for help. You can't imagine how happy I am that he tries to choose this way -
Back when I was at uni, we had this group project based on data security.
At the first sit down meeting we had as a team, this one guy sat down and said "to be honest guys I'd be happy with a pass (40-50%) for this module"...
Well great.2 -
I knew I wanted to be a Dev ever since I discovered that the Apollo missions, used a flight computer less powerful than a average mobile phone.
If they could put a man on the moon with that, imagine what I could do now... -
I use Google, stackoverflow, tech documentations to unstuck myself and I'm not afraid to admit it coz ham1
-
Playing around with a POC I'm doing for work, and it works so well I got an IP ban from one of my favorite websites for a massive amount of requests they got from me
-
I'm genuinely contemplating changing my career to an IT support role from my current web dev endeavors.
I have become rather disinterested for quite some time with web development, I've been working with React, Angular, the regular Wordpress stuff with the theme building/modifying, headless instances, plugin development and whatnot and all of these have become more of a chore than anything else.
I'm leaning towards an IT support role as I genuinely have more interest in a user support/infrastructure support role than a developer role, the question is, is it doable ?. I know my way around Windows and Linux Servers, know LDAP, Active Directory, BASH, Powershell, Networking, can do cabling and whatnot but I don't have the experience to show off those.
Any tips would be greatly appreciated3 -
Admittedly as an engineer my SQL knowledge is minimal and I develop database driven web applications on a daily basis. Most programming languages have object-relational-mappers that handle things for me. I have a unified object store with easy querying and SQL is handled form me. You don’t have to be an expert in every technology to be an engineer.rant engineer orm sql engineering software development object oriented programming software engineering database8
-
When you have to implement a search feature and could write down the SQL in half a minute, but instead you spend the whole afternoon figuring out how to do it with the ORM in place, and finally end up with 15 lines of poorly performing Java code instead of 3 lines of plain and simple SQL, then you really understand what the phrase "ORM is the Vietnam of Computer Science" means.
-
Getting started with Python's asyncio is probably the worst experience I've had with the language in 2+ years I've been using it.2
-
Recommended PHP ORM?
Had a couple bad experiences with Sequelize (I know it's JS, save it). Also, I'd like to try the decorators pattern. I'm also looking for good (and I mean GOOD) relationships management (you are allowed ONE pun about it).
Anyone? :((3 -
Definitely Android 8.0 is neat.
And it's faster.
I think Android has developed a lot.
Isn't that right? -
So I've been on vacation for a week now, still two days to go until I get back to work.
It's been super fun, but I am getting pretty stressed about the shit-ton of work I have to do when I come back.
How do you let go?2 -
Flyway is bullshit. Genuinely who the FUCK finds this useful??? Why the Fuck do you want to have an ORM, next to a custom jdbc and to top it all off you also write custom sql queries in flyway just so you can prove your colleagues what db migrations happened WTF you can see that on git commits dumbass!!!! 3 different sql models that need to be the same but are written differently each. One through ORM, through code and through raw sql queries. Flyway just makes shit harder and having 1 change in model means i need to fuck myself with rewriting raw SQL queries in flyway WASTE OF TIME8
-
I'd like to learn go while building a web backend. but I'm not how should I start it. I mean, should I use any framework?
I'd like to use MongoDB, so a mongoose like ORM/library would be awesome8 -
Soooo MY BOSS has proved himself stupid and ignorant.
And asshole.
So he changed the db because he decided after 4months building everything around a db we changed aaaand OF COURSE NO ORM as I already told you.
So raw queries fine. What queries? Well, he decided we dont need delete.
We had a soft delete before where archived was true but the entity still in db.
Fine we dont need delete?!? Ok sure
Today, him:" guys is it ok if I add some stuff to db?"
Me:"Well, taking into account we dont have delete that data will be with a lot of garbage and irrelevant data"
Him:" yes we dont need delete, in the future we will need archived true"
Me:" that's what the old delete was doing"
HE DOESNT KNOW THE FUCKING APP.
He IS VP ENGINEER
COO AND PM THINKS HE KNOWS STUFF WHEN HE DOES NOOOOOOT
FUCK THAT COMPANY. -
From a little bit heated discussion I want to extract this: One big pain in the ass is the human to computer interface. Maybe it's the natural vs. formal language divide, but there's a mismatch deeper than between object and relational models that no ORM can failingly fix.
The whole point of the discussion was on such a point where some wanted an interface more human friendly and I stubbornly insisted on the way it is simple for the computer system. Like not too much human messiness should invade machine. One argument sounded as if human words were like unicode code points which meaning doesn't depend on its representation.
That's raising red flags to me: Nonono, natural language is too messy, keep it out. This poor machine could have been so clean and well designed and we already stacked up so much entropy we still dare to call OS,..
Dunno, what's your stance? Still hoping that your shell one day will be able to process our poor standard English? Or do you think, like me, all those failed attempts show there's a gap you should not even touch?5 -
Really interesting video by FunFunFunction https://youtu.be/J9OpTNk0hYc.
"Does a developer need to be nice". How many times have you guys been made to feel stupid for asking a question or for getting something wrong?2 -
I’m very surprised at the lack of PHP micro frameworks with correct Namespace and Class support. I had to spend my weekend adding it, as well as making it so you can easily add a ORM library to it.
Sure I could use Laravel or Codeignitior, but I just needed something simple for rapid development of simple GUIs for desktop and server applications. I couldn’t justify copying over 6500 files for something I’m only going to use a quarter of its features. Now, I can just use composer to install the features I need.8 -
Quick survey, when should I use orm? for example in nodejs? Currently working on an sis api using node. Just wondering if I create another prototype and use orm. Performance wise?15
-
I really love how quick it is to get data from SQL with Djangos ORM. But heaven forbid I want to do a WHERE EXISTS clause. Comparing against two tables should not be that hard....1
-
!python/ORM
Someone got quality tutorial/blog about Sqlalchemy ?
Even tho I am dealing with py+flask+sqlalchemy last 3 years I am still able to get super confused about contexts/syntaxes.
(Model.query vs session.query(Model), etc.)
😪3 -
Writing DAL code that I am 99% sure will be replaced really soon along with the database schema.
Angry coding is almost as good as tipsy coding - AMAZING. -
Opinions
Hello, I’m considering building a web framework.
My ideal features would be:
Customizable authentication system(considering using a jwt lib)
Embedded DB(bolt db)
ORM( writing my own)
REST api to DB (via code generator)
Code generator(generation of models and views via cli)
GUI to db(some admin dashboard)
CORS(web service right?)
Why?
Ease of development
Fast prototyping of small-medium web services.
Fun.
My question is, do i have to many things on my platter? Should i narrow it down into less featured framework? What feature should I focus on? How should i benchmark it? Should i write tests for absolutely everything or just for exported methods? What should i take into consideration when developing ORM API, Auth API...
The language is Go
Thank you for your input10 -
Worst technology ever by far I have to say JsData. It's a framework for javascript ofering ORM facilities so you don't have to deal with Ajax yourself. The nightmares with data being cached and not updated, the fact that the response must always be an object with an id. Why? Just why? 😨1
-
Installing the entire system on new machines. Too many configuration files and too much manual work. (New workplace, haven’t automated it yet)
-
How to deal with having to work on a very boring task?
I work as android dev in a company where there are around 40 of android devs in total. When I was working on frontend architecture and UI related tasks everything was perfect and I loved my job.
But now for the next couple months all of us have to work on migrating all of our db layer models and business logic related to them to a new built in house ORM library and its a total trainwreck.
Everyone is confused, the task is very boring and obscure and deadline is around 2 months. Just to clarify: one guy did 50% of migration and it took him couple years. Now they are throwing roughly 20 devs at the problem thinking they can do this in 1-2 months.
One week already passed and TBH I havent even started working on this, I just picked up a task and now Im trying to wrap my head around this. Its so boring and obscure and expectations are so unrealistic that I want to kill myself.. Thinking of just taking my 2 weeks vacation to escape this shit or even quitting my job if this goes on longer than a month or two.3 -
When you work on a project for months, the newly appointed tech lead says "we all (him, the boss and other colleagues not involved in this project) looked at your code and decided that it should be dropped and we are starting from scratch again....now I'm not against code review (which we never did) so I welcome the input but allow me to vent my frustrations about how this is being done. Also to have a review & verdict without me being present?
So I ask what was so wrong:
* You changed the database structure. Valid, I tried to make your db an actual db with relationships, so I added some foreign keys, delete fields that were never used, all because they told me to use an ORM.
* You used to much logic in setters, validation etc, valid again but this would be something we could look at and fix imho.
* You are passing classes in your constructor, valid I wanted to use DI to make unit testing possible. Ohh but I don't like unit testing so I don't see the point and it makes it to complicated was the response.
So not only was the project cancelled, the new iteration is being developed without me, I'm shunned from all meetings. Ohh and from what I see they are now using 5 tables instead of 25 and completely started the db model from scratch...5 -
Fucking Quarkus. Fucking Panache. Fucking ORM.
I wanted to do a fucking simple projection. First this piece of fuck, the Panache, won't let me do a Projection because of a fucking bug, that haven't implemented it properly until 2.12 (fuck and you call this v2?). Ok, upgraded, to the latest 2.16, cuz why the fuck, i'm upgrading already. But now the whole fucking quarkus app won't start! Noice! Ok, fuck it, let's go down exactly to 2.12. Quarkus started, perfect. But now, this pice of fuck Hibernate says 'collection was evicted' whenever i tried to read a collection in the setter (Access.PROPERTY), which worked just fucking fine before. But okay, fuck you. I'll write a @PostLoad method, fine, just fuck off.
But that's not the end! Now it says I cannot write `select parent.someColl is not null and parent.collection is empty as canProcess` because "is empty" only supported in where clauses. What fucking wonderful system! Well, fuck you. I'll write a union query. But guess what! JPA standard does not support union queries, nor HQL (Eclipse Link does, btw). Ok, fuck this shit, let's write a native query. But hey, fucking Panache does not support that. There is no fucking place in their fucking docs stating anything about how to use native queries.
So, fuck you quarkus, fuck you panache, fuck you hibernate, fuck you overcomplicated limiting bullshit called full-fledged ORMs. I'm moving to a fucking mybatis and fuck it. It's simple as fuck, does not fucking restrict me in writing whatever shit query I want to write and let's me map the shit just fine.1 -
Rant 1
---
I have so much shit to talk about and its annoying to wait 2+ hours between each rant just to rant so ill start off by ranting about not being able to rant as often as i want to rant
Rant 2
---
What is ORM doing under the hood if it makes the queries so much slower than compared to writing raw sql?
Rant 3
---
Im thinking of creating more accounts just to be able to say what i want to say without waiting these dumbass 2+ hours. Who tf even made that and thought it was a good idea. Ur not saving ur bandwidth storage by making devs wait to rsnt bro itll be the same shit
Rant 4
---
Now by writing 3 rants in a row i forgot what i wanted to rant about more and its an enitrely different topic so ill rant about not remembering what i wanted to rant about because of devrants dumbass 2+ hour wait logic
Rant 5
---
Wow this new york company looking for senior devops dev requires a lot less shit to know compared to the saudi arabian shithole company for the exact same position. But how do i learn all of what they require fast so i can apply for this position since the recruiter has contacted me20 -
on one hand - softlayer is way less intuitive than aws...
on the other hand - when your boss tells you you can bring up up to $1000 monthly valued servers, you can forget about the first hand1 -
I made this: https://gitlab.com/snippets/1992288
Spare me if the title makes no sense grammatically, not a native speaker.
I'm building a microservice that keeps a check of the subscribers on my product, I wanted to keep an eye of those subscribers that may be missing the latest payment.
One way to do that is to make it work with my code and some ORM magic, but that may become unsustainable as the customer base grows, another idea that occurred to me was doing it fully inside (?) the database. The solution is to compare how many days have passed since the last payment and right now, if 'right now' is larger than 'last payment' then the subscriber is late with their next payment.
I did this as a PL/pgSQL function with an example usage accompanying that code.
Now, I just need to figure out how to use the result of those calculations in a WHERE statement...2 -
Had to rewrite all of my ORM services just to get a proper stack trace for an error I was getting. I finally got an actual error... just to realize that it's a bug in the backend server.
-
SQLAlchemy is such a bloated piece of crap. Even without the fact that many consider ORMs an anti-pattern, this library is extremely janky, salty and uncomfortable to work with.7
-
don't you just love it when you have to fix a system that consists on unnecessary junk code, horrible/lack of indentation, no documentation and the clients says "I don't know what happened fix it and I'll post you good"
I mean, I live for this shit man! -
Trying to use a certain library for my ORM needs. It seems that the devs 'forgot' to add decent documentation.
Also trying out another library to integrate with it. Again, no decent documentation.
It pisses me off how A LOT of Node.js libraries have the worst documentation ever, and if they do have some seemingly okay ones, they conveniently leave out the more complex functionalities. What do they want to achieve here? For people to head to their Github pages to sniff at the code?
Holy fucking shit. I hate you people. I even hate having to use these in the first place. -
I started with cakephp 2. I did a TON of projects with it and made my own reusable plugins for future projects and everything was nice and smooth.
then cakephp 3 came out with breaking changes and was not backwards compatible. I learned the new rewritten ORM and tried to do a project with it along with plugins.
then cakephp 4 came out with breaking changes and was not backwards compatible...
ok... look i dont claim to know more than the people writing frameworks but u want people to use ur framework u cant fuck them up in every major release and render their old projects unupgradable... fuck you im switching to laravel this was the last straw3 -
Ex-manager keeps trying to boss me around. Not only that- he now tries to get fame for a project I’ve been doing for six months that he actively avoided managing...
-
Diesel is an incredibly beautiful ORM, but the size of the DSL means that despite Rust's state-of-the-art IDE integration I'm back to editing code, waiting for it to compile (as soon as I stop typing) and changing random shit if there are red squiggles.
The error messages are totally unreadable, all in-code references point me to meaninglessly generic abstractions, and a good portion of the impls are generated by macros so I can't even look at an actual final definition.
The confidence that if it compiles it'll run is stil there, but nothing else.11 -
It feels good to be a gangsta. Convinced my coworkers to use Dapper.net (used by StackOverflow) as ORM of the choice instead of old internal ORM which heavily utilizes DataSet.
-
Pressing the provisioning profiles "fix this issue" button in Xcode... And getting roasted for being a noob by the entire office.1
-
I identified the need for a product akin to an ORM that maps an algebraic type system such as that of Rust to a key-value database (my situation dictates lmdb but I'd like to abstract away the store). Can you recommend prior art for me to research?4
-
Can anyone tell me how I can integrate Mongo DB with golang?
I found go-bongo, but it's not well documented.5 -
Camembert cheese in the fridge is great, but how can one survive without the stronger Nespresso capsules ;(
-
Read about concepts that are new to me and try to implement them.
Code reviews with experienced devs -
Spent a week writing my own orm because I didn't think codesmith would work with my project. After it's finally done, a co-worker tells me I can just add a reference to the existing orm project solution and use that. Fml
-
No rants about new MacBook pro generation? Obviously one must rant about the absolute need to buy adapters to connect keyboard&mouse (let's be honest, BT devices out there are mostly nowhere near ergonomic)1
-
Whenever I see an ORM that supports creating and transforming objects in bulk, I can't help but think about the poor misdirected users who forced it to do that. It's an Object-Relational Mapper. It maps objects. The whole concept isn't designed for bulk operations, the point is that you add logic to each and every record and convert your operations to SQL so that you never have to keep a lot of them in memory.4
-
Finance lady keeps turning the air conditioning off.
It's either sticky note on the controller or R&D vs. finance lady on an on/off battle...
What do you say? -
So I just refreshed LinkedIn and it has a new look.
It's so bad I can now remember Microsoft bought LinkedIn a couple of months back every time I look at it1 -
When's the last time you've had to write raw SQL? Can you consider yourselves SQL experts even though you only use it through ORM's?9
-
ORM feels like, I can do better than that, with more predictability (like naming, table creation, and stuff).
The only pro, is hopes for inter-dialects interop (SQLite-Postgres-MySQL-MariaDB).
OK, I also want SQLite-MongoDB interop, because of the cheap price; but this is difficult. -
Stupid Nhibernate! Half day to get a domain configuration barely working! I hate you.
P.s.
Someone know some resource to learn about Nibernate by the code? It seems awesome and I'm a noob. -
I hate waiting on a preview of an SDK from Microsoft that should have the support for the feature in the first place. I should be able to query a view without needing a primary key. I am tired of making workarounds. Come on EF Core 2.1 preview! You’re killing me! Back to ADO.NET for now.
-
Omg nextjs 14 is so good. I cant believe this. Server actions are so powerful. This shit makes you prototype and move RAPIDLY FAST. And the framework itself is fast as cum! Unbelievable. No wonder every website lately is built in nextjs. This framework is definitely the future of web. It made working with databases blazingly simple. Prisma ORM is unbelievably flexible. The shit you can build with this framework has no fucking limits! It has /api folder to just add restful apis and just reuse the same prisma methods from shared lib functions and boom you can now scale the project to a mobile app!
All of this bullshit took me YEARS to learn how to do properly in a regular frontend-backend separated type of project. While I learned this nextjs shit blazing fast. Am i missing something or is this framework too good to be true?
I'll bend over for nextjs4 -
POCing a neural network thing.
Luckily it's a shallow network, but it's taking a frickin' eternity to train :( -
“Just a quick fix” Classic start to a reported ticket. Ticket states that a form field was not doing anything.
Think to myself ok this sounds like a nice easy one for the morning. A few hours later I find something like the following written by a senior member of the dev team.
SearchClass {
//...list of getter and setters
Private $snakeCaseName;
SearchFunction() {
Foreach($this as $property => $value){
//... if property keys = string for each object property then do code
If($property == “snakecaseProperty”){
//...do stuff
}
}
}
}
Why does this loop exist!!!!! All it does is remove any error checking if a getter method is misspelt...
To make matters worse the entire search method was over 300 lines building a MySQL query string.... even though there was an ORM and entity classes available!!!2 -
So I spent about a day on this brilliant priority calculation formula just to come to the conclusion that FIFO would be a better approach for now1
-
Felt like an idiot when realized that argument `back_populate` refers to the attribute of the class passed to `relationship`, not the stupid name of the table of any class, ugh
-
Can any one recommend a good Go framework for APIs with a MongoDB ORM?
Was using Laravel 6/Lumen but it’s API ability is starting to piss me off with its CSRF crap, JWT/Passport implementation and a it’s lack of MongoDB support.
I don’t need any templating engines at all, its all handled by a SPA and Mobile Apps6 -
Hi people, I need some help.
First, stack , Golang/gorm(ORM)
I need doing a simple sum(amount) , I have a " db.Table("orders").Select("sum(amount) as Amount, merchants.name").Joins("inner join merchants on merchants.id = orders.merchant_id AND merchants.name = ? GROUP BY merchants.name", key).Scan(&total)
total is a struct type .
Are there any smell and I don't see ....?1 -
I really don't understand javascript sometimes... I'm trying out feathersjs, and I really like the idea of the services/hooks architecture. I even see they include some conveniently preconfigured database services. So I see they also have the ability to generate the tables from my javascript (using knexjs) I figure hey this is great and really convenient and a nice in between using a full ORM and straight up sequel... problem is, it only works sometimes, because it seems every database adapter in javascript all run asynchronously I can't seem to figure out how to make it wait for the database to finish being created, before the rest of the framework configuration finishes...
I've spent nearly like... 5 hours wasting my time on this trying to understand why/how it works the way it does, when I could have just written a sql script (which I will be doing...)
I just want to curl up in a corner for a bit after this experience...2 -
Please don't use the Django ORM in the view! Also don't use it in all the different layers your monolith might have.7
-
Does something like this exist in the NodeJS ecosystem:
- Reads js-based ORM model definitions (e.g. ones defined by sequelize.define())
- Syncs the database's tables with said model definitions without using migrations
I've built something like this and it seems revolutionary, but I wanna make sure I'm not reinventing the wheel.4 -
There are certain libraries that make complex tasks simple. Take Django's ORM. Dead simple to use. Until you get only 1k rows in your database, and suddenly each page view takes a minute.
Treat it with the respect it deserves. If you treat it like magic, it'll screw you. -
Save method returns true. No validations errors. Everything looks good, except that a boolean field that controls the record has been set to false from true...even though it wasn't in the objects changeset!
-
so they brought a senior engineer to our (very small) dev team. I feel like poking my eyes with a nail looking on his code.1
-
I thought I had to VARCHAR in non-SQLite RDBMS. I was wrong. There is TEXT.
1. PostGres seems to work better with TEXT.
2. There is an ORM that forces VARCHAR (255) by default.
3. But you can go over the limit without throwing errors.1 -
Guys, i am a beginner in networking. I want to create my own cloud computing server - (IAAS). Currently, I want to provide storage to the users.
How should i proceed.. Any site link or guidance? Thanks in advance.1 -
Can someone explain me how prisma ORM works? I just finished a course with nextjs that uses prisma. Prisma basiclly performed all crud operations on mongodb for example. I saw no usage or need for cloud providers (aws). No backend separation. Like literally all of it was done in fucking nextjs. Very efficiently coded but still how is this good? Please explain why not built a separate backend. Why do it like this11
-
OMG, I already need to decide if they need to have the data as referential (ActiveAndroid) or entity-based (Realm).
Why the crap doesn't the new project give me the functional requirements yet so that I can decide at a high-level? This is stressful. -
Recently created a simple nodeJS-mongodb backend for my android app. Is it bad practice to send a potentially big object with arrays to my front end ? I've been struggling implementing this alongside with an ORM because I can't store arrays in my sql ORM.4