skysight-inc/HackerNews huggingface dataset:
"I do not want to care if everything my processor performs is async."

The point is not the processor. The point is that all IO operations take time. Processing the IO operations concurrently with the serial program logic is where the beef is. Writing asynchoronous code in C or C++ is tedious to say the least in my experience, with weird concurrency bugs looming everywhere.
However, when we're talking about phones or consumer devices, how it's used today is the only thing that's relevant. It will be obsolete in just a couple of years.
How to Select the Perfect Kurtis for an Occasion
For people with social anxiety, this is true to the point of being not funny. This is almost exactly the kind of stuff I always worry about, although I'm usually a bit more negative about it.

(If I slip up and they accidentally see through me, see what a socially inept and boring person I am, they'll hate me forever and also they'll tell everyone in the world about their boring experiences with me, and no one will ever like me anymore.)
TCP windows won't save you. TCP has no way to magically know when some buffer is full. Instead it notices packet loss and interprets it as congestion. Which is not what you want, because it can significantly reduce throughput.
> Although I suspect this would just start a new style arms race of obfuscation similar to adblock, etc.

Then so be it. Apparently life is an arms race..
In any other language

No; for example, in Go, every time the code does IO, the scheduler will re-assign another goroutine, and they asynchronously get back to the other when the IO finishes. It doesn't need any special support by the library.
even if it works be ready to say goodbye soon.

I've used that feature on Google voice for years, until they decided drop it. 4yrs later they release this. let's count how long it take to go away again.

and fun fact, Google voice is the only Google product i pay to use from them
Ceva DSP is almost same story about compiler. They used to have GCC2.95 glued to their proprietary backend, 33% of compilations results in crash :-).
They got better by going to GCC4.4, but still use crazy licensing.
But other DSP cores are often even worse offering as little as only assembler.

But, DSP core itself is nice, very well thought out in contrary to mainstream DSPs from TI or Freescale(now NXP).
HN is limiting my post rate. So I can't respond to all of you. If anyone would like to chat about reducing customer anxiety or feedback on what you would like to see on this process, you can send me an email and I will respond when I can.

Tscanausa @ Google
Sleepy's (a dominant retailer in the US for mattresses) recently got acquired for 3.8 Billion.

http://www.wsj.com/articles/steinhoff-to-buy-mattress-firm-f...
> when you want to do async in node, you don't have to worry that some library you are using is going to lock up your thread.

> In any other language, you have to painstaikingly make sure everything you use isn't doing sync

I haven't found that to be the case TBH. In most other languages i've used i don't have to worry about foo() being syncronous or not. I can assume that. In other words, after the control returns from the foo() call, i can assume that what foo() is supposed to do has been completed. In the case that foo() needs to do some IO operation, i can usually rely on it doing a syscall that will block the thread and put it to sleep, instead of doing something nefarious like busy waiting.

And that's it. The current thread will sleep while the IO operation in foo() completes, and the OS (or VM if we're talking green threads) will switch the CPU to do something else in the main time. And if it's a web server we're talking about, that something else may be another web server thread, serving a different request. Yay, preemptive multitasking!

In the case of node, you do very much have to worry about a function call being synchronous or asynchronous, as it defines the way it has to be called. In the former case, it can be called "normally":

let a = foo()
// use `a`

In the async case, some code gymnastics need to be involved:

// Either callbacks:
foo(a => {
// use `a`
})
// Or promises:
foo().then(a => {
// use `a`
})
// Or promises + await syntax:
let a = await foo()

It may not seem a big problem at first, especially if using the `await` syntax is an option. But to me the biggest problem of this technique is that the "async-ness" of a function cannot be abstracted away. If a function `foo` that has always been synchronous, and that is used in several places, needs to be changed, and this change implies `foo` calling an async function `bar`, then `foo` will need to become async too, and all the places where `foo` is called will need to be changed. Even though this internal `bar` async call was an implementation detail of `foo` that shouldn't have concerned `foo` callers. And this propagates all the way up: if any of the places where `foo` was called was, in turn, a synchronous function too, then that function will also need to be refactored into an async one, and so on and so forth.

And that's basically why i find node's distinction between sync and async functions so frustrating :(

PS: Cooperative multitasking does not imply this weird syntax complexity of having two different kinds of function calls that cannot be freely intermixed. For instance, Eralng "processes" use cooperative multitasking, but the "yields" are managed implicitly by the VM, so you don't need to explicitly yield control of the current thread to let other stuff run concurrently.
FWIW, I've been doing this for about 15 years and I've never had that trouble. I tend to keep the same system for customizing emails so I can guess my username in one or two tries. But using a password manager has completely eliminated even that.
In the second case, IO is not allowed to interrupt between between 'someoperation' and 'stuff' and change your program's state.

In node, the first form is only needed when 'someoperation' has to perform IO to do its job so concurrent operations are unavoidable.

If you're trying to reason about your program, this is huge. It very much matters where these points are. A concurrent thread being allowed to jump in and modify memory at any time at all, even halfway through a primitive math operation (the deranged C / Java / Python[1] memory model) means a correct program is a morass of locks and defensive programming and an obvious program is horribly broken.

Communicating sequential processes (Go, PHP+MySql) makes IO have a modestly simpler synchronous syntax at the cost of communicating between I/O operations much more complex (sending a message to a port or performing some sort of transaction instead of just assigning to a value). It's a tradeoff.

node.js does assume you're writing a network program that needs to overlap multiple communicating I/O operations; if this isn't the case there's no tradeoff to make and non-communicating sequential code is probably easier (think PHP without a database or sessioning)

[1] Python is modestly less braindead by having a very modestly larger set of operations guaranteed to be protected by the GIL. Hoever, it's not composable at all and it doesn't really make reasoning about nontrivial programs easier in practice.
Not sure, why this is getting downvoted.. It's very sensible and the poster provides a valid example.
We'll probably see some of those at a Burning Man VIP camp.
> Some on HN bemoan the lack of a "true" meritocracy.

It's useful to remember that the term "meritocracy" was first used in a novel where it was the lynchpin of a dystopian social system [1]

https://en.wikipedia.org/wiki/The_Rise_of_the_Meritocracy
Rustoleum garage floor epoxy reviews
That's actually from the Bay Bridge heading into San Francisco — tower on the right is 1 Rincon (there's already a few more next to it going up now). Curious if this was a case of "just throw up something that looks halfway decent" or if they're intentionally trying to appeal with the US car culture?
iPhone excel because the OS and HW is designed by one company unlike Samsung where the HW and OS are from different companies, add to android Samsung bloatware.

The iOS works well with the iPhone simply because it is fine tuned for the product. On the androids side the OS is tuned to add bloatware of the respective HW manufactures. To add the so called speed the HW manufactures put in more RAM.
That 50ms isn't necessarily wasted. When I get the results of that database call I want the results returned to the user ASAP, with async operations the thread may be too busy to do that.

We do this daily in real life. It's more efficient for me to have 10 minutes down time at work while I'm waiting for someone else than it is for me to start something else then either get interrupted or finish another task before I respond to the person I'm waiting on.
> What a choice of words. Being old should is not the cause of being swindled. Maybe inexperienced which is aggravated by being old as you should have more experience.

Sorry it did sound bad the way I put it. But I've know the group of people for 10 years or so and have seen decline in their decision making in that time. It might not be true in general but it seemed like it was true there.

At some point they stopped following technology. So someone friendly and smooth talking who knows how to throw some technical / startup terms came and took their money. They also thought of thesmelves as little Mark Cubans or Marc Andreessens. Someone knowing how to play to that image was well positioned to trick them.
Isn't it already common knowledge that Mars cant be terraformed? No magnetosphere, cold core too iirc (and thats related to the moons being tidally locked.
Your computer as personal cloud storage device
I'm fairly sure his point was that if he wanted code to execute between the calls he would rather write that in his code directly than deal with the cognitive overhead of reasoning about constant async calls.

Async makes a lot of sense in cases where you are waiting for an event outside of your server's process, but async calls in the same code base seem a bit over the top.
An Australian skilled independent visa will cost you 3812 USD in 2016
Looking at the full context of the quote is useful.

> This is really pushing the boundaries of the CAN-SPAM act. You're not allowed to send unsolicited emails.

The USA is not the only country in the world, but the CAN-SPAM act totally permits unsolicited emails, which is the context of this thread.
It is pretty easy to plug in your own telemetry. I recently made some data from our hackerspace (electricity consumption, whether the hackerspace bar is open, etc) show up in OpenMCT:

https://github.com/c-base/cbeam-telemetry-server
There is a "true" module, which returns true.

https://www.npmjs.com/package/true

From the usage:

> Usage

> Simply require the true module. The export is a function which returns the Boolean value true:

> var t = require('./true')
, myTrueValue = t();
console.log(myTrueValue === true); // Logs 'true'
I've mentioned putting the Winhelp2002 hosts file on my dd-wrt router a few times. I just checked to see if I need to add any specific entries.

root@router:/tmp# grep criteo hosts0
0.0.0.0 cas.criteo.com
0.0.0.0 dis.criteo.com
0.0.0.0 dis.eu.criteo.com
0.0.0.0 dis.ny.us.criteo.com
0.0.0.0 dis.sv.us.criteo.com
0.0.0.0 dis.us.criteo.com
0.0.0.0 ld2.criteo.com
0.0.0.0 rta.criteo.com
0.0.0.0 rtax.criteo.com
0.0.0.0 sapatoru.widget.criteo.com
0.0.0.0 sslwidget.criteo.com
0.0.0.0 static.criteo.net
0.0.0.0 static.eu.criteo.net
0.0.0.0 widget.criteo.com
0.0.0.0 www.criteo.com

Apparently not.

Deets: https://ello.co/dredmorbius/post/v9l7zvlyynvl1pskbwssmq

https://www.dd-wrt.com/wiki/index.php/Ad_blocking
biggest news here is that Apple now has a bug bounty program
Down the rabbit hole (with AFL)
it's about protecting monopolies and entrenched companies. so obviously you will list big companies as supporters and smaller ones as opposers.
Please. There is no core privacy premise of the internet. The core premise of the internet is one protocol to deliver meshed knowledge to any computer. And the commercial possibilities of the internet are what have underwritten the growth of the network.

Reaction like this one make me think: entitled.

But they also make me think: unrealistic. How much should hypertargeted ads really bother us? Call me when they are using my bank account and medical records to show me ads. Not my browsing history, over whose exposure I have complete control, and which doesn't really expose very much about me or my family.
Delightful and Budget Friendly Wedding Reception Ideas for Food and Drinks Menu
Versus continuing to prop the market up artificially? Government does not exist to protect the value of your housing through subsidies.
Traditional English usage adds to the confusion of bolt vs screw. Machine screw and lag bolt are common words among technicians, carpenters, and ordinary people, but each is actually the opposite of what the name suggest:

- A "machine screw" is a bolt (i.e., it needs a nut):

https://encrypted.google.com/search?q=machine+screw&tbm=isch

- A "lag bolt" is a screw (i.e., it doesn't take a nut):

https://encrypted.google.com/search?q=lag+bolt&tbm=isch
> But for a hardware test, I'd expect a single running app, executing shared native codebase, in no disruptions airplane mode, measuring specific part of the hardware. And that's not even close to measuring before/after improved branch prediction, which could be useful in both phones.

I would argue that would be a completely useless test unless you're explicitly testing something for development purposes only. Users use phones. Nothing else matters but the user experience. If you can make your phone beat another phone in your limited, no disruptions, network traffic off example that doesn't mean anything.

I feel this is a fair test. You test the phones at what they're supposed to be able to do. If one does it better it's legit to point that out regardless of what the underlying structure looks like.
This is pretty non-standard. However, if it wasn't a deliberate joke on her part (maybe she wasn't interested in a coffee, but saw this as a chance to do something someone would never forget), her behavior suggests that she may have been more nervous than you. A more painful outcome could be, for example, if she laughed at you and then walked away indignantly.
I assume he's just trying to disambiguate, because for some reason the thread got hung up on which Paul is which.

Let's discuss more important things now?
> ignorant over-confidence

Believe me or not, Node and PHP are the laughing stock across many Googlers and Amazonians I know. Not just the languages but the behavior of the communities.
I think you just summarized the problem in few words.
Yes, I meant he would be unable to access his vehicle not that he would be stuck in his garage.
There is no core privacy promise _built in_ to the core of the internet in the same way that there is nothing in the laws of physics which prevent murder. We have laws and cultural norms for this sort of thing, and it's not at all entitled or unrealistic to suggest that those tools be used to curtail a rather parasitic situation such as this.
Bitcoin is not Energy
Razorpay (YC S15) Is Hiring Developers in Bangalore
Four years ago:

> We work a 4-day week at Treehouse and here’s what we’ve been fortunate to achieve:

> 1. Profitability (yay!)

Today:

> “Every venture-funded company has to cross the chasm to profitability, and we decided the time was now,”

Er, what?
You're touching the reason yourself. When 90% of the code you find is crap, it simply means that the language has a low barrier of entry. When languages like ML/Scheme/LISP variants, Haskell, ect. don't have that much crap, it's because the barrier of entry is higher.

And this goes not just for languages. Frameworks like Akka, is the same. The idea of actors to form the system is simple and elegant, but it's far from simple to get started with.
Just installed NoScript. Thank you!
Yeah. That [1] is like pokemon go. Or faked.

[1] https://www.youtube.com/watch?v=T-JvTZjbwNs posted elsewhere in the comments.
That is a great analogy. That test in the video didn't really mean anything towards the overall speed of the device. It's interesting to see, but I how this test would change over n trials.
A Reply to “Goodbye, Object Oriented Programming”
>Of course, companies that turn themselves into unpleasant places to work will presumably drive away the best workers.

The hand wavy, market-will-solve-it, get-out-of-jail-free-card of our generation raises its greying head again.

A) You can only leave a firm if you have a sufficiently fluid job market for your skills.

B) Firms will be dystopian, and managers will follow the latest HR fad or mantra that infects their CEOs or competitors. "Forever criticism" will most likely make it much worse.

c) We have repeatedly shown that human beings are terrible at assessing their own inabilities, while also being influenced by non critical factors during assessments of situations. The most likely scenario - forever criticism combined with an annual review, will provide people with just the kind of data minefield to blow each other up with.

D) Tools like this are an effort to bridge a paucity of managerial experience. The solution to this is to give people actual managerial experience - i.e. identify and train managers (not leaders), or teams which can self manage.

(side note - to achieve D, you need people to work in firms long enough for the investment to be worthwhile.)
ClearDB in EU facing problems, support doesn't help
Robot Octopus Points the Way to Soft Robotics
Indeed?

(I assumed you were a longstanding reader referencing this, but with an account ~3 months old, maybe not...) - http://www.paulgraham.com/submarine.html
I wouldn't say that there's 'confusion' - just that the terms are actually far looser than the linked document would suggest, because many fasteners can be bolts or screws depending on how they are used.

I would say that machine screws are usually used as screws. Machine screws are generally driven with a Phillips/Posidriv or flathead driver into threaded holes, so don't necessarily need a nut, but you can use them as bolts with a nut also. You use a spanner to drive lag bolts and they generally have hex heads like bolts so I would call them bolts, but technically they are actually screws.
Yes, they have definitely done that in past demo days (meaning, reporters at Demo Day can't write about these startups).
The Hololens dose not have an accommodative display (natural looking depth of field). I believe their display is collimated, so that everything is always in focus.
Videos: Introduction to Ethereum Smart Contract Development  with Solidity
It's on my 6p which had an updated this morning that I assume was N final (I've been running the betas). It's in the dropdown settings pane. You might need to hit "EDIT" and add it as a tile?
USB Type-C and USB 3.1 Explained
L2 pause frames are a necessity for small networks that don't have server-grade hardware, when your MAC receive buffers are measured in a few kilobytes. That includes most embedded devices (consumer devices, printers, etc., even industrial), consumer/small business switches, they have tiny buffers.

Your datacenter/server/workstation hardware is different. It deals with higher speeds and has appropriate buffering and control.

I wish people here would understand consumer/embedded space needs pause frames to function properly and that TCP congestion control will often significantly hurt performance otherwise. TCP can't magically know when some buffer is full. Without pause frames low level hardware will send at full throttle. It's not ok if every second frame is lost.
Apollo Rope Memory modules – help us in decoding the first micro memory
TLDR:
"A skilled independent visa is a perpetual work/live visa for Australia without any requirements in terms of sponsorship."

The author got through the application process in 6 months. A further 3 months were spent gathering documents before the application.
The FSF is hiring a web developer
That is just rude. See Mattm
Why the 2016 Hype Cycle of Emerging Technologies Is All about Data
Personally I don't want to be promoted. Promotions suck. Just keep feeding me hard technical problems and keep administrative and management responsibility as far away from me as possible and I'll be happy.
What you see in a 2 line press article is literally the simplest way to describe what their business is doing right now. The point of demo day is to get people interested in your idea for follow-ups.
Read: http://paulgraham.com/investors.html

There's a question on the app that asks (I'm paraphrasing) "what do you know about your market that others don't?".
Answer: What appears to be a lifestyle sized market to the casual onlooker is actually big business
cannot agree more, but we still use it.
> But the update experience on flagships (except if you count the Nexus 6P) is absolutely terrible.

I don't really agree. I have always got regular security updates on my Samsung flagship phones. Yeah I will have to wait ~6 months for Nougat but that's hardly of any concern. There is no feature in Nougat that I don't already have from Samsung. The only thing you have to care about is the monthly security patches and Samsung has been one of the fastest to issue those every month.
As Paul said it takes longer than that to make it, but Twitch TV sold for almost 1B less than 5 years after launch, and just turned 5 in June.
> Android supports tons of different architectures and platforms, of course you can't optimize it like Apple can with a single platform.

Not really. Sure Android can run on multiple architectures but 99% of the time it's mostly the same. Why couldn't they provide optimizations for multiple architectures anyway? Whenever something can run on more than 1 architecture I usually see the argument about how it can't be as optimized on any specific architecture but I don't see why not. Optimize for the 80% use case and you're probably covered. Go beyond that to get more performance out of other platforms but it's unlikely necessary.
You can get that metadata through the APIs.
Interesting I never knew they did that. Now I'm curious what compan(ies) they've done that with, why and if they are still in a "stealth" mode.
What I’ve Been Reading Recently – My Bookshelf #10
Like you said the host might have small buffers and without Pause it would drop, but who's supposed to buffer the packets, the cheap switch with 16kB of buffers and super idiotic buffer configuration such that everyone else on that switch gets paused?

You seem to think that it's bad to drop packets in the nic and while some nic might have buffers that are too small but in general you should drop. If you use TCP the window will adjust to whatever your bad nic and embedded system can handle. At least you won't affect the others by spreading pause like a cancer ( can you tell I am cynical on pause )

Usually on a switch you can usually drop packets based on the number of packets destined to a port and packets buffered per input port. This is how you can avoid head of line blocking but again if you are right with 16kB that's barely enough for a jumbo packet (~9200B)... geez that's depressing.
> The NPM stuff... well, I think all ecosystems have their pros and cons. I'm not a huge fan of NPM, but it does the job for the most part, and I'm curious as to how people would actually improve it, rather than just complain about it all the time. I don't really have any good ideas (knowing nothing about how package management actually works under the hood).

- Remove the Couchbase dependency
- Make login authentication a plugin or API-based
- Integration with Github/Gitlab for automated publishes

to name a few.
Cocoa and the Death of Yellow Box and Rhapsody
Cruise Automation -- Founded 2013 (three years ago), sold for 1B this year.
Babel and regenerator let you use await in es/js too.
Study: Best Friends Build Shared Memory Networks