Advertisement · 728 × 90

Posts by Renato Lacerda

Domain Modeling Made Functional – Scott Wlaschin
Domain Modeling Made Functional – Scott Wlaschin YouTube video by DevTernity Conference

That is why this is one my favorite talks:
www.youtube.com/watch?v=MlPQ...

1 week ago 2 0 0 0

One of the reason there are eslint rules that enforce using an arrow function in callbacks.

1 week ago 1 0 0 0

Documentation that is just code summarized by an LLM (but not thoroughly reviewed) is worse than nothing. I would rather run the prompt myself and be cautious with the result, than assume the documentation is right when it is not.

2 weeks ago 2 0 0 0
Video
1 month ago 13949 5270 92 259

Started doing that, but after a few weeks I felt less and less conected to the code. The problem is that I'm responsible for it, yet I'm not 100% sure what it does. If someone asks "Does it handle X?", you can only say: "I would have to ask claude"

1 month ago 5 0 2 1

See how fast we went to the moon, and then we just stopped there.

1 month ago 0 0 1 0

Me checking to make sure I didn't accidentally bring a gun on my flight.

1 month ago 0 0 0 0
screenshot of a terminal running the command `git push origin main`, the output of the command has been modified to show a video player advertising squarespace, as a parody.

screenshot of a terminal running the command `git push origin main`, the output of the command has been modified to show a video player advertising squarespace, as a parody.

2 months ago 348 53 12 8
An HTML snippet showing a div element with nearly 30 classes applied, totaling more than 700 characters.

An HTML snippet showing a div element with nearly 30 classes applied, totaling more than 700 characters.

Mhmm yes this totally makes my job easier

2 months ago 85 7 10 1
Advertisement
Preview
The golden thread AI can serve us as a force multiplier, augmenting our own agency and making the most of our own effort, hard work and value. Not by replacing it.

wrote some things I've been thinking about ai
... and it ended up feeling very personal

roe.dev/blog/the-go...

2 months ago 190 61 23 10

Are you narrating and using whisper-x for timestamping? Or are you using a IA clone to read?

3 months ago 1 0 1 0

My biggest fear is that this will lead to closed communities, making it harder for new developers to contribute.

3 months ago 4 0 0 0
Preview
Vibe coding is boring Vibe coding gets the job done, but there's no thrill in the build.

For day 13 of #blogvent, I wrote about vibe coding... and how boring it is.

cassidoo.co/post/vibe-co...

3 months ago 76 10 9 1

This was actually one of the few extensions I was missing from VsCode 🙌

4 months ago 1 0 0 0
Post image
4 months ago 5124 2164 24 55

Insane. Can't wait to share with my team.

4 months ago 1 0 0 0
AI Coding Sucks
AI Coding Sucks YouTube video by Syntax

AI coding sucks

CJ just one-shotted a 15 min rant and it's incredibly refreshing.

www.youtube.com/watch?v=0ZUk...

6 months ago 178 29 13 11
Advertisement

I'm on the same boat. Sometimes I'll just email myself the task and scheadule the send date.

6 months ago 1 0 0 0

I heard a rumour that they're releasing HTML6 next week, which deprecates semantics and introduces 3 new types of div.

Can't wait!

6 months ago 35 5 5 3
Post image
7 months ago 1354 242 28 19
Preview
ChatGPT and the proliferation of obsolete and broken solutions to problems we hadn’t had for over half a decade before its launch It was a lovely day on the internet when someone asked how to CSS animated gradient text like ChatGPT’s “Searching the web” and promptly got an answer saying “Have you tried asking ChatGPT? Here’s what it told me!” – well, maybe not these exact words, but at least it rhymes. Both the question and this […]

Which reminds me of what @anatudor.bsky.social wrote about ChatGPT and CSS solutions: frontendmasters.com/blog/chatgpt...

8 months ago 1 0 1 0

On the subject, how is nuxt support for dotenvx? I really liked the idea of the encrypt .env, but I'm not sure how to integrate with nuxt. (maybe I can write a module? 👀)

9 months ago 1 0 1 0

I think @wagslane.bsky.social talked about doing that for the helper bot on boot.dev

9 months ago 1 0 0 0

I guess doing something similar with flex is impossible, right?

I needed flex with wrap, but applying a margin left on the odd rows and margin right on even rows.

It might be possible with JavaScript, but I didn't try.

9 months ago 0 0 1 0

I would love to see `Rescript` working with Vue/Nuxt 👀

9 months ago 3 0 1 0
A TypeScript code snippet showing two type aliases for defining asynchronous data states.

The first type, `State<T>`, is a concise discriminated union with four possible states:
- `{ status: "loading" }`
- `{ status: "idle" }`
- `{ status: "done", data: T }`
- `{ status: "error", error: Error }`

The second type, `StateVerbose<T>`, shows a more explicit version of the same states, using the `never` type for properties that shouldn't exist in a particular state. For example, in the "loading" state, `data` and `error` are explicitly marked as `never`.

A TypeScript code snippet showing two type aliases for defining asynchronous data states. The first type, `State<T>`, is a concise discriminated union with four possible states: - `{ status: "loading" }` - `{ status: "idle" }` - `{ status: "done", data: T }` - `{ status: "error", error: Error }` The second type, `StateVerbose<T>`, shows a more explicit version of the same states, using the `never` type for properties that shouldn't exist in a particular state. For example, in the "loading" state, `data` and `error` are explicitly marked as `never`.

@mattpocock.com Do I need to include fields that are "never" in discriminated unions? ChatGPT keep telling me the second one is "safer" but I don't believe it.

9 months ago 4 0 1 0
Advertisement
A screenshot of TypeScript code implementing a recursive conditional type called ValidSequence. It validates a readonly array of colors against a union type ValidPairs. The logic recursively checks if each adjacent pair in the input array is present in ValidPairs. Test cases in the image demonstrate its validation for both valid and invalid sequences.

A screenshot of TypeScript code implementing a recursive conditional type called ValidSequence. It validates a readonly array of colors against a union type ValidPairs. The logic recursively checks if each adjacent pair in the input array is present in ValidPairs. Test cases in the image demonstrate its validation for both valid and invalid sequences.

Decided to challenge myself and solve @cassidoo.co interview question of the week using types only. It's possible 🤯

This challenge got me so hyped, it was the perfect excuse to write a blog post!

renatolacerda.com/en/blog/vali...

10 months ago 23 1 1 0
Vue SFC Playground

Yes, but I rarely find a use for it. Most of the time you can lift the state and make the componet "more pure"

While the new `useTemplateRef` composables makes using it WAY EASIER, it's still something I rarely need to reach for

But I did use it today to write a wrapper around a `dialog` element.

10 months ago 1 0 1 0

That is why I always set `pwfeedback` on visudo

1 year ago 1 0 0 0
Image is a print of the following CSS Code: 
```
:where(.g-card) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  border-radius: 0.5rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
```

Image is a print of the following CSS Code: ``` :where(.g-card) { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 1rem; border-radius: 0.5rem; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1); background-color: #fff; } ```

Is it crazy to use prefixes for global css classes when using scoped style (vue and svelte)?
- Easier to know where the style is coming from
- Harder to get conflicts
- 0 specificity with :where make it super easy to override it

@w3cj.com & @tolin.ski were talking about hard to find global styles.

1 year ago 3 0 0 0