HNHacker News
TopNewBestAskShowJobs

UnquietTinkerer

95 karma · joined November 29, 2014

submissionscomments
UnquietTinkerer··on Snap benefits cut off during shutdown, driving long lines at food pantries
Thanks for posting this. It served as a call to action for me, and hopefully it will for others as well.
UnquietTinkerer··on Guide to Error Handling in Rust
Oh look, my old friend Checked Exceptions! I knew we would meet again one day :)

In all seriousness, anonymous sum types would be quite nice. It would make it easier to be precise about return values in situations where `Optional` and `Result` are not sufficient.

The problem with checked exceptions (well, one of the problems) is that the full set of error conditions a function might encounter is often _too_ detailed. Encoding them all into the type signature of every function can be a lot of work, and quite brittle to minor internal changes. So most code bases will still need a catch-call error type that gets bubbled up to a generic handler somewhere.

UnquietTinkerer··on Chip Defense
Cute idea. I like that you can click on the creeps to invert their value.

However, I found that the path logic inscrutable and frustrating. The creeps take a random path when they reach some intersections (I think? There was no explanation and no obvious pattern). Success in stage 8 seems to depend entirely on luck. I would expect a game themed around computer logic to be more deterministic.

UnquietTinkerer··on Cylindrical aquarium housing 1,500 exotic fish bursts in Berlin
Someone else posted a link to the source for this quote: https://www.zerohedge.com/user/105370.

The writer pretty clearly has an axe to grind with the city, the sanctions, the war, and a lot more (read some of his other comments). His conclusions might turn out to be true, but I don't think he cares if they are or not.

UnquietTinkerer··on Cylindrical aquarium housing 1,500 exotic fish bursts in Berlin
Wow, that guy is ... extreme. I'm glad you posted the link, but I'd personally take any conclusions he draws with a grain of salt.
UnquietTinkerer··on A better way to divide the pie
This is a good line of questioning. I believe that the difference between the two situations is that the pizza deal is implied to be just for Alice and Bob. If either walks away then the deal is totally sunk, so they both have equal "leverage" over the deal.

When you frame it as an investment question, the implication is that if either person walks away then they can be replaced by a third party who is willing to stake the cash. Since it is easier to replace someone when their stake is lower, the person putting up the $2k has less leverage in this case.

If you explicitly limited the investment to two specific people (imagine a crazy term in a will or something), then I think you'd end up back with a $7k/$5k split.

UnquietTinkerer··on Microsoft says mandatory password changing is “ancient and obsolete” (2019)
Off topic for password rotation, but has anyone tried assigning randomly generated passwords to the users rather than letting them choose their own?

People (including me) _hate_ memorizing things and would probably write an assigned password down, but isn't it better to expose passwords to nosy coworkers than to the whole internet, as is so often the case with weak or reused passwords?

UnquietTinkerer··on Floor, Ceiling, Bracket
For comparison (not trying to be argumentative!), it looks pretty good in gnome terminal on linux mint:

https://utio.net/demos/box_drawing.png

I only mention this because I've used these to decorate tables in my own notes in the past. It's not really worth the trouble, but I remembered being impressed with how nice these characters looked at the time.

If anyone else wants to try it, paste this into a python REPL:

    print("\u250f\u2501\u2513\n\u2503 \u2503\n\u2517\u2501\u251b")
UnquietTinkerer··on Length's malware writers will go through to get PII
Just found this (on reddit). I'd love to know more about what's going on.

It's amusing that the Go app was built in a highly controlled environment, while the kernel was built on some random laptop (and was compromised).

It seems like the attack was highly specialized, so I assume that the PII being handled by this client/victim is pretty valuable?

UnquietTinkerer··on Mill vs. Spectre: Performance and Security [video]
For anyone interested, here are links to the slides and the accompanying white paper.

[Slides] https://millcomputing.com/blog/wp-content/uploads/2018/04/20...

[White Paper] https://millcomputing.com/blog/wp-content/uploads/2018/01/Sp...

I haven't read the paper yet; hopefully it offers more detail than the talk does because I am still confused about how the Mill avoids cache pollution from speculative loads.

EDIT: Here is my attempt at a summary of the relevant bits of the whitepaper:

The Mill is immune to Meltdown for the same reason AMD et al. are; it does permission checks before loading rather than in parallel and thus the load faults before going to memory.

The Mill is immune to Spectre because "Current Mill configurations will [speculatively] issue, and revoke, a maximum of two instructions. Revocation includes all cache and other micro-architectural side effects."

Neither of those points is covered in the talk. I don't know enough about the subject to judge, but the arguments in the paper seem a bit glib. I'd like to hear from an expert on the subject.

UnquietTinkerer··on Advanced computing with IPython
Try this shell script:

    #! /bin/sh
    # This is a bit hacky: we use the -i flag to force the interpreter into 
    # interactive mode after the initial commands are executed.
    # The "proper" way to do this is probably to set up a PYTHONSTARTUP file
    # and put the initial commands in there.
    exec ipython3 --no-banner --no-confirm-exit -i -c '
    from math import *
    import random
    import sys, os, platform
    print("== IPython %s Calculator REPL ==" % platform.python_version())
    '
UnquietTinkerer··on Python startup time: milliseconds matter
Ironically, xonsh itself suffers from a long startup time due to it's use of python. This is my primary (negative) experience with the issue in the linked article, and the reason why I stopped using xonsh.
UnquietTinkerer··on The Meta-Problem of Consciousness [pdf]
If we can't quantify "internal experience" then what leads philosophers to believe it exists? What evidence is there that conciousness is distinguished by something other than raw complexity?
UnquietTinkerer··on Huge Commercial Cave in the Ozarks for Sale
I don't understand how lazy loading could help here. The images are all behind hyperlinks, and their display sizes are all hardcoded into the HTML. There is nothing preventing the browser from completing the page layout immediately and backfilling the images as the load.

That is not to say the page is well-designed or pretty - it is hideous. But lazy loading would make it strictly worse by adding js parse+eval latency on top of the loading time for the images.

UnquietTinkerer··on Why We Terminated Daily Stormer
Popper was talking about tolerance in general. Tolerance of hateful actions, in general, is counter-productive. Tolerance of speech in particular is not, as speech alone does not and cannot "destroy free speech".
UnquietTinkerer··on Jefferies gives IBM Watson a Wall Street reality check
I think the 60 Minutes segment was just marketing copy handed to them by IBM (how else could they talk for 20 minutes about cutting-edge ML without mentioning Google or Amazon at all?). Watson is introduced as "an AI" - singular - designed to play Jeopardy and then, after he wins, nobly re-purposed to medicine. Charlie Rose even says at one point that "they taught Watson to diagnose cancer", implying that it was the same Watson who won Jeopardy. The truth is the original Watson is on display in a glass case somewhere and the new "Watson" shares only the name and some of the underlying ML techniques.

It might be easy to understand what Charlie really meant when you are already familiar with the project, but the non-technical viewer will walk away thinking of Watson as a single, coherent entity sitting in an IBM vault somewhere. Conflating ML-based expert systems with anthropomorphic AI is farcical, supporting the accusations that IBM is overselling its product. It is also irresponsible, because it fuels the idea in the popular mind that machine learning is creating independent intelligences rather than mere tools.

UnquietTinkerer··on Programmer’s guide to homogeneous coordinates
This explanation really helped, thank you.
UnquietTinkerer··on A faster BBC News front page
I found that the "new" site looks reasonable with javascript completely disabled (i.e. turn it off in the browser settings). The problem appears to be when using a plugin to selectively restrict javascript (I use uMatrix) - in this case, the browser apparently doesn't interpret <noscript> tags. This is unfortunate, but I think its more of a bug/limitation in the script blocking plugins than a problem with your design.
UnquietTinkerer··on New York City Battles on Against Dutch Elm Disease
Dutch elm disease (and emerald ash borer) wiped out natural tree populations in forests just as thoroughly as those planted in the city. While monocultures are not helping, that is a footnote to the real problem here: these diseases are invasive and native tree species have no resistance to them.
UnquietTinkerer··on Scientists pave the way for large-scale storage at the atomic level
Practicality aside, that was a fascinating and very well-written paper. Thank you for posting it.
UnquietTinkerer··on Is it futile to un-Google?
This is just playing games with microeconomic terms. However you choose to define "value", using heroin is self-destructive and usually (always?) irrational. If you choose to include that kind of behavior in your definition of value then the word loses most of its useful connotations.
UnquietTinkerer··on How recursion got into Algol 60: a comedy of errors
I think BSR here stands for "branch to subroutine", i.e. CALL.
UnquietTinkerer··on How the PVS-Studio Team Improved Unreal Engine's Code
The two conditions are not equialent - the first is true if GEngine is null or does not use sound, and the second is true if GEngine is not null and is undefined otherwise due to dereferencing a null pointer. I assume the original author intended to write "(!GEngine || !GEngine->UseSound())".
UnquietTinkerer··on The Fable of the Dragon-Tyrant (2005)
But what would happen if we actually succeeded in preventing aging and death? Death is, as far as I can tell, not an accident or some kind of cosmic tragedy. It's the constant, forced renewal that makes biological and social evolution possible.

Of course I'd love to live more than a paltry few decades, and I'm desperately afraid of losing my loved ones someday. But to just end death - assuming we had the means - would be robbing our descendants of their birthright and put the brakes on the main force for human adaptation. I honestly believe that the death of individuals serves a key role in the health of our species as a whole.

UnquietTinkerer··on You've Been Framed. A survey of iframes and the sandbox attribute
The µMatrix plugin for Chrome provides fairly granular control over content requests and javascript execution.
UnquietTinkerer··on John Carmack: “I just dumped the C++ server I wrote for a new one in Racket”

    (-b + sqrt(b*b - 4*a*c)) / (2*a)
    (/ (+ (- b) (sqrt (- (* b b) (* 4 a c)))) (* 2 a))
It does depend on your use case.
UnquietTinkerer··on Don't Be a Stanford Asshole
I honestly don't know, but if Proposition 13 is still in effect [1] then it would appear you are right - property taxes can only increase by 2% a year.

[1] https://en.wikipedia.org/wiki/California_Proposition_13_%281...

UnquietTinkerer··on Don't Be a Stanford Asshole
I think it is similar with property taxes. At least where I am they are tied to property value, which is assessed based on the recent sale price of comparable properties. If someone is willing to paying huge sums for houses in your neighbourhood you always end up paying more for yours.
UnquietTinkerer··on Judge not concerned that a 68 year old woman was raided because of her open wifi
Just going by the quotes in the article, the judge was concerned. He concluded that the search warrant was valid (because the threats came from the woman's IP address), but the SWAT raid was unreasonable and excessive.

> the Court also concludes that the EPD’s use of force “so clearly exceeded the bounds of reasonableness in the circumstances that it cannot be said to lie near the ‘hazy border between excessive and acceptable force’ along which qualified immunity shields officers from liability for their snap judgments,