skysight-inc/HackerNews huggingface dataset:
Would it be conceivable to implement Automatic Reference Counting for C/C++? Basically gets you the advantages of GC without the performance impact of GC cycles, because it does all its magic at compile time.

On a related note I'm excited about Apple open sourcing and porting Swift to Linux with an eye towards server-side code, specifically because of ARC. Garbage collection has been a concern for web services in particular when it comes to 99th percentile latency. Things run fine and then boom, GC runs, slowing down a few unlucky requests. ARC just makes memory-management performance deterministic, no tuning needed.
I tried contributing a nav change in the past (https://github.com/gitlabhq/gitlabhq/pull/6287) and it was closed because the CEO doesn't want it like that. That's one, limited example, but with the size of the change required to make the sidebar better, it could end up being a massive waste of time.

Still, I'll be closely watching GitLab and upgrading every few releases.
Moxie and Frederic and Christine and the rest definitely deserve a lot of credit.

Half of me is really happy every time I see Signal getting more popular. The other half is more like OH GOD THE STAKES ARE HIGHER NOW WHAT IF I MADE AN EXPLOITABLE MISTAKE BETTER RE-READ SOME CODE.

But seriously, you should read the code. It's there, open for anyone to audit after all. Maybe start somewhere random in the guts [1][2][3] and check for things like "ereh 2# roodkcab"?

1: https://github.com/WhisperSystems/Signal-iOS/blob/master/Sig...

2: https://github.com/WhisperSystems/Signal-iOS/blob/master/Sig...

3: https://github.com/WhisperSystems/Signal-iOS/blob/master/Sig...
According to Wikipedia[0], reverse engineering is generally legal in the US:

In the United States even if an artifact or process is protected by trade secrets, reverse-engineering the artifact or process is often lawful as long as it has been legitimately obtained.

[0] https://en.wikipedia.org/wiki/Reverse_engineering#United_Sta...
This is not really a fair characterization. Glass was "dead" as a consumer product even before it was released. I'm old enough to remember the blowback that the first generation of cellphone users got ("coke-snorting 80s douchebags"). I remember people explaining how they didn't want to be reachable. It took a while for cellphones to seep into our collective consciousness, and glass will be the same.

After glass gains acceptance as a work tool, it will creep back into the consumer space. And people that threw around the term "glassholes" are going to look shortsighted and pathetic in retrospect.
Let's not forget the port of Doom to the Atari Falcon either...
We give every new session a freshly cloned VM. Changes you make will remain for your session but be reverted over when the machine is reclaimed for the next user.
That's one of a large set of things I hate about Slack.
Primitives aren't allocated. This is why we have `int` and `Integer`; Integer is a boxed int. Java has a fair amount of sugar around doing the change automagically.

Also escape analysis is a thing Java can do to avoid heap allocating objects in general: https://docs.oracle.com/javase/7/docs/technotes/guides/vm/pe...
I wish more of the posts proselytizing a certain frontend language or methodology would have examples of the really onerous, repetitive parts of GUI development, like validating long forms or munging deeply nested AJAX and distributing it to a component hierarchy...
A lot like deepdreamer.io
Literally everyone in London Googles “driverless trains” during tube strikes
Regular cab drivers are usually classified as independent contractors too. I didn't see a bunch of people lobbying for them to be employees before Uber came on the scene. I also don't see the people who are mad at Uber caring about regular cab drivers (e.g. this article doesn't mention that issue at all and neither do the comments here). This makes me cynically think that the source of all this recent noise about the issue is hardball political tactics from Uber's powerful and connected opponents.

More generally I see a broad media campaign smearing Silicon Valley; spinning a narrative of tech companies as an out-of-touch new elite bent on oppressing the poor and middle class (e.g. the Google bus kerfuffle). That narrative seems popular even in tech circles these days. Perhaps it's an inevitable consequence of success.
The use is really small? Uh, no. In operating rooms the amount of ketamine they use is to _knock out_ the patient. Recreational uses are only interesting because they have less than a knockout dose. If you did twice the amount of a clinical knockout dose, you'd just be more knocked out, you wouldn't be tripping.

Here's the recreational dosage numbers: https://www.erowid.org/chemicals/ketamine/ketamine_dose.shtm...

Upon some more research, it appears I'm wrong. K isn't being used to knock people out anymore. (idk, my mom is a retired physician and she talked about how heart surgeons used to knock people out with k.) On page six you can find battlefield doses http://www.health.mil/~/media/MHS/Report%20Files/201203.ashx After you convert erowid's mg/lb to mg/kg it's clear that they're just giving light doses.

You can find some reference to high doses of ketamine in this review article: http://www.annals.in/article.asp?issn=0971-9784;year=2015;vo... "Similarly, Marlow et al. found that in coronary artery bypass patients, ketamine (2 mg/kg) caused significant decreases in stroke volume when used as an induction agent."

tl;dr it varies. Also repeated/daily usage of ketamine is definitely bad and will make you piss blood.
I think a more useful distinction is - mess with back-button history if and only if the user perceives a page transition regardless of if the location bar changed it there was a page load.
Wow this is like stepping into a time warp for the early days at Thumbtack. Our A/B testing bucketing and methodology was extremely similar to this.

Things we learned:

> Our guiding principle has been ease and accessibility: when testing is effortless, more people ship more tests, and our product steadily improves

Thumbs up. Whenever we made running tests easier, we'd end up running more tests.

> Ramp the number of exposed subjects up or down

You don't want to do this. If there are time based effects (people behave differently on weekends vs weekdays, daytime vs nighttime, etc), changing the ratio on-the-fly can mess up your data. If you need to roll back an experiment because it is causing a bug or something, roll it back, fix it, then restart it. But don't change the ratios on the fly.

> and whether the differences were statistically significant

It looks like you are starting/ending your tests based on time. This is good, much better than cherry-picking results at arbitrary intervals, but it might be slowing you down. Another method is to define your sample size threshold before your test (using something like Evan Miller's sample size calculator [1]), then when your test hits the threshold you can end it based on that. We discussed and picked a company-wide power and significance level to try to balance moving quickly with acceptable errors from testing.

> P-value of 0.045 in your test sample

I ran your numbers through ABBA [2], the open sourced split test calculator that one of Thumbtack's engineers made, and ABBA puts your P-value a little over 0.08 (Evan Miller's tool [3] agrees with Thumbtack's). Big difference between 0.08 and 0.045. There are different statistical methods you can use to evaluate split tests, but we ended up preferring the one underlying ABBA (which you can read about on the ABBA page).

1: http://www.evanmiller.org/ab-testing/sample-size.html

2: https://www.thumbtack.com/labs/abba/

3: http://www.evanmiller.org/ab-testing/chi-squared.html
The thing I dislike about this article, as somebody who as experiment with ketamine (I took it twice two years ago, and then twice last month) is that the article's presentation implicitly vilifies ketamine a tad.
It's good to see concrete examples of Elm and this is definitely an easily digestible (even pre-coffee) article, but I found the first five paragraphs rather hard to swallow. I get that the author has jumped on the bandwagon that JavaScript is "troublesome", mutability is bad, purity is good, etc... but just stating all those as "facts" with precious little explanation, delivered in a preachy tone ("the siren call of that feature inexorably leads to one cheating"), is really rather worthless at this point. And linking to the Wikipedia page for "fail-fast" to explain why JavaScript's apparent "swallowing of errors" is something "we know is a wrong idea in programming" - frankly that was just irritating.
Whatever the cost MS can't let their phones die. Consumer market is a big bet with MS phones. And if MS phone in off I don't know how they will be able to reach non-enterprise market.
[pdf] Wearable Intelligence by Alex P. Pentland
Solar system Questions
[pdf] Secret Signals
h264 frames/opus packets over websockets. Broadway.js is doing the video decoding, something similar to (EDIT: opus.js) for the audio.

All decode loops are in webworkers, separate websocket connection for each data stream (video,audio,input). Broadway has a lovely option to use WebGL for pushing the pixels to a canvas as well, which really helps free up the CPU.

Put it all together, and you'd be surprised how close you can push an (up-to-date) browser towards realtime sans plugin.
> In some places electrics do so much relative harm that instead of being subsidized, as is currently the case, they should actually be taxed.

So tax the zero-emission electric vehicles for using coal energy in certain areas (over which they have no control), instead of the actual coal companies that produce that dirty energy? That seems quite backwards to me.

Tax the coal companies and force them to either convert to renewable energy production, so then the electric vehicles can be 100% clean, or to force them to shut down (and be replaced by renewable competitors).

Taxing electric vehicles just as much if not more than gas-powered vehicles because they use coal energy right now is complete nonsense. At least electric vehicles try to solve one half of the problem. Taxing them like that would put the breaks on both sides of the reform. Let's solve both problems in parallel instead of putting the breaks on both (not forcing coal companies to die/convert faster and also continuing to use gas-powered cars).
I think you do not have enough intrinsic motivation [1] to start what you crave to do (yet). Seek out for some idea/project that creates this inner motivation and then it will be easy to start.

Edit: You wanted a plan of action: try as many different things as possible in all areas. Start with something not related to computers ;)

[1] https://en.wikipedia.org/wiki/Motivation#Intrinsic_motivatio...
Don't you know about the std:: smart pointers?
> using/try-resource/defer/scope, or higher order functions

Those only cover cases where your resource's lifetime matches a stack frame's lifetime. It doesn't cover the case where your resource's lifetime matches the lifetime of some owner object. For that you need destructors, by definition.

Ownership transfer is also very hard to model robustly unless you have linear types / move semantics (which even C++ didn't really have until C++11).
> Bubblin is all about gorgeous e-books that are possible simply because of the web.

They're possible because of the web, but they're also unnecessary because of the web. To me, the reader presents as unnecessary annoying constraints that I'll tolerate if I'm e.g. reading PDFs that were actually formatted for a specific paper size (tolerate, not like), but which seems just silly when reading content that was clearly meant to be shown on screen.

Also: hate,hate,hate page-flip animations - either they slow down the page transition, or they're there to obscure a too-slow page transition; either way they get in the way of the experience very quickly.

Overall, on my desktop, it wastes too much screen space to margins and too large text (and another pet peeve: breaking text zoom is a big no-no; to zoom out it eventually work after zooming multiple levels, but of course then don't re-flow, but zooming in is basically broken). On my phone (which is my primary device for reading books) the experience feels excruciatingly slow thanks to the page flips.

It baffles me how many e-book readers are around, and how few even get close to getting even the fundamental stuff right. If you want to innovate in the e-book space: Make a reader that's faster and smoother than the Kindle app for the basics first, and then add features without at any point sacrificing things like zoom, fast page-flips, adjustable contrast and text-reflow.
Aren't Uber drivers basically franchise operator or franchisees?
> Not that I really want to steal any of Moxie's thunder,

Not being rude (yep), but you did.

Cool project though.
This is basically how we still do it (with nginx + gunicorn rather than apache). Wheels (and recent setuptools/pip versions that build and cache them automatically) just made the build step significantly faster (lxml, argh).

We're moving to the Docker approach, which is really nice, but it does change the shape of the whole deploy pipeline, so it's going to take some time.
How to Switch from Graphic to UI/UX Design
That's true. There are a few niche applications where it's used quite commonly, for example burn victims and the opiate-intolerant.
It sounds like YOU don't understand what YAGNI means to us developers, though.

In the context of our little conversation here, Microservices is not an either-or choice. There's quite a penalty you take to productivity/agility/cost with a Microservices architecture just like there was with SOA. It's not free, even if you believe it is "right". Take a look at this: http://martinfowler.com/bliki/MicroservicePremium.html

So, YAGNI certainly does apply here, and I do toss the acronym around lightly on purpose because that is the blunt response we programmers need to hear and give WAY more often. You ain't gonna need it!!!

Architecture astronauts are everywhere and they are mostly a-holes that create chaos for the rank-and-file. You want hell? Ok, go smash your head against the wall implementing another BDFL's pipe dream.

We developers are most to blame in this and we need to cut it out with all the fun meta-work we like to create for ourselves. Run a tight ship, be professional, deliver precisely the product that our customers ask for with no extra bells or whistles.

When you have Mt. Everest size workloads like Netflix has, and you need maximum isolation and monitoring and deployment flexibility then, yeah, you're in another league and Microservices is a really awesome approach. I'm guessing you're in my league though, so, I'm doing you a favor here, you can thank me later: YAGNI.
https://people.cs.umass.edu/~emery/pubs/gcvsmalloc.pdf
Intro to Haskell’s conduit library (Conduit 101)
I found the quality of writing to be somewhat sub-par for BBC, which is usually excellent. Very interesting story, though.
No he didn't say the total cost is lower, he said one side is lower and one higher. He was completely ambiguous (and I have no additional knowledge to add) about which cost changed more.
Really? Right now, there is a lot of crops patented and it is not happening.

Patenting has nothing to do with liking GMO or not, this is just an excuse
With 40 guys that would make it about 3 tons actually...
Gasoline prices in the US are very low compared to what you pay in Europe, maybe if the government increased the taxation of gasoline they could make up for that shortfall. In Germany they added ~17 billion to the budget that way per year since 1999. With the usage pattern in the US you could probably make significantly more.
Ask HN: What do you use to evaluate your startup?
There are lots of tools and frameworks to help entrepreneurs cover all there bases, but aside from BMC, what else is out there? I understand the ultimate evaluation tool is the customer, but is there a common process that everyone follows?
What infuriates me the most is that is such a blind, selfish, first world argument. It assumes freedom of speech is granted, ubiquitous, and irreversible, so those who want extra protection must be criminals.

In some countries you can be killed for your political views. You can also be killed for what you are -- gay, for example.

Anyway, in most cases the person who said that is a complete hypocrite, like a politician/businessman who wants to ban encryption to be able to spy on their competitors, not to "protect children".

That's even a higher level of blindness. Those people understand how the world works. They know that hackings, theft, revolutions, and coups d'etat exist, and those who once were righteous, legal and legitimate may be prosecuted.

What if there were a revolution and the new government decided that now being a sports fan were illegal? That new government may have access to apparently innocent communications where people discussed sports events. Communications that were legally intercepted and innocent in one scenario may be life-threatening if laws change.

That's why we need encryption, that's why all person-to-person communications must be private (we can discuss the transparency degree for governments communications), and that's why governments must find some other way of fighting crime than just exposing everybody naked to make it easier to pick the bad apples.

Sorry for the rant, but encryption is saving lives of gays, illegitimately prosecuted politicians and such. Banning it with lame excuses is short-sighted and may backfire some day.
I believe the Jupiter Ace was the only Forth-native home computer, tho' I have it on a ROM for the Beeb.
> I have experience with Mongodb (although possible loss of data is alarming) and a lot of experience with MySQL/Postgres.

Use PostgreSQL then, because experience is key. Also: more time to work on the hard stuff.

> I would like to support real time interactions

What do you mean by that?

> I would like it to be easily scalable and maintainable (possibly hosted/maintained by a third party) as I am working solo

Nothing is easy to scale (across a network) if you do not want to lose data safety. So either pay someone to maintain such a beast (costly) or maintain it yourself (time-consuming, error-prone unless you are experienced).

I know there are ways to scale across a network using PostgreSQL but I suggest thinking about the scaling problem when it actually occurs. Or has it already?
I don't think you need to be pure-rpc or pure-rest... I think the parent really means to say that rpc-like calls are sometimes a better api than pure rest... especially given some business and security rules that are in effect regarding a given record.

I've considered using ZeroMQ Request/Response interfaces with a defined JSON/UTF8->GZ instead of REST layer... My testing worked pretty well, and it could even be used behind http requests (packaged).. with 0mq, you can setup layers of distribution for service points.

At one level or another micro services architecture trades complexity of an application as a whole for complexity in the system as a whole. In the end, most of the services being used in practice could handle the few ms of overhead that http/tcp rest services had over 0mq...

The hardest thing for me was simplifying things as much as possible, I worked really hard to avoid SPOF, that many tened to go to. In the end, instead of the likes of etcd, table storage with a caching client was sufficient... instead of complicated distribution patterns, for a very small load, having a couple instances of each service on each machine was easier.

It really comes down to what you really need, vs. what's simple enough to get the job done, and not lock you down. In then end, love docker (and dokku-alt), but things like coreos, etcd, and fabric turned out to be overkill for the needs.
Cool. Thx, especially for the link to the data dump. Nice stuff!
Imagine that we could eliminate Uber and connect drivers directly to riders with the same experience as Uber's app. Nothing has changed about the nature of the driver's work, but there's no entity to be an employer in the first place.

Employee benefits for this kind of work just won't exist. Technology is making it easier for people to provide services for a wide pool of individuals without needing a company to employ them. The companies make an easy target for this sort of complaint today, but they are middlemen that will be eliminated by decentralized systems.
Or maybe they move the most successful trades from client's funds into this employee fund, and move the unsuccessful ones out to client's funds?
> Make a reader that's faster and smoother than the Kindle app...

Except that Kindle isn't any of those. Neither fast, nor smooth. But that's a kool-aid you've been drinking for too long. And even believe that books should not come on the web and have their own native experience.

> Also: hate,hate,hate page-flip animations - either they slow down the page transition, or they're there to obscure a too-slow page transition; either way they get in the way of the experience very quickly

It's all hatred and propaganda my friend.

Page-flips are an important experience of books, even iBooks has it! And I like it that way. I just checked on this one that transitions are close to 60fps. Agree with you on zoom-in part though, but then I'm reading it on my iPad so I don't need zooming so much.

> They're possible because of the web, but they're also unnecessary because of the web.

I'm afraid that is not your decision to make. It is absolutely necessary and does good for the children to move beyond stuck up books that are locked in time and technology of 15 years ago.

I wonder what do you have to say about that?
Yes, it is life-consuming. Anyone who wants to get into politics is getting into something that'll affect a lot of people's lives. It should take a lot of effort. If it were easy, our world (or the part of it that government touches, which is most of it) would be chaotic.

As for "anyone who would want the job shouldn't have it," that's cute to some, but to me it's a tired thought-terminating cliche. It says "it's ok to be cynical, hur hur, and complain without doing anything about it," but does that get us any further?
Encrypting More: /boot Joins the Party
Ah ok. I see what you meant when Folio was mentioned. I was thinking something else. I was building something like that but don't have the tech capabilities so had stopped.
I hate this. Go has been putting off vendoring for such a long time because they "didn't want to come up with a half-baked solution". I think that's bull, and it just wasn't a priority for the at the time Google-heavy team since they have a different dependency need (fueled partly by the NIH-syndrome).

Now, they release this half-baked solution which has no true advantages over the existing vendoring tools other than keeping our import path the same in your source file (which just makes things more confusing imho). No solution for dealing with dependency conflicts, not even tools to detect and manage them other than the compiler itself.

On top of that there's even more "magic keywords" that you need to learn which causes stuff not to behave as you expect, just like the magic comments.

I understand it is also a consequence of having a v1.0 and a backwards-compatibility guarantee, but nearly all features added after 1.0 seem to be added with as minimal effort as needed to get something working, which is not a good thing.
It all feels tacked on, the easy way, and not thought out.
Address book based social networks are nice to get a bit of bootstrapping, but becomes pretty bad when you want to add someone as a text secure contact, or you want to run a version without using SMS gateways. It gets pretty complicated pretty fast compared to 'what is your username'.

I hope text secure gets usernames one day that you can associate with phone numbers & emails.

The web-browser version is a good development, it shows that desktop and multi-device versions are on the way.
Microservice vs. Monolithic Architecture