skysight-inc/HackerNews huggingface dataset:
This is a very real problem, particularly the M:N issue.

But I think it's inevitable you have to do things on both sides of the language boundary, i.e. pushing them towards a lowest common denominator. (e.g. Microsoft's COM, which actually worked pretty well)

Really what it pushes you toward is wire protocols and NOT relying on the type system. That is the C and C++ ABIs are related to but different than the APIs (type system).

My experience tells me that transparent interop is kind of a pipe dream. The problems always pop up somewhere. By "transparent", I meant "Rust function calls C++ function" and "C++ function calls Rust function" without other metadata/bindings. The codegen becomes a big problem in practice.

Fundamentally a lot of languages LOOK the same but they ACT completely differently. A Rust function is not a C++ function is not a Python function is not a Go function. (And funny thing -- as of C++ 11, C++ now has many different notions of "function", because of move semantics).

And functions are actually "easy" compared to types (e.g. inheritance vs. typeclasses vs. interfaces)

----

Basically I would say the problem is that you either spend time manually wrapping or annotating your code (as you say), OR you put an ever growing list of heuristics in the code generator, a la SWIG.

Those heuristics have bugs, and will make your program unreliable. They're also "someone else's problem", which leads app developers to come up with horrific workarounds.

So I go with the simple manual wrapping, and reducing the number of things to wrap by changing the structure of your program. This also has other benefits like efficiency, i.e. crossing the language boundary less often.

(Related: I think better build systems can go along way toward solving this problem. Unfortuately there seem to be a lot of language-specific build systems and package managers now, which only exacerbates the interop problem. If you have one language-neutral build system, it's not that bad.)
Thanks for that, I was far too lazy.
Oh yes there is: (A)GPL + dual licensing.

Those who are not happy with (A)GPL have to pay for other license.
Show HN: The Daily Mini-Journal. A simple private journal to start your day
> In fact, you can write GTK apps in JS.

I'll eat my hat if it's as easy to write a hello world in GTK as it is in Electron/nw.js.

Keep in mind that with Electron/nw.js I download the toolkit binary and then simply declare an arbitrary webpage or js file filled with arbitrary modern HTML5 to be my "main" page/script. That means any frontend dev can immediately get a "hello world" running with no extra tooling and immediately access the full dev environment they are used to. Aside from the json file they don't even have to learn any of the non-HTML5 APIs (which, btw, are typically where the most nefarious bugs live in these toolkits).

What is more, the dev can immediately bring in any of the zillion frameworks they depend on to pad strings or whatever.

I'm guessing GTK has a way to hook into its own API through javascript. But if it's anything more than a single call to create a window and fill its webview with a page (or execute a js in its context), it's already more complicated and electron/nw.js wins.

Edit: typo
Introducing Simple Search: A new browser extension from The Markup
I mean if I sell faulty brakes, that could be easily disabled by someone doing something to them physically, it is still pretty hard to disable -everyone's- breaks. I have to go and physically, car by car, break them.

With sofware, it is as simple as pushing a faulty OTA update. A large portion of all the cars will _instantly_ be impacted.
The moment such liability becomes widespread, there will be a corresponding increase in the need to carry business liability policies. I think it's naive the believe this (and the associated cost) won't trickle down to the individual developers.
Really great Dmitry! So happy to see the workaround after deprecation of CustomScoreQuery.

I just managed to get Hello-NLP to work with elastic for KNN using SBERT, but don't have it working for Solr yet. I can vectorize queries and text for Solr, but cant yet store/score. Interested in a collaboration?
I recently bought an Oculus Quest 2 as my first VR headset. I've been using it about 2 hours a day for the past month. It is absolutely beyond being a fun gadget. I am completely convinced that some form of VR/AR is the future of computing and in many ways that future is here now. A month ago I thought it was going to be a fun toy at best and I was completely wrong.

I like to think of products in terms of the ah-ha moments they can deliver, so here are mine:

- The sense of presence is incredible. When you slip it on, you go to another place. When you take it off, you are surprised you are still at home. Every time.

- The intuition of using your hands and body to interact with the world reminds me of the very first time I used an iPhone touchscreen. The best games let you pick up familiar objects and interact with them in expected ways without instructions or tutorials.

- The amount of information that can be displayed. A web browser the size of a room. A YouTube video the size of an IMAX screen. I am very interested in Facebook's Infinite Office app they'll be releasing for productivity work.

- Social experiences that are absolutely unlike talking on the phone or video chat and very close to hanging out in person. The social dynamics are also changed and people tend to be much kinder, less like they are screaming into the twitter void and much like they would be in person. I think this has the potential to save us from the social media death spiral and get us talking to each other again like decent human beings. I have witnessed several actual heartfelt apologies when people get offended and it gives me hope.

I think there are a couple of hurdles still:

- The social experiences currently can work, but without eye tracking and facial expressions you need a good amount of distracting game or group activity to cover over the gap. I think the facial expressions could work on lower fidelity cartoon avatars just fine, sort of like Apple's AR emoji.

- The screen quality is pretty much there and the rendering quality from the mobile GPU could use a boost but it's also serviceable. The biggest issue is that the fresnel lenses currently used have too much distortion and blur and cause eye strain and make the headset fidgety and uncomfortable.

- The headset is heavy and awkward to wear and put on. It really needs to be closer to a pair of big sunglasses.

- The apps and games are still in their infancy, though I think this is largely a factor of # of units sold and the low amount of development dollars invested. Facebook and Valve have been making good contributions here but it will take more before there is a self-sustaining software ecosystem.

So overall, I'd estimate we are 2-3 generations of the current hardware and one spot-on social experience app away from this hitting truly billion unit potential, but it is already so, so close. It feels like smartphones in 2005 or the internet in 1996.
>will be "required" by policies but not enforced in practice

That would seem to be extremely unethical and possibly at least borderline an OSHA violation. If a workplace is claiming that certain procedures are being followed and they are in fact not being followed, I think plenty of lawyers would be happy to take that lawsuit.
30x 4TB HGST drives is the array. Running on multiple LSI HBAs with a NVMe drive for write cache. Idle power draw is 250watts-ish including the host hardware (cpu/mem/net). I think I will go cry now that I am thinking of my power bill.
According to Wikipedia though, that copyright extension was to harmonize with the EU copyright terms. The EU member states increased the copyright terms first and companies in the US also wanted the same terms in the US.

https://en.wikipedia.org/wiki/Copyright_Term_Extension_Act
No problem. :)

That's not quite it. It's more about compile time vs runtime. Arc and GC are runtime tracking of "when can this be freed." Ownership is compile-time tracking of the same. Rust has refcounted types in its standard library, but you only need to use them relatively rarely. Here's a small example with not too much syntax. The core idea:

fn main() {
// String is a heap allocated, mutate-able string type
let s = String::from("foo");

} // s goes out of scope here, and so will be freed here;
// the compiler generates the code to free the heap allocation at this point

s is the "owner," and there's only one, so this can be tracked fully at compile time.

Onwership can move, too. Let's introduce a function:

fn foo(bar: String) {
// body would go here, elided to keep this simple

} // because bar is of type "String", this function "takes ownership" of the
// value passed as 's', and so the compiler will generate the code to free
// its heap allocation at this point

fn main() {
let s = String::from("foo");

// we pass s to foo...
foo(s);

} // ... and because we did, it no longer exists in main, and the compiler
// knows this, so no code to free the allocation is generated here. if
// it were, this would lead to use-after-free.

All of this is trackable, 100%, at compile time. So there's no runtime overhead here at all.

But imagine that foo() creates a new thread inside of it, and we want to access said string from inside that thread, as well as from within main. Now we have multiple owners, not a single one, and it's not possible at compile time to know when the string should be freed. The simplest solution here is to reach for reference counting, and you'd end up with Arc<String>, that is, a String that's wrapped in an atomic reference count.

(Also, references don't take ownership, so if you didn't want to have foo free its argument, you'd have it accept a reference, rather than a String directly. This would let you temporarily access the string, without freeing the backing storage when the function's body has run its course.
> Some would argue that is the job of the volume manager, not the filesystem.

ZFS is both at the same time.

That is why there is the zpool command and the zfs command. While tight-coupling is sometimes bad, in this instance it is useful:

* https://web.archive.org/web/20070508214221/http://blogs.sun....
HN is not a job board. Please see the FAQ for info about job posting
Ligatures in coding fonts is a good workaround for giving people options on what they see. I personally dislike ligatures, but I work with people who do like them.
They want to see ≠, but typing ≠ instead of != in a shared code base is not going to happen, regardless of keyboard layout or language support.
Make content about content and post to HN?
You’re not telling a story to a computer. You’re telling it to your coworkers. The people’s code that’s most frustrating to work with share your philosophy. They are often so convinced they’re right that they can’t even hear constructive criticism. That’s not my opinion, that’s the consensus view shared over lunches and coffees with their coworkers, across many jobs.
+1

If you're curious about how PMAlerts addresses this and other Google Alerts shortcomings, I wrote a small piece about that here: https://www.karma.fm/p/0SZfbtW/9-reasons-why-you-should-stop...
I don't think it misrepresents it at all. I wasn't reading "natural world" as being strictly a scientific thing.
Unlike buddy, it's an inaccurate generic reference. It's a little more typing, but replacing "guy" with "person" or in this case "engineer" would be more precise (and inclusive).
Related from a few months ago: https://news.ycombinator.com/item?id=23865674
I am curious, did you end up paying the sticker price, or did it double by the time you checked out?

I'd sold my P already, but back in the day you'd go in, and it would cost 1800 or something, but then you add a (mandatory) subscription cost, (mandatory) delivery and assembly fee, and of course a pair of shoes and a matt, and now you've got yourself an indoor bike for 3k.

I wonder if it's still the same.
> I think folks who are steeped in the webdev stuff and UI don't always grok languages like C++ or its many footguns

It's not specific to web developers. "Grok" has a meaning (and C++ a beastliness) that precludes most C++ programmers from being able to be described as "grokking" C++. Most C programmers don't even grok C, and as far as feats go, it's one that's many times smaller than the one discussed here.
>What's the cost to also fit that carrier out with all of the various aircraft required to make the carrier worth having?

Right idea! The answer is "hardly anything, relative to crewing it for its useful lifetime", but you're barking up the correct tree.
And now you are changing your claim, showing, quite frankly, that I was right. Your original claim was bogus.

Furthermore, your new claim is also nonsensical. The fact that I don't have to use all the advanced features of my languages doesn't alter the complexity of the language.
Take a look at https://www.streamlit.io/.
Apple Defends Delay of Privacy Feature, Slams Facebook
You should definitely write something about this, seems very interesting.
Clickbait book title. It has little to do with Plato and even less to do with Googleplex.
My favorite bit from PD:

"Before he became a hermit, Zarathud was a young Priest, and took great delight in making fools of his opponents in front of his followers.

One day Zarathud took his students to a pleasant pasture and there he confronted The Sacred Chao while She was contentedly grazing.

"Tell me, you dumb beast." demanded the Priest in his commanding voice, "why don't you do something worthwhile. What is your Purpose in Life, anyway?"

Munching the tasty grass, The Sacred Chao replied "MU".

Upon hearing this, absolutely nobody was enlightened. Primarily because nobody could understand Chinese."

Hail Eris!
> Otherwise, government funding: it's infrastructure

In the current political climate it's difficult to remind people that tax money was the main source of funding for semiconductors, early computers, Internet, optic fiber, satellites, GPS, GSM, CD-ROMs, LCDs, touchscreens, batteries. And then C, BGP, early UNIX.
In other countries, if you are speeding, you get a ticket by mail. If you are driving under the influence, you are sent to jail for the night.

Why do taxpayers have to pay expensive court proceedings, and offenders have to spend a lot of money for an attorney, and waste a bunch of time.
> The problem with echo chambers is the bias.

I would say the problem with echo chambers is that only one viewpoint is ever expressed at all. Everyone has biases; it's impossible to have a forum free from bias. But if people can express different viewpoints, each with their own different biases, at least people get to hear different viewpoints and different biases from their own.

There is a stronger condition one could make, that to not be an echo chamber, discussions in the forum actually have to change some people's minds during the discussion, at least some of the time. By that criterion, it's true that I can think of very few online discussions I've ever seen that weren't echo chambers. I think that criterion is too strong because it's very hard for people to change their minds at short notice, so I normally don't expect to change people's minds during a particular conversation. If something I post plants a seed in someone's mind that only bears fruit much later, I would still count that as a win--but of course I'll probably never know if that happens, so there's no real way of gathering evidence on such an effect, if it exists.

> the next time you see an article on climate change. Post in there the opposing viewpoint

I've run this experiment many times on HN. The results have been mixed. I've had some posts downvoted to oblivion and I've had some actual discussions. I will concede that I don't think any of those discussions have changed anyone's mind. However, I don't think things are any worse in that respect now than in the past; it's always been hard for we humans to change our minds.
In the United States, authors cannot put their creative works into the public domain. There is noting in the statute or case law that allows this. Furthermore, authors (except work-for-hires) and their heirs, have the right to terminate copyright transfers and licenses after 35 years.
General Availability for Microsoft Edge WebView2 for .NET
I am not sure if you read the article in it's entirety. The author's point is the exact opposite: while Ubisoft developers are ok with burning churches (which magically restore themselves), they do not show any of the other Viking raiding acts that have more broad implications. The author's problem is with the erasure of the actual viking culture, like slavery, and also with the (possibly unintentional) misogynistic views that the game portrays about weak, effeminate men, etc.
Thanks for saying this.

There's the idealized culture that companies put in cute little slide decks and share online.

There's also the actual culture inside these companies where, for example, the FBI opens an investigation into company executives for "multiple failed attempts to manipulate and extort people” to prevent them from reporting on its culture. [1]

I'd be more interested in a deck on the latter, frankly, or some insight from HubSpot leadership as to what's changed culturally since then.

[1] [PDF] https://www.samueljscott.com/wp-content/uploads/2018/12/hubs...
This is really exciting! I've been building a data engineering practice around jupyter notebooks, Netflix's papermill, and k8s cronjobs for scheduling, and it's been great...except for code review, weird dependency/virtualenv glitches, tests, and documentation.

At first glance, this seems like it would address all of my pain points? Will be interesting to try it out.
components can "rot" over time, you should check out the capacitors because :

https://en.wikipedia.org/wiki/Capacitor_plague

its possible there are some capacitors that are old and dry.
Ethics in Strategy Gaming, Part 1: Panzer General
The author writes

> we decided to assist fastai in their development of a new, literate programming environment for Python, called nbdev.

but this is followed by:

> nbdev builds on top of Jupyter notebooks to fill these gaps and provides the following features

is it a new environment, or is it an extended Jupyter Notebook? It looks like Jupyter Notebook to me. Why not Jupyter Lab?

> JupyterLab: Jupyter’s Next-Generation Notebook Interface https://jupyter.org
I first heard about Btrfs over ten years ago: what's taking it so long to 'gain traction'?
You can for any Mac, however only to a single HomePod (not a stereo pair). It shows up as a system audio device.
There's a lot of things that should be in the core app but aren't I'm afraid.

I've started to think of it like node: A slim core with an expansive userland in the form of add-ons.
"rely on social control mechanisms to punish people if they touch in ways you don't like" - in the industry I'm dealing with people get upset by other people using open source in a certain way to profit from it, yet the customers keep buying the rip-off products anyway and the people behind those products keep profiting. so at least there, social control isn't delivering the desired result. you could argue that social control acts as a marketing tool for the original developer of the project (?). in the RH case, are you talking about selling subscriptions to complement the free / open product?
> Once you do that, the "spreadsheet" can just be a "view" of the underlying data. Something you can export as, but not the thing itself.

Yes, and sorry because rereading my comment I wasn't clear, but this is what I meant. I view Spreadsheets as the view (but also an editor of the view), but I don't mean people should be working with XLS files (TSVs seem to work the best— I personally hate tabs but may have lost that battle). I do think though of Spreadsheets as the primary view, and so always design my data structures with the understanding of "how will this interoperate with spreadsheets". JSON is the pits.

IMO 2-D DSLs with Spreadsheets as the primary view/editor paradigm are the future.

I think Spreadsheets are 1, if not 2 OOM better than notebooks for doing actual work (notebooks can be good for presenting results in a narrative):

- non-linear for both humans and machines (allows for really creative and fast out-of-order parsing techniques on the machine side)
- concise signal with high information density
- unlimited cursors
- fantastically easier for version control and multi-player experiences

I maintain a list of all data science tools to try and stay on top of best practices, and when I see a tool is notebook first, I think "good, less work for me to track this one because they aren't getting the core things right yet." (Though often times notebooks will have really innovative orthogonal features).
I am guessing this is the one: https://www.medrxiv.org/content/10.1101/2020.08.14.20175257v...
C++ was not a force in 1987, so it is decidedly peculiar to mention it at all. And, even in 1987, malloc and alloca were both available everywhere. So, no, this is propaganda; not important by itself, except insofar as it unmasks the authors' biases.

Annnnd, C99 VLAs as such were not in C++11 at all, and were removed ("made optional") in C11, recognized as a mistake. That does not, of course, mean that C or C++ functions' array arguments were ever restricted to a fixed size.
What I don't understand is _what_ these applications are.
What does this surprise value tell me, and how can it be calibrated to anything quantitative? What's the equivalent of statistics that I can use to alter my original model's rankings to conform to what I observe?

I can understand ranking as coarse-graining of probability if there's some way to approximately map it back to the standard notion of probability.

On the other hand, using rank to direct collections of traces in a well-defined order is admittedly a neat trick; I can see using it to find something like the "most reasonable" or "easiest to explain" solution to a given logic problem. (I have actually seen a hand-coded version for Sudoku that attempts to minimize the backtracking depth to make it as easy to explain as possible.) But when would I want to do that to a program where the ranks represent instead how common a given event is? Verifying the no-exception case first? Is that useful?
Did you even bother reading the whole article before attacking the author?

They make it quite clear that they are angry about the selective omission of historical events such as the Scandinavian slave trade.
I worked on the campaign and can pass along any feedback to the team.
> I also understand that mRNA treatments have had some excellent outcomes in cancer patients

One interesting thing is that I was quite worried that in April/May all these experimental treatments have been stopped, because all the most interesting companies were forced to redirect their focus to COVID (the only reason you could use a lab). I'm relieved, that at least we got something in return: derisking mRNA as a delivery method, and showing that it's far superior to older ones. You're right that we don't have medium / long term data yet, but this article is quite relevant:

https://www.jpost.com/health-science/could-an-mrna-vaccine-b...

Linial explained that “mRNA is a very fragile molecule, meaning it can be destroyed very easily... If you put mRNA on the table, for example, in a minute there will not be any mRNA leftover. This is as opposed to DNA, which is as stable as you get.”
She said that this fragility is true of the mRNA of any living thing, whether it belongs to a plant, bacteria, virus or human.
As such, she said the worry should not be that the mRNA won’t get into the cells and instead will stay outside, floating in the body and causing some kind of reaction. Rather the concern should be that if it doesn’t enter the cells, it will disintegrate and therefore be ineffective.