HN user

pc2g4d

2,029 karma

Blog/ActivityPub: https://joshhansen.tech

Posts28
Comments792
View on HN
news.ycombinator.com 2y ago

Ask HN: What would it take to make a robot vacuum in the USA?

pc2g4d
13pts18
news.ycombinator.com 2y ago

Ask HN: Where are human/resident/citizen-only online convos available?

pc2g4d
3pts1
news.ycombinator.com 2y ago

Ask HN: Electricity Rate Arbitrage?

pc2g4d
4pts10
www.youtube.com 3y ago

Two Minute Papers: OpenAI's ChatGPT: The Future of Teaching

pc2g4d
1pts0
news.ycombinator.com 3y ago

Ask HN: Tech work that strengthens liberal democracy

pc2g4d
8pts11
news.ycombinator.com 3y ago

Ask HN: Mirror of GitHub?

pc2g4d
1pts1
news.ycombinator.com 3y ago

Ask HN: Native Cross-Platform Containers?

pc2g4d
2pts0
news.ycombinator.com 3y ago

Ask HN: When is it time to market your app? And, how fast?

pc2g4d
4pts3
news.ycombinator.com 3y ago

Ask HN: What are the best environments for differential programming?

pc2g4d
4pts2
news.ycombinator.com 4y ago

Ask HN: Evolutionary Operating Systems?

pc2g4d
2pts1
news.ycombinator.com 4y ago

Tell HN: Optimization is only premature when the expected profit is negative

pc2g4d
4pts8
news.ycombinator.com 4y ago

Ask HN: What's exciting in networking?

pc2g4d
18pts4
news.ycombinator.com 4y ago

Ask HN: Is Security Possible?

pc2g4d
10pts16
news.ycombinator.com 4y ago

Ask HN: Is HN Politically Radicalizing?

pc2g4d
10pts18
news.ycombinator.com 4y ago

Ask HN: Decentralized Dating Protocol?

pc2g4d
1pts2
news.ycombinator.com 4y ago

Ask HN: Whole genome sequencing without ending up in a database

pc2g4d
3pts0
news.ycombinator.com 7y ago

Ask HN: Should I jump to OpenJDK 11 now that support for 8 is running out?

pc2g4d
13pts4
news.ycombinator.com 7y ago

Ask HN: How worried should I be about electromagnetic radiation in my home?

pc2g4d
5pts4
www.rxinjuryhelp.com 8y ago

MRI contrast dye is poisoning ecosystems---and people

pc2g4d
2pts0
internethealthreport.org 8y ago

Mozilla's Internet Health Report 2018

pc2g4d
2pts0
news.ycombinator.com 8y ago

Ask HN: Mozilla Persona Post-Mortem

pc2g4d
79pts14
www.theverge.com 8y ago

Wi-Fi security has been breached, say researchers

pc2g4d
2pts2
news.ycombinator.com 8y ago

Why isn't identity handled by the browser?

pc2g4d
15pts4
medium.com 9y ago

Bitcoin finds a way forward

pc2g4d
2pts1
www.youtube.com 9y ago

Kotlin – Ready for Production

pc2g4d
1pts0
www.w3.org 9y ago

Preparing to Advance Payment Request and Payment Handler APIs

pc2g4d
2pts0
thenib.com 9y ago

Want a New Emoji? Good Luck

pc2g4d
3pts2
gigaom.com 10y ago

Gigaom is coming back

pc2g4d
1pts0

Meanwhile my Wordpress blog on DigitalOcean is up. And so is DigitalOcean.

My ISP is routing public internet traffic to my IPs these days. What keeps me from running my blog from home? Fear of exposing a TCP port, that's what. What do we do about that?

I live by myself and "charge" calories to an account whenever I buy raw foods at the store or eat out. Then, whatever is in my house, I have already "accounted" for in my caloric budget. The strategy comes in figuring out what foods / combinations of foods leave me feeling satisfied. Beans (another great living-alone food, haha) are an allstar. I weigh ingredients for a lot of cooking only so I pace the consumption of rice, beans, etc.

The error in estimation of foods eaten out I treat as a constant factor baked into the daily caloric budget. If I'm gaining weight, the budget just needs to be tightened, i.e. rescaled to account for an error factor that was larger than anticipated. The problem basically becomes estimating one's own estimation error, then adjusting.

They claim one resolution to the Fermi paradox is that civilizations tend to evolve toward a state that resembles nature (non-industrial or non-civilizational, I'm not sure).

So the idea of a highly advanced civilization requiring so little resource extraction, or even being able to entirely synthesize all its resource needs from energy, and manage global resources in a non-destructive way, while letting the natural ecology revert to as close as possible to a pre-civilizational state.

So you see small hubs of super-high-density cities, and vast expanses of "nature". Harder to detect from space that way, thus it could resolve the paradox?

You can see our own time moving that direction with urbanization and re-greening happening simultaneously, population growth falling, and a huge effort to abolish the use of one particular variety of extracted resource.

Media profit from our outrage. And we go along with it. Politicians derive power from our outrage. And again we go along with it. We must befriend our political rivals. Consider their viewpoint long enough to appreciate it. See that the other, is really ourselves. If we aren't doing that, then we are part of the problem, and we are creating the atmosphere that moves people to take such horrible and drastic actions. We have noone to blame but ourselves.

The last steps I still can't fathom. When everything is outsourced to China, it is inevitable that you, now a mere middleman, will be cut out.

So by maximizing profit at each step along the path, the company destroys itself. Which ultimately sends profit to zero.

So... there's a break in logic somewhere. A link in the chain where responsibility isn't taken.

It appears that Valetudo is an alternative firmware for existing robot vacuums. The OpenWRT of robot vacuums if you will.

I don't think it's accurate to say that it is simply us wanting cheaper things. There has been a deliberate trade and even monetary policy that has led to this outcome. It is a matter of policy that the expertise to manufacture such things no longer exists in the United States.

For example, the WTO trade rules the U.S. engineered and China's entry into the WTO facilitated the outsourcing by which managers of U.S. companies sold core industrial competencies out.

Another policy has been the maintenance of a strong dollar, bolstered by the petro dollar system. This makes U.S. exports on the whole uncompetitive.

The abandonment of vocational training in favor of a college-for-all approach has also undercut the skillbase that would be necessary to maintain a domestic electronics and devices industry.

In essence, you could see it as an abandonment of the working class in favor of college graduates, whose stock portfolios benefitted from the cheaper costs accessed in the Chinese labor market.

The America you are familiar with perhaps doesn't care. But many Americans understand that the trade and monetary policies have undercut their own earning potential, and they buy those cheaper Chinese goods with great resentment, simply because _there are no longer alternatives_ in a huge number of categories.

Eventually the dollar will lose its "reserve currency" status; eventually enough of the rest of the world will be developed enough, or trade relationships fraught enough, or free trade discredited enough, that the pendulum will swing the other direction. I suspect the swing has already begun. Part of my motivation for writing the original post---to test the waters.

I lived in Provo for 17 years and the legacy of WordPerfect was still in the air - not to mention the development and gardens at Thanksgiving Point which was an Ashton project, IIUC.

Anyway, I wasn't aware of Bruce Bastian specifically but the Mormon/LGBT angle stands out. It must have taken a lot of character to be out so publicly in that community.

(The LDS church's response to legalization of gay marriage was to excommunicate anyone who got married to someone of the same sex, and to bar their children from baptism and advancement unless they disavowed their parents' relationship. The policy was rescinded in 2019. In earlier times one could get excommunicated simply for _being_ gay.)

It looks like Bruce and his husband made some appearances on Mormon Stories podcast if you want some inside baseball: https://www.mormonstories.org/?s=bruce+bastian

You can use libtorch directly via `tch-rs`, and at present I'm porting over to Burn (see https://burn.dev) which appears incredibly promising. My impression is it's in a good place, if of course not close to the ecosystem of Python/C++. At very least I've gotten my nn models training and running without too much difficulty. (I'm moving to Burn for the thread safety - their `Tensor` impl is `Sync` - libtorch doesn't have such a guarantee.)

Burn has Candle as one of its backends, which I understand is also quite popular.

When I set out to learn Rust about a decade ago, I chose to write a game - a clone of "Empire" that I call Umpire.

It's a different task to re-implement an already-designed language rather than designing and implementing at the same time. Nevertheless I have run into a number of the difficulties mentioned in the article, and arrived at my own solutions - foremost passing around global UUIDs rather than actual `&` references, and enforcing existence constraints at runtime.

I've experienced the protracted pain of major refactors when assumptions baked into my data model proved false.

In some regards these refactors wore some of the shine off of Rust for me as well. BUT I'm still glad the game is implemented in Rust, exactly because of Rust's dual emphasis on safety and performance.

The AI I'm developing requires generation of massive quantities of self-play data. That the engine is as fast as it is helps greatly.

Rust's strength in ML means my AI training and game code can share important types, ensuring consistency.

The effectiveness of Rust for writing CLI tools (mentioned in the article) has lent itself to a number of game-specific command-line interfaces that are of high quality.

Rust's memory safety became critical once I decided to network the game. I don't want `umpired` to be any more exploitable than it needs to be.

My constraints have been very different than the OP's; obviously it makes sense for their studio given their experience to move away from Rust. But I think Rust still has a place in games.

* https://en.wikipedia.org/wiki/Empire:_Wargame_of_the_Century * https://github.com/joshhansen/Umpire

I learned programming on QBASIC in the 90's, aged 11 or so. My brother and I had dabbled with GW-BASIC, which a more knowledgeable friend used to draw cool-looking rainbows and whatnot on the screen. That same friend taught me the "IF... THEN..." construct and a new world opened up to me. QBASIC's built-in help manual was a key resource in getting up-to-speed.

What's the multithreading story? tch-rs's (and libtorch's) lack of real threading support was causing problems for my async code - at least, I haven't found a way to work around it yet, given my level of rust knowledge.

Tangentially: I keep thinking an ML framework could be done based on Rust macros, so the automatic differentiation is done entirely at compile time. `let grad = autodiff!(x + y);` (The `autodiff` crate does this at runtime IIUC). Then the compiler's optimizations can apply to the static computation graph.

I always thought that was the vision for TF in the early days, but clearly it moved in a more dynamic direction under PyTorch's influence.

Too bad corporate operations are so smooshifyingly bland, robbing properties of their soul. Profit is nice, even vital, but a bad thing to maximize at the expense of all else.

Or maybe it was the colonialist taint that just doesn't sit right these days?

But... the world is still vast, and worth exploring. Maybe even moreso now we _think_ we know everything via Twitter etc.

International Geographic, anyone?

Maybe ten years ago I jumped from Ubuntu to Fedora, can't remember why - just wanted to shake things up maybe? This year I installed Mint on my main machine. Contemplating a switch to Debian 12 when it's out - but might not bother, Mint has been really nice.

What drove me from Fedora was mostly the need to upgrade every 6 months, and the short support windows.

I appreciate the thought put into this, and really don't get the nihilistic response of "Oh, it will never work, why even bother trying".

If you have suggestions for improvement, raise them, or critiques that need a response, raise them.

My suggestion would be to combine this approach with quadratic voting. Then there's no need to decide who does or doesn't get to vote on a development proposal. People who care about it will use their votes on that. Those who don't will use their votes elsewhere. Because votes are finite, people have to prioritize.

Recently jumped from Fedora (after a decade?) to Mint, which is free of Ubuntu's nonsense as far as I can tell. But that puts me on kernel 5.15 which is unfortunate as I'm interested in using btrfs. So I've contemplated making this jump - but in the meantime I've come to appreciate Mint's niceties.

And so... maybe I'll just wait for Mint to update.