skysight-inc/HackerNews huggingface dataset:
+1

You can also download an app like Notability, which can convert your handwritten notes to text.

So many of my physical notes are lost in notebooks that I never bothered to transpose into the digital realm.

With my iPad I get the benefit of handwriting, while also being able to index and search my notes later.
I never heard of them until this article

http://textita.com
You can do a lot in Perl with just closures and setting package slots etc., that you would need to use macros for in say Lisps.

Still, I agree, there's no real AST and string eval is unsafe and parsing is a real issue. I've started https://metacpan.org/pod/FP::AST::Perl (very unfinished) to solve the code generation issue and hope to generate an AST from the op tree (not sure how feasible, will see). Feel free to tell me (here or offline) what your use case is and whether that module might suit you.
Denying apps from an adversarial country on military personnel phones is not "Sino bashing". I wouldn't see it as American bashing if the Chinese government did similar. I'd just shrug and say "that makes sense".
Wow, I was wondering why there were so many new github stars yesterday, and here I found the reason why. :)

Thanks for being interested in tesseract.js, it makes all the work worth. And I have to thank @antimatter15 for creating this library, without him we cannot go this far

I have read all the comments and here I would like to provide my two cents for some questions:

1. Is tesseract.js pure JavaScript?

Yes, it is 100% JavaScript and it leverages Webassembly port of original tesseract-ocr. (means we compile the C sorce code to JavaScript Webassembly code, powered by Emscripten)

2. The accuracy of tesseract.js is poor.

In my experience, it is hard to get perfect results without applying additional techniques to your source images. You may need to some preprocessing and sometimes train a custom traineddata. It is not easy, but it is the price of high accuracy.

3. Cloud OCR service is much more accurate

Yes, that's true. But tesseract.js provides an in browser offline option to do your OCR, it is useful for scenarios like PWA and high confidential image content (which you don't want to send to server). Tesseract.js is not a silver bullet, but it is handy sometimes.

Hope you enjoy this library and feel free to leave any comment to us!
Sure, but that doesn’t mean it’s illegal. Finding some documents in a dumpster or overhearing a deal team drunk at a bar and then trading on it is perfectly fine. Generally there has to be some quid pro quo or deliberate knowledge on behalf of the insider that he’s giving you information for trading. Word goes around fast on trading desks and the vast majority are trading on legal or grey area information.

The government makes the laws intentionally vague so it’s really hard to tell.
>I'd rather just use Javascript

Not a phrase you hear every day.
Quit Your Technology Job and Get a Humanities PhD (2011)
Oh goody, my very own personal stalker. You are pretty much acting like the example I dearly hope folks ignore. I'm not sure where you get your conspiracy theories or how people who don't like a certain newspaper are suddenly some grand part of said conspiracy. The proof is in the full video, and that article actually did damage because people in a minority community who made statements assuming the truth of the report, plus their misunderstanding of an individual's status was problematic. I don't like them because they caused damage, and that has nothing to do with some international conspiracy theory.

Plus, more importantly, it had the potential to be such a nice technical discussion, but I guess some folks need to add scarlet letters to people. I do hope you know all the people that ever contributed to any idea or software that you use daily, they might be evil.
The lightfield technology is used in the cameras for the newer Google pixel phones. They have way less pixels per lens (only 2) so it's primarily used for depth mapping.
I've started noticing in-page search breaking more and more, for the same kind of reason. Sometimes you'll see more search results reported than are visible and/or can be navigated to.
Yes, from that aspect it is a bit like claiming this oil reserve is the oldest ancient forest. Which is fascinating as before microbes that could break down lignin came about, tree's would not decompose. Tree's themselves came about when plants developed lignin and enabled a strong bark stem and to grow taller, fighting for the light resource. But there was no microbes to break down lignin, which is in wood. So trunks piled up until evolution saw a microbe that could and it thrived as it does today. Though before then, tree trunks would pile up and it is those piles that became buried and with that, cut of from the microbes that would break them down. It is from that window in Earth's history that was behind the coal and oil today.

Still, a discernible root is a level of identification you will never get from any oil reserves.

Coal however, well: https://www.uky.edu/KGS/fossils/fossil-tree-stumps-types.php - which is also around the same period in time. Not sure what to make of that.
I can't play the teacher's vocal pitch. It errors out in both Chrome and Safari. Love the idea, though.
A for loop could mean anything, and not necessarily what the author intended. https://en.wikipedia.org/wiki/Rule_of_least_power leads to list.filter(p) always calls p O(n) and returns a list of the same type with some or all of the same elements. list.map(f) always calls f O(n) times and returns a list of the same length. p and f can be reused and only depend on a single element. A good platform will inline list.filter(p).head into machine code that exits a loop early, that you don't have to write or review.
Thanks for sharing this, I didn't know about it! What was the selection process, and your experience? Very curious to know!
It also lends itself to patterns in code. One thing that learned about Python coming from Perl was there was a “Pythonic” solution. Go seems to take that idea further with gofmt and a small but powerful std lib. I can typically glance at how someone is configuring their http.Server and understand the intention of the code.
I've been using Python to generate a static Hugo site from a (sort of) CRM API.

Mainly because there's no real API, and there's a just a bunch of scrapers.

The funny upside has been that customers really like the speediness of our "real time inventory" (it's a re-generated Hugo site every 25 minutes).
I mean, Rendezvous with Rama tries its best to place Rama's reactionless system in the context of currently known physics, using distortion of the fabric of space as its cause. But even including that, the important part is that the protagonists don't get access to the same technology; for example, the Endeavor didn't get to cheat its way out of its hyperbolic escape orbit (it had to be rescued by suicide tanker vessels). So while it's technically "soft" in this aspect it doesn't affect the plot.
Your information is incorrect. No countries are exporting junk, rather some countries buy recycling in order to profitably use it.

And those developed countries were willing to sell it.

And yes those developed countries do in fact have landfills and they use them. there are no countries that export pure trash to be landfilled in a third world country.
.. so we should be thankful that there's even worse ideas in there that nobody is doing!
Instead of rewriting with static types, they could just gradually add them – Python 3 supports static typing[1] with the actual type-checking done by external[2] tools.

[1] https://docs.python.org/3/library/typing.html

[2] http://www.mypy-lang.org/
As much as I personally don’t enjoy writing Go I really can’t fault them.

I still find it interesting that for a relatively obvious feature set of fast compiles, fast startup and fast runtime there really isn’t anything mainstream out there to compete with Go.

I really hope something like Kotlin, Swift, ReasonML or even AOT JVM/.NET brings something to the table soon. Or perhaps I’ll just have to wait for WASM to really take off server side.
> (this is called comprehensible input, and the theory is both applicable to listening and reading)

Notice the link I put in my first comment.

Yes, the more comprehensible the early exposure, the faster the student will advance at the beginning. If content is too advanced learning will be much slower.

It would be great if more language teachers and curricula put more significant effort into developing hiqh-quality materials aimed at being largely comprehensible to complete beginners. Many extant materials and courses do a very poor job at this.

> there are people living in foreign country for years yet cannot speak or understand the language at all.

Learning a language takes consistent deliberate effort.

> kinda stupid to say that language learning must be either grammar/voc learning or listening: it needs to be both

Grammar lessons have low marginal value for language learners, and are by no means necessary. Many people learn a foreign language without any formal grammar instruction whatsoever.
Hahah that would be bad particularly in your situation.
Isn't there a quote somewhere along the lines of "full rewrites are suicidal?"

Seems pretty risky to me.
On the one hand it’s annoying, on the other it enforces a discipline of thought in the same way that having to name variables does.
If you need to express something complex enough that you can't do it in a single statement in Python, it deserves to have a name (or more likely, it already has one in the standard library).
Our office (NZ) has no aircon and in summer (ie now) my passively cooled 2015 MacBook is constantly throwing up thermal warnings imploring me to quit apps to maintain performance.
Really you think in 2020 the software world should have an open discussion about a string replace function? Ok
It’s more what is the functional cost of acquisition, and is it less than the per user revenue of the paid acccounts?
Most people who hate things can recognize that other people don't hate them.

For some reason, JavaScript haters always seem baffled when confronted with a person who doesn't hate JavaScript.
def b(x):
return x + 1

vs

x => x + 1
I have an applied math background. What resources are recommend to understand the symbols used here?
The corollary of my complaint is there will always be someone who pops up on HN with no idea how many lines of code are in a "large project" like Dropbox or YouTube.
I don’t think shown like this they’re meant to be “tricky”, but there are so many tutorials and example policies out there that don’t fully specify their IAM policies and would run afoul of these if they were used as-is.
Honest question: but what’s the threat model for wanting an OS to block this? I’ve so far only thought of leaking IP address and Bitcoin mining. But any website already easily has both capabilities (with somewhat arbitrary open sockets after the WebSockets handshake). Is the expectation that an app implementation should have less permissions than an equivalent website and so be the “safer” option?
You may have seen people doing the two minute sprint then?

That's when you check the TOTP code on your phone, put it back on the stack of phones, and race as fast as you can back to your desk to enter the code before it expires.
Is this okay, even assuming it is true? I'm sure they could improve security somewhat using some form of remote attestation, so (hypothetically) only non-jailbroken phones and PCs with UEFI signed by a trusted (by Google) key could log in.

Start with a service open to everyone, and when you have enough market share, shut out everyone except major players. And of course, they don't give users the choice on whether they want this added security.
Fundamental? IMHO, they are just syntactic sugar on a foreach loop. Which in many ways is bad because it provides yet another way to express the same concept, without a significant difference in the method of execution. What am I missing?
U.S. Sanctions Halt Work on Russia’s Gas Pipeline to Europe
What's the purpose? Making an army of bots for Shen Yun astroturfing?
not your parent comment, but I think they mean how you get the data, not the tech stack
> The cost of landfill is really low, so it wouldn’t make any difference if it were added to the cost of plastic.

The cost isn’t just disposal, it’s also production. Plastic production (‘ethylene cracking’ specifically) is really environmentally gnarly. Communities across the US and internationally will be way better off once we move away from disposable consumer plastics.
Why would a flashlight app need to talk to the internet at all?

(Advertising.)
Ah, PHP... the cancer that never stops spreading...
It was candid and blunt. Those are the good attributes. They are not sufficient overcome the bad.

Here’s some examples of quotes from this article that would be flagged if they were posted on HN as comments. They’re pointless and are visible as a trend across many of this author’s posts. I can’t send this to coworkers because they might have grounds for an HR complaint. I can’t send this to peers because they’ll wonder why I would consider this acceptable to share with others. (I don’t.)

> to charge a nominal fee for Teams and let Slack bleed out, instead of putting a bullet in its head

> staging a mock homecoming queen ceremony so you can pour pig’s blood on your competitor

> these weapons have rendered CNBC Amazon’s bitch
https://github.com/nxxcxx/Neural-Network
Code but no TLDR
ITA: OMG! I'm required at many huge sites to register for the site to view content! Some of them aren't even free, I have to pay!

If you don't like those sites, don't use them. Sites as described do not constitute the "entire web". There are plenty of great still free still usable websites. There is an entire internet of them.

Believing that the whole web is just the monopolistic giants is the problem here.
That must be the custom OS build. Many official builds allow you to disable cellular, though very time consuming.
> I still write Perl to this day

I do too. I use it for solving data-analysis problems in a portable and long-stable way. To this day, I can still run Perl that I wrote a long time ago. That's a good investment. I can build data structures in Perl OO that are much more efficient in memory consumption than other interpreted languages.

Good code and bad code exist in every language -- anyone who has been in the business for a while knows this.

I would just add that the rejection of sigils and braces is also the rejection of other very useful and efficient tooling, such as bash and awk.
Hanzi are something you can learn on your own time outside of class. It’s really not a good idea to skip them at all. As someone who’s also learning Chinese, hanzi make remembering what I learned easier, since you can see how lots of vocabulary that you learn consists of parts of other concepts synthesized together.

Plus you have loads of homophones, and thinking of which hanzi each word is using makes it far easier to know what you’re talking about.

Example: shí. It means 10. It also means time, as well as dozens of other things. I can’t imagine trying to mentally divide all the overlapping words without the visual assistance of different hanzi when reading. It’d be like trying to learn the differences between they’re/their/there in English as a second language without looking at the spelling differences. It makes it harder.
Ask HN: What’s the most executed piece of code of all time?
My guess would either be the memory allocation algorithm or file access for the Linux kernel?

Any thoughts?
The Switch does it better - you don't have to update if you don't want to (unless you're going online).
Since you did not mention IPA above:

https://en.m.wikipedia.org/wiki/International_Phonetic_Alpha...

http://www.nativlang.com/linguistics/ipa-pronunciation-lesso...
Not sure about other car companies but my last job was at GM where I worked on their android auto platform. GM had before outsourced their development, but found the quality to be lacking so they have started to move software development in-house.
On one hand it is a bit of a non issue but on the other hand it is kinda funny watching a corporation strugle with trying to please everyone.

My personal test for when it comes to offending people is if there was any malice. And if the person being offended is using being offended as a form of control.
Check out rust. Everything about the language is sturdy.
Actors were developed to unify and overcome limitations of

previous important contributions including lambda calculus

[Church 1932] (first-class procedures), Petri nets [Petri

1962] (true concurrency), semaphores [Dijkstra 1962-1963],

packet switching [Baran 1964] (concurrent communication

between computers using fixed size packets), capabilities

[Dennis and van Horn 1966] (pointer security), Simula [Dahl

and Nygaard 1967] (class hierarchy), and SmallTalk-72

[Goldberg and Kay 1976] (bit-mapped computer graphics and

browser, the precursor of modern programming Integrated

Development Environments). The lambda calculus could not

express concurrency with the consequence that lambda

calculus programs can be thousands of times slower than

Actors. A Petri net cannot dynamically expand and has the

limitation that tokens can miraculously disappear from

different places, which is inefficient to implement.

Capabilities have the limitation that pointers must be

manipulated using indexes into capability lists thereby

making programming awkward. Simula did not implement

concurrency and did not have messages. SmallTalk-72 used a

byte stream of program tokens thereby making it awkward for

concurrency.

See the following for more information: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3418003
> fast compiles, fast startup and fast runtime

All I can think of is D, but it’s not quite mainstream. Are there any other less popular languages that meet all 3 conditions?
Few more NeurIPS related link: https://nulldata.substack.com/p/neurips-2019-edition
Why was it ever allowed on these devices in the first place?
Damn, I hate those two paragraph articles. Damn lazy writers.

Edit: This is all that Firefox Reader View shows. No explanation. Just this:

> Recycling Rethink: What to Do With Trash Now That China Won’t Take It

> Saabira Chaudhuri

> 1 minute

> For decades, America and much of the developed world threw their used plastic bottles, soda cans and junk mail in one bin. The trash industry then shipped much of that thousands of miles to China, the world’s biggest consumer of scrap material, to be sorted and turned into new products.

> That changed last year when China banned imports of mixed paper and plastic and heavily restricted other scrap. Beijing said it wants to stimulate domestic garbage collection and end the flow of foreign trash it sees as an environmental and...

Another edit: I would subscribe, if I could. I mean, just 1 EUR per quarter. But they want a credit card, and Mirimir has no credit cards. And expecting me to trust their discretion, if I shared my meatspace identity, would be foolish. But even trying for anonymous credit cards violates KYC law, and isn't worth the risk just to read WSJ.
You might be interested in the sequel essay, which covers dynamic linking under ELF: http://www.muppetlabs.com/~breadbox/software/tiny/somewhat.h...
That is a niche, because most applications are IO bound and not compute bound. What even qualifies as “systems programming” is ill defined. Far more critical business systems run on Java and C# servers than C++. If there are C++ components they tend to be small parts along the critical path and not the primary implementation language.
As seen on forbes (How a 28 year old built a 500k a month business)
>knee-jerk reaction against monolithic code

It's almost religious. The reaction some people have when you suggest monoliths is completely baffling. It's apparently just "known" that it is the correct approach to all problems, so, y'know, it's embarrassing for you to have even suggested otherwise.
> so (hypothetically) only non-jailbroken phones and PCs with UEFI signed by a trusted (by Google) key could log in.

They could also ban everyone without their dna on file, but I don't see any evidence for a move toward that particular scenario either :)

Sounds like there's known riskier clients that have to use a different authentication band (oauth) instead. There is a line there at some point where requirements become onerous, but this doesn't seem like it to me.
> And since Haskell for the JVM will likely never be a thing (a few have tried, but none have gained traction)

It's more than social reasons. The JVM has technical limitations that ruin idiomatic Haskell. Lack of a mechanism for efficiently and modularly compiling general tail-call elimination.

For instance, if you traverse too long of a list, you'll blow your stack. You can try it and fail yourself with Eta.

FP in Scala has the same issues, but they have some extra utilities to work around it, but it's something you gotta be aware of.
Are you suggesting China was just burning all the recyclables? If so why did they stop?
To be fair, the toilet hasn't changed much in the last 30 years but computing has drastically changed.
This is kind of a cop-out, how would anyone know?

Is Dropbox open source? Is Dropbox even a typical Python application representative of the challenges of porting from 2 to 3?

My hunch is that the challenges of porting Dropbox to any other language have to do less with Python more with the need to deal with a filesystem at a lower and more granular level than what typical programming languages offer. Thus everything needs to be rewritten in bazillions of ways to handle the bazillion corner cases.
Missing NOT. Or NAND
This is fantastic, but would really love if I got realtime feedback on my main pitch as I am making it, instead of the full spectrogram 1-5 seconds later. Like a little line chart.
Because they would be actively taught. It's somewhere between a university class (where the student pays) and a job (where the employer pays), the question is more IMHO about where the line of learning vs working falls. Apprenticeship seems to be catalogued as more work than learning, but that's exactly what the article discusses, how it didn't use to be this way. It seems like this now*:

-$$$ focused tutoring, maximum learning

-$$ cram schools, high focused learning

-$$ private schools, good learning

-$ public schools, mediocre learning (US-based)

?? apprenticeship

+$ 0-1 internships, learn by following

+$$ normal job, no specific learning time

+$$$ senior/executive, just work

Note: I'm not 100% confident with these numbers since in my home country things are a bit different, e.g. public university is better than private one, and internships are normally free.

Example: I taught in a bootcamp. Students paid a non-trivial amount of money for learning, and they were taught in classes of ~20 students. I think that would have been the perfect situation for an apprenticeship. I would not mind teaching someone programming if they help me with design for example. Help going both ways seems just like a normal exchange.
So to be clear, it's not like a closure where the local value is "copied" into the closure, but instead it continues to reference the original variable, including any updates to it?
This is a symptom of people being js first. And now their entire world is js. Especially talking about constraints.

And you can tell the gripe about anon functions is just lazy abstraction. Its like the opposite problem of the goto, everything here now. No abstraction.
> What part of ruby or java has anything morally or technically even approaching the concept, use case, or meaning of implicits?

Dependency injection for implicit params, for one? Also, you can almost see implicit conversions as one take on type safe dynamic typing. Almost.

But of course Scala also brings functional programming and its own ideas to the mix.
Google’s New Explainable AI Service