Yegor Bugayenko's Blog, page 8

October 5, 2020

Spell Check Your LaTeX Writings Using GNU Aspell

Do you use LaTeX
for your academic and technical writings? You don���t?
Well you should! It���s the most only professional instrument for
making properly formatted PDF documents.
MS Word and Apple Pages are for secretaries non-tech people,
while LaTeX is serious. It���s perfect in so many ways, thanks to
Donald Knuth
(the creator of TeX) and
Leslie Lamport
(the author of LaTeX),
but it lacks one very convenient feature:
spell checking.
The only solution I���ve found so far, which works perfectly...

 •  0 comments  •  flag
Share on Twitter
Published on October 05, 2020 17:00

July 28, 2020

Open Source Etiquette

Here is a short list of common courtesy rules for open source
software development. Actually, they apply elsewhere also, but they are most
visible when you do GitHub-based coding. I strongly believe that
sooner or later all programming will be open source and these rules
will apply to everybody. Consequently, it makes sense to start following them now,
whether you are an active Apache contributor or a happy owner
of the ���Java for Dummies��� book.





[image error]Hong Kil-dong (1986) by Kil-in Kim

In no pa...

 •  0 comments  •  flag
Share on Twitter
Published on July 28, 2020 17:00

June 22, 2020

To Measure or Not to Measure

The question was asked
on StackExchange nine years ago (just around
the time the site was launched): ���If not
lines of code, then what is
a good metric by which to measure the effectiveness of remote programmers.���
The answers,
not surprisingly,
were all along this line: programmers are not supposed to be measured!
I bet those who answered were programmers themselves.
Indeed, why
would a programmer be interested in being measured and being
reduced to a mere number?





[image error]Better Call Saul, Season ...
1 like ·   •  0 comments  •  flag
Share on Twitter
Published on June 22, 2020 17:00

May 18, 2020

Veil Objects to Replace DTOs

Here is a new idea I discovered just a few days ago while working with Codexia, a Ruby web app. I had to fetch data rows from PostgreSQL and return objects to the client. It���s always been a problem for me, how to do that without turning objects into DTOs. Here is the solution I found and gave a name: Veil Objects.

[image error]Constantine (2005) by Francis Lawrence

Let���s say I fetch the list of projects from PostgreSQL:

class Projects def fetch @pgsql.exec('SELECT * FROM project') end end

The...

 •  0 comments  •  flag
Share on Twitter
Published on May 18, 2020 17:00

May 12, 2020

EO the Career Killer

It���s time to answer one of the most popular questions I hear from junior programmers when they meet me at a software conference or online: What is the point of studying Elegant Objects (the new object-oriented paradigm I���ve been preaching for the last five years) if almost nobody is using it on real projects? Why swim against the current and learn something that may only harm my career, even if it does seem like a sound technical concept? Where is the profit in making myself an outsider?...

 •  0 comments  •  flag
Share on Twitter
Published on May 12, 2020 17:00

May 4, 2020

Open Source Arms Race

Some companies massively invest in open source software projects, while others still remain skeptical and stay away from this trend. What���s in it for those philanthropists, like Google, IBM or Microsoft? Why spend money on something that doesn���t belong to them and is shared among all of us developers? Don���t they understand that the code they write may be used by their competitors? It seems they do understand, but can���t do anything about it.

[image error]Filth (2013) by Jon S. Baird

As David...

 •  0 comments  •  flag
Share on Twitter
Published on May 04, 2020 17:00

March 2, 2020

Prefixed Naming

If you look at the source code of Takes or Cactoos for the first time, you most probably, like many others, will be triggered by the naming convention, which implies that most class names have two-letter prefixes: BkSafe, RqFake, RsWithStatus, TkGzip, and so on. To be honest, I havent seen a single Java developer who would be comfortable with this convention at first sight. I have, however, seen many who are in love with it now. This article is for those who are interested in moving from the...

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on March 02, 2020 16:00

February 18, 2020

Fat vs. Skinny Design

It seems that type/class hierarchies in OOP may be designed in two extreme ways: either with full encapsulation of data in mind; or with just a few interfaces making raw data visible, and letting classes deal with it, parse it, and turn it into smaller data elements. You may be surprised, but Im suggesting the second option is more elegant. It seems to me that we dont lose object orientation, but rather gain a lot of flexibility, reusability, testability, and so on.

[image error]Owning Mahowny (2003) by...
 •  0 comments  •  flag
Share on Twitter
Published on February 18, 2020 16:00

February 10, 2020

Object Cohesion: Why It Matters

You most probably know about Elegant Objects (EO), an alternative object-oriented paradigm, which claims that objects must be immutable, have no static methods, never use NULL in their code, use no annotations, and so on. We, the EO adepts, claim many things, but not so many people believe us. Those non-believers say that we are trolls, at best. Their main argument is: everybody works differently, why should we listen to you? I have no answer for them well I had no answer, until I created ...

 •  0 comments  •  flag
Share on Twitter
Published on February 10, 2020 16:00

January 14, 2020

One Question You Should Never Ask Your Boss

There are good and bad soldiers in any team. The job of a manager is to understand which is which. Then to promote the good ones and discharge the bad ones. There is one simple indicator I use to make this segregation. Its a simple question I either hear from my people or dont. Those who ask it are the bad soldiers. Their attitude and their behavior require immediate corrective actions. Some of them are curable, while others are not. This question tells me everything, if its being asked. I...

 •  0 comments  •  flag
Share on Twitter
Published on January 14, 2020 16:00