Ford CEO says he has 5,000 open mechanic jobs with up to 6-figure salaries from the shortage of manually skilled workers: https://fortune.com/2025/11/12/ford-ceo-manufacturing-jobs-t...
HN user
jtolds
github.com/jtolio
m.olio.lol/@jt
linkedin.com/in/jtolds
jtolio.com
storj.io
[ my public key: https://keybase.io/jtolds; my proof: https://keybase.io/jtolds/sigs/uDCvyjeMM1tXjf3jh_obXuYNnRS8gwMAPjTUY85To8Y ]I replied to your comment on my website, but for posterity here, yes, I do think you did a good job for the part about exiting when bestScore > 100. There's nitpicks, but this is fine! It makes sense, and nice use of a select over a send.
I did expect that this exercise would come after the first one though, and doing this on top of a solution to the first exercise is a bit harder. That said, I also don't mean to claim either are impossible. It's just tough to reason about.
I have written channel code in the last week. It's part of the deal (especially with the context package). I'm just happy to see them restrained.
Seriously! This caused such a ruckus when I posted this 9 years ago. I lost some professional acquaintanceships over it! Definitely a different reception.
the complaints about channels have largely been received and agreed upon by experienced Go developers. Channels are still useful but they were way more prominent in the early days of Go as a solution to lots of problems, and nowadays are instead understood as a sharp tool only useful for specific problems.
As the author of the post, it's really gratifying to hear that this is your assessment nowadays. I agree, and while I'm not sure I had much to do with this turn of events (it probably would have happened with or without me), curbing the use of channels is precisely why I wrote the post. I felt like Go could be much better if everyone stopped messing around with them. So, hooray!
Author of the post here, I really like Go! It's my favorite language! It has absolutely nailed high concurrency programming in a way that other languages' solutions make me cringe to think through (await/async are so gross and unnecessary!)
If you are intending to do something that has multiple concurrent tasks ongoing at the same time, I would definitely reach for Go (and maybe be very careful or skip entirely using channels). I also would reach for Go if you intend to work with a large group of other software engineers. Go is rigid; when I first started programming I thought I wanted maximum flexibility, but Go brings uniformity to a group of engineers' output in a way that makes the overall team much more productive IMO.
Basically, I think Go is the best choice for server-side or backend programming, with an even stronger case when you're working with a team.
Adding an atomic counter is absolutely a great solution in the real world, definitely, and compare and swap or a mutex or similar totally is what you want to do. In fact, that's my point in that part of the post - you want an atomic variable or a mutex or something there. Other synchronization primitives are more useful than sticking with the CSP idea of only using channels for synchronization.
Hi! No, I think you've misunderstood the assignment. The example posits that you have a "game" running, which should end when the last player leaves. While only using channels as a synchronization primitive (a la CSP), at what point do you decide the last player has left, and where and when do you call close on the channel?
To clarify why I said the CPU is the same and the other poster says the A30 has a better CPU, both are true! Same architecture (Cortex A7), but the Mini Plus has 2 cores and the A30 has 4 cores.
I assume the basics are similar. The Miyoo Mini Plus has WiFi, which is great, but no GPU, so I assume you end up with different drivers. But the CPU is the same so everything else should be equivalent.
When someone says "20 years of doom predictions haven't come true", I charitably assumed that claim was about scientific consensus predictions, but perhaps I can't assume that everyone shares knowledge of what that is.
So far, all data says that the climate scientists are dead on and have been very accurate: https://eps.harvard.edu/files/eps/files/hausfather_2020_eval...
What doom predictions from the last 20 years haven't come true? If someone says that doom hasn't happened yet, I guess what I want to say is that they haven't waited long enough.
I think the climate scientists are frustrated and giving up. https://www.nytimes.com/2022/03/01/climate/ipcc-climate-scie.... My initial link was an attempt to show where the Overton window is regarding the experts in this field, more than anything else. This comment is probably not the right place to bring someone up to speed with the climate science field when they can Google it themselves.
How can this be such a top-voted answer? What?
Without even going into the unsubstantiated assertion with #1, your comment on number 3 shows a dramatic misunderstanding of how compounding effects work. You can't use the last 20 years to linearly project like this. It is true that most scientists agree that humanity will likely not go completely extinct, but it is also true that most scientists agree that many, many individual humans will be impacted. It is tough to say just exactly how humans will be impacted, but think famine, war, major societal upheaval.
Here's a citation if it helps: https://academic.oup.com/bioscience/article/71/9/894/6325731
Why? What compliance reasons make Ubuntu LTS work and RHEL not work?
Here's my wizard if you want to tweak the maps yourself: https://climatedash.fly.dev/?selection=tmean_avg_2050+&filte...
I made a bunch of maps to answer this question! https://www.jtolio.com/2022/07/anthropocene-calamity-part-8-...
As a customer of Storj, this isn't something you'll need to worry about. We're integrated with Stripe and take credit cards and invoices. We will also take STORJ token if you want.
If you are looking to provide storage space to the network as a storage node operator, then your nearest reputable exchange should do the trick.
We're hoping they respond to some of our reach outs for a deeper discussion! But if for some reason you're reading this here, NixOS Foundation folks, my email is in my profile!
Here's the HN conversation about that: https://news.ycombinator.com/item?id=34192336
This is really good feedback, thank you.
The platform roadmap is available here: https://github.com/orgs/storj/projects/23. Good question about Borg. We are supported by rclone natively, and I've seen some success with people combing Borg and rclone. But that's certainly something we can look into more.
Certainly there are differing opinions about cryptocurrency in general.
In terms of "does the math work", you're absolutely right that charging $7/TB and paying $20/TB to our storage node operators is not sustainable. But it shouldn't be a surprise that this was an intentional early subsidy to grow the supply side of the network. In an open system like ours, you see these business dynamics, whereas you might just not see them otherwise.
To be fully transparent, we are working to reduce that subsidy now that we're hitting scale. You can see some of our conversations with our storage node operator community about this on our forum: https://forum.storj.io/t/announcement-changes-to-storj-node-.... You can also see full network stats here: http://stats.storjshare.io/
Storj + Fastly is genuinely a pretty good combo. There are certainly some things Fastly does that we don't do (besides being more specifically a CDN, they also have compute@edge, etc). We have a good relationship with Fastly (e.g. https://docs.fastly.com/en/guides/log-streaming-storj-dcs)
But yeah, I don't know how the Nix Foundation is getting their Fastly traffic paid for, maybe that's in/out of scope. Certainly they should keep Fastly if it makes the overall thing cheaper. Having a distributed origin (us) to dedicated edge cache (Fastly) makes for a strong distribution story.
According to https://discourse.nixos.org/t/nixos-foundations-financial-su..., they have 450TB and 29.5TB of S3 egress/month. By my math, assuming the Nix Foundation goes in through our front door, talks to no sales people, and pays list price, that's $2k/month.
(piping up from another thread, but)
I'm very interested if you happen to know a cheaper alternative!
and
Optimally you'd want a distributed CDN
https://www.storj.io/ is this thing!
ooh, that's embarrassing. thanks for pointing that out. fixed now
Cloudflyer (https://www.cloudflyer.io/) offers free migrations from S3 to Storj. Storj is $4/TB/mo, $7/TB egress. It's decentralized storage, so the base functionality has CDN-like performance (no Cloudfront needed), and you don't need to pay extra for multiregion redundancy.
I jumped on the Nix Foundation Matrix to try and help them directly, but for anyone reading this thread, Storj might be able to cut a zero off your storage costs. Check us out!
Full disclosure - I work for Storj. https://www.storj.io/
Python Programming for the Absolute Beginner (https://smile.amazon.com/Python-Programming-Absolute-Beginne...) has you make a game at the end of every chapter with the concepts you've learned so far. I've bought this book for a number of people, though perhaps Automate the Boring Stuff with Python: Practical Programming for Total Beginners (https://smile.amazon.com/gp/product/1593275994/) is better if you don't want to make games.
I'm late to add to this conversation, but one of the reasons Storj is open source is so that our customers can audit our code and end-to-end encryption to confirm that no backdoors exist.
Ha thanks!
Hi Jim!
For our hosted S3 Gateway (called the Gateway MT), we have more details about how it works on this page: https://www.storj.io/disclosures, in the section titled "Encryption for Gateway MT"
The summary is that while the S3 gateway does have temporary access to unencrypted data during transit by protocol necessity, the S3 gateway does not keep the keys necessary to do this outside of the context of a request.
HashBackup is also great!
Hey! Chief Architect at Storj here.
Data on Storj is by default end-to-end encrypted with keys only the data owner controls (with optional support for sharing features). Only the data owner can decide who to share the keys with and who can see the data. Put another way, Storj can’t access data without the data owner sharing keys and access!
However, if the owner shares the encryption keys and provides access to others, it can be further distributed by others. Storj does not allow illegal content per our terms of use and conditions. If someone has stored potentially illegal content and shared it with others, law enforcement may seek to obtain information by way of a subpoena, warrant, or other legal process. As you probably know since you're reading this thread, often such inquiries are confidential and the recipients may be prohibited from disclosing their existence.
If you're interested in our encryption and security design decisions, there are a lot more details over at https://www.storj.io/disclosures. Glad you're all paying such detailed attention!