skysight-inc/HackerNews huggingface dataset:
(Brave employee here)

The Rewards feature of Brave is what allows users to pay creators and also opt-into ads. This feature is completely optional though. It's off by default and users never get bothered about it

Brave is actually a proper fork of the Chromium code-base and builds on top of it, which is a lot more involved than a theme. The work that's been done is fairly significant if you wanted to give it a try. Even if you never enable Rewards, there are some great features and under-the-hood tweaks for privacy, Ad-blocking, and tracking protection

There's a list of ways that Brave deviates from Chromium here for quick comparison:
https://github.com/brave/brave-browser/wiki/Deviations-from-...
> It means the supplement was in fact reviewed/approved by the FDA

The FDA does not "approve" supplements, period.

https://www.fda.gov/consumers/consumer-updates/it-really-fda...

"FDA doesn’t approve dietary supplements." (from ^)

FDA approval means, specifically, that "the agency has determined that the benefits of the product outweigh the known risks for the intended use." (from ^)

And the FDA makes no such determination for dietary supplements. (from ^)
Does BAT fluctuate that much?

Lately I see one of two things :
1. The market is up, BAT loses value because BTC sucks all the air out of the room with n00b investors.
2. The market is down, BAT loses value because BTC valuation scares off investors.

Otherwise, Brave/BAT team can announce features & partnerships all day long and the price literally never budges.
Memorizing everything is not required, there is reference documentation. Learning the language would familiarize you with the important syntax, as with any language, and all languages have such oddities, they just appear in different forms.
32-bit internal architecture here meaning 32-bit registers, and a greater than 16-bit address space (yeah it's not full 32-bit, but neither read the full 68000).
Not at all. If you have contributions/tips earmarked for a property that is not verified, those rest in your wallet for up to 90 days. If, during that period, the property becomes verified, the tokens are transferred. Otherwise, after the 90-day period, the tokens are released back within the wallet to be used elsewhere.
Ask HN: The Entrepreneur Meme
How do you even claim to be entrepreneur now that everyone is an "entrepreneur" on Instagram?
An opposing theory would be that more and more people are breaking away from 9 to 5 office jobs, that mostly require short hair and shave.

Independent, rich and alike unemployed people can dress and style themselves however they like. So it's hard to tell.
Safety razors tend to be quite rough, and the canned foam offers little protection. Consider using a double edged razor and better cream (my personal usage is a merkur handle w/ feather blade, and cremo cream; a fairly cheap and effective set)
Costco in China: Brawls and mobs on opening day
Because they wanted to do an ICO.
Yes for Perl 5->7, but it would be good to have a solid-ish feature change or addition to justify the jump and promote it.

When I see that we still don't have a simple "is item 'in' set" operator, 12 (?) years after the introduction of smartmatch and 5 or 6 years after its half-retraction...

(Well, we still have no sets either :-), let's talk about lists/arrays...)

When I see we still don't have a clean function parameters declaration system (better than the mess with prototypes and signatures)...

When I see that constants, enums, simple structured data (C-like-ish structs) still have to be simulated with functions and/or objects and the weight which comes together...

...On one hand, it gives a set of features that could be used to justify a jump. On the other hand, if these basic features has never been deemed useful by the language leaders until now (that is, during a couple of decades), I have little hope they will change their minds.
My kid plays 1-5 hours of Xbox every day. There’s no way I could pay $1/hour.

Renting game consoles only works for casual gamers or super hard core people who want $5k rigs. Casual gamers don’t care, I think, and use their 5 year old iPhone. And there aren’t a ton of super high end gamers. And I hang out in gaming cafes where people pay $6/hour.
Yes, BATs stay in your wallet until they become verified
> wanted to add that barbershops have also started to appear in considerable numbers in Bucharest, we definitely didn’t have them in the past.

I'm a bit confused, do Romanians not typically have their hair cut by a professional or is there another term than "barber" / "barbershop."
A Molecular Near Miss
Never had a problem myself doing that - your developers should have sent a list of what modules need installing and deltas for every release.
Another interesting build currently being polished up is SnapOnAir's Blaspberry v2. It's deemed a "communication tool". They've made a modern day pager as well, but the new one is like a linux blackberry that is entirely open source.
The developer has been in talks with arturo about working together on it (based on their tweets at least) using that q10 keyboard. It's pretty damn impressive and I've seen doom running on it (though that's not the highest benchmark).
To be clear I don't mind simplifications, metaphors, etc. I just don't like _bad_ metaphors that are desired just because they're satisfying.

Bad simplification: "The CPU is like the brain of your computer"

Better simplification: "The CPU is like the conductor of your computer"

You may not think my "better simplification" is so great either. The point is, somebody may be satisfied with the "brain" answer because it feels right, but (IMO) it doesn't actually give you a better understanding of the situation.
> The vast majority of customers want

Customers choose from the options that have been marketed at them.

What the "vast majority of customers want" is a lazy, pessimistic, terrible way to invent the future. Where's your imagination and ambition for the way things could be? Have you forgotten that we have choices far beyond just "what Apple and Google give us" and "nothing"?

Do you think we would even have Apple and Google if everyone had your "take what the market gives you and like it" attitude?
> Brooks suppositions on essential tasks are not empirical at all.

It is an empirical claim, one that at least has not been refuted by observation.

> Otherwise they'd be incidental.

I don't understand this. It's an empirical claim about software in the wild.

> It reparameterizes and expands upon essential and accidental tasks and proposes a development framework to minimize accidental tasks.

... and yet, no one has found a silver bullet yet (as per Brooks's definition), nor anything close to it.
Hey Chris, You were our only friend. And I know this is belated: We love you back
Show HN: JustUseApp - Get Recommended SaaS Apps Based on AppStore Reviews & A.I
You really should check out ipsc, which is a CPU-SIMD compiler similar to CUDA.

With that being said, there's good reason to use raw intrinsics in modern code. But ipsc / CUDA model is superior for most uses in my experience. Its just easier to think about.

The main issue with IPSC is that you're innately SOA, and the data-layout is just different compared to how people normally organize their data. Data-layout issues (AOS vs SOA) are probably one of the most tedious issues to deal with when using SIMD.

For the "interface", where you're converting AOS to SOA, manual intrinsics can help.
I think the answer is "not anymore" based on what's in their FAQ.

> Publishers must verify ownership of their properties with Brave in order to receive contributions from Brave users. If a publisher has not verified ownership, then a user’s contributions will be held in reserve inside the browser for 90 days. The browser routinely updates an internal list of all verified publishers to determine whether a property can receive contributions. At the end of the 90 day period, any contributions marked for unverified publishers will be released back to the wallet. No funds leave the browser except to go to verified creators.

> Previous versions of the Brave desktop browser worked differently. Until version 0.58.21, released on January 11, 2019, browsers with Brave Rewards enabled would contribute BAT to content creators whether or not they had verified. Brave would then hold contributed funds for those publishers in escrow until they’d verified.

https://brave.com/faq/
The scary thing is that these companies aren't simply being disingenuous - they earnestly believe this.

A company takes for granted that they are good actors, and that their customers' interests are perfectly aligned with their own. With those assertions, increasing their control can only mean a better ability to make things good/safe/simple for their customers.

But that is an authoritarian delusion. Because real difficulty arises out of cross-party emergent complexity - illegible and unmanageable by any single entity. And the road to hell is paved with good intentions. This is blatantly obvious when you, as an individual actor, eventually end up at odds with whatever authoritarian scheme they've implemented - wishing to do something simple that you've personally judged as good/safe, but it's impossible to convince that centralized controller to understand / approve it.

In the real (multi-actor) world, we acknowledge that interests diverge on either side of a transaction. Someone who has bought a printer is then an individual participant in the ink market. Someone who buys a pocket computer wants that computer to act for their own interest - not for it to be beholden to the whims of the company who made it.

Unfortunately, always-on communication, the difficulty of reverse engineering, and overbearing copyright law have allowed these companies to double down on overarching control rather than allowing reasonable demarcation points. Apple could straightforwardly create an app sandbox that would allow running fully untrusted code with fine-grained capabilities, unilaterally design it to not have the vulnerabilities that the Web continues to have (eg fingerprinting), and allow sideloading after appropriate warnings. And lest you think I'm being partisan here, the same exact thing applies to Google's general insistence that sideloaded apps are less safe.

But it's much simpler and more lucrative to double down on authoritarian control until they're forced to create those demarc points, either by direct legislation or by consumer demand - eg if this recent censorship trend eventually pushes them to prohibit secure communication apps in their central stores.
I might be the odd one, but every talk about perl 6 I've seen picked my interest a lot in terms of expressivity and metaprogramming done in nice ways. Its relevance might be out of sync with the trends, but I believe good ideas are forever.. and perl 6 seems to have a few. Just wait 40 years.
You might be better off focusing on improving fault tolerance instead of trying to hunt down the root cause.
COBOL, Fortran, mainframes, and other 70s-era tech are much more trustworthy than new-fangled VC landgrabs like MongoDB. As long as the banks haven't transitioned everything to Cassandra or whatever, I don't think we'll have an issue there.
Anyone remembers when the android play store wasn't ranked by how much revenue google got out of it? Remember when even google employees put out their own apps free of ads like solitare etc. But all these free, ad-less apps mysteriously either disappeared from play store or got sent to the very bottom of every search query?
Yes. The best views will be from projections whose camera position is at a point scanned by the laser. With the f-k migration algorithm, the output is in fact the aligned sum of 2.5D images that would have produced by cameras located at the laser scanned locations. The algorithm is based on a simple model which doesn't take into account obstructions or secondary ray reflections.

In theory for slower algorithms in O(N^5) like inverting the rendering engine you can take obstructions, and ray bouncing into account, but the effective resolution will depend on the dynamic range of your measurements, that you can improve a little by increasing exposure time. In practice reflections don't carry enough information.

You can also incorporate phase information (like with holograms) instead of just intensity, if you are able to measure it to get sharper image thanks to coherent imaging. Once you use the phase information, you can improve the spatial resolution, using multiple wavelength.
I think this is a good idea, but there's a decent chance that some people will mishear the change as "Perl 6 is cancelled, Perl is dead".

To be honest, I'm not sure anything can change the decline of Perl. There will continue to be Perl projects and Perl shops for a long time, just as there are COBOL projects, and COBOL shops. There will even be some new projects. But many projects will die, some companies will go out of business or migrate, and the ecosystem will continue to ossify.
If you get a chance, you should also consider moving more towards ES2015 Map<K, V> and Set<V> objects instead of object literals as property maps. Browser support for Map/Set is pretty universal at this point (and easy to polyfill in the worst case that you need to support IE <= 10, which why?). You get better performance in some cases, and better handling of edge cases (strange string keys, accidental prototype inheritance, key name / language keyword clashes).
To be fair, there's a smaller list of core complaints: proprietary software, data privacy/ownership, et cetera.
Patreon already exists
As someone running a software product team, we've made the decision to get as close to the developer process as possible with our product management tools. We've recently started doing everything in Github using Github projects, which honestly is really usable. It's kind of put me in a mindset where I'm not sure why I would ever pay for a separate product management tool as I can do most of my critical things with Github + Markup + our design stack (Figma, etc).

Obviously there's a market for this as I think people are still chasing potential efficiency gains in making tools that are easy/fast/effective in organizing work, but as a product leader I don't see anything here that compels me to leave Github.
YC Perks for Graduate
Does anyone have the complete list of perks that YC graduate get?
So it has to download every possible ad (to mask my identity/preference)?
The monopoly google has over the web standard is probably the biggest issue.
anxiety means you are helpless, but still have some energy to react. but depression means you don't have any energy at all.
Monday: Manage microservices on your dev environment
I'm glad to hear it
"Generating Software Tests" (https://www.fuzzingbook.org/) is pretty great (independent of your programming language) - arguably a must read for anyone interested in software testing.

John Regehr (the author of the blog post) has written more great posts:

- How to Fuzz an ADT Implementation - https://blog.regehr.org/archives/896

- Better Random Testing by Leaving Features Out - https://blog.regehr.org/archives/591

- Tricking a Whitebox Testcase Generator - https://blog.regehr.org/archives/672

- Fuzzers Need Taming - https://blog.regehr.org/archives/925

- Levels of Fuzzing - https://blog.regehr.org/archives/1039

- API Fuzzing vs. File Fuzzing: A Cautionary Tale - https://blog.regehr.org/archives/1269

- Reducers are Fuzzers - https://blog.regehr.org/archives/1284

In terms of software, DeepState (https://github.com/trailofbits/deepstate) may be a good place to start for C and C++. Relevant links:

- Fuzzing an API with DeepState: https://blog.trailofbits.com/2019/01/22/fuzzing-an-api-with-..., https://blog.trailofbits.com/2019/01/23/fuzzing-an-api-with-...

- NDSS 18 paper, "DeepState: Symbolic Unit Testing for C and C++": https://www.cefns.nau.edu/~adg326/bar18.pdf

In terms of choosing among fuzzing solutions,
https://blog.trailofbits.com/2018/10/05/how-to-spot-good-fuz... is also worth a read -- as well as the article it refers to, http://www.pl-enthusiast.net/2018/08/23/evaluating-empirical.... For a broad survey, see "The Art, Science, and Engineering of Fuzzing": https://arxiv.org/abs/1812.00140, https://jiliac.com/pdf/fuzzing_survey19.pdf

More resources:

- Effective File Format Fuzzing – Thoughts, Techniques and Results (Black Hat Europe 2016):
https://j00ru.vexillium.org/talks/blackhat-eu-effective-file...

- libFuzzer – a library for coverage-guided fuzz testing: http://tutorial.libFuzzer.info, http://llvm.org/docs/LibFuzzer.html, https://github.com/ouspg/libfuzzerfication

- Materials of "Modern fuzzing of C/C++ Projects" workshop: https://github.com/Dor1s/libfuzzer-workshop

- Introduction to using libFuzzer with llvm-toolset: https://developers.redhat.com/blog/2019/03/05/introduction-t...

- Fuzzing workflows - a fuzz job from start to finish: https://foxglovesecurity.com/2016/03/15/fuzzing-workflows-a-...

- Materials from "Fuzzing with AFL" workshop (SteelCon 2017, BSides London and Bristol 2019): https://github.com/ThalesIgnite/afl-training

- Making Your Library More Reliable with Fuzzing (C++Now 2018; Marshall Clow): https://www.youtube.com/watch?v=LlLJRHToyUk, https://github.com/boostcon/cppnow_presentations_2018/blob/m...

- C++ Weekly - Ep 85 - Fuzz Testing - https://www.youtube.com/watch?v=gO0KBoqkOoU

- The Art of Fuzzing – Slides and Demos: https://sec-consult.com/en/blog/2017/11/the-art-of-fuzzing-s...
Worse, we're old enough to see people completely forgot about something and try to reinvent it, poorly.
Wise move. If I were them, I'd do this on my own terms before regulation comes down the pipe.
The website (and all of the mapping tools) are free software. The repo is on their github: https://github.com/openstreetmap/openstreetmap-website

For mobile I recommend OsmAnd: https://github.com/osmandapp/Osmand
Stallman lives in a particular bubble and that bubble has defined his viewpoints to a degree that he cannot fathom not being able to live his life in that way.

The question of "who does that" or "who pays for that" ultimately comes down to some form of slavery or coercion. Or the question is just avoided. Because "capitalism is evil". Or "what about wage slavery". Or something about how we have intrinsic value as sentient beings and shouldn't be required "to provide value" in order to "just survive".

And I'm like "Ok. But who cleans the public toilet?" How do you get someone to agree to that? I'll clean my toilet, sure. But I'm not cleaning the public toilet unless I'm being forced to or I'm being compensated for doing so.
Not OP, but I'd imagine that it is Brave seems to be a browser that advocates for the user (and presumably in the future, publishers too with the pay thing). As such, the ideals seem more aligned with Firefox than Chrome (and by extension, Chromium).

Basically, you guys are in a weird space where your decisions aren't looked at purely from a technical lens, but also an ideological one.
Totally agree about the co-creation. Seems like perserverance and focus paid off. Great reading all the details and tips.
Speaking of fuzzing, does anybody know of a solution for fuzzing multi-step processes? Suppose I was fuzzing a network application, which requires an entire session for a bug to be discovered. I can't do that with vanilla afl-fuzz; what tool would enable me to fuzz, say, an SSL/TLS library?
Sorry, I'm not sure what you're referring to. Brave has 2 ad-models (one still in the works). First, the User Model. In this model, user's must first opt-in to participate. If/when they do, advertisements are shown (at a user-controllable rate) as OS notifications. When a notification is shown, 70% of the revenue is deposited into the user's wallet.

The second model is the Publisher Model; this is in the works now. Under this model, Publishers will be able to opt-in the system as well, and have ads displayed on their pages. Under this model, publishers receive 70%, and the user receives 15%. But both models require consent before any ads are displayed.
They already made a minimum viable product self-driving car. It's called a "train".
I think the point being made is that they could add that to future contracts.
> They're not moving nearly as many phones

Actually, they're still moving about the same average number of phones each quarter that they have since 2015: https://www.statista.com/statistics/263401/global-apple-ipho...
Although this program is initially lunching in the US, according to the statement, it is quickly expanding to other countries so I suspect this is really about making repairs to existing units outside the US. Many places have huge iPhone install bases but not a single official apple store anywhere (Moscow is an example).

Has Apple made any official statements or prior arguments on third party repair? I’ve seen a lot of speculation and inference online but I don’t recall ever seeing an official statement from Apple on third party repair.
> Yet you have to know both versions of them all, and be able to recognize and understand both kinds when reading other people's code.

You have to be able to understand that if it's a two character variable of all punctuation you may need to look it up to figure out what it is. Typing `!perldoc $"` into duck duck go sent me to https://perldoc.pl/variables/$%22 ... which is roughly equivalent to `!g [docker error]` which I already do all day long.
My God, these posts attacking capitalism get tedious.

Capitalism is just a codification of people's wants / needs. It's structured demand mixed with some basic contract law to hold people accountable to their own promises. That's it.

If you deride capitalism you're already implicitly saying that "what people want" is "bad". By condemning the system you're already implying that even the highest desires of humans aren't good enough.

>There are other modes of life, based on trust of mankind

Capitalism is already based on trust of mankind, since it is based on giving people what they desire, as long as it doesn't infringe on the basic human rights of others.

There are other ways to allocate resources and all of them are FAR INFERIOR which has been shown time, and time and time again.
IPSC gives you SIMD code on the CPU, but programs as if the CPU-SIMD units were a GPU. Its an excellent project.

---------

> Overall, I feel the biggest challenges often come from cache and memory bandwidth management. CPUs are fast, but SDRAM is not. You don't want different threads fighting for CPU socket local resources and even less for global ones. I usually do rough estimates of required bandwidth and computation, write some prototypes and do a lot of profiling, including taking a good hard look at the CPU counters.

I think memory-layout is the #1 issue these days. CPUs / GPUs have so much compute available that its almost impossible to actually achieve high utilization. In most cases, you're sitting around just waiting for memory...

CPU memory movement is still subpar compared to GPUs. AVX512 finally implements "scatter" operations, but GPUs have had highly-optimized "gather-scatter" to __local or __shared__ memory for years (ex: GPUs have 32 banks and 32-load/store units per GPU-compute unit or NVidia SM: that's either 1/2 or 1 load/store unit per GPU shader. AVX512 Skylake however has 3-load/store units across 16 SIMD-threads...)

Intel really needs to write more instructions like "pshufb" to handle more ways for register-to-register movement. It seems like a lot of data-movement in the AVX world is still best handled by AVX -> L1 cache -> back into AVX register (which is limited by the very few load/store units in modern CPUs).

Yeah, you can cheat a lot of cases through pshufb, but that instruction doesn't always work. There's something to be said about the brute-force option of 32x load/store units on a GPU-unit and sticking 32-load/store units for all the threads to leverage.
> Also, it seems like you're doing what you're criticizing me for.

There is a fascinating wikipedia article about this you should skim when you get the chance: https://en.wikipedia.org/wiki/Tu_quoque