HNHacker News
TopNewBestAskShowJobs

drinchev

3,581 karma · joined October 4, 2011

Freelance web developer, based in Berlin.

http://www.drinchev.com

[ my public key: https://keybase.io/drinchev; my proof: https://keybase.io/drinchev/sigs/DoNkf0DJhCHcuXXwrX-M5M-qqQV3NqJQJO518YFb8zY ]

submissionscomments
drinchev··on In defense of functional CSS
Using sketch / photoshop these days gives you "Copy CSS Attributes" functionality for most of the elements, which is basically 50% of your CSS, the rest is layouts ( super easy these days with flex box / grid ), media queries and probably some more.

I agree that Cascading part of the CSS is very troubling, but I don't think functional CSS solves it in an elegant way. Actually I think it's hardly readable and confusing :(

As of the argument that you don't need to write CSS properties anymore, I would suggest using a plugin like Emmet [1].

(1): https://docs.emmet.io/css-abbreviations/

drinchev··on Goss – Quick and Easy server validation
I used goss for testing ansible roles. It is simple enough to put in my CI and to configure. Having a .yaml syntax similar to Ansible makes it the appropriate choice for the task.
drinchev··on Don't learn Dvorak
It's a lot of fun, when someone tries to write a note on my IDE ( WebStorm ) where I'm using vim mode. Most of them give up and open Notes app.

Joke aside. I don't think that pleasing other potential users of your computer should be a motive to not make it productive for you.

drinchev··on Securing MongoDB Using Let's Encrypt Certificate
In my last project, we had a VPN ( tinc ) between the mongo cluster and the micro services.

Tincd was installed on each virtual server and allowed a secure and unified way for communication.

For example Redis, Mongo, Logstash, etc... all have their own way of encrypting the connection, but once running them in a VPN, you can leave them unencrypted.

drinchev··on How true hackers write JavaScript
Maybe the author used to write C
drinchev··on EU to recommend that member states abolish daylight saving time
On top of that DST is one of the nastiest things when dealing with time / date in CS.

I’m scared as well that there will be another edge case when the DST is being demolished from EU as the time calculation in the past and the future will have another “if” clause.

drinchev··on Why JWTs Suck as Session Tokens (2017)
So you invalidate all tokens? Or it is per user ID salt. If the latter where do you keep the salts and why not simply having a server side session ID, instead of the salt
drinchev··on Why JWTs Suck as Session Tokens (2017)
Refreshing a specific token can not be blocked on the server side. If you do, it’s already stateful.
drinchev··on Why JWTs Suck as Session Tokens (2017)
Biggest complaints about JWT is the inability to sign out a user. You can, yes, delete the cookie on the client side, but if the JWT is stolen you can’t be sure that it won’t be used again ( invalidate ).

Same happens on reset password, where by the book you need to sign out the user from every device. Good luck with that having standard JWT implementation.

drinchev··on Age of Invisible Disasters (2017)
There is currently a huge problem with the Bulgarian Electronic Trade Register [0]. The register stopped working two weeks ago and is still not online [1].

It holds all company ownership data and a lot more. Right now there is no way to register a company in my country, as well as making any changes to existing companies ( e.g. changing manager, shareholders, etc. ). It is one of the most important set of data for an EU country.

The original problem ( leaked by the government ) is that a 4 of the RAID5 disks broke down, but it is still a mystery why recovering the data takes more than 2 weeks.

0 : http://brra.bg

1 : https://bivol.bg/en/classified-information-and-human-error-c...

drinchev··on Confessions of a recovering Perl Hacker
Using perl exclusively for web development, I was quite lucky when I switched to the very immature ( back then ) NodeJS.

I remember how happy I was and how fast I was able to run and develop anything ( compared to Catalyst ). Still, being a very big fan of Perl, unfortunately have to state that having a Perl job would already be a step backwards in my career.

Perl served it's purpose when CGI scripting was considered normal web server, but nowadays golang, NodeJS + TypeScript are having way bigger community than Perl and they feel "modern" compared to even Perl6.

drinchev··on Show HN: Browsh – A modern, text-based browser
For someone stuck in the ssh demo, as myself. Ctrl+Q will exit the browser and end the ssh connection.
drinchev··on MacOS Mojave removes subpixel anti-aliasing, making non-retina displays blurry
Wow that's terrible. Would be really sad. Even on my non-retina MacBook's display it reduces drastically the readability.
drinchev··on Roadmap to becoming a React developer in 2018
I've never learned any programming language / framework with a step-by-step component learning. I usually grab a simple task ( make a todo app, make a hello world, etc. ) and do it.

Funny enough I've worked with and know almost all of the yellow circles on this diagram only because I needed them at some point.

drinchev··on Ask HN: HN supported initiative to transition ageing developers to legal?
I have a law degree, but I work as a full-stack developer. The shared logical thinking between law and programming is astonishing.

Nevertheless I transitioned from law to working in IT, because of the salary / career options ( being a successful lawyer is magnitude harder ).

As this seems like a crazy idea, I tend to agree that we need more specialised IT lawyers, understanding what's happening down to the byte. Unfortunately the idea folks are not always lawyers, but mostly politicians and this is quite hard to transition to.

drinchev··on JavaScript: Does It Mutate?
I did that mistake with `sort`. There was a nasty bug that I tried to fix, when I realised that `sort` actually mutates the array and returns it as well. That was pretty good lesson to learn.
drinchev··on Gitlab 500 error
Unfortunately the smartest minds in CS are exactly suggesting “don’t reinvent the wheel”. Maybe your comment is quite relevant for GitLab, because of their admirable publicity on their outages and code base, but I’m quite sure that even your TV has the same weird layers over layers that do something for the sake of “ease of developing”

I’m always surprised when I see a working complicated software, because I know that lots of projects, today are duck-taped patchwork.

drinchev··on Command Line and Windows Subsystem for Linux – The Windows 10 April Update
Was so sad, because vagrant stopped working on my colleague's computer after this update.

I had to force Vagrant to use the "system" ssh binary ( VAGRANT_PREFER_SYSTEM_BIN=1 ), since the internal vagrant OpenSSH stopped working.

And this is without WSL being in use.

It's already so complicated to run even git / vagrant on a windows machine, that I'm wondering how are people developing with it.

drinchev··on Responses to strftime and %G
Nobody will look for developers with the following line in the ad:

- Must be an expert in strftime / Date / datetime

This is something everyone expects devs should know, but unfortunately working with timezones and date objects is super hard.

The example with %G is too specific for the whole problem. There are always date conversion / libraries / ISO / Locale specific / etc.. Damn it, even Apple returns specifically "PST" in their own responses ( why?! ) [1].

Everyone has a story with manipulating date / time and that's already a sign how bad the situation is.

Trying to be positive ( and funny ), I hope there will be some big and great conference in around 1747247444 [2], where the United Nations' computer department decides that it's too stupid to have so many rules for measuring time and sets a unified standard with no DST, leap years, etc.

1 : https://gist.github.com/lxcid/4187607

2 : https://en.wikipedia.org/wiki/Unix_time

drinchev··on 'Google go home': the Berlin neighbourhood fighting off a tech giant
Typical Berlin startups as of 2018 usually look for importing developers from other countries with relocation help. This, IMHO, is already the beginning of the salary increase, which is inevitable.

Unfortunately the progressive taxation [1] is quite complicated and makes it impossible to increase your life-style with just a salary bump.

I guess that's one of the reasons Berlin is still considered as temporary place to work, before you find "something better".

1 : http://www.drinchev.com/blog/germany-freelancing-and-taxes/

drinchev··on 'Google go home': the Berlin neighbourhood fighting off a tech giant
> Berlin will be Europe's Silicon Valley within a few years.

Things that need to happen before this :

1. Salaries need to grow faster. Rent is really high for the new comers specialists.

2. Companies need to increase the salary gap between good and bad workers. Right now you are not able to negotiate more than 10% on top of the "average" salary.

3. Germany needs to fix the privileges of employees having options / shares of the company. With the current legislation / founders attitude is quite boring and useless.

drinchev··on Ask HN: What is something surprising you learned about making money?
I learned a lot about how you can fail to become rich by working, after I did some digging into taxation in Germany [1].

The outcome is that you should not expect that working more will equal to becoming rich.

1 : http://www.drinchev.com/blog/germany-freelancing-and-taxes/

drinchev··on Minimal Responsive Grid System
Are grids still a thing? I hardly had to use any for the last 2-3 years. I just have a `display: flex` and control the direction with media queries. Seems much more easy than learning a grid css file
drinchev··on Hyper 2, Electron based terminal
Last time I checked the bindings of QT[1] for NodeJS were not updated since 6 years.

I think they are still unmaintained and also are lacking the community around it. I think GitHub embracing Chrome-wrapped-apps was a significant move, since no other company did something similar for desktop javascript applications.

Maybe we will need to wait a bit more, until some of the big tech companies realises that having better QT / GTK bindings and build tools, examples, proper documentation will benefit a lot the company and the community around it. Until then, we are stuck.

[1] : https://github.com/arturadib/node-qt

drinchev··on Hyper 2, Electron based terminal
Wow so much hate in this thread.

First, the author is not doing this for his CV.

Second, the benefits of using electron are enormous for any JS developer and there are a lot.

Third, I also hate electron apps and wouldn’t use this app, but I’m not going to jump back to “why electron is bad” discussion, since I can’t suggest anything better in 2018.

drinchev··on Hyper 2, Electron based terminal
Electron doesn’t work on iOS or Android, so phone is inaccurate.
drinchev··on Tesla switching to 24/7 shifts to push for more model 3s by June
Wow that’s like a CEO I would like to have.

I really like his attitude that an already big company should not act like a conglomerate. Cutting middleman is always something that I advise my managers to do, as well as pointless time-wasting meetings.

Keep in mind that some Germans here think Tesla is a joke, because “nobody can mass produce cars so easily”

And they are both right and wrong. It’s a tough business, but I have no doubt that someone like him can actually make it till the end.

drinchev··on Facebook Container for Firefox
This should be enabled by default in Firefox, as is the tracking in Facebook.

Hardly will Facebook care for the couple of hundreds that install and use something like this, but it will be much more efficient if browsers are pre-enabled with this feature.

drinchev··on Boycotting Amazon
I always wondered why Amazon doesn't have some labor union which at least negotiates normal working conditions.

Boycotting usually doesn't have the same effect as a 2-days strike.

drinchev··on Mark Zuckerberg Is Either Ignorant or Deliberately Misleading Congress
I think he did his job. He passed a hearing in front of the congress, while telling as little as he could.

What he did, of course, for HN / tech people / journalists was fiasco, because we know what actually happens there. For the average people it was another reassurance, because now they say "Facebook is okay, the guy went in congress and no consequences followed, so it's good."

I tend to believe that the questions and the hearing itself was so bad and uneventful, because Facebook probably holds tons of data and collaborates closely with US government. So it will be quite unfortunate for the government and for Facebook if the real questions are being asked.

I really enjoyed reading the commend of @DyslexicAtheist [1] from yesterday's thread.

> it was a sham because asking hard questions would require them to admit FB being an important asset for US own intelligence operations.

1 : https://news.ycombinator.com/item?id=16811281

← PreviousPage 4 of 30Next →