HNHacker News
TopNewBestAskShowJobs

alexanderdmitri

1,688 karma · joined January 10, 2017

    // Alexander Dmitri is property of Gala Corp.

    (function (self) {
      console.time("lifetime");
      try {
        while self.alive {
          self.wakeUp();
          self.doStuff();
          self.sleep();
        }
      }
      catch (fatalError) {
        console.error(`Whoops! ${fatalError}`);
      }
      finally {
        self = null;
        console.timeEnd("lifetime");
      }
    }(self));
submissionscomments
alexanderdmitri··on “Twitter has an algorithm that creates harassment all by itself”
Because he runs a vast, violent empire that smuggles illegal drugs?
alexanderdmitri··on When Myspace Was King, Employees Abused a Tool Called ‘Overlord’ to Spy on Users
Only 2/5 of these seem to fit the "social media" category. What they all seem to have in common relevant to this thread is excessive data harvesting from their consumers.
alexanderdmitri··on Google Chrome has become surveillance software. It’s time to switch
Not only are they used to it, it's been added into the English dictionary: https://dictionary.cambridge.org/us/dictionary/english/googl...
alexanderdmitri··on Learning to Build Distributed Systems
I share your enthusiam for good logs, so am curious what made this product's logging great from a support perspective?
alexanderdmitri··on The birth and death of a bike company: What happened to SpeedX
Companies targeting great markets fail all the time due to other factors. It not like all that needs to happen is someone point their finger at a good market and magically money starts piling up.
alexanderdmitri··on Absolute truths I unlearned as junior developer
I don't know if it's stalling so much as taking the time to request changes / pair up and teach.

If bad code is getting merged, that's tech debt / time someone else is going to have to spend anyway, plus the time needed to identify the issue and triage down the line. I would think it's better investment to use that time up front and help the jumior level up too.

alexanderdmitri··on Absolute truths I unlearned as junior developer
Review process surely mitigates differences between "junior" and "senior" code?
alexanderdmitri··on Apple’s $1000 monitor stand is a massive and unnecessary PR fail
I'd wager the average person is more likely to grasp the mathematical incongruency than have the buying power to afford the incongruency.
alexanderdmitri··on Inventors killed by their own inventions
If I remember correctly, Haber freed up a great deal of labor to be put into the Germany's military complex which empowered the country for WWI which embittered the country leading to WWII.

I think nitrogen run off from soil has had quite an impact on changing water habitats as well, eutrophication and fish getting beat out by algae for limited oxygen resources.

alexanderdmitri··on Why GitHub used Haskell for Semantic
Would I be correct in saying you just encapsulated the monad state type `this` in an identity `that` by creating a monad transformer out of `understand`?
alexanderdmitri··on Google to restrict modern ad blocking Chrome extensions to enterprise users
Firefox runs great on linux in my recent experience.
alexanderdmitri··on Ask HN: Should I quit my job?
Said like a true stoic!
alexanderdmitri··on How to do hard things
having turned to boiling the stone after exhausting all their methods of drawing blood from it

https://en.m.wiktionary.org/wiki/blood_from_a_stone

alexanderdmitri··on My Billion Dollar Mistake
I would say that person is clever and resourceful. Usually the task is still manual because of potential gotchas and you'll need a diligent approach to automation to take those into account.

Most lazy people I know will stick to manual action rather than take the time to script it out, mostly due to that initial overhead or having to potentially iterate on the logic due to future unknowns.

alexanderdmitri··on Which programming language is used for making Windows 10?
and oh ... what was I thinking ... oh gosh, why is there an interface of an interface's interface, and .... oh boy, that's an embarrassing comment:

// absolve previously implemented anti-pattern by recursive reversion of the abstraction inversion

... ok, yeah that was an awkward time in my life now that I remembering it, this is exactly why I stopped listening to Enya while writing code.

alexanderdmitri··on As China Hacked, U.S. Businesses Turned a Blind Eye
I'm not sure this is historically supported. There's a long list of innovators who do not end up making the lion's share off of their achievements. I think innovation is just what we (humans ... or maybe even life in general?) do best and cultural values and need dictate how resources are allocated in this respect.
alexanderdmitri··on Matrix.org hacked
Seems like asking for trouble. Basically you're putting a thousand dollars cash in your house, then telling the world I have a thousand dollars cash in my house, if you find a way to break in and take it, it's yours, I won't make a fuss because you're doing me a favor by exposing a vulnerability.

Just please don't take the other valuables and ... oh yeah, please don't mess with any of my family members and maybe please let's try to keep it at no more than one hundred people trying at the same time b/c otherwise things might get out of hand.

alexanderdmitri··on Google launches an end-to-end AI platform
To be fair, Amazon has a way of eventually becoming a direct competitor of many of the companies they initially present themselves as a middle man for.
alexanderdmitri··on Productivity Is About Attention Management
What did it teach you? I'm having trouble seeing the relevance.
alexanderdmitri··on Working for a startup makes less sense, unless you are into the mission
Isn't Airbnb still technically considered a startup (albeit a profitable one as of 2016)?
alexanderdmitri··on Aging Is a Communication Breakdown
Invisible cities is wonderful, I'm excited for you.

And speaking of invisible cities, I came across this really neat project a little while ago:

https://github.com/mewo2/deserts/raw/master/novel.pdf

If I remember correctly (don't have the time atm to dig into it again) the project had first trained one net to generate images, then had another one trained on invisible cities to create the descriptions for the images. The above pdf is the output.

alexanderdmitri··on Programming Language Rankings: January 2019
So for "Popularity Rank on Stack Overflow" axis, I would replace the word popularity with attention. In addition to general engagement and use, a language getting more traffic/tagging there may indicate less quality documentation, more niche use (and less answers/tutorials from other sources as a result) or maybe tend to draw in (for many potential reasons) less experienced developers who are looking for active guidance or maybe the language generally has weird or non-intuitive patterns more likely to generate _wtf?_ type feelings that route you directly to stack overflow and onward to conspiracy sites from there.

The "Popularity Rank on GitHub" is probably more accurately measuring popularity in the popular sense of the word. That's especially true because the GitHub archive used for the data only offers info on public repositories and even then I'm curious to know how it reports for multi-lingual repos (does LOC win out, do repos get associated with multiple languages?).

Personally 90% of my commits over the past year have been to private repos for work. My public commits are in languages I look forward to using and learning outside my 9 to 5 because they interest and they offer a nice change up (ie PureScript and Rust lately).

I'm super stoked to see FORTRAN is riding solidly at 60% for both metrics, regardless of what those metrics truly measure. ~40 public commits in the last 24 hours! Check it out:

https://github.com/search?o=desc&p=4&q=fortran&s=updated&typ...

    Off Topic PostThought:

    Seeing JavaScript at that top corner and the amazing
    surge over the past couple years of Rust has got me
    thinking that when it comes to the art of programming
    languages, Brendan Eich is a (if not the) seminal
    artist of this time period.

    Learning JavaScript is when what Dostoevsky,
    Kierkegaard, Sartre and Camus were all trying to
    communicate really hit home for me. Meanwhile a recent
    foray into Rust is reminding me of the first time I
    read books like Tolstoy's Anna Karenina, Borge's
    Labyrinths and Steinbeck's East of Eden.

    To me it's pretty amazing that the same person has
    played pivotal roles in two languages that are both a
    joy to write and reason with and for completely
    different reasons.
alexanderdmitri··on The drug debate in Japan (2018)
> The Nixon campaign in 1968, and the Nixon White House after that, had two enemies: the antiwar left and black people. You understand what I’m saying? We knew we couldn’t make it illegal to be either against the war or black, but by getting the public to associate the hippies with marijuana and blacks with heroin, and then criminalizing both heavily, we could disrupt those communities. We could arrest their leaders, raid their homes, break up their meetings, and vilify them night after night on the evening news. Did we know we were lying about the drugs? Of course we did [0].

For context, that's a direct quote from John Ehrlichman who "was counsel and Assistant to the President for Domestic Affairs" under Nixon when Nixon declared the war on drugs. Everything kind of snow-balled from there.

According to the chronology provided by PBS [1], perhaps the first groundwork was put in place by LBJ founding the "Bureau of Narcotics and Dangerous Drugs" in 1968 (campaign year that Nixon won), the timing of which correlates with Nixon's successful campaigning on a "theme to restore 'law and order'"[2].

[0] https://en.m.wikiquote.org/wiki/John_Ehrlichman

[1] https://www.pbs.org/wgbh/pages/frontline/shows/drugs/cron/

[2] https://en.wikipedia.org/wiki/1968_United_States_presidentia...

alexanderdmitri··on My Cognitive Bias – A cognitive bias explained every time you open a new tab
I like the developer excuses chrome plugin. There have been quite a few times I've opened a new tab while working with someone and the excuse basically matches what was just being said.
alexanderdmitri··on Good Vibes Are Contagious
I'm going to point to this article next time someone argues with me about covering their mouth when they smile.
alexanderdmitri··on Why Operators Are Useful
Problem with pennies as your example is it's hard to see how these work into a key value context.

If Penny is a class, then maybe you're asking what happens when you combine two arrays (or Python lists) of Penny objects? You get one array (list) containing all the Penny objects.

Perhaps you're getting at something like what if you have two "wallet" dictionaries you want to merge?

Let's say each wallet dict has a list of Penny objects, Dime objects, $5 notes, etc. If you are merging the wallets, maybe you don't want to overwrite the first wallet's Penny list with the second wallet's Penny list and instead you want to combine them.

This is where a dictionary comprehension can come in handy. Just iterate on the second wallet's items and add each item's value to the first wallet's corresponding value at the same key to create a new wallet object (or update one of your two existing wallets by setting the wallet equal to the comprehesion). You would have to add additional logic if you had any nested dictionaries in your wallet dictionary or another type that doesn't combine with the + operator, such as sets.

The other case is something like when your wallet gets sent off to the thief api. To make this more Pythonic, let's say you have a cached idea of your wallet's contents before your wallet itself is sent over the api. Once your actual wallet comes back and you pull it out to pay for something and realize it's empty, you merge the wallet you're holding with the cached idea of the wallet in your head, effectively updating the wallet to empty. If the key values are still on your returned wallet's dict, just now they're a bunch of empty lists as values, this will work fine:

    cached_wallet.update(my_wallet)
However, if the key value sets are removed entirely from the wallet returned by the thief api, you'd probably be better off doing:

    cached_wallet = my_wallet
This is because in Python the first example would have no affect on your cached idea of the wallet because an empty dict passed to the update method will not modify the dict you're attempting to update. So actually the second approach is much more robust here, unless of course it's problematic for some other part of your system to have a keyless wallet floating around (although I'd suggest fixing those other parts of your system by having defaults in place).

You could also use a dictionary comprehension in this case, making use of the get method with defaults while iterating on the emptied wallet you're holding like this maybe:

    cached_wallet.update({
        k: my_wallet.get(k, type(v)()) for k, v in cached_wallet.items()
    })
If the thief put a new key value pair in your wallet, you wouldn't get it in the above comprehension, so you might want to do this in some cases:

    cached_wallet.update(
        **{ k: my_wallet.get(k, type(v)()) for k, v in cached_wallet.items() },
        **my_wallet,
    )
Although that may be called out as more expensive/redundant than necessary, you may want to combine the .keys() from both dictionaries, cast them as a set to dedupe then iterate through the actual wallet on those and fuck all, you're tossing the dirty tissue he stuffed into your wallet in the garbage anyway ... but then actually you decide to keep it, there may be DNA evidence here ... you have no idea how you're going to actually parse and apply this evidence and it's kinda disgusting and, ugh, get a hold of yourself, toss that out and go wash your hands and then focus on making sure the credit cards that are missing are canceled and hope to God that updating your card number on your Fubo TV streaming account doesn't invalidate your legacy subscription that lets you watch the Barcelona game each weekend for $10/mo because there's no way in hell you're going to start paying them $40/mo, that's bullshit.
alexanderdmitri··on Major bank accidentally published a private package to the public NPM Registry
I disagree, there have been times a well-placed popup stopped me from accidentally doing something really stupid, other times there wasn't a popup and I ended up doing something stupid.

It doesn't necessarily have to be a pop up popup per say, but extra validation around dangerous actions is user friendly.

And of course there can always be an override for the extra validation in case it potentially screws up some people's workflows, but I'd make a user explicitly set the override, like the 'NoHostAuthenticationForLocalhost' option in ssh for example.

alexanderdmitri··on SpaceX Crew Dragon Splashes Down After Historic Test Flight
thank you for the confirmation trashaccount123
alexanderdmitri··on Experts cracked laptop of crypto CEO who died with $137M, but the money was gone
Does this happen frequently?
alexanderdmitri··on How I'm still not using GUIs in 2019: A guide to the terminal
OP must have been quoting the King James version, a more accurate translation would be:

"In general it's usually a Sith that speaks in absolutes."

← PreviousPage 6 of 10Next →