68 karma · joined January 31, 2017
Interested in serious engineering causes, like "will self-driving driving cars and AI eliminate humanity earlier than poor JS code running power plants because some VC capitalist thought either of those is a great idea".
I am one of the engineers behind the project, and can answer questions if anyone has any.
Apart from this boring grumbling, the project is very interesting. Waiting for internals (https://marcobambini.github.io/gravity/internals/index.html) to arrive.
At some point in time, someone behind Go/CGo realized that automatically managing pointer math is an exercise that is being attempted for last 15 years without success (there always will be absolutely normal situations where you can't measure allocation correctly), and just limited visibility scope to things Go can control.
"This looks like a serious API break."
So thought we, being a bit annoyed. But when you think of how many problems it actually prevents,- it's a worthy move, in the end.
Look, here's an example, which emerged this morning as a pure coincidence:
I have a almost-finished blog post draft in front of my eyes my colleagues and I have been writing some time now. It outlines a problem we've stumbled, and, we believe, many other engineers have stumbled or will stumble upon quite soon (while migrating their code from Go 1.3 to 1.6 and further). The problem is exceptionally boring and stupid. We took extremely boring un-brilliant way to solve it.
The engineer who first encountered could've just written something like 'go memory management sucks', or 'how go moves forward and breaks my stuff in production', a million-and-first post about minor opinion. This is what I call useless noise, and, when used for self-promotion, quickly becomes click-bait out of desperation to get at least some attention.
Instead, we've fixed the issue, and in spare time have been slowly adding detail, reproducing cases and generating isolated statistics exactly for this case, and it grew into useful piece of knowledge for regular engineers (like we are) not to repeat the stupid mistakes we've done.
It is not as immediately rewarding, to sit on it longer until your writing has at least some utility for others, and will pay them off for the time and attention and context switch they've invested into you. This is what matters, not the "exceptionality" of engineers who are writing this.
100% hit. I do write sometimes on StackOverflow to give back some help to the wonderful minds over then Internet, because, sharing knowledge is what makes the whole engineering better. What percent of clickbait attention-craving blogging does share some useful insight and/or knowledge?
>I find it strange that this is the top comment on a forum that wouldn't exist if engineers didn't write publicly.
Maybe because you didn't understand the core meaning of the comment? (I address this equally to my writing skills: English is not my first language). It's not "engineers shouldn't write", at all.
Some small grain of my writing becomes decent enough (English is not my main language) that my employer takes it and uses somewhere.
Because, I believe, writing is important. Noising everything around with your writing isn't important and isn't even OK.
There's even nothing wrong with using writing for promoting yourself, if there are great things you can share with the world. There are a few dozen blogs I read over weekend, some of them are obviously self-promotion driven to attract attention to services or products; but they give me insight into new things in extremely polite fashion, and I love it. But only when the first phrase of my initial comment is valid:
Engineers should blog publicly when they have something to say.
Soft skills helps you grow as an engineer, it's true, but I think it's important to understand that not every exercise should become a public material.
But, in a generation publishing their every 2nd gym workout on instagram, who am I kidding anyway.
- Torrents of all kinds. - Version control systems (where ability attacks like displacing release pointers become easier). - IpSec, SSH, PGP and a number of other protected data exchange systems.
Being able to subvert integrity guarantees is a nice building block for complicated man-in-the-middle attacks.
There are many services which attempt to base their security on in-browser javascript cryptography.
What could be really valuable is not building Yet Another Service That Helps Privacy (but really, doesn't), but investing effort into building trusted execution models within the browser any website could utilize.
Secure apps will follow just instantly.