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 - "relational"
-
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
Nobody:
Senior frontend Dev at my company: "microservices best thing ever"
Also him: "Relational databases gonna die"
Also him (talking to the DB team): "You're gonna dissapear, Mongo is the future"
Me: "Eh... Dude, Mongo is still a database.."
Him: "Microservices"
Send help...27 -
Discovered one of the worst db designs ever:
- A cust is inserted in a table.
- The insert trigger is fired, calling a stored proc
- The stored proc being called creates a dynamic sql that builds a create table statement for 8 different tables. These tables will be postfixed with the newly-created cust id and is executed.
When querying info for a cust, a stored proc is used that accepts an id value would be appended to another dynamic sql that creates a select statement across all 8 tables for one customer.
Shoot me now.10 -
Still trying to get good.
The requirements are forever shifting, and so do the applied paradigms.
I think the first layer is learning about each paradigm.
You learn 5-10 languages/technologies, get a feeling for procedural/functional/OOP programming. You mess around with some electronics engineering, write a bit of assembly. You write an ugly GTK program, an Android todo app, check how OpenGL works. You learn about relational models, about graph databases, time series storage and key value caches. You learn about networking and protocols. You void the warranty of all the devices in your house at some point. You develop preferences for languages and systems. For certain periods of time, you even become an insufferable fanboy who claims that all databases should be replaced by MongoDB, or all applications should be written in C# -- no exceptions in your mind are possible, because you found the Perfect Thing. Temporarily.
Eventually, you get to the second layer: Instead of being a champion for a single cause, you start to see patterns of applicability.
You might have grown to prefer serverless microservice architectures driven by pub/sub event busses, but realize that some MVC framework is probably more suitable for a 5-employee company. You realize that development is not just about picking the best language and best architecture -- It's about pros and cons for every situation. You start to value consistency over hard rules. You realize that even respected books about computer science can sometimes contain lies -- or represent solutions which are only applicable to "spherical cows in a vacuum".
Then you get to the third layer: Which is about orchestrating migrations between paradigms without creating a bigger mess.
Your company started with a tiny MVC webshop written in PHP. There are now 300 employees and a few million lines of code, the framework more often gets in the way than it helps, the database is terribly strained. Big rewrite? Gradual refactor? Introduce new languages within the company or stick with what people know? Educate people about paradigms which might be more suitable, but which will feel unfamiliar? What leads to a better product, someone who is experienced with PHP, or someone just learning to use Typescript?
All that theoretical knowledge about superior paradigms won't help you now -- No clean slates! You have to build a skyscraper city to replace a swamp village while keeping the economy running, together with builders who have no clue what concrete even looks like. You might think "I'll throw my superior engineering against this, no harm done if it doesn't stick", but 9 out of 10 times that will just end in a mix of concrete rubble, corpses and mud.
I think I'm somewhere between 2 and 3.
I think I have most of the important knowledge about a wide array of languages, technologies and architectures.
I think I know how to come to a conclusion about what to use in which scenario -- most of the time.
But dealing with a giant legacy mess, transforming things into something better, without creating an ugly amalgamation of old and new systems blended together into an even bigger abomination? Nah, I don't think I'm fully there yet.8 -
I've found sites like Udemy/Khanacademy/Codecademy/Brilliant/Edx to be very useful — possibly more useful than expensive education.
But they still need:
1. Better correction/update mechanisms. Human teachers make mistakes and material gets outdated, and while online teachers are rectified faster than classroom teachers, the procedure is still not optimal. Knowledge should be a bit more like a verified wiki.
2. Some have great interactive coding environments, some have great videos, some have awesome texts, some have helpful communities. None has it all. In the end, I don't want to learn a new language by writing code in my browser. It could all be integrated/synced to the point where IDEs have plugins which are synced to online videos, with tests and exercises built in, up to a social network where you could send snippets for review and add reviews to other people's code.
3. Accreditation. Some platforms offer this against payment, but I think those platforms often feel very old school (pun intended), with fixed schedules, marks and enrollments. Self paced is a must.
4. Depth is important. Current online courses are often a bit introductory. We need more advanced courses about algorithms, theoretical computer science, code design, relational algebra, category theory, etc. I get that it's about supply/demand, but we will eventually need to have those topics covered.
I do believe that for CS, full online education will eventually win from the classroom — it's still in its infancy, but has more potential to grow into correct, modern education.10 -
New to this but here's my rant I suppose. It bothers me how "non-tech" people kind of devalue what tech people do. Like they have zero understanding of it, so you make something in 30 minutes or an hour that took years of building said skills and involved complex logic and understanding of relational data and because it only took you 30 minutes or an hour it must have been "easy". Or the way you are everybody's free tech advisor with family and friends... And things are said like "I'm not good with this stuff, but you're so good with it". For the record nobody is just "great" at technology or coding from birth its been a 2+ decade craft that I've experimented with and learned and put effort into. So taking into consideration all this effort I have put in to understand all this you say you'll never remember to push that button so you'll just ask me again when the problem arises. Yes because its so fun for me to constantly maintain your electronics because you can't bother to remember to push a button.5
-
So my marketing dept request us to perform a SQL injection to someone's bank account. I refuse to do it.
1. Most bank no longer use Relational Database , they use something like NoSQL Database.
2. Even if the bank Use Relational Database system, I assume their security must be high, validating my session maybe...
3. I am not going to do shit like this for illegal purposes, well this task sounds super illegal to me
4. Hacking is not a part of my job description. I was hired to be a Senior Fullstack Mobile App Developer.
This is screwed up !24 -
Non IT people controling the IT departments and ruining the development culture.
No one (where i am from) anymore considers the software life cycles, initial r&d work, normalized relational db or using proper algorithms. All this stuff is critical for critical systems but people just want the softwares to work on the front end and make money, no matter if its all duct taped underneath. And I strongly believe this is happening because of non IT people and marketers sitting on top of IT departments.
Computer science people have kind of lost all respect. They are constantly yelled at by non IT people and asked to do year's job in months.
This makes me sad19 -
I've seen several rants about dumb/useless teachers, college and the CS degree studies; today is a good day to vent out some "old" memories.
Around two semesters ago I enrolled in a Database seminar with this guy, a tall geek from the 80's with a squeaky voice, so squeaky mice could had an aneurysm if they listened to him.
Either way this guy was a mess, he said he was an awesome coder, that we were still "peasants" when it came to coding, that relational databases had nothing on him since he was an awesome freelancer and did databases every day, that we had to redo the programming course with him and with his shitty, pulled out of the ass own C++ style guide with over 64 different redacted rules.
He gave us sample code of "how it should be done" in Java...it ain't my favorite language but fuck me a fucking donkey could have written better code with his ass!! He even rewrote Java's standard input function and made it highly inefficient. He still wrote in a structural paradigm in OOP languages! And he dared to make this code reviews were he would proyect someone's code and mock it in front of the class as he took off points, sometimes going to the negative realm (3,2,1,0,-1...)
But you know what's shittier? That he actually didn't even attend, 90% of the time, it was literally this:
> Good morning class
> Checks attendance. . .
> I'll be back, I'm going to check in...
> 1 hour 45 minutes later (class was 2 hrs long) - comes back
> do you have any doubts?
> O.o no...? I'm ok.
> We're done
Not only that, he scheduled from 4 to 17 homeworks throughout the week, I did the math, that was around 354 files from everyone; of course he didn't check them, other students from higher semesters did and they gained each point taken from students making students from lower semesters get the short end of the stick.
How did I pass? He didn't understood my code or database schema and he knew he couldn't fail me as he had no ground to stand on.
Thanks for listening, if you got to the end of this long ass post and had a similar experience I'd love to read it.13 -
veekun/pokedex
https://github.com/veekun/pokedex
It's essentially all meta you need to make a pokemon game, in csv files.
Afaik, they ripped the information from the original games, so you can be sure about their validity.
I love how it's easy to use, isn't some weird ass formatted wiki and even has scripts to load it into your database.
Me being a huge pokemon fan, that's the non plus ultra. -
So last night i was dealing with some mysql query issues trying to grab some complex data from a relational database and ended up giving up.
This afternoon i was about half-asleep going to nap, not even thinking about the code and randomly came up with the solution.
A few hours later i made the changes and it works as intended.
Anyone else solve code subconsciously ? 😂😂😁😁12 -
Mother fucking SQL, fuck mathematicians, fuck every thing!
So let's supose we'd only need the first char of a string. Every, and I mean fucking every (php, java, javascript, ruby, python, haskell) fucking language, uses something like `substring(input, 0, 1)` as it knows the input is nothing more than a fucking array of chars, otherwise known as motherfucking String. Logically the offset for the first char is 0.
Enter SQL, there you need to put `SUBSTRING(input, 1, 1)` because fuck every one! Fucking math guys who developed relational algebra on which (most) databases are based on (I love you for it, but come on you fuckers!), Decided that the first character should be at position 1...
Fuckers6 -
Dear Microsoft Kusto Query Language (KQL)
Screw you. You suck like more than a sudden depressurization event in an airplane. Creating your own freaking query language is bad, the people who invented SQL based it on a the principles of mathematical relational algebra, which although confusing, and not suited for all use cases is at least consistent.
You were invented by a bunch of oxygen deprived halfwits based on the principles of sadism and incompetence.
The only situation in which I would voluntarily use KQL as my tool of choice is if my purpose was to extract a Dantesque style revenge on someone who had committed grievous harm to myself and my family members. In that case forcing them to work with you day in and day out would still border on cruel and unusual punishment.
Sincerely, A developer who has spent the past 2 hours dealing with your Lovecraftian madness.
P.S. I hope you choke on a raw chicken bone and no one gives you CPR.3 -
Manager: let's use elasticsearch for performing relational queries. PostgreSQL performance is not great.
Me: Say what? 👿4 -
When someone decides to manually delete a user from a relational database that relies on that user to exist and expects everything to work out perfectly.2
-
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 -
For myself, I choked on the following:
- "Why do you want to work for us?"
- "Why us, specifically?"
- That stupid logic test with the guys wearing the red and white caps
- "Convince us how you're not overqualified. We're simple people."
- "Convince us how you're not going to leave us in the long run."
- Stupid db test: here is a scenario. You have 15 minutes to write an entire relational db with 20 tables, keys, relationships..
- "Why would we want to hire you?"6 -
Store POJOs as json inside a database column so that we have a dynamic relational database!
For those who don't know what a POJO
*POJO: plain old Java object
Technically I was asked to store all data models as json in a single column 🙄10 -
took me about 6+ months to accept that relational database is better than blockchain. But since i am doing project involving -smartcontract- now, theres nothing i can do but to tell some people that blockchain is a good thing. please forgive me for spreading this technology... after i finish this project, i promise to never step on blockchain environment again4
-
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 -
Getting real tired of having to reteach the basics of relational databases to the same 2 people. You were brought in as the expert in databases and SQL Server, I shouldn’t have to teach you about effing primary keys, secondary keys, many-to-many relationships, and how to join the damn tables in a basic query. Your 5 years of experience are obviously a waste if all you did was select * from bullshit. This is the 2nd week and 22nd you’ve asked the same damn questions. Get your crap together and study your ass off if you don’t know. Google the error messages if you don’t remember how to solve it before coming to me with the same question a 23rd and 24th time. I’m not going to get any work done if all you do is ninja up behind me with your laptop in tow and just spout off the question that could be done over IM or a quick duckduckgo/google search. Headphones in = do not disturb ya rude mother duckers 🦆.4
-
Today at 'Derp & Co' a fellow co-worker decided that had duplicated data on Relational DB is good!
- Dev: 'but what if we have 2 companies in diferents groups?''
- co-worker: 'Just call it company A and Company B'
- Dev: 'but... this is not what...'
- co-worker: 'Trust me Dev, is the easy way'
I want the professional way, not the easy (and damn wrong) way :(, I can't improve myself like this.
Also, dead line is here too... TT^TT
Last sprint and still with doubts about the DB structure.12 -
Web development:
I'm honestly happy that my toxic "senior" colleague is gone.
- Didnt learn a single thing in the last 10 years. Used godamn serverside rendering with Jquery / plain JS for a highly interactive business Web Application. Yeah boii, save that UI state in the relational database, good job.
- Every error in his shit was the error of someone else.
- Manipulative as hell. Type of guy that is your best buddy to gather information.
- Blocked entire technical progress in the Web department by manipulating people. Understandable. I mean if your legacy shit is gone...
- Kept backend developers from doing their job with unjustified complaints about structures... etc to justify that he needed an insane amount of time to implement simple things.
- Cried for every shit to be documented to the last bits. Did never do any documentation himself.
Fuck these people, honestly.1 -
Rant/story
Ok, I've always respected my PM and took everything on me, but since a while I start getting bored at work and realised many wrong things with the company and management in general.
So, brief contextual situation for you guys, I used to be very shy, unconfident and submissive. That was 2 years ago. Now am much more confident and got my own techniques in managing my constant "in the moon"-mind and relational discussions with colleagues. No more stuttering and am now answering on the spot and focussed on the discussion.
So I was having a nice day extinguishing fires on our website, this evening my PM stressly-rushed into my office (which I share with 2 other colleagues), and pressured me into giving a phone call to some developer for a situation clarification: a Json endpoints seems to truncate text after some characters.
Just came back from the loo (not sorry for the details), had my thoughts about something else, as usual, and I was just like "chill, let me get my mind together and prepare myself to be on point for this phone call". Told her I need a few seconds and she was like "now now now" knowing me I'm a bit laid-back.
Grabbed the phone, saw she was laughing (always laughs whatever I do, I must be very funny) and went talking about me to my colleague (not backstabbing but like "I don't get why he needs to get prepped for a phone call"). I managed the phone call like a boss - like usual since I got more confident -, my pm left, I finished the call, went to her to tell her my conclusions on our issue, asked me if I checked the contract with our CMS company.
Told her nope, the Json is compatible with our DB-manager's API.
She coldly answered "right, will do it myself then", I was like ok, I know you won't do it, I'll get it done.
In 15 minutes I found the contract, notified her, analyzed it, and wrote a technical email to support.
Seriously, stop taking me for some retarded person and let me breathe
Huh.2 -
Thinking about transferring the majority project from mongo to MySQL. It makes sense rationally but - feels like there is a creeping darkness is looming over me.7
-
Ok now I'm gonna tell you about my "Databases 2" exam. This is gonna be long.
I'd like to know if DB designers actually have this workflow. I'm gonna "challenge" the reader, but I'm not playing smartass. The mistakes I point out here are MY mistakes.
So, in my uni there's this course, "Databases 2" ("Databases 1" is relational algebra and theoretical stuff), which consist in one exercise: design a SQL database.
We get the description of a system. Almost a two pages pdf. Of course it could be anything. Here I'm going to pretend the project is a YouTube clone (it's one of the practice exercises).
We start designing a ER diagram that describes the system. It must be fucking accurate: e.g. if we describe a "view" as a relationship between the entities User and Video, it MUST have at least another attribute, e.g. the datetime, even if the description doesn't say it. The official reason?
"The ER relationship describes a set of couples. You can not have two elements equal, thus if you don't put any attribute, it means that any user could watch a video only once. So you must put at least something else."
Do you get my point? In this phase we're not even talking about a "database", this is an analysis phase.
Then we describe the type dictionary. So far so good, we just have to specify the type of any attribute.
And now... Constraints.
Oh my god the constraints. We have to describe every fucking constraint of our system. In FIRST ORDER LOGIC. Every entity is a set, and Entity(e) means that an element e belongs to the set Entity. "A user must leave a feedback after he saw a video" becomes like
For all u,v,dv,df,f ( User(u) and Video(v) and View(u, v, dv) and feedback(u, v, f) ) ---> dv < df
provided that dv and df are the datetimes of the view and the feedback creation (it is clear in the exercise, here seems kinda cryptic)
Of course only some of the constraints are explicitly described. This one, for example, was not in the text. If you fail to mention any "hidden" constraint, you lose a lot of points. Same thing if you not describe it correctly.
Now it's time for use cases.
You start with the usual stickman diagram. So far so good.
Then you have to describe their main functions.
In first order logic. Yes.
So, if you got the point, you may think that the following is correct to get "the average amount of feedback values on a single video" (1 to 5, like the old YT).
(let's say that feedback is a relationship with attribute between User and Video
getAv(Video v): int
Let be F = { va | feedback(v, u, va) } for any User u
Let av = (sum forall f in F) / | F |
return av
But nope, there's an error here. Can you spot it (I didn't)?
F is a set. Sets do not have duplicates! So, the F set will lose some feedback values! I can not define that as a simple set!
It has to be a set of couples, like (v, u), where v is the value and u the user; this way we can have duplicate feedback values in our set.
This concludes the analysis phase. Now, the design.
Well we just refactor everything we have done until now. Is-a relations become relationships, many-to-many relationships get an "association entity" between them, nothing new.
We write down on paper every SQL statement to build any table, entity or not. We write down every possible primary key or foreign key. The constraint that are not natively satisfied by SQL and/or foreign keys become triggers, and so on.
This exam is considered the true nightmare at our department. I just love it.
Now my question is, do actually DB designers follow this workflow? Or is this just a bloody hard training in Pai Mei style?6 -
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 -
I see a trend for new devs to want to focus on JavaScript while dismissing relational databases and backend languages as boring and to rigid. A week into real jobs they want help with data and .net.4
-
There's a local server with lots of processing power and plenty of GPUs and tons RAM going critically underused. Why? There's someone who's running a process using a relational database which literally performs 40 to 60 percentage disk I/O for months. It's so bad, if you run "ls" it may take a minute to run (only if you are lucky to ssh in).4
-
I learned basic, Visual Basic and java in high school, then one year of college studying c++. I really hate c++ and swore I would never become a programmer. After that one year of college, I spent two years out of the country with no computer usage at all. Then 4 years working at a grocery store.
Then my friend told me about an opening at his work place for a java programmer. This was 7 years since doing java and 6 years since I had programmed anything at all. But I applied and interviewed. When asked about databases, I said “I know a little Microsoft Access.” Had no idea what relational databases were, never heard of php, but by some miracle they hired me anyways. Still working for them 6 years later, now an experienced java, php, MySQL, front end developer.
Still have no idea why they saw fit to hire me.5 -
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 -
For all the hate that Java gets, this *not rant* is to appreciate the Spring Boot/Cloud & Netty for without them I would not be half as productive as I am at my job.
Just to highlight a few of these life savers:
- Spring security: many features but I will just mention robust authorization out of the box
- Netflix Feign & Hystrix: easy circuit breaking & fallback pattern.
- Spring Data: consistent data access patterns & out of the box functionality regardless of the data source: eg relational & document dbs, redis etc with managed offerings integrations as well. The abstraction here is something to marvel at.
- Spring Boot Actuator: Out of the box health checks that check all integrations: Db, Redis, Mail,Disk, RabbitMQ etc which are crucial for Kubernetes readiness/liveness health checks.
- Spring Cloud Stream: Another abstraction for the messaging layer that decouples application logic from the binder ie could be kafka, rabbitmq etc
- SpringFox Swagger - Fantastic swagger documentation integration that allows always up to date API docs via annotations that can be converted to a swagger.yml if need be.
- Last but not least - Netty: Implementing secure non-blocking network applications is not trivial. This framework has made it easier for us to implement a protocol server on top of UDP using Java & all the support that comes with Spring.
For these & many more am grateful for Java & the big big community of devs that love & support it. -
¡rant|rant
Nice to do some refactoring of the whole data access layer of our core logistics software, let me tell an story.
The project is around 80k lines of code, with a lot of integrations with an ERP system and an sql database.
The ERP system is old, shitty api for it also, only static methods through an wrapper to an c++ library
imagine an order table.
To access an order, you would first need to open the database by calling Api.Open(...file paths) (yes, it's an fucking flat file type database)
Now the database is open, now you would open the orders table with method Api.Table(int tableId) and in return you would get an integer value, the pointer.
Now for the actual order. first you need to search for it by setting the search parameter to the column ID of the order number while checking all calls for some BS error code
Api.SetInt(int pointer, int column, int query Value)
Then call the find method.
Api.Find(int pointer)
Then to top this shitcake of an api of: if it doesn't find your shit it will use the "close enough" method of search.
And now to read a singe string 😑
First you will look in the outdated and incorrect documentation given to you from the devil himself and look for the column ID to find the length of the column.
Then you create a string variable with ALL FUCKING SPACES.
Now you call the Api.GetStr(int pointer, int column, ref string emptyString, int length)
Now you have passed your poor string to the api's demon orgy by reference.
Then some more BS error code checking.
Now you have read an string value 😀
Now keep in mind to repeat these steps for all 300+ columns in the order table.
News from the creators: SQL server? yes, sql is good so everything will be better?
Now imagine the poor developers that got tasked to convert this shitcake to use a MS SQL server, that they did.
Now I can honestly say that I found the best SQL server benchmark tool. This sucker creams out just above ~105K sql statements per second on peak and ~15K per second for 1.5 second to read an order. 1.5 second to read less than 4 fucking kilobytes!
Right at that moment I released that our software would grind to an fucking halt before even thinking about starting it. And that me & myself and I would be tasked to fix it.
4 months later and two weeks until functional beta, here I am. We created our own api with the SQL server 😀
And the outcome of all this...
Fixes bugs older than a year, Forces rewriting part of code base. Forces removal of dirty fixes. allows proper unit and integration testing and even database testing with snapshot feature.
The whole ERP system could be replaced with ~10 lines of code (provided same relational structure) on the application while adding it to our own API library.
Best part is probably the performance improvements 😀. Up to 4500 times faster and 60 times less memory usage also with only managed memory.3 -
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
-
Just had a recruiter contact me, and found this gem in their text:
"We work with MS stack and SQL Server, but we really think JavaScript is the way of the future"
Motherfucker, JavaScript can hardly tell basic types apart, how the fuck you gon' run a relational database with it!? And if you're not, then why the fuck are you running a relational database in the first place!?
Fuck outta here!2 -
Can someone please read this article and sanity check me that it makes sense outside of my head and I’m not actively putting garbage out into the world?
https://amyshackles.codes/why-is-em...
I would greatly appreciate it.15 -
Can't wait until I'm done at my current workplace (about a month left). I've had enough of this fucking shitty ass ancient ASP.Net ERP-system and employer.
For the system:
1. The build times are horrendous and eats up all CPU power.
2. The "classic" UI and UX is absolute garbage. If I was an accountant, I would go nuts trying to invoice someone. Companies pay millions to use this garbage.
3. Besides the "classic UI", there is a mishmash of different JS frameworks plastered on top.
4. Absolute no fucking technical documentation whatsoever
5. The in-house relational database is a mess, no relations, entirely denormalized, no documentation.
6. The frontend is structured in HTML tables with iframes inside <td>
The company:
1. If you're a implementation consultant and you quit your job, you get stripped off all your projects, you won't get to join anything social and you're placed on 1st line support for three months. They might as well force them out.
2. Anyone can work from home anytime they feel like it without any valid reasons, and believe me they do.
3. The senior devs are overworked as all hell. By the end of the year, some of them have hundreds of flextime hours and won't get anything in return.
4. The CEO seems like a jolly guy, but when you quit, he doesn't like you at all. He also acts like a bigshot, always getting driven around meetings when there is literally a very good metro network in this city.9 -
FUCK YOU PHP, FUCK YOU SYMFONY AND DEFINITELY FUCK YOU SHOPWARE.
Don't get me wrong, PHP has evolved a lot, but the stuff people are building with it is just the biggest load of fucking shit I have ever seen: Shopware. Shopware is the most ass-sucking abomination to extend. It's nearly impossible to develop anything beyond "use the standard features and shut the fuck up" that is more sophisticated than a fucking calculator.
The architecture of this pile of crap is the worst bullshit ever. A mix of OOP, randomly making use of non OOP concepts and features together with the unnecessarily HUGE amount of useless interfaces and classes. Sometimes I feel like it's 90% fucking shitty boilerplate shit.
And don't get me started with TWIG. It's a nice thought, but WHY THE BLOODY FUCK WOULD YOU NOT USE VUE IF YOU ARE ALREADY USING IT FOR A DIFFERENT PART OF SHOPWARE. This makes no fucking sense whatsoever and makes development of new features a huge pain in the ass. I can't comprehend how people actually like using this shit.
OH AND THE DATABASE. OH MY FUCKING GOD. This one is bad. Ever tried to figure anything out in a database where random strings (yes MySQL "relational" - you might think) that are stored as text in a JSON format make up some object or relations during runtime?? Why the fuck do you have foreign and primary keys if you don't use them properly??
Seriously you can't even figure out which data belongs to what because the architecture just sucks fucking ass. FUCK YOU Shopware wankers, you suck, your product sucks, your support sucks, your architecture sucks and you keep releasing new versions that regularly break shit even in minor versions.
I used to like PHP, but not in projects like these.7 -
I was talking to a friend about the current state of machine learning through tensorflow and commented about the use of Javascript as a language.
He discarded the idea as he views Javascript as something that should only be used as a frontend technology rather than something to build backends or deep learning models.
I am thorn. I have always liked Javascript but will admit that I have used it mostly in the area of front end with very few backend instances(i did create a full stack intranet app in Express once, major success for the application it was hosting, it was a very basic api which had its own nosql db with no need to interact with the company's relational data, it was perfect for the occasion and still help maintaining it from time to time)
My boi states that node's biggest issue has always been npm and the quality of packages. I always contradict those statements by saying that if one uses community standards and the best packages then one does not need to worry about the quality(i.e mongoose over some unmaintained mongo wrapper etc)
I sometimes catch myself finding that my way of thinking adapts better to JS than it even does Python (which is his preference for deep learning) and whilst there are some beastly packages for python in terms of quality and usefulness such as matplotlib etc that one can do great things with the equivalent JS.
I mean, tensorflow.js came from the same wizards that did tensorflow (obviously) and i find the functional approach of JS to be more on par with how we develop solutions.
I am no deep learning expert, and sadly I have no professional experience with machine learning. But I venture to say that we should not cast aside the great strides that the JS community has done to the language in terms of evolution and tooling. Today's Js is not your grandaddy's Js and thinking that the language is crippled because of early iterations of the language would be severely biased.
What do you guys(maybe someone with professional experience) think of Js as a language for machine learning?
Do you think the language poses something worth considering in terms of tooling and power for ml?2 -
Am I the only one who doesn't like NoSQL? I really like relational databases.
If I cannot see the light then convince me to like NoSQL. But I think I will be forced to learn it because some companies use NoSQL. Also tech stacks like MERN, MEAN, etc.38 -
RethinkDB is such a rediculous overengineered BIGGEST BULLSHIT I HAVE EVER UNFORTUNATELY USED.
Does anyone even use this total shit????
This shit eats RAM memory for just 1 CRUD operation as if you opened 10,000 google chrome tabs. Who the fuck thought that kind of technology is a good idea?
Yes it IS very fast, a real time database. But you'd have to have a multi-million dollar supercomputer to be able to handle so much data like a relational database can....5 -
at one point in time, i had to work with a really junior backend team, they used javascript and neo4j as the database for an in-house developed community forum because "graph databases made sense" in the eyes of their tech lead
turns out that the team struggled quite a bit with it, and had some "unexpected complexity" problems when i asked them to add filters and sorting on the post endpoints
in the end, the "solution" they gave me was an endpoint that spewed ALL the posts so i could sort it in the front end
had they kept the same relational database they were using for the rest of the whole project, i'm quite sure it wouldn't take much to implement that (and their architecture was really performatic)
as a side project i rebuilt the whole forum in a weekend, but using postgresql as database, and it worked nicely, i even added some unit tests just for fun
gave myself a really big slap in the face after that, though1 -
The amount of willful ignorance about how “master/slave” might be offensive to some people is disheartening. Not surprising, but disheartening.
I thought it was suspect back in the 90s when I was configuring IDE hard drives.
There are loads of terms that express the exact same relational concept, that don’t have their roots in exploitative human relationships.
If you disagree, kindly fuck off. Your shitty attitude is why tech is predominantly white and male.29 -
How hard can it be to sort content stored in a relational database by a custom meta parameter and restrict the results to a certain language using a very popular content management system in 2023?
After wasting several hours trying to get my head around reference documents, 20 years of anecdotal StackExchange + WordPress.org discussion and ACF + Polylang support, and trying to debug my code, I will now either write my own SQL query or put the meta query results in a hashed object to sort it using my own PHP code.
What time is it now? 2003?2 -
There's very little good use cases for mongo, change my mind.
Prototyping maybe? Rails can prototype, create/update/destroy db schemas really quickly anyways.
If you're doing a web app, there's tons of libs that let you have a store in your app, even a fake mongo on the browser.
Are the reads fast? When I need that, use with redis.
Can it be an actual replacement for an app's db? No. Safety mechanisms that relational dbs have are pretty much must haves for a production level app.
Data type checks, null checks, foreign key checks, query checks.
All this robustness, this safety is something critical to maintain the data of an app sane.
Screw ups in the app layer affecting the data are a lot less visible and don't get noticed immediately (things like this can happen with relational dbs but are a lot less likely)
Let's not even get into mutating structures. Once you pick a structure with mongo, you're pretty much set.
Redoing a structure is manual, and you better have checks afterwards.
But at the same time, this is kind of a pro for mongo, since if there's variable data, as in some fields that are not always present, you don't need to create column for them, they just go into the data.
But you can have json columns in postgres too!
Is it easier to migrate than relational dbs? yes, but docker makes everything easy also.11 -
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
interviewed a guy who claims to work in MVC with Java, dude doesn't even know object relational model. calls himself a full stack developer
[phew] -
Junior Software Developer Job( $37k-$42k USD)
-1 year experience
- J2EE, Javascript, HTML, XML, SQL
- object oriented design and implementation
- management of relational and non-relational such as Oracle, PostGreSQL and Cassandra
- Lifecycle and Agile methods
- Familiarity with the Eclipse development environment and with tools such as Hibernate, JMS, ,TomCat/Gemini/Jetty, OSGi.
• UNIX skills, including Bash or other scripting language
• Experience installing and configuring software packages
• ActiveMQ troubleshooting/knowledge
• Experience in scientific data processing and analytical science in general
• Automated testing tools and procedures, including JUnit testing, Selenium, etc.
• Experience in interfacing with scientific instrumentation, potentially over IP networks
• Familiarity with modern web development, user interface and other ever-evolving front-end
technologies, such as React, TypeScript, Material, Jest, etc.
I am betting they don't get many people applying.8 -
I once saw a DBA using two for loops in PL/SQL to join two tables. I wonder if he knew about the "alternative" way to do that...2
-
Has anyone here used MongoDB for relational databases? I am trying to use MySQL with Node but I feel like the whole thing is a mess. There are some ORMs like Knex or Sequelize for MySQL but they are pretty crap. I am thinking if I should just move onto MongoDB instead of MySQL, at the same time I feel a little dirty to store relational data in a document store :(18
-
First rant here...
Hand full of devs have to create a huge web platform that can shovel a lot of data around in about two months which is impossible...
Project lead has left major decisions in the hands of interns like database we want to use because no question can.be answered by that person. Inexperienced intern has chosen a fucking nosql database for highly relational datasets... why? Because new tech...
Development began and a bunch of problems arised... database was accessable from internet from day one. Random crashes because out of memory exceptions. Every possible feature had a description of at most 10 words... and no standards where enforced on anything.
Now that finaaaally we switch to sql after almost a year of prototypical production everybody keeps coding on new features so i have to port all the crap to the new database...
best part: a bunch of clients on different op systems have to be ported as well!
Even better part: i have to do that cause everybody else has practically no experience in any field...
And now the joke: i got hired for gui/desktop application development
Am i a wizard now? -
After a year of using mongo in prod and personal projects I have realised some things. Its really nice early on the project, especially when there are changing requirements and for small projects or proof of concepts.
But when you make commercial software things tend to get more complex and relational. Stakeholders want reporting and even a report building which a document store isn't the best at.
With most projects projects when they get big things get relational and this becomes more and more expensive to handle in terms of compute power and developer time.
I don't doubt mongo has its place, maybe as an secondary specialised data store or if the project is inherently document oriented.
Blog over.7 -
Our app has web scale data. So let me take all my tables from a relational database and map them one to one to a collection in a document database.
-
DBeaver is probably the best, most underrated UI for interacting with relational databases, that's free and universal.
It's just sad that I had to try out literally everything else, which is total crap in comparison, before I stumbled upon DBeaver.1 -
Hello, can someone help me with this one ? I guess that the fucking SO elitist community would have beaten me to death if I asked this question.
I'm trying to create a relational table between a Tutorial object and a User object (to know which tutorial the user has access to) using Sequelize, and I figure out that I have two PRIMARY keys in my table. How is it possible ? UserID is also marked as Index.
The both keys are not Unique in themselves but their combinations are unique.4 -
Q: What do you get when you create a homebrew query language that uses both the stream oriented principles of Unix data pipes and the relational ideas underlying an RDBMS and use incomplete documentation to support it?
A: A frustrated borderline homicidal engineer.3 -
Urgh.. the amount of things you have to know as a developer.. it can get stressful and frustrating sometimes when (in-depth) technology knowledge is demanded from you (for instance, for a job position)..
It's like being a doctor, being a lifelong student.
A few examples of what I had to know during my career:
Java, .NET, Python, PHP, JavaScript/HTML5/CSS3, Sass/Less, Node.js, ReactJS, AngularJS, Vue.js, Cordova, Ionic, Android, design patterns, SOLID, databases (design, implementation, administration, both NoSQL and relational,..), deployment tools (Octopus, Jenkins,..), VCS, CI/CD, HTTP, networking, security (OAuth2, CORS, XSS, CSRF,..), algebra, algorithms, software testing, profiling, Linux, Unix, Windows, MS Office (advanced mail filtering,..), ITIL, IT Law (licensing and its implications when choosing a product, distribution right,..), server architecture,..
Sure yeah, I know, I've studied all that at university but.. it's been too long (almost a decade now). I have to revisit that knowledge.5 -
" Under the hood... the program is using a mix of condition-based learning, procedural generation of sentences/questions, and relational queries based on weighted 'topic' identifiers. It can create its own original statements and questions. It is real-time, and it really does 'think' (an internal dialogue feedback loop)." = If Statement
I saw this in the description for an app aclled "Real AI" -
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 -
i don't like devs who put serialized data into a relational database. guys, do you even know how to relational database? 😭😭😭6
-
The JavaScript Guy (his words) half joking again about replacing the relational database with a document store 🙄2
-
Storing de-normalized data in NoSql when used to relational data feels like I am vomiting on the database
-
MongoDB database with really relational data. One main collection that had refs to four other collections, all of those references necessary to populate data for a page view. Complicated aggregate to populate all the necessary data and then filter based on criteria selected by the user. And then the client decides that he wants the information to be sortable by column. Some of those columns are fields on the main model, no problem. Others are fields on the refs, which is more of a problem. Especially given that these refs aren’t one single object. They’re arrays of objects.
The revelation was that I could just write an aggregate function to flat map the main collection, returning only the fields necessary for the search, and output it to a new collection and instead use that new collection for displaying and filtering/sorting search results.
But you can’t run the aggregate all the time, you surely say. If anything changes in the main collection, it won’t be reflected in the search results!
Mongoose post(‘findOneAndUpdate’) hooks, my friends. Mongoose post(‘findOneAndUpdate’) hooks.
Never been so happy to have a thing working properly in my life.2 -
A non-relationship database system with drag and drop + business process flows. It was fun at first, but like my Android phone, it slowed the **** down so much that it affected business operations. Must have been their evil plan all along.rant slow down like an ios update business process flows non-relational database management system evil plan drag and drop also my old android phone
-
I had a discussion with my colleagues about my bachelor thesis.
Together we created within the last 18 month a REST-API where we use LDAP/LMDB as database (tree structured storage). Of course our data is relational and of course we have a high redundancy there. It's a 170 call API and I highly doubt that it's actually conforming REST.
Ensuring DB integrity is done in the backend and coding style there is "If we change it at one place, let's make sure to also change it everywhere else", so you get a good impression how much of spaghetti code we have there.
Now I proposed to code a solution in my bachelor thesis where we use a relational database (we even have an administrated Oracle DB with high availability) and have a write-only layer to also store the data in LDAP but my colleagues said that "it would add too much complexity to the system".
Instead I should write the relational layer myself and fetch the data somehow from the existing LDAP tree.
What the actual fuck, spaghetti code is what makes the system really unnecessarily complex so that no one will understand that code in 2 years.
Congratulations, you just created legacy code that went into production in 2018 while not accepting the opportunity to let that legacy code get eliminated.
Now good luck with running and maintaining that system and it's inconsistencies.1 -
Just notice that google spreadshit can do query like actual sql query.
Wtf each cell is like data as in relational databse.
Wtf wtf wtf.... soooooo cooool
My next db spreadsheet.5 -
Can someone try to sell me on NoSQL? I've never seen a use case for it so I want to hear a NoSQL Fan's perspective13
-
I've been dealing with a guy who knows almost nothing about tech and always insists on asinine systems and buzz words he's been sold by 3rd party vendors. Lately he really wants to replace our relational dbs with hdfs.
Our data is sub 10 gb in size.
I've been seriously considering making a contracting company and just preying on tech fools like this, I just don't know if I could ethically swallow it. -
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
-
My phone was stolen so that's why I wasn't getting here to rant about this, but today I had to make a back up and remembered.
adminer's export function doesn't export the tables in the correct order for import. Doesn't take foreign keys into account.
Dude, that's the whole point of a relational database, relations between tables; if you don't take that into account then what's the point?
Is this the same for the rest of database managers or is it just adminer? Please tell me this isn't normal.4 -
So, my experience is all with relational DBs (mssql) mainly and this job is the first time I've had to deal with mongodb.
I'm using the default compass client and I'm struggling with just how shit it is.
- A default font size of 5px high which resets every time it starts.
- Total lack of keyboard shortcuts.
- Inconsistent expansion& folding behaviours
- No saving of aggregates/queries if you accidentally click on another collection.
- ittle bitty query window which is actually multi line but with no scrollbar...
The list goes on.
And mongodb, whoever thought JavaScript is an appropriate query language... It's not.
It's probably because I don't have enough experience with it but the mix of quotes and $ seems so random...11 -
I'm taking a look at neo4j after working a lot of mongo. Takes some getting used to but I think I could use it well for my next project.4
-
I just look at a layout like this and see a relational database. Because minus random markers, there is a defined set of relationships some of which can be inferred or taken from OTHER data like.
"Joe travels at 8 am +/- 1 hr 99% of the time, every day of the work week for the last 52 weeks, likely joe is commuting to this location"
or you could just add a schedule table and one item could be marked commute vs a log table of data that is actually happening.
With everything else I see the same things.
I also see a possibility for graph edges and the likej to get out of control really quickly when you start adding event data into it.
so what is the use of graph and whats its really offering ?
any data worthwhile is likely going to have some kind of structure, even if you add ad hoc fields that don't exist, after enough additions those fields should be standardized !28 -
Fuck you, webdev.
I had to explain to a new web developer about an Oracle database and Toad. Anyone remember Toad? I still remember not too long ago, developers knew the basics of relational databases and available client tools. -
a simple ADO.NET interface to query any relational databases from PowerShell using SQL [1] and a Gtk3 lightdm greeter [2]
not very overwhelming compared to what most of you guys have created but - hey, it’s something.
[1] http://github.com/off-world/...
[2] http://github.com/off-world/... -
A guy who thought the only way to access data was through a relational data base and the only way to access a data base from java was JPA
-
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 -
Fuck. I just realized that because I picked Firebase for an SPA I was making for a client a year ago, I will need to keep updating the damn backend forever. Node 8 has reached EOL in the end of 2019, so Firebase has deprecated it and will *remove support* for it in 2021. Ok, I updated the app to work with node 10. But what happens when node 10 gets deprecated and loses support? Am I going to be forced to update the project once again so that it can keep running? Have the people at Firebase heard of backwards compatibility?
The reason I chose Firebase in the first place was because I wouldn't have to deal with servers (stuff like that scared me back then) and because it was free (client likes free stuff, of course). Had I picked a simple Express + MongoDB combo I would be able to deploy the thing when I was done and just leave it there forever, at the cost of ~$5/mo on DigitalOcean. But no, I was scared of the unknown so now I have to live with the shitfest that Firebase is. Fucking hell.
Disclaimer: I would not use Express and MongoDB in a project today, I have outgrown JS backend (thank god) and I prefer the safety of a relational DB.6 -
Does anybody have some good suggestion for horizontal scaling solution of relational database (MySQL) that's not commercial? Both read and write scalings are of relevance btw.23
-
Why employers strongly believe Front-End and Back-End are synonyms of Full-Stack?
They are requiring Front devs to have knowledge and experience with relational databases and Back devs to be experts in HTML and CSS, sometimes graphic design stuff too.
For God's sake just hire a Full-stack Dev3 -
had a uni exam in databases (just closely didn't make it😒)
it didn't even have sql in it!?
questions about ER diagrams and draw a diagram, functional dependencies with given dependencies, find candidate key and what not, work on a b-tree (miserably failed😣), datalog (who the fuck cares about datalog? the least expected topic) and transaction management/serializability
whose idea was it to not include sql?? isn't it one the fundamental parts of relational databases?4 -
Best eays to improve database performance?
I have a huge database table with a lot of data, 10+columns and around 5-6million rows and growing. We are thinking about optimisation methods, the data will be frequently accessed, but not in the same ways. even though caching is helping, some initial requests take 6-20secs. What are good ways to improve a relational db performance? The data is date and item based, every item can have some data back from 2016 or older and up to 1000 related rows in each day. Every day new data would be added. Right now working with php.8 -
I really want to switch my career from being a Full-Stack python/javascript developer to be a Data Engineer.
I've already worked with relational and non-relational databases, troubleshooted a couple of Airflow DAGs, deployed production-ready python code but now I feel kinda lost, every course I start on the Data engineering topic feels really useless since I feel like I've already worked with that technology/library, but I'm still afraid of start taking interviews.
Any good book/course or resource that I should look in?
BTW first rant in a couple of years, this brings me memories1 -
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
-
Sometimes I think the relational model is a disservice to humanity.
Sometimes I love it.
But mostly I hate it.1 -
Account service needs migrating, to AWS cause thats where everything is going.
Manager has got it in her head that a document store would be ideal for this.
My knee jerk reaction was a big No, i was told we'd discuss this at a later time.
My main argument here is that data is inheritly relational, and now i'm looking for more.
Any ideas why a documentstore is not a good fit for accounts?
Thanks!1 -
do you store every variable in a relational db? more specifically, only just the class members not local vars. what if table has 200 columns and roughly 75% of the table is nulls. why or why not?5
-
I don't know about tinkepop but neo4j is the slowest fucking thing I have ever ran on my desktop, their fucking java based browser included.
and btw THAT is the reason I down Java apps, they're fucking slow most of the time !
https://saashub.com/compare-apache-...
Is that an aspect of graph databases ? slowness ?
according this guy yes.
https://memgraph.com/blog/...
except for specific tree traversals which makes me wonder what kind of things theyd be good for.