skysight-inc/HackerNews huggingface dataset:
He's right though. it's very difficult to turn Vim itself into full-fledged IDE. Most of known modern editors and IDEs offer some sort of Vim emulation. And I've tried many of them. Visual Studio, Sublime, Atom, LightTable, IntelliJ, you name it - none of even close to what you can get in Emacs.
Booktinder.com
Glittering Blue
Firefox implements a quota system that restricts how many notifications may be sent "without user interaction". This is to reduce the likelihood that one could use this effectively for background tracking and to ensure you won't be swarmed with a gazillion of them if an application server has some bugs on sending notifications.

Bugzilla ticket: https://bugzilla.mozilla.org/show_bug.cgi?id=1153504
Or maybe an alternate type disease that is hard to detect like mad cow disease.
I don't want to sound like the know-it-all smartass here, but from the moment Firefox OS was announced I gave it a negligible probably of amounting to anything and was really baffled that Mozilla decided to focus their efforts in that direction.

I don't think they appreciated just how brutal and unforgiving the smartphone market is. Apple makes money on it, but they spend billions on R&D and billions more on marketing. Samsung makes money, but a lot less than they used to and only because they own their entire component pipeline and also spend billions on marketing. Google makes money, because they own the operating system that 80% of the phones use and use it to push people to their wide array of services. Everyone else is breaking even at best, and hemorrhaging cash at worst. Think how many billions Sony and Microsoft and Nokia and Palm and Blackberry spent on their smartphone efforts only to get shoved to the sidelines. This is a market where you've gotta pay big in order to play; to be honest it was downright silly of Mozilla to expect that they could get a foot in the door.
What is the accuracy rate on the ALPRs?

As anyone that has dealt with data on a large scale attest, data purity is hard to maintain at scale and over time.

Vigilant has already had to issue apologies for incorrect warrants being served. The consequences of "oops, my bad" are asymmetrical and not tilted in favor of error. One might argue collateral damage but I do not believe this is acceptable at all.
Well said
It takes about 10 minutes to update nginx's configurations to use sane defaults with TLS and CSP to boot.
Re: Declining iPad sales

I think the biggest thing Apple could do here is to change their app store policies to (re-)motivate existing developers and attract new ones. Letting prospective buyers test-drive apps, upgrade pricing, and better discovery come to mind. I have both a Mini and a Pro with Pencil and I love the hardware. The software is the problem though. Few apps make use of all the possibilities; existing apps will also have to be (re)written and possibly reconceived for the different form factors. It's a good sign that Phil Schiller is overseeing the app stores now, hopefully something will change this year.

Re: iPhone

Here, the obvious thing to do seems to produce a new 5S-sized model. 60 percent of 5S or older install base have not upgraded? Maybe there is a reason… Also, they could always try to go "down-market" and produce a greater variety like with the iPod to take further share from Google. I don't see the end of growth in this market, by far.

Re: currency effect

True, stronger dollar affects revenue or unit sales (where prices have been adapted) relative to previous years. But one could also argue that the years 2009-2014 were special in that the US weakened the dollar through QE, and perhaps Apple (and other US companies) enjoyed "backwinds" then rather than "headwinds" now. It looks whiny to me to say "look ma, 100 then is only 85 now". As someone said, "if my aunt had balls, she'd be my uncle". Macro gives and macro takes.

Also, the 214bn cash bandied about should be posed against the debt they took on to pay for the buybacks. So enterprise value not quite as low as suggested but I agree it's an undervalued company.
If you haven't read 'Rainbow's End' by Vernor Vinge, you should. Great look at how near-future technology might mingle with our lives, particularly the AR/VR aspect of it.

I was just discussing with my wife how noticeable it is that we loathe calling people except for a select few individuals. It is widely recognized younger generations prefer to text. However if their friends could have a visible presence next to them, I think there's something to be said for experiencing something and having that person "next to" you, even if virtually.

A recent A16Z podcast touched on this with telepresence/VR at a basketball game, and how even just having a basic VR representation of someone you were watching with seated next to you helped dramatically to improve immersion.
i will once i'm happy with the UX of producing on mobile :)
Groove Nation – Financial Entertainment
Matz: I cannot accept “the CoC” for the Ruby community
Apple Design vs. Windows Updates: On Company Simply Doesn't Care
The death of FirefoxOS was inevitable, because of two words that the supporters dread. Native Apps. If your problem did not match the things that Javascript was good at, you were completely out of luck. Every other platform has a way of writing your app in different languages. The iphone has native swift and cocoa, plus javascript, plus lua, plus a whole host of other choices. Android has java, javascript, and anything else that can be run via jni. Windows has WinRT, which doesn't offer native code, but does offer anything that can be run under the CLR -- C++, C#, Javascript, etc. Firefox OS's sticking with just javascript meant that it was hamstrung from the start, with much less ability to create apps that really stood out, leaving it to wallow in mediocrity.
You might want to start with: http://blog.ezyang.com/2010/10/ocaml-for-haskellers/ and explore the languages for what they are yourself.

I haven't tried Haskell apart from the very basic stuff, but if you have tried your hand at it for too long, and aren't able to make any headway, then you might as well invest time in learning OCaml/F# or Erlang or Idris or Rust or Elm instead. I hear Rust and Elm are pretty good too.

OCaml doesn't do mutli-core, I think [0], whilst Haskell has great support parallelism, concurrency [1]. Erlang, of course, is absolutely amazing at that too.

I primarily learn languages to expand my understanding of various programming constructs. It feels liberating to know that things are much easier in certain languages due to presence of certain constructs absent in other languages. For instance, OCaml is insanely good for compiler design and/or static analysis primarily due to 'variants' and the type system; Go (channels)/Erlang (actor-based programming, hot-plug code)/JVM-based languages (Clojure/Scala et al running on vastly optimized vm) for building massively concurrent systems; Ruby for being expressive, powerful, and simply awesome; JavaScript for... well... getting a taste of event-driven programming.

The challenges faced when using some of these languages are fascinating and at some point, it all comes together, as you try searching for a language in another language (like trying to mimic functional/reactive paradigms in Java 7 or below when faced with problems in handling "streaming data" for example).

In my personal experience, I have found strongly-typed languages to be easier to master and adopt in production than dynamically-typed languages.

----

[0] https://news.ycombinator.com/item?id=9582980

[1] https://ghcmutterings.wordpress.com/2009/10/06/parallelism-c...
There is already something called Uber Events - https://www.uber.com/events
I don't think they are shifting other consumers. More and more often we have seen that large miners either build their own mini-power plant[1] or use excess hydro power in remote areas that would otherwise be unused[2].

[1] http://thenodepole.com/2015/06/04/kncminer-to-build-new-20mw...

[2] https://bitcoinmagazine.com/articles/the-unknown-giant-a-fir...
Walk into any office in the universe. Lots of PCs that aren't going anywhere.

Desktop/laptop is disappearing from marginal computer users, and the slowdown in technology drove a product with a 33 month service life in 2000 to a 60-72 month life today.

It's not dead, just not growing in sales.
The title used to post this article on HN is "Teflon found to be toxic, in class-action against DuPont" (not the original title of the article). However, I couldn't find any mention in the article of Teflon (polytetrafluoroethylene) itself being toxic. The article talks about the toxicity of PFOA (perfluorooctanoic acid), a chemical formerly used in the production of Teflon products. It also notes that people might have been exposed to PFOA if they had used Teflon products in the past. However, DuPont has since replaced PFOA with a less dangerous alternative.
I guess my problem is similar to my problem with the new extensions model for Firefox. It might be much smoother for 95% of developers with the new API's. But the remaining 5% of cases go from "pretty hard" to totally impossible. With Bukkit's API, something like buildcraft's pipes with all its appeal would have been impossible. Or the only reason something like tree style tabs is going to be possible with the new fx extensions API is because it already exists so they know they need to make that possible. If Buildcraft or Tree tabs did not exist from the fully open ability for an add-on to modify their host app, I find it unlikely the APIs to support them would ever exist.
Down the memory hole it goes.
Ask HN: Hacker News Slack channel?
Hey HNers,

Some friends and I thought it would be fun to join a Slack channel for Hacker News.

Does something like this exist?

Thanks,
J
So their is no standard on how to present your cloud to the world ATM. I think you would be happy that widely used open-source project like OpenStacks interface is being adopted.

I'm sure if you want OneOps to support a non-OpenStack interface that should be possible too, they already support Microsoft Azure for example.
You can put this in the summary
Very helpful link, thank you oh so very much!
The same thing happened to my grandmother. She went in for a minor hernia operation, and came out a different person. She never recovered. It was very dramatic and very sad.
> Let's Encrypt is essentially shareware. The basic features are available for free, but if you want something better than that, such as wildcard certificates, you must pay up.

First off, it's free software and it's an open community. LetsEncrypt is trying to get wildcard certificates, but just because they haven't yet convinced CAs to allow them to have wildcard certificates doesn't make it anywhere close to shareware bullshit.

> Not to mention that it's cross-signed with IdenTrust, a commercial CA, and since everyone on the web has to use this service to get HTTPS (there aren't other decent alternatives), this is a good way for IdenTrust to boost its numbers and be able to claim it's "the biggest CA in the world" or something. There's no way to choose a different CA with Let's Encrypt.

This is FUD. Why do you care about IdenTrust beating their chest? Why do you want to use another backing CA? What possible benefit does that provide? The whole CA thing is fucked anyway (in terms of the massive centralisation), so changing the backing CA won't do much.

Also, to be fair, they did pull the trigger on LE, so it's not fair to get all pissy when they take credit for their decision.
Terrific analysis. What is interesting to me is all of the items could be explained by a single factor: distributed planning architecture, such as a planning system that calculates each line frequency independently. Essentially each train is its own functional agent.

This could cause the kind of data in the article, while also having a legitimate reason for use. Independent units can be better for fault tolerance, emergency recovery, and streamlined risk management, if anything goes awry.
> Fixing that is probably going to require some kind of structural change (like proportional representation in the House of Representatives).

Can you define what you mean here? I was under the impression that the House is proportional to population, and that the Senate is not. Unless, do you mean direct populace voting on Congressional acts, as opposed to the indirect representation we have now?
It may just be that they started as fully US companies. You wouldn't incorporate in Ireland for your two person US garage company. Particularly in, say, 1950.
My thoughts exactly when Amazon decided to build a phone
I'm the founder at Distelli and I just want to add a quick bit of background around the original python decision (2.6 vs 2.4) as well as the decision to "rewrite in Lua".

1. I started the company as a single founder and wrote the first version of the agent. See this HN post that gave me the encouragement to keep going (thanks HN!) - https://news.ycombinator.com/item?id=6059481.

2. I wrote the original agent in python 2.6. It was great because I could use things like python-requests (which was awesome!). However my first encounter with an enterprise customer showed me that was not feasible because they were running only python 2.4 and would not be upgrading for another 2 years.

3. I had the choice of either not getting the customer or back porting the code to Python 2.4. I chose to back port the code to python 2.4 and get the customer. This was a lot of work but worth it because I was able to then raise a round with a16z. - https://www.distelli.com/blog/distelli-series-a-funding

4. When Brian joined Distelli, he actually worked on the Python code for many months and made many improvements and added many features. When it was time to add the streaming logs feature he built the prototype in Lua just to prove that the idea would work and then we talked extensively to figure the direction we should go in.

5. We decided to move to Lua because Brian was very familiar with it and it was a lightweight language and we could ship a single download with zero dependencies. We also looked at using Go. At the end of the day the decision was Brian's to make and own as the senior engineer on the project. The passage of time has convinced me that was the right decision.

I'm sure we could have stayed with Python with all the suggestions on this page, but we decided to go with Lua. It was a good fit for what we needed and honestly I felt that my original code was not in great shape and would need a lot of work to refactor and a rewrite felt like the right decision at the time. Looking back I still think it was the right decision and I'm very happy with the end result.

edit: grammar
dupe of https://news.ycombinator.com/item?id=10963568
The problem with iPad is that tablet is a tough form factor, and many users aren't big app users -- they are web and media consumers.

The price point for a device that works for those users is heading south of $100, while iPad has a 3x entry price.

My wife happily uses our iPad 2. I have about 3,000 users of iPad 3's at work who aren't clamor I for new stuff -- it's almost like a thin client lifecycle.
An unencrypted connection isn't "absolutely" seen by others. If no one eavesdrops on it, it's private, just as an encrypted-but-unauthenticated connection is private if no one actively attacks it.

Theoretically, an untrusted cert is the lesser evil since active attacks should be harder/more expensive than passive attacks, but no one knows exactly how much harder/more expensive they are in practice. This makes me very hesitant to declare one better than the other.

Ultimately, browsers are going to start warning about unencrypted connections, and hopefully one day browsers will treat them just as severely as connections with untrusted certs. Unfortunately, we have to undo decades of bad practices first, which is a slow process.
It makes me wonder why canonical is wasting effort on ubuntu mobile.
One thing I'm wondering about graphql is how does it know when something changed in the db and should be re-queried. For example, I fetch some movies in my front-end webapp and they are cached. Then, later on, I query that movie again but something changed on the server, say the producer had a typo in their name. In that situation, it seems like graphql will only fetch the new fields I'm querying, and not what's already cached.

I understand it's a caching problem which is hard (I know that joke), but I'm wondering specifically how it's handled with a graph query.

The way I've been doing it is using a SQL structured on the front-end and downloading the main table/rows + changes. But graphql seems to be downloading and aggressively caching without keeping track of timestamp.
I can certainly see collaboration between Major League Gaming and the Drone Racing League for large convention events.

I would like to think about how Drone Racing League can advance the realm of drones (abstractly: control of, precision of, and communication with remote robots) much like Formula One has impacted consumer road cars: https://www.quora.com/Which-innovations-from-from-Formula-1-...
The problem is if this trajectory is allowed to continue, what happens to your kids and grandkids?
VR could be huge in simulated travel, much bigger than video games. What if, during your lunch break, you could book an hour with a camera-equipped Segway in Hong Kong and a take a look around the night market?

International tourism is available to only a very small percentage of the world's population. VR could be an interesting substitute that gives a travel-like experience to millions/billions of people.
Then UDP won't work for your requirements, right?
Reminds me of this https://youtu.be/spyJ5yxTfas
If you google "is apple undervalued," you'll find a litany of articles arguing that very point. One of the clearest indicators is the P to E ratio. Alphabet PE: 35, Apple: 11 (currently)
Lua and Luajit are small embeddable languages. They link into a single executable, including if you want the program they'll run.
You can use SMP just fine in Node.js today with https://nodejs.org/api/cluster.html.

The problem with Node.js and concurrency is that everything depends on trusting code to be perfectly written, and that perfectly written code must be written in a naturally confusing callback style that is really easy to screw up.

If you do it perfectly, then you get great scalability. But one bonehead mistake will ruin your concurrency. By contrast with a pre-emptive model you get decent scalability really easily, but now you've got a million and one possible race conditions that are hard to reason about.

This is not a new design tradeoff. Go back to the days of Windows 3.1 or the old MacOS versions below OS X. They all used cooperative multi-tasking, just like Node.js. Today what do we have? Pre-emptive multi-tasking in Windows, OS X, *nix and iOS.

Web development has actually gone back to a model that operating systems abandoned long ago. As long as your app is small, there is a chance that it will work. But as your app grows? Good luck! (That is why operating systems uniformly wound up choosing hard to debug race conditions over predictably impossible to solve latency problems from cooperative multi-tasking.)
Can you print the text in the body of the result? Not just the code.
The Classroom Is Dead
Shipping it as a single download with zero dependencies meant that we would not have to worry in the future about what else was installed on the machine and the versions of system packaged the customers were running.
I think a way to overcome those privacy issues would be an interesting project. I'm not sure if that'd even be possible though - even if you set up a completely anonymous messaging system tied to lending records, Mallory could check out all the anarchist or communist or hacking or free-speech or number theory books (or whatever demographic she was targeting), then look like someone the _other_ borrowers of those books might want to meet...

Note that libraries have already started choosing the option to purge lending data to preserve privacy instead of sharing it to enable possible collaboration or meeting up:

http://www.theguardian.com/us-news/2016/jan/13/us-library-re...
I was in this situation, now I'm contracting with Surge, working 100% remotely, making my own hours. There are days where I work 4 hours, and days that I work 12. I enjoy not commuting, being able to work out in the middle of the day, take my daughter to the park, cook lunch, etc.
Yes and no. In this case you assume you have enough money to spend on both, but if you are on budget then if you buy expensive intel product then you have less money to spend on Nabisco and vise versa. In this situation instead of money it's time. Twitter and Facebook audiences intersect so they are directly competing for attention. Amount of ads you get exposed to depends on how long you spend on the site. The more time you spend on Facebook = less time you spend on Twitter = less ads Twitter can show you = Twitter make less money.
Why are countries taking refugees' valuables?
I have a Nexus 4 which is experiencing battery swelling. Apparently that's a common problem for them.

I don't think, though, that it's an example of "planned obsolescence"... I suspect that phone performance multiple years out just isn't a design consideration, overlooked in a way similar to what was going on in the stylized "real estate prices can't drop" belief model.

When it's not considered, it's pretty likely to be terrible.
When people start keeping their phones for several years, they'll get upset about aging issues, and graceful aging will become a design consideration.
How many watts and tons of CO2 is that?
Immutability is part of what leads to it being easy to program, as well. An actor in a given state, receiving a given kind of message, will always behave the same way (barring some abuse of ETS tables or the process dictionary or other bad practices). Meaning that to reason about the code I usually don't need to -care- about the chain of causality. I can break each part of my complex interaction into a series of "message received -> actor does something -> message sent", and trace through the code that way, turning what would be a big complex hairy problem of mutable state and race conditions in many other languages into a fairly innocuous, straightforward series of small, simple interactions.
Ali Abdelkader Internet Marketing Expert
Use ARP spoofing to masquerade as the router, use DHCP spoofing to deliver a rogue default gateway or DNS server, or set up your own access point that uses the same SSID.
You can't more often than not. Often the "why" is an implementation detail
regarding a single statement, and those shouldn't make their way to a function
summary.
Woah, funny I see this. I've been working on a distributed shell, basically trying to combine sockets and pipes to create remote pipes, aka inter-host piping.

Something like:

$ echo foo | host2:grep bar | host3:grep baz
GraphQL doesn't specify anything to do with caching. If you run the same query twice, they'll be fully evaluated each time. You can (and probably should) implement some caching, but it's up to you, and therefore cache invalidation is up to you too.
WW3+RADICAL+MUSLIM+AND+US+WAR+MONGERS+-+YouTube
Indeed. The example appears to be "spray/pray": https://github.com/joearms/music_experiments/blob/master/pd....
Don't forget Facebook's HTML5 focus.
Fair points. I think it's more nuanced. Native apps are great and necessary for many scenarios. However, there are a ton of native apps that could be just as functional as a responsive web site. Sure there were issues with discoverability which the app stores helped with in the beginning (now I think it's just as hard to get noticed in the store as it is on the open web).

I don't think "web apps are the future of mobile". But I do think there is a better separation of native apps and mobile/responsive web apps.
Does anyone actually intentionally subscribe to these? I can think of few things more annoying than getting blogspam "notifications" on my laptop.