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.