skysight-inc/HackerNews huggingface dataset:
I think many people struggle with understanding "Dynamic Programming." Hopefully the following clears it up for you.

Dynamic Programming can be done using Memoization (top-down; aka recursively) or Tabular method (bottom-up). So what's the difference?

When you see top-down, it means to start from the root of the problem and recursively descend to the base case. As you pop up the stack, you will either calculate and store the result or look up the value in the cache. e.g., in the Fibonacci sequence, check to see if fib(4) was already calculated. No? Calculated and store it so the next time you come across this, you can use the result and not worry about processing fib(1), fib(2), fib(3), etc.

When you see bottom-up, think about filling out a table from the upper left corner column by column then row by row. To speed performance, you'll look at prior values, the value in the column above vs. column to the left vs. or column diagonally to the left. I know this sounds a bit strange, but if you solve the following problems, you'll see a repeating pattern.

Edit Distance
0/1 Knapsack
Rod Cutting
Longest Common Subsequence
Longest Path in Matrix
Coin Change

I've been writing about this in detail. Eventually I'll publish my writing to help others. I solve ~20 problems using Memoization and the Tabular method. As I solve each problem, I compare the solutions with prior problems showing the pattern. What I want to do is help people spot "patterns" vs. memorizing algorithms that are very problem specific.
Only company I know of asking for "Dynamic Programming" is LinkedIn, is there any others?
> I’m trying to figure out when it is acceptable for people to censor ideas so others will not discover them

Perhaps when not doing so would perpetuate the resurgence of a life-threatening disease that, until 20 years ago, was virtually eliminated in the US?

> each individual is subject to the ignorance of their time.

True. They are also subject to the responsibility to think rationally and use the provable, reproducible evidence at their disposal to make decisions. Especially when those decisions have life-or-death implications not only for their children, but others’ children as well.
> Since it's easier to spot pornography in general than differentiate between very disturbing types of pornography, the work load is lessened and overall less stressful. Not to mention the amount of work ai could automate. That's your point, right?

No, detecting child pornography by matching photos to known datasets and then extrapolating rings dedicated to sharing child porn from the social graph is already a solved problem. NCMEC already provides the tools to do this. You don't need to do any image analysis.

There are no effective tools for detecting porn more generally. That's a much harder problem.
> To begin at the beginning is tricky. Did the empire begin when the emperor
> Constantine moved his capital from Rome to Constantinople in 324? When the
> city was consecrated by both pagan and Christian priests in May 330? Or did
> it begin in 395 when the two halves of the vast Roman empire were officially
> divided into East and West, or even later in the late 5th century when Rome
> was sacked, conquered and governed by the Goths, leaving Constantinople and
> the East as the sole heir of the empire?

It's tricky to define the beginning the Byzantine Empire because the Byzantine Empire is a construct invented by Western historians.

The Byzantine Empire is just the Roman Empire.
It is also worth noting that there's a big difference in enrichment plants for power plants vs enrichment plants for weapons grade material (this was a big part of the Iran deal). That being said, it isn't like you can't make a weapon out from the power grade enrichment plants, but it is substantially harder. It is even harder if you're being watched (by say... the US or Russia).
Awesome work!
Here’s a similar project (done using an fpga) I saw on github:
https://fotino.me/consolite-fpga/
I really doubt it. The type of reasoning needed for dynamic programming interview problems is barely connected to DP in reinforcement learning.
>it's not accurate to call `malloc()` and family in glibc the "operating system's memory allocator."

I watched an interview with Bryan Cantrill some time ago and one of the things he mentioned is that libc is considered part of the operating system for other unixes, and Linux is the only one that decided to redefine operating system to exclude libc.
Dynamic Programming and memoization are definitely related techniques, but they are emphatically _not_ the same. Memoization is a black-box approach that can be applied to a generic recursive top-down, depth-first algorithm. Dynamic Programming is about rewriting the recursive top-down algorithm in a bottom-up, breadth-first manner.

Shriram Krishnamurthi explains it best:

https://blog.racket-lang.org/2012/08/dynamic-programming-ver...
Did you sell stock as soon as it vests? Why?
Hi-Ten Bomberman, the first HD video game, has been found
You paid yourself $150k in your first year as startup founder? Huh.
The article spends its last three paragraphs talking about Tesla:

When we were theorizing about a gifted car plant, the example may have vaguely sounded like Toyota’s NUMMI plant, that was, for practical purposes, given to Tesla in 2010 in exchange for shares. A year later, Toyota opened its first simple, slim and flexible plant as a pilot north of Sendai, Japan, and a few years thereafter, Toyota sold its shares in Tesla. If the relationship would have lasted a little longer, and if Elon Musk’s hubris would have been a little less pronounced, Tesla could have learned something.

Before landing in production hell, and pitching a tent to make his Model 3, Musk promised that he would out-Toyota Toyota when it comes to lean manufacturing. He had a catchy name for Tesla’s non-existent miracle plant. He called it the Alien Dreadnought. I ask Akahane what Toyota calls its super-flexible line.

“We don’t really have a name for it,” Akahane says, and he doesn’t seem to think it needs one.
It fascinates me that people think that innovation should just have stopped dead in the late 1970s when all technology was apparently perfect.
Grow your instagram account doing these
If I never had to worry about healthcare or education costs for me or any member of my family for the rest of my life, I'd be fine making half of what I make now.
The first thing I though looking at the #3 is: Who is http://chris-granger.com ?

Answer: He was the main developer of the Eve programing language.
Read the document: https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELE...

That's the cheapest. It's not really that hard to understand. I'm not a lawyer, read it and had a GDPR consulting firm review the tweaks we made of our systems. They were happy with it.

But if you're working for a larger company, then consult with their legal department or have the company hire a GDPR consulting firm. They should be able to afford it without a problem, and will likely be happy to support such an action if the non-compliance risk is deemed large enough. A business decision, not a technical one.
Can you ELI5 the use cases?
All excellent points. I'll just add that often times step functions observed in obscure dashboards have been major signposts in identifying arcane root causes... (hey, look what ELSE happened suddenly at about 4.34am!)
Less restrictive regulations; NIMBY (Not In My Back Yard) policies :)
1. Judging how smart the people there are by their tech stack is like judging how much horsepower a car has based on how many miles it has.

2. Even humoring that assumption, you’re conveniently forgetting React, Hive (+Hbase, hipal), presto, rocksdb, Cassandra, graphql, oauth 2, open compute, phabricator, hhvm, buck, and that’s just the open source stuff.
AT&T and Verizon started actually building out their fiber networks more aggressively when they saw google entering the space

That doesn't seem to mean anything when all the company cares about is next quarter's stock performance.

When I moved to Seattle, Verizon had recently abandoned its fiber network there, and my neighbors were so mad about it that they didn't trust any ISP.

I tried to Google it, but Big G disappoints. Perhaps someone who lived in Seattle (especially the East Side) and remembers this can shed some light on it.
China Scrutinizes $43B Pawn-Shop Lending Boom
On sale for US$410 retail right now, including shipping to EU (possibly from EU warehouse) if you choose the Fast-08 warehouse:

https://www.gearbest.com/skateboard/pp_596618.html
In contrast, I find that the ability to formulate a problem using DP coorelates with whether a person is able to think in a mathematical way. In many dynamic programming problems you need to first define a function P(i,j) or some such, and then define it recursively; when proving the correctness, you use induction. The ability to grasp this recursion and induction is correlated with the level of abstract mathematical thinking a candidate is capable of.

That said, if a candidate goes to LeetCode or some other site to practice all the DP problems, then it's possible that the candidate can only solve DP problems without gaining other abilities.
Tumblr's porn ban has literally nothing at all to do with the App Store. The porn ban is because of SESTA/FOSTA.
As I just said, you're conflating the social network with Facebook the company.

Instant feed-based communications with varying levels of follower/friendship levels is a new technology provided by many organizations. Some are massive monopolies and others are indie apps, it doesn't matter but the tech is not going away so yes, we the people will need to learn how to deal with it.
I suspect they're the exception, although they may be including stock options or could even be nonsense, this being the internet and all.
The rats are leaving the sinking privacy nightmare ship?

If the co-founders of your only significantly growing products (Whatsapp and Instagram) leave (publicly in disgust about product direction) and your Head of Product for similar reasons now too this makes me wonder what working in Product Manaqgement at Facebook is like these days.

It's the Zuck way or the out-the-door way? Why would any semi-creative person want to work under those circumstances?
My progression:

23 - 45K (University sysadmin, east coast)
26 - 60k (University research systems programmer, east coast)
31 - 65k (SWE, small IHV, remote)
32-42 -- incremental raises up to $145K (senior SWE, same company)
43 - 425k (Senior SWE, Google, Mountain View CA)
44 - 390k (Senior SWE, Google, Mountain View CA)
45 - 350k (Senior SWE, Netflix, Remote)
46 - 400k (Senior SWE, Netflix, Remote)
47 - 525k (Senior SWE, Netflix, Remote)
48 - 600k (Senior SWE, Netflix, Remote)
49 - 800k (Senior SWE, Netflix, Remote)
As per OP, using NRF you can fine-tune what is blocked and what is not. Say, for a game with an online component you would want to allow the game to access game servers, but not the advertisement servers.
Tesla Model Y Livestream (Direct Link)
> "Zuckerberg's vision of Facebook as a good thing for the world was a lie" - That is such a broad generalization. In the developing world where I live Facebook gives me the opportunity to maintain contact with my family who live on the other side of the world, as I walk the streets of São Paulo, for free.

Both can be true of course. Zuckerberg may well have been driven by a less than altruistic vision but nonetheless still enabled some to benefit from the service.
What I truly don’t understand is why we can’t vote with our phones in this age
Make your software to the same fine degree as one makes an airplane and maybe you’d even deserve the prices you quoted.
The last time I played with a Smalltalk, all the code was one big image. There was no way to run multiple VMs.
Y Combinator Considerations
The skeptic in me has yet to come to a firm decision about why it makes sense to try join Ycombinator.

Ycombinator provides ($150k) in return for 7% equity. If a startup is hoping to give up 10-20% stake in the company after their seed round, the majority of the funding is going to have to be at a high valuation after already giving up 7%.

Say I'm trying to raise a $1.5M seed round, the math requires a post-valuation of ~$10M and give up ~20% OR a post-valuation of ~$16M and give up ~15%. IMHO, those are sky high valuations for an early startup.

While having a high valuation means your company is valuable (and the YC brand helps with that), the company is already offset by the YC $150k. This could cause trouble for your next round of funding for reasons pertaining to existing and/or new investors expectations if the trajectory doesn't stay rocketship.

Let's just presume the downside of joining YC is the high valuation after a seed round. So what are the benefits?

1. Easy access to investors - I think this matters tremendously to folks who are brand new to startups. But useful if you are already connected through your existing work or academic affiliations? At the end of the day, all investors are looking for great companies and they are trying to find you too.

2. YC Mentoring - YC startups have probably endured the majority of pitfalls, challenges, and issues that can occur. Their experience is super useful and valuable, but 7% useful? I suppose if you argue startups tend to end in a 0 or 1. I just feel such reasoning can lead any company astray..

3. Anything else I'm missing?
I would also add that by the time a company is accepted into YC, they tend to already have something going for themselves, usually momentum or traction of some sort. If that is the case, what is the value of their 7% buy-in vs. doing more of what the company is already doing right and trying to raise a similar seed round (possibly at lower valuation)?

PS I'm not trying to say Ycombinator is bad, I'm just trying to solicit opinions and make sure I understand the reality.
In short, $1000 isn’t anywhere close to enough to fix the problem, and if it was an amount large enough to fix the problem, I believe it would be extremely destructive to society.

The how to pay for it, while important, isn’t even a big concern for me. I think how to pay for it is a moot point.
For folks in the United States, if you want to help, your earnings history is available via the Social Security website.

https://blog.ssa.gov/tag/earnings-history/
Returning to my point, which is that he'd need to do this without anyone noticing.

A bit difficult since there are officials watching you put the ballot into the box. Or, gee, that's weird, failing to put the ballot into the box.
>Steam is popular and has a loud following because it does not make unethical choices that annoy users.

I don't think that's true. I think Steam is popular because they were in the right place at the right time. Before Steam, the alternative for most games was driving to the store--that's who they were competing with. Steam has done many things to annoy users--they allow their store to be filled with absolute garbage shovelware for one.

They still thrive because of momentum. The games are there because the user base is there, the user base is there because the games are there.
Hmm, maybe I guess. It was all under the U-Verse brand at the time. I remember they offered something like a 150Mb download, but it was around $300/month.
I've been running NetGuard with default-block on apps.... and I've been loving it. Most games don't need internet access, and no internet means no ads.

It boggles my mind that internet is not a revokable permission. Anywhere. I'd be happy to give X access to e.g. contacts, as long as it cannot upload that info, but until I ran a local VPN that hasn't been an option at all.

Why are (stock) mobile permissions so user-hostile?
That doesn't prevent the following scenario:

* play the game in an airplane mode

* switch to another activity and turn on the internet

* game prefetches an ad or even several while in the background

So next time you launch the game you'd have to see those cached ads. It's definitely better than having the game fetch and shove them in your face all the time, but still it isn't a complete solution in this case.
Artificial Intelligence Policy: A Primer and Roadmap [pdf]
I can't remember the video post, but something similar was here few years ago and the guy decided to make a video series for the project.

Can you do the same for a new project from start to finish?
Isn't that how Signal works too? What else would it do, disallow you from continuing the chat if the key changes?
It's high time we started enforcing that by default at the OS level.
Kansas Graduates More Engineers Than It Has Jobs
These birds are out of control.
I'd say that in competitive programming, bottom-up is actually preferred.

Bottom up is faster, usually shorter to code, and allows certain kinds of optimizations you can't do with top down (sliding window, convex hull trick, etc).

Top down frees you from needing to think about order of computation, and also allows a different set of optimizations from bottom up (divide & conquer).
So, I should review my Thinking Forth book before the interview to get my bottom-up practice, or am I totally missing what is going on?
Edit. Saw you are remote for netflix. Can you expound which location you work out of? And where the team is located? Am amazed by 800k.
One of the techniques as described in CLRS is to first find the subproblem graph.

Consider Fibonacci sequence:
f(0) = 0;
f(1) = 1;
f(n) = f(n-1) + f(n-2)

If we solve it naively, complexity will be O(1.6^n).

Now we can solve it in DP using two ways:

1. Top Down: Instead of recursively computing the same subproblem, just store the value of this computation and look it up when needed. That's it.

2. Bottom Up: One cannot come up with bottom up representation directly, unless we identify its recursive pattern and subproblems. Once we have this recursive pattern, just plot a graph for some values and we can identify overlapping subproblem and its overall graph.

Constructing graph for fib(5), we can see solutions from fib(4) and fib(3) are needed. Therefore, we need to find fib(3) and fib(4) before even solving for fib(5). Once we identify this graph, we can do bottom up, where we solve base solution (trivial or first node in graph) and construct our solution based in it.

Therefore, easy approach is to solve it top-down. Once it is done, we can identify subproblem graph and construct bottom up solution.
There's a manga series on STEM topics:
https://www.amazon.com/Manga-Guide-Databases-Mana-Takahashi/...

https://www.amazon.com/Manga-Guide-Electricity-Kazuhiro-Fuji...

I actually learned more from the manga database book than from many other serious database books.
> So it looks like they might have already been using PhotoDNA.

Of course they were working with NCMEC (and therefore using PhotoDNA, which is owned by NCMEC); it would have been legal suicide for them not to. They were doing this for years, before they were even acquired by Yahoo.

> Maybe I'm misunderstanding, but PhotoDNA seems to be a tool for identifying reposts and edits of already known illegal images -- those that have previously been found and had their hashes entered into the database. So if Tumblr had a problem with original content (which could include underage users posting explicit pictures of themselves, as well as the worse things we think of when we hear the phrase 'child porn'), I don't think that would help.

How many people do you think have Tumblr accounts where they post only new, never-before-seen pornography of underage children, which has never been posted on any other blog before, and never once post a single photo that has been previously identified as child pornography[0]?

Of those, how many do you think are able to ensure that none of their followers ever repost/reblog that photo on any other blog which also happens to contain at least one other photo that's been previously identified as child pornography?

Of those, how many do you think are able to ensure that none of their followers have been previously identified as highly-connected nodes in the underground networks dedicated to sharing child pornography, and therefore pretty much exclusively post child pornography or follow people who they believe are likely to post child pornography?

Of those, how many do you think are able to ensure that nobody who ever sees one of those photos ever decides to download it and upload it as an attachement to an unsent email in their Gmail drafts folder, or put it in a private Dropbox folder (shared with nobody), or sends it on any of the many "cloud" services which also actively monitor for child pornography and do the same sorts of graph analysis to identify people who are using their services to store or share child pornography?

Again, once you understand how these underground networks work, and once you realize that this is mostly a problem of social graph analysis and not image recognition/classification, you realize that it's very easy to solve.

[0] Remember, not just new to Tumblr, but new to everyone who is working with NCMEC/ICMEC (which means every large and not-so-large company in the entire world that hosts user-provided content).
VCs will be fine. The real test will be after those companies go public.
This is a comment to demonstrate the differences between DP and memoized recursion to people in the sibling comments.

When I was learning DP vs Memoization I thought Floyd-Washall algorithm to find shortest path length between all pairs of nodes in a graph is a good example of DP that wouldn't work the same way with memoization.

In FW algorithm, because of the order of filling up the table and discarding old values on the go, we are able to run the algorithm only using O(n^2) memory, but if we were to run it in a memoized recursive fashion, I would guess you will have to do with O(n^3) memory.

Another example is when a recurrence in DP only depends on the previous row (if we are going row by row) and you can only keep around O(n) memory swapping two rows representing the current row and the previous one. In a recursive black-boxy memoization method you will have to do with a full O(n^2) memory usage.

Finally, there is a technique to do DP on a table using O(n) memory vs O(n^2) and recovering the optimal path by recursively splitting the table into halves and only storing O(1) rows at a time. This technique is more complicated to explain in an HN comment tho.

Update: forgot the simplest example: fibonacci numbers. In the top-down approach, you would memoize results based on the index of the fib number, so you would need an array of results caching O(n) values. But if you build it up bottom-up, you can get away with only using two variables: previous and current and the do something like:

prev, cur = cur, prev + cur
Corn is how almost all ethanol in the US is made, so it's absolutely true.
> Usually you need that ID to exercise your constitutional right to bear arms.

12 states have constitutional carry laws. I can buy and carry with no ID needed.

As for voting and issues in obtaining valid ID, I can guarantee if you're on HN, you are not the group being talked about getting an ID.

I had to obtain a birth certificate from my state. I had to drive 3 hours away, and pay $25, and drive 3 hours back to get it. And for someone who doesn't have a car, lives in the city, and lives week to week, they won't be getting a valid ID anytime soon.

Oh yeah, and they're primarily black and poor. That's why the racist claims are made.

https://www.citylab.com/equity/2018/11/voter-suppression-rac...