nshepperd | 2 years ago | on: A DIY ‘bionic pancreas’ is changing diabetes care
nshepperd's comments
nshepperd | 2 years ago | on: A DIY ‘bionic pancreas’ is changing diabetes care
I would really like to believe that, but given how Medtronic and every CGM I have used have seemingly intentionally sabotaged open source loop compatibility with every new product, it doesn't seem like everyone's on board...
nshepperd | 2 years ago | on: A DIY ‘bionic pancreas’ is changing diabetes care
nshepperd | 3 years ago | on: The Public Shouldn’t Pay for Drugs Twice
Moderna? The research startup that had only recently IPO'd and didn't have a single commercial product before covid? Seems weird to call it a "big pharmaceutical company".
I'd rather a few founders become billionaires from a successful startup than have Moderna gone bankrupt and lose the vaccines they were developing forever.
nshepperd | 3 years ago | on: Nuclear-Powered Cardiac Pacemakers
nshepperd | 4 years ago | on: Rich people do have trouble understanding what it's like to be poor
nshepperd | 5 years ago | on: Evidence on Poverty Traps from Rural Bangladesh [pdf]
Certainly, if you think you can identify people who are particularly qualified to pick good ideas and make investments in them, it's not a bad idea to give them some money (but where do you get that money? hopefully not somewhere with negative externalities such as stealing it from different random business owners). Although structurally it's better if the billion itself is given as an investment instead of a gift, because then the person giving the billion has "skin in the game" themselves. Which is basically what I think VCs do, although I don't know how effective they usually are.
(Yes, this whole thing assumes a regulatory framework where businesses that have negative externalities or are otherwise bad for the world do not make profit. Indeed, companies that use dark patterns or rent seeking tactics to make profit should be legally punished, and if such punishments make them bad investments it's a good thing, because it means they were on net bad for the world.)
nshepperd | 5 years ago | on: Evidence on Poverty Traps from Rural Bangladesh [pdf]
The return on investment is the payment it is in our self-interest to give for this activity, because we want and need such work to be done (so that we can make use of the fruits of such ventures, instead of getting nothing at all when wealth is squandered on bad ideas or just plain old consumption).
nshepperd | 5 years ago | on: ‘Tokenized’: Black Workers’ Struggles at Coinbase
nshepperd | 5 years ago | on: ‘Tokenized’: Black Workers’ Struggles at Coinbase
nshepperd | 5 years ago | on: P² quantile estimator – estimating the median without storing values
Your examples do relate to problems the algorithm actually has in this application, but they manifest as things like "extremely large warmup time" and "adjusting to a regime change in the distribution taking time proportional to the change". For instance if your data is [1000, 1001, 1000, 1001...] then it takes 1000 steps to converge, which may be longer than the user has patience for.
However, the algorithm does always converge eventually, as long as the stream is not something pathological like an infinite sequence of consecutive numbers (for which the median is undefined anyhow).
nshepperd | 5 years ago | on: To do politics or not do politics? Tech startups are divided
Furthermore, if you want to come to valid statistical conclusions about whether a discrepancy is due to a particular cause (and can't just do a RCT), it's not enough to just ignore plausible confounders until they are "provable". You need to systematically control for all possible confounders.
nshepperd | 5 years ago | on: Why Japanese web design is so different (2013)
That sounds great tbh. Not everything needs to be a 4MB bootstrap.js webshit that doesn't even load with adblockers enabled.
nshepperd | 5 years ago | on: I’m deaf, and this is what happens when I get on a Zoom call
I actually wrote a js bookmarklet to solve this problem by continuously capturing the caption updates and writing them into a separate window. It's a little janky, but works (at least until Meet releases the next update that changes the obfuscated class names in the DOM). https://zlkj.in/bookmarklets#record-meet-captions
nshepperd | 5 years ago | on: Vaccine hopes rise as Oxford jab prompts immune response among old and young
(Needless to say, running an invalid vaccine trial also has very bad consequences: it would delay the actual deployment of a working vaccine to the general public, resulting in millions of unnecessary person-hours of potential virus exposure.)
nshepperd | 5 years ago | on: Firefox: The Jewel^WEmbarassment of Open Source
I'll note that it's mainly users of Firefox who had to "face the consequences" of firing Eich for his views...
nshepperd | 5 years ago | on: Mozilla RegretsReporter
nshepperd | 5 years ago | on: Oculus Quest 2
nshepperd | 5 years ago | on: Division by zero in type theory: a FAQ
data Ord k => Map k v = ...
This defined a data type representing an ordered map from k to v, with the additional restriction that before you can talk about such a map you had to know that the type k is orderable (has an instance of the Ord type class which defines comparison operators).This may be considered to be similar to the definition of (/) requiring that its second argument is nonzero.
This style was supplanted by leaving the data type definition 'bare' and placing the constraints on the API's functions instead:
data Map k v = ...
insert :: Ord k => k -> v -> Map k v -> Map k v
lookup :: Ord k => k -> Map k v -> Maybe v
This style is similar to instead placing the nonzero-ness constraint on the theorems which define the API of (/).In both cases there are basic engineering reasons for the switch:
- Having the constraints in the definition of terminology (Map, /) doesn't save any work, as you still need to prove those constraints to do anything or refer to it (in Haskell this meant sprinkling `Ord k =>` in the type of anything that referred to Map k v).
- In fact it results in doing more work than necessary, as you are sometimes forced to prove the constraints just to mention Map, even when what you are doing does not require them. For instance defining the empty map 'empty :: Map k v' shouldn't require you to know anything about k, because an empty tree doesn't contain any keys, let alone care about their ordering. In this case requiring Ord k in order to mention Map k v would be superfluous.
nshepperd | 5 years ago | on: Uber, Lyft Charge More for Riders Going to Non-White Neighborhoods, Study Shows