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.
I've never worked at Twitch, but I have experimented with P2P video delivery, and the TL;DR from my experiments is that real-time video delivery can not easily provide a consistent, low latency experience, and video experience problems amplify quite quickly. I wrote up a fair bit about this in the comments of a different HN post a while ago: https://news.ycombinator.com/context?id=33070218
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.
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.
Hi Kevsim, thanks for your great comment, I do appreciate :)
Sorry if you had a hard time to read this post.
Your comment for the in Example #1 is right, we've shown only the first step. The second one would be to rename all others code operations:
=> Renaming `p1`, `p2`, `p1N`, `p2N
=> Remove the magic numbers 4, 6 and 1.
One important thing in this article is the fact that each tip should be used by a developer locally as an intermediate step during a refactoring of a legacy code. So for each tip, the second piece of code should not be the final version to be committed. It clearly needs additional operations and transformations.
We'll do our best to make our next post easier to digest :)
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.
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.
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.
The standard patterns that frequently emerge within languages are often low complexity special cases of potentially more powerful constructs and usage paradigms.
I might start with a simple for loop:
for(int i = 0; i < limit; i++){
...
}
And then decide that I can make it more concise:
for(int i: [0 .. limit]){
...
}
But I still need the base form, for less likely scenarios:
for(int i = 1; i < limit; i <<= 1){
...
}
A language or its libraries can support new cleaner forms for fundamental structures and frequently repeated boilerplate constructs - but it increases library/compiler complexity, cannot always be predicted ahead of time and often sacrifices power for specificity and apparent language simplicity.
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?
And in the case of chess books, an advertorial is quite different from a good review. I very much enjoy reading a good review on a chess book, with all the good things and bad things. With an advertorial the language is quite different and it is very hard to get informed well about what you really get when you buy the book. With honest critique, I very much enjoy reading about the bad parts, and if they are not bad for me, or just a nuance, it might be a really good book for me. Only an honest review can give me that.
So no, an advertorial for a book does not do anything for me.
That's exactly how Google ads worked in the very beginning. Text only, all in one place, it was great! If we could somehow return that type of ads, I'd consider disabling adblocker.
In the 1980s it cost 100000 dollars to launch a kg low Earth orbit, today it's 1000. [1]
In the 1970s solar cells cost 100 USD/Watt, today 0.2 USD/Watt. [2]
These napkin calculations are fairly meaningless on those time scales with emerging technologies, 30 years is a long time. In fact they don't even hold for this year. They finished delivering 150 tons in January of this year and the rest in march so that'd be 300 tons in 3 months.
>These napkin calculations are fairly meaningless on those time scales with emerging technologies
Not all technologies are subject to the same scaling laws and it is foolish to act as if they are. Carbon removal won't get 1000 times cheaper, because thermodynamics.
I don't find much value in these kind of out of hand dismissals.
Do you have industry knowledge or do you at least care to expand? The experts certainly seem to think they'll be able to get to scale, I think they'll be devastated to have to scrap it all and fire their teams of experts "because thermodynamics".
Carbon dioxide has a low concentration in the atmosphere, the atmosphere is really big, and diffusion is not a particularly fast process.
Adding to that, industrial processes tend to be big and heavy, and also take fossils fuels to make. Even the outputs of these processes are measured in tonnes of carbon
No less, whatever format you're storing the carbon in will be very energy dense, either via compression, or by chemically removing the oxygens.
So, there's limits to how quickly your apparatus can interact with new carbon molecules, on moving it to new carbon molecules, and on making sure the products of you apparatus stay sequestered.
If they're thinking they can scale, it's by setting up on top of carbon emitters, but doing that is net carbon positive(some will leak, and carbon emitters will continue to scale up), rather than negative
It won't get 1000x cheaper in terms of energy inputs, no. There are many different things you could do to make it economically 1000x cheaper, though. Redefine the US dollar in units of sequestered carbon, for instance. Self-replicating carbon sequestration units, if you like science fiction. Etc etc
Technically you need someone to cut the tree down, turn it into a stable form of carbon (say biochar), and bury it. Otherwise most (all?) of the carbon captured will be released fairly quickly after the tree dies.
Does anyone know the rough cost per /tonne? I doubt Stripe is investing much.
a 100% increase in volume doesn't sound ridiculous to me. zoom alone grew revenue over 100% in like a month - dumb example but there are lots of others. The triple, triple, double, double, double unicorn formula is widely marketed as another example.
There would surely be scale efficiencies in all these techniques too?
I think we are past catastrophe at this point and even with your math that sounds like more of a win than I would have guessed!
We have spent Trillions in the last year on stimi. that could have been targeted for dual purpose... and especially the proposed infrastructure bill should be changed but that would be another longgg thread.
Just trying to argue a point that even 'small' and maybe even not feasible at the moment ideas need to be actively pursued and scaled when they work, even if not as efficient as a HN engineer's dream we need to have basically an immediate all out war to fight climate catastrophe at this point.
Do this on 1000 different ideas and spend much bigger much faster we might stand a chance..
Stripe bought 416 tons at $600/ton [0] and Shopify has committed $5million annually[1] to carbon removal (including Charm at what I presume is a similar price point)
I am heavily bullish at the growth of carbon removal. Not as an excuse to continue emitting but as a growing awareness of necessity to restore more natural CO₂ levels.
It's truly the only way we'll be able to curve carbon emissions and CO2 ppms. We need a carbon tax now, to create a framework for companies to become accountable for their emissions.
Thanks very interesting. I agree. And if we end up killing our civilation maybe we'll be burying new oil for some future peoples to get similar explosive growth from basically free energy - and hope they learn from our mistakes ;)
Though seems like a tree can easily be more than a tonne and way cheaper than that. Even if worried about keeping the carbon in the forest could bury it too!
Depending on investment, greater than 100% growth is not necessarily absurd. The article is about the carbon capturing capability of a single, essentially PoC plant. Carbon Engineering is building a plant that will -- according to their own press release, anyway -- capture up to a megaton of carbon annually (https://carbonengineering.com/our-story/)
Either way, it remains to be seen how effective carbon capture plants will be. A lot depends on investment and proving a business model. Renewables have the upper hand on fossil fuels now, because they solve a proven business problem, cheaper. Carbon capture companies have to prove that there's even a market for their services. Although, some would advocate for a Keynesian approach to building out mass DaC infrastructure funded directly from federal spending.
Changing agricultural practices probably has a better outlook for carbon sequestration at the moment.