HNHacker News
TopNewBestAskShowJobs

eutectic

844 karma · joined October 6, 2014

submissionscomments
eutectic··on A New Coefficient of Correlation
You don't have to use sorting networks; to differentiate (or get a subgradient, anyway) a sorted list you just pass the derivative back to the original index, so you can use any sorting algorithm as long as you keep track of the permutation. You could even use radix sort.

Also, I would say that random number generation is a well-solved problem.

eutectic··on Auctions and bidding: A guide for computer scientists (2017) [video]
I really love the auction algorithm for maximum-weight matching, especially the variant where bidders bid the price that makes them indifferent with their second-best option.

It's so simple and elegant.

eutectic··on Training computer vision models on random noise instead of real images
Bias is underfitting.
eutectic··on Vegetable Oil for Lubricating Chainsaws (2008)
Urea doesn't smell like anything much. Leave it long enough and it breaks down to make ammonia, which does.
eutectic··on QOI: Lossless Image Compression in O(n) Time
Isn't the log factor only in the alphabet size?
eutectic··on Tasking developers with creating detailed estimates is a waste of time (2020)
The poisson distribution is quite-light tailed. With a poisson distribution, the probability of completing the task per unit time is constant.

Real world tasks are likely to take longer if they have already gone on for longer; maybe a Pareto distribution would be more appropriate.

eutectic··on Lithium metal batteries with diluted high concentration electrolytes
Isn't diluted high-concentration electrolytes an oxymoron?
eutectic··on Chan Zuckerberg Initiative sunsetting science research platform meta.org
I'm English and I've always seen it as 'bat(ting) an eye'. I don't think I've often heard it said though.
eutectic··on 10% of households pay more than 80% of taxes on alcohol and cigarettes
We live in a world in which it is easier to collect 'sin taxes' than to tax the rich.

The wealthy have resources to fight any attempt to collect a fair, let alone progressive, share of their earnings.

And yet, it might be rational in terms of social utility to increase the cost of acquiring alcohol. We face a challenge if we want to balance fairness and utility.

The optimal policy surely includes measures which go beyond making psychotropic substances harder to aquire, but I don't know what the answer is. We could spend money on therapy, but would it really pay for itself?

eutectic··on A Skeptic's Guide to Loving Bats [audio]
I already appreciate bats for how awesome they are! They're the fastest (and only flying) mammals. Surely that should be enough. If I were a bat, would it be rational to harbour animosity about any of the myriad diseases spread by humans?
eutectic··on I’ve been reading a whole lot about tomatoes
How do you model the crop response to environmental factors? Did you have to run experiments?
eutectic··on Wavelets allow researchers to transform and understand data
I though Haar wavelets were good for text and other hard-edged images?
eutectic··on Intellectuals urge Germany to keep nuclear plants online
A nuclear power station is not exactly a university or an art gallery.
eutectic··on Scientists test medieval gunpowder recipes with 15th-century cannon replica
Water can dissolve KNO3, and ethanol can dissolve sulfir (slightly) and tar from the charcoal, so maybe it helped create a more intimate mix? It would also have kept down sparks and reduced the chance of ignition while mixing and grinding.
eutectic··on What a crossword AI reveals about humans' way with words
I had good success using a DAWG for pruning, and letter-wise (rather than word-wise) branching, picking the letter with fewest options. If you want to get fancy, you can use back-jumping instead of backtracking.
eutectic··on What a crossword AI reveals about humans' way with words
I wonder how well gpt-3 + search would perform as a crossword-solving agent. I guess the tokenization might be tricky to deal with.
eutectic··on How plastic can rust, sort of
Hydrogen peroxide is a very aggressive oxidizer compared to molecular oxygen and will break down molecules instead of just adding to them.
eutectic··on Hit me with a wrench all you want, I can’t tell you my password
I'm also a Dvorak user with a randomly generated password, but I memorized it by coming up with an approximate pronunciation so it's still firmly lodged in my brain.
eutectic··on A Pint a Day (1996)
I meant how effectively can your body use it as a source of energy. I think the conversion efficiency is much lower than e.g. sugar or fat.
eutectic··on A Pint a Day (1996)
But how efficiently are alcohol calories metabolizied? (I think not very)
eutectic··on How to Write a Spelling Corrector (2007)
I got nerd-sniped and wrote a simple Python solver for this problem. You can find the ngram files at Norvig's site (https://norvig.com/ngrams/).

    import collections
    import math
    import heapq

    with open('count_1w.txt', 'r') as f:
        unigrams = [l.split() for l in f]
    unigram_map = collections.defaultdict(lambda: 0)
    for word, count in unigrams:
        unigram_map[word] = int(count)
    with open('count_2w.txt', 'r') as f:
        bigrams = [l.split() for l in f]
    bigram_map = collections.defaultdict(lambda: collections.defaultdict(lambda: {}))
    for word0, word1, count in bigrams:
        bigram_map[word0][word1] = int(count)
    log_p_unseen = collections.defaultdict(lambda: 0.)
    for word0, counts in bigram_map.items():
        for word1, count in counts.items():
            unigram_map[word1] += count
        total = sum(counts.values())
        #smoothing for unseen words
        mn, mx = min(counts.values()), max(counts.values())
        if mn == mx:
            p_unseen = 0.5
        else:
            #geometric series approximation
            r = (mn / mx) ** (1. / (len(counts) - 1))
            n = mn * r / (1. - r)
            p_unseen = n / (n + total)
        log_p_unseen[word0] = math.log(p_unseen)
        c = (1. - p_unseen) / total
        bigram_map[word0] = {word1: math.log(c * count) for word1, count in counts.items()}
    c = 1. / sum(unigram_map.values())
    unigram_map = {word: math.log(c * count) for word, count in unigram_map.items()}
    max_len = max(map(len, unigram_map))

    def optimal_parse(text):
        word_spans = {j: [] for j in range(len(text) + 1)}
        for i in range(len(text)):
            for j in range(i + 1, min(i + max_len, len(text)) + 1):
                if text[i:j] in unigram_map:
                    word_spans[i].append(j)
        min_cost = collections.defaultdict(lambda: float('inf'))
        parent = {}
        queue = [(0., 0, 0)]
        while queue:
            cost, i, j = heapq.heappop(queue)
            if cost > min_cost[(i, j)]:
                continue
            if j == len(text):
                break
            if j == 0:
                word0 = '<s>'
            else:
                word0 = text[i:j]
            for k in word_spans[j]:
                word1 = text[j:k]
                if word1 in bigram_map[word0]:
                    word1_cost = -bigram_map[word0][word1]
                else:
                    #It would technically be more correct to normalize the unigram probability only over unseen words.
                    word1_cost = -(log_p_unseen[word0] + unigram_map[word1])
                cost1 = cost + word1_cost
                if cost1 < min_cost[(j, k)]:
                    min_cost[(j, k)] = cost1
                    parent[(j, k)] = i
                    heapq.heappush(queue, (cost1, j, k))
        words = []
        while j != 0:
            words.append(text[i:j])
            i, j = parent.get((i, j)), i
        return words[::-1]

    print(optimal_parse('ivehadathoughtandamcurioushowpeoplewouldsolveit'))
eutectic··on How to Write a Spelling Corrector (2007)
I would try an n-gram model with dynamic programming.

e.g.

logp(_, "") = 0

logp(word0, text) = max(logp_bigram(word0, word1) + logp(word1, rest) for word1, rest in prefix_words(text))

eutectic··on Leaded gas was a known poison the day it was invented (2016)
Organic compounds burn up, lead just accumulates.
eutectic··on Monitoring my home's air quality with AirGradient's DIY sensor
What about suspended water droplets?
eutectic··on Led by Tesla, EVs drive chip industry's shift beyond silicon
Presumably you mean to rather than by?
eutectic··on More wind energy was installed in 2020 than any other energy source
Surely copper at least is worth recycling?
eutectic··on The Mathematics of 2048: Optimal Play with Markov Decision Processes (2018)
4096, here we come!
eutectic··on The Myth of a Superhuman AI
The work that most (even highly skilled) people do is more like playing chess or writing a novel than proving theorems.

Not pushing the boundaires of human knowledge, but requiring skills which are not easily learned without experience and within which there is a huge variation in human ability.

Can you really say that the existence of an agent (or a million) matching or exceeding the 100th percentile in many different skills would not be a massive change?

eutectic··on The Myth of a Superhuman AI
Humanity is an existence proof for human level AI, and it seems arrogant to assume that our brains are at the limit of what is possible.

Reproductive fitness requires many attributes which obviously compete with intelligence, and evolution is a blind hill-climbing search which cannot easily escape deep local minima.

To me it's obvious that the development of superhuman AI is inevitable assuming we don't wipe ourselves out before we have time to develop it.

eutectic··on The mutation that helps Delta spread
This shows that masks aren't perfect, not that they don't help.
← PreviousPage 5 of 15Next →