¡NORUEGA ENLOQUECIÓ! 🇳🇴
90 mil personas recibieron a su selección tras el Mundial.
El príncipe de Noruega tocó el tambor y toda la ciudad hizo el “remo noruego”. IMPRESIONANTE
Kubernetes is beautiful.
Every Concept Has a Story, you just don't know it yet.
In k8s, you run your app as a pod. It runs your container. Then it crashes, and nobody restarts it. It is just gone.
So you use a Deployment. One pod dies and another comes back. You want 3 running, it keeps 3 running.
Every pod gets a new IP when it restarts. Another service needs to talk to your app but the IPs keep changing. You cannot hardcode them at scale.
So you use a Service. One stable IP that always finds your pods using labels, not IPs. Pods die and come back. The Service does not care.
But now you have 10 services and 10 load balancers. Your cloud bill does not care that 6 of them handle almost no traffic.
So you use Ingress. One load balancer, all services behind it, smart routing. But Ingress is just rules and nobody executes them.
So you add an Ingress Controller. Nginx, Traefik, AWS Load Balancer Controller. Now the rules actually work.
Your app needs config so you hardcode it inside the container. Wrong database in staging. Wrong API key in production. You rebuild the image every time config changes.
So you use a ConfigMap. Config lives outside the container and gets injected at runtime. Same image runs in dev, staging and production with different configs.
But your database password is now sitting in a ConfigMap unencrypted. Anyone with basic kubectl access can read it. That is not a mistake. That is a security incident.
So you use a Secret. Sensitive data stored separately with its own access controls. Your image never sees it.
Some days 100 users, some days 10,000. You manually scale to 8 pods during the spike and watch them sit idle all night. You cannot babysit your cluster forever.
So you use HPA. CPU crosses 70 percent and pods are added automatically. Traffic drops and they scale back down. You are not woken up at 2am anymore.
But now your nodes are full and new pods sit in Pending state. HPA did its job. Your cluster had nowhere to put the pods.
So you use Karpenter. Pods stuck in Pending and a new node appears automatically. Load drops and the node is removed. You only pay for what you actually use.
One pod starts consuming 4GB of memory and nobody told Kubernetes it was not supposed to. It starves every other pod on that node and a cascade begins. One rogue pod with no limits takes down everything around it.
So you use Resource Requests and Limits. Requests tell Kubernetes the minimum your pod needs to be scheduled. Limits make sure no pod can steal from everything around it. Your cluster runs predictably.
💁♂️ Programming tip: To remove an element from anywhere in an unordered array without expensive shifting, simply replace it with the last element, then reduce the array size by 1. 🤓👍
New era for the sports industry
It's time for folks to really start looking at how spatial computing will change sports for ever.
What used to cost millions and take weeks, can now happen in real-time and cost close to nothing.
🧵 A thread
@Skinnypete_yo It’s a bug da..
January 1st, 1970 at 00:00:00 UTC is referred to as the Unix epoch. Early Unix engineers picked that date arbitrarily because they needed to set a uniform date for the start of time, and New Year's Day, 1970, seemed most convenient.
Most ppl are missing the key point regarding OpenAI
This is not standard startup drama
This is literally a fight for the survival of humanity, linked to the original purpose of OpenAI: saving us from the end of the world:
🧵
Scrum is a cancer.
I've been writing software for 25 years, and nothing renders a software team useless like Scrum does.
Some anecdotes:
1. They tried to convince me that Poker is a planning tool, not a game.
2. If you want to be more efficient, you must add process, not remove it. They had us attending the "ceremonies," a fancy name for a buttload of meetings: stand-ups, groomings, planning, retrospectives, and Scrum of Scrums. We spent more time talking than doing.
3. We prohibited laptops in meetings. We had to stand. We passed a ball around to keep everyone paying attention.
4. We spent more time estimating story points than writing software. Story points measure complexity, not time, but we had to decide how many story points fit in a sprint.
5. I had to use t-shirt sizes to estimate software.
6. We measured how much it cost to deliver one story point and then wrote contracts where clients paid for a package of "500 story points."
7. Management lost it when they found that 500 story points in one project weren't the same as 500 story points on another project. We had many meetings to fix this.
8. Imagine having a manager, a scrum master, a product owner, and a tech lead. You had to answer to all of them and none simultaneously.
9. We paid people who told us whether we were "burning down points" fast enough. Weren't story points about complexity instead of time? Never mind.
I believe in Agile, but this ain't agile.
We brought professional Scrum trainers. We paid people from our team to get certified. We tried Scrum this way and that other way. We spent years doing it.
The result was always the same: It didn't work.
Scrum is a cancer that will eat your development team. Scrum is not for developers; it's another tool for managers to feel they are in control.
But the best about Scrum are those who look you in the eye and tell you: "If it doesn't work for you, you are doing it wrong. Scrum is anything that works for your team."
Sure it is.
Figma just dropped some game-changing features for our favorite collaborative canvas.
Bridging the gap between design and development.
Mind-blowing features below:
Initial ideas for governance of superintelligence, including forming an international oversight organization for future AI systems much more capable than any today: https://t.co/9hJ9n2BZo7
Net amount of code committed today: fixing a test that was passing for the wrong reasons.
Good example of how lines of code do not match productivity.
Understanding the complicated reasons such a test was passing, compounded over many instances, is how you improve a system.
3. ChatGPT iOS app
OpenAI launched the official ChatGPT iOS app, with promises of an Android app soon.
With ChatGPT's skyrocketing popularity (100 million users in 2 months), was only a matter of time.
@skirano made an entire landing page on his phone.
4. Analyze code from Twitter's open-sourced algorithm.
Using the Twitter algorithm code, ChatGPT can now tell you exactly how to go viral.
Prompt: "Take this code for the Twitter algorithm and tell best practices to go viral on Twitter [code]"