Ricardo Canastro's Avatar

Ricardo Canastro

@canastro.dev

Software Developer @ Translucent Playing around with Chronical - a blog-like platform oriented for photography storytelling

133
Followers
235
Following
86
Posts
28.10.2024
Joined
Posts Following

Latest posts by Ricardo Canastro @canastro.dev

Preview
cert-manager Cloud native X.509 certificate management for Kubernetes and OpenShift

I've been trying to use GCP Managed Certificates with DNS Authorization, but no success.

I guess that I'll have to try cert-manager.io ... I was hoping for something easier and more straightforward.

14.03.2025 18:17 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Back to playing with k8s & Google Cloud:
1. Postgres StatefulSet βœ…
2. Redis βœ…
3. Google Secrets βœ…
4. NextJS App (+load google secrets on boot) βœ…

But now, I'm struggling hard to get a Wildcard Certificate working with my Ingress/LB 😭

#kubernetes #gcp

14.03.2025 18:17 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Visual representation of services in a railway dashboard

Visual representation of services in a railway dashboard

With railway.app I have:
- 2 next.js apps
- 2 node.js apps
- 2 postgres
- 1 redis
- 1 temporal ui
- 1 temporal engine

And pay like $12 per month (monitoring stuff is currently paused as it would add an extra $8)!

03.03.2025 20:35 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Breakdown of amount paid for a single day in google cloud with an empty kubernetes cluster. 
- Kubernetes engine: €3.46
- Could Monitoring: €0.83
- Networking: €0.38
Total: €4.68

Breakdown of amount paid for a single day in google cloud with an empty kubernetes cluster. - Kubernetes engine: €3.46 - Could Monitoring: €0.83 - Networking: €0.38 Total: €4.68

Playing around with @kubernetes.io on GoogleCloud - spun up an empty cluster, deployed a couple of Docker images… and got an instant €5 bill on day one.

Amazes me how services like railway.app and fly.io manage to offer so much at such low prices!

03.03.2025 20:35 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Is this the new axis of evil?

25.02.2025 20:04 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

My 3yo loves playing it and consistently beats me! not at 6am though πŸ˜…

22.02.2025 06:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Go Class - YouTube These videos represent a new version of my Go class, with changes due to recording it vs teaching live. It's my Christmas present to a bunch of golang-nuts a...

Here is the link for the course youtube.com/playlist?lis...

It’s 4 years old, but given the stability of go, most still applies. Only missing a chapter or two on generics (they weren’t released back then)

23.01.2025 23:05 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Matt Holidayβ€˜s β€œgo class” is a masterpiece. Can’t believe there’s content of this quality freely available. It’s been a good learning experience not only in @golang.org but also in software development as a whole.

23.01.2025 23:05 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

I’ve been working on a side projectβ€”a blog-like platform focused on photography. It’s a space where photographers can blend storytelling with their visuals.

Not sure if it will ever see the light of day, but I’ve learned a lot along the way.

Designs by @umzuuh.bsky.social 😍

26.11.2024 18:31 πŸ‘ 6 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

For now, the CLI is local, but it has already streamlined my workflow significantly. Managing tasks in Chronical feels much more organized and efficient now.

11.01.2025 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

One thing I haven’t figured out yet is how to publish the CLI for global use. The ESM + TypeScript combo has made this trickier than expected, and I’m not willing to spend too much time on it for now.

11.01.2025 15:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I used `@effect/cli` to build this, and it took just a couple of hours to have everything done and ready to merge! Effect is as brilliant as ever. πŸŽ‰

11.01.2025 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Switching between folders to perform these tasks was manageable for now, but in a few months, I’d probably feel lost trying to find specific tasks.

To solve this, I built a centralized CLI to keep all these tasks in one place. It’s a huge help in reducing cognitive load.

11.01.2025 15:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

In my monorepo, I had several tasks scattered across different packages.

* Run @temporal.io workflows manually
* Deploy smart contracts with hardhat (local/testnet)
* Create/deploy local graphs with @graphprotocol.bsky.social
* Run migrations/seeds ...and more.

#buildinpublic

11.01.2025 15:57 πŸ‘ 6 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Kudos to @mattmazur.com πŸ‘

05.01.2025 23:24 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - mattm/sql-style-guide: An opinionated guide for writing clean, maintainable SQL. An opinionated guide for writing clean, maintainable SQL. - mattm/sql-style-guide

This style guide puts into words some of the unspoken (and OCD-like) rules I followβ€”and adds a few I’ll adopt.

One concept I plan to explore further is CTEs. I’ve used them sporadically, but after reading a few articles, they seem worth a deeper dive.

github.com/mattm/sql-st... #buildinpublic

05.01.2025 23:19 πŸ‘ 12 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
A deployment architecture diagram showing interconnected services

A deployment architecture diagram showing interconnected services

Dashboard displaying PostgreSQL database metrics: version 16.3.0, CPU and memory usage graphs, file descriptors, settings like shared buffers and cache, and database stats including active sessions and transactions.

Dashboard displaying PostgreSQL database metrics: version 16.3.0, CPU and memory usage graphs, file descriptors, settings like shared buffers and cache, and database stats including active sessions and transactions.

Screenshot of a Grafana dashboard displaying metrics for a Node.js application. Panels include CPU utilization, event loop lag, process memory usage, heap usage details (total, used, and available), with colorful graphs tracking values over the last hour.

Screenshot of a Grafana dashboard displaying metrics for a Node.js application. Panels include CPU utilization, event loop lag, process memory usage, heap usage details (total, used, and available), with colorful graphs tracking values over the last hour.

Got Prometheus metrics set up and dashboards running in Grafana for some generic metrics. Still need to explore good insights and custom metrics, but it feels great to have the foundation in place!

#buildinpublic

05.01.2025 14:59 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Although Chronical isn’t live yet (zero users πŸ˜…), I’m using it to sharpen my engineering skills. This week, I focused on Grafana & Prometheus, and as soon as I set up tracing, I found a couple of performance improvements. Insights like this feel like a superpower! #buildinpublic

04.01.2025 16:52 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
issue: removing an element from a field array causes unexpected behavior in multi-select dirty fields Β· Issue #12158 Β· react-hook-form/react-hook-form Version Number 7.52.2 Codesandbox/Expo snack https://codesandbox.io/s/mantine-v7-forked-5fstfp?file=/src/App.jsx Steps to reproduce Go to https://codesandbox.io/s/mantine-v7-forked-5fstfp?file=/src...

I've mostly enjoyed working with RHF, this issue was the only design limitation I faced: github.com/react-hook-f...

It was quite frustrating as I had to change my UX due to this.

04.01.2025 09:56 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Yosemitebear Mountain Double Rainbow 1-8-10
Yosemitebear Mountain Double Rainbow 1-8-10 YouTube video by Yosemitebear62

Whenever I see a double rainbow this video is all I can think about…

youtu.be/OQSNhk5ICTI?...

02.01.2025 08:26 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

In Chronical, users can customize parts of the overall theme to better align with their brand. While customization options are currently limited, our goal is to give users the tools to make their publications truly reflect their brand identity.

#buildinpublic

01.01.2025 23:33 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Thrilled with how Stories are shaping up on Chronical!

#buildinpublic

31.12.2024 15:21 πŸ‘ 7 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I got interested when i saw Evan β€˜s announcement of VoidZero, but it’s still early, the formatter is not available yet. I’ll keep an eye, for sure!

31.12.2024 08:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Apple pencil hover effect is sooooo good! I love it on the freeform app, but works so well on some websites as well, check how great it is at effect.website docs.

I usually track the text I’m reading with the pencil (and point at stuff), and here I get extra info in the hover dialogs πŸ₯°

30.12.2024 23:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Probably these were the ones with the most impact:

Effect - effect.website (discovered in 2023, but gone more in-depth in 2024)
Temporal - temporal.io
Railway - railway.com
Cursor - cursor.com

I would include Biome, but I'm still struggling with having it working properly with my monorepo.

30.12.2024 20:38 πŸ‘ 9 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Just watched it. Loved it, immediate subscribe. Keep it up πŸ₯°

30.12.2024 19:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

"Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better." - Dijkstra

One of the many gems about software design philosophies found in github.com/ardanlabs/go...

#softwaredevelopment #programming

25.12.2024 21:38 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Finally, I implemented an optimistic pre-fetching strategy: while viewing an image, the assets to its left and right in the gallery are preloaded. This way, transitions feel instant when navigating between images.

25.12.2024 18:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Next, I tried blurring the currently displayed image and adding a loading spinner while fetching the next one. It looked better, but the transitions still felt slow and awkwardβ€”blurring an already fully loaded image didn’t feel right.

25.12.2024 18:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

The first step was tweaking the `react-query` to keep the previously image data during transitions. This removed the blank screen issue, but the transitions still felt unresponsive.

25.12.2024 18:21 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0