Hacker News new | past | comments | ask | show | jobs | submit login
The Real Dark Web (sonniesedge.net)
67 points by skilled 77 days ago | hide | past | web | favorite | 44 comments

Interesting observation, but author's analysis is a way off IMHO. I use sass not because I'm "unprivileged" or there're some special legacy requirements - I use it because it does the job wonderfully and I don't really need to mix css with js for the type of projects that I do. Speaking of observations, most of devs that I worked with who pushed for CSS-in-JS were really either newbies who like to play with new stuff or the folks who were not that good with css and sass, and then they tend to reinvent the wheel by using very little, very basic css and lots of js to achieve the same effects that can be handled in pure css much more elegantly. Obviously this is purely anecdotal, I totally understand that for complex animations or in big systems where modularity is crucial css-in-js makes a lot of sense. As with any tool, you need to choose the right one for your particular project.

There's plenty of room for innovation using proven tech. Trying new ways can be stimulating, but it must not get in the way of accessibility, reliability and security.

CSS-in-JS is the perfect example of a tech that introduces problems and complexity in almost all cases.

CSS Modules give all of the benefits of CSS-in-JS plus the junior devs won’t be tempted to put 300 lines of styles in the same file as the view component.

And you can still use SASS. With those benefits, I don’t see any reason to use CSS-in-JS over CSS Modules in any project.

Css modules automate the process and it's totally OK approach, but with a bit of discipline imposed on the team members you can achieve the same effect manually and avoid the weird looking foo_532xy157678 classes. You just need a proper selector naming convention in place, and then make everyone stick to it. It's not a rocket science really, you just add a unique class (usually module's name works just fine here) to every module's root element, and then in sass you wrap everything related to that module with that class and that's it, it's namespaced... add some BEM to the mix and you've got yourself fairly easy to understand and maintain sass/css with zero overhead... obviously takes some practice to unlearn yourself from using overly general selectors, but it's like learning to write testable code, you quickly learn to pay attention to bad practices...

I am reminded of a conversation I once had at Microsoft about some upcoming rocket science technology that wouldn't ship version 1 for a year or two — WPF? DAO? some such thing — and one of the managers referred dismissively to "legacy code". To which one of the others present responded, "to be clear, by 'legacy code' you're referring to all existing code?"

I'd also like to point out that in my experience actual "engineers" tend to pick the most boring possible technology to do something. Because it probably works. (The really interesting jobs are where even the most boring possible technology to accomplish it doesn't exist yet.)

> ...actual "engineers" tend to pick the most boring possible technology to do something. Because it probably works.

That's because decent engineers understand that their job is not tech but business - tech is only a means to an end, and that end is to help business thrive.

I've been in the opposite situation of a bad dev pushing every big-data tech he took a fancy to, and the management not being clue-ful enough to understand where it was leading them. Big data frameworks are expensive in every way, and become heavy negative cost if the data is not big.

The headline (if it gets changed: "The real dark web") is terrible and clickbaity.

I clicked because I thought it would talk about the actual Dark Web[0] but instead I saw a discussion about how many people use a CSS abstraction layer called Sass

[0] https://en.wikipedia.org/wiki/Dark_web

"Lots and lots of web developers still use 'bad' 'old' languages and technology."

Its about web development; it has nothing to do with darknets (except for the analogy in the title I guess?). I didn't know what SASS was so I looked it up:

"Sass is the most mature, stable, and powerful professional grade CSS extension language in the world." [1]

[1] https://sass-lang.com/

You're absolutely right, but I'm glad I clicked anyway, even if it wasn't what I expected.

Until I learned I'm behind the curve.

Look, I think CSS-in-JS is a great idea. It's cool, in fact I remember suggesting something similar to my lead dev as a newbie 12 years ago. He basically told me I was an idiot.

My point is you guys are getting fired up over things that are just variations on a theme. First it was mix presentation and logic. Then it was separate it all, html, css, js. Then it was put some restricted js functionality in html. Then it was f* it lets just do it js.

Just... yawn. Think bigger.

> Just... yawn. Think bigger.

More specifically: Think subjectively, think what's relevant to your current context...

Most important, is to lose the "everything is a nail attitude" and instead find the solution that fits best for your current problem. It's very difficult to make unbiased well balanced decisions to use a solution when starting from the solutions perspective. It's better to start with the problem first and stop focusing too much on tools, methods, patterns etc. i.e be invested in your problem not some solution, you don't owe them anything.

None of these ideas e.g CSS-in-JS are absolutely good or bad, they can be good in one context and bad in another, however very often the distribution is such that they are bad to generally apply - programming patterns being the worst and most often abused case of things that should not be generally applied and which are.

It's ok to talk about new ideas, it's not ok to forcefully apply the latest idea to everything you touch like it's your new religion.

> My point is you guys are getting fired up over things that are just variations on a theme.

My first thought was: how long before we see CSS-in-TS

One thing I've noticed is as I grow older I start to choose older and more mature stable technologies. Is that a normal progression of for developers?

Depends on the task. I've used more new stuff in the last few years than the previous decade and I'm 46. But I fully appreciate the tradeoffs.

No shiny objects is the rule. But break it if it's an obvious (necessary?) improvement and you know how to inject new technologies safely.

When you only have one principle to worry about, life is simple. More than one, you're always trading something off.

When desperately want to impress and get impressed. When we are younger our toolset and vision are limited so we try to achieve that through an exploration of non-mainstream tools and techniques. As we gain seniority our goals are getting on a higher and higher level, so we want to unload some of the lower-level stuff to concentrate on the higher-level stuff and the safest and easiest way to do that is to rely on established tools and practices.

I mean, if you want to capture the market of American tourists in France you wouldn't want to spend too much time on whether to use Oracle or MongoDB. Yes, the technical debate is interesting and these new kids do interesting things but you have been through many debates and know the arguments and none of that has to to with your higher level goals.

I’d hope so. I know, in my case, I’m more productive working with the stack that I know well and that works well, even if it’s not bleeding edge, or even cutting edge. I’ve looked at React, et al, and they’re cool, but I’m just faster with jQuery and, anyway, I’m not working on the type of apps that React is preferred for. Plus I’m not throwing the rest of the team in front of the bus, just so I can be all shiny and new.

I am not sure how old you are but it could be that when you were young, there were no mature and stable technologies to choose from to begin with :D

Yes. It means you've been around long enough to have been burned by following the latest trend.

I vet heavily, because I finally have the experience to do so.

Side note: I like the way that this site uses twitter mentions/favorites to display the comments below the article, looks seamless and a low barrier to get feedback.

Those are not simple Twitter mentions/favorites. Those are Webmentions[0].

The author is probably using a bridge that converts tweets to Webmentions, but if you submit a Webmention from your own blog it will appear there as well, without needing Twitter in the middle. That's the beauty of it :)

[0] https://indieweb.org/Webmention

It probably makes use of the https://brid.gy gateway to display content from silos such as Twitter.

This is an intended usecase of the indieweb, see https://indieweb.org/backfeed

Implementing webmentions on your website is not hard. But if you don't want to selfhost your own webmention endpoint (or can't), take a look at webmention.io (that plays well with bridgy) to host your webmentions and expose a JSON API. This API allows you for example, when a building a page, to query the API for webmentions related to this piece of content so you can display those interactions nicely as on the original article linked.

> Most web developers are working on very "boring" teams. They're producing workhorse products that serve the organisation needs. They aren't trying to innovate.

This analysis is bogus, it assumes innovation is defined by bleeding edge technology and tooling... specific technology or tooling does not define or even positively correlate with innovation of the project itself.

In fact I would go as far as saying it potentially has a negative correlation - bleeding edge tooling or technology can be especially distracting unless the difference is fundamentally relevant - when I pick the simplest most boring tool it's often because they are well understood, mature and minimize the time I spent focusing on them, unlike bleeding edge things that pull me away from the core problem or thing I am trying to "innovate". These are not mutually exclusive either, you might have some people working on putting together build pipelines who are very "noisy" about up and coming technologies that can simplify or improve their systems somehow... and completely separately some other people who write the code that goes through that pipeline and may or may not care about it's exact makeup, they also may or may not be "noisy" about the patterns or strategies they came up with to innovate in their problem areas.

While it is true there is a visible and invisible part of the world of development (not everyone blogs), the analogy completely breaks down when you try to infer things from that observed absence of information because people are not amorphous matter. People are the complete entropic opposite, they are highly animate high entropy matter exhibitting some of the most complex behavior known - Attempting to infer a single quality of one of their most complex and intentional behaviors from a lack of information is not going to work... even for dark matter we only dare to infer extremely generic things such as quantity.

See also https://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen....

EDIT: original comment sounded like I was implying plagiarism, which was not my intent.

The credibility of the so-called 1% ended with the Leftpad crisis.

> Dark matter permeates the universe. In fact it does more than permeate. It is the universe. 85% percent of everything that exists is actually dark matter. We can't detect it, we can't see it. But it's there.

Dark matter is so cringy and one of the most embarrassing moves from physics. Instead of admitting there is a massive flaw in the models, they decided to name it.

What "massive flaw"? The model works for most uses. Why can't there be matter that only interacts with gravity?

Do we have any explanation that makes sense without supposing the existing of dark matter?

> Do we have any explanation that makes sense without supposing the existing of dark matter?

Why not just go with "God" /s? Being unable to explain things doesn't mean we should pretend to invent some. It literally is, in this case, the name for that which we cannot explain, without being forthright about it.

> The model works for most uses.

Newtonian physics also worked for 100% of cases for centuries.

The "massive flaw" is that a massive "85%" of the universe is composed of this thing that our models can't explain and our solution was to name it.

The universe consists of particles and fields, which can be mapped to vertexes and edges on a graph.

The graph isn't fully connected. It isn't close. It shouldn't be a surprise that some particles are only connected to each other via gravity -- several are only connected via two.

What I find interesting is the possibility that dark matter is made up of multiple particles, which interact with each other, but not ours. There might be multiple such groupings. That would neatly explain why most of the universe is dark matter, and we ourselves would be dark matter to someone else.

God is a much more complex explanation than "Something like matter, but it doesn't interact with other matter except via gravity". It's also much harder to design experiments to falsify different versions of God, than it is to design experiments that falsify different version of dark matter. For example we are quite sure that Dark matter is not just cool ordinary matter (MACHOs) because we looked for that and didn't find it. https://en.wikipedia.org/wiki/Dark_matter#Detection_of_dark_...

Newtonian physics is still taught and used by almost everyone who needs physics. All engineers use Newtonian physics for structural calculations. It's a perfectly adequate approximation for everyday reality.

Okay, so you think dark matter is unfeasible but a supreme creator makes more sense to you. I was under the impression that I'll find some new knowledge of rationality or physics, but thanks for sharing your views nonetheless.

My point was they're equally weak explanations, not that God was the worth considering as an explanation. Added "/s" to clarify.

It is not an explanation it’s a name for a phenomenon that no physicists will tell you is fully understood.

Nit: Dark matter only interacts with gravity.

Thanks for the correction, edited.

Thank you! I'm not the only one on this planet who thinks the whole dark matter thing is baloney.

"It's there but we can't see, detect, or feel it. But we need it to exist because it explains some phenomina we can't figure out without it."



Since "dark matter" seems to be one of HN's trigger phrases, I'm linking a recently linked article and HN thread explaining the rationale behind dark matter, and discussions of the common alternative explanations[0].

For posters who instinctively dismiss Medium articles, there are plenty of harder links therein.

The TL;DR is that scientists are not actually idiots who simply can neither comprehend, nor accept, flaws in their models, and chances are they've considered whatever obvious thing popped into your head as soon as you read the words "dark matter." The universe is not only stranger than we imagine, it's stranger than we can imagine.



The business ppl eg. non-engineers are the ones who decide the tech stack. This makes software choise hype driven and basically becomes a sales/marketing process.

I'm not sure if some of that innovation whithout prior knowledge of older tech is really rediscovery or just plain theft of prior art.

i voted for and still use sass but inside vue/nuxt - i have no desired to write css inside js, why? because I don't have time to relearn the wheel and I choose vue over everything else because I get to write code faster, not just css but html and javascript at the same time. I use the tools that work well for me so I can move prototypes to production faster.

The next step is to work with the tools that let your whole team work fast, on board new members fast, etc...

tl;dr rm hype

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact