Okay, so let me tell you about my doorbell, from a #networking perspective.
When you push the button by the door, it sends a message over the #zigbee wireless mesh network in my house. It probably goes through a few hops, getting relayed along the way by the various Zigbee light switches and "smart outlets" I have.
Once it makes it to my utility closet, it's received by a Zigbee-to-USB dongle, through a USB hub (a simple tree network) plugged into an SFF PC. From there, it gets fed into zigbee2mqtt, which, as the name implies, publishes it to my local #mqtt broker.
The mqtt broker is in the small #kubernetes cluster of #raspberrypi nodes I run in my utility closet. To get in (via a couple of #ethernet switch hops), it goes through #metallb, which is basically a proxy-ARP type service that advertises the IP address for the mqtt endpoint to the rest of my network, then passes the traffic to the appropriate container via a #linux veth device.
I have #HomeAssistant, running in the same Kubernetes cluster, subscribed to these events. Within Kubernetes, the message goes through the CNI plugin that I use, #flannel. If the message has to pass between hosts, Flannel encapsulates it in VXLAN, so that it can be directed to the correct veth on the destination host.
Because I like #NodeRed for automation tasks more than HomeAssistant, your press of the doorbell takes another hop within the Kubernetes cluster (via a REST call) so that NodeRed can decide whether it's within the time of day I want the doorbell to ring, etc. If we're all good, NodeRed publishes an mqtt message (more VXLANs, veths, etc.)
(Oh and it also sends a notification to my phone, which means another trip through the HomeAssistant container, and leaving my home network involves another soup of acronyms including VLANs, PoE, QoS, PPPoE, NAT or IPv6, DoH, and GPON. And maybe it goes over 5G depending on where my phone is.)
Of course something's got to actually make the "ding dong" sound, and that's another Raspberry Pi that sits on top of my grandmother clock. So to get there the message hops through a couple Ethernet switches and my home WiFi, where it gets received by a little custom daemon I wrote that plays the sound via an attached #HiFiBerry board. Oh but wait! We're not quite done with networking, because the sound gets played through PulseAudio, which is done through a UNIX domain socket.
SO ANYWAY, that's why my doorbell rarely works and why you've been standing outside in the snow for five minutes.
Let’s be honest, if you’re a software engineer, you know where all this compute and power consumption is going. While it’s popular to blame #LLMs, y’all know how much is wasted on #docker, microservices, overscaled #kubernetes, spark/databricks and other unnecessary big data tech. It’s long past time we’re honest with the public about how much our practices are hurting the climate, and stop looking for scapegoats https://thereader.mitpress.mit.edu/the-staggering-ecological-impacts-of-computation-and-the-cloud/
Hi all, I've just migrated from @irfan to this account on sakurajima.social. I'll also be attempting to migrate my main account @irfan to this one in the coming days, but I'm expecting nothing on that front since it's failed so far.
I've moved to multiple servers throughout my time on the #Fediverse in pursuit for a "permanent" instance to be on, and I've never had the chance to write an #intro post lol so this will be my first.
I'm a 26 year old (in Nov 2024) (gfdi) programmer obsessed with languages such as #Python and #Shell, frameworks like #Django, and #CloudNative shenanigans like #Docker, #Kubernetes, and #Helm. I'm also obsessed with #FOSS and #Linux, and promoting them to be more viable each day for the masses so everyone could have not just free but secure access to daily computing.
I'll be using this account to mostly document my passions through mini reviews or rants. I have another picture-based account over on #Pixelfed, @irfan. All images I have posted and will be posting will include descriptive/alt text, including my pfp and banner. I also have some bots for posting local (to me, #Malaysia) #news and other relevant data cos the #Mastodon API is just so fun to play with.
I've got some good prospects already, but I'd love to speak with anyone in the #SustainableEnergy#GreenEnergy and #logistics sectors. I'm #Chicago and/or will work remote, I have a proven track record leading several organizational transitions to #kubernetes and #cloudNative architecture. If you want help there, OR if you can help me better understand either of those verticals, I'd greatly appreciate a DM.
So, if your backend is a little janky and you thought about rewriting it in Go, I can save you from that by rearchitecting and refactoring. With the end result being better. 😇
I'm remote in central Europe (CET). Happy to provide CV on demand.
Ich kann #Webenwicklung, insbesondere mit #PHP, aber auch #DevOps und #Tooling im Hintergrund (Wie Python, Bash und diverse anderen Programmier-/Scripting Sprachen) und drum-herum, natürlich auch #Kubernetes und generell Containerisierung.
Bisher habe ich Erfahrung sowohl im Neu-Entwickeln als auch der Pflege und Refactoring/Rebuilding von alten Apps.
Ich suche am liebsten eine Remote Stelle, gerne aber auch in der Umgebung von #Frankfurt
They only provide a Dockerfile because it's so convoluted and patched together that it would be impossible to create a decent guide on how to make this stuff work without revealing just how much it's all held together by duct tape. Still, taking a peek at the Dockerfile will clearly reveal the chaos at play.
Everything runs in separate containers, as it should, and they have automatic restarts, as they should. But then they're so tightly bound together with, you guessed it, duct tape, that when one of them fails, the container just restarts automatically, leaving the user wondering why everything failed, with only a cryptic error message.
The main container is controlled by Supervisor - which is necessary because everything crashes very often, but the end user doesn't notice because Supervisor restarts the services. To outsiders, everything works fine (but occasionally throws some errors).
In short, the current trend is to sweep the dirt under the rug. A trendy rug, though!
I’m still processing everything, but I noticed some commonalities in the kinds of challenges #contributors are facing during this 2024 lonely burnout epoch (I’m not the only one who feels it right?)And I wonder if more #maintainers are facing them too.
So what are the toughest #community/ communications/ outreach challenges you’re tackling?
Enlightening, isn't it? There are other empty blocks, but they are either fairly standard or are described elsewhere in the document.
If you are familiar with #helm, you won't despair because you have the power of analytics.enabled: false. That works on the rest of this chart and is the standard way to en/disable things.
It doesn't work that way.
Let me save you some time with the terrible new #github code search. Here is the actual syntax:
"analytics.reporting_enabled: false"
Here is my toot resume in case anyone has open positions:
Experience: staff software engineer, #backend#webdeveloper, #python, #django, #postgresql, #terraform, #redis, #rabbitmq, #kubernetes, #aws, #gcp
I get things done and worked with pretty much any tech out there. I learn fast, have no problem coding in other languages. I have experience leading teams. I helped growing an engineering team from 10 to 150 engineers. I know how to scale things. My code is resilient and has tests. #fedihire
Choosing Drupal as part of your Composable Architecture solution has been a developer topic for a while. If you’re still catching up, our blog post will give you short, informative insights into what this is and why the combination is a knock-out. Learn more: https://www.amazee.io/blog/post/composable-architecture-and-drupal
We are looking for a Senior DevOps Engineer who is interested to help our customers, operating and optimizing our distributed storage solution for #kubernetes and #aws (current focus #eks). Be aware, this position may require direct contact with customers - just in case this isn't your thing 😅
Position is full remote, and while it says Germany, it is open to the broader world out there. LinkedIn just wanted us to put something 🫣