Yegor Bugayenko's Blog, page 11
June 25, 2019
SyncEm: Thread-Safe Decorators in Ruby
I wrote some time ago about thread-safety in OOP and how it can be achieved with decorators. It was also said that it���s very important to make sure objects are thread-safe (in Ruby and in Java), especially in web apps, which are multi-threaded (well, in most cases anyway). Well, here is SyncEm, a primitive Ruby gem which makes the above possible with a single decorator.
Look at this simple Ruby web app, which increments the internal counter on every web click:
require 'sinatra' cla...June 18, 2019
How Much Do They Suffer?
Remember the famous article Who���s Got the Monkey? The gist of it is simple: good managers always make their subordinates responsible for their own results. When they attempt to send the monkey back to the manager���s shoulders by making excuses, the manager has to be on the alert and not accept the monkey, always keeping workers fully accountable and responsible for what they are doing. It���s a terrific principle, but it doesn���t work for most managers. Here is why. Let me tell you a stor...
June 10, 2019
Where Do You Seek Help First?
Just a few days ago a friend of mine, who is not a developer but a co-founder of a software startup, asked me to help his programmers with a technical problem they got stuck with. I said ���Why not?��� and asked them what was going on. They told me that their PostgreSQL server was running slow because it was doing this and that, and when they restarted it it was repeating this and that��� Long story short, I had no idea what they were talking about, even though I was a user of PostgreSQL for...
May 27, 2019
Trust Them to Get the Job Done, Not!
There are twelve principles in the Agile Manifesto. The fifth one says: ���Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.��� I disagree. Strongly. This formula suggests treating people in a binary way: they are either motivated and trusted or ��� what? They have to be let go? This mindset is very typical, according to my observations, and leads to poor management and project failures. Instead, our people manage...
May 20, 2019
Please, Don���t Improvise
We all know what happens when a programmer decides how a web site or a mobile app should look. It ends up looking ugly. And why is that? I don���t know exactly, but my best bet is on the left-brained nature of programmers, who mostly are rigid and logical mathematicians. UI design, to the contrary, requires creativity and intuition, which reside in the right side of our brain. Some recent studies are skeptical about that, but my personal experience tells me that you should never expect a prog...
May 13, 2019
0rsk.com: Cause + Risk + Effect
���A project manager���s work should not focus on dealing with problems; it should focus on preventing them,������this is how Rita Mulcahy started a chapter about Risk Management in her great book PMP Exam Prep. Sounds smart, but how does a project manager know about the problems which are supposed to be prevented? This is what that chapter and Risk Management Tricks of the Trade for Project Managers (yet another great book by the same author) are dedicated to. What I learned from these book...
May 6, 2019
Sibit Demonstrates How Bitcoin Works
Bitcoin was a big technical mystery for me. All the articles I���d read about it sounded extremely complex and absolutely indigestible. Until I got stuck with a task: I had to integrate Zold, our experimental non-Blockchain cryptocurrency, with Bitcoin. I had to study the architecture of Bitcoin and I found this short and simple video (I highly recommend you watch it). I managed to implement the integration and understand how Blockchain works. Here is my short summary. I hope it will be help...
April 22, 2019
Elegant READMEs
Some time ago I wrote a blog post An Open Code Base Is Not Yet an Open Source Project where I suggested a few important qualities of a good open source repository/project. One of them was the well-written README file. Here I will try to give a few hints on how to create a good README file and what mistakes to avoid. I hope you find it helpful.
[image error]Life of Pi (2012) by Ang LeeI will list everything you need to have in the README, in the order those elements should show up:
Title and Description...April 16, 2019
How to Use Nutch From Java, Not From the Command Line
Apache Nutch is an open source framework written in Java. Its purpose is to help us crawl a set of websites (or the entire Internet), fetch the content, and prepare it for indexing by, say, Solr. A pretty useful framework if you ask me, however it is designed to be used only mostly from the command line. You download the archive, unzip it, and run the binary file. It crawls and you get the data. However, I���ve got a project where this crawling had to be embedded into my own Java app. I real...
April 8, 2019
Stop Pitching, Beg Them!
You want your startup to be visible on TechCrunch, right? But you don���t have $15-20K per month to bribe a reputable PR firm to get you there? No worries. This blog post will give you a set of simple instructions on how you can get the attention of those tech journalists who are currently busy writing about Musk���s and Zuckerberg���s innovative ideas. They will definitely write about your baby, I promise you. Just do what I say.
[image error]Mon Roi (2015) by Ma��wennFirst of all, you have to remember...


