Fasil - ETDevs
781 subscribers
179 photos
18 videos
2 files
211 links
@etdevs official channel

Have someting to share?
use @etdevsofftopic
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
๐Ÿš€ Better-Hack โ€” In Person Hackathon

Get ready for Better-Hack, an in-person hackathon proudly brought to you by Better-Auth.
Build impactful projects, meet fellow developers, and compete for a grand prize pool of 200k.

๐Ÿ—“๏ธ October 04 โ€“ 05
๐Ÿ“ DxValley 2.0 โ€“ Incubation Center, Africa Ave, Addis Ababa
(See on map โ†’ Google Maps)

๐ŸŽ Rewards
Alongside the prize pool, expect bonus rewards, exclusive merch, stickers, and sponsor goodies.

โšก Sign up today โ†’ better-hack.io

โณ Registration closes Wednesday at midnight

Bring your laptop, your ideas, and your team. Letโ€™s make Better-Hack unforgettable.
โค1
Forwarded from Seed
Hey guys, Iโ€™m developing an IDE from scratch focused on graph-based visualization of relationships between functions and classes. The aim is to simplify coding and managing large projects for both humans and language models. Anyone interested is welcome to contribute

https://github.com/v-noc/IDE/tree/main
โšก3โค1
๐—˜๐˜ƒ๐—ผ๐—น๐˜ƒ๐—ถ๐—ป๐—ด ๐——๐—ฎ๐˜๐—ฎ ๐— ๐—ผ๐—ฑ๐—ฒ๐—น๐˜€ ๐—ช๐—ถ๐˜๐—ต๐—ผ๐˜‚๐˜ ๐—•๐—ฟ๐—ฒ๐—ฎ๐—ธ๐—ถ๐—ป๐—ด ๐—ฃ๐—ฟ๐—ผ๐—ฑ๐˜‚๐—ฐ๐˜๐—ถ๐—ผ๐—ป

In long-lived systems, data models inevitably change.
The real challenge isn't designing the new model, it's rolling it out without breaking production.

Most teams learn this the hard way.

๐—” ๐—ณ๐—ฎ๐—บ๐—ถ๐—น๐—ถ๐—ฎ๐—ฟ ๐˜€๐˜๐—ผ๐—ฟ๐˜†

An application starts simple.
Files are stored as raw strings:

file = "https://storage.example.com/files/123.pdf"

It works. Everything ships. Life is good.

Then requirements grow:
- access control
- metadata
- auditing
- lifecycle rules

Suddenly, that string isn't enough.
You introduce a proper model where files are first-class entities:

fileId = "abc123"

The temptation is to rewrite everything at once.
That's usually where things go wrong.

๐—ง๐—ต๐—ฒ ๐˜€๐—ฎ๐—ณ๐—ฒ๐—ฟ ๐—ฎ๐—ฝ๐—ฝ๐—ฟ๐—ผ๐—ฎ๐—ฐ๐—ต

Instead of a breaking rewrite:
- Legacy records keep file
- New records write fileId
- The read path becomes dual-aware

At runtime:

const resolvedFile = fileId
? loadFileById(fileId)
: file;

๐—˜๐—ป๐—ณ๐—ผ๐—ฟ๐—ฐ๐—ฒ๐—บ๐—ฒ๐—ป๐˜ ๐˜€๐˜๐—ฟ๐—ฎ๐˜๐—ฒ๐—ด๐˜†

- Reads: support both formats (new first, legacy fallback)
- Writes: enforce the new format at the API boundary
- Database schema: stay permissive during the transition
- Optional migrations can happen later when the system is stable, not when it's under pressure.

๐—ช๐—ต๐˜† ๐˜๐—ต๐—ถ๐˜€ ๐˜„๐—ผ๐—ฟ๐—ธ๐˜€

- Avoids risky โ€œbig-bangโ€ migrations
- Keeps production behavior unchanged
- Allows gradual cleanup
- Preserves the ability to move fast later

This allows you to improve structure and safety without risky rewrites or downtime.

Good software evolves but it evolves carefully.

@etdevsresource
โค2๐Ÿ˜2๐Ÿ‘Ž1
Fasil - ETDevs
https://you-think-you-have-time-huh.vercel.app/
You think you have timeโ€ฆ

This hit harder than I expected.
"... to protect developers who have not yet upgraded"


Context: recent Nextjs vulnerabilities
Can your thinking explain what sweetness tastes like?

Can your thinking explain love?

Can your thinking fully explain pain?

You must experience them.
Meditation done as a goal reinforces the doer.
I played football yesterday after 11 years. My feet betrayed me ๐Ÿ˜…. I was nervous. Every kick sounded loud. I can't believe I've become like this. I tried to do what I used to do, and I ended up with a slight sprain. I'll play every week from now on.
โค1๐Ÿคฃ1
Watching Demolition (2015)
โค1๐Ÿ”ฅ1