Some people know that I'm not a fan of Python. Yet, I have to tolerate it because it is objectively one of the most popular and widespread programming languages.
So, here is an article about asynchronous code in Python.
Enjoy!
#programming #python
A very nice collection of books on software architecture by O’Reilly.
As usual, you can pay different amount to unlock various number of books.
#books
Happy Independence Day, cats!
As you know, freedom never comes for free. So, the best way to celebrate this day is to make a donation to your charity of choice.
Here the list of charities I link to almost every post
Also, I would like to remind you about fundraisers from our friends at:
- UkrOps Club
- UA DevOps
A fundraiser for equipment for FPV drones by the UkrOps community is still ongoing!
About 40% still left.
You can top up a Monobank jar:
https://send.monobank.ua/jar/6k2H9iu8tN
Or a card directly:5375411219683781
Original post
#donations #Ukraine
We have made the VictoriaLogs stack for storing logs and the main goal will be to collect logs from k8s.
At the moment the product is ready and shows itself very well (does not require resources, compresses data very well)
https://docs.victoriametrics.com/victorialogs/
Among the features - supports many protocols for data insertion (including native syslog, promtail (and all variations of this name), elasticsearch, examples of how to write through standard log shippers).
VictoriaLogs has visualisation in Grafana and its own UI + query langues, which allows you to basically do whatever you want with logs (filtering analytics slide/dice).
We plan to release the cluster and officially announce that everything is ready on Kubecon NA this fall.
The Roadmap: https://docs.victoriametrics.com/victorialogs/roadmap/
As for important things: cluster support for s3, alerting and operator (now only helm chart is available).
We'll be glad to get feedback at our telegram community @VictoriaMetrics_en or at https://slack.victoriametrics.com
The code is here - https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/victoria-logs (monorepo for VictoriaMetrics and VictoriaLogs)
A new issue of the CatOps Digest is here!
https://newsletter.catops.dev/p/catops-digest-2024-08-11
#digest #newsletter
The Story of Reformatting 100k Files at Google in 2012 is a short story of rolling a massive change at Google.
Basically, they have enforced formatting rules for all the BUILD files for Bazel.
What I like in this story is how this change ended up being uneventful. Which confirms a point: if formatter is integrated into your workflow, you don't care about formatting, you don't even think about it much.
And this is one of the reasons I like Go so much: it has a formatter integrated into the language itself. Same thing with Terraform.
#culture
A bit of Ukrainian tech community building.
Recently, our friend from UkrOps Digest asked his subscribers if they have any Telegram/YouTube channels, blogs, or other communities where they share their technical expertise.
Needless to say that there are quite a few responses to that post. I'm sure you'll be able to find something to your taste there as well!
Also, if you have a channel or a blog, make sure to leave a comment there as well. Or even better - make a pull request to the Awesome List of Ukrainian IT Communities!
#community #culture #Ukraine
The wrong way to use DORA Metrics.
If you’re not aware, so-called DORA metrics are the core metrics DevOps report is built on:
- Deployment frequency
- Lead time for changes
- Change failure rate
- Time to restore service
- Reliability
These metrics are frequently used to measure the performance of a team. So, this article highlights some pitfalls of using DORA metrics for measuring productivity, including, of course, the good old Campbell’s Law.
#culture
CatOps is more than 7 years old. I hope during this time many of you have got promotions!
Perhaps, some of you have even switched to the management track. Thus, I think this article about 10 common ways engineering managers get stuck may be interesting to you.
Also, it’s written in a peak Internet content form: a numbered list! Items on the list are:
1. Ignoring destructive behaviors
2. Trying to please everyone
3. Fighting too hard for your principles
4. Not spending time building relationships
5. Defining your role too narrowly
6. Forgetting your manager is a human being
7. Neglecting Personal Development
8. Only managing down
9. Only managing up
10. Never managing up
A description of each item is in the article.
#management
A new issue of CatOps Digest is here!
https://newsletter.catops.dev/p/catops-2024-07-28
#digest #newsletter
Anyone can Access Deleted and Private Repository Data on GitHub
Sounds scary, if you didn't deep dive into how git works and how GitHub hosts it.
TL;DR: If some repo can git fetch
upstream - all these fetchable commits will be always accessible from this fork/main repo.
Only after the visibility of the repo changes - new commits will be not discoverable.
For more details and examples, check this article, which was brought to us from CatOps Chat.
#security #git #github
Today's donation Monday is more IT-related than ever.
NGO Aerorozvidka makes and supports many interesting stuff for the Defense Forces of Ukraine, starting from IT solutions (like DELTA), through ISTAR, to Robotics technologies.
You can choose which direction to support on aerorozvidka.ngo/donate-page or just pop-up their Monobank.
And not so long ago they celebrated their 10th anniversary.
#donations #Ukraine
CrowdStrike 🤦♂️
https://www.yahoo.com/news/live/microsoft-outage-it-crowdstrike-status-flights-grounded-latest-072117660.html
CrowdStrike is aware of reports of crashes on Windows hosts related to the Falcon Sensor.Читать полностью…
Symptoms include hosts experiencing a bugcheck\blue screen error related to the Falcon Sensor.
Current Action: CrowdStrike Engineering has identified a content deployment related to this issue and reverted those changes.
If hosts are still crashing and unable to stay online to receive the Channel File Changes, the following steps can be used to workaround this issue.
Workaround Steps:
Boot Windows into Safe Mode or the Windows Recovery Environment
Navigate to the C:\Windows\System32\drivers\CrowdStrike directory
Locate the file matching “C-00000291*.sys”, and delete it.
Boot the host normally.
Many years ago there was an open lecture or rather Q&A in my university by one of Facebook engineers.
He mentioned that they do not use Git, to which I was surprised and asked why. He didn’t provide a concrete answer, since it was like this when he joined.
However, this article may have an answer to why Facebook uses Mercurial instead of Git. “May” because obviously there’s just one viewpoint.
Tl;dr: because they had a unique use case as well as unique amounts of money to contribute to a custom solution. Still, it’s interesting that their initial proposal to contribute to Git was sorta declined.
So, here we are. Does it mean that you also need to switch to Mercurial to be like Facebook? No! Very likely you’re not Facebook. Moreover, I only used 1 project stored in Mercurial in my life (I’m not trying to argue that there are more).
Still, I like such articles on the topic of “tech history”. I think they help us to better understand why we are where we are and how did we get here.
#git #hg #facebook #history
The Senior Engineer Illusion: What I Thought vs. What I Learned is an article about one could have regarding the day-to-day routine of their more senior colleagues.
Ofc, many things may sound familiar to you personally, but never forget that there are less experienced peers in the industry for whom this information may be useful.
P.S. I didn't like some word choices of this article, but overall it's Ok.
#culture
I skipped the newsletter today, because there were not that many posts on the channel, TBH.
So, as an apology, here is a brief reminder from Google on why heroism is bad.
#culture
Amazing Julia Evans posts about the things she missed in Go.
This is kinda a promotion of the book "100 Go Mistakes and How to Avoid Them" and you know what, now I want to read it!
P.S. Unfortunately, I don't have a chance to write much in Go lately, which makes me sad. Maybe, it will push me towards creating some side-projects, probably, someday, maybe 😭
#programming #golang
Karpenter (Kubernetes nodes autoscaler by AWS) goes version 1.0 today.
Notable changes are listed in the announcement.
#kubernetes
UA DevOps channel continues raising funds for a Mavik drone for the folks on the Kharkiv direction.
Link to the Monobank Jar: https://send.monobank.ua/jar/2WC8C4npTN
Original post in the channel: /channel/devops4ua/566
#donations #Ukraine
A small Saturday post from GetYourGuide on how they migrated from Spinnaker to ArgoCD.
There are not too many details in the article, so the main takeaway is that such migrations can be easier than they seem to be. Still, you need a political will to do that.
P.S. This article came from our chat. If you have other interesting stories to share, you can do it here.
#cicd
OpenTofu 1.8.0 is out.
It's not like I'm following this project very closely. However, now its features started to diverge from Terraform. So, as they put it themselves:
Since Terraform doesn't support these new language features, OpenTofu now supports the .tofu file extension. When a file with the .tofu extension is present, OpenTofu will ignore the identically named .tf file. Using this new file extension, module authors can use the new
features of OpenTofu and still keep older code around for compatibility.
For today's Donations Monday I have not one but two requests.
1. Folks from the Airbus VYK channel continuously raising funds for drones and related equipment. Subscribe to the channel to see recent fundraisers and detailed reports.
2. Our colleague and an author of the UA DevOps channel is raising funds for a Mavik 3T drone
#donations #Ukraine
Yet another explainer of what has happened to CrowdStrike on July 19th and more importantly, how.
tl;dr: config changes. Config changes can be dangerous too. Despite there were successful deploys between the update of CrowdStrike Scanner and the outage, it seems like a new type of config was deployed which caused the entire clusterfuck.
This line is also interesting:
June 4th, Red Hat released a KB relating to kernel panics that were caused by the Crowdstrike sensor
process. This was a bug in the Linux kernel itself, that the sensor was
triggering and wasn’t Crowdstrike’s fault. However it does prove that config that has passed the Content Validator can cause kernel panics.
UkrOps continues raising funds for the Skelyar platoon.
Right now, about a half of the goal is accumulated.
🔗Monobank Jar
https://send.monobank.ua/jar/6k2H9iu8tN
💳 Card number5375411219683781
A link to the original message:
/channel/UkropsDigest/636
#donations #Ukraine
Today is the Sysadmin’s day. My congratulations to everyone involved!
In an episode about SRE with Denys Vasyliev there was a point that SRE is just a glorified OPS.
So, I think this ongoing book would be appropriate for today:
Reliability Engineering Mindset.
It’s ongoing and, apparently, you can subscribe to get updates.
#sysadmin #sre #books
Today I want to share with you some preparation materials for certifications:
- By Sybex Comptia
- By Packt
Also, till the end of July you can get Linux Foundation certificates with a discount!
And last but not least, some Rust books recommendations as a bonus.
#books
That was a long Friday for us... to check all the memes about CrowdStrike and Microsoft.
Anyway, there is 7 min educational video about what causes all these Windows crashes just by one badly compiled CrowdStrike file.
All of us use open source in our day-to-day life, often as tools to make living. However, there is a looming danger in the open-source community. To illustrate it, here’s a quote from the Register:
A "Youth and Open Source" panel was held at the United Nations (UN) Open Source Program Office (OSPO) for Good conference in the UN building in Manhattan. There was only one little problem with it. To quote Ruth Ikegah, a young Nigerian open source project manager, "We need more young people here because I see a lot of old people here."
As David Nalley, president of the Apache Software Foundation (ASF) and director of open source strategy at Amazon Web Services (AWS), said at the conference: "Getting people to maintain old code isn't easy. For experienced programmers, it leads to burnout, and younger developers want to make new things. Who doesn't?"
The fundraiser by UkrOps continues. It has slowed down a bit, so let’s keep it running strong!
Convert your rage into donations.
These funds will be spent on the equipment for UAV.
🎯Goal: 150 000.00 ₴
🔗Monobank Jar
https://send.monobank.ua/jar/6k2H9iu8tN
💳 Direct card number5375411219683781
#donations #Ukraine