skysight-inc/HackerNews huggingface dataset:
I might be misunderstanding the question; how many pairs can there be? You can't just loop over the array twice to find all qualifying pairs of indices, if there are multiple. You'd have to loop over the array n times, where n is the size of the array. Isn't that why the question is difficult? There doesn't seem to be much incentive to using a hash table, complexity wise, if you could just solve it in O(n) time and O(1) space by naively iterating over the array.
Have no idea how “right” fits with investing in a president who is clearly an idiot.

Moreover, Hillary would probably be quite right too if you took it from the perspective of European right anyway.
The Epson HX-20 existed even a bit earlier: https://en.wikipedia.org/wiki/Epson_HX-20

I did a bit of programming for one, it was a rather neat machine.
Wow really? I live in NYC and I've never seen any of that in any regular grocery store.

I suppose you might be able to do that in Chinatown or at some specialty spice or coffee stores... and maybe this is a dumb question, but: how do they weigh it?

Because with paper/plastic the weight is negligible so it doesn't really make a difference. But if you bring your own heavy mason jars then you need to tare it... and if you're doing it yourself then what, you need to affix the labels it prints to your jars? (Which would be annoying to have to scrape off every time.) Or if the cashier does it when you check out then you don't have an empty one to tare with... how does it work in practice? I'm genuinely curious how this gets solved.
FTA: "... any wavelet can be reconstructed by adding together a finite series of identical wavelets squashed to fractions of its initial width: a half, then a fourth, then an eighth and so on."

I may not follow or there's a typo above. Should the first 'wavelet' be replaced with function/signal/distribution/etc?
this sounds a lot like a taylor or fourier analysis
One observation I've made about laws vs code is that the former allows for the use of some very... convenient descriptors. The best one is "reasonable". It's used all the time in legal agreements, and it's exactly the type of mushy concept you could never explain to a computer.

And I think that's healthy. Laws are written for people, not computers, and as far as I can (I'm very much not a lawyer), everyone basically agrees on what "reasonable" means. Furthermore, I'm not sure what we'd do without that word, because you can't realistically outline every possible scenario in advance.
Hiring a bad developer can be a costly mistake. In addition to the costs for the developer, there are often other costs and productivity lost.

Basically a good coder is not the same as a good developer. Coding is relatively easy - if you can visualize and solve problems using code, then you're a good developer. It's the thought process that makes you a good developer.

Coding challenges are often a good way to test this thought process. I often require candidates walk me through their code and explain their reasoning behind everything to see if they'll be valuable on my team.

However, coding challenges are just one way to ascertain someone's thought process. Watching people work on code during a game jam or hackathon often gives me an idea of their thought process, as does the advice of other people I trust who vouch for them.

So, no - coding challenges aren't always necessary. But unless there is a better way for me to learn whether you're going to be a good developer, then I'll give you one.
Agree. Decision environments are high dimensional spaces that human judgment can tap into. Laws and rules are ways to compress that space, but the compression is lossy and can lead to a divergence between the letter of the rule and its intent.

And to add more complexity to the situation, laws and rules are but static snapshots within a dynamic system, and may simply drift away from intent with the progression of time and people's viewpoints. Kind of like a really old keyframe in a compressed video that starts smearing from the accumulation of too many changes.
Normally I hate any sort of artificial meat, but this I'm actually excited about. Fish these days have become too loaded with mercury [0]. And targeting sushi is smart of them; sushi is already so unique as a food that it doesn't even register as meat (at least to me).

---

[0] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1241452/
> Personally, I see limited benefits to making things fully distributed at the runtime level. I'm sure it's nice sometimes.

I think it's nice because when you write code as processes that receive requests and send responses, they can handle requests from the same node or different nodes with no change in code, you only change where you start that process (and make sure you register the process somewhere either as a named registered process or pg2/pg or whatever). Certainly there can be some scaling difficulties (see Rick Reed's talk linked elsewhere), but it generally works. And, you can move the processes while the system is running to address changing needs. Building on top of asynchronous messaging makes it easy to do things like normally wait for a reply after sending for a synchronous feel, but occassionally doing multiple sends and then waiting for parallelism, or just sending without waiting for a reply when that's appropriate.

> BEAM also support shared memory concurrency? A little thing called ETS? I would guess that there are other escape hatches as well, but I'm not familiar enough with Erlang or the BEAM to say for sure.

Ets is built with shared memory, yes, but interaction with your code is as if you were messaging a table process; the data you get back from an ets read won't change while you have it, but it might not be what you wrote, because another process may have written something else; same as if another process messaged a storage process in between your write and read. ETS is less of an escape hatch and more of a performance optimisation -- acknowledging shared memory concurency is helpful for data storage and retrieval, but it's tricky to get right and should be written once, so BEAM doesn't give the tools to do it and it needs to be done in C.

You can also do fun things with erlang:process_info or tracing to snoop on some data from other processes (but I don't think modify?). And, BEAM allows native code (NIFs) which is the ultimate escape hatch --- you can do lots of fun things there, of course.
Don't all those things come in packaging already? Aren't you just switching one package for another? What's the difference in keeping pasta in the plastic wrapping it comes in?
I wish could done it your way. My journey was rather haphazard but one I'm proud of none the less. Sorry for the confusion, I studied creative writing in college. I initially gained most of my tech skill volunteering to build websites for non-profits and self study and eventually got a masters degree. Most of my job came from being able to sit at the intersection of business and technical teams since I was communicate relatively well about technical to non-technical audiences.

Working with applied AI problems also showed many of the limitations of the current research. I felt there was opportunities to move the needle on fundamental research through applying to more complex problems.

As for leaving industry, it a mixture of motivations. Most my of experience in AI is through applied work and self learning. I really wanted to build a strong theoretical foundation so I could have to ability to solve more complex problems that I saw in our startups. The second was intellectual curiosity and passion. I'm fascinated by words, NLP and AI. I love storytelling and find it fascinating that our experiences both socially and with reality are mediated through language. In many ways working on NLP and AI has made think deeply about how we use language to communicate and be humans. Finally, I'm I kind lucked in opportunities to do deep learning research without a phd and formal training. This really isn't replicable outside of the startup space as most ML/AI research requires a phd.
Add a "legacy" namespace and move all existing packages there. Allow for a transition period where tooling will add "legacy" to instances where no namespace is given. Add a mechanism for legacy packages to indicate their new namespace so that transitioning could be mostly automatic for package users.

Not effortless, but not necessarily very costly either.
Hey is not a reader app, so the rule for reader apps does not apply.
What exactly do you mean by automate? Like the http server for example?
I mean, you could - it's not going to make things less secure to add port knocking - but I don't know that it makes things significantly more secure. The chances of there being public 0day exploits for a VPN and SSHD at the same time is pretty much zero, especially if you add in additional layers such as 2FA (which I would recommend doing)

If someone is burning multiple private 0day exploits to target you then they are attackers at the level where port knocking is not likely to foil them either.

(And to be clear, I just think that port knocking is a bit silly - not that it's totally ineffective, and it's not what I would call security through obscurity, since it is effectively another auth factor with a simple PIN)
Yeah, the thing is to have codified questions. Seems weird but that's how the law does it. We are always asked to frame things in terms of what a reasonable person would find explicit, threatening, likely, implausible...basically, the law asks you: can you answer this question with a straight face?
Given this, what are some reasons why single-rotor RC aircraft have never been as popular as quads?
how did you go from hey this might a common problem to let's build product?
I don't ask candidates these kinds of questions in my interviews. For a coding interview, I'd normally ask them to implement something like backend rate limiting logic for an authentication service, and continually ratchet up the complexity on each successful implementation until the end of the interview.

I was asked the two sum problem in an interview once, but I forget if it had this constraint or not. This seems much more reasonable.
Dupe of https://news.ycombinator.com/item?id=24421247
This is great. I have found that breaking things into step-by-step checklists works well. For example, I had to grill some burgers the other day. It was overwhelming to think about, and I know that sounds ridiculous, but it felt like the entire task from “Go to store” -> “Serve burgers” was a huge, intractable spaghetti bowl of tiny steps that I couldn’t differentiate. I was really motivated to complete the task because it was for someone’s birthday, so I popped open a trello card and pictured each step:

1) Google list of ingredients

2) Go to store and buy ingredients

3) Google how to use grill

4) Clean grill

5) Preheat grill

6) Prep tomatoes, lettuce, etc

And so on... it’s a surprisingly huge amount of steps which kept collapsing into a blob of ugh in my head. The burgers turned out amazing though.
I built gpupricechecker.com
As the Wiki states - that Prussian monarchists, nobility, Roman Catholics were enemies of the Nazis is a fact. It doesn't fit into the ideals of Washington or Moscow during the 20th century - but it is still true.

Family relations don't matter - but if you're playing that card then I'm related to William Donovan.

If you're reading this dang - you owe me a beer.
Covid-19 changed user behavior
NS8 CEO resigns; investigation and layoffs follow
How does the smart contract interact with data stored in IPFS? Are the automatic payouts handled on chain or is there an off-chain process initiating those payouts?
> “I’ll know it when I see it”. And we think that you will also know it when you cross it.

Which means different app reviewers will have different interpretations of it. A problem that exists now.
Would this also apply to forcing users to enable location for content that only partially requires it? In particular, Snapchat has some location-based filters, but even the ones that don't require location (purely cosmetic, rewind, slow-mo, etc filters) are disabled.
Hey, yes — you can do this with a VPN.

Check out NordVPN.
200K is base. The taxes on this wage are hefty in UK. The monthly takehome is less than 10K.
The glimmer of hope that I have is that the same sort of market forces that create these problems can be marshaled to solve them. For example, if the wealthiest countries implemented a carbon tax including a border adjustment (accounting for goods from countries with a laxer carbon policy) would give governments a single, simple dial that the could turn to lower carbon emissions. Similarly, we ought to be able to implement other kinds of ecological taxes to great effect. However, arriving at that kind of policy is a purely political problem.

In the meanwhile, there are other market-based solutions, like organizations who certify products' sustainability. The certifier allows the manufacturer to place the sustainability trademark on their products if they pass the required audits. I'm of the impression that this has made a significant impact for forest-derived products via the Forest Stewardship Council (https://fsc.org/) with a handful of activists decades ago pushing the largest retailers (e.g., Home Depot) of forest-derived products to invest significantly in FSC-certified products.
They are certainly not something the average person would recognize. Neither are terms I have heard before, but I'm in a constant struggle to get myself to read more.

The complaint is that they're senselessly highfalutin. "Praxis" seems effectively synonymous with "in practice"; why would you choose to use a term that has a reasonable chance of being unknown to the reader instead of the nearly universally understood alternative? This is not a work of art, designed to be appreciated for their choice of words and style. This is a declarative document simply stating their decision and why. It should be written at as low a level of reading as is possible without being prohibitive. The choice of less common language serves as nothing beyond an impediment to readers.
This is disgusting, Apple is clearly behaving like a bully. I hope Nvidia/MS/Google don't cave; yes, you lose some potential profit, but stand up for something.

Once my current XS finally dies, I'm moving over to Android (even though I've been on Apple for 10 years, I can't accept this behavior as normal).
I think there's two different things we're talking about here, one is hiding things and the other is using obscure ways of doing things.

Changing your SSH port is the former.

Using NETRJS instead of SSH is the later.

Hiding things is just a good security practice in general (just understand hackers have access to port scanners) so that kind of "security through obscurity" isn't a bad idea. Using obscure protocols is something quite different, and really shouldn't be in the same category.
This is awesome. I have taken a number of code challenges and walking away with neither, compensation nor explanation is rough.
idk i do well in them
Telling myself I only have to do it for five minutes and then I can quit is usually enough to get me started. Never actually have to quit. Another approach is to take three steps back and think about how to change your life so these tasks are never your problem anymore.
Not sure I believe the 20 miles thing unless you could count an old road that hasn't been used in 100 years as "developed".

There are massive swaths of land in the lower 48 that are pretty much untouched beyond a few footpaths that are rarely used.
Is it already that time of the week again?
Return values are a million times better than checked exceptions because return values compose and return values don't collide with the rest of the langugage.

Checked exceptions are basically monads but with all the disadvantages of monads but none of the advantages. There is a reason no language since has copied them.
You’re only considering one side of the costs. Obfuscation mechanisms also impose a cost on your legitimate users. There’s lots of reasons why you want your users to actually buy in to using your security controls, and annoying controls with highly questionable effectiveness is the best way to kill that buy in. Users will only tolerate so much burden from user facing controls, so you want to make sure all of the controls you impose upon them are actually useful.

The other thing that’s harmful is relying on something to provide security, when it actually can’t. That’s actually going to have a negative impact on your threat model. People will say (they’re even saying it in this thread) that their port knocking or non-standard port usage has cut out the port scanning noise in their logs. But who cares? A properly secured ssh port isn’t going to be cracked by an automated scanning tool. But a poorly secured hidden one will be easily found and cracked by any motivated attacker. You have to implement the proper control anyway, and the obfuscation one ends up providing no benefit while simply annoying your users.

Security by obscurity is dumb, it doesn’t provide any benefit. Security in depth doesn’t mean multiple layers of controls that don’t work add up to one that does. Obscurity is just a way of spending your scarce resources on controls that don’t work, and wastes your scarce command of your users attention on controls that don’t work. So in reality, they’re also always coming at the opportunity cost of controls that actually do.
We use a coding challenge as well but I like your addition of "auditing" the coding part and using existing open source or side project work. Bonus points if it uses some of the target technologies too!

The author doesn't appear to understand the economics of the hiring company; it's about time & effort to filter and the cost of making a bad hire. I cannot give every application 1-2 hours of review if I get 100+ resumes. I can't give every interviewee a half-day assessment to get the very poor signal/noise ratio answers to questioning methods suggested. I can't hire easy and then fire easy. I can't invest weeks of work from myself and other mentors on non-ideal potentials. I know this means I pass over great candidates and that really sucks and is totally unfair. I'm sure that's happended to me as well. The problem is nothing presented here is a better alternative.
Maybe the downvoted are from the use of the word, “amphetamines”, but at that point I assume the amphetamines are prescription Adderall or such.
We do need regulation that will protect developers and consumers from the huge monopolistic power of platform owners like Apple, Facebook, and Google. The regulation would be targeted specifically at those behemoths and not at small fry developers, since those don't have significant market power.

Today you don't need an army of legal people to deal with existing anticompetitive regulations if you're not a behemoth yourself. To argue that regulation designed to protect from monopolists will actually help those monopolists by its mere existence is ridiculous.
Crossing concerns here:

Assignments can be helpful, but they can also be time consuming which is unfair.

Do the code or whiteboard 'on the day' - enough with the take home tests, or, pay people to do the tests.
Of course it is, it's a way to gauge whether "someone is dedicated to the job by cramming the algorithms section they haven't touched in years"

I've done dozens of interviews and after all of it, I realized there are only four qualities we quantify as useful: caring, ability to listen, ability to learn.
Just because they will do it eventually doesn't mean they are wrong now. It's entirely possible that a flat namespace is reasonable decision for a small registry with few resources, but a bad decision for a well funded registry of an ecosystem that had a few more years to develop.
Oh, so they're saying that they don't need a 30% cut of items they neither created nor sold? How magnanimous.
Same. On a meta-note, it's amazing how many times I rediscover that unpleasant parts of my psyche are not unique to me, and still I'm under the illusion that my hardships are mine alone.
This is not required by GDPR.
The thing is anything which can break your code implicitly in messed up ways like memory violations require unsafe code which if possible should be avoided and most important makes it easier to pinpoint what to review if you run into unexpected strange bugs.

Sure reviewing unsafe code isn't perfectly ready often it relies on invariants uphold outside of the unsafe blocks (in the same type).

Still much better then having to review everything ;=)
This is why when I'm building APIs or libraries that are meant to be used by developers I won't consider a feature "done" until it's both tested AND documented.

The documentation is the contract that I use for semver. If something is documented, I can't break it without bumping the major version number. If it's an undocumented internal class or function I can change it any time I like.
At this point I think I’d like to see Apple allow a form of third-party payment. It works well enough on the web without tons of scams, it could be done on the iPhone.

Let developers choose between any “certified“ payment provider. Apple would be one, and then you could add Square, PayPal, and other big companies that could jump through Apple’s hoops. Like making sure the refund experience is easy so no one can make really convoluted anti-user workflows.

Maybe app purchase still has to go through Apple, it’s only IAPs that can go through anyone.

Apple, naturally, would be forced to lower their cut because otherwise why would anyone choose them?

I’d be happy to choose them as a user over other payment providers if given a choice. I like the current payment experience on iOS.

Apple can even keep all their crazy rules like Marco is talking about. It’s just the other payment providers wouldn’t have to follow them. Let Apple see how well that goes.

Anyone can take payments, using any big provider, for anything on iOS. Seems easy enough.

I don’t think it’ll ever happen without government intervention though.
Attack Surface
Yeah but would I store food in a paperboard can that somebody else had grubbed their hands around in? Maybe its not dooable.
I'm guessing they'll start using File Coin for storage as soon as it's ready, but yeah I think you're correct.
> I am an admin, should I drop everything and fix this?

> Probably not. Raccoon is a complex timing attack and it is very hard to exploit.

Nice of them to put this up as one of the first non-technical bulletins.

No need to feed hysteria.
so much complaining
Can we also add to the list of things that we don't need 8 interviews AND a tech screen to figure out whether a person can code?
That's only 3
Thoughts in the Presence of Fear (2001)
You never had control with Apple. It didn't seem to matter to many for the longest time.
Security by obscurity naturally transform security into a probability. When you use given hard opaque rules (e.g. TLS + X Y Z) you stop thinking in depth.

Instead when you think about layers of obscurity, you go much deeper affecting the probability at each layer (host, port, etc.)

In reality, at a different conceptual level, things like TLS are also bundles of obscurities.
These fires are not in the cities, these are forest fires that are burning small rural towns.
Fourth quality: ability to count
Yes, QSD was hosted on a Minitel serving node/system but was mainly used for international chats. So we can say that QSD “abused” the x25 interconnection of a Minitel server in order to provide chats mainly to hackers.

Common people there: BayernPower, Gandalf, ... long time ago.

It was 0208057... something iirc.
I generally prefer to code one active thread per process, with multiple processes when I want parallel work. They communicate through shared memory, generally single-writer enforced by the OS.

So, yes, there can be equally rigorous system-level disciplines that substitute for language-imposed ones, and that can offer much better performance. But it does take a lot of experience to choose well.