skysight-inc/HackerNews huggingface dataset:
I would probably daily drive FreeBSD or OpenBSD if the desktop situation was better. I don't know how people survive open-source desktop environments.

I've spent the last couple of weeks trying to build a reasonable HiDPI desktop environment on a variety of open source platforms and nothing has the level of fit and finish I am looking for. So far I have been happiest with Elementary OS and their treatments to Gnome... but it preturbs me that getting a new rig setup is so fickle and unrepeatable. You can spend hours tweaking shit and experimenting with no reasonable way to save your changes to be applied later to a clean install or even a different platform. I wish I could check my entire configuration into git.

Would love if the hackers here would share their FreeBSD (or any Nix) desktop environment configuration (including window manager etc...)
FreeBSD is the reference for OS X, but they used different kernels. Many of the BSD flavored behaviors are/were retained, however.
> WhatsApp employee would have leaked it on HN already

Employees don't need to be aware of the backdoor if they aren't the one's listening.

At least, I assume Whatsapp is already compromised by some state actor and Facebook is getting some kind of funding to look the other way.
> [..], just compile once, run everywhere

>I have the feeling I already heard it...

If you are referring to java then something to note is

> Use the tools you know and the languages you love.

> Compile everything to WebAssembly.

> [..] embed it into other languages.

Which to my understanding apply only marginally to java; especially the embedding part.
Arcade Spotlight: Sega Rally Championship
News Guidelines:

Please don't comment about the voting on comments. It never does any good, and it makes boring reading.

https://news.ycombinator.com/newsguidelines.html

Commenting on votes will only make you get downvoted more, regardless of how virtuous your comment was.
Spark Delta Lake: Updates, Deletes and Time Travel
Another statistic to keep in mind is that the bottom 80% have a basically negligible amount of money in the stock market.
Turning an AWS Snowball into a legitimate object storage server using MinIO MC
That trick with the edges is a pretty good value add, since a lot of people don't really care about the actual age or history of the book, they just want their bookshelves to appear neat.
Americans hid Boeing's role in 2009 Turkish Airlines plane crash: NYT
I always struggled with linux, because there's so many of everything. It's too much choice. I don't really have many sysadmin skills and discovering FreeBSD has been a blessing for me. When I have a problem the documentation is... IDK, consistent? It's like I can follow it, and it's useful, same with forums and the helpful community.

I'm so thankful, honestly. I finally can have my VPSs without feeling like I'm dumb or I need to devote so much time and effort to sysadmin skills that I don't have nor I enjoy.

I still use Xubuntu in my laptop and Windows in my desktop, because of the lack of drivers and because they work out of the box (well, almost with Xubuntu), but still, for some reason I really feel confortable with FreeBSD, and this is coming from someone who just wants to spin DBs, sites, and cron scripts, and I don't have enough knowledge to appreciate jails and so many other things that other people likes about FreeBSD.

So guys, thank you.
Nothing in this thread should affect your personal decisions, except the things about obesity and being sedentary. Don't do those things.

Human body temperature varies naturally by about 5 degrees F. This study is talking about a .4 degree change. At the very least, your body can definitely handle it. This is purely an interesting phenomenon that may not even be real.

Aspirin is very well-studied and definitely known to be very beneficial for your lifespan and quality of life. You should absolutely not throw away all that knowledge because it may be tangentially related to arbitrary theorizing (about inflammation) on a strange result on sketchy data from uncontrolled groups with unknowable biases. Medicine is proven to be good for you. Even if it does have unknown negative effects -even if this is an effect that we don't know about, that may not even be bad- you should not disregard medical wisdom for the sake of what you don't know.
Sorry but this is just false. Everyone has "cancer" all the time because these "mistakes" happen all the time. The reason why someone gets the medical condition, "cancer", is because for some reason, the immune system stops cleaning up these rouge cells. That could be a huge infection or injury, general decay of your body, etc, causing a cancer clump to form. Once cancer reaches a certain size, it will develop mechanism, like acidity, that will inhibit immune response regardless of whether the immune system would now classify the cancer as a threat. In any event, cancer is a very complicated condition, with many different causes. It's unlikely there will be a one-size-fits-all solution.
He must have been around 60 by now. We're getting old :-)
DarwinBSD was/is the base of MacOS but many will argue that it is its own `thing` now.
this is a common misconception. no, it's not.
I'll go and say that, outside of the great work from the creators in the development and marketing of the language, the main difference between those Lisp based languages and Julia in terms of attracting people is the syntax. Julia focuses on being approachable to Python, R, Fortran and Matlab programmers (since those already "won" by the time Julia was created), and it wouldn't be able to convince any significant number of those to even check the language without looking like Python, R, Fortran and Matlab (even when S-expr is indeed more elegant and powerful). Julia base syntax is closer to how people write math, so it's more familiar even to people who are not dedicated programmers which were part of Julia's target audience.

And when people discover the lispiness in Julia which is a thin layer below the surface syntax (such as the metaprogramming system and multiple dispatch) they at least already gave the language a fairer chance. Other languages that borrowed from Lisp but didn't go, to different degrees, with s-expr like Scala and Clojure (plus R) also had success in the data science/ML area. Hopefully Nim also gets a foothold, and possibly Racket with optional infix syntax.
When I was a kid, I remember going to a small hobby store to buy a couple of bottles of paint. The bottles were $0.25 each, and I had exactly $0.50. I took my bottles to the register and was told the total was $0.51, because of sales tax. So I only purchased one bottle, and the total was $0.25. As I was leaving I realized that the tax had been wiped out, so I went back in and purchased the second bottle for $0.25 too.

These days it's common to find pennies on the ground because they aren't worth the effort to bend over to pick them up. I pick them up anyway, because I still remember a time when they mattered.
Nowdays its more probable that one dies because of buggy software (Boeing MCAS) than get eaten by lions.
Perhaps it’s not always a new heuristic that is needed, but a better way to manage the externalities around current/preceding heuristics.

From a “knowledge-searching” perspective, at a very rudimentary level, it makes sense to look to sites/pages that are often cited (linked to) by others as better sources to rank higher up in the search results. It’s a similar concept to looking at how often academic papers are cited to judge how “prominent” of a resource they are on a particular topic.

However, as with academia, even though this system could work pretty well for a long time at its best (science has come a long way over hundreds of years of publications), that doesn’t mean it’s perfect. There’s interference that could be done to skew results in one’s favor, there’s funneling money into pseudoscience to turn into citable sources, there’s leveraging connections and credibility for individual gain, - the list goes on.

The heuristic itself in not innately the problem. The incentive system that exists for people to use the heuristic in their favor creates the issue. Because even if a new heuristic emerges, as long as the incentive system exists, people will just alter course to try to be a forerunner in the “new” system to grab as big a slice of the pie while they can.

That’s a tough nut for google (or anyone) to crack. As a company, how could they actually curate, maintain, and evaluate the entire internet on a personal level while pursuing profitability? That seems near impossible. Wikipedia does a pretty damn good job at managing their knowledge base as a nonprofit, but even then they are always capped by amount of donations.

It’s hard to keep the “shit-level” low on search results when pretty much anyone, anywhere, anytime could be adding in more information to the corpus and influencing the algorithms to alter the outcomes. It gets to a point where getting what you need is like finding a needle in a haystack that the farmer got paid for putting there.
It really depends on the type of book. muzani might be thinking novels, while you could be thinking textbooks.
"1 in 13 children in sub-Saharan Africa died before reaching her or his fifth birthday" (2018)

You can say that's Whataboutism, but for most of history losing a child was what happened to most people.

So calling the sadness and awful experience from a miscarriage 'long-term post-traumatic stress' might be technically true one in six times if physiologists say so (not sure they have, the BBC has), to me that just further stigmatizes what is a sad but common occurrence no one talks about and implies we all live with trauma which can't be healthy to keep shoving down our throats.
Thanks for linking to the guidelines! I deleted my tweet about it. I'll wait to see if it goes to Hacker News by itself then :)
> You can write the shittiest spaghetti code in the world, and if you never have to build upon - or touch it again - you took on zero technical debt.

I don't really agree with this view; it may seem pedantic, but I think it's better to consider that case as tech debt.

In my experience, it's incredibly uncommon to write code and never touch it again -- particularly if you elect to cut corners in the interest of getting something out the door quicker. That code inevitably either gets retired because it's not being used (your debt was forgiven), or gets built on top of (your debt starts to compound).

If you make a decision to lower the quality bar because "we are not going to touch this again, so it's not tech debt, so it doesn't matter", then I think you're fooling yourself. Instead, I think it's better to assume that you're taking on tech debt (you almost certainly are), apply all the best practices around managing that debt (i.e. catalog it, be aware of your overall debt level, and be aware of tech debt in critical systems), and be happy if your debt is later forgiven if you miraculously never need to touch that code again.

Maybe there's a narrow sense in which this position is technically/semantically correct, but I think more often than not, this position is going to hurt you more than it helps.
It's probably not even so much because of overselling which I don't see a lot of these days at least where and when I fly. But, if travel goes sideways because of weather/mechanical issues/etc., as far as the airline is concerned it's the ultimate destination it needs to get you to.
- Why is the nature of reality so compressible into clean beautiful equations that are for the most part simple?

- The only things that physicists are interested in are the ones that are simple enough they could describe it mathematically but as soon as it's sufficiently complex system that's outside the realm of physics, that's biology or whatever have you...

So true!
I'm surprised enough IPTV users would want to pay for a service like this, especially if IPTV is mostly pirated content (sorry if that's not an accurate description).
If I want lot of work and an amazing operating system, I'd' ve built an operating system myself.

Since I'm a person with a job, run serious things and has a deadline, I use linux.
Big tech’s quest for human-level A.I
> Don't go looking for beefs.

You can't even post a question on StackOverflow without creating a beef (e.g. "Why would you want to do that?")
That's not really to you to decide why someone want to keep his sexuality a secret. His family could hate him.

You can see it the other way: why would gawker reveal this if not to cause a but of malice.
Stuff like this gets used in cancer treatments, too, with combination therapies [1].

Even more interesting are drug holidays: cancer becomes resistant to drug A by evolving a new clone that uses some other metabolic pathway unaffected by the drug but is less efficient. Stop drug A, the first more efficient clone takes over again. Give drug A again and there is no resistance for a while.

[1] https://www.oncode.nl/news/one-two-punchmethod-published-in-...
I had something similar, to the point where I didn't really know anything about the people in my team. One small thing that can help a little is to spend more time on the small talk in team meetings and video conferencing. "The weather is good today" is cliche, but a good segway into "I might take my bike out for a ride around town", and maybe a chat about what type of bike you have etc...
Long time Lastpass user here - good god their UI is terrible. It really feels like a first pass to get the functionality working and then they just gave up. Kept up hope for the last like 5 years that it would get better. I should probably just start looking at alternatives at this point. Only reason I haven't is that my vault is a mess and I'm not looking forward to organizing when I finally move it.
In Australia we have Sands
https://www.sands.org.au/miscarriage
> England and his colleagues compared climate simulations both with and without the mass emission of CFCs that began in the 1950s. Without CFCs, the simulations showed an average Arctic warming of 0.82 °C. When the presence of ozone-depleting compounds was factored in, that number jumped to 1.59 °C. The researchers saw similarly dramatic changes in sea-ice coverage between the two sets of model simulations. By running the models with fixed CFC concentrations while varying the thickness of the ozone layer, the team was able to attribute the warming directly to the chemicals — rather than changes these substances caused in the ozone layer.

Interesting to see such fundamental and potentially paradigm-changing studies come to light now. About half of the Arctic warming could be due to CFC's. And, strangely enough, not due to ozone depletion, but rather the CFCs themselves.

Later:

> ... A stronger argument could be made, she [scientist at Goddard] continues, if the team had been able to provide a clear physical explanation for the modelled amplification.

It's also not clear from the article whether only the Arctic itself was modeled, or if the effect is restricted to the Arctic specifically.

One more thing isn't clear: whether the model accounts for decompositions of CFCs, and the effect of the resulting byproducts on temperature.

The research paper's abstract doesn't offer an answer:

https://www.nature.com/articles/s41558-019-0677-4
> IQ, hilariously, is a supposed "biological" attribute, and yet has been shown to be more about one's acculturation into the proctors' cultural memes.

Can you post a source for this? As far as I'm aware, IQ is one of the best understood and well studied metrics in human behavior, and it definitely has a large genetic component.
Sorry, I just got back from a long vacation. For users still on C-front, what benefits are to be had by moving to a compiler supporting std lib coroutines?
What is the theory here with MR1? They say it’s a metabolic indicator, but it’s a MHC. Looks to be involved with B3/NAD. Does a cancer cell just run out of NAD so MR1 doesn’t get presented?
KDE has the best HiDPI support I've seen, but I don't really care for KDE itself and as soon as I step outside the QT ecosystem all bets are off.
Previously https://news.ycombinator.com/item?id=14091630
TBH, I think that’s as much accidental as by design. ObjC didn’t do generics until just recently, so the standard collection classes (NSArray, NSDictionary, etc) couldn’t specify element types so had no choice but to leave those APIs typed as `id` (effectively `void`).

Also, being a C, you still have to declare* all the types, even when only `id`, which is tedious AF. Also-also being a C (which doesn’t so much have a type system as a loose set of compiler directives for allocating memory on the stack), it’s not as if declaring exact types does much to improve program correctness. You can still stick any old object into an `NSString*` at runtime; it just dumps stack when you try to send it an NSString-specific message is all.

Oh, and one more: the ObjC compiler can have trouble recognizing selectors (method calls) when the receiver’s type is `id`. Being a C, obviously you have to import all the headers just to use them at all, but if in searching those headers it finds two method definitions with the same name but different parameters then its superficially Smalltalk facade quickly breaks down. (I’ve run into this, it’s very annoying.)
Seen this posted here years ago. Now as then, my gut feeling is that anyone doing serious work in C would never use something like this-- I feel like the fine grained low level control is exactly the reason they chose C in the first place, and they're not looking to escape from it or they would just choose a different language.
My experience with FreeBSD started more than 20 years ago when I built my first home file server, managing a whopping 200G of storage (huge for the time).

Since then I built several more generations of file server, all running FreeBSD and all absolutely rock solid. They all typically had a 3-5 year service life, with uptimes of 1-2 years at a time. Each of them were only replaced for capacity reasons, with the previous generation server typically serving as a backup target for the next one.

Around 2002, broadcast and cable TV was still a thing, and rudimentary PVRs were becoming available but were pricey with few features. So I decided to build my own.

I started with Linux, thinking that it would provide better hardware compatibility, but stability issues soon drove me back to FreeBSD, and I managed to create a very complete FreeBSD based PVR solution, complete with remote control, automatic program scheduling, multiple simultaneous recording and viewing streams, auto DVD ripping and very intuitive remote (web) and onscreen user interfaces. That thing ran rock solid for 10 years, until replaced by Netflix.

I guess the point I am trying to make is that I fully agree with the author. FreeBSD is in a different league than many other operating systems in terms of capability and stability, while being surprisingly compatible with a lot of hardware.
I wonder if its all cuttroat sun tzu ... it gets old here tbh.
Why not just C++?
It's not "employee doing something questionable"... it was their entire business model.
I agree that it's important to find something better than the laptop keyboard. Even a £2 keyboard will outperform it; position is critical.

Split keyboards solve the problem of ulnar deviation. This doesn't affect me as much as other RSIs, so I don't optimise for this.

I am convinced that technique can compensate for more strain than equipment can. Keep wrists straight, use gross motor (shoulders, arms), work with gravity (in fingers and in arms). Relax.

Bad keyswitches can force you to put in extra effort. But good technique, positioning and furniture can get a lot out of a budget keyboard.
Research needs people at the entire spread of the spectrum - from those making fundamental improvements to underlying theory, all the way to people running the thing to see if it works on actual problems people have (obviously in a robust and verifiable way).
This seems to be one of the effects of Mozilla laying off 70 people last week. https://news.ycombinator.com/item?id=22057737
Ask HN: VAT and sales taxes for small SaaS
Hello fellow HNewsers.

I would love to learn how you handle VAT (Value Added Tax – and other applicable sales related taxes) for your small (or large) SaaS businesses.

For example: the VAT rules are quite complex in the EU. The rate you pay is based on the location of the customer, rather than where you are located. In some countries elsewhere I know there to be a threshold you need to reach before you have to start paying. Additionally it seems the rules and rates keep changing.

My question to you is:

- Do you handle this yourself? If so, how much time does it take?
- Do you outsource it to a third party? If so to whom, and would you recommend them?
- Do you altogether ignore it, and hope you won't be caught?

When first becoming consciously aware of the need to collect the applicable taxes myself I was quite surprised to find it wasn't something companies such as Stripe handles for you out of the box. It seems like a no-brainer service for a payment provider to handle?

There are services like Paddle which act as the merchant and deal with the taxes for you. Paddle comes at quite a hefty premium though (5% + 50c/transaction – meaning if you have a subscription price of 5EUR and sell to a customer in a country where the VAT is 20% VAT, the maths end up looking like: 5 - 20% - (50c + 25c) = 3.25EUR going to you. In other words Paddle effectively costs you 15% of the sales price...). The premium might of course still be worth it given they deal with all the bureaucracy.

Thanks for your time and suggestions!
It's about the angle your left wrist makes to hit that top row. If you only extend your fingers linearly, keeping a staggered keyboard aligned with a "neutral" left wrist means basically a 90° angle. Anything less and you're twisting your wrist horizontally.

For me that's the most painful, and anecdotally I hear twisting your wrists is a notorious contributor to injury. But, as always, do your own randomized controlled trial if you want to be sure :)
Technical Debt is a term used by non-professionals as a euphemism for their own incompetence. I say this not to cut people down but with all due desire for us to get better at our work.

It's a lot harder for someone to say "I didn't know how to solve this" and much easier to say "It would take longer to solve it the right way." Because of this you should take claims fo "Technical Debt" with serious suspicion -- and given how fuzzy the general concept is and how enabling it is, I think the proper response is to find it useful far more for personal ego management than as a respectable tool for thinking about execution of software projects.

There is no innate conflict between solid decision-making in a software system and execution time. Generalizations take longer but generalizations or lack thereof do not imply sound architecture; this is orthogonal concerns. But solid execution (decoupled components) is a skillset question. In fact if you have the skillset it often takes longer to make a bad decision.

Technical Debt doesn't respect this (i.e. skills/mastery) and is only good for deflecting from our incompetence and thus keeping us from acquiring the necessary skillset.
Startup Investment Needs (Survey)
I started a little research study of the needs of startup founders in investment. 22 questions in 4 blocks (5th block - with thanks) will not take more than 7 minutes.

https://forms.gle/Dvz2xCggPAHwSAQSA
It is, and also less useful
Speaking for myself, I’ve never found C++’s complexity appealing, and it only seems to be getting worse over the last 20 years.

As the creator says, it’s not for production use. If I’m doing a side project, I’d give this a serious look.
Not as cool, but https://www.eightydays.me/ is really convenient to book multi-city trips intra-europe.
“The most lasting and effective way to change your life is to change who you’re surrounded by.”

I think this is somewhat obvious. I have been hearing this from my dad since I was a kid. “Choose your friends wisely, they become your destiny”