skysight-inc/HackerNews huggingface dataset:
Since you asked for feedback on Pingtype: It doesn't feel very useful to me, but that might be because of my different learning style; I already have my own tools and habits for learning Chinese, and your program doesn't offer me anything better.

I use Anki flashcards to review vocabulary; the Chinese Support plugin makes it easy to create cards with colored Pinyin Ruby, pronunciation and translation. I read just about anything for practice; lack of space has never really been a problem. When I find a sentence I can't tokenize, I'll have to look it up anyway. (I use the Pleco dictionary for Android.)

BTW: I saw you complaining on your blog that 望 is being displayed as 亡月王 instead of 亡匀王. Since I'm probably never going to email you about that, I'm tacking it on the end here. It's the font reflecting different handwriting preferences [1] that Unicode decided not to encode. I used to have the opposite problem and had to install a new font to have it look the way you don't want it to look. I suggest finding a font you like instead of putting up with the font you currently use.

[1] https://en.wiktionary.org/wiki/%E6%9C%9B#Alternative_forms
I use F# and Rust for personal projects. At work I deal with a programming language akin to Go on the simplicity side, and it is just not fun.

But I am probably not typical. I'd no problems learning a language I'm interested in (but Haskell. Monad pattern recognizer somehow can't take a hold in my head for long).
Isn't Freud a case where the old line "Your work is both novel and true, unfortunately the parts that are true are not novel and the parts that are novel are not true" holds?
I'm not entirely sure about that. But luckily there is an easy way to find out.

All we need to do is give Sci-hub free reign to publish scientific articles, and see what happens.
I always look at programming languages from the same position i use to look at guns. What kind would i want OTHERS to use around me?

From that POV Go wins hands down in my opinion. Harder to get wrong. Easier to get right.
the question how big are the compile times on a project in the size of kubernetes, i wouldn't call that "quick compile time". even the go part of it.
I mean yes the use case for many people who use go have a fast compile time, but once it goes huge, the speedup isn't as big as on other languages.
This makes a lot of sense to me. If you're maintaining a large project having lots of non-cohesive commits make it much harder to figure out what the logical changes were. I care about the set of code changes that were required to add a feature or fix a bug. I don't care about the set of changes that were required to get halfway to working code.

This is also potentially a big deal if you're doing maintenance bugfix releases for a project - that's way easier if porting the bugfix to an older branch just requires cherry-picking a single commit.
So this ranking exists (but keep in mind the error bars on some countries with 1-2 medals):
http://andybarefoot.com/olympics/#medal-efficiency
Something must be used against "Everything is done in C/C++/JS. Why change that, ever?".
It uses Amazon SES as the mail back-end. In other words, Amazon is dealing with the logistics of sending the mails.
My first was 5MB. Now get off my lawn!!
>but the script is the same.

Not entirely. There scripts are the same enough (and large enough) that the designers of Unicode wanted to combine them into a single character set. God help you if you actually want to combine these languages within a single text. The writing systems are different enough that to get a good result, you need to use a font that was designed for the language you are reading.

https://en.wikipedia.org/wiki/Han_unification
> After all, the pirates have long since been chased out of the music business (Gapper, 2017).

Did somebody tell the pirates?
That partly measures a policy choice "how good must athletes be for us to send them to the Olympics?"

Different countries make different choices there. Small poorer countries, for example, aren't likely to have any athlete who can get to the final in the 100 meters, but yet may want to send an athlete to that event, simply because it is one of the cheapest events to send someone for, and they don't want to send a zero sized team (for example because they want to earn 'legitimacy points' as a country or because their Olympic committee wants to make a trip to the Olympics)

The USA, on the other hand, isn't likely to send anybody who can't make the final in that event. Part of the reason for that is that they try hard good candidates, but part also simply is that they can make way more throws of the genetic dice, and thus are more likely to hit on an outlier who performs exceptionally well.
> No, Go isn't a systems programming language because it has a GC.

I don't think a GC excludes a programming language from being considered a "systems programming language".
I've been using Go in production for a little over a year now. I'm also attempting to learn Rust in my spare time.

This post just about sums up my feelings on Go vs Rust.
I don't know that anyone claims Matlab is dying. But then, noone claims that Fortran is dying, either.
First desktop I was offered was around Win95 release. 500MB was the norm I believe, assembler and parents were generous I suppose so I got a full GB. I have a lot of hdd from that era (some seagate 4GB that still work btw) but this one I don't know.

Before that we briefly had an Amstrad CPC512 with two floppies and nothing else :D
High-precision quartz wristwatches with well-designed temperature compensation can get accuracy within single-digit seconds of drift per year, and even that level of accuracy is enough to make them a niche product. Also, you need pretty good battery life in order to ensure the battery doesn't run out before the drift becomes relevant - some of the higher-end quartz movements already struggle with this a little, and chip-scale atomic clocks are much worse and likely to remain that way. Having accuracy of a second in 5,000 years doesn't give you much benefit over quartz because the battery life is measured in days.
On this day in 1985, Jobs resigns as Apple Chairman. In 1997 he returns as CEO
ok, thanks for reminder, will definitely try to avoid such things in the future posts
If we're talking about strawmen, not sure how you differentiate the one true community from the false community.

stevekalabnik and pcwalton show up in every Rust discussion for a reason (no knock on them), the Rust evangelism strike force meme is real, for a reason, this post called "Rust is Software's Salvation" got 172 upvotes and 176 comments for a reason:

https://news.ycombinator.com/item?id=13280150

The marketing is real, nuance is good.
Ugly is probably a massive understatement, given the state of that region know when they are practically rolling in money. I think you can probably expect the next couple of decades to look like a fairly precipitous decline, followed by a stupendous explosion.
What do you so for core conditioning and strength?

Also I'm looking for ways to put together a workstation in the horizontal position
ha good to know, I only read a few mail on that thread maybe I missed the part where they mentionned relocation.
“Hey Siri, remind me in two years to tell Veejay how his prediction panned out”

OK, I’ll remind you.
Exactly. Architects are a bit like that kid that took all the easy classes, got all A's and just now realized they had to work in the real world. Things are going to likely change rapidly in micro architecture and architecture over the next ten years, far more than in the past thirty. Frequency scaling and node shrinkage killed the art. I can't wait to see more from this guy, the paper referenced on another comment seems to be vey close to what is described by Beard in this position piece. I wonder what else he has going on.
So you're saying that for almost everything Rust is not a reasonable choice. You then state that a reason for this is because people don't have to worry about lifetimes because it has a GC.

There are applications where a garbage collector is simply unnecessary and possibly extremely detrimental.

And if you get down to it you'll find an amazing truth: once you learn how writing programs is about as easy without a garbage collector than it is with one and your programs run a lot faster.

Using an automatic transmission is a lot easier but manual is not hard and you save a lot of gas.
I've still yet to really see rust in a non just fucking around professional setting

that said go's import/package management fuckery is best avoided almost everything else is better IMO it's just a side effect of the designers being overly obsessive about the failure that was plan9
I am skeptical. What about those three chapters resolved your physiological ailment?
> Sorry, but Go isn't in the same category as Rust or C/C++.

From the article:

> 99% of the time, Go is "good enough" and that 1% where it isn't, you'll know. And then take a look at Rust, because the two languages complement each other pretty well.
And this is the part that I don't understand. According to most articles about this, they do offer private, shared offices. They're shared in that anyone can badge into them and use it privately but they're not assigned to any individual. That seems like a great compromise and yet it's rarely mentioned in articles like this.
tangential question: are there still compiler bugs?
Read anything by Ted Nelson. He was the original visionary of hypertext (he even coined the word). He hates the web like Kay hates personal computers.

Of course he's also spent 50 years trying to implement his vision of the web and failing [0] so there's that.

[0]
https://en.m.wikipedia.org/wiki/Project_Xanadu
Why not solve the interoperability problem instead, then who's gives a flying, about the choice of language :)
“Cigarette smoking causes about one of every five deaths in the US each year.”
On a personal note I'm not a huge fan of the syntax.
The type system looks nice but frankly not as simple and expressive as Rust's as well.
It seems like such a long time ago since Sun/Oracle and Apache Software Foundation fought over the licensing of the Java Technology Compatibility Kit (Java implementation test suite) for Apache Harmony, their JVM and Java class library implementation which was used as part of Android for a long time.[1,2]

Hopefully OpenJ9 will meet with better success. On paper, it seems to meet the restrictions that Oracle currently imposes for TCK access, namely that it is available under a GPL license and that its class library is derived from OpenJDK.[3,4] And it comes from IBM, which has been able to put aside its differences with Oracle on OpenJDK in the past, when it became clear that Oracle would never support Harmony (which IBM previously backed).[5]

But when it comes to Oracle and intellectual property, who knows?

[1] https://en.wikipedia.org/wiki/Apache_Harmony#Difficulties_to...

[2] http://www.apache.org/jcp/sunopenletter.html

[3] http://openjdk.java.net/groups/conformance/JckAccess/

[4] http://openjdk.java.net/legal/octla-java-se-8.pdf

[5] http://blog.joda.org/2010/10/no-java-7-end-game_4619.html
What should embarrass us so deeply and why? HTML and CSS are some of the most generative, enduring, and transformative technologies ever. I wouldn't fund anyone who doesn't recognize how great they are!
React Native says otherwise: javascript talking to native components.
That's not applicable to papers though, because the authors are either not paid by the journals or pay the publisher.

The questions Wiley are dancing around are "what does the publisher actually do" and "is anyone, author or reader, prepared to pay for that".
This is precisely why we rebase and squash. We maintain about 4 release branches at any given point and having everything squashed into one or two commits makes a bug fix on master simple and straightforward to downstream.

Although more frequently what we will do is do the bug fix on the furthest downstream branch and because we tag our branches with semver scheme we jus have our prep-for-deploy build automatically walk back up the branches back to master and attempt to merge the feature in along the way.
A set, the abstract interface, is simpler conceptually than a list. A hash set, the particular implementation of a set, is more complex.
I remember buying a 1GB SCSI drive for $950 pretty much because it was the size of all the disk storage in the machine room at USC when I was attending (three strings of drives 330MB each string, whohoo!). I was just amazed at one drive that I could buy with as much storage as that entire room. I have it sitting next to an original ST506 drive from Shugart (5MB in 5.25" full height form factor).

Interestingly, still 1 in 10^15 unrecoverable bit error rate[1]. What that means from a practical standpoint is that you are essentially guaranteed an unrecoverable bit read error if you read the drive end to end (as you would if you were re-silvering a RAID 1 mirror), and in a RAID6 configuration I'm guessing it will take about a week to reconstruct a failed drive at low priority. All that storage behind a single port which has a sequential transfer rate of 255 MBs[1].

[1] https://www.wdc.com/content/dam/wdc/website/downloadable_ass...
Of course, all software has bugs :)
As much as I like Ocaml and would love to use it for everything, I tend to agree with you. The ecosystem is severely lacking, making it impractical as your general, everyday language.
The basic thing to remember is that HTML was never meant to handle UIs. It was a very basic document layout format, with some simple ways to provide the reader with addresses for references etc.

It was in effect Netscape that tried to turn it into an UI as a way to get into the office network market. This riled up Microsoft, and the rest is history.
> Which is kinda funny, because nobody (ok, almost nobody) ever asks those questions when it comes to computer science or particularly IT security.

Actually, I've hardly seen any vendor study (especially Microsoft, but basically all vendors) which was NOT ridiculed by anyone who cares about science.

> If you would have the same standards for large parts of CS that shattered psychology then you'd have to admit some pretty dire things.

Can you give an example? Unlike "software engineering", which is neither science nor engineering but mostly a craft, Computer Science is a field of Math, and rarely has anything to do with probability (p-Hacking), or selecting a favorable data set; There's a lot of criticism directed at the relevance of test sets (e.g. MNIST), but that's basically the opposite problem, which might impede progress, but does yield out very well defined and verifyable conclusions.
Ask HN: What are examples of large state-funded (or owned) software companies?
I am surprised that Julia hasn't been mentioned yet. It is the language/program that I normally use when I don't want or for some reason cannot use MATLAB. Many times I don't want to start MATLAB because of how ling that process takes on my computer, especially for easy tasks. I definitely recommend checking out Julia.

Main website: https://julialang.org/
Cloud: https://www.juliabox.com/
"Batteries included" IDE: https://juliacomputing.com/products/juliapro
What did that involve? How did you reduce your stress?
How is Go "harder to get wrong?" It's very easy to accidentally introduce a null pointer dereference, data race, type assertion panic, or drop an error. It's much harder to get these sort of bugs in Rust.
Please explain how you're going to GC on an 8bit microcontroller, or even an AMD64 when the bios/EFI passes control to you. GC requires a runtime; something needs to provide that runtime.

(JavaChips were interesting, thought iirc it only ran a certain subset of Java?)
If a hospital doesn't have an MRI machine, it won't be able to compete. It's really not an option to say "I won't buy it unless X." You buy the one that meets most of your needs for the best price. Not buying is not really a choice.
Grooveshark is exactly the point though. The reason they were better than Spotify was because they had EVERYTHING at a time when other services had much smaller catalogues. Now the movie industry is headed down the same path. No Disney, having your own service isn't going to increase demand, it's going to drive people back to piracy.
That's true. However, just like any other third party library, app may use, but they don't have to. It is up to the developer. It is perfectly fine to develop Android apps that do not use Google Play Services.

In fact, if you want your app to run on Chinese devices or Amazon devices, for example, you have to account for missing Google Play Services.
How can we debate whether the spring drive's fully mechanical or not? It's got a quartz oscillator and an integrated circuit.
Uh ? there are actually quite a bit of stuff like this, for instance I like this one: https://github.com/paceholder/nodeeditor
I tend to think the problem identified by the author is more of a fundamental problem with long-lived development branches that diverge with master - stuff will change under you and it's not always easy to notice.

It's also kind of a problem if underlying parts of the system that you depend on either are churning that much without that being communicated or if they have poorly-defined interfaces and are prone to accidentally breaking things that users depend on.

It's not entirely clear, but there may be some testing gaps too if bugs weren't found.

Maybe merge-based workflow helps a bit but it seems like the pain would still be there regardless.
My guess would be that Go's GC (which is supposedly pretty good) takes care of space but pushes up time and CPU usage anyway.
The Spirit of Butts' Farm
by tar you mean gnu tar
The interoperability is entirely connected to the choices a programming language makes in order to execute a program. A programming language that has a GC will immediately have somewhat of a challenge in calling native C code.
And then there's the identifier problem. Some languages allow different characters than others in identifiers.
There are so many issues that interoperability is literally impossible to solve generally or by any single individual.
> I looked through the docs some and thought it looked quite nice, except that it appears you have to write the app in c++.

No, you can write full apps in QML/JS (I personnally prefer going the C++ route for the stricter typing and better performance, but to each its own :p).

Most JS libs will work (except those that work on the HTML DOM since ... it's not HTML).
actually it's the other way around; once your rust code compiles, it's going to be much safer to use than go. the difference is more in that the parts you have to assemble the gun from are much smaller in rust.
> does it have the tooling?

Yup. Opam (package manager) + Merlin (editor integration, type hints, error messages) + VSCode are a killer combo. And if you use ReasonML you also get refmt, which is the equivalent of gofmt.

> ecosystem?

Yup. The opam ecosystem is high-quality, growing, and has all the essentials. If you need something out of the ordinary you can call out to C libraries, or even compile to JavaScript and use (almost) the entire npm ecosystem with BuckleScript.

> is there even another stl than jane street's library?

That's odd. Usually people criticise OCaml for having more than one stdlib. But yes, there's a minimal but useful stdlib that ships with the OCaml compiler: https://caml.inria.fr/pub/docs/manual-ocaml/libref/index.htm... . And there's also the community-driven Batteries library: http://batteries.forge.ocamlcore.org/
High-Level Approaches for Finding Vulnerabilities
And even then, it's ok. Hell how many places has Java been embedded?
The Minsky circle algorithm
Wow. It's been about 6 years since I last used j9, but at the time I used it it was extremely good. But I was running on Power, which is it's sweet spot.
That's a shame. Which parts of the syntax do you dislike? Can you also elaborate on the type system?
I've had the same experience. I'd like to learn Rust, at some point, and I read articles about it and tutorials now and then. But, realistically, I would need to dedicate myself to it for a long period of time to be able to build something from scratch in the language.

On the other hand, in a weekend of casual hacking, I was able to learn the language (sort of) and make a project from scratch in Go that actually did something useful. I'm sure the code is awful, and it'll take months of weekends of casual hacking to be able to recognize why, but Go is damned near comparable to Python or Ruby in terms of being able to go from zero to writing working code.

I'll still keep learning a little rust here and there when I have some free time. I'd really like to know a good, modern, systems language. I used to work on some C projects, but C++ was just too daunting, it's just to big of a language for casual use, so I never went down that path. Rust seems to be a good compromise.

It's not even a "Go is better than Rust" situation; the Rust team has made reasonable, occasionally brilliant, compromises on ease-of-use and ease-of-learning vs their other hard requirements. Go just has different requirements and they result in a language that is easier for new programmers.
No, it's because the app uses Google Accounts for authentication.
That can't possibly be the case. A big point made during the latest keynote was that the watch will now report heart arrhythmia and that wouldn't be possible if the tracking was intermittent. It's probably close to something like the FitBit where it tracks every 5 minutes or something. That's enough to get rate information for things like arrhythmia while saving battery life enough to make it last 1.5 days on a charge.
Too late to edit, but: s/hand/land/
"Not one of them could correctly produce the character." is slightly different from "We can't remember how the word looks at all". I would assume they know it's spelled with the 口 radical, but they might get the details of 疐 wrong.

FWIW, I could write it correctly, but I also spend 40 minutes per day practicing vocabulary, the bulk of which is spent on writing the characters.
> If we're talking about strawmen, not sure how you differentiate the one true community from the false community.

I pointed out that there were multiple communities before you did.

> stevekalabnik and pcwalton show up in every Rust discussion for a reason

I agree completely; their calm, constructive engagement with the HN community has been a tremendous help to Rust's adoption.
Perhaps.

but try loading various present day pages without JS enabled.

Many of produce just a white screen unless you turn on JS for 3+ external domains to the one you are trying to read.

And once those load, you often find half the screen filled with persistent headers and footers.

In effect Flash didn't go way, it was just turn into JS+CSS.

And in large part i fear we get this because the people in charge are hell bent on recreating printed media in electronic form.
> Rust has the complexity of C++ plus additional complexity from the functional community. Plus lots of fancy template cruft.

This is so patently false. C++ contains an order of magnitude more complexity than Rust (as one would expect for a language that continues to evolve radically 30+ years after it was designed; for better or worse, complexity is C++'s game).
I think there are many good reasons to use rust. But trying to promote it so everyone uses it everywhere to replace everything is overkill and can kill any chance of widespread adoption.

If you only need an spa use react or bue. If you only need a website use php or ruby. If you only need a webservice use node or go. If you only need an operating system use rust or c.

Using rust for client side validation is probably not going to work.
How many stls do you want? I thought Jane Street's replaced the default one.
I'll be in Boston next week for a few days, so I'd be down.
In effect Star Trek lala land...