🔐 End-to-end encrypted
✅ GDPR compliant by design
Building in public. Early access: logflux.io
Stage 1: "This should work" 😌
Stage 2: "Why isn't this working?" 🤔
Stage 3: "Oh no, something's broken" 😰
Stage 4: "EVERYTHING IS ON FIRE" 🔥
Stage 5: "Rollback! ROLLBACK!" ⏪
Stage 6: "...it was a typo in the config" 😐
Kubernetes doesn't care about your feelings.
Stage 1: "This should work" 😌
Stage 2: "Why isn't this working?" 🤔
Stage 3: "Oh no, something's broken" 😰
Stage 4: "EVERYTHING IS ON FIRE" 🔥
Stage 5: "Rollback! ROLLBACK!" ⏪
Stage 6: "...it was a typo in the config" 😐
Kubernetes doesn't care about your feelings.
🟡 Writing good code
🔵 Writing good documentation
🟣 Writing good commit messages
🌌 Actually reading the error message before googling it
🟡 Writing good code
🔵 Writing good documentation
🟣 Writing good commit messages
🌌 Actually reading the error message before googling it
"Looks good to me" ✅ (didn't actually look)
"Small nitpick: ..." 📝 (rewrites entire function)
"Can we add tests for this?" 🧪 (has never written a test)
*leaves 47 comments* 📄 (none about the actual logic)
"Looks good to me" ✅ (didn't actually look)
"Small nitpick: ..." 📝 (rewrites entire function)
"Can we add tests for this?" 🧪 (has never written a test)
*leaves 47 comments* 📄 (none about the actual logic)
Level 1: try { code() } catch { print("oops") }
Level 50: try { code() } catch { /* TODO: handle this later */ }
Level 100: try { code() } catch { throw new Exception("Computer says no") }
Level 9000: if (error) { /* it's probably fine */ }
Level 1: try { code() } catch { print("oops") }
Level 50: try { code() } catch { /* TODO: handle this later */ }
Level 100: try { code() } catch { throw new Exception("Computer says no") }
Level 9000: if (error) { /* it's probably fine */ }
✅ CPU: monitored
✅ Memory: monitored
✅ Disk: monitored
✅ Network: monitored
❌ The actual thing your users care about: ???
"But the infrastructure is fine!"
Sir, this is a web application, not a server museum.
✅ CPU: monitored
✅ Memory: monitored
✅ Disk: monitored
✅ Network: monitored
❌ The actual thing your users care about: ???
"But the infrastructure is fine!"
Sir, this is a web application, not a server museum.
XSalsa20-Poly1305 is what happens when cryptographers decide "good enough" isn't in their vocabulary. Your documents are safer than most government secrets.
XSalsa20-Poly1305 is what happens when cryptographers decide "good enough" isn't in their vocabulary. Your documents are safer than most government secrets.
You went from one thing that could break to 47 things that could break, but now each failure has its own GitHub repository.
"But we can scale each service independently!"
Cool. Now you can scale your problems independently too.
You went from one thing that could break to 47 things that could break, but now each failure has its own GitHub repository.
"But we can scale each service independently!"
Cool. Now you can scale your problems independently too.
You went from SSH-ing into boxes at 3am to writing Lucene queries at 3am. Progress is a flat circle, but at least now you're in your pajamas.
You went from SSH-ing into boxes at 3am to writing Lucene queries at 3am. Progress is a flat circle, but at least now you're in your pajamas.
OpenTelemetry is just acceptance that your stack trace now requires a PhD in graph theory.
OpenTelemetry is just acceptance that your stack trace now requires a PhD in graph theory.
You can't debug what you can't see, and you definitely can't explain to your CTO why the AI decided customer support tickets should be sorted by vibe.
You can't debug what you can't see, and you definitely can't explain to your CTO why the AI decided customer support tickets should be sorted by vibe.
At least now our bugs are portable.
At least now our bugs are portable.
It’s a leaked API key. 🔑💀
#FullStack #buildinpublic #100DaysOfCode
It’s a leaked API key. 🔑💀
#FullStack #buildinpublic #100DaysOfCode
1. Confusion
2. Anger
3. Bargaining ("Maybe they had a good reason...")
4. Depression
5. Acceptance ("I'll just rewrite this entire function")
1. Confusion
2. Anger
3. Bargaining ("Maybe they had a good reason...")
4. Depression
5. Acceptance ("I'll just rewrite this entire function")
Junior dev: "Error"
Mid-level: "Authentication failed"
Senior dev: "JWT validation failed in auth middleware"
Principal: "Auth service HTTP 401 during token verification due to RSA signature mismatch, key rotation at 14:23 UTC"
Junior dev: "Error"
Mid-level: "Authentication failed"
Senior dev: "JWT validation failed in auth middleware"
Principal: "Auth service HTTP 401 during token verification due to RSA signature mismatch, key rotation at 14:23 UTC"
Also serverless computing: Here's 47 YAML files, 12 different cloud services, and a bill that somehow costs more than just renting a server.
Also serverless computing: Here's 47 YAML files, 12 different cloud services, and a bill that somehow costs more than just renting a server.
Week 1: "How hard can container orchestration be?"
Week 4: "Why does my hello world app need 47 YAML files?"
Week 12: "I am become YAML, destroyer of weekends."
But once it clicks, you'll never want to deploy any other way.
Week 1: "How hard can container orchestration be?"
Week 4: "Why does my hello world app need 47 YAML files?"
Week 12: "I am become YAML, destroyer of weekends."
But once it clicks, you'll never want to deploy any other way.
Before: "It's simple distributed computing"
After: "Well, when Service A calls Service B through an API Gateway with circuit breakers while Service C does eventual consistency..."
The confidence-to-knowledge ratio is inversely proportional.
Before: "It's simple distributed computing"
After: "Well, when Service A calls Service B through an API Gateway with circuit breakers while Service C does eventual consistency..."
The confidence-to-knowledge ratio is inversely proportional.
"userData2Final_ACTUAL_working" tells a story, and it's not a happy one.
"userData2Final_ACTUAL_working" tells a story, and it's not a happy one.
☁️ API Gateway: 🔥 This is fine 🔥
🛢️ Database: 🔥 This is fine 🔥
📊 Memory usage: 🔥 This is fine 🔥
📞 Phone ringing with customer complaints: 🔥 This is fine 🔥
Everything is under control.
☁️ API Gateway: 🔥 This is fine 🔥
🛢️ Database: 🔥 This is fine 🔥
📊 Memory usage: 🔥 This is fine 🔥
📞 Phone ringing with customer complaints: 🔥 This is fine 🔥
Everything is under control.
Boyfriend: Your current tech stack
Girlfriend: Your reliable, battle-tested tools
Other woman: The shiny new JavaScript framework that just dropped
We all know how this story ends.
Boyfriend: Your current tech stack
Girlfriend: Your reliable, battle-tested tools
Other woman: The shiny new JavaScript framework that just dropped
We all know how this story ends.