skysight-inc/HackerNews huggingface dataset:
The reputation is undeserved as a description of the language proper; it's a flexible and powerful language that allows libraries to do quite a lot, so people often mistake library features for language features. In a way it ends up being a bit like lisp: a toolkit for allowing you to construct your own (hopefully domain-appropriate) language rather than a language as such. Like how people will sometimes criticise Ruby for things that turn out to be a Rails feature rather than part of the language itself.

It is fair to say that many Scala codebases are complex and difficult to work on. It's a language that punishes poor choice of libraries much harder than many languages (particularly if people are used to JVM languages - what libraries/frameworks can do in Scala is much closer to what they can do in Python/Ruby/...). I don't think it's "fair" to compare Scala to Kotlin on those grounds, simply because we haven't had time for generations of Kotlin frameworks to build up. But obviously that kind of fairness is not your concern if you're a business making a choice of tools.

If you're choosing a language for a short-lived codebase then Kotlin might be a good choice if it does what you want. What I would say is, if you're trying to choose a language for a codebase that will live for 5-10 years, try to think about what Kotlin is going to look like in 5-10 years. Right now Kotlin is able to be a lot cleaner than Scala (at least on a superficial level) because it doesn't have backwards compatibility with large existing codebases hanging over it. That isn't always going to be the case.
Anybody know of any self-hosted alternatives to something like this?
Good article.

My main objection to AMP is not that is it being portrayed as a community project (although, that does bother me). It is that Google are creating their own subset of already well established standards (HTML, CSS), and forcing developers to adopt them if they wish their content to appear at the top of search results.

If this is truly a project to increase the speed and readability of the Web, as it was initially promoted to be, Google have better tools for achieving that outcome (demoting excessively slow sites in search results, for example).

In it's current guise, AMP is little more than Google aiming to force all content on the web to be consistent with their own look-and-feel, and breaking the fundamental philosophy of the web in the process.
Great portrait of an actor
I've been having issues with slow IO on some of my containers, and I'm using AUFS. What is the cause of the slowdown with AUFS? Why do they not use Overlay2 as default if AUFS has such a major issue?
Don't underestimate Typescript.

Sure, it's somewhat restricted by the "superset of JS" property, but you still get stuff like ADTs with exhaustiveness checking.
Unlikely edge cases are the biggest source of bugs. One of the worst production bugs I've seen happened because someone refactored some code assuming a getter just got the field, like 99.9% of getters do, but this particular getter didn't.
David Beasley, Executive Director of the World Food Program (WFP), Warned That.”
Interesting PR strategy by Apple, considering the general review embargo hasn’t been lifted yet (I’m assuming more than a few of the usual suspects got review units...this past Friday, maybe?)

This is certainly the way Apple would like the X to be perceived, and Levy makes sense as someone likely to be on their wavelength.
Even if I have 100% battery, I don't want any of it going to ads or miners. For anything else, the OS already bugs the hell out of users when battery is low.
I don't think dense code has drawbacks; people measure in lines of code because they implicitly assume all lines are equal, but that's completely wrong. Reading the same logic when it's 20 lines is much, much easier than reading the same logic when it's 100 lines, because whether you can fit it on a single screen or not makes a huge difference to whether you can comprehend it.
That's what the essay is doing. But in my more than 10 years (not 20) of using Lisp I have seen nothing to support the hypothesis, let alone to diagnose a psychiatric condition to a group of people.

Then there is this gem "If you read many posts discussing Lisp (including one in comp.lang.lisp called Common Lisp Sucks)" ... " The problems are soluble (Qi is a proof of that for God's sake), but when you're down everything seems insoluble. Lisp is doomed and we're all going to hell."

Lisp is doomed because nobody likes his pet project or appreciates his insults. This essay is just one big insult, I'd prefer people stop disseminating it.
Having personally known two mathematicians who committed suicide because they felt they didn't amount to anything by their 30s, I wish every new mathematician would read this post.
You should enjoy this then: http://www.rustacean.net/
What's up HackerNews! I'm surprised to see my creation Startup Stash pop up here, after launching it early 2015. I think I tried to post this here before? (back then)

Those of you who don't know, Startup Stash is the most upvoted product of all time on Product Hunt with 11K+ upvotes (https://www.producthunt.com/search?q=%2A), if you want to know more check out this blogpost I wrote after launching it: https://medium.com/startup-grind/how-i-launched-the-2-most-u...

Right now I'm working on something new: a course to teach anyone how to build a Minimum Viable Product without code: https://nocodemvp.com.
Saw it demo'd at PyConUK this weekend and it looked v impressive!
I'd add Logojoy (https://logojoy.com/) for logos. They're not free, but they'll get you started with a logo you need not be embarrassed by.
Checkout daptin[1] if you are looking for a full-fledged solution.

[1] https://github.com/daptin/daptin
WinZip Pro 22.0 Build 12663 Crack with Serial Key Here
Elixir doesn't really push much of the state of the art forward. It's pretty much Erlang with new clothes (and some nice cleanups). I worked with it for over a year and while I loved the 'fail fast' model of programming, most of the errors that were caught were stupid programming errors that would have been trivial to catch by a type system.

What I really want is a type system for reasoning about distributed, stateful, programs. Has to deal with mixing strongly consistent eventually consistent (CRDT) data with synchronisation points (see Bloom/Lasp), hot code reloads, migrations, messaging across nodes, possibly some sort of row polymorphism combined with clojure's namespaced symbols... Like sort-of like Cloud Haskell but with zero-downtime deployments. Or like Pony but with a better distribution story.
Yes, that's what I meant, thanks :-). The idea is that you can just write `unbox<MyType>(jsonParse("{whatever:42}"))`.
Apple really mastered the art of milking sheep
Why do you think has Google created these restrictions on HTML and CSS code in AMP pages?
good one, let me think about that ;)
Show HN: From Zero to Serverless in 60 Seconds Anywhere (TechFieldDay)
that is, true ;)
How walking a labyrinth can trace a route to self-knowledge
It's not a duplicate - it's the video that I published after the blog.
> The risk takers earn the rewards, and even if they fail, the journey to failure almost always leads to meeting tons of people, tons of opportunities, and a future path that leads back to the cushy high-paying job they tried to avoid.

At which point, the "safe path" guys are already nearing their early retirement.
Yes that's unfortunate choice of tool by Docker Inc, but you can enter any garbage.
Building a zero dependency HTTP/2 server with Node.js
Fun fact: what you did is a hand implementation of Rust's "drop flag" (https://doc.rust-lang.org/nomicon/drop-flags.html).
Bad Rabbit: the unrelenting ransomware attacks on the Eastern block
The terse syntax is totally off-putting to most people and it makes it a hard sell at work or to a research group. I suspect the only reason it found a niche in quant finance is that those guys are geniuses and can kinda do whatever the hell they want. They also don't have to share their code all that often AFAIK.

There's also no reason for it. Heck, you could even give each function an alias, write a "verbose language", and have it compile to the short form before being processed further. Then you could even write both long-form and short-form, and interleave the two if you really wanted.
Neural network gives your phone 'DSLR-quality' photos
We can look at the OS permissions to see what it’s doing in the background. Facebook definitely doesn’t have the ability to listen to the mic in the background on iOS unless you’re implying that Apple created a back door for them...
I don't think we've reached the limits of what can be done with better programming languages, just because there's already such a range in terms of what today's languages do - I really do think there are languages in use today that are multiple orders of magnitude better at general computing than other languages that are in use today (as at least nominally general-purpose languages).
Author of SharpNEAT here if anyone has any questions.
VMware APIs as a Service Using OpenFaaS & VIO Kubernetes
I think grub would usually be called after the boot firmware (like UEFI, or coreboot, or a traditional BIOS) has already initialized the hardware. Some of these systems can also directly load your operating system, and I would guess the one of the few thing missing from the boot firmware would be the filesystem support, and not much more
So when they purposefully dismiss F# and say it's just useful for scientific and engineering (with a touch of finance) they find they don't get much adoption from general business developers?

F#, even if used as a better C#, is still a win. C# has improved a ton since F# appeared, but it's still clunky. Microsoft should have had a push, F# for everyone, but this is the company that had to be dragged into generics (by the F# people) so I don't know what we'd expect.

All F# needs is real committment to level tooling. Instead it's an afterthought. It's enough to give even me pause when starting a project.
That description is ringing vague Asimov bells.
ArXiv link for the paper: https://arxiv.org/abs/1306.6032
No amount of feedback can turn a lemon. Also, its not the role of corporations to play makework and pretend they are contributing. So someone gets fired and takes a job more befitting of their abilities... that's not welfare that's just life.
Amazing Web Design Development Trends Worth Knowing for 2017
Yeah, definitely agree that there are trade-offs with currying when mapping it to a compilation target like JS, and I am consistently impressed by Bucklescipt's ability to convert the curried versions of functions to regular JS calls. That said, I do still think that it's worth the trouble!
Your comment expanded out is what I had hoped that blogpost would have been. Thank you for posting this. It's hard to overstate how much easier bidirectional typechecking is compared to other approaches.

My favorite starting point is actually Dunfield's lecture notes on bidirectional type checking, https://people.mpi-sws.org/~joshua/bitype.pdf

The paper you mentioned is great at showing the approach scales well to giving you all the fancy features you might want that are in modern languages.
Thank you for that link. I’ve read through Roy’s original dissertation but apparently missed some of the details. This post helps clarify things.
Show HN: Reddit’s favorite learning books, from 3.5B comments
The "cryptic syntax" of math was an organic outgrowth over hundreds of years by researchers from all over the world.

And yes, long and complicated mathematical expressions are cryptic. That's why you often see constants being combined and equations being re-expressed in "simpler" terms, even when those terms are themselves relatively complicated functions. It's partly about conceptual abstraction, but it's also about visual clarity. Math can get very, very hard to read.
Yes, but they are only available for a few languages, and they're not a tool that is recognized as beneficial to programming in the large, like for example IDEs are.

Moreover, having direct introspection of a model stored in a local notebook is still quite limited with respect to having it in the whole environment like Smalltalk or HyperCard did. There are a few systems trying to explore that "structure of the project" approach, like Leo Editor or the Smallest Federated Wiki which could be a better basis for a "Inventing on principle" tool.
Why is everyone forgetting Scala.js?
What’s Wrong with Bitcoin
> 2. It posits that everyone who has experienced this is unsophisticated and ignorant about cognitive distortion.

Not really, it just suggests people aren't perfect statisticians and perfect at recording information. Which we aren't.

> People also have experiences of unlikely events but which have well understood or easy-to-estimate probabilities

The probability of seeing a relevant advert is not something we can easily estimate.

> Lots of people can distinguish quite well between their own illusory biases and events which are coincidental,

I would be shocked if this was even a reasonable percentage of people. I am certainly not a perfect innate statistician with perfect recall, and I think most other people are not either. Humans are just bad at this stuff.

> which didn't occur much historically.

I'd be shocked at anyone with a very solid recall of all the adverts they see.

Without strong evidence, this seems like a perfectly reasonable base view. It'd be a complex, expensive, power and data hungry way of targeting adverts, extremely controversial and possibly illegal. There's no evidence they're actually doing it, no whistleblowers, and many of their adverts are just terribly targeted.

People here are bringing up examples like a young couple being advertised a pregnancy test. Hardly requires invasive monitoring of a billion people to achieve.
Ya, but who wants to read an article like:

1. 90% of a super rich person's habits/activities are probably irrelevant

2. the other 10% are highly dependent on the specific way they made their money and their network of friends colleagues etc. and probably won't translate to other areas/people.

3. google luck you'll need a lot of it.

Doesn't mean there aren't some things that are important:

1. owning your own company

2. compounding at a pretty good rate of return.

3. leverage
I understand the marginal utility argument. That argument assumes there is any moral right to steal from one person and give to another in the first place. I disagree there is. This is an analogy NOT a comparison... but its like saying its ok take the heart of an old person to give to a child because they would get more use out of it. Yes, that's true, but its a non starter due to the deprivation of the rights of the old person.
Google, Facebook, and Amazon have fundamentally transformed the web
These languages exist because:

- people want to target browsers

- everyone’s idea of a perfect language is different

- javascript is the only viable compilation/transpilation target

Even if Javascript had the combined typing capabilities of Haskell, Agda, and Coq, there would still be people inventing/porting other languages to support client-side web development
Ok, to clarify - I didn't mean program as in a simple function. I meant a program as in application, something that accepts some real-world input and produces some real-world consequences.
TS doesn’t have exhaustiveness checking
10 Best Big Data Management Tools
What is the difference between hashgraph and blockchain?

Its like SQL vs GraphQL db?
How to control your connected home with Google Assistant
It's an "enterprise feature" https://anvil.works/features

On-site installation

For when you need to keep sensitive data or apps inside your firewall. Anvil on-site installations allow you to develop and deploy your apps entirely in-house.
Doesn't seem to work with firefox :(
Equivalent to 64 then-$40M supercomputers in my pocket for 1/6th the price of my first bare-bones IBM PC.
There's replacements for Halon that work just as well without making a big hole in the ozone layer.

Sprinkler systems only put out fires that start inside. When the fire starts outside and burns down through the roof, the sprinkler systems are not going to do you a lot of good.
I'm mostly writing functional-style too these days, even in imperative languages. So this was more of a thought experiment based on the testing I've done in the past or watch being done at my $dayjob.

That said, I didn't mean text substitution, but AST transformations (or rather, AST comparisons, since my example is defined in terms of AST equality with the MOCK magic thingie making the particular part of AST be ignored for the sake of comparison).
The use case is for kiosk style applications to be able to give warnings to the user. Or for other apps to take extra precautions such as saving copies of dynamic state to non-volatile locations in case the power fails completely.

Though a battery percentage is not really useful for this as it could mean many things. My current main phone at 25% could last until tomorrow quite easily, my previous main device had at most a couple of hours left at that point. A simple "warning level" API would be more useful, allowing the app to register for events like "less than one hour of power left", "power loss likely in the next ten minutes", "entering super-power-saver mode" & "manual shut-down starting" and/or poll for the same flags. That way the device, which is much better placed to monitor such properties, can manage the warning levels perhaps with an off switch in case users don't want apps to know. Of course, you might have to enforce limited resource use in response to low power events, and you shouldn't allow much time between emitting "entering super power saver" events and actually entering the mode (which will shut off browser tasks until the mode is left).

So while there is a valid use case, that doesn't rely on trusting advertisers or other hogs to do something nice, the API as wasn't fit for that purpose and making something that is might be more complicated than you'd first think (so perhaps not worth the effort for the few apps that would actually make use of it).
moot point
There is a subtle difference between Knowledge and Intelligence
Thanks to them having been born in a future that doesn't even know what Smokey and the Bandit is, and where Pedro Pascal is their Burt Reynolds.
If you're talking about CSS in particular, you can import existing CSS documents using an option in the Stylesheet Editor tab.
Why I willingly bought a Windows Phone
PayPal’s Emails Encourage Dangerous Habits
That seems targeted at applications, not development, and it's got much less momentum behind it.
It would be a lot easier to sneak one of these across the border and insert a special forces team, than to try and fly a Hercules across the border.

This is why North Korea is such a fan of the AN-2, a seemingly deprecated piston powered biplane. But it has STOL capabilities, and no effective stall speed. It can be flown low and slow, perfect for evading hostile air defense.
I use types.js (https://www.npmjs.com/package/types.js) dynamic type checker already for years in production without any issues. I simply don't want yet another JS syntax or transpiler only for type checking like Typescript, Flow etc.. For me that's way over the top.
Quite true. I find likely that the next revolution in programming languages will come from designing a PL that's a good fit for these programmable environments. Maybe it should break from current undisputed conventions like the radical separation between "data" and "source code", and be more like a spreadsheet.

End-User Development has lots of under-explored ideas on how to build software automatisms that don't require the end user to learn a hard formalism (even if such formalism exists as the basis for the system). Though I understand that programming language theorists are not interested in that angle of the evolution of PLs.
Well no, the conclusion was that the available inefficiencies should be just about enough to pay the salary of an average person working in that field. Since salaries in that field tend to be really quite good, it's going to far to say that the argument suggests that this is irrational. Instead, it suggests it would be irrational to expect to be able revolutionize the field or otherwise contribute substantially more than those already practicing.
Worse still, if you mention any of these issues on AMPs GitHub page, they will be closed with “nothing to do with AMP, it’s how Google chose to implement it, ask Google”
The Mathematical Hacker (2012)
That's pretty cool - it never occurred to me that determining drops required anything other than static analysis. Nice that it doesn't affect the layout of the types, either...which I'm guessing is why they added:

>The drop flags are tracked on the stack and no longer stashed in types that implement drop.
> Great epics in music and poetry, literature and painting are great because they are serious.

That is a difficult claim to back up if you look at the literature from Greece and Rome that was thought worth preserving over the centuries. A lot of plays by Plautus, for example, are pretty low comedy comparable to our low comedy today, but they nonetheless entered the canon of “great art”.
I've been pushing back hard on adding AMP as a feature on our product and I am glad I did. We host/publish millions of articles for our clients and I just don't feel comfortable enabling AMP and allowing the big boys to get away with this crap.

All large CMS players and publishing platforms should read this post.
> So if you just want a native language with a good type system and a growing ecosystem, where do you go? Still Rust or something else?

OCaml is a good choice. The ecosystem is definitely growing, though maybe not very quickly.
Download Microsoft Edge Browser for iOS and Android
In addition to the great sibling comment by neel_k: It depends. I don't think that currently there is the one system that is uniformly best.

For example, I wouldn't want to try to write the kind of fiddling with byte arrays involved in cryptography in Coq. F* is certainly better for that. I imagine Dafny is better for it, too. Possibly Why3 as well. Or, if that is really what you want, you might even go for "real" programming languages (ones that exist independently of verification frameworks) such as Ada with SPARK/Ada or C with Frama-C.

If you want to verify purely functional programs, Coq is pretty good, but proving is often boringly manual. Also, the language is more influenced by the OCaml branch of the ML family than by Haskell; for Haskellers there are Idris and Agda. Then there is Isabelle/HOL, which has a lot of proof automation but a bizarre logic.

Oh, I haven't even mentioned Lean. Well. There is really no easy answer: You have to try to get acquainted with several of the frameworks, ideally with an idea for what your application will be. And whichever you choose, it will be hard.
Totally agree with your point on HOG + SVM, I think it is obsoleted by convolutional neural networks.

I wrote a realtime human detection library [1] for a robotics project that used HOG + a simple neural net for classification. While it worked okay, I wasn't happy with the precision (around 90%) and decided to try out a simple convnet from Torch (doing the classication on depth images instead of HOG descriptors). The Torch version was slightly slower on a CPU, but both the precision and recall jumped up drastically.

[1]: https://github.com/seemk/FastHumanDetection
Working != practice.

When I'm building some CRUD interface for my job, there's nothing I'm practicing with that. When I spend my entire day doing that, I've gained 0 relevant hours for Malcom's 10K.
How enlightened to not belong to the "sheeple" merely by buying a competitive brand!

/s
(founder here)

Urk? Firefox is an officially supported platform for the editor. What didn't work, and what version of FF are you using?

Once you've written an app, it should work in everything since IE11.