August 21, 2018

My First Stream

Just finished my first public attempt to do video stream “let’s make something with Blender 3D” to Youtube. Here are some follow-ups.

  1. Do preparation before. Do not rely on your fantasy and inspiration.They may not be online when needed. Have something beforehand.
  2. A human’s brain isn’t a parallel device. Separate speaking and doing stuff until “doing stuff” is completely automatic.

July 31, 2018

About Valve's Plain Hierarchy

About Valve’s Plain Hierarchy

A couple of years ago I read about Valve’s ‘plain hierarchy’ way of management. The idea was that every developer/artist/writer is consciousness individual and they all are capable of self-organization, and this approach would deliver excellent results.

Early then I wasn’t sure about this idea. I was not able to say the exact reason, but I had a feeling that something was wrong.

When I’ve learned a bit about The System Theory it became more evident that a system is not equal to the sum of all components of that system - additional features are emerging as the result of combining simple elements.

Also, human nature should not be discarded. Wish to find the right place in some hierarchy is sitting deeply in our brains and if there is no hierarchy, then humans are creating it unconsciously.

There is an excellent example of a plain hierarchy - ‘kolkhoz’ (collective farm) in USSR. No need to say about the results.

So it’s absolutely no surprise that Valve’s plain self-organizing collective naturally have evolved into something… wrong. As described in this article: https://www.pcgamer.com/ex-valve-employee-describes-ruthless-industry-politics/

By the way, side effects of that can be seen from the outside: what is the last cool and successful thing from Valve? Why is Steam app so terrible?

Where is Half-Life 3?

June 12, 2018

Hope Is Not a Strategy

I’ve just found an interesting tweet about hiring “the right” developer. Companies try to avoid hiring “wrong” developers so strong, that they think it’s better not to hire a good developer than have a chance to get a bad one.

But it’s better to minimize risks by removing the cause of that risks. If it is possible for a junior developer to drop production, a senior will do it eventually.

Hope is not a strategy.

Removing paths to fail makes success inevitable.

June 1, 2018

Emoji Is a Mistake

Mixing images with letters was a terrible idea. One may object that emoji are widely adopted and used by a vast amount of people. But the correlation between quantity of usage and quality of idea (and implementation) is so weak, that it’s not a proper argument.

It has created a lot of unnecessary problems, like different appearance on different platforms. Or time inconsistency, like the burger or the gun emojis that had been changed.

By the way, there was a gun. A proper gun, now replaced with a toy pistol.

Why? Maybe it’s because someone decided that small image of a proper gun can harm someone. But why some permutations of [g,n,u] or [a,e,n,o,p,w] sets of letters aren’t banned from use? Looks infantile.

Next - a color of humans and types of families. Attempt to be inclusive of diversity resulted in terrible technical implementation, also failing to include every possible combination. And why there is no way to define eye color, height, age and other important (for someone) properties that make them unique?

Why there is only that given set on animals, which does not include my beloved pet cockatiel bird while the nasty dove (I hate them!) is in the emoji set?

Right now it’s a little that can be done to solve the issue, but let me try to imagine how would I do it. It’s quite hard to come up with a proper solution because the idea of mixing text and images itself looks weird. So I just will not.

May 26, 2018

About GDPR thing

“All power to the Soviets. Peace to the People. Land to the peasants. Factories to the workers.”

All power to the Soviets. Peace to the People. Land to the peasants. Factories to the workers.”

…and private data to the Users!

There was an idea about a better world and a lot of people actively followed that idea. Blood was spilled. After a hundred years we have almost the same situation, but not with peasants and workers - with internet users.

History goes spirally. Now we have EU making regulations of totalitarian scale, and as an internet user, I don’t like it.

I don’t understand why such thing as GDPR compliance is obligatory, not optional? We have websites with SSL and without, and those who care can check green lock-sign in the address bar. Those who don’t… well, they don’t care.

If you didn’t know that Instagram and Facebook know your precise position when you posted a photo with a location mark, then you don’t care about this part of “personal data.” Someone who (for any reason) needs to have location hidden from third parties already manages GPS/cellular position tracking. The same principle applies to browsing history, search requests, points of interests, personal data that one enter to questionnaires all over the internet.

The GDPR-like solution that is trying to help a user in the Wild West Internet seems for me very similar to the Soviet system which deprived each one of responsibility. Making decisions for someone who doesn’t understand what’s happening is terrible in the long term. It’s taking freedom away giving short-term comfort and time to think less. It’s not a solution. It’s just a patch that has been put on terrible ulceration, while the reason not on the surface and cannot be cured from outside.

I’m saying that compliance to GDPR(-like) thing should be optional. If service is compliant with it - it can put on a beautiful badge. Users can make a decision then if they want to use it or not.

Users should be educated enough to understand what “private data” is, what a cookie is and how to disable it (so no more “ACCEPT OUR COOKIE POLICY” pop-ups!). It’s great to know how that whole Internet thing works (like they know what kind of petrol they should put in their cars and that it’s not right to drive when the red light is on)

May 26, 2018

I have a question

Who is responsible for all these blue icons? Why blue?

Every icon is blue

Last year, if I remember it - November, VS Code had changed it’s blue icon for orange. I was happy then! But only for one month. Some “community” went crazy about orange and orange was reverted to blue :(

May 4, 2018

About Cookie Warnings

There is a big hype about privacy, private user’s data, GDPR on the internet nowadays.

Also a lot of mentions about “cookie warnings” that are popping almost everywhere.

I hate it. I think it’s wrong.

As an advanced computer user and software developer deeply who deeply understand all gears behind WWW, these alerts are just informational noise. I can manage cookies. I can disable cookies with browser settings; I can blacklist them by domains if I don’t want cookies from a specific place.

One may say “not everyone is a web developer!”

True. But the Web is big, complicated and in general - hostile area. However, everyone uses it, and the majority of web users have no idea how it works, while every car driver knows that car uses gasoline, sometimes it’s required to refill car’s tank (not talking about electric cars). And they know that drinking gasoline is dangerous for health! Also crossing roads in wrong places and while red street light can be lethal.

Why do they know that?

Don’t know about the USA, but I’ve learned that things from my parents, later by teachers in school, and then in driver courses.

Maybe that cookie warnings are an attempt to fix a non-technical issue with a technical solution (it almost always ends up with something ugly)?

April 28, 2018

Why Do I Write Code

There is a type of questions on job interviews: where do you see yourself in 3-5-10 years from now. I’m taking a lot of interviews last time, so I thought quite a lot about it.

And I saw that there is an underlying question - what is the reason I do what I do? Why do I write code?

And the fair answer is quite simple - I want to have fun.

I can go deeper into philosophy with this answer. As biological objects, we, humans, need one thing - reproduction. Pass genes to the next generation and provide them comfortable conditions. But that kind of naked fair answer maybe uncomfortable to live with (for somebody). So we, people, came up with a bunch of derivatives of this one fundamental need. We even can arrange them in a fancy manner like Maslow’s pyramid.

That said, “to have fun” is my abstraction on top of all these stuff. It includes resources to have fun (money), fun place to live (high quality of life, close to a sea and mountains, and less ice around). And it’s not only about myself - it isn’t fun to see unhappy people around.

But what’s so special in writing code for me that makes it fun?

I can do it. I’m still getting fun writing code. And even when humans spoil some technology (technologies are perfect - humans make them look bad abusing not reading docs) I can abstract from it and squeeze some fun out of it.

And if something goes wrong - I’ll switch to full-time photography. Keep your hobbies up and ready!

Pink Blossom by Dmitry Tabakerov

April 25, 2018

Fake Meet Burger

About recent Casey Neistat’s review on fake meat burgers.

Having technology which able to create almost real meat, they use it to create fake meat, actually. Not to invent something new, to go beyond familiar tastes. Why?

I’ve tried dish with fake meat cutlet. As I know, it was made with some beans. And I can tell you - that beans could be cooked better if they won’t try to imitate real meat.

Don’t imitate - create.

April 24, 2018

Xperia Xz2 Premium

I was just about writing that we, the tech people, care too much about stuff that already too… Common and has nothing special. Mobile phones. Tech reviews, unboxing - it has too much attention than deserve as I think. Why should I care about snapdragons or GBs of RAM? Nowadays any phone more than 500$ is OKAY. Select one you like.

So, today I found out that Sony announced XZ2 Premium. And I kinda excited! Right now I’m writing this on XZ Premium and I love this phone. Top specs, interesting design, HDR screen.

Sony Xperia XZ2 Premium

I think I’ll upgrade the new version - 4K HDR recording looks promising. But not as soon as it will be released, as Sony’s pricing kinda extreme, but over time prices go down quickly.

March 31, 2018

Sony WH-1000XM2 First Day Review

The New Headphones

Sony MDR-XB950BT were my first wireless headphones until today. They are quite heavy and bulky, but sound is fine for me, battery life is good. A couple of weeks ago I broke earcup mount and the only way to fix it was to fill it all with epoxy resin. The earcup became attached again but it cannot rotate around vertical axis anymore.

But that was not the only reason I got new WH-1000XM2 today.

Sony WH-1000XM2 Sony WH-1000XM2 Sony WH-1000XM2

You may have seen some video reviews, me too. They are positive in general and I agree. The headphones are very comfortable, flexible and have a lot of room for adjustment.

Sony WH-1000XM2 Sony WH-1000XM2

There is NFC chip so pairing using it with my Sony Xperia XZ Premium was one-moment action. The phone said that LDAC codec enabled. I’m not an audiophile and about 70% time I’m listening podcast, other 30% - music from online streaming services. So for me quality of the sound was far more than Ok.

Sony WH-1000XM2

The headphones are foldable and there is a case for transportation. It has rigidity so it can save headphones from some damage if you put it into backpack or suitcase full of other stuff. Also there is an adapter for connecting to airplane sound system. By the way noise cancellation works when the headphones are connected via cable. The cable is thick but flexible and painted in the same color as the headphones.

Sony WH-1000XM2

Noise Cancellation

It works great. It cuts off a lot of surrounding sounds. Today I had 2-hrs walk around parks in Minsk and when I took the headphones off my head I was shocked how noizy city is.

Sony WH-1000XM2

Also I noticed that 25%-30% volume level is enough for me. For comparison I used to use 70%-80% volume with my previous MDR-XB950BT.

Sony WH-1000XM2

There is a feature when you can touch the right earcup with your palm and noise cancellation will be turned off until you take the palm off. Also music will be muted but external sounds will be amplified, so if someone asked you in that moment you’ll hear that person loud and clear.

Sony WH-1000XM2

March 21, 2018

My Lame Way to Get LetsEncrypt SSL for Azure Web Apps

SSL (and encryption in general) is critical for “healthy” internet. And it’s not only about securing payments and private mails. While having no secrets, this particular “home page” is protected from unexpected ads that can be added by internet providers by SSL. So, I need a way to enable SSL.

I have this website running on Azure as Azure App Service. I could use Azure’s SSL for domains like *.azurewebsites.net and then it’s nothing to do. But I have custom domains and need to manage SSL for them by myself.

Here comes Letsencrypt. While I found nothing about Windows like in first two minutes, I went to Azure and set up VM with Ubuntu 16.04. Then I SSHed to this machine, and grabbed certbot-auto:

azazeo@turkale:~$ wget https://dl.eff.org/certbot-auto

and made it executable:

azazeo@turkale:~$ chmod a+x ./certbot-auto

Looks like I should be able to go and get certificates for my domains. As I ran it not on actual web-server and wanted only to get certificate, I passed certonly parameter to certbot, also I selected DNS challenge to prove domains ownership.

sudo ./certbot-auto certonly --manual -d tabakerov.name -d maybe.ninja -d amionline.today --preferred-challenges dns 

…aaand it failed:

...
Creating virtual environment...
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/virtualenv.py", line 2363, in <module>
    main()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 719, in main
    symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 988, in create_environment
    download=download,
File "/usr/lib/python3/dist-packages/virtualenv.py", line 918, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 812, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /opt/eff.org/certbot/venv/bin/python2.7 - setuptools pkg_resources pip wheel failed with   error code 1

I fixed it by declaring next two environment variables:

azazeo@turkale:~$ export LC_ALL="en_US.UTF-8"
azazeo@turkale:~$ export LC_CTYPE="en_US.UTF-8"

And it ran just fine. Asked me about email, something about IP and ToS… Then it asked me to add TXT records with given values to my domains to prove that I own them. I manage my domains with Amazon Route 53 and there was nothing tricky.

As result, there were two files in /etc/letsencrypt/live/tabakerov.name/ - fullchain.pem and privkey.pem. I copied them to home folder. As Azure requires certificate to be in *.pfx format I used next command to convert:

openssl pkcs12 -inkey privkey.pem -in fullchain.pem -export -out cert.pfx

It asked for a password to make result certificate password protected and generate required *.pfx file. I copied it from remote Ubuntu VM with SCP and uploaded to Azure App Services that I wanted to protect with SSL. Added SSL binding using given certificate (in SSL certificates blade) and turn “HTTPS Only” (in Custom domains blade).

Thats it!

TODO: AUTOMATE IT!!!

March 14, 2018

Hello World

Hi, World

Let’s go static this time!

© Dmitry Tabakerov, 2018

Powered by Hugo & Kiss.