skysight-inc/HackerNews huggingface dataset:
> something might poll and not-block, but actually block by the time you get around to using the buffer

On Linux if a socket is set to non-blocking it will not block. I don't really understand your point with shared buffers. You wouldn't typically share a TCP socket since that would result in unpredictable splitting/joining of data.

> In Linux, you don't, and userspace and kernelspace both end up doing unnecessary copying

I'm not so sure the Linux design where copies are done in syscalls must be inherently less efficient. I'm pretty sure with either design, you generally need at least one memcpy - for RX, from the in-kernel RX buffers to the user memory, and for TX, from user memory to the in-kernel TX buffers. I think getting rid of either copy is extremely hard and would need extremely smart hardware, especially the RX copy (because the Ethernet hardware would need to analyze the packet and figure out where the final destination of the data is!). Getting rid of TX copy might be easier but still hard because it'd need complex DMA support on the Ethernet card that could access potentially unaligned memory addresses. On the other hand, I also don't think you need more than one copy, if you design the network stack with that in mind.

> you need more than two system calls on average for every IO operation in performance servers.

True but it's not obvious that this is a performance bottleneck. Consider that a single epoll wait can return many ready sockets. I think theoretically it would hurt latency rather than throughput.

> As a rule, you can generally detect "design faults" by the number of competing and overlapping designs.

On Linux, I think for sockets, there are only: blocking, select, poll, epoll. And the latter three are just different ways to do the same thing.
On Windows, it's much more complicated - see this list of different methods to use sockets (my own answer): http://stackoverflow.com/questions/11830839/when-using-iocp-...

> One specific fault of epoll (compared to near-relatives) is that the epoll_data_t is very small.

Pretty much universally when you're dealing with a socket, you have some nontrivial amount of data associated with it that you will need to access when it's ready for I/O, typically a struct which at least holds the fd number. Naturally you put a pointer to such a struct into the epoll_data_t. I don't see how one could do it more efficiently outside of very specialized cases.
Indeed. Not to mention the Internet was basically a wide open green field to build companies on in those days. There is no shortage of B2B focused web-based software in 2016.
Airplanes are a big one for me as a frequent traveler. Every plane has wifi but you can't receive SMS. If my previous cookie expired or the site thinks the plane's IP is new and strange, then I might have no way to sign in from the air.
I'm very interested in your learnings.

I've worked on enterprise collaboration software before, and came to the conclusions that the users will favour using the simplest thing for the task in hand (email or excel) no matter what SAAS products they have.

The trick then becomes
1. sell to management and get them to gamble on enforcing it's usage, (maybe by taking away the other tools, extensive training),
or 2. have something that works at a grass roots level (e.g. dropbox being used to work around IT constraints) .

I think I may have just restated your post, oops!

I keep wondering if the future for workflow tools might be to unobtrusively monitor user interactions by hooking into the email client, and have an intelligent Clippy-like service which prompts and decorates their tools i.e. prompting to use ContractBeast if a contract is attached to an email (or in fact just doing so), and to display relevant information as and when needed. There was some CRM system extension for gmail years ago which I remember being radically successful.

Could something like that have worked out for you?

*and server in order to provide analysis, archiving etc.
I do agree with this actually. Rather that going straight to law enforcement budgets the money should go to the general coffers to be allocated by the legislature.
Would you rather experience a movie or watch a movie
It does https://support.twitter.com/articles/20170388
Would you not immediately start trying to commercialise the invention with the military? There are plenty of defence contractors with security clearances that you could show the secret patent to, and offer to secretly license it to them so they can make a device that has the obvious advantage that the government has declared an interest in it!
It's only the right way to do it from an application developer's perspective if the behaviour of the official OS-approved interface matches what their application needs, which is unlikely to be the case here. For example, according to https://support.microsoft.com/en-us/kb/156932 there's a fixed-sized pool of threads used to fetch data into cache to fill async I/O requests. If you try to have too many async I/O requests for the number of threads (which can be as small as 3) the excess are automatically converted into synchronous, blocking requests. This renders the API useless for something like an event-driven web server, because any file I/O call could block the main thread until it completes.

(Also, curiously when the data's in the cache that page shows a performance penalty for async reads that complete synchronously from the cache compared to sync reads. Wonder why.)
Bringing hit counters back in fashion, eh?
Isn't uncertainty a major characteristic of a startup though? Even if you guys had a hypothesis that you believed in, would it necessarily be correct? I'm just saying that maybe you'd have more faith if either you weren't working 70 hour weeks or you had another full time co-founder
If this anthropologist used a wider scope, then the conclusion might have been that we, as a society, need less of Photoshop.
Jobs threatened by machines – once a stupid idea gains respect
Ehang 184
I don't know much about contract management so take most of what I have to say as an ignorant opinion.

I'm trying to figure out how ContractBeast's problem of continuous usage is any different than almost all the business tools out there that require human intervention (with the exception of email, and MS office suite).

It seems every investor and entrepreneur has this desire to make "crack" and not just tools. Good tools don't need to be used all the time. They don't need to provide some sort of gamification, feedback loop, or enjoyment.

As for money making good business tools don't need even need to be used by the user... in fact they really should be automated. I know this because we had some of the some problems ContractBeast did and the key was not getting the endusers involved at all. Automate and integrate so they are almost out of the loop completely (again I don't know much about CLM... maybe this isn't possible).

As far as top down selling it is almost impossible in the B2B market to do something different. Managers force users to use tools and those users use MS Office most of the time but those tools still get bought and eventually those tools do provide value (aka sales force).
Where the cloud is.
I'm not a google chat/hangouts/mail/etc user... or current Android phone user.. so please excuse my ignorance

if I switch to Project Fi am I going to be expected to signup and use all of these things? As in, is it significantly cheaper because now I'm the product? Or am I getting a legitimate Android handset I can root and go about my way like I would with any other carrier?
If I were in the market for a smartwatch right now, it would have to be the Suunto Spartan http://www.suunto.com/en-GB/spartancollection/
I'm sure this is something Elon Musk would be trying to make, too, because there's a lot of expertise that his companies already have to build something like this: autonomous tech, rocket engineers, batteries, electric powertrains, solar panels, and he has already said he would probably build an electric airplane next.

If only he had the money to experiment with something like this. That's why I'm hoping that Apple buys Tesla eventually and makes Musk its CEO and lets him do whatever he wants with those $150+ billion (maybe $300 billion by then) cash reserves.

And apparently he's already toying with flying stuff:

https://twitter.com/elonmusk/status/740723195431538689
Celery, non-blocking code and quest against coroutines
But if few humans are earning enough to generate demand for goods and services, how long will this algorithm have my job?
The Best Mountain Bike Shoes- Getting the Most for Your Money
Or some curious, thousands-of-computers strong grid-based cracking enterprise. I suppose, even constrained by the current state of tech, cracking bcrypt with some kind of massively parallel dictionary attack isn't entirely unfeasible.
Man ordered to tell police of sex plans
Maybe they don't own the name (i.e. trademark); it’s not very important to overall accuracy of the summary. It’s also very odd of you to ask what company it is – shouldn’t you, of all people, know? I left the name out because it’s not important what company it is.
Hey all.

Last week Marc Kohlbrugge launched https://highscore.money/. Following that, he sent out a tweet, asking if anyone knew of a good real time user counter to add to his site.

https://twitter.com/marckohlbrugge/status/737388891246891008

No-one did, so we made one.

Real Time Users is just that. We made it this weekend. I wrote a quick post introducing it, so feel free to look at that for more details.

https://blog.wearecontrast.com/make-stuff-ff82f78cf5a9#.s8mg...

Feel free to ask any questions, I'll be about all day.
HN is not small :p
Then why even bother with bcrypt?
I love my hosting (https://www.scaleway.com/pricing/#pricing_baremetal): 3.6 € for 50 GB and total freedom.
We saw 2 people request some form of site counter in the past few weeks, which was enough for us to spend a weekend hacking on it.

Who knows whether anyone will actually use it.

There's also a leaderboard, to track who does.

https://realtimeusers.bycontrast.co/leaderboard
Indeed, though I suppose you've got to hope that the keeper of the passwords gets their hands on a similar level of processing power as the attackers do, with which they can increase the encryption work factor.
Chances are that you can't afford the most modern hardware. An attacker at least temporarily can probably afford more than you can. If you configure bcrypt so that an attacker spends 1s, it will be to slow to be practical for you.
From radio waves to packets with software defined radio
True, I think half the point of emacs is _not_ doing work but hacking on emacs instead :-)

See also:

M-x butterfly

M-x doctor

M-x tetris

M-x hanoi

etc. etc.
Top 5 Most Interesting Scrumban Boards
Rise of the Machines Fueled by Higher Asia Manufacturing Wages
> Self-flying

Meh. That would be taking the fun out of it, taking away the very point.
No phone network for me why I go back to my parents place so it's complicated.
Human Resource Machine – A Programming Game
Good to hear from you!

Your track record. user reviews and endorsements are what made me choose and stick with Mullvad in the first place.

I definitely haven't been disappointed in any way.
>> "But the most obvious alternative is to massively increase the amount of voice control the watch offers, and Apple simply doesn’t have the technical chops to do so. While Google and Amazon have been creating voice assistants that people seem to actually use and wax lyrical about, Apple … hasn’t."

This passage from the article jumped out at me. Is he saying that voice recognition is the missing killer feature in an Apple Watch, whereas Android watches hold the promise of adding such a feature because Google (and, irrelevantly, Amazon) are better at it?

Without getting into a technical debate about which tech giants are ahead in voice recognition and its applications, I am interested in the notion of conversing with a smart watch.

The obvious application is to provide the time of day to a sight impaired person, or (more trivially) to someone driving a car or operating heavy machinery who can't glance down. Probably it could be programmed to guide the sight impaired down the street, buzz if you veer off the sidewalk, etc.

Even there, it's merely a peripheral to the smartphone which can do all of that and more.

My Moto 360 was purchased on a whim because it was on sale, and indeed I wear it infrequently on a whim, usually when going to a tech event or a conference that requires strict adherence to a schedule, and then only for its obvious geek value. It's fun, my daughter loves changing the watch faces, and occasionally it's even useful for discretely screening calls and texts.

I just keep thinking that some brilliant kid is going to stumble across a killer application for these watches, and then we'll be off to the races. Still scratching my head on this one, for now.
... followed by the full text of the FreeBSD Licence.
They do. In fact, I just logged in to change my password and had to go get my phone from another room so I could read the code. The annoying thing is that they don't support Google Authenticator or some other TOTP/HOTP token generator. It sucks trying to log into services that use SMS based 2FA when you are not in an are where you get cell reception.
Is this 'E' number one or two in MS's 3E strategy?
Wow, the video you linked is awesome. I would love to see how it would handle a huge dataset of something like time square footage.
Deep learning is currently the best way to solve tasks such as your #1 example - there are great results with learning to identify classes from even a single labeled example; and the proper (only?) way to do this is to use basic feature-extraction layers made by showing the system a bunch of unlabelled images.
SaaS: how we went from 5 to 100k MRR in 24 months
What terrifying stories have you heard about the Australian Outback?

Having lived a large proportion of my life in what would be described as rural Australia, if not quite the Outback, I can't really think of anything that is actively trying to kill people.

People die because they were unlucky (trod on a poisonous snake perhaps) or they were stupid (traveling somewhere without adequate water and/or informing others of their whereabouts).

Snakes aren't actually trying to kill you, nor spiders, nor dingoes (unless you're a really small baby maybe), nor feral camels, nor kangaroos, nor the emus. The only think I can think of that maybe actively wants to kill you are the crocs, because they're top predator and have to eat. Also the vast majority of human deaths from croc attacks are also down to stupidity (swimming at night in a known crocodile area, for example). Even so, the crocs are in the north and I wouldn't necessarily call that the Outback either.

Anyway, genuinely curious about the terrifying stories and all the things trying to kill humans.
To name a few:

* Haskell
* F#
* TypeScript
* Orleans
* Roslyn
* Naiad
* Chakra
I read that story and the author's own comments on HN, and they do not support the argument that YC "forced" them to pivot. If anything, they barely knew what they were in YC for in the first place.
It certainly worked for Edison, didn't it?
Predating those two are:

UNIX as literature
http://theody.net/elements.html

Life with UNIX by Don Libes
http://minnie.tuhs.org/Archive/Documentation/Books/Life_with...
(from the author's website)
What if it is an education issue? Maybe by training young scientists for wayy too long before they start doing science, we "overtrain" them, and their mental models are over-fitted to current science. Naivete can sometimes be a major source of creativity (that's why people who cross disciplines sometimes have great impact).
Yeah, I hooked up ANZ when it arrived the other week in some Gibsonesque fever dream, and rushed straight down to Coles to buy a Turkish Delight with my phone.

Phone comes out. Double tap home button. Damn, it just unlocked. Try again. Double tap. Fingerprint. Hold, recognised. Great. Hold my thousand dollar phone up to the reader. Vibrates. Works! Cool.

And then I never used it again.

The problem in Australia, where our contactless payment system is so ubiquitous (and has been for years), is that using a worthless plastic card is just so much easier and quicker. It's instant. There's no tap, no fingerprint. I don't care if I drop it. It's just easier.
The poor in developed countries are still far more wealthy than the average citizen in a country like india. What the poor here really need is financial security, not just some benefits that they lose immediately as soon as they earn too much. There are already some small scale programs that incentivise them to save by matching their savings with additional $0.50 for every dollar saved.

In reality saving is the engine of the economy. Consumer debt only temporarily increases the GDP. Especially in the form of payday loans it is not only bad for the individual but terrible for the rest of the economy.
Yes, PHP had already largely supplanted perl cgi scripts by 1999.
> The contrast painted here is astounding. It demands

> so much loyalty from the employee, and in return, offers no

> loyalty whatsoever from the employer.

I disagree.

Netflix clearly says "interview elsewhere" and demands the opposite of blind loyalty to the company. They provide compensation at the top end of the spectrum and if employees want to go they let them (at least as far as I can tell from reading the article).

Where are you seeing the demand for "loyalty"?
Right, if everyone has access to basically the same technology, then the competition is between people for who can best leverage the technology (and who can develop the tools to help them do so).
This mantra is being repeated over and over: algorithms and automation are taking away the jobs.

I'm still skeptical.

Ultimately, work is about solving problems which is a complex and multi-stage process: someone must identify the problem first, someone must formalize the problem into a domain in which algorithms can be applied, someone must code or train an automated solver, someone must deploy and maintain the code...

I expect that a lot of future work will be what we would call today "managerial" type of work. People will identify problems and manage available resources to achieve the desired outcomes. In the past, a significant amount of those resources were other people. In future, more and more of the resources under management will consist of computing power, datasets, robots and only very few other people.

And so I doubt we will run out of work to do. This would mean that somehow we ran out of problems to solve. On the contrary, we appear to be flooded with them: cancer, infectious diseases, global warming, clean energy, access to space...

Maybe in some very far away future we will have a god-like super-AI that will seek and solve problems completely autonomously with no need for our involvement. This is very far off though.
There is more demand for engineers than managers and you won't be able to work remotely if you're a manager, in most cases. Meaning you'll need to move to a major urban centre so even if you manage to pull in a bit more the cost of living will swallow any gains.

Why do you need more? Instead consider changing your lifestyle habits. Try living on half your take home pay (still very healthy) for the next 6 months. Track your spending. Save the rest. Read up about money management and investing. ETF funds have lower fees but you can still easily lose your savings if you're not careful. Start small and keep going.

Take up a side project, when you feel you have the energy and pull back when you don't.
In 1999, I could view a simple page containing nothing but text without requiring me to download, compile and execute a massive wad of code in a huge bloated VM with a JIT. There's no need for any javascript there, try having a web page.
Saved user/pass are available to any process running on the machine. You don't have to wait until the user logs in, just access the saved pass DB. (Exception is if you use a password to encrypt the browser saved passes, like Firefox's master password. Then the malware needs to wait until you unlock.)
Surveying the Landscape
For Postgres users, it is built-in: https://www.postgresql.org/docs/9.5/static/fuzzystrmatch.htm...
You can upgrade hashes offline as well. You just hash the existing hash with the new algorithm/configuration and remember algorithm, salt and any other parameters for all previously used algorithms. If you have all that information you can take the same path to verify the password and replace the chained hash with a simple hash that's faster to calculate.
Even given that I stopped playing and probably will never find the time to touch DF again (unless singularity) I would still buy that Supporter Edition.

And thanks patio11 for that plan, sounds fascinating, as always.
Citation please? I don't remember Linus calling the kernel an operating system.
I bet we can automate these and eliminate click-bait-headline writers.
"Give some love to open source devs."

It turns out that many users of open source projects (especially libraries and packages) are other developers !

It is hard to find a piece of modern software which doesn't depend on some open source libraries. Those libraries might depend on other libraries and so on. Just do an `npm ls --depth=4` in a node-based project to see what a nice tree that is.
Same thing with cocoapods, carthage, rubygems, pip, cargo, leiningen, etc.

In my view, money should follow the project structure - developers should donate part of the money they receive to the project dependencies and the devs of the dependencies should do the same thing, recursively and that's how you really spread the love !

I've started working on a prototype a year ago, but got discouraged after someone showed me that there are literally hundreds of projects trying to 'spread the love' and as a consequence no love is being spread :)... so I kind of gave up on it for now, but still think this is how it should be done.
Yes, the latter. One of the main problems I've seen is that indexing things that you will never query is both expensive in time and space. Also it's amazing how many views tend to have exactly the same data, only sorted differently. And the reason to sort it differently is because you only want to work on a subset of the data, but you can only restrict the query in a contiguous section of keys.

An example of this might be that you have a large number of daily reports. They all need different aspects of the data, but you end up writing views that sort by date and then collate the result in the server. So you end up maintaining an index for data that you will never query again and you are doing lots of extra processing merging the data after the query. Much better to replicate one day's worth of data to a new db every evening (possibly setting up a continuous replication to keep it up to date) and then add views on that db to do what you want. Like I said a full replication of a million documents takes about 10 minutes, so it's a reasonable thing to do.
I am not sure about Snowdrift. Although the project has an interesting take on crowd funding, it has been in development since late 2013 and does not seem to be making any significant progress. As far as I can tell, it is still in alpha stage and without a working payments system.
mmh, by upvoting yourself on HN? ;)