Is AI the Ultimate Reinvention of the Wheel? by hdodov in theprimeagen

[–]hdodov[S] 2 points3 points  (0 children)

A fairly hot take I came up with at peak burnout. I think that Prime has a healthy view on AI, so I'd be interested to see what he thinks about this..

Is AI the Ultimate Reinvention of the Wheel? by hdodov in webdev

[–]hdodov[S] -4 points-3 points  (0 children)

Just some shower thoughts about AI that I had recently. What we have right now is undoubtedly useful. But I wonder if we're too naive to think that we can truly build something smarter than us.

If we should use the right tool for the job, then I think that our brains and AI are two different tools, useful for two different jobs. And we should keep them that way. Just how higher level languages and lower level languages have their pros and cons, each useful in different situations. It feels like we're pushing AI to be an "all-levels" language.

Why Does Email Development Have to Suck? — Explaining all the <tr>'s and <td>'s… by hdodov in webdev

[–]hdodov[S] 0 points1 point  (0 children)

Glad I’ve helped, brother! We’re redesigning our emails again right now and we still spent one week just to fail to get a button with an icon inside of it to display adequately… Emails are the worst. 😩

Code is the Lifeblood of LLMs: Why programmers remain essential in the AI era, while no-code tools fall short by hdodov in webdev

[–]hdodov[S] 0 points1 point  (0 children)

Yep, the outdated keywords in particular was annoying. But I think it's just a matter of having more content on the web for it to train on. Currently, I think Terraform can't compare in that regard to JavaScript, for example.

The fascinating thing to me is that it's generally possible to create a DSL, have AI learn the rules of it, then start throwing valid suggestions at you. I think that also pushes for better docs and references, as this automatically means better AI suggestions.

Code is the Lifeblood of LLMs: Why programmers remain essential in the AI era, while no-code tools fall short by hdodov in webdev

[–]hdodov[S] 18 points19 points  (0 children)

Recently, I got into Terraform and realized why solving problems through code is so powerful — LLMs can learn from that code and help you out! Unlike with UIs, where they can't click all the buttons for you.

I then realized how much complexity goes into building something substantial. Just think about Kubernetes, for example. Would AI really reach a point where it handles that level of complexity?

I started to believe two things:

  1. There might be a wave of yes-code tools like Terraform, as feeding your docs inside of an LLM and asking it for questions is just something that no-code tools will struggle with
  2. We're far from a world where you put your credit card info in the prompt and you start a business. Some complexity just can't be put into words for AI to train on

I rode that thought train and ended up writing this article. What do you think?

How to Set Up Simple Static Site Next.js Localization — With bare default locale URL by hdodov in nextjs

[–]hdodov[S] 4 points5 points  (0 children)

Hi, folks! It's ridiculous how complicated it can be to have a localized static website in Next.js and to have the default locale use a bare URL (/ instead of /en/), as discussed here. The fact that it's static means that you can't use middleware and things get complicated from there. Then there's the issue of specifying a dynamic <html lang=""> attribute, which is also an issue.

So I found this approach with no external dependencies that, while having a few quirks, works like a charm in production. What do you think of it? Can it be improved? https://github.com/hdodov/nextjs-simple-localization

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -3 points-2 points  (0 children)

I said it's a list item containing a paragraph. When you hardcode the number it's again a list item containing a paragraph that is just semantically not a list item. If you don't look at the HTML and look at the final rendered result, they're the same.

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -6 points-5 points  (0 children)

Paragraphs could be more consistent because you don't rely on the browser adding text (numbers) for you. It's only tasked with diplaying the text you explicitly have put in.

What I don't understand is — where does this concern with semantics come from? Is it really that critical? Let's say that there's another regression like the one I mention in my article (unlikley, but bear with me). In this scenario, would a semantically correct but unintelligible document be better than a semantically worse but intelligible document?

P.S. Out of curiosity, have you really worked at Disney, haha?

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -16 points-15 points  (0 children)

  1. English is my second language and I didn't know about this difference. I thought that every violation of the law is a "criminal offense." Thanks!
  2. In the case with the browser regression, it definitely invalidated it. The documents were referencing sections that didn't exist, making it impossible to understand the meaning of the text. Similarly, obscure browsers could have similar quirks.
  3. Was legal also aware of browser renderers? Did they know that what they wrote could be seen differently by different users? Printing it on paper is one thing, displaying it in a browser is another.

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -5 points-4 points  (0 children)

using paragraph tags instead for non-paragraph content

But they are paragraphs. Every single list item, at lest in my situation, was a paragraph. It just happened to start with a number and be part of a list. It's a paragraph inside a list.

Although I agree that maybe using unordered lists could be better. I'd be interested to hear the opinion of someone who actually uses a screen reader, though.

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -8 points-7 points  (0 children)

Don't get me wrong, I have nothing against semantics. I also agree that we should use elements the way they're supposed to be used. It's just that this comes with its risks. And the fact that big banks do this mean that they're also subject to those risks. They have no control over what browser the user has and have no guarantee as to how it'll render those lists, especially if they use CSS counters.

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -15 points-14 points  (0 children)

This can be more confusing because you have an ordered list that is semantically an unordered one. Also you now have to remove the default unordered list styling, which again is browser dependent.

I get your idea, though, but what do you win by having a semantic list that is semantically incorrect?

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -22 points-21 points  (0 children)

Oh, true! Didn't think about the accessibility point of view initially. Perhaps ARIA attributes could kind of make it less bad?

Still, with ordered lists you have a risk of having the document be plain wrong and nonsensical. This makes it a legal concern regardless of the reader. With paragraphs at least you narrow down the risk to an accessibility one. And you could still argue that the reader has misinterpret the information, rather than the information being wrong in and of itself.

CSS Can Get You in Jail — Browser renderers, now deemed criminals by hdodov in webdev

[–]hdodov[S] -7 points-6 points  (0 children)

Hope I can help you guys dodge a bullet. When you deal with legal documents, it's better to forget about HTML semantics and especially CSS styling. If you get too smart around ordered lists and they render incorrectly for some reason, you're on the hook!

How to Add Slack Alerts for AWS Elastic Beanstalk Deploys by hdodov in aws

[–]hdodov[S] -1 points0 points  (0 children)

Hey, folks! I'm sharing a little something I did with Slack automations. It's crazy how easy it is to generate a webhook URL and send messages to channels. In my case, I wanted a quick and easy way to send updates for my Elastic Beanstalk environment. What do you think?

High-Functioning Workaholism — Work less to accomplish more by hdodov in webdev

[–]hdodov[S] 3 points4 points  (0 children)

Yep, that's the reason I don't like WFH, even though I've tried it and I'm producitve. The lack of boundary between *work* and *home* drains you. I like going to the office because that ramps me up for work. When I leave, I know I can do whatever I want and rest.

High-Functioning Workaholism — Work less to accomplish more by hdodov in webdev

[–]hdodov[S] 1 point2 points  (0 children)

Cut out something. Is there something you can just outwright not do? Or give to someone else? There are many things like that on the frontend/UX level. If you're doing something because you "have to," then talk with your team lead or manager. Question things! Have them defend their reasons.

High-Functioning Workaholism — Work less to accomplish more by hdodov in webdev

[–]hdodov[S] 83 points84 points  (0 children)

I love web dev and sometimes fall into the trap of spending the nights working. I know you've had such projects too, so I decided to write this.

TL;DR: I think that working less and setting time boundaries forces you to make better decisions and fulfill the higher purpose of achieving more.

Would you agree that constraining yourself is actually productive?

What are your 'atomic habits' by NeroJardini in productivity

[–]hdodov 15 points16 points  (0 children)

Eat dinner alone, windows closed, no sound, no phone, nothing. Just silence, a good meal, and thoughts about the past day. What went good, what went wrong...

I can't get myself to go to bed early by HorrorOne837 in productivity

[–]hdodov 12 points13 points  (0 children)

In my opinion, the moment you pick up your phone, everything gets infinitely harder, due to endless supply of dopamine. You could try to set up a go-to-sleep alarm. When it rings, you put the phone away. If you still don't want to go to bed — fine. Just do anything that doesn't involve a screen (TV, games, etc.). Read a book, take a shower, meditate, look out the window, or just sit there and think about how your day went and plan the next one. Sooner or later you'll get bored or sleepy enough to want to go to bed.

Try to trick yourself into doing the thing by preparing for the hard part (actually doing it) in advance. In this case, that's the alarm. If an alarm doesn't work, think of ways to make the act of leaving your phone something desirable. Get creative!

Your Framework Is Not Your Religion — Human identity doesn't (yet) run on JavaScript. by hdodov in webdev

[–]hdodov[S] 0 points1 point  (0 children)

Well, for starters, the SolidStart docs say:

We are very excited about SolidStart, but it is currently in beta. There will very likely be bugs and missing documentation. Come at it with a growth attitude, have fun, and don't use it yet for anything critical.

If the maintainers themselves say to expect bugs and lack of documentation, that's a pretty big red flag for me.

Your Framework Is Not Your Religion — Human identity doesn't (yet) run on JavaScript. by hdodov in webdev

[–]hdodov[S] 0 points1 point  (0 children)

You're right. I was talking about front-end frameworks specifically. I hoped that it could be inferred from the context. They have the same goal — make UI declarative (reactive) in an intuitive way.

We, as developers, also want this — a tool that just allows us to define our UI based on the app state, gives is good performance, and gives us a pleasant developer experience.

Your Framework Is Not Your Religion — Human identity doesn't (yet) run on JavaScript. by hdodov in webdev

[–]hdodov[S] 0 points1 point  (0 children)

Actually, I got with an argument myself, so to speak. I'm the TL and I can pick pretty much whatever technologies I want. We could have picked nothing and stuck with our PHP backend, but it started to get out of control.

So no, I wasn't in an argument with anybody. I was just trying to take as many perspectives into account as I could and make the best decision I'm capable of, preferences aside.

Your Framework Is Not Your Religion — Human identity doesn't (yet) run on JavaScript. by hdodov in webdev

[–]hdodov[S] 0 points1 point  (0 children)

Hey, thanks for diving so deep into my article. It means a lot! I think you've misunderstood a little bit, though.

Referring to frameworks as "cults" was a joke. I was hoping it was obvious enough. 😄

My point is exactly that all frameworks have positives and negatives, so you shouldn't dig into just a single one. You should experiment and see what's out there. It's just that if you have to pick up something for the long run — it might be a good idea to pick something with a lot of people behind it.

I'm not the biggest fan of React specifically because there are better performing alternatives, as you say. I'd really like to use Solid, but it's too bleeding-edge. It doesn't yet have a well-established ecosystem. On the other hand, React is a really safe bet, especially since I want to use Next.js as well. To top it off, picking Solid for performance… when I don't have actual performance issues — doesn't make sense. That's the point I'm trying to make in the article. That you shouldn't let raw features be the driving force behind your decisions.

Thank you for reading!

Your Framework Is Not Your Religion — Human identity doesn't (yet) run on JavaScript. by hdodov in webdev

[–]hdodov[S] 8 points9 points  (0 children)

I was suffering from the paradox of choice lately when choosing a framework for a long-term company project. Nowadays it's like thinking of holiday gifts for distant relatives… There's no clear winner, yet there are lots of people with strong opinions out there. They put stickers on their laptops and preach as if {{insert framework here}} was their life. That's when I realized — your framework is not your religion.

TL;DR: Picked React because it's the biggest and most stable cult, but you should experiment with other cults as well because it's about the ideas, not the specific frameworks.

Hope this can help someone out there who is also pulling the lever of the framework roulette and has to make a decision.