skysight-inc/HackerNews huggingface dataset:
> The argument for disallowing nulls is much stronger than the argument for demanding a compiler-enforced non-empty string. I definitely support the ability to declare variables, including strings, as non-nullable. An empty string is simply analogous to the number 0. It doesn't really overlap in meaning with null. It's true it would be useful to occasionally disallow the number 0, but only very occasionally. The obvious example is division, but having a representation of +/- infinity alleviates some cases.

Well, of course you should be able to declare something non-null. What do I look like, someone who likes Java? :p My point wasn't that I WANT to use null instead of an empty collection/string, it was that our languages give us multiple mechanisms by which we can pass in "nothing" for strings/collections, but they give us zero ways to ask for a non-empty string/collection. That's super frustrating! Yes, of course "null" and "empty set" are technically and semantically different. But they're close enough that you could actually deal with having only non-empty strings + nulls and be able to mostly express what you want. That's not the case if I actually want a non-empty string in many of today's languages. Not if I want it to be usable with other APIs and the standard libraries, that is.

> Paraphrasing: "I've written the same kind of method over and over throughout my career and have been unable to (or made no attempt to) abstract it away." I love strong type systems, but it doesn't sound like the type system is your problem here. The problem is that you're constantly re-implementing the same business logic.

Eh, no. I haven't worked in the same language or on the same project for my whole career. So, yeah, I've noticed that I'm pretty much always either defining a bunch of boilerplate types up front or I regret not doing it when a 0 hits the database because someone wasn't careful with their math or had an off-by-one error.

Maybe I should publish a book a la Gang of Four and call it "Static Type Patterns". ;)

So, yeah. Believe it or not, I HAVE implemented stuff like PositiveInt and NonEmptyString a bunch of times in a bunch of languages. And it's better than not having it, but it still sucks because in several of those languages, it means that I have all kinds of noise converting to and from, e.g., the native string type. And that's because most of the above languages have no concept of "newtypes" and have no intention of letting programmers define or refine "primitives".

It's not really about "business logic". It's about "I know how to describe the shape of this data, but my statically typed language won't let me."
ORM Database Framework by iOS
I must suggest that 'disable p2p mode' should be default - and if they go to use to voice, it could prompt user that optional setting change could make better performance with change, but will expose ip.

Not sure of other matrix usage.. but my users are like 95% never going to voice, and if they knew the privacy implications, would choose to use vacaroo rather than p2p and expose.

Seems like it's a security hole that is likely to be exploited by others more than a feature that is used by the masses.

Again I want the option, and would run a turn/stun server just to make it more private for my users.. I understand for some folks they'd be better off trusting the person they are talking to more than a server in the middle.. so I think options are great.

But defaults can be dangerous.

Now I'm in the boat of weighing options for warning my users to disable this - but then it's more likely going to teach some bad actors that an issue exists - and they are more likely to use it as opposed to a majority of my users that will ignore it (the warning).
For those concerned about the potential of climate change to severely harm our society, income inequality, particularly as it relates to housing, should be front-and-center in our list of things to address.

Why? People need to get to work, so they drive. Two hour commutes in carbon-spewing cars happen because people can't afford to live near their work.

In many cities, people have been pushed further and further away from the city core because of high housing costs. This leads to more and more driving. It's not like driving is a choice, either. It's easy to say "stop driving so much, you're destroying the planet!" But, people have bills to pay, mouths to feed. So they drive (long distances) to work.

Housing inequality, income inequality, transit inequality. These things are a major problem directly related to climate change. By addressing these things head on, we can make the world much safer, in terms of climate change, and much better, in terms of actual quality of life for the majority of people living and/or working in cities.
AKA roughly one Brooklyn apartment.
> I'm not bothered by the UK flag to quite the same extent – can't deny the language originated in England (although maybe one should really use the English flag not the UK one)

Consider how that comes across for many people in Northern Ireland, among other places. Just because they speak English, it doesn’t mean they want anything to do with the English (or British) flag.

There’s some more discussion on this here:

Flag as a symbol of language - stupidity or insult?

— https://www.irt.org/articles/js173/

Don't use flags to indicate languages!

— https://www.w3.org/International/questions/qa-link-lang#flag...

Flag Problems

— https://www.nngroup.com/articles/flag-problems/
This is one of those rare moments where this is actually a completely legitimate and helpful thing to point out; if this poster hadn't posted it, I would have.

This is the AA guy with the 30 year chip telling you to hand over the keys.

You listen, and reevaluate if you're smart.
Agree, and chances are one of the whitelisted things would allow you to bootstrap something else. I've seen attempts to grant limited sudo access by whitelist, and it's usually easy to get a shell one way or the other.
We cut down less trees in the 2010s that in the 1980s but we still cut down trees. The world's forested area is continuously decreasing, just less fast.
> It takes a decade for HIV to turn into AIDS

The median time is a little longer than that, but the range goes down to less than a year. We think about it as starting in the 1980s because that's when the diverse manifestations were recognized as a common syndrome, not because that's when symptoms first appeared in the US (in fact, there is a case retroactively identified as a death from full-blown AIDS in the US in 1969.)
"you are not personally in need of an actual income for at least 3 years. Preferably more."

Hence the saying, "The first 20 million is always the hardest!"
Maybe you guys are arguing the wrong point?

The police are fundamentally different from the US Marines in almost all ways, in practice and in reality.

My position is that there is NEVER a situation where it makes more sense for the police to devote manpower to destroying evidence over restoring order. Police agencies shredding files on the way out the door are, historically, not doing it to protect anyone but themselves.
I wonder if you can get around this by saving in different image formats.
I found a great little link that compares deforestation / reforestation over time for different countries sorted by things like GDP.

https://ourworldindata.org/forests-and-deforestation

As you can see, most wealthy countries have been increasing their forest cover since 1990 (and indeed since the late 1970's though this graph doesn't go back that far). As poorer countries increase their industrial base and means of wealth production, they too will be able to afford to take care of their environments as well as a the West does.
Have you looked into expungement? I'm not super familiar with how it works and it does vary state to state but you may be able to fix some of the issues via that route. There might be some public legal aid available to help because I have heard the process can be expensive and time-consuming.
CA drought: Past dry periods have lasted more than 200 years, scientists say
It uses the production binary, originally 604.59 KB and after brotli (Vercel uses brotli by default) 213.90 KB.
I haven't tried it lately, but last time I tried it around a year ago, if you try to use the web client and the moderator hasn't shown up yet, you have to solve a Google ReCaptcha every couple of minutes while you're waiting, or it kicks you out.

I usually try to go with the charitable interpretation, but when the dark patterns start to stack up that high...
Hey Larsius, thanks for sharing, that was very interesting! Maybe mistaken identity but I think we might know each other… we’re you in John Fairey’s studio spring ‘03? :)
It's irritating to see this trite message whenever anyone says anything slightly controversial. No one elected you head censor.
Odd... I could have sworn the worlds greatest horse racing cheat (and sports betting cheat in general) was Biff Tannen (https://backtothefuture.fandom.com/wiki/Biff_Tannen#The_alte...)
That's probably the better answer, yeah. I think there's a couple of features that don't work very well in the browser (push to talk?), but the actual answer is that it probably simply didn't occur to me at the time.

I use both these days.
Disclaimer: I'm not who you are answering to.

But whoa that's quite the story. I suspect that you are a godsend for the typical startup which will probably tend to be on the "physically sick from looking at the code" side of things and you are gonna pull in the other direction. In the end the startup would end up in a great 'middle ground' if neither side quits in frustration over the other.

Which is basically what your parent says is the hard part. To balance it out.

There's a lot of 'good enough' code and functionality you can 'get away with' that will actually be useful for your customers. And they can get it and use it now and not in 1 year from now. What is missing in a lot of companies is the 'sticking with it' meaning actually not just throwing the MVP out there and leaving it but collecting and _acting on_ that user feedback. Which is next to impossible with sickening code but easy enough with '80/20 rule code'.
Thanks! Wait for my next article. Hope it won't be long.
Not there anymore (my story was about 6 years ago), and I was able to reduce it somewhat, but it was mostly a case of lots of, effectively, microservices that needed updating in case-specific manners. To reduce it further would take major architectural changes that would take more time than simply doing repeating the process I had created, even if done for a couple of decades.
One thing I've noticed: very few ads are topic focused. Take an ad for a car, or for life insurance. This ad isn't aimed at someone who likes cars, or insurance. It's aimed at an average person, within a certain income bracket and stage of life. How would you know, based on browsing history, whether a person should be displayed such an ad? If they've visited websites for insurance, or cars, then they're a shoo-in, granted. Most people haven't. So the approach will be to identify people of a certain age and income, and figure out what websites they visit. Next, use tracking cookies to identify people who visit the same set of websites. Display the ad to all such people. The original FLoC fit into this model well. Whereas it might have picked out topics that a person likes, it would also likely have picked up other bits of demographic information like age, sex, wealth, which would be more useful for targeting. In moving to an explicitly topic focused model, google throws out this capability. Presumably, people from all age groups are interested in rock music, say. But the way that different people engage with that interest will be different, and therefore offer opportunities to identify more specific groups. A purely topic based model commingles these groups, and therefore makes targeting harder. To the degree it works, it will be against the intentions of the system, since explicit interests will be used as a proxy for demographic information, rather than used directly.

As such, I doubt this model will leave anyone very happy. Advertisers will dislike that it offers poorer tracking, and users will dislike that it leaks demographic information. I for one am satisfied with an approach that screws over advertisers. However, I suspect google won't be. What I see as their only escape is to create sandboxed environments in the browser from which to run advertising targeting code. A javascript worker of some sort would be restricted from making web requests, and would only be able to act on information fed to it. This information would come from webpages the user visited, and would include information about the page, as well as their actions there. The worker would use this information to decide what ads to target at the user.

Downloading a particular ad without leaking information remains a problem. You could download every possible ad, and have the worker select one, but this is very wasteful of bandwidth. "Private information retrieval" (PIR) schemes can reduce the bandwidth wastage substantially, without leaking any information to the server. These schemes have received a great deal of attention from cryptographers, but as far as I can tell have been overlooked by programmers. Likely this is because there are few instances where a project cares about privacy, but the project owner is untrusted to protect privacy. Thus, it seems like privacy protecting targeted advertising would be an ideal testbed for PIR. It would be very interesting if google went this route.
"This is even an entire trope in literature: the hero from a small village makes a name for themselves in the big city."

That trope is a little bit of a trope.

It's one thing for young people from small towns to jump to a nice spot in the bigger city pyramid, but that doesn't speak to the fact that the poor, in cities, are still quite poor and have a low standard of living.

And frankly, nobody from a small town is impressed by someone 'making' it into a middle class lifestyle in the city anyhow.

Part of my family lived in a nice enough home in a small town, everyone knew each other, living was very cheap. Most people were actually technically poor, but how poor can you be if you own your own home, have access to basic resources, and material things, and very full social lives and hobbies, arguably more so than most city people?

The problem is that 'economic standing' is a crude assessment.

Toronto has these vast areas of older, ugly residential high rise buildings, you can hardly walk anywhere, there's maybe a crappy local strip mall nearby. No culture, no local institutions, no way to get away - you're just 'stuck at the bottom' in a pile of ugly concrete. Canadian winters are 'hard' but it's made 'ok' if there's space, places to play, trails and other activities which these areas tend not to have for both material and cultural reasons.

At least in small towns you have community centres, people know who you are, often a local identity, vibrant social networks and access to the outdoors.

All the 'working class' I know in small towns have either boats, RVs/Campers, often cottages while their peers in the city live in concrete jungles.

I feel that cities are far more likely to have fragmented communities, people are more individualist, which also means more opportunity in the technical sense for prosperity, but on the other end of the Bell Curve ... it's also bad.

The cities with less transient populations are probably a little better.

Cost of housing is probably a very fundamental factor.
Show me where I can get Pragmata Pro on Google Fonts.
I lived there for a while and owned an okay condo in a very central / prime location. 2bd 1ba. It cost $100k at the time (peak recession). I checked recently and saw it last sold in 2021 for $140k. From my later experience living in SF I’d guess that place would go for $800k-1.2M in SF. So, I think Houston is still pretty affordable, even in the urban core, compared to most cities.
The solution is quite simple too. Make fuel $10/gallon. If that is not sufficient, then $20, or $30. And so on.
>What we see today is something very different, and in my view much closer to "power for power's sake" control that I think you're associating with facism.

I'm not really sure what you are implying here. Can you give some examples of this power for power's sake behavior? Everything that I can think of has a plausible even if misguided motive.
A little extra history. Grad students get an office, and their office was in the kitchen area of a trailer across the street from CIS. They ran Yahoo off a computer in this area and the head sys admin worked hard to handle the bandwidth requirements because it was saturating the network and causing problems for other users sharing that segment. He found them a better home for hosting (I think it was DEC), but they got funded right before they moved so that never happened. Stanford was great at helping students do projects like this, which is quite different from many other universities. I remember the e-mail from someone else in the trailer asking them if it was ok to pack their stuff up because it was clear they were not coming back. Good times.
Fusion (and fission, if we are willing) would be the only way to actually reverse climate change by using CO2 capture and then electrolysis to put carbon back in the ground. Solar and wind might be able to just sustain human consumption for energy but only fusion would give us enough energy to take CO2 out of the atmosphere.
Yes, to be fair, the town blacksmith or cooper was probably self employed, certainly not an anonymous representative of a public company.
As long as no one can get in between nginx and the app. Otherwise it's trivial to set whatever header nginx sets and impersonate whomever you like.
> As cities grow in size, the poor 'get nothing at all': study

This is wrong

As cities get bigger everyone benefits as expected confirmed by the study -

"We show that income in the least wealthy decile (10%) scales close to linearly with city population, while
income in the most wealthy decile scale with a significantly superlinear exponent."

"We repeat our analysis after adjusting income by housing cost, and find similar results"

https://www.researchgate.net/publication/349682590_Scaling_o...
"The environmental cost of this is a negative externality that I feel this move reduces"

I don't think it is an externalized cost given that you pay for your trash to be disposed of. (I assume you aren't littering)

This would be an internalized cost. You are paying for the cost of your own waste.
I used Perl a lot mid-90s, it's an amazing language. I don't really understand how it fell away from the internet while something like the abomination that is PHP succeeded. Just goes to show that the better solutions aren't always the winner.
For most employers 7 vs 50 felonies will make no difference, any number that's not zero will disqualify you.

Being upfront about your criminal record (including that it looks worse than it is) and/or explicitly targeting companies that have signed up to Ban the Box and/or the Fair Chance Pledge might help.
I realize that dang's role is literally THE moderator of HN (for which I am greatful) but I agree with my siblings: this is actually topical and on point. I lived through the fall of the Berlin wall, from afar, and my ancestors were persecuted and killed in WW2, and I lived in fear of my own heritage. So I think this is a reasonable comment.
To really understand Houston you would need more data. Chiefly, the rampant influx of illegal aliens driving massive growth, higher rents when construction can't keep up, pressure on unskilled wages, and rapid building of schools a d other infrastructure driving up property taxes. But some truth is not allowed to be voiced in polite society.
Finding Dispersed Campsites to Remote Work (and Play) From
Sure, this should be part of the solution, but nuclear power doesn't cost nothing, it's either quite expensive or quite dangerous.

Also, this only answers the question of decarbonization of the electricity, which is maybe 25% of the problem. You still need to address transportation, heating, cooling, land use, meat consumption, etc. This is where people will need to change their ways of life, at least just a bit.
My Dad recently needed a place to live. No matter how far I drew the circle on Zillow in our part of the state, there were no rent houses, for any price. I texted my realtor about it and asked if it was the Airbnb effect. She said “Yes, probably.”

Infuriating.
I initially miss read you post, you formulations can be a bit misleading.

E.g. "Wayland is, that they have no such API.", it has screen sharing APIs but they are different and require you do go through other programs like XDG Desktop Portal and Pipewire to allow the user to control such access. Similar this also means Wayland supports screen sharing just in different ways.

Anyway the important parts are:

- the implementation might differ, but the API doesn't (or at least not by a relevant degree)

- wayland requires you to go through specific APIs for screen sharing, scanning processes has little to do with screen sharing on either wayland or X.
Subtler is true...constant changes to the employee handbook...leaders being told in conference that their behavior outside reflects on the company, and to actively report those employees who are seen acting irresponsibly.

The social media stigma is also well known and reviled.

"We are watching" is the new normal.
Those of us with ADHD work in a non-linear way. An example of what I mean is writing in a word-processor. Everything is spread out in front of you and any part can be edited immediately as you follow inspiration after inspiration. Lacking inspiration, start reading and you will be inspired. We are good at inspirations.

Anything that lets you follow your inspirations is a good candidate. Anything that lets you refresh your focus with a quick glance is a good candidate. This includes: any writing career, any of the graphic arts, and improv performance. I find programming easy when I use disciplined structural programming and elaborate camel-case variable names.

In summary anything that provides random access to any part of a project and permits rapidly refreshing your focus with a quick glance will permit you to capitalize on the rich flow of inspiration that is your blessing.
It doesn't seem to address per capita income relative to cost of living.

I don't think astronomical income differences are a great thing, but if the COL-adjusted income is higher among, say, the bottom 25% in a city than in a suburban or rural area, that would be an important factor to take into account. Even more so if COL-adjusted income is lower since that would mean the poor are getting less than nothing.

Just looking at the income gap doesn't really tell the story though.
Agree with most of the observations but... what does climate change have to do with metropolitan inequality?

All other factors being equal, high city populations relative to the countryside should be more resource efficient.
A. I hope someone working on such apps reads this and does something about it.

B. I wonder if you can get some kind of gig work income that doesn't involve background checks.

C. I wonder if you might be able to develop some other source of income that doesn't involve background checks. (For example, I looked into panning for gold at one point.)

I'm sorry you are in such a pickle.
> Large companies have stopped giving administrator access years ago.

This is untrue for low-end enterprise. Orgs with up to 10,000 seats run weird shitty local-admin-required products all over the place, usually due to legacy.

In consulting, I would regularly run into core LOB apps that not only required local admin but "couldn't" run as a Windows service and required a user to be logged on with the UI window open in order to function.

You spend hours using the associated Microsoft toolkit & various shims to make the product function without, but there's always another business who just does it the lazy way.