HNHacker News
TopNewBestAskShowJobs

rovolo

423 karma · joined October 27, 2017

submissionscomments
rovolo··on Remote work is starting to hit office rents
The phrase "cities without commercial on street level and residential above, cities where you need to own a car" is adding a condition onto "this is how cities die" to say that the original prediction doesn't apply to SF. Because SF has "commercial on street level and residential above" and you don't "need to own a car", people in the rest of the city depend less on the downtown. While downtown may be abandoned, it's not heart of the rest of the city.

At least that's what Terretta is saying. I haven't even visited SF in over a decade, so I don't know what its current situation is like.

rovolo··on There’s no such thing as a tree phylogenetically (2021)
> the piece argues that we should let go of our common-sense categories and use the descent-based ones, like the biologists do.

The piece has a list of conclusions at the bottom

> taxonomy is not automatically a great category for regular usage.

> (You can, at least, say that a tree is a strategy. Wood is a strategy. Fruit is a strategy. A fish is also a strategy.)

> insisting that “wood” is not a useful or comprehensible category would be the most fascinatingly obnoxious rhetorical move. Just the pinnacle of choosing the interestingly abstract over the practical whole.

rovolo··on JDK 20 and JDK 21: What we know so far
The difference between getters (or properties) and attributes (or fields) is that getters are a real function and attribute access does not use a function. The attribute access is less work because you don't have to do a method dispatch to get the value. (At least historically; the method dispatch may be optimized out now for basic getters.)

Most of the time your getters will just return the attribute, but there are situations where you don't have an attribute backing your property:

1) You're renaming the field, and you can't update all uses at once. You can create a synthetic property with the old name which delegates to the new name.

2) You want to lazily compute the property only when requested.

3) You want to perform a side-effect every time the field is accessed

rovolo··on There’s no such thing as a tree phylogenetically (2021)
The common way to distinguish between the definitions is to say a tomato is a culinary vegetable and a botanical fruit, but not a culinary fruit.

> The question of whether the tomato is a fruit or a vegetable found its way into the United States Supreme Court in 1893. The court ruled unanimously in Nix v. Hedden that a tomato is correctly identified as, and thus taxed as, a vegetable, for the purposes of the Tariff of 1883 on imported produce. The court did acknowledge, however, that, botanically speaking, a tomato is a fruit.

https://en.wikipedia.org/wiki/Vegetable#Terminology

rovolo··on Zero energy ready homes are coming
> Back in America, most people I knew lived and worked in the same general region/city. Perhaps this is a uniquely Dutch problem

This isn't a uniquely Dutch problem. The longest commute you mentioned:

Utrecht -> Eindhoven: 1 hr 4 min (92.2 km)

isn't unheard of in the US. These are the commutes for a cousin, and a friend's uncle:

Colorado Springs, CO -> Denver, CO: 1 hr 19 min (113.5 km)

New Britain, CT -> New York, NY: 2 hr 4 min (177.1 km)

These are memorable though because they are so long. Many of the people I know have far shorter commutes. For example, my mom would drive 30 min (21km). But, these long commutes definitely exist.

In 2019, 10% of US workers had a 1-way commute of over 1hr. (The average times for transit are quite high in the US, but 90% of commutes are by car so a large portion of that 10% are by car).

https://www.census.gov/content/dam/Census/library/publicatio...

In 2003, 8% of 1-way commutes were over 56 km.

https://www.nrc.gov/docs/ML1006/ML100621425.pdf

rovolo··on Parse, don't validate (2019)
From the OP:

> Still, perhaps you are skeptical of parseNonEmpty’s name. Is it really parsing anything, or is it merely validating its input and returning a result? While the precise definition of what it means to parse or validate something is debatable, I believe parseNonEmpty is a bona-fide parser (albeit a particularly simple one).

> Consider: what is a parser? Really, a parser is just a function that consumes less-structured input and produces more-structured output.

The OP is saying that a validator is a function which doesn't return anything, whereas parsing is a function which returns data. (Or in other words, validation is when you keep passing around the data in the old type, and parsing is when you pass around a new type). It is true that there is code inside the parser which you can call "validation", but the OP is labeling the function based on its signature. This is made more obvious towards the end of the article:

> Use abstract datatypes to make validators "look like" parsers. Sometimes, making an illegal state truly unrepresentable is just plain impractical given the tools Haskell provides, such as ensuring an integer is in a particular range. In that case, use an abstract newtype with a smart constructor to "fake" a parser from a validator.

They are talking about the interface, not the implementation. They are saying that you should pass around a parsed type, even if it's only wrapping a raw value, because it carries proof that this data has been validated. They are saying that you shouldn't be validating this data in lots of different places.

> It may not be immediately apparent what shotgun parsing has to do with validation—after all, if you do all your validation up front, you mitigate the risk of shotgun parsing. The problem is that validation-based approaches make it extremely difficult or impossible to determine if everything was actually validated up front or if some of those so-called “impossible” cases might actually happen. The entire program must assume that raising an exception anywhere is not only possible, it’s regularly necessary.

rovolo··on Most data work seems fundamentally worthless
Are the workers depressed because they are "not ideologically self-motivated", or because they must spend time doing something they don't see the point in doing?
rovolo··on Builder's Remedy goes into effect in many California cities tomorrow
These are definitely better examples than you previously used. That said, I think the tax assessments don't accurately state the value of the land vs the building. I don't think OnlineGladiator is correct about the universality of >10x land:building, but I don't think you're right about ~0.2x in these neighborhoods either. I do think OG is correct about housing as an appreciating asset being primarily about the land value.

1) The nominal land cost has huge jumps up and down. From 2016->2017, all of these properties had their land value lowered 60-70%: $150k->$44k; $166k->$59k; $75k->$32k; $279k->$96k. I find it hard to believe that property prices swung that much, especially since the total appraised value remained constant.

2) The price of the land depends on the zoning of the land. A lot which can't be subdivided further or which can't have multi-unit housing will be constrained by what a single family is willing to pay for the lot. If you compare the last property ($140k land assessment / 19k ft2) to a smaller lot nearby [0] ($50k land / 2.4k ft2), you can see a huge difference in the land price per ft2: $6.7/ft2 vs $20.4/ft2. This price difference reflects legal constraints on what can be done with the lot. If the larger lot could be subdivided, it should be closer in price per ft2 to the smaller lot and would be worth ~$390k. If the total assessed value remained constant, that would be 1.25:1 for land:building.

[0] https://property.phila.gov/?p=344121100

3) Furthermore, the price of the building itself depends on the scarcity of housing. With plentiful land to build new housing, old housing loses value quicker. An old house in a constricted market has more value because it's existing housing on a scarce plot of land. Even though the value is assigned to the building, that building is more valuable because of the plot of land it's associated with.

rovolo··on How a heat pump works
The issue with the COP graph (9:05) is that it's comparing the mini-split system to the prior system. The mini-split doesn't have radiators in the same place as the prior system, so he runs it 1-2˚ hotter (7:50) to get the rest of the house to the same temperature. Also, the system isn't using much electricity on warm days (8:48), so the inefficient placement of the minisplit is more dramatic.

The more interesting graph is the total kWh saved per day (8:07). The colder it gets, the more energy he saves. That's because more heat needs to be pumped into the house, so a worse COP multiplied by more total heat equals more electricity savings (at least for the temperatures he's measured).

rovolo··on Is Seattle a 15-minute city? It depends on where you want to walk
It takes a lot longer to walk across a street when you have to wait for a walk signal. City streets can be 1.5-2 lane residential streets which you can cross basically on demand, making them equivalent in time to walking on the sidewalk. Based on an average walking pace of 1.33 m/s (3.0 mph), you can cover 40m in 30 seconds.

https://www.google.com/maps/@47.6243731,-122.3250919,18.81z

The blocks in this section of Seattle are ~80m long, so one block takes 60s to walk. The "Mercer on Summit" apartments on this map are within 1/2 block (30s) from 3 restaurants, 2 bars, and 1 small grocery.

rovolo··on Tell HN: DEI initiatives undermine the self esteem of PoC within a company
There are two parts to your question which I think are important to address: the importance of role modelling in general; and the importance of ethnicity/gender/sexual identity in particular.

First, role models are important because they show you what is possible for you to do. It's much easier to copy what someone has done before than it is to experiment yourself. For example, imagine the different types of work you can do to make money. Would you imagine that you can make money playing video games without seeing other people making money? Watching e-sports or streaming informs you that these are careers where some people are successful at earning a living. Role models are proofs of concept in ways to live your life. Without them, you would have to experiment yourself and make a bunch of mistakes on your way to living that kind of life.

Secondly, ethnicity/gender/sexual identity affect both your path and your destination. At least historically, people in the U.S. have been told that they can't do things because they are who they are, whether through explicit discrimination or by a prejudiced view of their capabilities. Seeing someone succeed in a role with a shared characteristic shows that the characteristic doesn't prevent you from achieving that role.

Furthermore, the way that these role models fulfill their role can be different than "normal". For one, their success may show that you don't need to hide aspects of yourself to protect yourself from others. Being gay is different from being out and known as gay. If it's easier to be out in some professions than others, then you may avoid being e.g. a teacher because the cost of remaining closeted may make it not worth doing. The role models aren't just for you to emulate, they are also comrades in social acceptance.

Finally, I want to acknowledge that these aspects are never the entirety of a person's identity. They are specific aspects which sometimes have zero impact, sometimes a great deal of impact, and very rarely total impact on a situation. The important of ethnicity/gender/sexual identity will vary based on the time and place. Ethnicity, gender and sexual identity are important parts of role models in the U.S. because those have been important parts of identity in the U.S. which have major influence on what people can do. Maybe their importance will wane with time, and other aspects of your identity will rise to prominence.

rovolo··on Builder's Remedy goes into effect in many California cities tomorrow
Your [1] example is a 100+ unit apartment building. In the context of this thread, we're discussing single-unit buildings like your [3] example.
rovolo··on Amazon warehouse workers stage first-ever strike in the UK
> While slavery made individual southerners wealthy, it's abolition [...] took millions out of poverty.

But your original argument was about the economics for the enslaver, not for the population.

> It's the same economics that made slavery not viable. Sure you don't have to pay labor costs with a slave but if they break their arm you have to call a doctor [...] It's much more economical to work humans that you've paid a wage to the bone [...] wage slaves beat actual slaves every time.

You're trying to make a point about capital vs operational expenses, but your example of US slavery's economic viability is both poor and distracting. Enslaving people is generally a financial boon for the enslaver. Focusing on the economic costs of owning your laborers and discounting the lack of wages sounds a lot like the "Positive Good" arguments from the mid 1800s:

> Slavery is said to be an evil... But is no evil. On the contrary, I believe it to be the greatest of all the great blessings which a kind Providence has bestowed upon our glorious region... As a class, I say it boldly; there is not a happier, more contented race upon the face of the earth... Lightly tasked, well clothed, well fed—far better than the free laborers of any country in the world, ... their lives and persons protected by the law, all their sufferings alleviated by the kindest and most interested care....

https://en.wikipedia.org/wiki/Slavery_as_a_positive_good_in_...

rovolo··on The strange and awful path of productivity in the US construction sector
The 2% is a bit misleading because the fire severity depends on how well it's contained. ~50% of fires are "confined" to an object, mostly cooking fires inside pots. Garages are 5% of non-confined fires, which is similar to living rooms (6%) and attics (5%) [0]. The numbers also go slightly up when apartment buildings are excluded[1], taking garage fires to 6% of non-confined residential fires.

[0] https://www.usfa.fema.gov/downloads/pdf/statistics/v21i2.pdf

[1] https://www.usfa.fema.gov/downloads/pdf/statistics/v21i6.pdf

rovolo··on Ask HN: With recent layoffs, how would you advise new grads entering the market?
2013 grad, no intern experience, BS, not a top school

20:5:3:1

rovolo··on Artist banned, told to “find a different style”- AI-made art
> Nor does "subjective" entail "ideological" unless you're going to torture the term ideology being having a useful meaning.

What is your useful definition of "ideology"? Why isn't "subjective" included in your definition? Why would including "subjective" in your definition make it less useful?

Before hearing your response, I'm going to guess that you're thinking ideologies need to be "significant" for them to be an ideology. I'm guessing you don't think that subjective opinions are ideological because you don't think they're important enough to get that label.

rovolo··on Common Lisp – Myths and Legends (2002)
My guess is that it's for efficiency. You have to dynamically allocate a string and then copy it to the destination if you separate "format" and "output". If you combine them, then you can directly output during formatting to your destination. Eliminating this inefficiency while separating "format" and "output" requires some sort of lazy interface or language hack.
rovolo··on Neuralink faces federal probe, employee backlash over animal tests
What's an example of Edison or Tesla doing multiple "revolutionary things no one's ever done all at once"? I'm genuinely interested, but details matter a lot. For example, the Edison company's contribution to electric light was mainly extending the life and reducing the amperage of light bulbs. Other people had already demonstrated the potential of electric light.
rovolo··on The mid in fake midcentury modern
I was curious how expensive marble actually was, so this is my attempt at looking at historical archives:

Tiles were ~1" thick: https://archive.org/details/TheBookOfVermontMarbleAReference...

Using an 1889 price book, it cost ~$0.25/ft2 of tile. Add $0.70/ft3 for shipping to St Louis, which is $0.06/ft2 of tile @ 1" thick. That's ~$0.30/ft2 total in materials. https://archive.org/details/pricelistrutland00verm/page/16/m...

50' x 50' x 10' building, (floor:(50 x 50) + walls:(4 x 50 x 10)) = 4.5k ft2, which @ $0.30/ft2 is $1,350 of marble.

For comparison,

- Average annual wages look like ~$700: https://babel.hathitrust.org/cgi/pt?id=mdp.39015002738212&vi... - A 50'x50' 2 story house was probably $4-5k: https://archive.org/details/gfbarber1905/page/n20/mode/1up

So adding the marble interiors may have been 25-33% of the price of a house. If the average US house today is $400k, then that's $100-130k for the marble interior.

rovolo··on The mid in fake midcentury modern
> Cheap low-pile carpet on plywood

Part of it is that carpet and plywood are fabricated materials. Prefabricated plywood and wall-to-wall carpeting weren't really things until ~1930s. The older materials seems more luxurious now, but that's because the newer materials have become cheap. It's like how aluminum was once more expensive than gold, but is now ubiquitous because the material itself has become much cheaper.

https://www.vam.ac.uk/articles/a-history-of-plywood-in-ten-o...

https://www.thisoldhouse.com/flooring/21017998/all-about-wal...

rovolo··on Twitter 2.0: Our continued commitment to the public conversation
Thanks, these are much stronger claims, plus they include recommendations. This basically confirmed what I thought your larger goals were.

> I don't believe covid is more dangerous than the jab.

A million EU residents died of covid in 2 years. Even ignoring the cause of death, ~500k more EU residents died in 2020 than usual, predating the roll-out of the vaccines. (link will only plot individual countries, not the EU total).

https://ourworldindata.org/excess-mortality-covid#excess-mor...

I know this isn't focused on the (supposed) harms of the vaccines, but I don't think you're really appreciating how many people Covid killed.

rovolo··on Twitter 2.0: Our continued commitment to the public conversation
Claims (2, 4, 5, 6) are very weak because you are making them absolutes (e.g. "don't stop"). By themselves, these 4 claims don't tell us what our plan of action should be. They become misinformation when they are used as recommondations because they are missing so much context.

For example, claim (6) about myocarditis is usually used to say that vaccines are dangerous and should be avoided. This is a wrongheaded examination of the risks:

https://sciencebasedmedicine.org/risk-of-myocarditis-followi...

> Given that >90% of cases of myocarditis will completely recover, that means in young men the vaccines prevent six deaths per million doses while causing <4 cases of myocarditis that have less than complete recovery. In all other groups the results are much more dramatic, saving hundreds of lives for every case of myocarditis (including the mild cases).

> We also have to keep in mind that COVID-19 infection itself causes myocarditis. ... That’s 1,500 cases of myocarditis per million COVID-19 infections, vs 40 per million in the high-risk group of young men from mRNA vaccines, and 1-2 per million doses in lower risk groups. The risk is literally 1-2 orders of magnitude (10-100x) greater from getting infected than from the vaccine.

P.S. Claim (3) misses the entire point? The point of vaccines is to not get as sick and possibly avoid getting sick altogether. "Natural immunity" requires you to have a "prior infection" as you say.

rovolo··on How the clipboard works
> by accident

Imagine you install a 'clapper' in your bedroom to control the lights. You say "works great for me, let's install this everywhere". Someone responsible for an auditorium then says "so clapping turns the lights on and off?"

That said, I frequently use text selection as a highlighter. I will highlight lines as I'm reading text to help me keep track of which line I'm on. I also need to select text to apply formatting such as bold or add link.

rovolo··on Private Prisons Are Behind the Push for Homeless Criminalization
Your points about the American definitions of "white" are certainly valid. The US racial system was primarily built around creating "black" and "indian" (and later "asian"), and it's certainly arguable that Italians, Irish, and Jews were always "white" in the US under some definitions of race.

However, your definition of race is incomplete.

> defining “whiteness” as anything other than the skin color is racist and inaccurate

You are assuming that race is an objective measure, but there isn't a scientific definition of race which matches common understandings of race. Instead of accepting that people may act on a personal understanding of race, you are asserting that their definition of race doesn't match your definition, and so there's no racial component at play. Ethnicity has a habit of becoming racialized. For example:

> Different groups had different levels of acceptance even today. The vast majority of Americans consider Jews to be white, but there are still people who dislike Jews. Jews receiving discrimination doesn’t make them any less white.

Does it matter that you think that Jews are white if the Nazis did not believe that? They created racial categories for the purpose of discrimination. Jews and Slavs were subject to "racialization" by the Nazis. We can say that Jews in Europe faced racial oppression under the Nazis because the Nazis oppressed them by labeling them a race. In fact, the Nazi classification of the Jewish Race meets your updated definition:

> The only valid definition of white is the commonly accepted one: of the white racial group as decided by a combination of factors including your lineage, how you are perceived, and so on.

The problem with your insistence that the Irish and Jews are white is that there isn't an authoritative white lineage or white appearance. People disagree[1] over who's considered white.

[1] https://en.wikipedia.org/wiki/Definitions_of_whiteness_in_th...

rovolo··on Don’t teach kids to fear the world
I'm not sure about abuse statistics, but these are the U.S. stats for kidnapping: https://www.fbi.gov/file-repository/2021-ncic-missing-person...

2021 missing-person stats:

- 94.5% (231k) runaway

- 1% (2,555) abducted by non-custodial parent

- 0.1% (331) abducted by stranger

- 4.3% (10k) adult

rovolo··on Cognitive loads in programming
The advice is that state is hard to deal with, so you should try to isolate it from the rest of your program. You can even organize stateful components like a cache to isolate the stateful components.

- Make your stateful components "dumb". The cache should just have dumb put,get,delete methods.

- Make your "smart" components stateless. Your component deciding which items to cache or remove or invalidate should be passed all the state they need to make their decisions as immutable parameters. This will make your lifecycle management code much easier to test or log.

- Keep the part gluing the dumb state and the smart functions small

In the end you still have a stateful component, but as a whole it should be easier to work with. For example, it's much easier to test time-based lifecycle decisions if you pass in the current time than if the component grabs the current time from your system clock.

rovolo··on The Portuguese can no longer afford to live in Portugal
> Inflation is not the result of profits, gouging, etc.

Inflation is the measure of the price of goods

> It's the result of funding the deficit by running the printing press

Increasing the money supply indirectly increases the price of goods. It matters in the long run, but the price of goods can change in the short-term based on supply. The oil crisis of the 1970s caused oil prices to increase because oil supply was limited. This would have caused inflation even without an increased money supply.

> creating debt backed by nothing. ... fiat money systems.

This is more of a tangent, but the money supply can also shrink in fiat systems. Fiat currency can be shrunk via taxes. Debts can be defaulted. Fiat systems aren't inherently inflationary; but they target a low level of inflation because they prefer it to deflation.

rovolo··on I watched a friend of mine pump a shitcoin on Binance by buying billboards
> Byzantium would disagree with your analysis...except it doesn't exist anymore because it couldn't solve the problem.

Leslie Lamport commenting on the 1982 paper. https://www.microsoft.com/en-us/research/publication/byzanti...

> There is a problem in distributed computing that is sometimes called the Chinese Generals Problem ... the original title of this paper was The Albanian Generals Problem ... The obviously more appropriate Byzantine generals then occurred to me.

rovolo··on The Great Decentralization? Geographic shifts and where tech talent is moving
> shocked that Portland is growing ... massive homelessness crisis.

This statement reminds me of "Nobody goes to that restaurant anymore because it's too crowded".

rovolo··on Preview, the Mac app people forget about
I tested it again locally and it's working for me. Just for you to double check, here's an article with pictures:

https://osxdaily.com/2018/02/12/show-hidden-files-mac-keyboa...

← PreviousPage 3 of 11Next →