HNHacker News
TopNewBestAskShowJobs

ninegunpi

97 karma · joined October 4, 2017

CTO at data security company. Opinions reflect my current state of mind and nothing else matters. I blog at http://www.ivychapel.ink about information security, risk and other things that amaze me.
submissionscomments
ninegunpi··on Why decentralized social services fail
>Decentralized technology is in fact trying to solve a serious problem, but sadly it is a problem that most people choose to ignore in favor of the incentives offered by Facebook and other monolithic centralized services.

So people trying to solve these problems better focus on root causes rather than exciting technical problems which do not change the rules of the game anyway, unfortunately.

ninegunpi··on Why decentralized social services fail
That's what I'm talking about (in rather indirect language - this is just a quick rant) - the incentive structure drives even decentralized systems (like the web as a whole) to centralization.

And yes, mainly it has to do with the problem that tech people aiming for decentralization are yet to accept that this isn't a tech problem, but economic/incentive problem.

ninegunpi··on DxO acquires Nik Collection assets from Google
Well, Google levelled up their game on Snapseed at some point, so why milk the cow you don't know how to feed, makes sense.
ninegunpi··on Why ProtonMail is more secure than Gmail
>web crypto is better than no crypto.

I seriously disagree on this (our company is facing similar challenges, and I've asked these question myself numerous times). It's not better, it's much worse.

"Some crypto" creates illusion of security, where you don't really know has it failed or not - frequently, there is no functional failure in cryptographic failure. It doesn't stop working, it stops providing the very guarantees you're using it for.

> However, we think that not playing is taking the easy way out, so even though the game is 'rigged' against us, we have a great team of engineers who have decided to play anyways.

Truly so, but you need to play better then ;) Godspeed!

ninegunpi··on Why ProtonMail is more secure than Gmail
Wow, this is very cool, I need to read more about that.
ninegunpi··on Why ProtonMail is more secure than Gmail
While I love ProtonMail as an effort to popularize security for end-users and trying to come up with smart technologies to achieve that, the whole risk model behind the writeup barely stands scrutiny. What's worrying, ProtonMail (who declare security a first-class feature) use "features" instead of systems to define security of their service.

If you think of it for a second, web crypto (protection against intermediaries and dishonest server) actually requires trusting the server, so no encryption-derived claims are sound if the server is dishonest. Any third party exploiting (or forcing legally) the server can make it dishonest and collect required keys in few simple steps. And, FWIW, if encryption is controlled by browser, adversary compromising the client itself can simply disable it.

So, while the effort is very important (and I bet they'd be around the first people who will suggest techniques for safe in-browser crypto execution), it isn't that they can be compared security-wise other than: - ethics - security policy - competence of security teams.

Isn't a level playing field for ProtonMail.

And, my final problem is, 99% of people are still outside Protonmail anyway, hence the intolerant winner argument, which ruined PGP and will ruin many optional security systems on top of convenience protocols in the foreseeable future.

ninegunpi··on Ask HN: Developers who became engineering managers, how was the experience?
coaching does not equal teaching. teaching is learning information, coaching is ensuring skills transfer and achieving desired personal qualities.
ninegunpi··on Ask HN: Developers who became engineering managers, how was the experience?
>I wished I had gotten more support, many companies don't know how to do that well.

It's literally the biggest leadership failure when non-managers get elected to management positions - failure to coach them by senior managers, and ends to torture for everyone. People don't get to deadlift 500lbs after lifting 20lbs for previous 10 years just because someone decided they can do it.

ninegunpi··on Ask HN: Developers who became engineering managers, how was the experience?
It's true, but real leader is responsible for his people and the team as much as for success. Team has to see that leader puts significant effort into making weaker people become stronger before actually letting them go. This way, healthy mutual respect arises instead of hostility and fear, because letting underperformers go always leads to fear, unhealthy competition, intra-team political games which are just a waste of human time and nerves.
ninegunpi··on Ask HN: Developers who became engineering managers, how was the experience?
Sorry, English is not my primary language, so the grammar constructions might get odd from time to time, this might have been the cause.

Point 1. Good engineer should know how to code, and how to cooperate with fellow engineers well. This means healthy balance of "hard" (engineering) and "soft" (communication) skills. When engineer becomes tech lead or engineering manager, being able to communicate, understand other people's behavior, lead them, communicate situation up and down the chain,- soft skills start to matter way more. If there are serious skill gaps in soft skills (and all ex-engineers have ones when they start to grow in this area), addressing them is more important for engineering manager's career than addressing lack of up-to-date-ness in latest technology.

Point 1, Example: when I first got to manage a small team, me not understanding power distribution between younger and more experienced engineers (I came from latter category) led to mass extinction of juniors: the way important decisions were made (with more contribution from senior engineers) was good for the company, but the way it was presented (We The Elders Made Crucial Decision) pissed youngsters off, made them feel incapable of making valuable contributions and they quickly left. After understanding the reason (which took hours of mentoring from CTO, a very experienced manager), I had to really work hard on creating the atmosphere where, even when the decisions were made by seniors, the ownership and responsibility for actual implementation of these decisions was distributed among the teams and everybody could contribute to mutual success.

Point 2, with examples already: It kinda continues point 1, but bridges from personal scale to team scale. Process is as good as it's bottleneck. Team is as fast/writes as quality code, as it's weakest members. If you tolerate them, they constrain the process. Your goal is to spot weaker people / weaker engineering decisions and put reasonable amount of effort to either make them better or make them live. As an engineering manager (e.g. manager that comes from engineering, not from fancy MBA factory), you actually can tell the slacker from person who wasn't properly integrated into the process. As an engineering manager, you can tell that the decision to make blocking tests stop CI on the first failure is a poor decision and having a proper failure log of all tests is crucial for speed of bug fixes, not fixing them faster or with better method. Basically you are responsible for the failure (even if you're formally not), because you're the focal point of knowledge and power that can prevent them, put slower people to speed, put processes to full power.

ninegunpi··on Atom's new concurrency-friendly buffer implementation
Sorry, but I think you've completely missed the point of this essay.

Think for a second: why can't you produce a better working text editor that people actually use, if all current ones are produced on inefficient technologies by subpar engineers with impaired judgment that led them to current choice of techniques? What are the real barriers to do that?

ninegunpi··on Ask HN: Developers who became engineering managers, how was the experience?
Answer from a different side of the fence:

As an executive who elected senior engineers into engineering managers three time in different companies, there are three challenging areas for even the most fit for the job engineers:

- understanding that soft skills and understanding company politics now matter not as much, but more than detailed technical skills. focusing on eliminating weaknesses in this area is that pareto-ean 20% of effort that makes the rest 10x easier. - it's now about eliminating weaknesses, not growing strengths: what you tolerate slows down and makes everything toxic, while what you preach is a second-order problem for a while. it evens out, and later on you can focus on growing strengths, but only after a while. - you own consistency of engineering culture, not your piece of code and responsibility, now. which makes figuring out internal feeling of "I'm doing it right" twice as hard.

ninegunpi··on Atom's new concurrency-friendly buffer implementation
>3. Automatic garbage collection >4. Interpreting the code (instead of compiling to a single binary). >5. Virtual machine shit

When feeling like the rest of the world is running in a direction of utter madness, it makes sense to re-read "Worse is better" [1] once in a while. However, I agree, DT and GIL aren't helping anything but writing poor code faster and blinder.

[1] https://www.jwz.org/doc/worse-is-better.html

← PreviousPage 2 of 2