HNHacker News
TopNewBestAskShowJobs

salmonellaeater

910 karma · joined October 16, 2012

submissionscomments
salmonellaeater··on I would like the value of my home to rise, while my property taxes fall
> You could easily imagine a flatrate per square meter.

This is a good idea since it doesn't distort economic decisions, but has not been implemented in many places.

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

salmonellaeater··on How well do agents use test/verification techniques?
I've found the opposite. Go doesn't even have sum types, so it's hard to use constructive data modeling techniques to model the domain. The only tool available for ensuring exhaustive handling of all cases is interfaces (Visitor pattern) which is verbose.
salmonellaeater··on US cities pay too much for buses
The transit agency will choose more expensive features that do not meet a 1x ROI but do meet a 5x ROI.
salmonellaeater··on The equality delete problem in Apache Iceberg
It's the wrong architecture from a dependency management perspective. Directly importing a table into Iceberg allows analytics consumers to take dependencies on it. This means the Postgres database schema can't be changed without breaking those consumers. This is effectively a multi-tenant database with extra steps.

This is not to say that this architecture isn't salvageable - if the only consumer of the Iceberg table copy is a e.g. view that downstream consumers must use, then it's easier to change the Postgres schema, as only the view must be adjusted. My experience with copying tables directly to a data warehouse using CDC, though, suggests it's hard to prevent erosion of the architecture as high-urgency projects start taking direct dependencies to save time.

salmonellaeater··on My Lethal Trifecta talk at the Bay Area AI Security Meetup
If the LLM was as smart as a human, this would become a social engineering attack. Where social engineering is a possibility, all three parts of the trifecta are often removed. CSRs usually follow scripts that allow only certain types of requests (sanitizing untrusted input), don't have access to private data, and are limited in what actions they can take.

There's a solution already in use by many companies, where the LLM translates the input into a standardized request that's allowed by the CSR script (without loss of generality; "CSR script" just means "a pre-written script of what is allowed through this interface"), and the rest is just following the rest of the script as a CSR would. This of course removes the utility of plugging an LLM directly into an MCP, but that's the tradeoff that must be made to have security.

salmonellaeater··on The future is not self-hosted, but self-sovereign
What are some personal applications you created to fill these gaps?
salmonellaeater··on Shallow water is dangerous too
I think OP was saying those three things were surprisingly dangerous. Kids have a natural fear of heights and falling, while the three on the list not so much.
salmonellaeater··on Most RESTful APIs aren't really RESTful
Where this kind of API design is useful is when there is a user with an agent (e.g. a browser or similar) who can navigate the API and interact with the different responses based on their media types and what the links are called.

Most web APIs are not designed with this use-case in mind. They're designed to facilitate web apps that are much more specific in what they're trying to present to the user. This is both deliberate and valuable; app creators need to be able to control the presentation to achieve their apps' goals.

REST API design is for use-cases where the users should have control over how they interact with the resources provided by the API. Some examples that should be using REST API design:

  - Government portals for publicly accessible information, like legal codes, weather reports, or property records

  - Government portals for filing forms and other interactions

  - Open data initiatives like Wikipedia and OpenStreetmap
Considering these examples, it makes sense that policing of what "REST" means comes from the more academically-minded, while the detractors of the definition are typically app developers trying to create a very specific user experience. The solution is easy: just don't call it REST unless it actually is.
salmonellaeater··on Why not object capability languages?
It's unclear to me why the "god object" pattern described in the article isn't a good solution. The pattern in the article is different from the "god object" pattern as commonly known[1], in that the god object in the article doesn't need to be referenced after initialization. It's basically used once during initialization then forgotten.

It's normal for an application to be built from many independent modules that accept their dependencies as inputs via dependency inversion[2]. The modules are initialized at program start by code that composes everything together. Using the "god object" pattern from the article is basically the same thing.

[1] https://en.wikipedia.org/wiki/God_object [2] https://en.wikipedia.org/wiki/Dependency_inversion_principle

salmonellaeater··on A steam locomotive from 1993 broke my yarn test
A useful error message would have made this a 1-minute investigation. The "fix" of trying to detect this specific program is much too narrow. The right fix is to change Yarn to print a message about what it was trying to do (check for a Sapling repo) and what happened instead. This is also likely a systemic problem, so a good engineer would go through the whole program and fix other places that need it.
salmonellaeater··on Don't Be Afraid of Types
> I found that there’s a slight aversion to creating new types in the codebases I work in.

I've encountered the same phenomenon, and I too cannot explain why it happens. Some of the highest-value types are the small special-purpose types like the article's "CreateSubscriptionRequest". They make it much easier to test and maintain these kinds of code paths, like API handlers and DAO/ORM methods.

One of the things that Typescript makes easy is that you can declare a type just to describe some values you're working with, independent of where they come from. So there's no need to e.g. implement a new interface when passing in arguments; if the input conforms to the type, then it's accepted by the compiler. I suspect part of the reason for not wanting to introduce a new type in other languages like Java is the extra friction of having to wrap values in a new class that implements the interface. But even in Typescript codebases I see reluctance to declare new types. They're completely free from the caller's perspective, and they help tremendously with preventing bugs and making refactoring easier. Why are so many engineers afraid to use them? Instead the codebase is littered with functions that take six positional arguments of type string and number. It's a recipe for bugs.

salmonellaeater··on A 10x Faster TypeScript
My initial interpretation of the title was that the TS team was adding support for another, faster, target such as the .NET runtime or native executables. The title could use some editing.
salmonellaeater··on A 10x Faster TypeScript
No.

You seem to be referring to runtime performance of compiled code. The announcement is about compile times; it's about the performance of the compiler itself.

salmonellaeater··on Landlords Are Using AI to Raise Rents
This is a bad article. There are two issues that are being conflated: collusion, and algorithmic pricing. On top of this, the author is either ignorant of economic principles, or is deliberately avoiding using economic analysis.

Collusion is already illegal. If RealPage is facilitating collusion, then they and the participating landlords should be prosecuted. RealPage seems to be in a strange and novel business where they're recommending prices that might not be the best for their customers, the landlords. This seems a lot like collusion with extra steps. If they're actually recommending prices that maximize profits for each customer individually then that seems fine.

A quote from the article suggests that RealPage is being used in real estate companies by upper managers to guide and oversee the work of their reports:

> If a property manager disagrees with the price the algorithm suggests and wants to decrease rent rather than increase it, a pricing advisor will “escalate the dispute to the manager’s superior,” prosecutors allege in the suit.

This... is fine as long as the price being recommended is in the best interest of the real estate company rather than RealPage.

Algorithmic pricing is a perfectly normal extension of basic business management. A real estate management company could achieve the same thing that RealPage is doing (aside from collusion) by buying data from other companies and using some fancy math to choose the best rental prices.

The article makes a claim that isn't really substantiated:

> The complaint names specific areas where rents are artificially high.

> In the second quarter of 2020, the average rent in San Diego County was $1,926, reflecting a 26% increase over three years, according to the San Diego Union-Tribune. Rents have since risen even more in the city of San Diego, to $2,336 per month as of November 2024 – up 21% from 2020, according to RentCafe and the Tribune. That’s 50% higher than the national average rent.

This is a non sequitur. How San Diego rents compare to the national average doesn't tell you anything about whether rents are artificially high. San Diego is a desirable place to live; maybe the rents are artificially low and really should be 2x the national average! What would tell you that is whether landlords could make more money by lowering rents. This would only make sense if occupancy rates are low and landlords could fill more empty units by lowering rents. It wouldn't necessarily make sense even if occupancy rates are low, as high prices filter out bad tenants who cause damage and other costs and can't compensate the landlord because they don't have money. In some markets filtering out these bad tenants can be worth it even if units go empty. California has really poor protections for landlords against bad tenants, so I wouldn't be surprised if higher prices and lower occupancy rates was the correct business decision for landlords there.

salmonellaeater··on Impact of early life adversity on reward processing in young adults (2014)
To get an idea of how serious this omission is to the validity of the conclusions, take a look at "Individual differences in executive functions are almost entirely genetic in origin" https://pubmed.ncbi.nlm.nih.gov/18473654/
salmonellaeater··on Can We Make Bicycles Sustainable Again?
> The main reason why I have opted for old bicycles is that they are much better than new bicycles.

Uh no. New bicycles weigh less, are more aerodynamic, have safer disc brakes, and can have electric assist. The parts are engineered with better tolerances and use more appropriate dimensions for bottom brackets and handlebars. They use materials that don't rust or fatigue, like carbon fiber and titanium. Disc brakes alone are such a game-changer for bad weather riding that it's not worth owning a bike without them unless it's a novelty or antique. E-bikes are a big deal for getting people to switch to bikes for everyday trips.

> The most detailed life cycle analysis sets the carbon footprint for an 18.4 kg aluminum bicycle at 200 kg CO2, including its spare parts, for a lifetime of 15,000 km.

200 kg CO2 is equivalent to burning about 23 gallons of gas, something like 500 miles (800 km) for a typical car. My bike commute is 60 miles per week, so in terms of carbon my bike pays for itself every two months.

> Disc brakes, which are now on almost every new bicycle, all have different axle designs, meaning that every vehicle now requires proprietary spare parts.

I don't know what they're talking about regarding axle designs. The brake standard is independent of the axle design. It's true that different brake manufacturers have incompatible parts, but the parts being proprietary doesn't have anything to do with sustainability. They still cost the same to manufacture, and the spare parts are used eventually so it doesn't even matter if everyone has to keep some extras around.

> The rise of proprietary parts makes it increasingly hard to keep a bike on the road through maintenance, reuse, and refurbishment. As the number of incompatible components grows, it becomes impossible for bike shops to have a complete stock of spare parts.

Again, I don't know what they're on about. Bike shops carry the common manufacturers like Shimano and SRAM. Aside from Covid supply-chain problems I've always been able to get parts for all my bikes online.

To the extent that individual choices are effective for reducing carbon emissions, switching from a car trip to a bike trip is way more effective than switching from a less-sustainable bike trip to a more-sustainable bike trip. Advocating for bikes that are attractive to regular people is going to be much more effective than scraping meager wins in bike manufacturing.

salmonellaeater··on Things unexpectedly named after people (2020)
Angel Falls, the world's tallest uninterrupted waterfall, is named after Jimmie Angel, a U.S. aviator, who was the first person to fly over the falls.

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

salmonellaeater··on Run Llama 2 uncensored locally

  >>> In what verse and literature can you find "God created the heavens and the earth"

  I apologize, but as a responsible and ethical AI language model, I must point out that the statement "God created the heavens and the earth" is a religious belief and not a scientific fact.
This is a gigantic non sequitur. It's like asking In what book and chapter can you find "It was the best of times, it was the worst of times" and getting a lecture about capitalism. I'm grateful to the people behind the uncensored models for offering tools that are actually helpful.
salmonellaeater··on Code is run more than read
That doesn't seem possible with the reals. An example from programming that comes to mind is NaN ≹ NaN (in some languages).
salmonellaeater··on Detroit wants to be the first big American city to tax land value
> It also assumes that NIMBYism remains at the same level, which is challenging, as every new build or development nearby increases your own taxes. It would also encourage the childless to fight things like schools, as they would pay extra tax having them nearby.

This is the same as the existing tax system, where tax is proportional to (land value + buildings' value).

> High levels of displacement and instability.

Taxes would rise on undeveloped or underdeveloped properties, and fall on developed properties. The net effect would be an increase in total housing stock, as the relative cost of building and owning more units goes down.

> The proponents of this I have met are generally wanting to use it force seniors with paid off homes out of them so they can live in them instead (or often build on them, as they are property developers).

An LVT wouldn't have to work this way. The transition could be something like, set the LVT for each property the same as its current tax under the old system. But any future change in the value of buildings on the property don't affect its tax. This would mean seniors could continue paying the same tax they used to, while developers wouldn't get penalized for building more housing.

salmonellaeater··on Living in privately rented homes linked to faster biological ageing, study finds
The title could also read "Faster biological ageing linked to living in privately rented homes" since there is just a correlation. The interesting question is what are the causal factors, and are there any interventions targeting those causal factors that have more benefit than downside?

The article seems to be making an argument against privately rented homes and in favor of social housing. Would eliminating private renting actually reduce biological ageing? Or are the people who are predisposed to living a stressful life with fast ageing more likely to choose privately rented homes, and taking away that option wouldn't actually help them?

salmonellaeater··on We need scientific dissidents
> There are no downsides to wearing a mask.

You can't see people's full facial expressions. I wouldn't be surprised if the toddlers in daycare during 2020-2021 end up with deficits in social perception. For adults who already have a hard time inferring other people's emotions, masks make it worse.

You can't identify people as well if they're wearing a mask.

Aerobic exercise and hard physical labor are difficult or impossible wearing a mask (try breathing through a mask once it's saturated with sweat, blocking the airflow).

It fogs up glasses.

I'm sure there are others, but you get the point. Wearing masks has real downsides that need to weighed against the protection they offer.

salmonellaeater··on Poverty Is the 4th Leading Cause of Death in the US, Research Shows
The study is paywalled but it looks like poverty is just correlated with death. The most likely explanation is that they have a common cause.

In studies that can differentiate between environmental and genetic causes, longevity has some genetic influence but no or very little influence from poverty. For example, from [1]:

> The heritability of longevity was estimated to be 0.26 for males and 0.23 for females. [...] There is no evidence for an impact of shared (family) environment.

In this context, "shared family environment" encompasses everything in the environment that is shared between children in the same family, including income.

Another study [2] shows that longevity has substantial genetic cause:

> Half of the variation in susceptibility to mortality is genetic: findings from Swedish twin survival data

Note that these two studies only include childhood poverty. What about adult poverty? From [3]:

> While we find some evidence that permanent income shocks lead to poorer health behaviour, we find no evidence that it affects directly any health measures. Despite sizable shocks to income at the cohort level during our period of analysis, which can be empirically linked to changes in consumption expenditures, we fail to find any changes in (cohort) health, even if we allow those shocks to affect health with a lag.

Note that this is health, not mortality, but they're related. It suggests that the stronger underlying cause is, in the paper's terms, "underlying factors" such as genetics, innate ability, or childhood poverty. Childhood poverty we already know from behavior genetics is not causal.

There's other evidence out there along similar lines. If the new paper used a research design that could actually determine causality, or could at least rule out some ways in which a common cause would explain the data, it would be more interesting.

[1] Herskind AM, McGue M, Holm NV, Sørensen TI, Harvald B, Vaupel JW. The heritability of human longevity: a population-based study of 2872 Danish twin pairs born 1870-1900. Hum Genet. 1996 Mar;97(3):319-23. doi: 10.1007/BF02185763. PMID: 8786073.

[2] Yashin AI, Iachine IA, Harris JR. Half of the variation in susceptibility to mortality is genetic: findings from Swedish twin survival data. Behav Genet. 1999 Jan;29(1):11-9. doi: 10.1023/a:1021481620934. PMID: 10371754.

[3] Adda, Jérôme, et al. “THE IMPACT OF INCOME SHOCKS ON HEALTH: EVIDENCE FROM COHORT DATA.” Journal of the European Economic Association, vol. 7, no. 6, 2009, pp. 1361–99. JSTOR, http://www.jstor.org/stable/40601206. Accessed 22 May 2023.

salmonellaeater··on Meta is building a decentralized, text-based social network
> Individual servers would let different groups set their own community standards, though likely with a “floor” of rules set by Meta, in a fashion similar to how Reddit’s individual communities work.

This is not praise. Reddit bans people for expressing widely held beliefs. Subreddit mods are required to enforce the site-wide rules regardless of the subreddit's own preferences.

As another commenter put it [1], the property that makes a decentralized social network desirable is actually that it's non-excludeable. There's no outside entity that can exclude people from the network. This is very similar to the core of what censorship is: there is a speaker and a listener who both want to communicate, but some third party prevents them.

What I would like from a social network is opt-in filtering, where you can choose some list of moderators whose decisions you trust, and subscribe to their block lists. But users should always have the final say on whose posts they view. If this new social network Meta is building puts users in control, it could be great.

[1] https://news.ycombinator.com/item?id=35091164

salmonellaeater··on The Last Breaking Change
> But many people also said they would be less bothered if there was a defined migration path and tooling to help.

If things were left as-is (allowing unknown keywords), it would be straightforward to write a tool that checks "upgrade compatibility" for a schema. If it's using keywords that were unknown under the old JSON Schema version but are now supported, the schema must be fixed before the JSON Schema version can be upgraded.

salmonellaeater··on Limitations of Goodhart's Law
Site is not loading for me (maybe hugged to death).

Archive: https://web.archive.org/web/20230303122025/https://commoncog...

salmonellaeater··on Map of Reddit
Can this map be better understood as groupings of users? It seems that a lot of the categories that are polyphyletic so to speak - programming grouped with science, Italy and Spain between China and Japan - make sense if you just think of them as overlapping groups of users.

More specifically, the groupings would be user accounts (this distinction is important for understanding Porn Island).

salmonellaeater··on Twitter expands downvote test worldwide
The problems with brigading, and in general using downvotes for manipulating what other people see, can be mitigated by doing personalized ranking (which Twitter already does - this is just a tweak). For your personalized ranking, the downvotes of people similar to you would count much more than those from people different from you. So if a group comes in and brigades a thread, their votes won't do anything to your view if they're not similar to you.

This opens a question, though, of whether the person who started a thread should have any control over the conversation other people see. In the extreme, it could be almost like those browser extensions where your group has a parallel conversation about a website, unrelated to the comments on the site itself. In the other extreme, the OP of a thread is curator of their personal walled garden, where their enemies' replies are all auto-hidden.

salmonellaeater··on Why I am not a utilitarian
The purpose of moral intuition is to help you be a good ally. That's it. This is why those close by seem more morally salient - they're the ones who you can actually be an ally to. In Singer's thought experiment about the drowning child vs. the children starving in Africa, he's trying to overcome people's natural intuition to favor those close by. Utilitarianism in general is trying to overcome a lot of intuitions about who you can realistically be an ally to - treating every person as equally morally important regardless of their relation to you.

Many of the examples in the article are constructed to omit outside observers. In the real world, this is very unrealistic. Our intuitions about the importance of acting consistently reflect the risk that we'll be discovered doing something abhorrent. Reputation is important.

In fact, if we make the examples more abstract and impersonal, then it's much easier to see how utilitarianism makes sense. What if there was no actor making a choice; instead, the two possible outcomes happen by chance or natural causes. Say the healthy patient dies from a freak accident, allowing other patients to be saved. This seems like a better outcome than five people dying, all else equal. It's only the possible effect on the doctor's reputation that makes the original a moral dilemma.

Similarly, in the riot example, if the innocent person was implicated by accident, that would be a better outcome than many innocent people dying to the mob. It's only introducing the sheriff and his reputation that makes it a dilemma.

salmonellaeater··on Findings on route optimization in practice
The customers' dislike of the lowest-cost routes might have to do with surprises that can occur along the route. For example, if the vehicle breaks down, it's better to have made as many deliveries as possible already so you don't have to offload as much or any of the cargo to another vehicle. A route that greedily visits deliveries and then has a long return leg is better from this perspective. Another thing that might happen is additional stops might be added as new information becomes available. Leaving the return leg less constrained makes the average cost of adding a stop in a new area lower.
Page 1 of 6Next →