Vuong Nguyen

3.2K posts

Vuong Nguyen

Vuong Nguyen

@vuong

JavaScript enthusiast, web developer.

Auckland - New Zealand Katılım Ağustos 2010
1.3K Takip Edilen660 Takipçiler
Vuong Nguyen retweetledi
Abhishek Singh
Abhishek Singh@0xlelouch_·
For people asking what to build to really learn Go, here’s a progression that maps well to how Go actually teaches you pragmatic systems thinking, concurrency, and production discipline. --- Simple (start here, learn fundamentals & clarity) 1. Build a CLI tool (flag parsing, file I/O, error handling) 2. Build a log processor (bufio, streaming, memory efficiency) 3. Build a small HTTP client (net/http, retries, timeouts) 4. Build a basic HTTP server (handlers, middleware, context) 5. Build an in-memory cache (maps, mutexes, TTL) 6. Build a file watcher (fsnotify, goroutines, channels) 7. Build a config loader (env vars, YAML/JSON, validation) 8. Build a worker pool (goroutines, channels, backpressure) --- Medium (where Go’s concurrency model clicks) 9. Build a REST API service (routing, middleware, graceful shutdown) 10. Build a job queue (channels vs persistent queues, retries) 11. Build a rate limiter (token bucket, leaky bucket) 12. Build a reverse proxy (net/http, connection reuse) 13. Build a metrics exporter (Prometheus client, counters, histograms) 14. Build a scheduler (cron-style, timers, cancellation) 15. Build a simple key-value store (files, WAL concepts) 16. Build an auth service (JWT, middleware, context propagation) 17. Build a search service (inverted index, concurrency-safe reads) --- Hard (production-grade Go & systems depth) 18. Build a high-throughput TCP server (epoll-style patterns, pooling) 19. Build a distributed worker system (leader election, coordination) 20. Build a sharded cache (hashing, consistency trade-offs) 21. Build a Raft-based service (state machines, persistence) 22. Build a storage engine (indexes, compaction, snapshots) 23. Build a streaming pipeline (fan-in, fan-out, backpressure) 24. Build a custom protocol (binary framing, versioning) 25. Build a service mesh sidecar (proxies, retries, observability) 26. Build a full backend platform (API, async jobs, caching, metrics) --- You learn Go by: - Designing simple APIs - Handling failure explicitly - Respecting concurrency costs - Writing code others can read at 3am If your code feels boring, obvious, and stable then believe me, you’re doing it right.
Abhishek Singh@0xlelouch_

For people asking what to build to really learn Rust, here’s a progression that maps well to how Rust actually teaches you systems thinking. Simple (start here, learn ownership & basics) 1. Build a CLI tool (argument parsing, file I/O, error handling) 2. Build a log parser (iterators, lifetimes, zero-copy parsing) 3. Build a small HTTP client (reqwest + async basics) 4. Build a basic TCP server (std::net, threading) 5. Build an LRU cache (HashMap + linked list, ownership pain included) 6. Build a file watcher (inotify-style logic, channels) 7. Build a config loader (serde, enums, validation) 8. Build a simple thread pool (Mutex, Arc, Condvar) --- Medium (where Rust really clicks better) 9. Build an async web server (tokio, hyper, backpressure) 10. Build a key-value store (LSM-style, WAL, file layouts) 11. Build a job scheduler (work queues, cancellation, timeouts) 12. Build a reverse proxy (async I/O, connection pooling) 13. Build a mini database index (B-tree or skip list) 14. Build a parser + AST (nom or handwritten parser) 15. Build a WASM runtime toy (wasmtime concepts) 16. Build an auth service (JWT, crypto crates, zero-copy serialization) 17. Build a search engine (inverted index, mmap, ranking) --- Hard (deep Rust + systems mastery) 18. Build a memory allocator (unsafe, layout, alignment) 19. Build a container runtime (namespaces, cgroups concepts) 20. Build a distributed cache (networking, consistency trade-offs) 21. Build a Raft implementation (ownership + state machines) 22. Build a storage engine (MVCC, snapshots, compaction) 23. Build a network protocol (custom framing, async streams) 24. Build a compiler backend (IR, borrow checker inspiration) 25. Build an OS kernel module or toy kernel (no_std, bare metal) 26. Build a database from scratch (query planner + execution engine) --- Rust rewards building, not watching tutorials. So keep building too. Each project forces you to confront ownership, lifetimes, concurrency, and performance head-on. If it hurts a little(especially those borrow checkers errors), you’re doing it right.

English
10
55
489
50.2K
Vuong Nguyen
Vuong Nguyen@vuong·
@ohmypy I always feel relief when maintaining Go code, unlike Nodejs. So something works in the long run with little maintenance cost always gives me some sort of eagerness to try. Thanks for your hard work.
English
0
0
1
14
Anton Zhiyanov
Anton Zhiyanov@ohmypy·
@vuong Awesome! Could you please briefly share your use case and why you chose Redka over Redis? It'll help a lot.
English
2
0
0
79
Anton Zhiyanov
Anton Zhiyanov@ohmypy·
I have an open-source project called Redka. It aims to reimplement the core parts of Redis with SQL (SQLite/PostgreSQL), while remaining compatible with Redis API (the RESP wire protocol). While people seem to like the idea of this project, I don't really see them using it. I think it's because having a cache or data structure server backed by a relational database isn't that useful. So it makes more sense to just use Redis (and maybe mocks for testing). What do you think?
Anton Zhiyanov tweet media
English
26
27
399
32.8K
Vuong Nguyen
Vuong Nguyen@vuong·
@ohmypy I use sqlite pretty much given its portability. I normally use freecache for caching key-value. Yet I do wanna try something else and your benchmark impresses me. I just wanna set something up and forget it. Performance does not matter much. Your solution seems perfectly fit.
English
1
0
2
114
Anton Zhiyanov
Anton Zhiyanov@ohmypy·
Go 1.25 is out, and the announcement says: "Over the next few weeks, follow-up blog posts will cover some of the topics in more detail. Check back in later." So you can wait a few weeks OR you can read my interactive Go 1.25 tour right away: antonz.org/go-1-25
English
5
34
176
9K
Dan ⚡️
Dan ⚡️@d4m1n·
today I went from $305/mo on Google Cloud to $14/mo on Hetzner today I upgraded from 1 vCPU, 2GB RAM & no storage to 4 vCPU, 8GB RAM, 160GB SSD I can spin up 20 of such VMs and deploy my infra in multiple regions and still be cheaper on Hetzner vs Google Cloud this is, in fact, the real Cloud that was promised to us
Dan ⚡️ tweet media
English
90
81
1.5K
177.5K
Vuong Nguyen
Vuong Nguyen@vuong·
@Imekinox Learn first then build. Then learn again then keep building. Idea is cheap. Execution is everything.
English
1
0
1
32
Juan Carlos del Valle
Juan Carlos del Valle@Imekinox·
If you could give one piece of advice to a newbie programmer, what would it be? Let's support the next generation of coders! 🌟👩‍💻
English
10
1
9
1.1K
EZ Smith
EZ Smith@ezsmith397·
WordPress peeps, what's your #1 theme these days? And why?
English
117
10
108
33.3K
Vuong Nguyen
Vuong Nguyen@vuong·
@ErikCH vanillaJS before React or React before conquer vanillaJS please?
English
1
0
1
181
Erik Hanchett
Erik Hanchett@ErikCH·
Cereal before milk, or milk before cereal? 🥛🥣🤷‍♂️
English
7
0
7
2.3K
Vuong Nguyen
Vuong Nguyen@vuong·
Show your largest number of tabs opened on a browser and tell your friends you are a programmer :)). Mine, currently is 489 :))
English
0
0
0
488
Vuong Nguyen
Vuong Nguyen@vuong·
@ossia Thanks for your support and free stuff you gave us. Cannot express enough our gratitude:))
English
0
0
2
533
Quincy Larson
Quincy Larson@ossia·
I just published my book: Learn to Code & Get a Developer Job in 2023.🏕️ And I made the entire book freely available on freeCodeCamp.📖 When you read it, you'll learn how to: 🛠️Build your coding skills, 🕸️Personal network, 🏛️Reputation as a developer, 👷And get a developer job
English
103
587
2.5K
391.4K
Mosh
Mosh@moshhamedani·
Guess my next course. 10 people who guess right will get it for free!
English
1.3K
63
1.3K
285K
Vuong Nguyen
Vuong Nguyen@vuong·
It happens again. Idea comes and I then buy a domain without any hesitation. Can believe some other domains in the dashboard are gonna expire pretty soon. Idea comes and goes. Anyway, cannot stop building stuff or at least thinking about them, once you are a developer.
English
0
0
0
299