Recent submissions

Comment · 2 years ago
Per: https://blog.twitch.tv/en/2023/12/05/an-update-on-twitch-in-...

  Ultimately, the cost to operate Twitch in Korea is prohibitively expensive and we have spent significant effort working to reduce these costs so that we could find a way for the Twitch business to remain in Korea. First, we experimented with a peer-to-peer model for source quality. Then, we adjusted source quality to a maximum of 720p. While we have lowered costs from these efforts, our network fees in Korea are still 10 times more expensive than in most other countries. Twitch has been operating in Korea at a significant loss, and unfortunately there is no pathway forward for our business to run more sustainably in that country.
Korean implements a "Sending Party Network Pays" tax.
Comment · 3 years ago
Seems the blog author was taking the "cheap" option by trading time-to-deliver for cost.

I don't think anyone assumes when they take the cheap shipping option that they are eating a 10% chance the package never shows up. Nor mis-matched packages. Nor sudden calls from collections. Nor being re-labeled in the database as a 'distributor.'

Author gave time for them to work out the bugs between each attempt, and, seems each attempt went worse.

Classic post-2010s-era support quality.

Comment · 3 years ago
At the risk of getting dinged, I have a hard time thinking this is a real article.

Example 1: Changing `s` to `displayScore` doesn't fix the problem the code is using `p1`, `p2`, `p1N`, `p2N` AND defining a new `p`. WITH multiple ternaries and 3 mid-function returns.

Example 2: Reasonable, but now you have two functions with similar signatures. Reducing the number of indentation is always good.

Example 3: Creates ANOTHER layer of indentation. Without add'l context the code looks like it could be reduced to a series of inverted conditions with happy/golden-path style sequential if-s instead of 5 indentation deep.

Example 4: Pet peeve and chided by a lot of linters. Empty blocks are generally frowned upon. (You say: "If not equals DO" not "If equals don't do anything ELSE")

Example 5: Good in the context of testing, annoying in that it is a function with a single line. You'd probably be better off stubbing the User class all together. I mean you're already providing a User-type object.

Example 6: Great, 10/10 love it. Would remove the {} and just toss the Throws on the if-statement line itself but that's personal taste.

Example 7: Not awful, but I like to front-load my variable declarations so you can get error-handling out of the way at the start of the function then use those variables to do the computation later. More up front about saying: "Here are the items I will use later in this function"

Example 8: Probably not a simple refactor. If you aren't going to update all the locations in which an "Amount"/"Currency", you're creating an artisanal class for a single use.

Why am I code reviewing this article? Shoo.

Comment · 3 years ago
Make a clone with look-alike rules.

Of course you'll need new maps, unit tokens, and scenarios custom to your clone.

I know it is easier said than done, but, rightsholders sit on obscure IP like a dragon on a hoard. If they DID make a new game based on this Squad Leader game, it probably wouldn't be the same game.

Quick edit from reading another post: If one just wants to play VASL looks like what one would want. Reimplementation of the rules in another engine, boom.

Comment · 4 years ago
If we replace animals at the zoo with robots, then we don't need to worry about endangered species or not anymore!

And I'm sure we can do scientific research on robot animals just as well as normal animals, just a different kind of research.

Seems like it all works out.

Comment · 4 years ago
I wonder if it adds to the discourse at how ill-received this is: https://twitter.com/clipstudiopaint/status/15615777032618352...

Some upset Twitter users isn't their entire customer base, but as a part of the story I enjoy reading the comments and how the community is responding.

Comment · 5 years ago
This will never happen, ever.

What are the incentives a publisher/developer has for putting anything on a blockchain?

Company B wants nothing to do with Company A's digital assets, and Company A does not want to make transitioning away from their own game easy.

NFTs will never be used in gaming, outside of gimmicks (and all the current attempts talk more about the NFTs instead of any form of actual gameplay.)

Comment · 5 years ago
Because 99% of our job is putting together standard logic that should've been included in most language's standard library?

Automate the rote software engineering so it's built upon a shared, healthy, secure, etc codebase... Leaving only the harder, more-fun 1% for us to noodle on instead.

Comment · 5 years ago
Some advertisements are malicious attacks on your attention to build brand recognition and entice you to buy things you don't need.

However, I think advertising in itself isn't inherently evil. If a chess website served non-tracking, static (no-JS) banner ads about relevant products (maybe, specifically, chess products?) to offset costs, I don't see anything wrong with it. Of course the question is: "what is a relevant product to advertise next to chess?" Would... other board game advertisements be acceptable?

Comment · 5 years ago
Random unverified search: 1ppm is 7.8x10^9. Just say 300ppm is reasonable. Currently 417ppm.

7.8x10^11 tonnes of Carbon to remove from the atmosphere to return to “normal” (Handwavy approximations)

This was 4.16x10^2, in, let’s just say 12 months.

Assuming an absurd 100% increase in volume year over year... they’ll drop the carbon ppm by 1 after... 24 years.

Not meant to doom/gloom, just curious.

Comment · 5 years ago
Gonna push back on this analogy. Ripping out features that cause more trouble than they're worth is like moving a dozer, back hoe, fertilizer spreader, etc off your property.

Average users appreciate all the extra real estate of their back yard! So much time to do the thing they enjoy, gardening.

Power users hate you, they used those power tools every day! They felt in control! Their backyard garden was meticulously crafted!

Ideally when you take their dozer, back hoe, etc, you put them into an easy to access shed out of sight from most users. Of course it's an engineering/design challenge to 1) create a shed (segment these features without adding complexity), 2) make it easy to use for power users ("wahh, I gotta click through 4 more options!"). They might be able to pull out their auger tractor, but it just isn't as easy as starting the auger tractor right where they left off.

Even with an analogy, it's hard to say: "1% of our users use this feature, tear it out." Even when it imposes > 1% of work on all future features/releases/testing.

Comment · 5 years ago
To describe a microcosm of this line of thinking, let’s take Pokémon cards. Packs containing a (foil/holo) card weigh more. A sealed box of packs is theoretically a gold mine. But how do you establish that the presealed box wasn’t raided and resealed? A whole system of trusty discoverers and buyers play hand in hand.

Individual packs will always be looked at with doubt, since they’ve probably been weighed and sorted.

Comment · 5 years ago
I am moving to Austin very shortly from the Bay Area.

Rent is 1/2 as cheap for 2x the sq ft, and property values still currently with in the stratosphere (unlike the Bay Area). No income tax.

Hopefully Austin acts quick and starts building new/upgrading existing buildings to accommodate the growth that's happening.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton