skysight-inc/HackerNews huggingface dataset:
Promises have always been extremely contentious in JS for a couple reasons and Domenic has had the patience of a saint getting the original proposal through so it's totally understandable that he might not want to deal with this anymore especially if people in his org are against it.

There were a couple reasons the original promises were so contentious to standardize.

- Monads: there was a very vocal faction on TC-39 that really wanted a Promises to be monadic and very much emphasized mathematical purity over usefulness and any attempt to discuss things tended to get side tracked into a discussion about monads, see brouhaha over Promise.cast [1].

- Error handling: Promises have a bit of a footgun where by default they can swallow errors unless you explicitly add a listener for them. As you can theoretically add an error listener latter on all other options had downsides (not always obvious to advocates) leading to a lot of arguing, must of it after things had shipped and realistically couldn't be changed. Fixed by platforms and libraries agreeing on a standardization of uncaught promise events [2].

- Just an absurd amount of bike shedding probably the 2nd most bike shedded feature of the spec (behind modules).

So cancelable promises reignite all the old debates plus there's no obvious right way to do it, like should it be a 3rd state which could cause compatibility issues and would add complexity, or should cancellations just be a sort of forced rejection, which would be a lot more backwards compatibility but with less features.

Additionally there is a bizarre meme that somehow observables (think event emitters restricted to a single event or synchronous streams that don't handle back pressure) are a replacement for promises or are a better fit for async tasks they should be used instead.

edit: patients => patience

1. https://esdiscuss.org/topic/promise-cast-and-promise-resolve

2. https://gist.github.com/benjamingr/0237932cee84712951a2
Perhaps pre-DOM, per other comments here?
Skip lists are probably the easiest way of getting O(log(n)) lookups on ordered lists.

Recently I got rid of huge bottleneck on an oldish piece of software by moving from a vanilla linked list to a skip list. And I did do many things suggested in the article (e.g. having a vector of fixed length for the pointers, and thus a fixed tallness).

Funnily enough, for my case, I managed to do without a RNG just fine. I just have an element that is of tallness 'k' every 2^(k*3) insertions (e.g. every 8th insertion is 1 level tall; every 64th insertion is 2 levels tall; and so on).
For my particular pattern of insertions, this proved to be more than enough, and and simplified things a little bit.
Dropped Google Analytics two years ago for Piwik and don't regret it. Keep up the good work!
From what I can tell the Telerik version is on mac also
Fiddler is available for MacOS.
They (well, Chrome at least) even do that for a POST, which is highly questionable.
> Some people's freedom of speech silences other people.

No, this is completely and totally incorrect. What is correct is that some people silence themselves in reaction to others' free speech. The power is all in their hands: they have the freedom to speak, but they choose not to use it.

That applies to me as much as anyone else: on some controversial topics I choose to speak my mind, generally because I think that there's a chance I can persuade others to see things correctly; on other controversial topics I don't believe that there's any chance to persuade folks, so I silence myself. What's the point of controversy if no-one will be persuaded? It's just trolling.

Regarding hate speech, I have showdead turned on and I've not really noticed a problem with it. There are a very few loons, but they get downvoted to heck and that's that.
I'm a big fan of agile, but I fundamentally disagree with some of the things you're suggesting.

Developers aren't actually special snowflakes who must be defended from the realities of the wider business, and they sure as hell shouldn't be hiding away work they'd like to do in what are nominally feature cards, what you're describing sounds more like the US legislation process of slipping funding for a coal power plant into a law which is designed to prevent discrimination so that the right person will vote for it. Trust is earned, and intentionally deceiving the product owner as to what they're going to get goes against that.

A properly run and supported development team should be able to go to their product owner and make a convincing argument as to why they should be doing some work on paying down technical debt. If they can't convince the product owner in terms that are understood and taken on board that's a failing of the development team and the process they're working within. Or maybe the interest on that debt just doesn't outweigh the features that are being prioritised over it. In an ideal situation developers will be involved enough in the rest of the business to be able to see that without even bothering with pitching low value tasks as a priority.

Equally my experience is that points based estimates don't really help anyone. The product owner is inevitably going to report to their management in terms that are more widely understood, namely time, and to do so they'll convert points into time. If you're lucky they'll use the current average rate of points/sprint to do that, if you're unlucky they'll just say 1 point = 1 hour and leave it at that. By extension that doesn't help the development team either, because they're doing estimates in points on the understanding that they don't directly map to time, and then get grief later when the points didn't directly map to time.

Maybe I've just never seen Scrum done really well, and with sufficient buy in these aren't actually major issues, but my experience tells me no one is helped by adding a new language solely used for communicating the development team's plans and progress.
My 6 Favorite Zapier Zaps for Writers
Untyped number literals is the second issue with more number of +1 reactions.

https://github.com/crystal-lang/crystal/issues/2995
Stop caring about what others think of you.

Back in the day, I was pretty shy and probably still am to a certain point. I was always self conscious; was I dressed properly, did my hair look ok, etc...

I made it a point to stop being like this. To just be me. It's not to say, don't care what you look like or how you carry yourself or etc... But stop worrying about what others think. You can't please everyone; not everyone will like how you dress, talk, etc... That's ok. Your not out to please everyone.

Own the room / conversation / email.

Over the last 5 years of doing my startup, we started going to events where we were exhibitors. I go to help out - pass out free t-shirts, tell the students what we do; how we help them, etc... So a shy person having to talk to 600 strangers inside of 3 hours? Yeah, no. So I decided to own the room. I walked into that room prepared; I knew what I'd say; I knew what I'd have to offer and if I couldn't answer; I'd defer to my partner. At first, I wore a suite / tie. This last year; I wore our t-shirt and a sports jacket / jeans. We own the room at these events.

Know what your talking about.

At first, I was just the developer. I knew very little about our target industry. I built the site for sure, but anything past that - "I'd like to introduce you to my partner..." It wasn't until I took an interest in our industry could I speak confidently to our users. Being confident in what I was talking about took time for sure; but where I was nervous about going to this event in years past; now I walk in like it's a party. We're there to see our users face to face, give out some cool free stuff and make new connections. It's become my favorite thing of the year to do. Smile from ear to ear, baby.

So - confidence, knowledge and level of comfort with a given subject. Nail those, and you'll have an easier time.
75% of Turkers are Americans. And I didn't see it in the OP but I would guess that similarly 75% of companies issuing HITs are American.

Now I don't know the exact wording of minimum wage law, but I'm pretty sure if you hire an independent contractor through a 3rd party staffing company, let's say to clean houses. And then you set a fixed price on the service, say you will pay $20 for each house cleaned, knowing it takes 4 hours on average to clean a house. And then you let anyone who wants it take the job. This would be illegal.

So, I honestly don't know how mTurk is allowed to operate the way they do. American companies should not be able to hire American workers to perform labor at below minimum wage, just because they use an API to do it.

I'm willing to bet if someone was willing to spell it all out in front of the right AG or the right class action legal team that there would be significant settlements to be had.
What Do I Need to Become Successful in Life?
Goodbye Serenity (2011)
> Promises have always been extremely contentious in JS for a couple reasons and Domenic has had the patients of a saint getting the original proposal through so it's totally understandable that he might not want to deal with this anymore especially if people in his org are against it.

I know this is probably a typo (patients => patience) but that spelling seems to work as well.

> So cancelable promises reignite all the old debates plus there's no obvious right way to do it, like should it be a 3rd state which could cause compatibility issues and would add complexity, or should cancellations just be a sort of forced rejection, which would be a lot more backwards compatibility but with less features.

IMHO neither as cancelability isn't a common requirement. People that need it tend to have more complex requirements and end up tying the cancellation to other chains of logic anyway. Also, unlike say catching an error, you generally want all cancellation handlers to fire rather than just the first one (like with errors).
I'd pay somewhere around $50 if it included box art and everything. I don't imagine that's quite enough to turn a profit.
Failure Is Success
Show HN: Just released 21 templates for easy charting with any stack – AnyChart JS
I meant the EU (initially) wanting to accept them on the sole premise of 'taking care' of refugees. Anybody in it's right mind wouldn't want to have anything to do with Turkey in it's current state.
Yes, I was right.
> Promises have a bit of a footgun where by default they can swallow errors unless you explicitly add a listener for them.

"a bit of a footgun" is such a huge understatement. Now that I know about this, I'm skeptical too.
not sure if you'll see this but python has some nice CAD packages already

http://www.pythonocc.org/

that's just one, some googling will help you find others
An IMHO interesting unit of measure is the DOOM(s), JFYI:

https://twitter.com/xbs/status/626781529054834688

As in "my site homepage is less than 1 Doom" or "that crappy site is more than 3 Dooms" ...
Trump private security force ‘playing with fire’
Is it possible to trace an “anonymous” cell phone number in South Africa?
Apple fights back with appeal against EU Irish tax ruling
>but then someone had this idea to try to compete with native applications

You say as if that's a bad thing. Just wondering, for instance, do you use some standalone maps software instead of Google/Bing/Openstreet/... maps?
> It's an actual historical fact

It's actual historic fact that the gregorian calendar we use skipped 11 days, but I don't see your suggestion solving that. Again, it was "just magnitude".

> Does it matter if your calendar is 24h off or 6h off? Your system is FUBAR either way.

Your theoretical appointment-haver might not blink at an appointment at a normal time + 1 day in the future, but might blink when their appointments start in the early afternoon and continue until midnight.

The fact is that if you skip days, then it doesn't matter if you use local or UTC time.

> are you somehow trying to win a prize in missing the point?

I'm not the cretin who thinks that timekeeping is a binary good/bad state. Some applications have troubles when they're milliseconds out. Others have quite a bit of lag time that they can handle. A daily to-do list just needs to appear on the right day, for example; DST means little to it.
Don't judge it too much by the speed of the JavaScript demo. The (host) native emulator is ridiculously fast.
Thanks. What do you mean with "the taboo"? What taboo is there?
Sure, it's going to be bigger. Not a problem, as long as it works. :-)

Requiring the user to install a separate bunch of dependencies adds a huge amount of distribution friction vis-a-vis just shipping a stand-alone application bundle, especially in this day of app stores. Being able to avoid that is very important, IMO.

Probably anyone reading this isn't going to be daunted by having to install some extra stuff, but for the average user it's a real pain.
Cases like these show how needed transparency is (see Mozilla). Hopefully this will cause Google to open up some more (although doubt it).
source pdf (also mentioned in the article): http://g8fip1kplyr33r3krz5b97d1.wpengine.netdna-cdn.com/wp-c...
This discussion - https://news.ycombinator.com/item?id=13205685 - reminded me very much of this fantastic short article by Charles Simic, particularly this quote: "My late father, in the final year of his life, claimed that he finally found that long-sought serenity by no longer reading the papers and watching television. Even then, and I was thirty years younger than he, I knew what he meant. What devotees of sadomasochism do to their bodies is nothing compared to the torments that those addicted to the news and political commentary inflict on their minds almost every hour of the day." I think the same could be said of the incessant distractions caused by notifications. I turned off all my notifications apart from SMS a couple of years ago, and why anyone would leave email notifications on in particular is a mystery to me these days.
Show HN: Subreddit classifier using scikit-learn and a high-performance Go proxy
I wish View Source were more flexible. I would like:

* Raw: a view of the actual body as sent in the response. Although I'm not aware of the current situation, at least some browsers used to subtly alter what was sent, even for View Source (possibly related to validity corrections). I want a guarantee that what I'm viewing is what the server sent.

* View source as it is today (with a good common understanding of what that means), but a bit more powerful. Give me a cursor so I can copy from the keyboard, for crying out loud! Maybe even let me edit the source so I can work with static pages more easily.

* Something in-between View Source and DOM inspector. E.g. the original source, guaranteed to be untouched by javascript, but cleaned-up for easier reading (given that the source returned by many websites nowadays is practically unreadable (take a look at this page, for example). Reformatting (where possible), maybe automatic expansion of any base href, consistent ordering of attributes, highlighting of errors, etc.
I recently read a blog post where the author described his current weight and his weight as a student in stones.
> I suspect that's due to caching.

Shouldn't caching have the opposite effect? i.e. it's treated as a new resource but no new http request is needed because it's in the cache..
More states confirm suspected cyberattacks sourced to DHS
I hope they port Rust to it in order to take advantage of drivers ported in Rust which will become commonplace I foresee.
Not the OP, but a computational physicist writing a fairly decent sized codebase for a long term project, just went through the language choice and initial prototyping phase. I have extensively used Julia, Python, MATLAB, C99, C++98/11/14, Fortran and D for work and I believe in picking the right tool for the job.

I chose C++ (writing in a fairly modern style, but not eschewing aliasing-restricted pointers, etc. where beneficial) because it handily beats everything except Fortran for performance and is vastly superior to Fortran in terms of zero-cost abstraction. I'm writing code that's largely portable between CPUs and accelerators (mostly GPUs) and has a lot of interchangeable parts. With C++ I can use templates to achieve compile time polymorphism and genericity, while retaining Fortran level performance on CPUs at the cost of higher code complexity.

The Fortran story on GPUs has also been very disappointing initially, especially for those of us not interested in proprietary compilers, though I understand the situation is improving there. Ultimately, in my experience, while individual strengths of C++ can be reproduced in other languages, there's no other language that does it all. I hope that changes some day (for now, D looks like the most promising alternative to me) as writing C++ is often an exercise in frustration, but that's where we're at.
Do people tend to post negative reviews to the Google Play Store or just give feedback in the thread? I want feedback in the thread and positive reviews in the Google Play Store but I don't want to get a lot of downvotes in the Google Play Store right away.
>Data structures. Many high-level languages now have better basic data-structures than many devs could write, even if they know the theory.

I would say that ALL high level languages have basic data structures, and that those data-structures are better then 99% of the data-structures that users would/could write. Just because to be included in the language the coding level is very very high.
Harrowing Story of Installing Libreboot on Thinkpad
It would be handy if it did though since I continually forget to open inspector before the request.

I'd love a "I'm a developer, store all the things!" setting
Sun commoditized hardware and operating systems with "write once run anywhere". Then they commoditized software with free stuff, such as OpenOffice, VirtualBox, etc. Then the music stopped and, having no consulting operation to speak of, they had nowhere to sit.
guess I should have linked to this directly instead. but the article is a good TL;DR compared to that monster of a statement :)
They say in the first video that the software part (from week 7) will follow in a second Coursera course.
How to Use Django and PostgreSQL for Full Text Search
I am aware of this, but picking an extreme example and discussing it like it's a standard occurrence just muddies the issues.
Crystal has websockets built into the standard library, and as with almost everything built in crystal it uses evented io. Here's a benchmark: http://serdardogruyol.com/benchmarking-and-scaling-websocket...
FYI, the company in question is one of Github's largest (perhaps, the largest) enterprise customers.
Show HN: Tide – A cron-like job scheduler for ContainerShip
Are ideas getting harder to find? [pdf]
If your goal is to do something fun and easy, then jQuery or even vanilla JS is fine.

If, however, your goal is to make a full fledged single page application, you'll find yourself running into a lot of solved problems.

You'll definitely want to modularize your code by putting it into different files. Soon, you'll find that you're spending a lot of time figuring out what order to load your scripts in your main JavaScript file. That's what Browserify, CommonJS, etc. are for.

You'll get sick of recompiling your files and refreshing the page. Or maybe you want to write ES6 code but have it used in browsers that only support ES5. Or you might want to do something simple like concat your files when deploying. That's where the Grunt/Gulp/WebPack build tools come into play.

And so on. These tools are massively popular because they solve real pain points for developers working on large scale front end applications.
What a dystopian vibe. They were debating how long this type of work would be available, but didn't emphasize that ultimately it's a zero sum game.

Is anyone predicting when various jobs will fall to AI? I here about the 3 million truck drivers a lot. However I think some groups like radiologists are still underestimating the speed at which reading x-rays will become mostly a job of double checking computer interpretations.
https://mitmproxy.org/ or https://charlesproxy.com/
This is actually the first time I've heard of Piwik but it seems like a great alternative to Google Analytics/Mixpanel/etc.

Kudos to them for also finding a business model alongside the open source application. That set up usually lends itself to long running OSS as there is (hopefully) always money coming in.
Can someone give a good use case for these that can't be easily solved with existing tools? I'm really struggling to find a good example. I seem to have this problem for a lot of new stuff introduced into Javascript...
and you've missed the last part of that paragraph where I mention unhandledRejection events becoming a defacto standard which straddles a nice line between avoiding false positives (error listener attached latter in the program) and errors going into a black hole
If you don't vote for Erdogan, you have a serious problem. I don't like Hitler comparisons, and I don't want to say that Erdogan is comparable to Hitler, but it's a bit like saying 'If Hitler was elected democratically, what's the problem?'.
> Those packed roads with slowly moving cars have the lowest accident rate in the country.

Well, they have about the same accident rate as walking, and walking is even faster!

> In IT security, you can also reduce hacked computers by making so many security regulations that nobody can actually use the computers. It does work, but nobody really gets their job done.

On the contrary, imposing ridiculous restrictions will cause users to become very creative in bypassing them, thus negating any positive effect they might have.
What is the P2P Web?
Ask HN: PhD in Compiler/Programming Language Theory
I've been thinking of getting a PhD focusing on Compilers/Programming Language theory but am not sure if I should do it. I have a MS in Computer Science (but a bachelor's in Economics) but I didn't get a chance to take the Compiler (Advanced) classes but did get to do PL theory. If I were to get the PhD is there a need for people in that field (not in academia)? I know there are a few people that are in Microsoft that have their PhD and are working on the languages such as Don Syme and Mads Torgersen. I just don't know if there are many jobs that would require that kind of expertise.
Considering it's a RISC emulator running on top of an x86 emulator running in JS, the slowness is perfectly understandable

But when running the 128bit demo I get a funny value for sqrt(2) in fp64 mode: 1.728102266788482
Log in – Tumblr
Question to other Piwik users: how do you manage the ever-growing MySQL database to keep response times acceptable? Where do you host it?

My Piwik instance is nearly unusable because any non-trivial request takes ages.
I don't agree. Having an event loop built in to the core of the language is a major advantage. Look at Python and async io: Twisted has been around for over 15 years now. asyncore even longer. Tornado exists because apparently Twisted and asyncore weren't good enough. I'm not even sure I know how many incompatible "coroutine" libraries are built on top of generators.

node.js may have a language and standard library that isn't nearly as nice as Python, but it has a built-in event loop. This sidesteps an entire universe of problems. Unfortunately node still has another, similar problem: Does the library use callbacks? Promises? Generator-based coroutines? async/await? If it doesn't use the same style as what your codebase currently uses, you're going to spend a lot of time converting between continuation styles.

Languages like Go and Erlang simply don't have any problems like this.

Now, one might argue that leaving it up to libraries allows greater exploration of the problem space and that blessing a concurrency method stifles innovation, and that might be right. But having a consistent concurrency story built right in to the language is a large advantage.
Digital currency sales take off, but with no regulation questions abound