skysight-inc/HackerNews huggingface dataset:
SR2 is a little bit more serious than KSP, I'd say, but it's no Orbiter either. They use a smaller-size solar system (bigger than KSP though) by default (you can swap it out for a community created realistic system in-game), so you can still brute-force to orbit or build a SSTO and it will kinda work.

What I love about SR2 is the aerodynamics and the procedural parts. You can create an airplane and design its wings and control surfaces by hand, you can play with the center of gravity, custom fit it with a jet engine (by tweaking the compression and bypass ratios, adding or omitting an afterburner) and just fly some aerobatics.

You can use electric powered rotators and hinges, powered procedural wheels for cars and other cool stuff. And if everything else fails, your rocket is saved is a plain and simple XML file, so it's easy to just dig in and tweak some more.

On the other hand, there is no campaign yet and only a bunch of tutorial-like-tasks to get you started (take off, reach speed X, achieve orbit, hit the Moon with your spaceship etc).

I wouldn't say that either game is better, SR2 is just different and provides you with some more freedom and options than vanilla KSP.

Also KSP is Windows + Mac + Linux + consoles, while SR2 is Windows + Mac + iOS + Android, and the mobile versions are surprisingly playable (especially on tablets or larger phones).
What is needed is for people to start complaining when that happens. If you are on the bus and your lane is locked call the police. If it is a police officer get the car number and write in a formal complaint. You acting along won't make a difference, but everyone else on doing the same will quickly make your pressure known and change will happen so spread the word.
> The supplier is Taylor, which supplies ice cream machines to many other restaurants which do not suffer from the same problem.

AFAIK the difference is that the other restaurants machines don't self sanitize.

>The Taylor-made machine for McDonald's is deliberately designed to have a secret menu that only “authorized service personnel” are allowed to use

While I can see this being nefarious, I can also understand why they did it: they don't want franchisees to mess with the machine in a way that could compromise the sanitation cycle. For instance, one reason why cleaning fails is that because the target temperature hasn't been reached. If there was a temperature calibration in the secret menu, you could add a +20F degree offset to the thermometer, which would almost guarantee the target is met, but would introduce risk of food poisoning if the temperature is actually too low.
And sometimes the map is wrong but the sign is stolen or unreadable.
>According to the video other vendors like Wendy's don't have this problem.

because their machines don't self-sanitize.
Ah but duels are a different matter, they obey codes and rules and require mutual consent. Last duel in France was in 1958 actually.
In other words - it's not about making an argument to convince anyone of anything; it's making an argument that will make people who already agree with you feel better about themselves.

Truthfully that takes a degree of skill and it even has utility but as you say - it's best to see it for what it is.
Capitalist Havens of Free Speech
Surely random countries have legal rights to do most things they want to, since they make up their own jurisdictions?
Telegram: Payments 2.0, Scheduled Voice Chats, New Web Versions
> A game written in Haskell or Scheme probably has a main loop implemented via recursion, but it's still called a main loop

If such a 'main loop' is a single function which (a) dispatches to one of a bunch of 'handlers' then (b) calls itself recursively, I would still call it a 'main-loop anti-pattern'.

More formally, it's likely to be in "defunctionalised" form https://blog.sigplan.org/2019/12/30/defunctionalization-ever...

The problem with such 'main loops', whether actual loops or self-recursive functions, is that control flow has to keep doubling-back to this 'central dispatcher'. In the case of actual 'main loops' this is often an unavoidable consequence of lacking tail-call elimination. In languages with tail-call elimination, we're just over-complicating the problem.

> This sounds like a recipe for spaghetti.

The control flow for a 'main loop' program goes like this:

main function fooHandler barHandler
|
+------call-------+
|
+-----return------+
|
+------call---------------------+
|
+-----return--------------------+
|
...

If we have tail-call elimination, the handlers can just call the 'main loop' instead of returning (this is just a CPS transformation), e.g.:

main function fooHandler main function barHandler main function
|
+----call--------+
|
+-----call----------+
|
+------call----+
|
+----call----+
|
...

Even this simple transformation looks less like spaghetti to me. Calls to this 'main function' now have much more context, compared to "top level" calls to itself. Hence we can avoid special-cases and handler-specific checks migrating their way into the 'main function'; even if we want such things, we don't need to pollute the 'main function' itself (or defunctionalised intermediate data) with such cruft; we could just pass such things as extra arguments, from those call-sites which need them. Tugging at this thread, we'll often find that most of the 'main function' could be moved to its callers, and any remaining functionality may be better in a generic 'plumbing' operation like a monadic bind (the latter being a "programmable semicolon" after all ;) ).

> The "main loop" approach is much more conducive to the clean approach of "functional core, imperative shell"

I don't see why. The "functional core, imperative shell" approach is mostly about writing as much as possible using pure functions, then 'lifting' them to the required effectful context (via map, join/>>=, etc.); in contrast to the common approach of writing everything within the required context to begin with (e.g. making everything "IO" just because we need one 'printLn' somewhere).

That doesn't require manually writing a global "main loop". For example I like to use polysemy, where all the business logic can remain pure, and the `main` function just declares how to 'lift' the application to `IO`. Under the hood it uses a free monad, which dispatches to 'handlers'; but (a) that's all automatically managed, and (b) it recurses through calls spread across the application, rather than returning to a self-calling "main function".
The Archimedeans
>gevent is difficult to use when interoperating with code outside its runtime (e.g. if you have a callback that gets called from a C library)

True, but is this not also the case when using Python's native async/await functionality?

The difference is that async/await doesn't even work with previous pure-Python code which performs any I/O, either. There are thousands of ordinary third-party libraries which basically have to be tossed out the window and rewritten from scratch, despite none of them using any C extensions.

gevent works well with almost all of those old libraries.
I didn't know about Unreal C++ using a GC, but the others have extremely little use. So little, that C++/CLR (at the time) had a bug for at least 2 years where doing something like initializing a CLR List (CLR, not std::) with an initializer list (I have forgotten the exact syntax, but it is similar to `auto lst = new List<int>{a, b}`) would allocate millions of elements on the heap (if I remember correctly, it would create a List of size 0xC0FFEE, or maybe it was 0xDEADBEEF - either way, obvious debug code, then set list[0]=a and list[1]=b).
I got my first job with the help of DevCommunity
Use MLflow and DVC in open-source projects
Hello HN! DVC (dvc.org) and MLflow (mlflow.org) are two open-source projects that are very widely adopted, each for its own specialty. DVC excels at data versioning, and MLflow is used for many things (it's actually multiple tools combined into one), but mainly for its experiment tracking and artifacts logging capabilities. Both tools are open-source, but this doesn't mean that you can easily have an open-source project that uses them. You cannot share the data you versioned using DVC with the open world, and you cannot display the experiment page MLflow generated for you to everyone.
I joined DAGsHub a year ago, and I really loved the idea that MLOps tooling should also be made part of the open-source workflow. A few months back we worked on letting anyone with a repository use DVC to version large files that could be pulled by anyone. Over the path month, I've been working on an integration with MLflow tracking, meaning that your experiments are now a part of your project, and when you log metrics, they are visible by anyone that has access to the code. The permission dynamics make sense - If you can read the code, you can see the experiments. If you can push code, then you can log metrics as well, etc.
I think this is very cool, and it comes with a few bonuses:

1. Better UI for comparison - a repository can host multiple MLflow "experiments" and all the runs are comparable across experiments. This is not yet possible with the vanilla MLflow UI.

2. Integrating with DVC - If you work with both systems you can have real-time experiments with MLflow but then save your models and metrics as part of the next commit and see both of them in the same experiment table.

We're still not supporting MLflow artifacts, but this will probably come in the near future, depending on how necessary this is for the MLflow community.
I'd love to hear your thoughts
The demand in Montreal is... different. I'm in tech in Canada and I consider it from time to time -- Montreal, I mean -- and it's often a no-go. My wife is French-Canadian, ethnically speaking, and kinda interested, and I'd like the city all of the times we've visited.

Taxes are high in Canada but are the highest in the QC. By a lot. You get good stuff, like free or subsidized daycare, but you lose a lot of $$$ out of that paycheck.

COL in Montreal is low, but it's a cold place. Like, why go to Canada when I could go to Austin or the NC Research Triangle? Low COL means lower salaries. "Easier to be a human but harder to be a consumer" is what I've heard about COL and taxes in QC.

The CAD is weaker than the USD by around 20-30%, which makes it less cool for US-based devs. You can work around that by upping that CAD number, but remember the taxes are much higher and you'll be paying comparatively more, %-wise, at 210k CAD than you would at 150k USD.

Most jobs expect some degree of French, ranging from "learning but can get by" to "full-fluency in English and French". The city as a whole is kind of like that.

So yeah, of course there are jobs. They pay mediocre rates, need a second language, and mean you'll get taxed a lot. And if you're not in Canada, moving north presents logistical issues on top of months of snow.
a few more that I swear by:

site:greatbritishchefs.com site:greatitalianchefs.com site:seriouseats.com

WARNING: the last one usually has 2 pages listed for each recipe - the recipe itself, and also a "story" blog post - except that the "story" is also very useful (not "someone's life story" which is basically spam), because it explains the reasoning behind the method, different alternatives and the trade-offs between them, and the experimentation that it took the author to derive it
Don't Share Your $Home with Untrusted Guests – Zero Day Engineering Blog
For sure, I haven't said otherwise.
In this specific case perhaps but not in general - consider for example a circle with a radius of one light year centered on the Earth.
To put it into perspective, the price they charge per dose is 10% of monthly minimum wage here.
The great moose migration – internet at its finest
>There is no inlet on my end for this BAT without the cruft of me setting up whatever is required

>I can send you a file with scp trivially right now.

You'd still have to set up "cruft" for that as well. Generating private keys, enabling port forwarding, configuring sshd, configuring firewall rules. I don't see how setting up some crypto wallet is unreasonable in comparison.
> As the developer of that function, I can't reasonably make that choice beyond "probably". But it comes with a cost. The caller can't now just call it: they have to await, and perhaps unbox the answer. If they're only calling it once then you've just added unnecessary complexity to their code.

> The _callee_ is the one who's appropriately placed to decide. Using the example, we're calling it 3 times. So, as the developer writing the _calling_ function, I can decide that it's appropriate to paralellise.

The right answer is polymorphism, and it's easy in a language with HKT (I do it in Scala all the time). If you make every function implicitly async (or possibly-async at the runtime's discretion) then you lose the ability to know where the yield points are, to get higher performance from blocking where appropriate, but more than that you just don't get consistent performance behaviour.
I agree with you, and I was not blaming the users/the workforce. As you said it is a fact of the industry.

McD is known for making their processes simple and repeatable and it seems the machine is failing that paradigm.

(And oh well, my comment was speculative and made before I saw the video, the users really can't do much when the company hides information from them - though we don't know exactly how the procedures are laid down in the manual and how they can be improved. it's one thing if the manual says "fill this up and press the button" another if it says "fill this up to this line and check A, B and C before pressing the button")
The"spontaneous work" theorized by Che Guevara can lead us to a time-cycle free way of life. Im pretty sure life was organized in a communist or socialist way in this cave : no boss, no social classe, and the belief than everyone in the cave walk toward a common good by achieving voluntary usefull job.
Shameless plug: mann helps your remember command line args.

https://github.com/soheilpro/mann
I wonder if there was a pattern or analysis of tamagochi sales success by country.

I certainly read about Tamagochi growing up...but i hardly saw one or heard of friends owning one.

Curious if these prospered in countries with free trade agreements with Japan? Or just the right distributor? Or something else entirely?
Or maybe their model is wrong.

To say that reality is wrong when the reality doesn't match somebody's model is peak absurdity
Thanks for sharing that, it was very powerful. I was lucky enough to be born a few years before Chernobyl, but I have a close friend who was born just after and who also has some congenital non-standard body-related "things".

Maybe it is all a coincidence, fact is many (if not almost all) of these individual stories haven't been statistically collected and analysed, it's just a "hidden continent" of very sad personal stories that will be forgotten once the affected people will no longer be alive to tell them.
The trivial way to unify all camps is to view it from the lens of expressionism/self-expression.

Mathematicians want to express equational reasoning/identities.

Computer scientists want to express computations.

Translation/bridging the gap will be a whole lot easier when both camps answered the trivial 'Why?' question which contextualises the reason for doing whatever it is that you are doing.

People without shared goals have the tendency to speak right past each other.
supermarket home brands don't often say "This is exactly Cap'n Crunch"
Trains don’t have to be that way either. Also political decisions that have made it so.
Confirmed: I've spent a long time trying to start a career in journalism in the UK and it is simply not possible. Freelance rates have hit close to zero unless you already know editors in person. Jobs are increasingly scarce as newspaper staffs shrink. Local papers which once had fifty employees will now have ten or fifteen. The descent has been brutal, the result is the foreseeable end of journalism as a fully fledged profession. Well, for those who don't know editors personally.
> Thread-based code (CSP) is, after all, the most well studied model of parallel computation, and for a reason. Async code which achieves real parallelism may get much harder to interpret, especially if it's non-trivial (e.g. requestA.then(requestB).then(requestC); in parallel, requestD.then(requestE); and mix this up with mild processing between A and B and C, and between D and E - you can easily get to race conditions in this type of code even in single-threaded runtimes like NodeJS).

Huh? Traditional threading is not CSP; threads are generally defined as sharing memory. Async is much closer to the CSP model.
> Some cpp structures do allow for custom allocators,

Yeah, that's what I was thinking about, but my only knowledge of allocators comes from gcc error messages which include all the template parameters - I have no idea how they work or how to switch to another one :(

I get the idea, though, it's basically what Erlang does for its processes - each one has a "private heap" just for it. If the process exits, the whole chunk of memory can be reclaimed and there's no need to run GC on it anymore (there's no sharing of memory between processes in Erlang, at all, so it's safe).
Probably a better analogy is that the back door to the evidence room that leads outside has been unlocked for an extended period of time.
> The original goal behind the UN's creation was to maintain lines of communication between superpowers during tense periods and to create basic standards like defining basic human rights. I would like that to remain its purpose.

The problem is: we, as collective humans, now have pressing urgent problems that can only be solved collectively and not on a national level. Climate change as the most obvious elephant in the room, international tax evasion and other issues relating to international mega corporations, erosion of trust in media and science, religious and ethnic extremism sending many countries into conflict, enormous poverty and wealth disparity, countries essentially taken over by criminal gangs - solving these conflicts needs some form of international cooperation.

And right now, there is only the UN as some sort of global discussion forum we have. The time for stalling is over, the world needs action.
It's a minor but important part of the profitability picture. While this is much less true today, one of the core concepts was always that McDonald's could execute things at scale no one else could.

Now there's a ton of competition and specialty shops, but in the past this wasn't always the case. A small town might only have one other location where you can get "fresh" ice cream. If you can execute on this machine properly and you have the market to support it they can be huge profit makers.
They did a bad job then, since they still work.
Agreed. But if you analyse things then it's likely people use those facilities at a secondary level - eg you get something done for you by people who used schools to enable them, someone who provides value to your life used the healthcare services.
It doesn't. And the sign seems to pop up after I pass a speed limit sign.

EDIT: Here's info on it.
https://www.dowhonda.com/2017/11/17/traffic-sign-recognition...
In this "async/await vs. threads" debate (which is primarily what this debate is about), I'm very interested to see what happens with Project Loom in Java. The primary downside with threads is really the thread-per-connection model, and how that means long-lived connections can prevent a server from scaling.

If you can solve that problem, the appeal of single threaded languages with an event loop like Node really takes a hit.
The obscured threat doesn't have to be worse than the overt one for a parable to be applicable.

In fact, almost any allegory deliberately uses fantastical imagery to illustrate a point, because it's easier to point to something when the contrasts are higher.

Are you suggesting that Godzilla can't be a stand-in for Hiroshima simply because a literal Godzilla would be worse?

The commentary on erosion of trust was political then and would be now, even if the backdrop has changed.
I read these findings rather differently. The "expanding balloon" spacetime predicted from GR may absolutely be in question. It appears every type of measurement confirms a discrepancy in the Hubble Constant with respect to distance. Though none of the results from different spectra agree with each other. As new observations from next gen wide array sources such as the Vera Rubin Observatory and James Webb Space Telescope come online, the risk is that the overall picture becomes less clear with higher accuracy ;)

New Distance Measurements Bolster Challenge to Basic Model of Universe

https://public.nrao.edu/news/challenge-model-of-universe/
I have an Audi that has both speed limit info and stop light info in the dash. I know for a fact that it uses the camera for the speed limit signs as it will interpret school zone areas. Sometimes it misses the “end school zone” sign or not recognize the yellow border around the school zone begin sign. You can see the display become out of sync with the road conditions until the next speed limit sign appears.

As far as the stop light data, that’s fed into Audi through a select number of state DOTs (mine is one of them). It’s almost magical that it can tell you when the light will turn green.
Starlink Is a Global ISP Built at Zero Cost to SpaceX
Google page ranking depends on how long people spend on the webpage, so if you have to wade through longform text, it mistakenly assumes that the content is quality.

Note that most recipe blogs are fake. Someone wrote the original content long ago. Then, someone else hired a copywriter off a freelancing platform to change the words of the text just enough to avoid copyright violation, then put up a new copycat website loaded with SEO and ads. Look closely and notice how the author’s bio says e.g. "Born and bred in Lousiania and I love to share southern cooking", but the text contains grammatical mistakes typical of Eastern Europeans or Southeast Asians.

The ecosystem is already so advanced that new copycat recipe websites are often based on previous copycat recipe websites.
I mean Stack Ranking is still a thing in a lot of places.

Couple rotations through the ranking process and if you're not jumping you're on the way out. Smart devs will read the room and find a new gig before then.

Netflix also offers amazing, most-cash, compensation, and demands results up front. Throw 300k cash at me and I'll play those games for a while, too.
A fair amount of people will adjust their working hours to get a reasonable commute. They would prefer to work 8-5 (because that is what the day is setup to be - at least one friend (or their kid's school!) is on a fixed shift that cannot change, so matching shifts makes sense as it means the most time outside of work. However if that ideal time is too crowded they will adjust to a more reasonable compromise for their situation.

That is why rush hour exists. In Des Monies it is more like 15 minutes, in Minneapolis it is several hours. The idea is the same though: the time when the most people are trying to get someplace at the same time.
I literally never heard of it used in a women-explaining context.
Farming robot kills 100k weeds per hour with lasers
> Most of these tools come with a --help or -h switch, that tells you the options available, with a short explanation of what each does.

Please don't do this by default unless you're sure such a command supports that flag otherwise you're literally just running unknown commands with unknown consequences.

The first port of call should always be `man` and not `--help` like the article suggests. Aside from that, the article looks good.