In 2016, I gave a talk at JEEConf in Kyiv about the Object-Relational Mapping (ORM) design pattern—which, in reality, is an anti-pattern we should avoid. Before that, I had written a blog post on the same issue and even devoted a section to it in Elegant Objects (Volume 2). The talk is still highly relevant—you can watch it on YouTube (in English).
❤23👍23
GitHub Copilot sucks at code reviews. CodeRabbit nails them. We've used it across a few repos, and its pull request feedback is consistently useful. Plus, it’s almost free. The pull request on the picture is this one: objectionary/eo#4223.
👍37❤2
GitHub Copilot Coding Agent ($39/month, launched on Monday) gives you what we all have been dreaming about: AI instead of lazy coders. Look at this pull request: yegor256/micromap#311 Seriously, I love this guy.
ps. With Copilot for Organizations ($19/seat), it's possible to configure coding standards and design principles to be respected by their AI agent.
update: It's useless. Unsubscribed.
ps. With Copilot for Organizations ($19/seat), it's possible to configure coding standards and design principles to be respected by their AI agent.
update: It's useless. Unsubscribed.
👍34
I've just publicly released a simple collection of command-line scripts I've been using privately for years: gitted (written in Python and Bash). They automate four basic Git operations: 1) Start a branch; 2) Pull from upstream; 3) Commit; 4) Push. They also use ChatGPT to generate commit messages automatically. Now, when you want to start a branch, make a few commits, pull from the main repo, and push — you just run:
The scripts are designed to be smart enough to handle every situation, including edge cases and errors. Try them out — and if you run into problems, submit a bug report. There are still a few bugs and missing features, so contributions are very welcome!
$ branch 42
$ commit
$ commit
$ pull
$ push
The scripts are designed to be smart enough to handle every situation, including edge cases and errors. Try them out — and if you run into problems, submit a bug report. There are still a few bugs and missing features, so contributions are very welcome!
51👍39❤19👎4
It would be great to have a Telegram bot that takes a GitHub username and returns a summary of his/her/their annual contributions: number of issues, pull requests, lines of code, discussion messages, stars, forks, likes, dislikes, and so on. The bot should format everything nicely into a single Telegram message that a user can repost to their/her/his channel. Anyone else could do the same, helping to promote the bot, and impressing recruiters. Build it—I’ll use it.
👍63👎4
This #book will teach you how to use unit testing in complex scenarios and also will explain why you need them: Growing Object-Oriented Software, Guided by Tests by Steven Freeman and Nat Pryce.
👍45❤5
Записали интервью с Антоном Коробейниковым, активным участником LLVM сообщества и со-автором ряда широко цитируемых статей по биоинформатике. Смотрите на YouTube и VK (80 минут, with English and Russian subtitles).
10👍41❤8
IEEE agreed to sponsor the 5th International Conference on Code Quality (ICCQ), which we organize this year together with Ural Federal University. The topics of the event are: static and dynamic analysis, program verification, programming languages design, software bug detection, and software maintenance. The deadline for submissions is the 10th of August. Accepted papers will be published in IEEE Xplore and indexed by Scopus.
The event will be streamed live, on our YouTube channel (don't forget to subscribe!). Also, follow us on Twitter.
The event will be streamed live, on our YouTube channel (don't forget to subscribe!). Also, follow us on Twitter.
👍57❤10
Take a look at this beauty: GitHub Copilot understands how Puzzle-Driven Development works. It tried to solve an existing puzzle and failed after a few attempts. Then, it replaced the puzzle with a new one, and we merged the half-baked solution. We should all learn from it.
❤22👍19
What do you do to delete a book from a library? This:
or this:
I just published a blog post trying to convince you that the second snippet is better: remove(42) vs. find(42).remove().
library.removeBookById(42)
or this:
book = library.getBookById(42)
book.remove()
I just published a blog post trying to convince you that the second snippet is better: remove(42) vs. find(42).remove().
👍32👎11❤1
Claude Code was released by Anthropic in February. Two months later, Google released Gemini CLI—an almost identical copy. Claude Code has 16K GitHub stars; Gemini has 41K. That’s all you need to know about marketing, innovation, and business success.
👍34❤17
Обсудил я с одним российским издательством возможность публикации Angry Tests на русском языке. Они согласились и перевести и опубликовать, однако, настаивают на публикации электронной версии тоже. Я пока отказываюсь, мотивируя тем, что книги свои никогда ранее электронными не делал — украдут ведь. Как посоветуете поступить?
👍106👎9
Every time I ask Claude Code or GitHub Copilot to write some code for me, they keep making very similar mistakes. Then, I have to provide a series of refinements for my request to make them understand that I, for example, don't appreciate "Manager" or "Controller" class names and my methods don't return NULL. I'm sick of repeating it over and over again. Here is a full-size prompt for them, to make them understand what elegant coding and testing truly are: yegor256/prompt. Feel free to reuse and contribute: we definitely need more rules into this list.
I put this text into the
I put this text into the
~/.claude/CLAUDE.md
(not always helps, by the way).👍52❤25
Media is too big
VIEW IN TELEGRAM
You don’t need to watch the entire interview with Peter Thiel—a multi-billionaire, PayPal co-founder, Elon Musk’s friend, and Trump supporter—but this thought is important. He seems to believe that the human race must not endure “as is.” Our future selves should be able not only to swap penis for vagina, but to replace our entire bodies—and perhaps even our souls—with something completely different. WTF?!
👎21❤9👍7