skysight-inc/HackerNews huggingface dataset:
Show HN: I built an indie, browser-based MMORPG
I've been working on an MMORPG that is now in alpha as a solo developer.

Here are the major open source technologies that I use:

Blender - 3D modeling software for creating the overall environment and every game object. I've gotten a lot of CC and Public Domain assets from https://poly.pizza

GLTF - I export assets from blender to the GLTF asset format

JSON - I write a JSON config for every game object that describes things like its name, its interactions, its collisions, etc.

Node.js exporter - I iterate over the environment and every asset to create a scene hierarchy. I use gltf-transform for processing all GLTF files, compressing them, removing redundancies, etc.

Node.js server - Uses express and socket.io to process game state updates. It keeps track of every client's game state and issues delta's at each game tick (currently 600ms). The client can send interactions with different objects. The server validates those and updates the game state accordingly.

HTML/CSS/JavaScript/Three.js client - I use regular web technologies for the UI elements and three.js for the 3D rending on the browser. The client is responsible for rending the world state and providing the client with different interactions. All code is written in JavaScript which means less context switching. Performance seems to be good enough, and I figure I can always optimize the server code in C++ if necessary.

I am currently running two cheap shared instances but based on my testing, they can likely support about 200 users each. This is a low-poly browser based game so it should be compatible across many devices. The data a user needs to download to play, including all 3d assets, is approximately 2 MB, even though there are hundreds of assets.

Overall, it's been a fun project. Web development and open source software have progressed to the point that this is no longer an incredibly difficult feat. I feel like development is going pretty well and in a year or so there will be plenty of good content to play.
> It is hard to scale when there just aren't the incoming materials yet.

There are a huge number of businesses already doing this today - there is plenty of incoming materials from just old cars alone. The amount of aluminum in this stream will be increasing in the years to come however.

> I think we'll see a lot more growth in the recycling of EV batteries once more of this current generation of EVs are actually sent to recycling. They're just not very old yet, so there's not large flows of recyclable materials coming in quite yet.

Battery recycling is very important, and one of the obvious consequences of EVs becoming more prevalent. Several companies are already tackling this at scale though.

The carbon impact of _aluminum_ recycling is much more significant than battery recycling. That's what I was referring to in my previous comment. LIBS/XRF backscattering are fairly new technologies that enable fine grained sorting of aluminum alloys which should enable much more secondary aluminum to be used for high grade alloys.
> Bill Atkinson went on an LSD trip and had the idea for HyperCard

There's another (to me more plausible) story. Steve Jobs had plans for a 20MB hard drive, but marketing could not find users who wanted that much space. So Steve asked Bill to create an application full of graphics and sounds/media where people would build huge documents making floppy discs too painful.
And those priced out people are voting for right wing parties promising to cancel those taxes. Those right wing parties might not do that, but people on the left should not be surprised why EU is leaning more and more to the right.
Join Super AI Agent Hackathon at Stanford, Hosted by HuggingFace and Nexa AI
I tried to do this manually and it was partially successful, but a nightmare. Most people who want this seem to use and enjoy Kinto, which is supposedly very easy.

https://kinto.sh/
If the error is the sum of many little errors, as it often is in mechanical assemblies, it's approximately normal due to the central limit theorem.
I never even try to find things in the 2D grid of the old System Preferences app. I just use Spotlight, or any number of Spotlight replacements that support searching for prefPanes. I say this as someone who has used macOS for almost but less than 20 years: perhaps my first introduction to OS X was Tiger so I'm more accustomed to Spotlight?
Paul Allen's Living Computers Museum and Labs to Be Auctioned
I typo'd the number - it was 14.8M. But per the article it came from a company called Canalys.
Rocketicons Is Out of Beta
Finally rocketicons is out of beta! With the version 0.2.7 we reached a stable state and we consider it production-ready.Go ahead and add the best React icon component to your projects that works both on web and mobile, with the power of TailwindCSS
> That is the point. As you increase price, fewer cow units are sold because people don’t have unlimited money.

Or people might start voting for right wing parties promising to cancel these taxes. As just happened during last European elections.
The inevitable regulatory gaming:

>Because it can be difficult and expensive to keep sesame in one part of a baking plant out of another, some companies began adding small amounts of sesame to products that didn't previously contain the ingredient to avoid liability and cost. FDA officials said that violated the spirit, but not the letter, of federal regulations.
I agree that there's a culture problem, if the line at the DMV (which, who goes there these days, so much can be pre-handled online) is the worst government interaction you can think of, you're doing pretty well for yourself.
All the boxes must be checked. To whoever is unchecking them, please reconsider and come over to the checked side.
We have a database of ~50k companies right now. When you initiate a search, we identify "candidates" out of there to analyze for you. So, "candidate" is more of an internal word - we can update the designs to make that clearer. Then, we go through each candidate one-by-one to find matches.
It seems naive to imply the US has a less effective propaganda apparatus than Russia within its own direct sphere of influence. The idea that a country with 1/10th the GDP of the US outcompetes the US in propaganda delivery on its own pay-to-play media platforms doesn't make a lot of sense to me personally. Seeing any kind of anti-war dissent as influenced by pro-Russian agents seems like low-effort thinking. Being weary of an escalating proxy war with a high-manufacturing capacity, energy-rich superpower that historically has sacrificed large percentages of its population in total war is not inherently a pro-Russian stance; it's a common-sense stance that values life.
With the advent of generics, there’s no reason we can’t get libraries that wrap common objects.

As a thought experiment, I could see Optionals, Named Channels, Collections etc being implemented in some common but non-stdlib library. Of course now we’ve recreated all those languages people hate when they talk about go… but those features exist for a reason.
Aside from that excellent summary of features: the model of cards in stacks sending messages to components or up through a hierarchy was SmallTalk-inspired and enabled plain old people to do a kind of object-oriented programming long before there were any languages for it.
Does this not seem to rather imply that using the proton/windows APIs works well and is a good solution with many advantages?

Is the large portion of windows/mac/linux productivity software that targets chromium/electron an indictment of the immaturity of windows/mac/linux?
I don't understand that either. The original repo was owned by the Finantial-Times account [0]. For sure that account has not been sold.

I would love to hear how the deal was made to include the repository transfer. It is really surprising.

[0] https://web.archive.org/web/20230524161733/https://github.co...
With a number of open-core projects pulling the rug from under us recently: Terraform, Akka, etc. I'm with the parent - there's no way I'm building on a shaky foundation if you're just going to fuck me over.

And yes, I understand this is their choice, they need to make money, etc. But the real issue here is they're presenting their stuff as suitable to build your company on, then once you're reliant on them they start charging (big) money.

Just start out charging money and make it good enough to justify that, enough with the bait and switch.

Apple has an upfront revenue model, and I'm happy to pay for that (when I do). So does Datadog, so does Amazon. But don't pretend to live in the OSS world then want to also be a SaaS when you've achieved escape velocity. They're "succeeding" by destroying the relationship with the people that gave them that success.
Thank you, this is indeed true, though it's important to be aware of implementation differences - poll-based Futures that are "merged" into a single big Task like Rust, or continuation-scheduling granular hot-started Tasks like C#.

e.g. in C#, the following is true:

using var http = new HttpClient() {
BaseAddress = new("https://news.ycombinator.com/")
};

// Runs sequentially
var page1 = await http.GetStringAsync("?p=1");
var page2 = await http.GetStringAsync("?p=2");

// Submitted sequentially, everything after the first yield completes in parallel, IO does not block the caller
var page3 = http.GetStringAsync("?p=3");
var page4 = http.GetStringAsync("?p=4");

// Waits for page3, then page4 to complete, they are effectively parallel
DoSomething(page1, page2, await page3, await page4);

But in Rust, this requires explicit join handle, and if you would like to parallelize/fork the execution flow - you have to schedule a separate task. It requires more effort but in return you get lower async overhead, which is critical for areas Rust is applied to (and host-starting Tasks or Futures would not be easily compatible with borrow checker I presume).
I mean, the top comment wasn't talking about runtime characteristics, they were talking about the patterns resulting from using co-routines with messaging vs async/await.
If you're interested in learning more about Dappier, please try us out today! Any RSS feed or AirTable DB can today be transformed into a data model that lets you fine-tune any AI agent to become an expert in your data. Then, license that data in just a few clicks to monetize via Dappier Marketplace.

Please check out our upcoming ProductHunt tomorrow! Any feedback in terms of data models you'd like to see or other features would be greatly appreciated!

https://www.producthunt.com/products/dappier
About half of the people United States are on government supplied medical insurance, and most of the people in other countries are on some version of that.

It is cheaper for people to die younger and so we should be encouraging unhealthy habits if we want to minimize medical care costs.

In spite of it's near ubiquity, I am trying to avoid the phrase "health care" because that is, as another comment talked about, not really what we do.
I think long term there is no reason for Electrochemical Additive Manufacturing (ECAM) to stay expensive as it uses TFT display technology which is mature and electroplating solution is widely available. Maybe patents will keep it expensive.
Sync Threads <> Twitter with Ease
People talk about the 1x engineer vs the 10x engineer, but less is said about the -5x engineer who drags everybody down with them and makes them hate work.
What's vexing about it? The US has no pedestrian protection safety standard for vehicles. That's why the Cybertruck with its sharp and rigid corners is sold in the US but not in places with pedestrian safety standards, like Europe.
The Future of AI Chips Might Not Be GPU
You might want to make the content of a pdf as big as possible (e.g. to zoom/scroll less on an eink device). This tool could help, you could use it to remove margins or otherwise crop.
Thanks! Unfortunately same result
An Earthquake Changed the Course of the Ganges
After the USSR went down, the Stanford bookstore had a sign: "All communism 70% off".
It's definitely bad if you can't keep your preference.

> Changing the setting and closing the app caused it to reset for everyone here who tried it, and we’ll update this article if that changes.
You're playing with words to deflect from the argument. No one has to have proof that they have a criticism. They have to have proof that the criticism is as stated. The evidence is self evident given the OP post.

Many share my opinion, and I don't have to prove that. Nor should I, and neither do you for any position you have. Address the argument.
"Tens of thousands of people probably use it every day without thinking about it."

Probably tens of millions at this point.
Ah, thanks for the explanation. Unfortunately not something I can do.
> I don’t really know. The idea came up in a conversation last Friday and I felt compelled to make it.

That's probably one of these reasons that cross your mind to justify buying new domains. Which is an addiction to some folks (including me)
Tried and seems to work.

async function main(){
let elems = Array.from(document.querySelectorAll("#root > div > div.grid > div input")).filter(v=>!v.checked)
for(let ee of elems){
await (new Promise(resolve => setTimeout(() => {
resolve()
}, 500)))
ee.click()
}
}

main()
> This sounds backward and feudalistic to me.

Just because your emotions make you feel like that, doesnt mean there is any rational reason here.

The modern era has shown humans likely do not have free will, thus things like pop Media has disproportionate impact on democractic elections. Makes me think its regressive to think that popular outcome is the best way to decide things like justice. What makes you think that is better than a scientific approach?

At the end of the day, we want to limit pain and increase pleasure. What good is having a charlatan being president?
We don't scrape LinkedIn.

We use some basic tools to infer the LinkedIn profile link for each person's page (e.g. [1]), but we don't actually scrape linkedin.

[1] https://usefind.ai/companies/contraption-company/people/phil...
This is a big deal with fish passage restoration. Rectangular farmland led to dykes that straitened out streams and rivers. Straight waterways flow faster and wash away sediment. This makes it harder for fish to swim upstream while leaving fewer places to rest and spawn. There is a fair amount of restoration work going on in the PNW to try and undo this, and the results I've seen have been promising.
The next day, after the first marathon I'd run in Vaporflys, I said to my wife, "I don't think I ran hard enough." Oh, I ran hard enough, but super shoes really save the legs, such that you won't feel as beat up the next day.

And they do make me faster as an added benefit. :-)
agree with this - other industries like finance and law are much more greenfield
Evaluating Reasoning by LLMs Using the New York Times Connections Word Game
Rent a car for $30 a day and make money from your car when you're not using it
airleese.com is an on-demand vehicle rental marketplace that allows people to rent and lend out their vehicles. This allows users to make income from their vehicles as they are stationary 95% of the day. In addition, just like Uber or Airbnb you can book any of the vehicles on the marketplace on demand and collect it at an agreed location. You have an entire garage in your pocket 1 click away from you location. You are show vehicles in your local area on a google maps style user interface. Vehicles that can be listed can range from SUVs and sedans to

The vision for the for the company is a global ecosystem of seamless automotive access that can be harnessed with a smart phone by any person.

visit https://airleese.com to sign up for the first wave of users to book a drive.

thanks
I’m all for pointing out bad actors. You want to bring Israel to the party, fine.

But then, you should stay on topic. Did Assange publish any leaks on Israel?

Yes? That’s fair. No? Then we’re allowed to wonder why. But clearly you don’t care, it was just to throw whataboutism at me to show how biased I am.
> but the unpaywalled part

It's worth noting that as far as I'm aware, 404Media doesn't have a paywall, it has a sign-in wall. In theory, I think you can register and bypass it for free.
I think there's an important difference between the situations.

With (non-)Euclidean geometry, you have a bunch of axioms and it turns out you don't have to accept the parallel postulate even if you accept all the others.

With measure theory, you have a bunch of things you'd like to be true and it turns out you can't accept all of them at once.

Those are quite different.

On the other hand, the analogy between geometry and, say, set theory is closer. There are a bunch of axioms for Euclidean geometry, the parallel postulate seems a bit dicey, and it turns out that you can accept the others and lose that one. There are a bunch of axioms for set theory, the axiom of choice seems a bit dicey, and it turns out that you can accept the others and lose that one.

From this perspective, the role of the Banach-Tarski paradox is to help show why the axiom of choice seems a bit dicey, maybe more so than the other commonly-adopted set-theoretic axioms.

(In set theory, too, there are situations where we can write down a bunch of axioms we would like to be true but that actually can't all be true at once, just like with measure theory. Russell's paradox is the best-known example, and it led set theorists to abandon the otherwise very attractive axiom of "unrestricted comprehension".)
https://archive.ph/KgWf9
I'm confused about why we're comparing GOTO control flow with channels, since they're completely unrelated. I guess you can make a mess with each when you use them inappropriately? With GOTO, you should avoid it because there are better options (notably, conditional statements).

Unlike GOTO, there isn't really a better alternative for synchronizing parallel programs. Parallel programming (or even concurrent programming, for that matter) is just harder than sequential programming, and if you don't know what you're doing (regardless of whether you use channels or not) you're going to end up with a mess. Channels help to tame parallel programs, but they can't compensate for programmers who don't know how to write correct parallel programs.

And while Rust can prevent against data races, data races are a tiny sliver of parallel programming bugs. Far more common are race conditions and deadlocks, against which Rust is powerless.

> I greatly prefer programs that “color” functions sync/async, and that use small state machines to coordinate shared state only when necessary.

Async/await similarly doesn't solve the problem of undisciplined programmers making a mess. If you give undisciplined programmers async/await and shared state, they'll make a mess as easily as they will with goroutines and channels. If you're hiring people who can't be trusted with shared memory parallelism, then you have to take away parallelism or mutability or you have to train them to write correct parallel programs.
Wait wait wait.

M2 processors have 128 byte wide cache lines?? That's a big deal. We've been at 64 bytes since what, the Pentium?
May I ask why the URL was changed? This is a very different article, and the comments (including mine) seem pretty off, now.
If you don't use version pinning, you are rolling the dice every single build.
I think dotenv would be fine as long as it doesn't raise exceptions if no .env file is found, i.e. if it works just as a helper for local dev and as a no-op for production

I notice the dotenv docs are recommending dotenvx now in places: https://www.npmjs.com/package/dotenv#-manage-multiple-enviro...
The IRS is a perennial budgeting football for Congress, even though it's one of the few agencies for whom increasing their budget creates positive net revenue for the federal government; its enforcement arm is down 30% in staffing since 2010, with predictably dismal results.

As an anecdotal comparison, I had a fairly long-running issue years ago with the IRS over a minor problem (some expenditures got posted to one fiscal year for the IRS, the following fiscal year for the SSA, which created an imbalance in their systems), and I was able to promptly get helpful folks on the phone and via scheduled in-person visits. Now even my CPA can't get anyone to pick up the phone there. It's a disaster.
I have lived through all:

Rational Rose UML
RequistePro.
Doors.
Just plain prototype something through many iterations until is good then document.
Doxygen

All of the above except the prototyping a waste of resources more or less.

If I had my software shop (which I don't) I would expect a software module
to come with a README.md Which a brief explanation of what is is
and no more than 3 step instruction
for a reader to see the software module running and doing something useful.
The Game of Diophantus
Propaganda and the Common Good
> > Source Code In Database
> ?

Rather than think about specific closed environments (which may be an unavoidable consequence of SCID), I was thinking more generically about the issues. At the time, I was firmly in the Java large webapp space, so I was mostly thinking about how you could target a JVM.

In terms of the actual article, there's a bunch of links on Wikipedia [1] but I specifically was referring to an older version of this [2] article (I think, I don't remember it being as garish colours) and I think I found it via c2 [3].

None of these quite match up with what I thought I remembered which informed a lot of my thoughts back then, but I was mostly thinking about what the UI for such a system might look like because a nice friendly GUI isn't necessarily optimal for an experienced programmer who's probably happiest writing and seeing their code as a big chunks of text, and also how sometimes you want code that the linter would hate because you've deliberately formatted something to make it easier for humans to understand.

I was then thinking about how you could abstract and generalise statements and sub-expressions into small mini-functions that weren't complete functions per se, but more like templates. I spent a long time thinking how one might do code de-duplication by copying a graph of code, and then changing some of the nodes in a copy-on-write style thing, but decided there was no easy way of programatically deciding which part of the tree were being fixed due to a bug and needed to be shared with all copies, and which were just modified inputs or local changes. In terms of code, it's not that hard to do, but presenting in an intuitive way in a UI is much harder, especially if one of the goals is to make things easier for a novice programmer.

[1] https://en.wikipedia.org/wiki/Source_Code_in_Database
[2] https://www.mindprod.com/project/scid.html
[3] https://wiki.c2.com/?SourceCodeInDatabase
>replace foreign government

Like a CIA sponsored military coup? Or aerial bombing?
It also summarizes long voicenotes
You have 3+ times bad experience with Chinese stuff, but conclude that 90% of Chinese stuff are bad, so you only purchased Chinese stuff 3.33+ times? I don't believe it. Check all your stuff, especially the ones that you consider good. You might be surprised how many of them are Chinese.

BTW, for Chinese robotics stuff, I'd recommend you check out DJI, Ubtech, Clickbot and EMO robot, just to name a few. These are well-established brands. If you just get random stuff from some random kickstarter campaigns, yeah it has a high chance of ending bad (no matter it's Chinese or not).
> ...is any of this useful for anything? A musical ignition coil might not be...

Some Siemens engineers decided that if they couldn't get rid of locomotive startup leaking into the audio bands, they might as well make it sound like they meant to be playing it:
https://www.youtube.com/watch?v=DpMxETSV4K8