skysight-inc/HackerNews huggingface dataset:
We had very similar experiences with Scala. Java and the JVM are incredibly stable and mature but the language (even with JDK8+) is very restrictive. There's no pattern matching, no full closures, properties are based on a manual naming convention, and even the basic type inference is extremely primitive. The dynamically typed languages like Python and Ruby are fantastically expressive and flexible, but maintaining large bodies of code can be tricky and the performance can't compare to the JVM. Scala gives us the stability and performance of the JVM with great tooling (IntelliJ Scala plugin) and the language is very flexible and expressive. It takes some discipline to focus on writing highly readable Scala code but the result is totally worth the extra effort of learning the language. I'm not surprised that Scala was ranked as one of the most loved languages in the StackOverflow survey for at least the last two years, and Spark and Scala are the top paying tech skills in the US :

http://stackoverflow.com/research/developer-survey-2016#tech...

http://stackoverflow.com/research/developer-survey-2016#tech...
Secret trade in Spotify shares – discounts of over 30 percent
Well, it's not super bad and the content is almost as good. It's not 20% worse.

The big thing for me is that Groove works on Xbox, which I have and listen to, otherwise I used to be a Tidal customer. But I know there is a Tidal UWP app coming, then I will switch back.
I dunno. How about Apple forcing me to sync my music via their dumb cloud thing if I happened to have enabled apple music at some point? I have a phone linked via a cable to a computer, want to get two songs on the phone, can't do it unless I sync multiple GB of junk via the internet. Then they won't let me sync a song via their cloud because it's a voice MP3 I bought ages ago and isn't high bitrate enough?! Kill. After much Googling all I could do was turn off apple music, sync to the device, re-add itunes music. IIRC there are two levels/types of cloud, one where you can add music and the other where you sync everything via it. Whatever, it's just something my mother shouldn't have to know about.

On the iphone, the "for you" icon is a heart. The "like" icon is also a heart, but the relationship between the two is tenuous. The "plus" button adds a song to my music but I still have to hit "download" to keep that song on my device. I have to double-opt-in to music I want? Make it easy to add music! To really say you like something there's plus, download and like. And then there's still the 1-5 rating, which I just had to click around for 30 seconds to find again. No idea if Apple will feed me more of liked-plussed-downloaded-5-star music than simply liked.

I haven't found 3D touch that useful. I try it all the time but it just feels gimmicky. Half-push to get something, full-push to get the same thing I'd get if I just touched it lightly. Sometimes it's a menu, sometimes it opens up a preview, sometimes a combo preview and menu. I'd bet 70% of people just don't use it because it's too faffy.

And I just remembered Airdrop, where the "air" part seems to be more representative of Airdrop reliability than anything else. Does it want wifi? Proximity? The moon in a given phase? What incantations must I perform to move this photo two feet? Why can it see the ipad but not the other phone, when the other phone can see this phone? Can I add a favourite set of devices so it can find each other a bit more quickly?

Apple are fantastic at simple interactions, when there's one button and three things to do. They can distill better than anyone. But make things slightly tricky and they overload one button with 100 features and start falling over their feet.
Ionic 2: Windows Universal Platform App Support
Absolutely. When I can, I write everything in Org-Mode:
- Code / Project Documentation: Written in Org-Mode, then exported as PDF via Latex
- Blog: My complete blog is written in Org-Mode [1] (Source: [2]). Via Source-Blocks, I can write Code-Examples directly in the document, execute them there, and make sure they work correctly and / or embed the results. I can even write multiple code blocks and then reference them within each other. This makes it easy to explain a subject by continuously revealing more snippets from a larger code example
- Link Lists: I'm storing links to books, articles, papers, in Org-Mode where I can add quotes, tags, or relevant thoughts in a structured way.

I actually, currently, use Org-Mode much more for writing than for organising / tasks / todos.

[1] http://appventure.me
[2] https://github.com/terhechte/appventure-blog/blob/master/res...
well, I've had that feeling with something is not right on native apps. Anyway you keep saying you, do you mean you or do you mean me? Because if you mean me the problem is I think I don't necessarily notice all the time, or I notice other problems. I'm guessing it's the same for other people.
There are very good reasons for using Java: portability, libraries and the JVM's performance. But simplicity really isn't amongst them. Even Featherweight Java (a carefully selected subset of Java for the purpose of proving theorems about it) is full of tricky details.

That being said, yeah, Haskell's learning curve is quite steep, and writing high-performance code in it is kind of a black art.
And in my particular case I was refering to an old lady, a brillant and successful physician, but who like many people of that generation has no fascination for computers, and use them as long as they are simple and intuitive. Exactly like she would use a car, without any appetite to fix or tweak it herself. To go mainstream, linux needs to appeal to that kind of users.
There are probably few such criminals reading your comment now :)

There are sensible reasons not to report vulns, like utter incompetence of the system's owners or the system's security standing in the way of your perfectly legal activities.
Rails 5 changes ActiveJob default adapter from Inline to Async
Windows Security from the Ground Up
Apple does care because the public (mainly non US) cares.
That said Apple can't really smack the FBI, in fact if the FBI tries this again on a different case saying that they've exhausted all options and that neither them nor any other 3rd party can unlock the phone that puts pressure on Apple not the FBI.

And considering that the according to polling data only about 30% of the people say that Apple should not unlock the phone and 50% saying they should the public opinion doesn't really works for them currently.

The FBI might be playing the long game, they'll unlock a couple of phones (or pretend to do so), even cooperate with Apple and when the time comes go back to court saying that Apple fixed any potential flaw, and that the FBI might've even assisted them in doing so and now they hit a wall and need Apple's help.
US vinyl sales worth more than Spotify and YouTube advertising, RIAA reports
I'm hoping this will allow seamless integration between Windows desktop and Linux command line. I would love an easy solution for running IDE, browser and office tools on Windows, but the rest of the stuff (command line tools, servers etc) on Linux side.
Is it atrocious? At least on OS X, iOS and Android, the native UI is quite good.
> I have very high doubts that they are "visually indistinguishable"

It's hard to describe without showing you in person and asking you to tell me which app is a RN app vs native, but it's actually the case... There's pretty granular control over the easing functions and the default ones do match the iOS curves.

I was a designer before being an engineer, and I was immersed in Obj-C for 4 years before trying React Native. On the well-implemented React Native apps, it really truly is indistinguishable.
Be hungry or starve as an entrepreneur
I found Kant to be easier than Descartes and Heidegger to be by far the hardest to read of all. Hegel has for me been somewhere between Descartes and Heidegger, but I think its no surprise that Zizek was a Hegelian and also read a bunch of Lacan :D

I think Heidegger is actually deliberately obscure!
These terms remind me of penny stock toxic financing schemes.

I look forward to the inevitable pump and dump around IPO time.
Go feels more like C with garbage collection and a nicer standard library, but lacks the abstractions necessary to be anywhere near as expressive as Python, Ruby, Scala or even Rust. At the language level some advantages of Go include the fact that it's easy to learn and mostly hard to write unreadable code.
I am pretty sure these things can be obtained, and will be easier to achieve as it matures.

As well as devs following good practice with modal dialogues.

I used Titanium to build a cross-platform app, and once I understood what it is writing with my JS, I could ensure native/performant UI elements and animations were being rendered.

Really excited to see how this pans out :`)
> Linux developers seem to be in love with cryptic acronyms which means nothing is intuitive or simple.

To add to that point: Linux exposes a lot of information in general. That's great for me as an experienced user, but is certainly overwhelming for the "normal" computer user.

GNOME is trying to de-mystify the Linux desktop and I think they're on the right track, but they don't have widespread support among the Linux community. A lot of people use and/or like it, but a very vocal group (is it a minority? I don't know) is opposing their approach. They (this certain group that's well represented on e.g. /r/linux) sometimes seem to dismiss any work on UI or UX as not relevant or limiting their freedom.
You are born onto the earth, so your reference point starts as the earth.

In reality the earth is moving through the solar system, so your starting reference point is in motion already.

If you get into a vehicle and start moving at speed relative to the earth, then that vehicle becomes your new reference point when the speed becomes stable.

When you step onto a treadmill your speed relative to the earth, your previous reference point, doesn't change, so the reference point doesn't change. If someone were to drag the treadmill behind a vehicle with you surfing on it, then it would become your reference point.

It's confusing to talk about your inner ear being in your feet because they're in a running motion, so they're being shaken up all the time. They'll experience constant acceleration and deceleration relative to the earth as your foot goes back and forward in a running motion. If you had little dice on strings in your feet you wouldn't be able to tell what was going on with them as the dice would be flapping all over the place.
Thank you!

So, "down-round" == reduced valuation, and "poor signalling" == consequent bad vibe?
Have you played go? When you play Go you start to appreciate how complex it is, how strong Lee Sedol is and what this achievement means.

In 2006 a paper was published (by Remi Coulom) showing that just playing random moves and combining those random playouts with a tree search scaled up in strength arbitrarily as you throw more computational resources at the problem.

Google made them a little less random and threw a ton of hardware and optimizations at it. (Basically 20 times as much as anyone before them, which goes a long way of explaining the performance jump)

Don't make this something it is not.
Manual memory management isn't an esoteric technology. If that's what's required to reduce GC overhead, it's an acceptable choice, especially when it's in a fairly simple system like a cache (a hash table with an eviction policy).
The whole having to be productive in an otherwise anti-productivity environment seems like some sort of weird hazing ritual.

Though I still think that regardless what job one is doing (knowledge work or factory), that subconsciously the company wants predictability. So maybe putting people in an environment where it is anti-productive puts people of all skills at the same basic predictable level?
It's a pity that they didn't make an app for the Apple Watch but I think if you put yourself in their shoes then you might be be able to figure out why they would not choose to do that. I'm thinking it's not a large market, it probably has a high proportion of Apply loyalists, and it's supporting a competitors product.
> It's also a bit disappointing to see him dismiss languages like Scala (and presumably languages like Ocaml and Haskell, which he doesn't even mention) due to being "complex"

Hey, it's possible to dismiss Scala due to being “complex” (which is certainly is), and still like (or at least not dismiss) OCaml and/or Haskell. :-p
Why use social media to support learning?
What problems does React Native solve?
Of course insights are generated by facts.

But what I am interested in is the insights, not necessary the facts that led to them being created (as long as I trust the author who converted facts into insights).

So I am happy to read an article about the evolution of (random example) people's savings and investing behaviour. I don't necessarily need name dropping of the fintech unicorns who are involved with making it happen.
I use Ember everyday. But still I don't understand the most basic questions:

What is this? And why should I use it?
I slummed through the quick start but that didn't make me any wiser.

EDIT: I read up on your blog post and you guys should definitely put some of that into the web page.
So essentially, to meet their requirements, they had to work around the Go garbage collector and use a non-standard HTTP server and JSON parser. Why not just write it in C++?
Show HN: RxAndroidBLE – reactive painkiller for Android's Bluetooth LE headaches
It feels to me like it's tying your code to something ephemeral. If you're going to do that you may as well make it something uniquely ephemeral. Github, Docker Hub, Packagist et al use usernames for this, it works nicely, packages are namespaced in the form username/packagename.

People advocating using a domain as the namespace get the same result, but the package namespace is tied to a domain, you have to have control of that domain, if you lose it, do you lose the namespace?

What if I don't own any domain, people are saying in that instance I should use io.github.myusername, why not just myusername? that way my code isn't tied to a platform I may not use in 5 years time.

I suppose that's it, a namespace is about my code, not about where the code is maintained or an external resource I may or may not keep access to, so don't namespace it in a way that ties it to such.
Looking forward to it in action.
I admit I only skimmed the article, but I think the tradeoff of parting with the requirement of having an HTTP API with JSON as the message format for transporting IDs over the wire, and just using Redis instead and its wire protocol, would probably have been the more time-efficient way to arrive at an (at least) acceptable solution for the problem they were looking to solve. But yeah, where's the NIH in that? ;)
Thanks for writing this out - you're 100% right. A ton of the strength came from tree search. DCNN are strong but they do not beat professionals yet. They can guide the tree search well, though.

The paper about AlphaGo is really disappointing in some ways. Even Facebook's Go/AI research paper had more novel techniques in it. But 2 dudes fiddling at Facebook aren't going to beat a dedicated team of 20+ with a PR mission to fulfill...
Yeah, I got LASIK a year ago and it's probably the fourth-best large purchase I ever made, behind school, travel, and a motorcycle.
>Except that if I were them, I certainly wouldn't ask that publicly, I would at least pretend I know how the FBI did it and claim that it's already fixed in the next version of the OS

Wow, lying doesn't really look like the best course of action for a public traded company, I guess.

>Which still means that tens of millions of iPhones are at risk today and will be for months, but at least, you get to pretend that you're ahead of the FBI while right now, it's pretty obvious that Apple has been outsmarted by a government agency.

It's extremely probable that users are not in danger. If it's true that the FBI used Cellebrite's services, they might have used a slightly upgraded version of the company's solution that enabled the hacking of 32-bit devices (i.e. no secure enclave).
The commercial solution touted publicly by Cellebrite is used by law enforcement all over the world to unlock iOS 8.x iPhones and iPads in a matter of 24h. There was a recent case in Milan, where the Court expert was able to unlock an iPhone 5 in 2 days and retrieve data thanks to the services of Cellebrite's offices in Munich.

So: 32-bit devices with iOS 9, no secure enclave, implication of a company known for providing solutions to break into iPhones since forever.

Icing on the cake: they might as well have used a system like the one suggested by ACLU and other experts: NVRAM cloning. That's a solution that's extremely phone specific and doesn't require to exploit any big scary bug to be carried out.

Most probable outcome: Apple will keep on hardening iOS security and it's own cloud security even more. In the end the common user wins.

The FBI is STILL the bad guy, acting like criminals who won't disclose a potential vulnerability (which might as well not exists) to the manufacturer.
Type-safe C bindings #2: Handling flexible array members with ocaml-ctypes
Drones have a "significant overhead cost".

Who knew?

:)
Maybe this type of program is better suited for a language like Rust.

However, while not having a GC, you have to take care of all memory issues in a way that you convince the compiler that your won't ever blow up.

It would be very interesting to have such a comparison, so we could see whether it's easier to work around the GC, or easier to write bullet-proof code with manual memory management.

I'd expect the Rust to be more robust with regard to performance, but the question is: Would it also pay off in term of code complexity?
Not long ago, India was known as a land with lush rainforests.

By some counts Sanskrit has over a hundred words for water.
Of course it was. If your explanation of AlphaGo somehow involves saying it was different from chess programs you can stop right now - you're just entirely wrong.

Whether chess engines and go engine are brute force or not just depends on how you define brute force:

* If you cut variations where you have heuristical indications they don't affect the result, is that still brute force?

* If you cut variations where you have mathematical, provable evidence they don't affect the result, is that still brute force?
I totaly agree with you. What web-devs often forget is that native (mobile apps) have a very different runtime environments, things come and go (onCreate, onDestroy). Memory gets destroyed and reused. You need to think about background processes, multithreading. App startup is of upmost important. (starting a web page takes a lot of time, people every noticed that ios-chrome only has one page in memory at a single point ?). Its just a different mindset. The webbrowser is an abstraction on top of UI toolkits, with a very dynamic rendering engine, and simplified execution environment.

Once you have a a hammer (javascript), it doesnt mean you should apply it everywhere.
What I was talking about in that quote is that CTCs are definitely being seriously talked about and explored in relation to tested elements of our understanding of the universe by theoretical physicists, the experts in physics, and so I think its time for philosophers to give up that ground.

Similarly I feel like there are philosophy-of-politics discussions that can (through political change) become the realm of actual politicians, sociologists, etc.

I apologize, but I'd like to flip your question about again. I think philosophy is the realm of the untestable, so in my mind you're asking "what's the point of philosophy". I think philosophy is the place to explore the full ramifications and implications of untestable ideas. I'd also ask what's the point of your question? If its not testable, I think its a philosophical question, QED. If it does result in a testable prediction, what's the test?
Am I the only one who thinks this is very very expensive? I use an Italian VoIP provider. The rates for international calls are very similar, but I don't have to pay a monthly fee. So I end up charging 6 euros every 4-5 months.
They don't just stop, they cut off arbitrary subtrees if there's compelling heuristical evidence they won't affect the result.
I recently had a paper published written in org mode and I have another in review. I don't plan to write straight LaTeX again.

For me, babel is the killer feature. I can write code snippets in the buffer, highlighted and indented according to the corresponding emacs mode, with paredit for lisp, and beautifully exported via pygments. A single key combo lets me evaluate my code in persistent repls associated with my buffer, and I can choose what combo of code/result I want to export. I had some of my snippets generate raw LaTeX that I could include in the document.

Org links make section references trivial, and I have it hooked up to ebib so my citations are pure org. In the emacs buffer, clicking a citation link takes me straight to the bibtex entry.

I don't much use the organiser, but I do use org heavily for writing cross referenced notes about other people's code.
I didn't down-vote you, but I'll explain why I don't like his view on free software.

Free software is chiefly concerned with user freedom, to ethically treat users of your software. The GPL is the standard example of a free software license, and its purpose is to in perpetuity make sure that all users of your original code will always be able to use it in freedom.

You may notice I didn't reference a "development model". In my opinion, development models are secondary to ethical issues such as user freedom. Yes, it turns out that the "bazaar" model of software development works pretty well, but that doesn't mean that you couldn't have a "cathedral" free software project.

The problem with the "open source" movement is that there is no question about morals and ethics. It's just "here are 10 criteria which will give you good code, but if you find a better way to get good code, more power to you". It's plainly obvious when it comes to issues like vendor lock-in why "open source" doesn't have enough of a moral backing to explain why vendor lock-in is unacceptable. If the code is good quality, why are you complaining about vendor lock-in?

I wish we had more people like Stallman who will bring attention to the important issue here, the issue of user freedom. Proprietary software hasn't been vanquished yet, and it's not going without a fight.
The big pain point I see with languages such as Java is the deployment cost. Since the runtime is separate, you have to deal with the cost of lugging that around and installing it. When you have a larger scale system with lots of different Java programs, you can run into cross dependency issues over time as different programs require different versions of Java. Then there's also the jar files and the rest of it. At the lower scale end, its a tough sell to have to lug the jvm and a pile of jars over to a system just to run a single program.

Python can have similar issues, even with virtualenv.

For this reason, I tend to use Go these days. It completely avoids this cost. Also, unlike Java, any tools start up instantly and don't need to 'warm up'.
>I dunno. How about Apple forcing me to sync my music via their dumb cloud thing if I happened to have enabled apple music at some point? I have a phone linked via a cable to a computer, want to get two songs on the phone, can't do it unless I sync multiple GB of junk via the internet.

You can turn off the iCloud Music Library and sync via cable
Yay! Downvotes without any justification!