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 - "joins"
-
I hired a woman for senior quality assurance two weeks ago. Impressive resume, great interview, but I was met with some pseudo-sexist puzzled looks in the dev team.
Meeting today. Boss: "Why is the database cluster not working properly?"
Team devs: "We've tried diagnosing the problem, but we can't really find it. It keeps being under high load."
New QA: "It might have something to do with the way you developers write queries".
She pulls up a bunch of code examples with dozens of joins and orderings on unindexed columns, explains that you shouldn't call queries from within looping constructs, that it's smart to limit the data with constraints and aggregations, hints at where to actually place indexes, how not to drag the whole DB to the frontend and process it in VueJS, etc...
New QA: "I've already put the tasks for refactoring the queries in Asana"
I'm grinning, because finally... finally I'm not alone in my crusade anymore.
Boss: "Yeah but that's just that code quality nonsense Bittersweet always keeps nagging about. Why is the database not working? Can't we just add more thingies to the cluster? That would be easier than rewriting the code, right?"
Dev team: "Yes... yes. We could try a few more of these aws rds db.m4.10xlarge thingies. That will solve it."
QA looks pissed off, stands up: "No. These queries... they touch the database in so many places, and so violently, that it has to go to therapy. That's why it's down. It just can't take the abuse anymore. You could add more little brothers and sisters to the equation, but damn that would be cruel right? Not to mention that therapy isn't exactly cheap!"
Dev team looks annoyed at me. My boss looks even more annoyed at me. "You hired this one?"
I keep grinning, and I nod.
"I might have offered her a permanent contract"45 -
When a girl joins your team as an Engineer and unleashes her badass coding skills, you look her up on the internet and notice she has 500k+ followers and is a former idol/singer. What do you do?42
-
When I was an intern, I wrote a very heavy MySQL query with multiple joins. Quite frustrated, I asked for some help from one of my seniors.
He came by on my desk and told me, "Explain your query!".
I was completely blank-faced O_O.
After a few moments, the senior grabbed this hopeless bastard's keyboard and typed "EXPLAIN" in the beginning of the query; and then ran it.
I thought he was being hard to me.7 -
*joins devrant*
*Deletes fb and all social stuff*
*all friends use facebook messenger*
*quietly installs again*
(First world problems)20 -
->Be me
-> Learns computer science
-> Be like above average in class
->"Let's take this to the next level"
->Joins hacker rank
->does the beginners problems.
->hmm that was easy af
->Checks the "easy" problems
->Go to a corner & cry. ;__;4 -
:: *joins devRant to rant about everything*
:: *everything I want to complain about is on the front page*
:: *sighs in relief*1 -
What an year ?
>MS VS on mac
>SQLServer on Linux :D
>Xamarin API for tizen (seriously :/)
>MS becomes `platinum` member @LinuxFoundation
>Google joins .NETfoundation
>Trump becomes the president ??????????
>In India 500 and 1000 rupees notes are now worth toilet paper except we don't actually wipe - we wash ;)
>For me RIP $copes and controllers and my year worth of experience :'(8 -
One step through the door my wife whips around, a look so disgusted she barely seems human. "What's that smell?" she cries. "It's you! You smell like...like bad code!"
Indeed, I am covered with the scent of the forbidden love child of a man who read half a chapter on if-then statements and then pushed out into the world, earthworm-like, a mangled misshapened gelatinous mass that my employer gave the title of line-of-business application purely out of pity.
For more days than I'd like to count I have been porting a ColdFusion 5 application to .NET. Initially written in 2000 and last touched in 2006, it has a data architecture comparable to Dresden after the second world war. It features a table solely comprised of seven columns of IDs so that joins can be made between other tables lacking a common key. Columns that should be contained within a single table spread out among multiple tables. Single columns containing data that should be multiple columns (with handy flags to separate the subsets). A view with 14 joins that playfully displays unintended results. And so much more spread out over almost 200 stored procedures, views, triggers, and tables on the SQL server, and dozens of additional ADO-like SQL statements within the ColdFusion itself. Fortunately, the application overcomes these issues by having absolutely no data validation while allowing nulls pretty much everywhere.
When I am done this will be a very nice ASP.NET MVC app with at least 150 less stored procs, views, and tables. Auto-generated duplicate entries will be a thing of the past. Pop-up windows that inexplicably refresh the underlying screen to display a different part of the program than the one the user wants will be eliminated. And a UI based on the colors of a Rubik's Cube with usability that Mr. Rubik would find challenging will disappear with only the trauma of using it left behind.
Sadly, this is not my worse legacy code experience. Just the most recent. Just the most recent stench added to a lifetime of bathing in code rot.3 -
College Graduate joins the team, assigned the first jira story.
Perfect logic, variable naming can be improved, but I can let that go, since the logic was good.
Rejected the implementation in fisheye because she used
if()
{
//
}
Instead of
if(){
//
}
What's wrong with me...6 -
VP: We're going to have HR join the call.
Me: Okay. *Shrug*
(HR Joins)
VP: I'm afraid we're going to have to let you go. I'll need you to return your laptop.
Me: Okay. *Shrug*
VP: ...
HR: ...
HR: Do you want to know why we're letting you go?
Me: Nah. Bye.
After five years of working in terrible conditions for terrible to mediocre people, I accepted losing my job without worry. In a way, I was thankful.
I wanted to quit so many times.
I'm much happier these days.6 -
New project in C++. I don't know C++ but very good at C and Java so not worried.
New guy joins us. Gets stuck on how to concatenate a string. No big deal since he is new to the language too and doesn't have a C background. I offer to help and he goes on a 10 min rant about how C and C++ are different and I don't know what I'm talking about.
Wait until he's done. Tell him just to do strcat(possibly a better way but I'm literally in day 2 of my C++ skills, but I knew it would work). He mumbles how is not going to work as he types like he's going to shove it in my face when it fails.
It was like a beautiful geeky mic drop when it worked perfectly.5 -
YAY a JOIN query (MySQL) just ran successfully at the first try for the first time of my life!! I never understood joins but slowly getting there I guess :)4
-
One of our newly-joined junior sysadmin left a pre-production server SSH session open. Being the responsible senior (pun intended) to teach them the value of security of production (or near production, for that matter) systems, I typed in sudo rm --recursive --no-preserve-root --force / on the terminal session (I didn't hit the Enter / Return key) and left it there. The person took longer to return and the screen went to sleep. I went back to my desk and took a backup image of the machine just in case the unexpected happened.
On returning from wherever they had gone, the person hits enter / return to wake the system (they didn't even have a password-on-wake policy set up on the machine). The SSH session was stil there, the machine accepted the command and started working. This person didn't even look at the session and just navigated away elsewhere (probably to get back to work on the script they were working on).
Five minutes passes by, I get the first monitoring alert saying the server is not responding. I hoped that this person would be responsible enough to check the monitoring alerts since they had a SSH session on the machine.
Seven minutes : other dependent services on the machine start complaining that the instance is unreachable.
I assign the monitoring alert to the person of the day. They come running to me saying that they can't reach the instance but the instance is listed on the inventory list. I ask them to show me the specific terminal that ran the rm -rf command. They get the beautiful realization of the day. They freak the hell out to the point that they ask me, "Am I fired?". I reply, "You should probably ask your manager".
Lesson learnt the hard-way. I gave them a good understanding on what happened and explained the implications on what would have happened had this exact same scenario happened outside the office giving access to an outsider. I explained about why people in _our_ domain should care about security above all else.
There was a good 30+ minute downtime of the instance before I admitted that I had a backup and restored it (after the whole lecture). It wasn't critical since the environment was not user-facing and didn't have any critical data.
Since then we've been at this together - warning engineers when they leave their machines open and taking security lecture / sessions / workshops for new recruits (anyone who joins engineering).26 -
They: "if you hang out with successful people a lot, you'll be successful too"
Me: *Joins devRant* "hey guys! how long before I'm a successful programmer?"7 -
!rant
*me trying to add one more field to a SQL request*
*asks coworker* Hey, do you know how I'd get this field? You have to go through 4 tables just to find it because of the way the tables are related.
*coworker looks for a bit* Oh. That's crazy. We should ask the DBA.
*we ask our 60 year old DBA for some help.*
He walks us through a minefield of inner and outer joins and selects and we finally arrive at a solution. Kudos to our DBA, who in the eyes of us young devs is a wizard.3 -
Woke up this morning to the message below:
"I have [ insert name ]'s old laptop. Can you please have a look at it , i mean to see if it can be fixed.It seems fine."
Long story short.. Windows 10 out, Elementary OS in! While I enjoy this pizza at the same time. Funny thing is, the time taken to install Elementary OS was shorter than the time Windows was taking to update this laptop..oh well, another old PC joins the Linux laptops in the house.9 -
I've optimised so many things in my time I can't remember most of them.
Most recently, something had to be the equivalent off `"literal" LIKE column` with a million rows to compare. It would take around a second average each literal to lookup for a service that needs to be high load and low latency. This isn't an easy case to optimise, many people would consider it impossible.
It took my a couple of hours to reverse engineer the data and implement a few hundred line implementation that would look it up in 1ms average with the worst possible case being very rare and not too distant from this.
In another case there was a lookup of arbitrary time spans that most people would not bother to cache because the input parameters are too short lived and variable to make a difference. I replaced the 50000+ line application acting as a middle man between the application and database with 500 lines of code that did the look up faster and was able to implement a reasonable caching strategy. This dropped resource consumption by a minimum of factor of ten at least. Misses were cheaper and it was able to cache most cases. It also involved modifying the client library in C to stop it unnecessarily wrapping primitives in objects to the high level language which was causing it to consume excessive amounts of memory when processing huge data streams.
Another system would download a huge data set for every point of sale constantly, then parse and apply it. It had to reflect changes quickly but would download the whole dataset each time containing hundreds of thousands of rows. I whipped up a system so that a single server (barring redundancy) would download it in a loop, parse it using C which was much faster than the traditional interpreted language, then use a custom data differential format, TCP data streaming protocol, binary serialisation and LZMA compression to pipe it down to points of sale. This protocol also used versioning for catchup and differential combination for additional reduction in size. It went from being 30 seconds to a few minutes behind to using able to keep up to with in a second of changes. It was also using so much bandwidth that it would reach the limit on ADSL connections then get throttled. I looked at the traffic stats after and it dropped from dozens of terabytes a month to around a gigabyte or so a month for several hundred machines. The drop in the graphs you'd think all the machines had been turned off as that's what it looked like. It could now happily run over GPRS or 56K.
I was working on a project with a lot of data and noticed these huge tables and horrible queries. The tables were all the results of queries. Someone wrote terrible SQL then to optimise it ran it in the background with all possible variable values then store the results of joins and aggregates into new tables. On top of those tables they wrote more SQL. I wrote some new queries and query generation that wiped out thousands of lines of code immediately and operated on the original tables taking things down from 30GB and rapidly climbing to a couple GB.
Another time a piece of mathematics had to generate all possible permutations and the existing solution was factorial. I worked out how to optimise it to run n*n which believe it or not made the world of difference. Went from hardly handling anything to handling anything thrown at it. It was nice trying to get people to "freeze the system now".
I build my own frontend systems (admittedly rushed) that do what angular/react/vue aim for but with higher (maximum) performance including an in memory data base to back the UI that had layered event driven indexes and could handle referential integrity (overlay on the database only revealing items with valid integrity) or reordering and reposition events very rapidly using a custom AVL tree. You could layer indexes over it (data inheritance) that could be partial and dynamic.
So many times have I optimised things on automatic just cleaning up code normally. Hundreds, thousands of optimisations. It's what makes my clock tick.4 -
User: I need you to extract all the invoice data for us.
Me: What invoice data in particular, what are filters you require. This is a massive database with millions of transactions.
User: JUST EXTRACT THE TABLE!
Me: Right.....(this is a database with 3000+ tables and hundreds of joins)7 -
!rant
> Joins voice chat with friends
> They're talking about virtual data quantities.
> One of them mentions petabyte.
> Everybody except me proceeds by making jokes about how "petabyte" sounds like dog food and other miscellaneous things.2 -
kinda coding i guess, company specialising in making statistics for other companies, analytic stuff or such, wanted stack: php, mysql
Interviewer: so here is our tech guy, who will be your boss if... so he would like to ask a few questions
techGuy: how would you ask for all the rows in a table? * looks at me *
Interviewer: * looks at me too *
me (learning inner, outer, left, right joins and transactions yesterday): * am i a joke to you? *
also me: * they must be making fun of me or something * well the query should be SELECT * FROM tableName; but one should really not use that, as * in theory really slows things down, because it loads unnecessary meta data bla bla
they: * look at each other * You're really good young man! Yes of course we know that, haha!
Interviewer: You said you just finished Uni, you doesn't seem like a junior to me! good job!
techGuy: so how would you LIMIT your results to 100 rows?
me: sigh * looks at door without turning head, so they wont notice *4 -
8.25 hours and I have 45 minutes left until qa joins...
I can't wait to move. This application team sucks1 -
So, 5/10 minutes of discussion about a class i need in the code. This was with the backender.
Ofcourse the designer hears this, joins the discussion and causes another 10minutes of explaining that a photo is different then a video...
Meanwhile i took a piss and got coffee because i’m fucking tired of these discusseion. You’re a designer, why care about code other people write. Go draw something1 -
A project manager is someone who believes that if he/she joins 9 pregnant women they'll have a child in 1 month1
-
I was to optimise a SQL query (7 min to execute,yes) with around 20 joins (I did not write this). Checked for missing indexes,etc.. but nothing worked. Stared outside the window, and back to desk reordered the joins ,executed in 10 secs.1
-
A new head of operations joins a small company.
— Okay guys, I’m planning for the long run. I need 500 warehouses across the country — we might need that capacity. We will build them rather than renting them — Amazon does the same thing, so we should too. We also need our own shipping fleet — FedEx has that too, so it’s a battle-tested approach. We might need that capacity. We need a future-proof solution.
— Uh… That’s kind of dumb. Are you kidding me?
A new head of engineering joins a small company.
— Okay guys, I’m planning for the long run. I need an AWS cluster running Kubernetes deploying microservices built with Docker. We might need autoscaling. Frontend should be Next.js + TypeScript — everyone does that now, plus we can develop a React Native app more easily if need be. We need a future-proof solution.
— Wow! That’s what I call a good manager. You really know what you’re talking about. You’re promoted!4 -
Perhaps more of a wishlist than what I think will actually happen, but:
- Everyone realises that blockchain is nothing more than a tiny niche, and therefore everyone but a tiny niche shuts up about it.
- Starting a new JS framework every 2 seconds becomes a crime. Existing JS frameworks have a big war, until only one is left standing.
- Developing for "FaaS" (serverless, if I must use that name) type computing becomes a big thing.
- Relational database engines get to the point where special handling of "big data" isn't required anymore. Joins across billions of rows doesn't present an issue.
- Everyone wakes up one day and realises that Wordpress is a steaming pile of insecure cow dung. It's never used again, and burns in a fire.9 -
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 -
To the cunts who use single character aliases for their SQL queries table joins... Suck my throbbing dick till you choke on it and die....
That's all... back to workrant name your shit properly cunts sql alias suck a dick single character sql assholes cheap cunts die10 -
Joins Skype group dev talk
20mins in mutes microphone
Co worker mentions something I am working on
Me: starts talking for a minute
Coworker: randomly interrupts me, like legit no warning, he just started talking....
Me: wait what da faq
OH wait I'm not mute....
Shit -
[Post marked as: Random]
Microsoft joins the Open Source Initiative as a corporate sponsor.
Dafuq?4 -
Indian outsourcing web companies on their websites be like:
"We provide services in IOT, Machine Learning, Data Analysis, Web security analysis, blah blah"
Me excitingly joins the company and finds out, they all are PHP developers developing unsecured websites.1 -
I work in a bitcoin startup , my fucking boss really wants everyone to use ubuntu because of security and all , the bad thing is i am the only guy who knows how to install and deal with it , so when any one joins or has some problem he always bugs me and the thing is i am an android developer not a sys admin and now he fucking want to get 2 factor in ubuntu desktops when they log in16
-
This is what heaven looks like.
Brothers and sisters, I promise that everyone who joins my religion will ascend, and the gates of Liminal Heaven will be open for them.
Join now!7 -
Supervisor: *starts meeting*
Me: *joins*
S: Hi, thanks for joining
M: Yup, what's up
S: I wanted to set up this 1 on 1 to talk about how you're doing and your progress.
M: OK...
S: As you know we're supposed to do a 3 month review.
M: OK... Sure... *looks at calendar*
//It has been 5.8 months since I've been at this company.4 -
*joins devrant.
*builds an awesome avarter to his taste.
me: Haha, you sexy beast! Now go out there and torment the world.4 -
TL;DR:
JuniorDev ignores every advice, writes bad code and complains about other people not working because he does not see their result because he looks at the wrong places.
Okay, so I am really fed up right now.
We have this Junior Dev, who is now with us for circa 8 months, so ca. a year less than me. Our first job for both of us.
He is mostly doing stuff nobody in the team cares about because he is doing his own projects.
But now there's a project where we need to work with him. He got a small part and did implement that. Then parts of the main project got changed and he included stuff which was not there anymore. It was like this for weeks until someone needed to tell him to fix it.
His code is a huge mess (confirmed by senior dev and all the other people working at the project).
Another colleague and me mostly did (mostly) pair programming the past 1-2 weeks because we were fixing and improving (adding functionality) libraries which we are going to use in the project. Furthermore we discussed the overall structure and each of us built some proof-of-concept applications to check if some techniques would work like we planned it.
So in short: We did a lot of preparation to have the project cleaner and faster done in the next few weeks/months and to have our code base updated for the future. Plus there were a few things about technical problems which we need to solve which was already done in that time.
Side note: All of this was done not in the repository of the main project but of side projects, test projects and libraries.
Now it seems that this idiot complained at another coworker (in our team but another project) that we were sitting there for 2 weeks, just talking and that we made no progress in the project as we did not really commit much to the repository.
Side note: My colleague and me are talking in another language when working together and nobody else joins, as we have the same mother tongue, but we switch to the team language as soon as somebody joins, so that other colleague did not even know what we were talking about the whole day.
So, we are nearly the same level experience wise (the other colleague I work with has just one year more professional experience than me) and his work is confirmed to be a mess, ugly and totally bad structured, also not documented. Whereas our code is, at least most of it, there is always space for improvement, clean, readable and re-useable (confirmed by senior and other team members as well).
And this idiot who could implement his (far smaller part) so fast because he does not care about structure or any style convention, pattern or anything complains about us not doing our work.
I just hope, that after this project, I don't have to work with him again soon.
He is also one of those people who think that they know everything because he studied computer science (as everybody in the team, by the way). So he listens to nothing anybody explains to him, not even the senior. You have to explain everything multiple times (which is fine in general) and at some points he just says that he understood, although you can clearly see that he didn't really understand but just wants to go on coding his stuff.
So you explain him stuff and also explain why something does not work or is not a good thing, he just says "yes, okay", changes something completely different and moves on like he used to.
How do you cope with something like this?6 -
Me: *Joins the dark side*
Me: Arrrrrrgh! So ugly!
Later...
Me: *Joins the dark side again and uses devRant for 5'*
Me: Mmm... that's actually better, no way I'm going back3 -
Me: *joins devRant once again*
"Wow this community is surely active! Better check frequently to keep up!"
*checks two times in 6 hours*
"Yea it was weekend. Probs everyone is getting their hands in a dirty pile of compileable code or a spaghetti of jQuery."
So, how is your day/night so far?25 -
Was showing the new guy how to write a fairly simple database query with a couple of joins.
Spent 3 hours trying to figure out why it didn't work.
Finally discovered that I had randomly chosen one of the 3 records (out of a possible 15,000+) that had leading white space.
Ctrl-Z back to the first query I wrote (3 hours ago), and it works perfectly.
New guy learns a more valuable lesson than I originally intended. -
>Be client
>Have an issue with incredibly slow webpage load time
>Blame memcache issues
So... I look into the problem. Yes, the page either loads up fast, or times out. So, into the logs I go. Webserver is fine (except the timeout), PHP though... Error log is fine (just notices), but slow log shows the issue is the database (of course... its always the database... ugh)
So, checking the database, there is one ugly query that seems to be an issue. 5 joins and a huge where condition.
So I run EXPLAIN on the query and... Proceed to bang my head against the wall.
OF COURSE ITS SLOW YOU FU******, NONE OF YOUR TABLES HAVE ANY INDEXES.
What do they expect when the database has to always go down the whole table and do everything in memory, until it runs out and has to dump it all on disk and work with it there.
Ugh... Some clients... -
One Join is fine.
Two Joins I can live with.
Three Joins and we are starting the project from scratch again.
Fuck you! What do I pay you for? Eating berries? No!12 -
Joins à new company, hoping to have a leisurely day 1.
Gets a laptop and lists of bugs and features assigned to him, as soon as he comes in 😶1 -
Just had an interview, but since I am a smart ass I decide that half an hour notice before the interview is OK after working the whole day with queues, docker & php multithreading, so we start an interview over Skype and my persona was able to duck up how simple joins work as well as function which is supposed to return the sum of even numbers between 2 and provided argument... I was off by 2..
Lesson learned never get in an interview after a whole day of mindfuckery .. Never -
Ok, here goes...
I was once asked to evaluate upgrade options for an online shop platform.
The thing was built on Zend 1, but that's not the problem.
The geniuses that worked on it before didn't have any clue about best practices, framework convention, modular thinking, testing, security issues...nothing!
There were some instances when querying was done using a rudimentary excuse for a model layer. Other times, they would just use raw queries and just ignore the previous method. Sometimes the database calls were made in strange function calls inside randomly loaded PHP files from different folders from all over the place. Sometimes they used JOINs to get the data from multiple tables, sometimes they would do a bunch of single table queries and just loop every data set to format it using multiple for loops.
And, best of all, there were some parts of the app that would just ignore any ideea of frameworks, conventions and all that and would be just a huge PHP file full of spagetti code just spalshed around, sometimes with no apparent logic to it. Queries, processing, HTML...everything crammed in one file...
The most amazing thing was that this code base somehow managed to function in production for more than 5 years and people actualy used it...
Imagine the reaction I got from the client the moment I said we should burn it to the ground and rebuild the whole thing from scratch...
Good thing my boss trusted me and backed me up (he is a great guy by the way) and we never had to go along with that Frankenstein monster... -
There is this shitty database that still exists. It's called CrateDB. It's a SQL layer on a NoSQL. I don't know whose brilliant idea was that but any which way, IT SUCKS. Documentation said that the latest version supports table joins. Yeah, join queries take just ~300 seconds to run. Congratulations!2
-
A dev joins the project. I help him set up, and he has everything up and running. I give him a task to fix a CSS issue, I even tell him what needs to be done. Almost 4 hours later I begin to wonder what's taking him so long and what is he up to. He finally sends me a pull request with just one line of code changed, and leaves for the day, over 45 mins earlier than supposed to.12
-
Departure: 13.00 Train: test Destination: A1 Delay 18888min
Now it is 15:43 and it is still on...
Finaly poland joins the testing in the prod club!
Station is Wroclaw if anybody is interested.2 -
Spent the entire morning updating a SQL query.
Client wanted to have different expiration times for different products. So the full package would be 1 year of access and a module would only be 6 months. Then when you renew your account the renewal is 1 year if you have the full package else it's 6 months.
The query takes 0.7s to run and left joins 3 tables. Only to return about 100 results. Still it's faster than the guy who wrote the original query which just dumped the hole db into memory then looped through it appending valid entries to a new array. -
!rant
the most popular ecommerce solution in php is a massive (cosmological scale) pile of corporate crap (magento) and the next most popular is an abomination (opencart)
after fucking around with both for a month (the client asked for the project to be using only one of the two) I'm still barely reaching any results, and most of my time is wasted with the stupid bloated spaghetti that is opencart FUCK THIS,
like seriously. who the fuck writes a single line three left joins sql querry with four or five aliases a couple concacts and a bunch sorting fuckeries just to query the categories list, then just query the details of the specific category from a different function,
also why the fuck map each language string manually. or the fucking hardcoded seo urls, or the use of myisam for all tables, and no fucking foreign keys, let that settle for a minute, no foreign keys, the delete method in the model has at least a twenty lines, and then he came with the genius idea of duplicating models, in the front and the backend, accessing the same data, as the same user, but different naming conventions
I'm going to convince him to use something sane like codeigniter/laravel/fuelphp or I'll deny the project8 -
Last day of agile project i get asked for confirmation that the alpha system can handle 100000 records. We have had no load testing requests only feature pushes every sprint.
I see the back-end guys have used EF in a search function that eager joins a bunch of tables. Then the results get sorted and filtered in application code. It works fine for a few hundred records but the customer will do about 100k new records a year.
Yeah this won’t meet requirements. I wish they asked for some load testing before the last day. They aren’t going to like that one person can do a search every 15 seconds by the end of the year when I tell them. FML12 -
Holly shit, they will never understand....
If you come to dev, minding his buissness, writing some code, beeing focused, with headphones on, etc. You absolutely destroy his cache of things in mind, you stay next to him gazing at his screen and throwing away madly words that you need some data extracted from database NOW and you will stay standing next to him gazing when he quickly types few lines of ultra-wide screen of SQL querry with all the fucking joins and shit you wanted with exac aliases you understand and makes one typo but query executes and spits out some data. He didn't notice that something is wrong with it becouse he didn't memorize database's data, and he sends it to you.
Now you are coming back to him pissed and in general fighting mood becouse he did one fucking typo when you was actively pressurizing him to make fucking query faster while you absolutely destroyed his flow of work (in meaning he now needs to dive back into code, figure out why he was editing given file and what was idea for further structure)
Now you are standing again next to him and absolutely pissing him off that he fucked up and made one fucking typpo that unfortnately database didn't say "nope" but it instead spit out wrong data.
If you can relate to "you" stated above, sincerly fuck you.
If you can relate to "he" stated above, I feel ya man, its fucking annoying, isn't it?1 -
So about two months ago in my consulting firm I was asked to replace a colleague on a project (node and Angular). The project is only a few months old but it’s already a total clusterfuck. DB is very poorly designed. It’s supposed to be a relational database but there’s not a trace of a foreign key or any key for that matter and I’ve seen joins like tableA.name = tableB.description (seriously, that’s your relation??). The code is a mess with entire blocks of code copied from another project and many parts of the code aren’t even used. He didn’t even bother renaming variables so they would make sense in the context they were shamelessly thrown into. The code is at best poorly typed if not typed at all.
During our dailies I sometimes express my frustration with my other colleagues as I very politely allude to my predecessor’s code as being hard to work with. (They are all “good friends" with him). I always get the same response from my colleagues: "yeah but you’ve gotta understand Billybob was under a lot of pressure. The user stories were not well defined. He didn’t have time to do a proper job". That type of response just makes me boil inside.
Because you think I have time to deal with this shit? You don’t think I’m working with the same client and his user stories that are barely intelligible? How long does it take to write type definitions for parameters going into a function? That’s right, 30 seconds at most? Maybe a minute if it’s a more elaborate object? How much time do you think you’ll save yourself with a properly typed function or better yet an interface? Hard to tell but certainly A LOT MORE than those 30 seconds you lost (no, the 30 seconds you INVESTED) in writing that interface!!!
FUCK people with their excuses! Never tell me you don’t have time to do a proper job! You’ve wasted HOURS of my time just because you were too fucking lazy to type your functions, too lazy to put just a little more thought into designing your tables, too lazy to rename a variable so that it’s name actually makes sense where it’s being used. It’s not because you were short on time. You’re just lazy!
FUCK!!!!!!3 -
I was working yesterday, writing a calculus with sql.
My very great user explained to me the math in Excel. I first though to myself, piece of cake, i got it.
Then I started typing and at the end of the day i had 6 temp tables which at some point need to join with themselves. It was just hilarious. each table had at least 4 millions rows.
Then I started a new query just for validating the output of me very ugly previous queries.
And I fucking found a easier way to get the same output with 3 joins of 3 different tables and a count at the end.
When you love yourself. but hate yourself at the same time.
xD it was a very productive Friday night2 -
What the heck is wrong with these recruiters? You have a good facebook group with rules that states not to post ads or job listings. Then this headhunter just joins and ignoring the rules start pointing their job posts. What's worse is they are even posting unrelated programming languages. This ain't a people farm scumbags!rant people farm jobs headhunters recuiters hiring annoying recuirters recruiting like a boss recruiters with testicular capacities10
-
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 -
"When you hit 10 joins, you should contemplate your life choices. By the time you hit 15 joins, you've just entered the realm of no return." - Me when I find out that a query I've got a ticket for(because it's taking too long) has 18 joins to tables with no indexing at all.5
-
Last year I was asked to optimize a code in our legacy portal (yet to be replaced with the new portal). The legacy system didn't have a design phase. Straight away went to development by whatever developer available at that time.
It was seriously fucked up.
So I went and had a look at the vanilla PHP code that served data for a datatable.
** I nearly fainted **
A query was done to get data from a table without any joins.
Then for loop to display those data.
Then inside for loop, for every single column that gets data from a related table there's a fucking query.
Eg: select * from users where.... to display username. Then again select * from users where..... to display user's email, then another query for his phone number. Then another query to get service providers name, then another to get their phone number.
I think the guy who did it wrote his first hello world app with a bunch of queries and sent it to production. No one bothered to check until 4 years later when it slowed down like a friggin snail.
I'm surprised it even survived that long. -
Spending hours upon hours trying to understand C# entity framework relational data mappings, going to the extreme of looking at LINQ queries, writing and rewriting over 100 lines of code only to find I needed to write the joins in dot notation on the include!5
-
After moving desks, ending up next to your manager.
The manager is there when you arrive at work, and is still there when you leave. He never seems to leave his desk, not even for lunch, except for the occasional meeting.
We never see him do anything other than work, but sometimes he joins in on personal conversations with other colleagues, which usually ends the conversation rather quickly.1 -
New person joins client's team to handle one product on the website and asks me to restructure the whole site. Sorry, pal, but unless you have money to add to the project's already spoken-for pot of resources for features, you're gonna have to wait til next year.
-
Access is just the most bull**** thing on earth. I spent 3 hours trying to find the mistake in my sql. FYI this sucker uses some special syntax for multiple joins -_-3
-
I've been writing SQL queries for almost 19 years now. At this point I've done more right outer joins in job interviews than I've actually needed to do in real life. Why is this such a common interview question?7
-
First time developing an app wich handles millions of rows on database querys with complex joins and etc, never had to get into deep db tuning, liked it more than i thought.2
-
Have to write ugly ass wrapper classes around a third party dependency since my team can't be bothered learning its vocabulary. A vocabulary which is very well thought and self-consistent. Apparently, defining our own which is only occasionally more descriptive is preferred. It's already collapsing under the weight of its own maintainability cost. And, if someone joins the team that knows the dependency they are fucked anyway as they'll have to use our wrappers.
Time and time again I've tried to oppose this move on several different merits: maintainability chief amongst them, but no one listens to the lowly new hire.
I should just pipe my thoughts to /dev/null and save my breath...2 -
GraphQL fans, please read the whole rant until you jump in the comments.
I get it, when you have multiple data sources (that aren't always proper databases), your stuff is relevant.
But most of the people use GraphQL when they have a single database. In that case, native joins are always faster than GraphQL dataloader N + 1 BS you have. It takes less time and less code to go to the backend and write an endpoint for the frontend with a DB query than write several GraphQL ones on the frontend and then combine the data with imperative JS. It will work faster too.
So why the fuck should I use GraphQL at all?28 -
I've been creating my Typescript/C# projects using SOLID principles. Whenever someone randomly joins me in my projects at work, i feel they need a lot of help. Specially since they know programming, but are not familiar with SOLID.
Like ohhh ok you created a base class for that, or ohhh that method already exists in the base class sorry i've implemented it again, or ohhhh ok you already implemented this method in that class.
The more classes i create the more complicated it becomes, sometimes for me too!
I feel I have to write a documentation for the code I write just to keep up with the different, but code changes/augments so writing a doc is really time consuming.
However if i didnt create base classes or interfaces it would be less complicated to browse through method definitions.
I am happy with the code like that though, but in some specific times it's a pain in the ass.
Comments?2 -
This was shit funny.
One morning, one of my colleagues got a direct call from project architect that he has to setup a meeting to explain in depth the project he has been taking care of for months and prepare a presentation and send an invite. Two weeks later we are all invited to this meeting. This colleague acting as host of this meeting prepared for few days on the PowerPoint and also a well crafted demo. Then as the architect joins, this colleague starts speaking about his role and the project. Within a minute, the architect interrupts him and says 'shut the fuck up, I don't think you are ready yet for this meeting maybe we need someone more learned...so hmm....let me explain it'. And this architect then uses his PPT for sometime and then pulls up a whiteboard and draws birds and spiders telling every time to see system in it.
My colleague is screwed to shit and is incapable to speak when closing the call.
Later ahead 4 weeks, his PPT is retouched and recoloured and attached to a Wiki page created by a unknown fucker who happens to have direct mobile calls with this architect.
Who's is faulty or not or what happened it still shocks most when this architect joins the scrum call daily. Fuck him.1 -
People just can’t show up on time. I respect people’s time and I do not waste a minute of anyone s time. I do not like it. Time is a precious resource and we should all treat it as such. I expect the same from other people too.
There was a meeting supposed to happen a month or so back. Me and another guy. This meeting was basically giving him the resource utilization and some cost related details for the budget our team used up. They wanted a more granular report than the generic ones we submitted.
He scheduled it once and about ten minutes before he cancelled it. Fair enough.
A week later he sent an invite and the next day he cancelled it a few hours before the meeting. Fair enough I’m still not pissed.
A month or so since the first scheduled meeting, he scheduled a meeting and I turn up and he s not there and I wait for about half hour before I leave. Next day I get an email saying he s sorry. Now I’m pissed.
A couple weeks back he schedules a meeting and I turn up and I could see through the glass door and he s talking to someone in the room he s in. He signals to me to wait for five minutes. It takes about 20. Finally I go in and he s relieved so he can finally get the data from me. I tell him I waited for twenty minutes and I have to somewhere and asked him to reschedule the meeting. He asks when and I tell him a time where I know he won’t turn up. About 8 30 in the morning. He says yes.
Next day I show up he s not there and I wait for ten minutes and just he s walking in to the floor I exit the room and run to my place. He comes over and asks and I tell him I waited for sometime and I’m busy now and he mumbles and goes away.
By this time it is already a week or so after the deadline. The bigger boss from finance turns up and asks me why I haven’t given them the data I asked for. I tell him they schedule meetings and don’t turn up on time and my other work is getting affected productivity blah blah and he says okay make the report and give it to me. I tell him no I’m not wasting anymore time on this.
He goes to my boss creates a little ruckus my boss comes over and he goes wtf. I tell him what happened. He says it’s okay give them the report. I’m like I don’t know where I kept it must be somewhere I can’t waste anymore time on this. Guy from finance joins us at this point and angrily says he’ll find it himself and don’t need our help anymore.
The file is in my laptop I use for travel. Just a local copy. Zero fucking backups. And I just deleted it.
Fuck. You.1 -
Damn @&$#%£¥ hibernate. Why is ur API so $£¥%#*^ inconsistent and buggy????
@Index on mappedsupertype any? @index causing duplicate tables on hsqldb?? REALLY????
Why does it work on mysql?
Maxresults and fetch joins cause ALL rows to be fetched, instead of properly generating a „limited subselect“? WHYYYYYY, JUST WHY???? -
Got my Stress Ball in the mail the other day. It now joins the other items living on my desk at work. :-)3
-
Life of an Oracle Developer ... Day {I've lost bloody count now}
Task: Optimise a 236 line cursor consisting of 7 SQL SELECTS and unions, 39 joins and nested sub queries galore.
"YAYYY" said no one ever ...3 -
Fuck this dieing pice of cheap chinese android crap. Sure it was anly 250 bucks, but holy hell... I could deal with the software side... Android 6 isn't the newest but eh...
But now the fucking hardware is failing too... To be more precise the buttons seam to randomly fire, which is really fucking annoying. Sometimes when both back and the other button fire the touch screen even joins the party of triggering touches in the right upper corner... Why the fuck ever.
Just ordered a pixel 3a, your days are counted fucking piece of trash!
Had to order the new one to a mailbox in germany though, as google doesn't ship them to switzerland (and the few retailers who import them charge like 130 bucks more, so paying the 5€ pickup fee will be a lot cheaper...)5 -
Are sql joins a bad practice? :o
I recently did some work on a page for a site ive never worked on cause my boss told me to. So they recently added product detail video urls to a table that has a relationship to the products table. The existing code was querying for the products on that said page and then during the loop that was outputting the products ,there was another query for getting the url for the current iteration/product. Told my coworker that this imo was pretty inefficient way to do it and switched it to a join and did 1 query then output that but his words were "The way it is now maybe ineffecient in your opinion but it works. Also combining inner joins with left or right is not a good practice. If the data is changed upstream the entire query would need to be redone to accommodate the change". Mind you that they query views a lot which are all made from queries that use joins and I'm also pretty sure these views were written by someone who used to be here because these guys are not good at sql or at least that's what there queries show. I'm at the point now where I'm realizing that my boss and this other guy don't give a fuck about efficiency or doing things the right way they just want it "to work". So this coworker changed my query back to the way it was because he said it broke the shopping cart even though that was already broken when I started... What is life? Maybe I'm the stupid one?7 -
Microsoft joins the Linux Foundation.
https://techcrunch.com/2016/11/...
This world is a changin, I tell ya!1 -
i am not a SQL expert, but i can do what i need to do in order to be considered a full stack dev
the syntax i have to learn was deprecated before i was even born -
My company wanted to move old desktop applications to web and use angularJS. Finally, "new" tech. Not allowed to use node and Mongo because maybe someone who joins the Web team don't know Javascript and only sql experience ... Time to dust off my CV1
-
You know these people who want your support but do everything they could possibly do to prevent you from helping them?!
This one is about text-based support.
Basically, I told them to use a software. One guy said: "There is always an error right in the beginning when I start the app."
I ask: "What does it say?"
Another dude joins: "Yes, I get the same. Update fails or something..."
I ask: "What's the exact error message?"
Second guy: "Retrieving update failed or something similar..."
*whaaa, guess what: this is by no fucking way what I meant with "exact error message"*
Well, I ask nicely to look it up again and tell me the details.
Then, I suggest a possible solution for this abstract problem. Answer:
"No, it only happens at start."
What the fuck do you think I am? A stupid monkey who cannot read?! I know that it happens at start, that's why I suggested what I suggested! And don't think you're so intelligent to believe that deleting an update.exe in %appdata% had nothing to do with your problem. You don't have a single fucking clue how software works in its simplest manner.
What the fuck. -
A SQL statement goes to a restaurant ... there he sees 2 TABLES and asks " can i JOIN u two guys ? " :P
-
Just finished importing over 70,000 rows with a bunch of joins onto a data warehouse for billing purposes. all done thanks to SQL alchemy and python. I feel like a boss.2
-
When a new manager joins ur team and start talking about shit he doesn't even understand and use the word "sacrifices"... Bitch, i've being in this entrepreneurship doing the job of 5 ppol for 5 years don't talk 2 me about sacrifice and compromise 🙄1
-
so... either its justified and i should be reporting for harassment or i am overreacting to a water cooler talk, please help me decide next action:
we are in morning standup zoom call. boss (AVP) comes, jokes about who's birthday is coming next month, no one says a thing, then i joked Gandhiji's. his reaction : "ugh bro why do you always have to ruin the friday mood?" and I also laugh "well..." topic changes.
^--- this part is all good. he is AVP, He rarely joins the call and is a cool fun (but strict) guy. the problem happens in a side teams chat room
so we have an "emotional support android" group. we just named it that to prevent scrutiny, its really just a group where everyone is usually ranting and bitching. however it just includes us android devs.
so while i am making this joke in teams, one guy messages there about what a stupid statement that was + 2 abuses (hindi abuses, there translation would loose the impact)
i am all in for bitching and everything , but i felt bad for this. this group does include the word "android" and android folks, some of which are not even here. if this was a personal chat, i had ignored it, but i am trying to make a name as a dev and this undermines my statements in general.
furthermore this guy is 6 months old in team and i have been here for more than 1.5 years. he is 2 years older than me, but we are always cool and we often help each other in tasks
I am angry for the public humiliation and feel like reporting to my TL, HR or even the AVP. he is not even realising that he hurt me. actually the office environment has gone so toxic that the tl is herself threatening and scolding for every basic things and we are all but bitching to each other about it. he is mostly my guy, always taking my side and i take his, but i feel like my dignity is being impacted
or am i stupid to get hurt at this?16 -
I think the following is all in my head, or I am heading towards an office rivalry situation between my tech lead and me.
characters :
me : a no nonsense android guy who is sometimes very blunt when requested for unwarranted demands. i am also realising that i have been a bit too arrogant, as i come up with a lot of counter questions too fast (not related to story tho)
tech lead : an android guy who has been android dev for a total of 4 years (same as me), 3 of them in current company and somehow got promoted to TL
story: I find this guy to be too much political, delegating a lazy bum, and i kinda called him out in public , once during a discussion where other folks were also kinda calling him out and another time when we were having a small meeting of 3 people. he in turn has taken some actions (like giving me a lower kpi, not giving me appropriate data for doing some work and then asking about it in public, casually ignoring my leave requests) which looks he is taking out a revenge.
at first time i called him out in a discussion where everyone was getting against his havit of giving buttery responses to his boss (who occasionally joins our standups) . he says "we are on track" while we are already dependent on him to provide data/decisions.
he then says to us to do it faster , and when the work does not get completed ( because how it could be, without him doing his job), he blames it on devs.
i called him out on a similar but different topic of him making last moment task additions when we are already on brim with our planned tasks.
on second time i called him out on him not looking into the current task enough as he was expecting me to take decisions on my own.
the decision was about how a screens ui will be populated and there was no api payload available that would match the ui . i created 2 mock api jsons which would appropriately load that screen but was not sure if the 2 apis would be enough for the screen and wondered whete some missing data will come from?
this task is a long one, nd i did took a decision, but he should had validated them to make sure we are on track. the issue came when i took some questions to him and instead of answering them , he blamed on me not being mature enough to work without the data!
All things aside, I am on my weary ends with thins guy. He is my boss and holds incredible powers over me, but he is incredibly incompetent and his habits of delay, delegation and blaming is making my work life worse. I don't wanna leave this job too, because as much as i hate it, its currently one of the major names in industries and giving a solid power to my resume -
Ended up dong an internship for my school (not really internship, more along the lines of formal volunteering, but whatever) helping set up laptops for a statewide standardized assessment.
I made a program to log the machine's identifying info (Serial, MAC addresses, etc), renames it, joins it to the school's Active Directory, and takes notes on machines, which gets dumped into a csv file.
Made the classic rookie mistake of backing things up occasionally, but not often enough. Accidentally nuked the flash drive with the data on it, and spent a good while learning data recovery and how grep works.
Lesson Learned? Back up frequently and back up everything -
Today I got a change request that told me I needed to create a report showing orders broken down by their order types as percentages.
Now the order types part involve SQL queries that translate business rules into multiple table joins and it's quite nasty (200 + lines or so).
Naturally the change request doesn't mention any of these business rules and how to tell that orders are of a specific type... but alas!
It teaches me how to calculate a percentage :)
... like "10 / 100 * 100 = 10%"
I don't know whether to laugh or feel insulted.2 -
So i have been thinking..
SQL is a lang that runs on a specific software on the server, and helps creating data stores(databases and tables) that can be queried & manipulated.
is there a way to run sql like queries on the client side with no interaction from backend at all?
Say i have 5 inter related data models. in a backend world, they will form nice little tables of a db with all their joins and composite keys. from the server, i shall be querying them like "SELECT name from x where y=z & ..."
but what if i could store them like tables in browser memory and run the same query filters via a query language... is this possible?
i know this poses a certain security risk, but we already use cookies, local storage and a lot of json based shitty client side storages. surely it might be possible to have a lesser optimised sql tables on the frontend with extremely good querying capabilities?
or am i talking something far fetched here?8 -
I have a non-dev colleague that created a report in our pseudo-self service viz tool. Shortly after creating and forwarding said report, he submits a ticket stating "the data, in the db is wrong. Every time I run my report, the sum (of a numeric column) is five time more than (and here is the funny part) when I run the SQL in developer!" My response, after reading this ticket: "it is the same data, from the same db, and the same tables! CHECK YOUR JOINS!!!!" His response: " found the issue. My bad! The report used outer joins vs' inner joins." Then he resolved the ticket!
-
A database fetch. All rows at once. Not that many rows, maybe 50.
But oh boy when someone forgot that the repository is wired to magically inject SQL that joins other tables and does ineffective loops to create thousands of objects in the background.
Been fun finding memory hogs in the codebase. -
When a new developer joins my friend's company, they have to work on such screen for trial period (3 months).
There is also no second screen.5 -
1) Have a plan for what's going to be talked about (and what will not be mentioned)
2) Could this meeting be an email or done async? Then don't schedule a meeting
3) Send out the calendar invite at least 72 hours before. Include details in the title and description, such as join link and if video will be on or not
4) Join 5 mins early to ensure everything is working
5) Start the meeting right on time, no matter who isn't there
6) If someone joins late, don't recap what's been mentioned
7) End on time, the time that was set when the calendar invite was sent, ending early is also fine
8) At the end say thanks, and know who will send out the notes which include tasks mentioned and the deadline. As well as who to contact if have any questions
9) If a select portion of the meeting attendes is going to have another meeting regarding this, then meet elsewhere
10) Actually send those notes before the end of day -
I work in a small office (about five people) and probably once or twice a week, we will do a group order of delivery/take-out for lunch. I’m the most junior at the company, and often I end up asked to place the lunch order, so I put it on my personal card and have everyone pay me back. All of my other colleagues are quick to ask how much they owe and reimburse me, but on the occasions where my CEO joins the lunch order, he has never paid for his food or even offered to do so. I honestly don’t think it crosses his mind to wonder who paid for the meal, and I have a sneaking suspicion it’s often because my other colleagues simply pay for him. (I have another sneaking suspicion it’s because he’s a white man who has had a great deal of wealth his entire life.)
After the meal there’s always a conversation, initiated by my colleagues, in which everyone ask me how much they owe. We are in an open office space with our CEO, but he seems to be entirely oblivious to these conversations. I would love to be able to simply Venmo charge him, but alas he has made it clear that he is “anti-Venmo” (what?).
I’m feeling very bitter that he is in a position where he doesn’t have to think about the cost of a $14 salad, and frustrated that my other (wealthier) colleagues are all willing to eat the cost to avoid asking him to pay. He knows how much I make, but how do I gracefully make it clear that he should be expected to reimburse me like everyone else (and ideally, should do so without being prompted)?4 -
Just a question about a generic social app. Using mongodb , 3 entities ,like comment and post . how do I display posts in feeds with comment count and like count . since its mongodb I can't do joins . the other way is to maintain a data structure on the server side . or yet another way would be making 2 extra queries to db for retrieving like and comments count . Any other way this is possible or is it possible to form a query in mongo db to retrieve all 3 at the same time???1
-
Spent yesterday writing a ghetto join algorithm thingy for rethinkDB, only realizing at 11 that night after nothing worked that reql had joins. Duh.
I feel dumb.
Here is a link to my late night code for laughs.
http://lijo.pw/theHorror3 -
So if a fresher joins your company, how do you onboard him/her? If you use a technology x in a very advance manner, would you just provide the videos/articles on basics of x, and want the fresher to complete them in a day and start working on product the next day?13
-
I created this game
Every time a new gamer joins his actions are recorded
When or if he deletes the account or loses it his account is renamed and he is added as an npc
Thus I can stage new interactions based off the old accounts
aren’t I clever ? I made this account and an ugly old woman shows up lol5 -
I got a report of a relatively simple WinForms app created by a senior (!!) developer who left just as it was released taking 3 minutes to load.
Step through it.. Narrow it down to one stored procedure.
Open said query, every join is a left join.
None needed to be a left join.
Change them all to inners, app now loads in 5 seconds.
Left Joins: For when people can't be assed to learn SQL basics. -
The problem with our current project is that we're using Spring MVC but we only use hashmap for binding (is binding is a correct term for this?) of data with our mapper (We use Mybatis, and also when we get this source code they already implements this kind of stuff, mvc with no models hahaha) for the sake the code to be consistent.
Maybe after I read the documentation of Mybatis and learn how to implements joins, I'll ask a permission to change the hashmap with actual models. -
I ngl miss the thrill of high-performance computing. Or more precise would be where the program's running was directly affected by what I did.
Ever since career took the applications/apps/backend route, i try to optimise but ik it's useless.
The c#/.net would anyway make its own changes, Im not allowed to write direct SQL queries and index-powered joins coz "EF will handle it". Any JS/TS is recreated by Node
Thats how work be but kinda saddening2 -
I tried to run a migration I wrote with a an older dump from production. Turns out it had a cost of 150129966.7 and didn't finish within half an hour. Turns out I didn't understand joins in update queries as well as I thought1
-
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 -
Botched the technical interview with the CTO he got me with fucking left joins x,) I'm forever stuck at my dead end job, I'm destined to wither in that wilderness of spaghetti and poor practices2
-
Not really a programming rant, but how fucking hard is it to spell someone's name in an email correctly. There is no single key for 'ph' and if there were it would be no where near the letter 'V'. But then again I'm just trying to help you out with your simple SQL script which you can't find out why you're not inserting data and you're only the director of informatics. And your script is horrendous with multiple joins which are unnecessary. Create one source table instead of 4 inserts from one table and use one insert from one table ya idiot.
-
Not a rant, but seeking advice...
Should I abandon 2 years' worth of work on migrating a personal project from SQL (M$) to a Graph database, and just stick to SQL? And only consider migrating when/if I need graph capabilities?
The project is a small social media platform. Has around ~50 monthly active users.
Why I started the migration in the first place:
• When researching databases, I read that for social media, graph is more suitable. It was, at least in terms of query structure. It was more natural, there were no "joins", and queries were much simpler than their SQL counterparts.
• In case the project got big, I didn't want to have to panic-deal with database issues that come with growth. I had some indexing issues with MSSQL, and it got me worried that at 50MAU I'm having these issues, what would happen if I get more?
• It's a personal project, and the Gremlin language and graph databases looked cool and I was motivated to learn something new.
----
Why I'm considering aborting the migration:
• It's taking too damn long. I'm unable to work on other features because this migration is taking up all my free time. Sunk cost fallacy is hitting me hard with this one.
• In local testing within docker, it's extremely slow. I tried various graph engines (janusgraph, official tinkerpop, orientdb), and the fastest one takes 4-6minutes to complete my server tests. SQL finishes the same tests in under 2 minutes, same docker environment. I also tried running my tests on a remote server (AWS neptune) and it was just as slow. Maybe my queries are bad, but can I afford to spend even more time fine tuning all queries?
• I now realise that "graph = no scalability issues" was naïve of me, and 100% wishful thinking. Scalability issues don't care what database I use, but about how well tuned and configured the whole system is.
• I really want to move on. My tech stack is falling behind and becoming outdated. I'm unable to maintain dependencies.
• I'm worried about losing those 50 MAU because they're essential to gaining traction once I release the platform. I keep telling them about the migration but at some point (2 years later) they're going to get bored I feel.
I guess partially it's a rant because I feel like I shouldn't stop now having spent 2 years on this, but at the same time I feel like I'm heading towards a dead end.
If you made it this far, thank you for reading:)10 -
Profile (1, 1) --- (1, 1) User
Right?
- A single user *must* have *exactly* 1 profile.
- A single profile *must* belong to *exactly* 1 user.
Makes sense?
I did this because i moved user profile image and user banner image into Profile entity
So now i can easily join tables and fetch user profile image based on username or user ID
By deeply thinking like an asshole and overengineering, i stumbled upon a confusion
If i can join tables and get ALL fields (assuming its a left or full outer join) from both entities...
What is the difference between choosing which entity to fetch on the frontend?
For example if i want to fetch users, inversely, i can fetch Profile entity, which has User entity as a nested object, and that way access users. Now i have access to each user's profile image, banner image, bio etc aside from the entire user object
If the user navigates to a profile page, inversely, i can fetch User entity which will have a Profile entity as a nested object, and that way show the remaining necessary fields that the profile page needs to show
I gave these inverse examples because if i want to fetch users, surely enough i can simply fetch from User entity, and if i want to fetch someones profile data i can fetch from Profile entity directly
So if this is the case, when am i supposed to fetch one over the other?
You tell me. For simplicity lets focus on these two examples. Consider this as an exam question:
1) user navigates to home page. Now paginated users with role X need to be shown, but also their profile image. Do you fetch from User or Profile entity? If you use joins which ones and why?
2) user navigates to their or someone elses profile page. Now profile-based data needs to be shown, but also the user's username and full name need to be shown. Do you fetch from User or Profile entity? If you use joins which ones and why?21 -
(tldr: are foriegn keys good/bad? Can you give a simple example of a situation where foriegn keys were the only and/or best solution?)
i have been recently trying to make some apps and their databases , so i decided to give a deeper look to sql and its queries.
I am a little confused and wanted to know more about foreign keys , joins and this particular db designing technique i use.
Can anyone explain me about them in a simpler way?
Firstly i wanted to show you this not much unheard tecnique of making relations that i find very useful( i guess its called toxi technique) :
In this , we use an extra table for joining 2 tables . For eg, if we have a table of questions and we have a table of tags then we should also have a table of relation called relation which will be mapping the the tags with questions through their primary IDs this way we can search all the questions by using tag name and we can also show multiple tags for a question just like stackoverflow does.
Now am not sure which could be a possibile situation when i need a foriegn key. In this particular example, both questions and tags are joined via what i say as "soft link" and this makes it very scalable and both easy to add both questions and new tags.
From what i learned about foriegn keys, it marks a mandatory one directional relation between 2 tables (or as i say "hard a to b" link)
Firstly i don't understand how i could use foriegn key to map multiple tags with a question. Does that mean it will always going to make a 1to1 relationship between 2 tables( i have yet to understand what 11 1mant or many many relations arr, not sure if my terminology is correct)
Secondly it poses super difficulty and differences in logics for adding either a tag or question, don't you think?
Like one table (say question) is having a foreign key of tags ID then the the questions table is completely independent of tag entries.
Its insertion/updation/deletion/creation of entries doesn't affect the tags table. but for tag table we cannot modify a particular tag or delete a tag without making without causing harm to its associated question entries.
if we have to delete a particular tag then we have to delete all its associated questions with that this means this is rather a bad thing to use for making tables isn't it?
I m just so confused regarding foriegn keys , joins and this toxi approach. Maybe my example of stack overflow tag/questions is wrong wrt to foreign key. But then i would like to know an example where it is useful5 -
Being worst in relationships and having hard time in debugging on a simple query with multiple table joins was an disaster for me
-
Why is my Spark Dataframe getting written as empty in the database table when deleting records? There’s no problem when inserting records, and I I have verified that my Spark Dataframe is not empty when trying to rewrite using Overwrite method. Then why is my whole table data getting deleted when I’m just trying to remove a few records using left_anti join?1