skysight-inc/HackerNews huggingface dataset:
I think the simplest way to understand recursion is as a for loop where you use the stack as the counter.

Recursion is basically implementing the operations of a repetitive loop but the loop controls are not explicit like in a for loop, instead you use the stack as the counter of the loop.

Once you think of recursion as just another way to do for loops, it immediately is demystified.
I guess I'm not old enough to have thought through this already, but it was explained to me early on in my career that 401k plans should be divested slowly as one approaches the end of their career. Is this atypical compared to how it actually works in reality?
> Index fund investors are simply buying what the active investors have laid out for them.

That works until it doesn't. If passive becomes big enough, the indices themselves will be the ones steering the ship. The active managers won't be significant enough to sway the indices.

I heard this analogy on a podcast (I think it was Invest Like the Best): Indices are like a drunk person, and active managers are like the sober friend guiding the drunk home. But if the drunk becomes 10x the size of the sober friend, the friend is no longer strong enough to be a guide.

If passive funds get big enough to dwarf active management, they eventually will be the ones steering the market, and active investors will be noise at that point. In that scenario, I'm not sure what happens, but it seems that indexing would become more like a Ponsi scheme.
That’s exactly what I was trying to say — specifically the 409a valuations for several companies I’ve been at were not appropriately reduced for common shares versus the preferred.

E.g. a company raising $5m Series D at a $30 million valuation, and which already has $10m in preferences. First you have to adjust the valuation because that $5m will be the first dollar out and might even be participating preferred - so they are getting 1/6th of the company for $5m but they are also getting basically a $5m note payable.

If you asked them what they would pay without the preference maybe it’s closer to $15m. Then you also have to adjust for the other outstanding preferences. So the common shares (which are likely to be even further diluted before they become marketable) in that case are presently nearly worthless.

Most people do not adequately consider the impact of preferred share preferences, future dilution, taxes, and marketability. These horseman turn a decision which might seem like at first glance to be, “Why give up the chance to participate in a future equity event?” into something more closely resembling a suckers bet.
Perhaps carelessness is a strong word and implies incompetence. And perhaps its not incompetence I am complaining about but the rather fastidious and casual way of "move fast, break things, exponential growth" that builds the following without a strong foundation.
The Atlantic (re)joins the metered paywall club
>I think it's fair to presume that businesses in the market for a loan will be at least as capable of understanding the loan structure as you, some internet commenter with no personal financial interest in the issue, were with less than a half hour of time.

This is not true in my experience. A lot of people just wing it through life without doing or being able to do any calculations. Not that it excuses them.
Mobile Developer Immediate Start, Remote, Part Time, 20 Hours per Week
> It's essentially a prepayment penalty in disguise.

I can see that. But put another way, it's a flat fee. No disguise.

I see issues with you being able to get better rates elsewhere, but by calling it a fixed fee instead of using an APR with fine print saying there's a prepayment penalty, I see the OPPOSITE of disguise.
Plenty of these measures are just basic professionalism. Some are relatively inexpensive (enabling MFA everywhere by default given the number of MFA options.)

Other changes are mildly annoying to developers, ops, and support (e.g. re-requesting production access.) Since developers hold sway in most organizations, convenience often trumps security. None of these measures put anyone out of business.

If I had to attack something I'd go for the limited resources to help smaller organizations scale security appropriately. There are tons of resources for large dev teams, infosec specialists, etc., but there is very little that targets small organizations effectively.
Hi there, this is Harsha from the Stripe Capital team. You are correct that the repayment rate (9% in this example) will stop once the loan amount and the fixed fee has been repaid. There are no interest charges or additional fees.
I, too, read the title as meaning the opposite of what he's actually saying. He's saying that if you force your callers to do the allocation like Golang's io.Reader.read does, rather than doing the allocation yourself and forcing the new allocation on them (the way Python's fileobj.read call does), then they can reuse and pool allocations, improving efficiency substantially under some circumstances.

There are another couple of benefits, though:

1. A call which allocates can necessarily fail, although in garbage-collected languages like Golang, memory allocation failure are normally handled implicitly with something like panic(). (That's because the main benefit of garbage collection is not that you don't have to debug segfaults, but that you can treat arbitrary-sized data structures as if they were atomic integers — with immutability, even when they share structure. This allows you to program at a higher level. You lose this benefit if you have to know which calls allocate and which do not.)

1½. By the same token, dynamic allocation almost never takes a deterministic or bounded amount of runtime, though see below about per-frame heaps.

2. In many cases, you can do the allocation on the stack rather than the heap, with potentially substantial implications for garbage-collection efficiency. (You could see the MLKit's region allocation as an automatic version of this pattern.)

3. In environments like C++, it may make sense to use a different custom allocator, like the per-frame heap commonly used in game engines, or the pool allocator provided by the APR, or an allocator that allocates from a memory-mapped object database like ObjectStore. The alternative is something like the rarely-used allocator template parameter that makes all our STL compile errors so terrible. Even in ordinary C programs, it might make sense to use a static allocation for these things some of the time.

On the other hand, putting the allocation on the caller ossifies the amount of space needed as part of your API, and prevents that space from being dynamically determined at runtime by the algorithm. So there are times when letting the caller allocate all the space is undesirable or even impossible. And, as Cheney points out, it does make your API more of a hassle to invoke — but that's easily fixed with a wrapper function that does the allocation.

A third alternative, used for example by Numpy and realloc(), is the one mentioned in https://news.ycombinator.com/item?id=20888920 (though it erroneously implies that C has optional parameters) — have an optional buffer argument telling where to store the result, but if it's not passed in, dynamically allocate a buffer and return it. Taking advantage of this parameter to avoid extra allocations and cache misses commonly doubles the speed of Numpy code, in my experience, but it really hurts readability. As a general API design technique, this seems like the most constraining to future implementations, and I think it makes more sense to separate the underlying stable non-allocating API from the allocating helper wrapper, as described above.
How to Major in Unicorn
Yeah, for better or for worse, talks are intentionally not recorded. The idea is that this way people will be less afraid of asking questions and it's more of a guided discussion than a one-way presentation.
Presuming you are saving for later. Besides a margin call, you might want to exit for, buying a house, going into retirement, covering a period between jobs, or to deal with a medical emergency.

Doing that during a crisis hurts. This risk diminishes the value of investments as a safety cushion.
>that load times today are no better than back then, and are often times much worse.

Uhhhh, well I don't tend to wait 3-5 minutes for a single .jpeg to load on a website any more. I can stream a hq video in real time over the internet, whereas downloading a single 30MB realmedia video so pixelated you could barely see what was on the screen would take an hour or more to download. A 3MB mp3 would take 5-10 minutes. There have been massive speed increases in web surfing for sure. I don't understand how anyone that used the web back then could think otherwise.

As for software load speed, the amount of data being loaded off a CD for a 2d or older 3d game is magnitudes smaller than the data being loaded from modern games. How many gigabytes of high res textures did those old games used to load? How many uncompressed HQ sound effects and music tracks? I remember installing multi-CD games and waiting and waiting,.then swapping the disc, then waiting then waiting, then back to disc one, more waiting, now disc 3.

I'm not saying those things are better, but there's no way in hell my old 486 could have loaded multiple gigabytes of data at the same speed my laptop or even my phone now does.
Or:

Columbia is named after Christopher Columbus

Colombia is named after Cristoforo Colombo

If you can remember which countries traditionally mostly speak English, and which mostly spoke a Romance language, you have a shot at getting it right.
Not everyone knows this at the time, not every company will allow this.
It's great that they are sharing their (re)discoveries, the real shame is that we software people don't have a giant, open and free repository of all these blog posts, Software Engineering articles, and interviews from our practitioners of all ages.
Tugadar Changing Life Blog
Right? I don’t see what the fuss is about. If the argument boils down to “price and liquidity will drop in a sell-off”, well that’s basically a law of nature. I don’t see why index funds are a special case.
FWIW the parent comment replies in more detail in a different thread:

https://news.ycombinator.com/item?id=20888435
https://www.kosherswitch.com/live/tech/how
Based on some of the other comments on this post, this fills a gap in the payments vertical Strip operates in; it's going to be much simpler for their current users to get capital rather than switching payment providers or getting "outside" capital from a traditional lender, credit card, etc.
IMO, Calculator Construction Set is a better example (https://www.folklore.org/StoryView.py?story=Calculator_Const...)

Pinball Construction Set (https://en.wikipedia.org/wiki/Pinball_Construction_Set) takes that a step further, not only allowing you to change colors and patterns, but truly allowing you to change the pinball machine.

And of course, there’s tools such as dBase II, Excel, Visual Basic and HyperCard.
> A better investigation would count the number of miles traveled and compare the rate to the general population. Driving is the most dangerous thing most people do: 37k people died on the road in 2017.

The alternative to Amazon's delivery contractors is not civilian drivers, so that comparison wouldn't be interesting.

The comparison should be against small-to-medium delivery trucks, as used by UPS, FedEx, and USPS.
Artificial intelligence is changing every aspect of everything. By way of comparison, consider how artificial intelligence is also changing manufacturing, transportation, medicine, government, and emergency response operations (police, fire, etc.).

Warfare is just another aspect of everything, but it is one that heavily influences the shape of the world's political and economic realities. The industrial revolution blew away warfare as it was understood in Napoleon's time compared to how war was fought in World War I.

The continued integration of AI into warfare and the development of foundation-shattering changes are to be expected, but no one will really understand the far-reaching implications and results until the new technology is employed in combat.
I think they talk about it but didn't add up to a rebuttal or challenge of Burry's liquidity point. <

I think they claim is that their is a lot of "dumb money" holding indexed products that are likely to sell all at once when things turn south. By the structure of these funds, their will be large selling pressure on the underlying stocks and a good chunk of them don't have the liquidity to support that pressure. That doesn't mean their will be a metldown, just that prices will tank very hard and a lot of people will lose a lot of money + the economic effects that has I don't understand.

I was hoping the original article would tear that reasoning down, and while it did touch on various mechanisms it didn't give a cohesive thesis as to why that is wrong.
They go great lengths to justify why salaries are paid location based: https://about.gitlab.com/2019/02/28/why-we-pay-local-rates/

I think that's a wise decision because it allows you to stay where you are without pushing you into another country just to benefit from lower living costs while having a comparatively high income.
This is huge. It's been obvious for a long time that the standard block-device abstraction isn't a great fit for SSDs. This development finally gives us a better abstraction that will immensely improve performance of a wide variety of applications (possibly even SQL databases).
Winter is a comin'! Get the new Intel® Core™ i9 to warm up your whole house.
A teen boy has gone blind by living mostly on fries and other junk food
Totally off-topic, but thanks for Stripe. It's a game-changer and has made my life as a developer so much easier.
So I actually have a free wework pass from my online masters degree program. I live about 3 blocks from a large wework that was built in the last couple of years. My company let's me work from home whenever I want. I have a 45 minute commute so I usually WFH on fridays or anytime I have an appointment.

I went a few times when it was novel, but after that I really only use it less than 1 in 5 of my work from home days. And on some of those WFH days, I'll walk to the coffee shop accross from the wework to get an espresso and then go back and work at my house.

Point being, I don't find wework to be a compelling remote work offering when it's free. So it seems unlikely to me that there's very much room to grow in that market.
Or a slash; key/value or an indirect key->value.

I was really hoping they were going to finally be selling an SSD that was an order of magnitude less costly than spinning rust. That's about what it would take for the tradeoffs in reliability to be worth it.
>I'm a political anarchist; Anarcho-Capitalist

Anarcho-Capitalists wouldn't be considered anarchists. An-arch means without order. Ancaps believe in private property and hierarchy as a beneficial and necessary feature in society. Anarchists traditionally believe in equality as an intrinsic good.
OK, I read it. I don't see anything there that to me seems to justify calling them "officially a climate alarmist organization". Could you elaborate on what exactly about their position you're describing by those words?
"professional engineer"
I like the review, but the criticism of distinguishing causality from counterfactual reasoning feels weak to me. Do we actually care about the counterfactual reasoning most? Of course. But establishing causality as its own thing before counterfactuals is necessary in the way that Pearl has structured his math. And even the grammar of human languages enforces this separation of concepts. Do you need causality to even have the concept of counterfactual? Of course. Is there value in describing that causality before going on to counterfactuals? Yes I think so, because of the difficulties of current counterfactual algorithms.

Separating out causality opens the door to doing counterfactual reasoning in better ways. Since whatever method is in the Book of Why confused the reviewer, it's probably not the best way to look at counterfactuals, so the causality bits can be taken without establishing the counterfactual methods as the be-all end-all.

For that matter, DAGs versus cyclic directed graphs or time-based DAGS is still a big concern too. Many if not most of our causal reasoning will have loops, when time is not accounted for, and DAG formulations make this difficult to unroll. There may be big improvements in causal modeling, without considering the counterfactuals even.

Also, in Pearl's prior 2000 book on Causality, it's clear that Pearl gave plenty of credit to Spirtes, and it always seemed that they were working in parallel and on very similar problems; I'm not sure how much Spirtes took from Pearl, but Pearl makes clear that his ideas are heavily informed by Spirtes' work.
> but didn't compensate that website for it

They generally do compensate web sites. For example, when I ask for today's weather, it comes from weather.com and if I ask for the exchange rate for Canadian dollars, it comes from Morningstar. Both of those companies have a deal with Google to provide that information.
> As the manager of the ETF you could allow it to float freely in which case it could trade at a premium or discount to NAV.

ETFs are securities that trade freely. They may be open ended or closed ended, but the price of both is determined independent of NAV.

> But it wouldn't move too far because this would attract arbitrageurs who would trade the ETF against the individual stocks and bring it back in line.

This is the creation/redemption mechanism and is actually responsible for keeping the market cap of open ended ETFs in line with the NAV. Closed ended funds don't have such a mechanism, so the cap may diverge from the NAV.

> Another way you could do this is hold a pile of units in reserve and actively sell into the market when the ETF trades at a premium and buy when it trades at a discount. This approach would not result in any volume in the individual stocks (except for re-balancing from time to time).

This defeats the tax advantages of the ETF structure. Instead of having the manager buy and sell names, APs (authorized particpants) do the trading, hedging with units of the ETF. They then do an in-kind exchange with the fund manager at the end of the day. If the AP has net purchased the underlying basket, they will exchange the basket for shares of the ETF (creation). If the AP is net short the basket, they will exchange their offsetting ETFs for the underlying basket (redemption). This should affect the volume of the constituents.

Some ETFs do not require creation and redemption to be done with the full basket of index members. These tend to be based on names that trade less frequently. In this case the manager allows a subset of the index to be exchanged. In this case, the creation/redemption mechanism will not necessarily affect the volumes of all members of the index. Note that this can could cause tracking error.

Managers will rebalance when the index the fund is based on changes. For example, bond ETFs generally rebalance once a month. Market cap weighted ETFs (as opposed to, for example, equal weighted ETFs) are easier for managers as well, because the fund doesn't need active rebalancing.
I agree that it sounds like a military op, but why assume it was the Russians? This was a civilian station. If it had any sort of listening/detection capabilities those would be a threat to all military operations, irrespective of national origin. The americans, the brits, the germans, the russians, any one of them could have taken issue with this rig.

But I think it far more likely that this was a military accident. Someone dragged an anchor, net or towed sonar array over this thing. They might not have appreciated what had happened until days/weeks afterwards.
True. We could be, but we literally fought a couple of wars to stay out of it.

https://en.wikipedia.org/wiki/Commonwealth_of_Nations_member...
It has, just in the form of Helicopters. Its been known for a while that moving a lot of air slowly with a bigger blade is more efficient than moving less air faster with 4 props.

The issue is that stability and control is easier to do with 4 blades rather than with one that has a swash plate.
Chinese firm creates first cloned kitten
The ultimate of this is libraries like BearSSL (https://bearssl.org/) that do no dynamic memory allocation at all. This is particularly nice for moderately big embedded systems where you don't want to deal with the impossible to contain complexity that comes from having a heap.
Stickers for Tech-Workers
Mixpanel | Full-stack / Front-End Software Engineers | SF / ATX / SEA | Full Time | Onsite | www.mixpanel.com

In a world oversaturated with data, many organizations struggle to identify the useful patterns and trends they need to make better decisions and achieve their business goals. At Mixpanel our mission is to increase the rate of innovation and we’re doing that by building the most advanced analytics platform. Our award winning platform is helping over 26,000 customers including 30% of the fortune 100.

We’re helping companies gather customer data, understand behavioral patterns, why they’re happening and then set goals for influencing behavior and testing ways to hit them.

Headquartered in San Francisco, we also have offices in New York, Austin, Seattle, London, France, Barcelona, Singapore, and Amsterdam! Backed by the biggest names in the investing world such as Andreessen Horowitz, Sequoia, YCombinator, and a handful of notable individual investors.

Our stack includes Python, Golang, and lots of JavaScript.

Our Open Roles: https://mixpanel.com/jobs/

Contact Directly: Ritchie.Tendencia@Mixpanel.com
> people aren’t getting compensated for accidents, by, e.g., car insurance companies

Car insurance doesn't cover 100% of costs. There's the deductible and, for many low-income drivers, the cost of lawsuits. A fully-loaded insurance plan is pretty expensive, and the unit economics likely doesn't work for a lot of these people unless they're insured with the bare minimum.

That idea does fit into the low-wage argument, because you're creating a race-to-the-bottom market among your delivery drivers such that the ones who want proper insurance aren't able to compete on price with the ones who are willing to take risks.
I'm not that familiar with io.Reader but it sounds like you might get back both some bytes and also a read error. If you handle the read error before handling the bytes by, say, "return err", then you lose the bytes you got before the error. Losing those bytes could be bad.
Next time he won't shut up, threaten to speak the nam-shub of Enki?
Statisticians want to abandon science’s standard measure of ‘significance’