CatOps
5.08K subscribers
94 photos
5 videos
19 files
2.57K links
DevOps and other issues by Yurii Rochniak (@grem1in) - SRE @ Preply && Maksym Vlasov (@MaxymVlasov) - Engineer @ Star. Opinions on our own.

We do not post ads including event announcements. Please, do not bother us with such requests!
Download Telegram
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
👍91
An interesting article was shared in our chat yesterday.

This is a summary of the analysis of AI's influence on code quality. Some excerpts:

> The data strongly correlates “using Copilot” with “mistake code” being pushed to the repository more frequently.

> The 17% decrease in “move” operations when compared to 2021 hints at
the built-in trait of AI assistants to discourage code reuse. Instead of

refactoring and working to DRY (“Don’t Repeat Yourself”) code, they offer a one-keystroke templation to repeat existing code.

> Especially next to the decrease in “moved code,” the 11% increase in the proportion of duplicated code confirms the drop in overall code quality in 2023 when compared to 2021.

And my favorite one:

> In the absence of a CTO or VP of Engineering who actively schedules time to reduce “tech debt,” “copy/pasted code” often never gets consolidated into the appropriate component libraries.

Although, I saw this even before AI.

#ai #programming
👍9🤔2
Today I stumbled upon an interesting project: Withmarble helps you to learn computer science topics using interactive flash cards.

It also looks like it uses some LLM under the hood to generate certain answers, but this is just a guess.

In any case, the project is very raw: it has only a couple of cases, it has bugs on both mobile and desktop, etc. For example, if you opened a flash card, there is no way to close it and go back to the list.

Still, I think it's a nice idea to teach folks computer science. Maybe, some of you could take this idea and execute it better :D

#programming
👍5
There is a slight disagreement between those who believe that AI is here to save the world from software developers with a job, and those who believe that this is just an advanced autocomplete.

This article provides some arguments to the latter point.

For me, first and foremost, it is interesting insight on the ways how people test new AI models.

P.S. If you are from the optimistic tribe, make sure to check out Den's video (in Ukrainian) about Cursor - an AI-powered editor.

#ai #programming
👍72
A story of debugging OOMs of a Go application in Kubernetes.

Now, I do not agree with the author of this article that the fact that Go is not aware of memory limits is a problem. In my opinion, it works as expected: you don’t want to have environment-dependent runtimes.

However, this article provides some examples of how one can manage Go’s memory utilization and tune garbage collection a little bit. Plus, it has links to articles that describe Go’s garbage collector in more detail, which is also cool.

#go #programming #kubernetes
👍61
Regardless my feelings about Python, it's still a very popular language among the platform people.

So, here is a bundle of Python books by Pearson that I forgot to share with you earlier!

This offer is still valid for 7 days. As usual, you can pay about €25 to unlock the whole bundle.

#books #programming #python
3
​​Seva from UkrOps has started an English version of his blog with the first post about handling concurrency in Bash!

Bash still does a lot of heavy-lifting inside automation tools, task managers, and "CI/CD" systems, as well as for automating mundane ad-hoc tasks. So, you can easily apply ideas from this article in your setup.

#bash #programming
12👍6👎3🔥2
One of the strengths of Go is the existence of default helper tools such as gofmt and goimport. Thus, you don't have to worry about formatting, for example. These tools can also be easily integrated into your editor of choice.

For quite some time now, I have to write Python code in professional setting and an automated import is one of the things I miss the most. There are tools to achieve that, ofc, but still.

Another thing about such helper tools is that we often take them for granted, especially when they are default. But you don't have to!

This article describes on a high level how goimport works. While it is kinda intuitive, it's always nice to see a bit deeper perspective. And if you want to dive even deeper, you can always just read the code yourself.

#go #programming
👍51