Details
-
SkillsTS (server and client side), SCSS, Less, HTML, a little Java, Maven, Gradle, Ant, Git, CI/CD, making good coffee and breaking servers.
Joined devRant on 7/9/2016
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
@asgs for sure, I've been using it for well over a decade already and I still get myself and my repos all twisted up at times... These are not "new devs" though, just relatively new to our team.. this particular guy has been with us for about 3 months now.
-
BUT most of all, that comment.... Seriously? 🤣🤣😅😂🤣
-
@hitko can't fight you on that one, I like the way yarn does workspaces.. it makes it just as easy as a non-"monorepo" project.
I also really like the generators in Nx though. It does look like a crapload of boilerplate config, because.. I guess.. it actually is. But, it's not "boilerplate config" that you have to write.
My personal view is that they all have their place, their strengths and weaknesses. This is just a stupid use of an NPM workspace. The Nx library can be imported into the application directly and automatically by name, namespaced to the workspace root.. it's literally that simple. -
@beefdead random tip, if you open Medium backed articles in an incognito tab, it can't track your monthly views. (:
But basically, `nx` by Nrwl has one way of doing a monorepo, and has been around for a long time. It's also not the first, not will it be the last, "monorepo system".
As of `npm@7`, it also now has "workspaces", allowing multiple separate projects in one repo.
So, the guy behind this article creates an Nx workspace, with an Nx generated app, and instead of an Nx generated library (of ANY project type), he creates a NPM module in a path nested alongside the Nx projects.
This module is built, and installed into the Nx workspace dependencies... So that it can be imported into the Nx generated application.
🤔 -
Oh dear good, I just realised.. isn't this just more of the shite that the public ChatGPT service was trained on..? Maybe we are all just doomed after all.. lol.
-
@Lensflare as a _runtime_, JS really is an amazing "thing".. the sheer number of platforms that can run it makes it almost endlessly portable. But with great power, and all that.... Let's just say it's real easy to write bad code in JS.. and to still actually have it "work".
For what it's worth, I do not advocate the writing of JavaScript per se, I believe it's better to write in TypeScript, which obviously doesn't let shit like this happen.
And having said that, JS can run anywhere, sure.. but that doesn't mean it should. 🤔 -
@IntrusionCM oh indeed, and I fully agree.. JS sucks donkey dick with great enthusiasm. But it's still a necessary evil.
FWIW, TS does a lot to help fix the "developer experience", but I'm having way too much fun getting to grips with Dart these days to care about that anymore. 🖖 -
🤣😂🤣 what dream was this scene taken from then...?
-
@fullstackclown after a rather long read, skipping over a fair amount, that was just beautiful... 😂🖖
-
@ostream that, unfortunately, was already in the project.. but this particular project has many, many, many other issues that are much bigger.
I guess in short, I'm trying to "rescue" a mission critical business webapp, working like mad to fix things without rewriting, because "we don't have time to rewrite from scratch"..... 🤦
The real irony here, is that this project is in such a scary bad state, that it would actually take less time to just rewrite it. But alas, I've been telling my bosses that for the last 5 years, and I get the same reply each time. -
@cb219 this would be because the non-strict equality check tries to convert the items being compared to the same type first.. so, the array gets stringified, and `["ping"].toString()` returns `"ping"`. If I remember correctly, the "Array.prototype.toString" method literally just concatenates the values with a comma.
@lorentz indeed! I've been using only the strict comparators for so long, maybe that's why this one caught me out... But alas, when you're working with other people's code, well... Yeah. -
@Akhetopnu yeah, I came to the same conclusion.. ended up with `return obj !== undefined && obj !== null`, which allowed me to simplify almost 20 of the places where this was called.
The problem now is that, due to how pedantic I am about code clarity, I want to rename the function.. because technically it doesn't only check if something "is defined", it actually checks if something "is initialised"... 🤦
Alas, I have bigger fish to fry today. So I'll make some notes (read: tech debt) and come back to it another day. 🖖 -
@hardCoding well, first keep in mind that in JS `null` and `undefined` are different things.. the former is defined with no value, while the latter is not defined.
The way this check was done, along with the way it was being used, means that cases where you would expect the check to return `false` were actually returning `true` instead. Which led to needing further checks on whatever value was being checked in the places it was implemented.
The logic in this particular project doesn't really care about the difference between `null` and `undefined`, we treat both as "falsey".. which is just a really loose definition of "false".
JS is a beautifully fucked up monstrosity.. lol. -
I can't tell if this is a serious question or not... Lol.
Basically, 42 is the decimal code for the ASCII character of "*", which is most commonly used in computers to imply "everything".
But you see, we still don't actually know the question that 42 is the answer for.... So, we're all still fucked. 😂 The universe and all its 42's will get us in the end anyway. -
Wait, what drugs did Doctor Hurdy Gurdy take....? 🤔 Asking for a friend..
-
@Oktokolo for me it's more about the engineering process, problems encountered and solved, etc.. modern and previous generation tech all encounter different issues, so I definitely don't discard it because "it's old", I admire it more instead.
FWIW, I own and use a 1952 Rockwell Beaver table saw... Even got a new saw blade for it just last week. Should I discard it because it's twice my age..? (Spoiler: not gonna happen) -
In hindsight maybe that was the wrong tag.. 🤔 sorry if it was.
-
That violates so many data privacy laws.. wow. 😶🤔😂 Scary shit.
-
I can relate to your pain... Can you believe one of my colleagues actively argues against code formatters..?
Honestly, I can't even understand his logic well enough to paraphrase it for someone else..
None of them bother to merge back into master (main, whatever), and they constantly create release tags on open ended development branches that are, again, never merged back into master.
It's beyond painful.. I'm just waiting for the day that the pain is bigger than the bills (or I land a better job), then I'm fucking flying like a free bird. -
@Grumm pretty much hey.. perhaps not entirely though, but 90% of the UI needs to be redone.
Let's just say this app's "cascading style sheets" only cascade between the levels of styling that were bashed into submission with "!important".
My POA here is, quite literally, delete all stylesheets, run the app, and then see how much work is needed... 😅
Oh yeah, and it also makes use of fixed size tables for layout, so those need to be burnt with fire. Lots and lots of fire. -
Just for clarification, yes we are apparently following SemVer. Or at least, that's what I thought.
But regardless, what the fuck version bump is that supposed to be?? -
As a weed smoker myself, I can assure you there is nothing addictive about any of the plant's properties.. the feeling it gives you, on the other hand, is like free candy to anybody with an addictive personality. But those people tend to have other stability issues as a result of that personality.
Having just come out of an almost 5 year relationship, going from dating to engaged to single, and ironically also with someone who smokes (in my opinion) an obscene amount of weed, I would tend to agree with the majority here... for the sake of your personal health and mental well being, just move on with your life.
The more time you spend here waiting for something, the less time you'll have to be out there experiencing life. -
So.. things happened, and things were said, culminating in "you don't want me in your life, so get the fuck out of mine", and.. well.. she's gone now. 🤔😕
Feels kinda liberating..? In a twisted kinda way? Time will tell.
Thanks for all the supportive comments, by the way.. nice to know there are still some decent people left in the world. 🖖 -
@PAKA that's a good point, I guess that's what we in SA would call "this party, fire, and theft" insurance. Oh the other hand, "comprehensive" insurance would cover hail damage...
-
@Nanos I like your thought process, and can't help but agree with you.. with that said, it is kinda complicated.
There is a silver lining though, now that I think of it.. 🤔 compared to the past year that we've been together, nothing much actually changed when we "broke up". Suffice to say, nothing "relationship" related was happening anyway.
But yeah, she actually doesn't have anywhere to go right now. And she's epileptic. Oh yeah, and our cats (2 each) have become their own little family too..
I've found myself a whole new level of "complicated" with this one. -
@ess3sq in some countries, it is.. here in South Africa, it's only required if a vehicle is financed by a bank (my Accord is full paid off).
Problem is, the last 2-odd years have been absolute hell on my finances and, ironically, I can't afford the monthly payments for comprehensive insurance. -
Lol. I love the diversity of the responses..
To be fair, I most likely won't stop using TS entirely... It does most definitely have it's place in the world, but it's also not the right tool for every job.
I'm doing more and more mobile dev these days, but I do still create API services and desktop apps as well.. so, at the moment I think I'll go for Dart first, I've already dipped my toes in that pool and I like what I've seen so far.
I have looked at Rust enough yet to form my own opinion of it.. very curious about it though, so I'll do that one day, for sure. -
Ouch... Just, wow.. I was on the receiving end of a "what the fuck do I pay you people for" ranting session from my boss recently (in a weekly catch up meeting, because yes we will have those).
Well done for keeping your cool though.. 🤘 maybe some people can't help it, they're just assholes by nature. -
@JsonBoa oh indeed.. fully agree with you there.
FWIW, I actually did a full cloud migration plan for these same people, like, 3 years ago? Meh.. who knows, at this rate I'll have a new job before that gets implemented. -
@jackpearce haha.. nice catch! 🤘