Yegor Bugayenko's Blog, page 11
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...
April 1, 2019
Software Project Review Checklist
A few years ago I wrote about the independent technical reviews any software project must regularly go through in order to make sure everything is under control. I even said recently that there is no excuse for not doing them. Moreover, the more we trust programmers, the higher the necessity to review their projects regularly. Here is a short summary of what a report from a reviewer must include.
[image error]The People vs. Larry Flynt (1996) by Milos FormanI tried to touch on this subject in a few rece...
March 25, 2019
How to Create a Java Web Framework from Scratch, the Right Object-Oriented Way
How do you design a web application in Java? You install Spring, read the manual, create controllers, create some views, add some annotations, and it works. What would you do if there were no Spring (and no Ruby on Rails in Ruby, and no Symphony in PHP, and no ��� etc.)? Let���s try to create a web application from scratch, starting from a pure Java SDK and ending with a fully functional web app, covered by unit tests. I recorded a webinar no.42 about it just a few weeks ago, but this article...
March 18, 2019
Logging Without a Static Logger
How do you organize logging in your applications? I mean web applications or command line apps, or even mobile apps. I bet you have some global variable or a singleton, known as Logger, which has a few methods like info(), error(), and debug(). You configure it when the app starts, or it configures itself via something like log4j.properties, and logs everything to the console or a file, or even a database. I was doing exactly that, or something very similar, for many years, until I finally re...
March 11, 2019
How Data Visibility Hurts Maintainability
I���ve been writing so much about object-oriented programming and its pitfalls, claiming that most of the design patterns and ���good practices��� which we are accustomed to are actually wrong and hurtful, that I totally forgot to explain the bigger picture problem. Someone asked me some time ago in the blog post about ���naked��� data: What is the problem we are solving and why exactly does maintainability suffer if we don���t encapsulate our data enough? Here is the answer.
[image error]Taboo (2017) by...February 11, 2019
Why I Want to Live in Silicon Valley
You remember my blog post about Why I Don���t Want to Live in Silicon Valley, don���t you? Read it first if you haven���t already. The gist of it is that Silicon Valley is a place with a lot of troubles. No one should want to live there, according to that previous post, right? That is what many of my readers concluded, but they were wrong. Despite the problems, the place is definitely unique and there are a lot of reasons why you may want to consider it as a great place to live, for a few yea...