HNHacker News
TopNewBestAskShowJobs

wgjordan

1,393 karma · joined August 29, 2012

submissionscomments
wgjordan··on Bird, once valued at $2.5B, just filed for bankruptcy
Related:

Scooter startup Bird is seeking a $2B valuation - https://news.ycombinator.com/item?id=17293571 - June 2018 (269 comments)

Bird has raised $100M for electric scooter sharing - https://news.ycombinator.com/item?id=16555913 - March 2018 (146 comments)

wgjordan··on Google Promises Unlimited Storage; Cancels; Tells Journalist Life's Work Deleted
The offer was unlimited storage at 5+ seats, but in any case, the subject is quoted in the article writing 'I paid Google a lot of money for a long time for a plan,' so it was absolutely not viewed as 'free' to them.
wgjordan··on Why 3M stopped making floppy disks in the '90s
> You're kind of leaving out the whole "literally poisons the user or gives them cancer" part.

I thought 'horrible' was a suitable word choice for this part.

wgjordan··on "Useless Ruby sugar": Argument forwarding
> singular `include?` instead of `includes?`

Pedantic tangent, but `includes` is actually the singular form: "This array includes that object" vs "All of these arrays include that object".

wgjordan··on root with a single command: sudo logrotate
"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

It's also a bit disingenuous to make a third-person reference to your own post ('people are getting downvoted').

wgjordan··on What every software developer must know about Unicode in 2023
The author explains normalization in its own entire section several paragraphs later (Why is "Å" !== "Å" !== "Å"?).
wgjordan··on Ruby 3.3's YJIT Runs Shopify's Production Code 15% Faster
15% faster is great. But at what cost?

> Since Ruby 3.3.0-preview2 YJIT generates more code than Ruby 3.2.2 YJIT, this can result in YJIT having a higher memory overlead. We put a lot of effort into making metadata more space-efficient, but it still uses more memory than Ruby 3.2.2 YJIT.

I'm hoping/assuming the increased memory usage is trivial compared to the cpu-efficiency gains, but it would be nice to see some memory-overhead numbers as part of this analysis.

wgjordan··on Show HN: Ghidra Plays Mario
> I’m not clear on if the bugs you are finding are in Ghidra’s processor model or in the emulator? (Though I think it’s the latter?)

The project README includes a link to a commit fixing bugs in Ghidra's processor model, here is the author's PR submitting those fixes upstream: https://github.com/NationalSecurityAgency/ghidra/pull/5740

wgjordan··on X sues Calif. to avoid revealing how it makes “controversial” content decisions
The so-called 'double standard' in AB-587 (defining 'social media platform') is entirely consistent with the existing federal 'double standard' set up a quarter-century ago by Section 230, which makes providers of 'interactive computer services' immunity from liability for content moderation decisions. This bill can be seen as oversight layered on top of those existing content-moderation liability protections.

If you want to tilt at 'because computers' windmills, Section 230 is the real target.

wgjordan··on Show HN: Shaq, a CLI for Shazam
Reference: https://github.com/woodruffw/shaq#the-name
wgjordan··on Scientists are only beginning to understand how PFAS impacting our health
Here are direct links to the primary sources mentioned. Four scientific studies, an EPA health advisory, and a report from a non-profit organization.

[1] https://doi.org/10.1186/s12940-023-00997-6

[2] https://doi.org/10.1080/1547691X.2023.2176953

[3] https://doi.org/10.1021/acs.est.2c02765

[4] https://doi.org/10.5334/aogh.4013

[5] https://www.epa.gov/sdwa/drinking-water-health-advisories-pf...

[6] https://chemsec.org/reports/the-top-12-pfas-producers-in-the...

wgjordan··on Mexico’s underground vanilla economy
Yes, there are false advertising laws which broadly prohibit labels that are deceptive or misleading to a reasonable consumer.

In Mantikas v. Kellogg Co. (2018) [1], the 2nd Circuit allowed a false-advertising class-action suit to proceed against Cheez-Its labeled 'Made with Whole Grain' that only had 8g of whole grain in a 29g serving, whose primary ingredient was white flour.

The opinion explicitly rejects the situation you describe:

> Such a rule would permit Defendant to lead consumers to believe its Cheez-Its were made of whole grain so long as the crackers contained an iota of whole grain, along with 99.999% white flour. Such a rule would validate highly deceptive marketing.

[1] https://casetext.com/case/mantikas-v-kellogg-co-1/

wgjordan··on Pentagon hit by ‘critical compromise’ of US Air Force communications – report
They couldn't account for 61 percent, so their score would be a 39%.
wgjordan··on Depthboot – Your Chromebook, your way
For replacing a MBP, here are some higher-end models I'd recommend (2K+ display, 16GB+ ram, 12th gen Intel i5/i7):

- HP Dragonfly Pro Chromebook - i5-1235U, super-bright 1200-nit display - $999.99

- Framework Laptop Chromebook Edition - i5-1240P, upgradable (only 8GB RAM but supports up to 64GB), modular, repairable; no touchscreen - $999.00

- Acer Chromebook Spin 714 (specifically CP714-1WN-720J) - i7-1260P, solid 360° hinge - $1099.99

wgjordan··on Fly.io Postgres cluster down for 3 days, no word from them about it
This is exactly how it currently works:

  $ fly volumes create mydata
  Warning! Individual volumes are pinned to individual hosts.
  You should create two or more volumes per application.
  You will have downtime if you only create one.
  Learn more at https://fly.io/docs/reference/volumes/
  ? Do you still want to use the volumes feature? (y/N)
(and yes, the warning is already even in red letters too)
wgjordan··on Fly.io Postgres cluster down for 3 days, no word from them about it
(Fly.io employee here)

To clarify, we communicated this incident to the personalized status page [1] of all affected customers within 30 minutes of this single host going down, and resolved the incident on the status page once it was resolved ~47h later. Here's the timeline (UTC):

- 2023-07-17 16:19 - host goes down

- 2023-07-17 16:49 - issue posted to personalized status page

- 2023-07-19 15:00 - host is fixed

- 2023-07-19 15:17 - issue marked resolved on status page

[1] https://community.fly.io/t/new-status-page/11398

wgjordan··on On the RustConf Keynote
Related hn discussion: https://news.ycombinator.com/item?id=36091242
wgjordan··on The Maddest My Code Made Anyone
> I was very taken aback when I first saw this comment, but these days I cherish it. It reminds me one of the first times my code had a big impact on a community.

This is a great perspective. When I was a highschooler I worked on a fan translation project that, 20 years later, someone called a "god awful piece of festering sewage that should never have existed to begin with" [1]. I'm quite proud to have done something in my youth that generated so much online rage for decades.

https://legendsoflocalization.com/which-final-fantasy-iv-tra...

wgjordan··on Universal Music Asks Streaming Services to Block AI Access to Its Songs
> But training an AI is really the same as me listening to the music. The problem occurs if I copy the music.

The trained AI model is a digital artifact that can be copied and distributed in a way that 'me listening to the music' cannot. The model contains detailed information about copyrighted content in a format capable of reconstituting infringing derivative works from a suitable prompt. It's 'really the same as' a huge content archive stored in a proprietary format with some lossy compression.

> The problem occurs if I copy the music.

Yes, I would argue that the 'problem' (copyright infringement) occurs when a trained AI model (essentially a big content archive) is copied and publicly distributed. For a hosted service, I would argue that the infringement occurs when the service copies and distributes an infringing derivative work in response to a prompt.

wgjordan··on Twitter restricted in Turkey in aftermath of earthquake
For one nonpartisan quantitative analysis, Freedom House gave Turkey a 32/100 ("not free") score on its 2022 global freedom scale [1].

[1] https://freedomhouse.org/country/turkey/freedom-world/2022

wgjordan··on Getty Images v. Stability AI – Complaint
As long as you're saying an AI-transformed image wouldn't be considered an inherently derivative work because of its process, I believe we're in violent agreement.
wgjordan··on Getty Images v. Stability AI – Complaint
> Not a lawyer, but given that it takes the original picture as an input, there's a very strong claim that it's a tool to create a derivative work.

I don't think it's that simple- as I understood the proposed conversion, there would be two phases. The first phase extracts an 'idea prompt' from a source expression (resulting in "an asian man lying in a grass field surrounded by a semicircle of driftwood and crows"). The second phase generates a new expression from this prompt alone.

As long as this intermediate 'idea prompt' is sufficiently devoid of 'expression' elements to withstand scrutiny (and the tool could even embed its idea prompt in metadata for auditing purposes), I would imagine the final output to be likewise considered a sufficiently transformative work compared to the original.

wgjordan··on My coffee maker just makes coffee
Fellow Opus ($195) is coming Feb 21 and grinds espresso:

https://www.gearpatrol.com/food/a42409254/fellow-opus-grinde...

https://fellowproducts.com/pages/opus-is-coming

wgjordan··on My coffee maker just makes coffee
I'd actually consider something like the Wilfa Classic (£189.00) to be on the opposite end of the product-design spectrum compared to the $12 no-name coffee maker mentioned in the article. You see a similar 'do one thing really well' focus in high-end and low-end appliances, the difference being less-significant details that most consumers don't care about and wouldn't spend a premium to enjoy (in this case, probably more precise brewing temperatures and extraction times).

In-between is where all the bloated trash gets dumped.

wgjordan··on PFC bans are going to change waterproof garments
The CDC's ToxFAQs page on Perfluoroalkyls [1] is one starting point, refer to the full 993-page report [2] for all the gritty details. Here's a high-level summary of the evidence on cancer risks:

> The International Agency for Research on Cancer (IARC 2017) concluded that PFOA is possibly carcinogenic to humans (Group 2B), and EPA (2016e, 2016f) concluded that there was suggestive evidence of the carcinogenic potential of PFOA and PFOS in humans. Increases in testicular and kidney cancer have been observed in highly exposed humans.

Less research on PFOS that aren't PFOA though, so there's room for dismissing the available evidence if you're so inclined.

[1] https://wwwn.cdc.gov/TSP/ToxFAQs/ToxFAQsDetails.aspx?faqid=1... [2] https://www.atsdr.cdc.gov/toxprofiles/tp200.pdf

wgjordan··on The Onion files Supreme Court amicus brief defending the right to parody
> As in the government’s position was yes he is in prison for something that isn’t illegal, but he had already used up his appeals.

This is the position of the Eighth Circuit and seems to be the likely eventual position of the conservative Supreme Court justices, but the government's position is actually a bit more nuanced: yes his existing conviction would no longer be upheld under more recent statutory interpretation, and he should be granted an extra appeal if he could actually demonstrate his innocence under the new interpretation, but what he did would probably still be considered illegal when all available facts on the record are considered and so he wouldn't satisfy what the government considers a reasonable threshold for an extra special appeal.

wgjordan··on Pitchfork: Rack HTTP server for shared-nothing architecture
I noticed the double-fork with PR_SET_CHILD_SUBREAPER to reparent the new workers, which is a nice reliability improvement for the edge-case where the middle-parent worker possibly crashes. It adds a Linux dependency (as noted), but that probably still covers most production use-cases where the extra reliability that comes with reparenting is most needed. This enhancement could probably be incorporated into Puma.

As for the concern about forking a process that may have live threads currently processing a request, this should already be solved in the Puma implementation. The worker shuts down and finishes serving all pending requests before reforking. There is also an `on_refork` hook for to trigger extra garbage-collection to maximize copy-on-write efficiency, or close any connections to remote servers (database, Redis, ...) that were opened while the server was running.

wgjordan··on Pitchfork: Rack HTTP server for shared-nothing architecture
Puma is a multi-thread, multi-process Rack HTTP server that implements a request buffer.

By comparison, Unicorn (the project upon which Pitchfork is based) is a single-thread, multi-process Rack HTTP server that does not buffer requests, so it's only designed for fast clients (or it needs to be paired with a proxy like Nginx to handle slow clients).

The narrower design of Unicorn results in a simpler, less-flexible potentially more efficient architecture.

The reforking feature that Pitchfork introduces to Unicorn was originally implemented in Puma [1], though they're controlled differently and the underlying implementations are entirely different.

[1] https://github.com/puma/puma/blob/master/5.0-Upgrade.md#fork...

wgjordan··on Pitchfork: Rack HTTP server for shared-nothing architecture
I'm the author of the original 'refork' feature introduced to Puma a couple years ago [1], that served as an inspiration for this project.

As I understand it, Pitchfork is an implementation of a reforking feature on top of Unicorn, a single-threaded multi-process Rack HTTP server.

The general idea of 'reforking' is that in addition to pre-forking worker processes at initialization time, you re-fork them on an ongoing basis, in order to optimize copy-on-write efficiency across processes, especially for memory allocations that might happen after initialization. The Pitchfork author mentions sharing YJIT machine code as a particularly important use-case [2], one that has become relevant in recent Ruby releases.

I never saw much interest in the concept when I originally introduced the reforking feature to Puma, and it remained a kind of interesting experiment that never saw much production uptake. I'm thrilled that Shopify is iterating on the concept through this project and I hope the technique will continue to be refined and developed, and see broader adoption as a result.

[1] https://github.com/puma/puma/pull/2099 ; https://github.com/puma/puma/blob/master/5.0-Upgrade.md#fork...

[2] https://github.com/Shopify/pitchfork/pull/1#issuecomment-125...

wgjordan··on A method to promote sleep in crying infants using the transport response [pdf]
Be kind. Don't be snarky. Please don't post shallow dismissals.

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

← PreviousPage 3 of 11Next →