skysight-inc/HackerNews huggingface dataset:
WebRTC uses UDP holepunching via STUN, it's built into almost all browsers and there are free STUN servers online. If you have some types of more tricky networks (usually symmetric NAT or more tricky firewalls) you need TURN which basically proxies the encrypted stream over TCP via the TURN server, but most home and smaller networks can do holepunching.

You still need signaling of the SDP offer, but that can be done via email/sms/whatever if you really don't want to have a server at all.

This service is just run-of-the-mill WebRTC, nothing special about it though.
The problem with that approach is you need to scale the surprisingly expensive non-nuclear side of a nuclear plant for the peak load, not the average load. It's not just the salt, it's the turbines and generators and cooling towers. It also increases the number of heat exchangers, and also means you are not building a PWR, but rather a higher temperature reactor. These higher temperature reactors are either unproven (molten salt) or have disappointing track records (helium gas cooled).

Moltex claims that interposing a salt store would allow these components to be made to non-nuclear standards, but as far as I know no regulator has agreed with that.
If you are a python beginner, don't try to do everything at once, it's too hard.

Start with black. It's very easy to setup, and the reward is great.
Smart lifts, lonely workers, no towers or tourists: architecture after Covid-19
As a general rule I look at the profile, emdowling has been a member since 2013, has a number of comments on different subjects, not a high reputation but no submissions, it seems most likely genuine to me.
Ask HN: Programs that wasted you 100 hours?
In the spirit of "Programs that saved you 100 hours?" ¹, - I'm curious to hear of experiences with software systems, languages, apps, or services that led you down an unproductive rabbit hole, only to come out at the other end (if ever) with not much to show for the effort.

¹ https://news.ycombinator.com/item?id=22849208
For CAD-USD exchanges, Norbert's gambit is a popular procedure:

> Here’s how you can use this ETF to exchange $10,000 Canadian:

> 1. Get a quote for DLR and calculate how many shares you can buy for $10,000 Canadian.

> 2. Place an order for that number of shares. The trade will settle in Canadian dollars.

> 3. Call your discount brokerage’s customer service desk and ask them to take your DLR shares and “journal them over” to the U.S. dollar side of your account, where they should show up as DLR.U.

> 4. Place an order to sell all of your DLR.U shares. The trade will settle in U.S. dollars.

* https://www.moneysense.ca/magazine-archive/norberts-gambit-a...

* https://www.finiki.org/wiki/Norbert%27s_gambit

* https://canadiancouchpotato.com/2013/12/03/norberts-gambit-t...

Technically this would work with any interlisted stock, though the DLR ETF is very popular for this because of its liquidity. One could probably find stocks for GBP and EUR as well:

* https://www.tmxmoney.com/en/research/interlisted.html

The overhead of the exchange is the cost of buying/selling the stock, which is fixed price, so it it's not like a percentage cut.
What does __asm__ __volatile__ do in C?
I'm not saying that they are not complex, that's why I chose them. But you have the source code for them, you don't have to write them from scratch. Some of the optimization techniques, even if not documented, can probably be studied from the change history. Of course, it will take a few years to grow new experts without knowledge passing from the old ones, but by and large the logic is there in the code.

From what I understand, the same can't be said of real microprocessor design - the complexities of aligning logical requirements with EE complexities, analog responses, and manufacturing process limitations are not at all captured in the 'code', not at the same level. We can hope that they are documented, at least to some extent, but we all know the general priority of internal documentation against other concerns, and the difficulty of documenting design processes.
That's the problem with being pedantic. Pedants are correct, but they're not curious, and they don't care about learning something because they lack humility (humility is difficult to learn and rarely encouraged).

A discussion, an argument or a debate is not meant to be some sort of confrontation quiz, where people who demonstrate they're right can win an audience. A real debate, argument or discussion is when an audience can listen, and ask questions to better understand what everybody is trying to say. A debate is a distributed way of thinking. Human thought only exists through language, un-worded ideas always die.

This mentality stems from how people views how democracy works. The Socratic method thoroughly shows that having an argument is about helping each other communicate their point of view. And this is exactly how states like Russia are able to undermine democracy, by sowing confrontation and polarization.

What is horrible is when this sort of polarization happens in your daily life, or in science or at work.
...why? Servo and Deno are doing very different things.
I go with IntelliJ, which is basically the same with slightly more Java-ified shortcuts. And I agree, it's incredible how much time a good IDE can save you.
Yes, this is certainly part of the problem; the "blind men discussing the elephant". We all have a different set of experiences of programming, but not all of us have a good sense for where the boundaries of our experience are. Something you think is ubiquitous may not be.
BSD and LGPL/GPL type licenses are good for different purposes and intentions and different type of code.

BSD is good when you consider you code as a snapshot that should be maximally available.

GPL is good when you think the code as a long term valuable investment and process that must be protected.

GPL is also really good choise for small to medium businesses with dual licensing. If you want so sell develop a software product and not just a service. If you own full copyright, you can always change the licensee later, so going with GPL first usually the safest choice.
Well, that happens for some of the comments, but not for all of the comments. You just have to write your comments well. If we just all wrote our comments well it would show the author how his post is pointless /s
Check out Noteworthy.im it’s a docker based solution.
In general, I agree that JetBrains could improve their docs. However, you very rarely need them.

I mean, your problem kind of sounds like it should be explained in the javax or Gravel manuals, but not in the JetBrains IDE manual.
> i would usually assume 96 bit -> 48 bit would be enough but they have what I think is some pessimistic advice:

The "You have n Bits, then you need 2^n/2 tries for a birthday attack, so your real 'security level' is n/2 bits" rule captures the expected value of tries to get a collision. That's the 50 % point. You don't want to design your crypto system in a way that results in a 50 % chance of at least one nonce repetition.
Excerpt:

"The __volatile__ modifier on an __asm__ block forces the compiler's optimizer to execute the code as-is. Without it, the optimizer may think it can be either removed outright, or lifted out of a loop and cached.

This is useful for the rdtsc instruction like so:

__asm__ __volatile__("rdtsc": "=a" (a), "=d" (d) )

This takes no dependencies, so the compiler might assume the value can be cached. Volatile is used to force it to read a fresh timestamp.

When used alone, like this:

__asm__ __volatile__ ("")

It will not actually execute anything. You can extend this, though, to get a compile-time memory barrier that won't allow reordering any memory access instructions:

__asm__ __volatile__ ("":::"memory")

The rdtsc instruction is a good example for volatile. rdtsc is usually used when you need to time how long some instructions take to execute. Imagine some code like this, where you want to time r1 and r2's execution:

__asm__ ("rdtsc": "=a" (a0), "=d" (d0) )

r1 = x1 + y1;

__asm__ ("rdtsc": "=a" (a1), "=d" (d1) )

r2 = x2 + y2;

__asm__ ("rdtsc": "=a" (a2), "=d" (d2) )

Here the compiler is actually allowed to cache the timestamp, and valid output might show that each line took exactly 0 clocks to execute. Obviously this isn't what you want, so you introduce __volatile__ to prevent caching:

__asm__ __volatile__("rdtsc": "=a" (a0), "=d" (d0))

r1 = x1 + y1;

__asm__ __volatile__("rdtsc": "=a" (a1), "=d" (d1))

r2 = x2 + y2;

__asm__ __volatile__("rdtsc": "=a" (a2), "=d" (d2))

Now you'll get a new timestamp each time, but it still has a problem that both the compiler and the CPU are allowed to reorder all of these statements. It could end up executing the asm blocks after r1 and r2 have already been calculated. To work around this, you'd add some barriers that force serialization:

__asm__ __volatile__("mfence;rdtsc": "=a" (a0), "=d" (d0) :: "memory")

r1 = x1 + y1;

__asm__ __volatile__("mfence;rdtsc": "=a" (a1), "=d" (d1) :: "memory")

r2 = x2 + y2;

__asm__ __volatile__("mfence;rdtsc": "=a" (a2), "=d" (d2) :: "memory")

Note the mfence instruction here, which enforces a CPU-side barrier, and the "memory" specifier in the volatile block which enforces a compile-time barrier. On modern CPUs, you can replace mfence:rdtsc with rdtscp for something more efficient."
There was also the Canadian QTC-1. [0]

[0] https://jglobal.jst.go.jp/en/detail?JGLOBAL_ID=2009020829793...
just, y'know, computing! sure i know i won't be watching videos, but anything else you'd do on a normal computer. because i like e-ink screens :)

i don't think the refresh rate comment is fair - he mentioned the lag when he demo'd writing in Google Docs, and just said you get used to it. but there's a difference between the screen being slow and the device being slow, no?
Just wanted to point out that the GPL isn't really about 'good'/'bad' morality choices, in fact one of the pillars of copyleft is that it does not make such subjective choices.

If that wasn't the case, companies like IBM wouldn't be able to use GPL'd software, as they famously weren't able with Crockford's "don't do evil" license.

The GPL is really about guarantees.

You rely on guarantees every day to be able to go about your day. People like me just wish to extend certain guarantees, (not warranty), to the software we write.
Nested Folder Support in Apache Spark 3.0
I took it as an observation on internet arguments and not about the programming concepts that were presented as examples.
US/EU banking / antiterrorism regulations apply to any entity worldwide which wants to do business in the respective markets.

Assuming that there are two parties interested in doing a hawala exchange in two countries where this is legal, they still cannot (openly) use a bank that does business in US/EU because if the bank knowingly executes that transaction they could be facing serious fines.
I tend to believe technocracy should be encouraged. I wish science could have an important place in politics, and hold some form of power. Maybe the word scio-cracy should be invented.
The rationalist community has a kind of meta-rule that contributions to a debate should be at least two of {true, necessary, kind}. For necessary you can often also read useful.

Once you're out of high school debate club, it's a good principle that if the only thing in favour of a statement is "it's true", err on the side of not saying it.
> Any terminal that you can summon/dismiss with a global hotkey

Thanks! I didn't know I need this until I tried it!
The article falls into the same error of misrepresenting opposing views.
I've used a fair share of (painful) APIs over the years and I have one simple plea: can we please stop being a-holes? Can we stop scraping websites that have APIs? They are already offering machine readable data and maybe they have a reason for not providing everything. Scraping their sites circumvents this API and not only abuses their systems, but also makes your code super brittle - any change to their site breaks your code - if you code wasn't broken already as you were banned by the provider.
Why not use google.com/takeout to download it instead?
From the article:

"The one thing that school trains you for is that being right is what matters. If you get the answers right in your test, then you get a good grade. Get them wrong and you don't. Maybe this frame of mind "sticks on" once you leave school, especially given that most people who post these kinds of comments seem to be from the "smarter" end of the spectrum (personal opinion, not based on any actual research). "

A similar sentiment by Paul Graham here: http://www.paulgraham.com/lesson.html
When are x86 LFENCE, SFENCE and MFENCE instructions required?
Depending on where you live this could make your tax declaration more complicated, which could require the services of a tax consultant if you don't know how to do it yourself... Just something to keep in mind if you want to save money.
Thanks for this, it seems a lot of discussions miss the point.

"You can achieve the exact same thing in C, you just have to be careful."

Of course you can. You can also drive at 160km/h safely or use an axe to chop onions in your kitchen "you just need to be careful" (with the subtle implication of "I can be careful, can you?". Narrator: no, you can't, you aren't as careful as you think)

And the other favourite of mine "HTTPS self-signed certs are useless, you're not authenticating the origin" while forgetting about the whole encryption thing. Yeah.
So You Want to Be a Pixel Artist?
That seems odd to me. I basically never close my IDE. Sure, I might put the laptop to sleep in between or disconnect from the remote desktop server, but I rarely need the 500 MB that my IDE consumes, so there's little point in every closing it.
Right, it's an either-or situation. And now, with renewables crashed in cost and continuing to fall, it look's like renewables are winning.

You bring up batteries, but they would not be used for long term load leveling. The optimal solution is some combination of overcapacity w. curtailment, batteries for short term leveling, and hydrogen for long term leveling. Simple cycle turbine power plants can have a construction cost maybe ~5% of the cost/kW of a nuclear power plant (CC, around 10%), so building them and letting them sit idle most of the time is not a big deal.
Corporate sponsorship is just an example of the level of support that exists for Rust. And it's Mozilla I'm talking about here, not your typical corporation.

Certainly other languages were able to become widespread with large communities and library ecosystems without being directly sponsored by a corporation, such as Python or Ruby. I tend to think of those as associated with an individual, Guido or Yukihiro, though I know in Guido van Rossum's case he's worked for Google and Dropbox, though that was after Python was in wide use at those companies.

Whereas with Rust I think "Mozilla" not "Steve Klabnik", because it was corporate-sponsored from the beginning and worked on by a team.

And if you want your favorite language to grow into its potential, you need funding, and corporations have a lot of funding to put into things like potentially productive new languages.
I'm in the UK. I've never heard of 'legacy admissions' happening here, nor admissions in return for dropping money on a university. I get the impression from The Guardian that these things are quite unique to America, and really don't occur in the UK. [0] [1] [2]

Similarly I've never heard of someone being admitted to a UK university for the purpose of getting them to complete in university sports. Sports are funded by universities, but generally, few people really care about university sports, the way it should be. It may help in admissions if you have non-academic achievements on top your academic ones, but sports aren't given the special status that they are in US universities.

On the race point, the only lawsuit I'm aware of is the one against Harvard for discriminating against Asian applicants. (There's no question that Harvard have higher grade-requirements for Asian applicants.) The courts decided the Harvard admissions policy wasn't unconstitutional. [4] My understanding is that if a similar approach were taken in hiring decisions, that would be extremely illegal.

If you'll excuse a tangent: we also don't have 'campus police' in the UK, for which I'm thankful. Universities hire security guards, the way business parks do. The American system is to have police officers on the payroll of a university, expected to follow orders from the university's power-structure [5]. Deans should not be able to issue orders to police officers.

[0] https://www.theguardian.com/education/2019/oct/01/harvard-ad...

[1] https://www.theguardian.com/us-news/2019/jan/23/elite-school...

[2] https://www.theguardian.com/education/shortcuts/2019/mar/13/...

[4] https://www.theguardian.com/us-news/2019/oct/01/harvard-ruli...

[5] https://www.google.com/search?q="ordered+campus+police"
Are stablecoins viable in the real world for this kind of use case? Anyone have any firsthand experience?
> The low prices you see today are almost entirely when wind is blowing and sun is shining.

Yes and don't forget all the different subsidies and government grants renewable sources still get. All other sources of power, including nuclear, are generally hit with extra tax in a lot of countries.
NASA's budget is less than half of 1% of the USA total budget (2020 figures from Wikipedia). I daresay there are other areas (cough military spending cough) that would benefit from some examination as to where money can be saved through reduction / efficiencies.

BTW I'm not American, but have followed NASA projects for many, many years, and they almost always give me some greater hope for the future of mankind (not to mention admiration for the science and engineering people behind the scenes).
Show HN: Nvim-blameline – GitLens's current line blame for Nvim
I'm genuinely looking forward to a day that we can do this. Digitally transfer money between each other.

Right now, you are probably losing more money that Ttansferwise because it costs a considerable amount of money to convert them to Fiat currency.
Reading this part about garbage collection:

Being able create things on a whim and just drop them to the floor makes programmers a lot more productive than forcing them to micromanage the complete life cycle of every single resource.

I realized... It would be REALLY nice to have a garbage collector for the physical things in my house. Even some sort of tried-and-true algorithm to direct me would be nice.

EDIT: (this actually started as a sincere though off-topic comment on my part)

I have observed during this "shelter in place" that one way to be organized around the house is to be around the house (in this case 24/7).

And now I have 3 algorithms to think on. I think it might be nice to be nagged periodically with a certain request from a certain direction. Part scheduled cleaning, part LRU, part where does that live, etc.
> exists as a "potential infinity".

Not a mathematician nor a physical theorist by any means but some might regard the putting together of "exists" and "potential infinity" (even if using ") as an oxymoron. It's an endless discussion, of course, I personally think it all boils down to Zeno's paradox remaining, well, an unsolved paradox for the foreseeable future.
I agree it seems incredibly illogical and unlikely that China would deliberately do something like this. But putting on my devil's advocate hat, the "no political motive" angle isn't as strong a rebuttal as it could be. The Chinese government has a long track record of fearing problems that this sort of virus would solve, problems like:

1. A heavy dependency on economic growth for legitimacy, threatened by an impending demographic "time bomb" of the elderly:

https://www.scmp.com/comment/insight-opinion/asia/article/21...

2. Also, a long standing fear of general over-population (one child policy)

3. An absolute fear of people gathering in large groups outside to protest and organise via non-electronic means that can't be monitored

From a Machiavellian perspective a virus that leaves the productive workforce untouched, kills primarily the old/infirm, is unlikely to be reliably vaccinatable, which can be used to justify near-endless waves of house arrest, which motivates neighbours to enforce house arrest against each other and in which the only information about whether there's an active resurgence comes via state controlled media .... doesn't look too bad as a tool for controlling the populace.

Actually I have to admit, I only came to understand just how perfect such a virus profile is for a totalitarian regime whilst writing out this comment. Devil's advocacy can take thoughts in surprising directions. I suppose that's why conspiracy theories play out as they do.
How to Use Quora to Your Affiliate Marketing Advantage
It's the 50% that's the political statement. It's not realistic, given the state of the French nuclear industry, and their recent experience at building reactors. And I'm pretty sure their politician know this. There are no commitments there, real commitments with real money, to stay nuclear.
What Is Smart Learning and How to Apply It to Become a Better Learner
There's a `macros` extension that's pretty good: https://marketplace.visualstudio.com/items?itemName=geddski....
It has been really frustrating watching the frontend-web evolve. Take Jira for example, the platform is written in Java yet all my time is spent waiting for all the widgets to jiggle their way into existence. No matter how fast your server is, if you have to do 10-20 network requests to hydrate your frontend architecture the network time alone is going ruin your perceived performance. Your server could deliver sub 5ms response times, with 50ms Time to First Byte on the initial request, and it would still feel like wobbly molasses. The JVM is the least of their worries.
macOS 10.15.5 Beta 1 adds support for Intel IceLake CPUs
For solo projects that don’t need all the boilerplate I think Hoplon is an even better option (there’s a Luminus profile for it). It’s kinda like Svelte: it doesn’t use a vdom and makes interacting with the actual dom really simple: http://hoplon.io/
It appears that https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good is a very relevant concept here, and is the principle behind the rebuttals to the arguments in each section.

I feel that arguing for perfection is (arguably) part of a broader problem with internet discussion - and discussion in general. I've personally termed it "sniping" but there may be an existing agreed-upon term.

Essentially, this is when a commenter takes one flaw or issue in a larger and reasonably sound argument - and runs with it. In context, focusing on this flaw is "missing the point" as the rest of the argument does not rest on the assertion being "sniped". But - if you make enough noise about it - you may be able to confuse people into thinking otherwise, and making the argument seem fundamentally flawed.
Nuclear power hasn't become magically more expensive in the last decade or so, it's because it's been hit with taxes and fees in a lot of countries while renewables haven't (or, in some countries, renewables are still even subsidised). Nuclear power is cheaper if politics stay out of it.
Not a surprise given what’s written elsewhere about them.
50 Years Ago, 3 Astronauts Survived Apollo 13. Could It Happen Again?
It might surprise you, but I am not one of those people who will tell you that learning leads to nothing but wisdom. On the contrary, a stupid learning approach can turn out to be a monumental waste of time. That's why regardless of your area of interest, be it languages or medicine; it's crucial to master the art of smart learning.

It will allow you to get the best of both worlds - productivity and the science of memory. This way, you can rest assured that every minute you spend learning is a minute that makes you smarter.
Return to Midgar: 8 Records Inspired by “Final Fantasy VII”