HN user

aij

197 karma
Posts0
Comments45
View on HN
No posts found.

Ack, yes, I meant 1935. I'm on mobile and typoed that in a way the spell checker couldn't catch...

Even now in the US I have yet to see Disney selling rice under the Mickey Mouse brand in a way that could be at all confused with the Mickey rice in Paraguay that I grew up with.

Step one, double the limit to alleviate immediate customer pain.

I've been oncall for systems where that would not work.

Doubling the memory means you need twice as many machines. Depending on the service, that could require significantly increased network bandwidth. Now the network is saturated and every node needs to queue more data. Now latency and throughput are even worse, and even more requests are being dropped, so you automatically double the limit again...

I've seen plenty of really scalable systems being built by a small core team of people who know what they are doing.

There is huge difference between building a system that could theoretically be scaled up and actually scaling it up efficiently.

At small scales, it's really easy to build on the work of others and take things for granted without even knowing where the scaling limits are. For example, if I suddenly find I need to double my data storage capacity, I can drive to a store and come back with a trunk full of hard drives the same day. I can only do that because someone already build the hard drives, and someone stocked the nearby stores with them. If a hyperscaler needs to double their capacity, they need to plan it well in advance, allocating a substantial fraction of global hard drive manufacturing capacity. They can't just assume someone would have already built the hardware, much less have it in stock near where it's needed.

It's kind of like how an implicit side effect in "normal" FP languages is that memory is being allocated.

The nix garbage collector will even free up disk space by deleting unreferenced packages just like a garbage collector freeing memory by deleting unreferenced values.

I never thought of it as backwards. Defining functions before calling them makes as much sense as defining terms before using them or assigning variables before reading them.

Is that having GCed all but the current generation of packages? Or filtering for a single nixpkgs version some other way?

Even then, I would expect NixOS to do some unsharing of shared libraries, so it would probably be best to use the full path to determine how much each shared object is actually shared.

For example, I have 87 different `libzstd.so.1` in my `/nix/store` right now.

Static linking does not preclude separate compilation though. Go and Rust both use separate compilation with static linking by default (at least last I used them... it's been a while). I know Rust at least used to support dynamic linking too -- it just wasn't the default. And C also supports static linking of course.

The [Pew Research article they linked to](https://www.pewresearch.org/fact-tank/2018/09/06/the-america...) uses this definition:

In our analysis, “middle-income” Americans are adults whose annual household income is two-thirds to double the national median, after incomes have been adjusted for household size.

And they seem to use "middle-income" and "middle-class" interchangeably.

Note that this definition is quite different than what may have been used in your history/economics classes in school/college.

Of course it's better marketing wise to market your products/offerings/capabilities as better than they actually are. Even if 90% of users don't notice the difference, it really shouldn't be surprising that some small fraction of users will notice and will be unhappy.

NY does the same.

But a $0.05 deposit for a can to be returned and melted down as scrap is quite different from a $1.50 deposit for a glass bottle to be returned where it can be sanitized and reused.

If small dairy farms can do the later, why can't Coca Cola? (And why can Coca Cola do it in South America?)

I had heard about tin whiskers, but always in relation to NASA. I had assumed it was only a problem in space, somehow related to lack of gravity and/or atmosphere.

Apparently it's just that NASA cares about reliability more than most, and hence takes the time to do more detailed failure analyses.

Thanks for linking those slides.

Zero Rupee Note 7 years ago

That reminds me of when my university kept sending me a $0 bill every month after I graduated. They kept sending them, so eventually I wrote a $0 check and sent it back in the business-reply envelope. I guess they were happy I had paid my bill because they finally stopped sending them.

I've found that being able to think in one programming language even affects the thoughts you have when working in other programming languages.

For example, after learning ML, I started writing much more functional code even when writing Python. I also started using abstract types more, even in C.

So, the main problem is that they are harvesting at night, when the birds are going to be super docile. Birds really don't like to move during their resting period. (I can confirm, at least for chickens. Even super skittish chickens will let you grab/handle them at night, with little more than some clucks of protest.)

Other than not running the harvesters at night, I'm not sure what they could do about it. Even if they light up the whole grove as bright as day, I'd expect circadian rhythms to kick in eventually, though it might be enough to harvest first.

That question seems closely tied to

WHAT'S THE "CHICKEN-EGG PROBLEM" WITH DELIVERING JAVASCRIPT CRYPTOGRAPHY? If you don't trust the network to deliver a password, or, worse, don't trust the server not to keep user secrets, you can't trust them to deliver security code.

I haven't looked at the details of how Firefox Send works, but if you can download and decrypt the file with nothing more than an https:// URL, it seems like you'd have to trust the server, either to handle the cleartext or to provide trustworthy code to handle the cleartext.

I suppose an alternative would be to generate a data: URL, but if it has to include all the crypto code, I wouldn't expect it to be nice and compact.

where gathered data has to be processed and analyzed to count as 'collected'

I thought even then they didn't count it as "collected" until a human sees the result.

So they could ~~collect~~ record all your conversations, ~~analyze it with a computer~~ have a computer analyze it, and then then only have a human look at it if they think they will be able to justify having collected it.

I don't think the CFM56 is a good analogy here. It does not appear to have been designed to fit the bolt pattern of a Cesna 172.

The main thing the x86 instruction set has going for it, is backwards compatibility. (Including the fact that there are a lot of highly optimized CPU designs around that instruction set.)

For the sake of collaboration, we agree on structure and semantics, and agree to disagree on syntax.

`FooError on line 111` suddenly becomes a lot less meaningful... I suppose that's what the canonical representation is for, but having to map between the two seems like it would be at least somewhat annoying.

I live in the countryside but work in the city. This is in the US, so there is no bus I could take for my daily commute, though I've lived in countries where a similar arrangement would have a bus route within walking/biking distance.

The thing is, if there were a bus, it would have to stop to pick up / drop off passengers along the way, which would make it so much slower than driving that it really would be for the poor. I've been on such buses as a kid. Even when traffic is bad, bumper-to-bumper in a car (taking the fastest route) is going to be faster than bumper-to-bumper in a bus (taking a more circuitous route and stopping frequently along the way)

I think the only way buses will stop being for the poor, is when they stop become faster than more expensive alternatives. (Or at least nearly as fast and significantly cheaper.) If you can save a lot of time by spending a little bit of money, which would you choose? What if you could spend a lot of money but it wouldn't save you any (or much) time?

In cities where congestion is a major problem, dedicated bus lanes/roads can help balance the equation in favor of buses. Usually there aren't enough dedicated bus routes though. (I might point out that the people deciding how to balance bus/car traffic are not the people who ride the bus.)

I still think self-driving cars are far in the future, but I find them appealing because they would make "buses" more efficient. A lot of the cost of operating buses is paying the drivers. To maximize economies of scale, buses are large, which means they have to make a lot of stops to pick up and drop off passengers, which in turn makes them slow. Self-driving buses could be a lot smaller and wouldn't need to make as many stops. If they could tell that no one will be boarding or deboarding at a given stop, they could skip it entirely and take a shorter path instead. At some point, the lines between bus/ridesharing/taxi get pretty blurry.

Help me understand why displaying the tweet that included the image should not be infringement when displaying the image directly is.

I don't think anyone is saying that.

I think the main point of disagreement is over whether linking to a work infringes it's copyright. Some of us think linking never infringes, whereas others think it depends on how much (explicit?) user action is needed to follow said link.

Personally, I think that is opening a huge can of worms, because it means that when I write something, whether or not I am infringing someone's copyright depends not (only?) on what I have written, but on how others end up using what I have written.

I think the decision ultimately rests on conflating writing instructions to do something with actually doing it. It probably doesn't help that programmers are often somewhat sloppy when talking about their code. Eg: "When we receive request X we will respond by Y." vs. "I have written/modified program Z, so that when it is run and it receives request X it will respond by Y." Generally no one will assume that you're actually sitting inside the server, personally receiving requests and responding to them, so there's little need to be explicit in saying that you have written a program.

When you write instructions on how to bake a cake, and someone else decides to follow said instructions, resulting in a cake, there is little debate over who has baked said cake.

When you write instructions on how to display an image, and someone else decides to execute said instructions on their computer, resulting in an image being displayed, then who actually displayed said image?

Perhaps it helps to think about the physical equivalent...

Suppose your neighbor "hosts" some copyrighted material in their yard, either on a projection screen or a large poster.

If you decide your visitors may be interested in said content, and move your van out of the way so that your visitors may observe the content in your neighbor's yard as they walk to your front door, is that infringing?

If you additionally set up a sign pointing at your neighbors yard, causing your visitors to look in that direction, is that infringing?

If you decide to make some money by selling advertising space on a sign you set up on your property, right next to your neighbor's display (which is still on their property), is that infringing?

Note that to a casual observer who doesn't know or care where the property line is, the end result is nearly indistinguishable from what would have resulted if you had set up the projection screen or poster in your own yard. (The only difference is that it's a foot further away and controlled by a different person.)

Anyway, while it certainly seems sleazy to profit from your neighbors illegal display, it seems bizarre to conclude that pointing your visitors at your neighbor's display is the same as displaying it yourself.