HNHacker News
TopNewBestAskShowJobs

anton_gogolev

961 karma · joined July 28, 2011

Founder of HgLab: https://hglabhq.com

anton.gogolev@hglabhq.com

submissionscomments
anton_gogolev··on G# – A modern .NET language with Go, Kotlin, and Swift ergonomics
Care to elaborate on what would make C# a bad language?
anton_gogolev··on Show HN: I reverse-engineered the world maps of Test Drive III (1990 DOS game)
I remember being mocked slightly when I was headbangin' and footstompin' to the soundtrack.
anton_gogolev··on Systematically removing code
That’s not called “deleting old code”. This is now “breaking backwards compatibility”.
anton_gogolev··on Working from home? switch off Alexa, say lawyers
So you're not welcoming guests with Android phones? Will you be placing their mobile phones in a Faraday cage?

Or will not not be visiting anyone who has a Homepod/Echo at home?

anton_gogolev··on A principled approach to system design and programming
> The Law of Leaky Abstractions is a lie; abstract airtightly

This one... Our entire computing world is a pie of terrible abstractions held together by duct-tape and billions of man-hours spent working fixing those leaks.

anton_gogolev··on RFC: Adopt a modern JavaScript framework for use with MediaWiki
> ...the better your code style, guidelines, linting, infrastructure, error reporting and tests

Doesn't TypeScript kind of solves (at least partially) those issues?

anton_gogolev··on Running Istio In Production
Keeping track is one thing. Actually _running_ the Lernaean Hydra of an application in production is a whole another story. The amount of "housekeeping" you have to do to keep the thing afloat is astounding: cascading failures, distributing tracing, logging and diagnostics, metrics. Even operational side of things require a lot of attention. Presumably, each microservice would require at least a minimal level of admin-level tooling around it.
anton_gogolev··on Running Istio In Production
You can experience the same, if not worse, levels of pain and suffering with a monolithic application designed by the same Enterprise Architects.
anton_gogolev··on Opnieuw: A simple and intuitive retrying library for Python
This is some Java-level explicitness. Maybe, drop the `_seconds` suffix and replace it with something like `retry_window_after_first_call = '60s'`?
anton_gogolev··on Show HN: I wrote about book about rebasing in Git
Not to undermine author’s efforts, but I feel we as an industry took a wrong turn somewhere. An entire book on what essentially is a single Git command is just insane.
anton_gogolev··on Is Git Irreplaceable? (2019)
> ...weird design choices (e.g. branching is bad)

What bothers you in particular?

anton_gogolev··on Always Review Your Dependencies, AGPL Edition
> There's nothing wrong with having zillions of them...

There's nothing wrong until something goes wrong an now you're royally screwed. With zillion dependencies you are at a mercy of zillion maintainers, and none of them has any obligation to you. They can break backwards compatibility in patch releases, introduce subtle behavior changes, steer the project in an unexpected direction or abandon it altogether.

anton_gogolev··on Making an Endpoint 50x Faster
The whole "...we don’t want duplicated subscriber lists" is a very arbitrary requirement.

What's more, all this could have been avoided if a proper relational database structure (not even denormalized, GordonS) was there in the first place.

anton_gogolev··on Designing a package manager from the ground up
I've been using HJSON lately and it's been a joy.
anton_gogolev··on Pijul: A Rust based distributed version control system
The patented "Shlemiel the painter’s algorithm" [1].

1: https://www.joelonsoftware.com/2001/12/11/back-to-basics/

anton_gogolev··on GitHub's online schema migration for MySQL
How could foreign keys ever be a "hassle"?
anton_gogolev··on Apple and NeXT announce merger (1996)
The legalese is astonishing:

...in consideration of the foregoing and the mutual covenants and agreements herein contained, and intending to be legally bound hereby, Parent, Merger Sub and the Company hereby agree as follows...

anton_gogolev··on Oh shit, git: Getting myself out of bad situations
If by "designed" you mean "picking a content-addressable DAG as an underlying data structure", then yes, it is really beautiful. If you mean "provide a sane level of abstraction over said data structure", then hell no!
anton_gogolev··on App with local notification will crash iOS Springboard on Dec. 2
And nothing from Apple yet, right? Apparently, engineers are hard at work releasing a fix, so there should be known workarounds. Or at least it’s known to them what is actually causing the issue. Instead, we have hordes of people resetting their iPhones, adjusting dates and times, fiddling with notification settings and generally stumbling in the dark.

What would hurt them more, I wonder: publicly admitting that there is an issue (on a massive scale) and listing workarounds, or keeping total radio silence and then publishing a “whoopsies, we screwed up” after the fix is ready. All the while all their support centers are drowning in calls.

anton_gogolev··on Git hash function transition plan
NewHash is a terrible name - on par with Xbox One [X] and iPad New. Googling stuff will be hard, and good luck explaining to less technical-savvy users what is this all about.

Plus, in 100 years, when SHA-256 is compromised, what would be the name of a new new format?

anton_gogolev··on Writing a C Compiler, Part 1
Check out http://www.craftinginterpreters.com for something more in-depth.
anton_gogolev··on About the security content of Security Update 2017-001
Where are all the unit/integration tests for the APIs that this damned button is calling? Hindsight being 20/20, but I cannot imagine not asserting that a newly created/re-enabled root user has a non-empty password.
anton_gogolev··on Tile: A New Language for Machine Learning
Immediately after you are tasked to maintain said overly-clever and overly-terse code.
anton_gogolev··on Writing a SQLite clone from scratch in C
> ...every single quote...

And then you come across \u0027 and you're screwed.

anton_gogolev··on Writing a SQLite clone from scratch in C
With that central place being?
anton_gogolev··on Writing a SQLite clone from scratch in C
You can never properly escape user input, so this escape_literal() is a ticking timebomb.
anton_gogolev··on Writing a SQLite clone from scratch in C
Well, "companies" is a string, isnt't it? Ultimately, there will be strings down there.

Working with pure AST is a huge pain. One can trivially construct something that can not realistically be represented in an SQL dialect of choice.

LINQ is the (IMO) one of the best ways to do query composition, and with the nameof() operator you can really get away without a single hardcoded string in your application-level code.

anton_gogolev··on Writing a SQLite clone from scratch in C
I highly doubt that placeholders are interpolated into the SQL statement. Doing so will defeat the purpose of having them in the first place. Rather, they are tranferred out-of-band to the SQL "engine", as it were, and are used as straight up variables.
anton_gogolev··on Writing a MySQL storage engine from scratch (2016)
Absolutely: https://www.postgresql.org/docs/8.3/static/indexes-bitmap-sc...
anton_gogolev··on Writing a MySQL storage engine from scratch (2016)
Oh, and it becomes painfully obvious why MySQL cannot use more than one index while executing the query.
Page 1 of 9Next →