skysight-inc/HackerNews huggingface dataset:
> I think the ad-hoc agile approach can work very well with a good team. But Scrum fans always seem to warn against cherry-picking just the bits of Scrum you like and not using the whole process.

I'm a big Scrum fan (when it works), and my biggest takeaway is that it's exactly meant for cherry-picking and modifying. The best team I've ever been on was one where we were all using Scrum for the first time. We were constantly trying to mold it to fit us best, and it ended up looking nothing like the original model of Scrum. It was also the only time I've ever been on a Scrum team that did proper retrospectives, which I think is the biggest point!

Pretty much every other team has either ignored it ("Why do we need to discuss Scrum, it's in the book and laid out for us.") or merged it with the Review, so that managers, stakeholders, and people outside the team are involved in that. And no one wants to suggest changes or raise complaints with outsiders watching.

Too many people seem to read a book about Scrum, memorize all the concepts and rules and abide by it, without reading any of the justification behind it. If you swear we need story points, and they need to follow a fibonacci scale, but you can't tell me why story points are better than estimating hours, you're doing it wrong (and then points always get fucking conflated with hours anyways). If you understand that story points are just one way of estimating a task's effort relative to other tasks, and that relative estimates tend to be easier to make, and scale better with all the other estimates when things change, then you're allowed to make the call of whether story points are best for the team, or a different estimating system, or none at all. Even better than someone understanding that, everyone on the team should understand that and be able to weigh in.
Your texts and instructions are byzantine. For example, what is the following supposed to say:

"By default, your Firebase Analytics data will enhance other Firebase features and Google products. You can control how your Firebase Analytics data is shared in your Firebase settings at any time.
Link your AdMob app(s) to Firebase and we'll share your data from the free Firebase Analytics tool with AdMob to improve app monetization and user engagement. You understand that this linkage may also allow AdMob Data to be shared with Firebase for enhanced reporting purposes."

I guess it means something like "Link you Admob account to Firebase" but it sounds kind of scary.
Bravo on Sentry - it's a terrific platform. I'm especially fond of the breadcrumbs, they're a great feature.
Not quite -- they must WITHHOLD the tax. You have the option for them to sell the shares. If you'd rather, you can send them a check for the tax bill and hold all the shares.
I'm not sure if the author submitted this, but she should consider changing the favicon to something other than the default SquareSpace one. It can be done in the site settings.
It's not pauseless.

> Shenandoah is an ultra-low pause time garbage collector that reduces GC pause times by performing more garbage collection work concurrently with the running Java program

Funny enough, the term "pauseless" was in fact invented precisely because of people like you, who abused the original terms ("concurrent" or "asynchronous" [0]) used for garbage collectors that never "stop the world", and used it for algorithms that merely run in parallel with the mutator threads, pausing them every so often. The next term used was "fully-concurrent" and now "pauseless". But if you keep abusing these terms to mean not fully pauseless/concurrent GCs, then it will become just as useless as all the terms before it.

[0] http://gallium.inria.fr/~xleroy/publi/concurrent-gc.pdf
https://news.ycombinator.com/item?id=13391886
Thanks for the reply! An interesting person to talk to is Dr. Emery Brown at Mass Gen. [0] He is triply elected to the NAS in engineering, medicine, and biology. I recently saw a talk of his about his new auto-anesthesia machine. The data presented was very compelling. It seems his machine, for a 'normal' surgery, preforms much better than an anesthesiologist over many critical factors. The most interesting part was the Q&A afterwards in which the assembled neuroscientists and anesthesiologists tried their best to not understand a thing he presented and tear him down; their jobs were on the line after all. He is a good example of what the MD/PHD should be producing, I think.

To your comment, though. In the PHD section, you have to preform as a normal PHD student, ie, you have to publish papers for your PI. The learning and the classes, already at 2 years of very intense study, do not have the time to continue into comp-sci or physics. Nor do the students have the training in the math. To do the comp-sci and physics classes with a modicum of understanding, you must come in with at least: Multi-variable calculus, matrix algebra and differential equations, a total of 6 extra semesters of classes. Most MD/PHD people I have interacted with never took calculus to begin with. The hill to climb is very very long and steep, and unless there is a much larger prize than a possible faculty position at Wherever State Univ. where you still have to publish or perish, you are going to get few people going after it and not just opting into private practice.

Also, I have worked with a number of MDs, and yes, there is a Grand Canyon of misunderstanding between bio-peepz and the docs. Neither party really has the time to cross it, and so we just end up trying to use each other. Bio-peepz try to use the doc's name as leverage for increased grant funding from the NIH, and MDs are trying to get the bio people to patent something with their names on it to make more money. In the end, it's all about the money, or lack thereof.

[0]https://sleep.med.harvard.edu/people/faculty/150/Emery+N+Bro...
Insight Data Science Fellows Program Expands to Boston
Given how demanding ESR is with regards to 10+ years stability, Nim hasn't even reached 1.0 yet. I love Nim and your contribution to the Nim ecosystem, but yeah, convincing ESR with 0.16.0 isn't happening.
on the front page: https://news.ycombinator.com/item?id=13428595
Figure out value to company in getting it done well.

If it's low value, just slap something together (or don't do it).

If it's potentially high value, figure out how to validate the value.

Eventually you get to "do I hire someone or train someone or what" but if it's a big enough project you want to do some upfront research.
I think this point is very under appreciated, thanks for pointing it out.

Along with the 'feature' that could kill things faster is general bloat when people keep building without knowing what the customer wants. You have to try something, but product testing should be done in such a modular way that most things can be removed if it turns out to be the wrong direction. Of course, you need a base data structure, but features should conform to that rather than constantly extend.

One example I'm seeing with a start-up I currently know is that they are building SDKs for multiple languages. Most of the code is auto-generated, but just the time in examples, documentation and packaging is killing them while they don't have customers for most of the languages they're publishing. This isn't just 'code' debt, there is overhead in documentation and management of code.
Add Philippines and Czech Republic to your list of countries for fantastic de-regulated medical care.
Block III satellites will not even have the capability to disable the civilian signal

So we have been told, but it's just a firmware update (or equivalent).
The problem with anecdotal evidence is there's no particular reason to think that others metabolism is going to react the same as yours does, or that your weight loss will continue indefinitely. For instance, a diabetic on insulin would likely gain weight following the diet you follow while you lose weight, because the insulin would signal to the body to store the calories as fat.
The slowness of page load mentioned by folks here is the reason why I think caching at the HTTP level (ex: Varnish) is much more efficient than caching at the service level (ex: Memcached), which is much further down the stack and is bound to be latency-sensitive. Because it's much less entangled in your code and deep into your infrastructure (less technical debt). A hybrid approach can work too but only if it's light and unobtrusive.

By the way, and I'm going out on a limb with my shameful plug, I built a Varnish-as-a-Service kind of infrastructure called Cachoid ( https://www.cachoid.com ). But to my own defense, I'm putting my energy, time, and money where my mouth is.
Thanks!

The full query joining both result sets gets more interesting:

#standardSQL
SELECT *, real_rank-rank diff_rank FROM (
SELECT a.id, a.name, a.num_stars, b.num_stars removing_dups, b.num_stars-a.num_stars diff,
ROW_NUMBER() OVER(ORDER BY a.num_stars DESC) rank, ROW_NUMBER() OVER(ORDER BY b.num_stars DESC) real_rank
FROM (
SELECT repo.id, STRING_AGG(DISTINCT repo.name) name, COUNT(*) as num_stars
FROM `githubarchive.month.2016*`
WHERE type = "WatchEvent"
GROUP BY repo.id
ORDER BY num_stars DESC
LIMIT 1000
) a
JOIN (
SELECT repo_id, ANY_VALUE(name) name, COUNT(*) as num_stars
FROM (
SELECT repo.id repo_id, ANY_VALUE(repo.name) name, actor.id
FROM `githubarchive.month.2016*`
WHERE type = "WatchEvent"
GROUP BY repo.id, actor.id
)
GROUP BY repo_id
ORDER BY num_stars DESC
LIMIT 1000
) b
ON a.id=b.repo_id
ORDER BY num_stars DESC
)
ORDER BY real_rank-rank

Since some projects change their name, but not their id, I used STRING_AGG(DISTINCT repo.name) to get all of their different names throughout the year :).
This reminds me of when PayPal ran all those billboard ads for Braintree in the Bay Area. I can just imagine the meeting where the team decided how they were going to look:

Product: "We need to engage more with our developer customers."
Marketing: "What do developers have strong positive emotions about?"
Product: "Our customer interviews suggest they like writing code."
Design: "We'll do the billboards entirely in monospace."
Marketing: "Brilliant."

It probably sounded like a good idea at the time, but monospace looks ugly and doesn't read very well to humans, especially from a distance. It's just a necessary evil to make sure indentation works properly. Actual developers instantly realize how silly it is to make it the prevailing visual feature on a billboard.

Especially when the copy doesn't even line up vertically. https://pbs.twimg.com/media/B0qaKcUCAAA-enL.jpg
You’ll Never Be the Same Again - US Digital Service
I suppose #3 might fail because of the "frog in boiling water".

If you throw a frog in boiling water it will freak out. But if you throw a frog in cold water and slowly bring it to a boil, it will never notice.

I actually like to submit completed modules when they are ready. I find constant pushing makes things a lot more complicated.

edit: fix terrible spelling
Anything disallowed by executive order can be allowed again by executive order.
What about using some kind of DNA hash?
For mixed teams, where tech and non-tech types interact - this is brilliant.

Each channel has a purpose, but threads allow more efficient cross-talk. For example I work with another team in a different channel because our projects use the same language. Sometimes our work collides as we work with the same libraries. We lose track of details between repos and channels frequently because we operate parallel but separate.

Threads will allow us to cross-talk about issues that affect both projects without having to create a new channel for each issue. This also helps one off discussions where two or three people use a public channel when the topic should be private. Ultimately, features like these matter mostly in use and I think this implementation is great for my teams.
Navigate file history faster with improved blame view
So the author doesn't care about memory usage or throughput, except for a few "soft realtime" sections? Why would either Rust or Go be better for this task than something like Java or Python?
Who am I to make such a grand judgement?

I am not even a frontend developer!

I think it's possible, but at the moment the vue.js usage share is still FAR to small. One of my countries job search platform offers 89 jQuery jobs, 46 angular (1+2), 28 angular2, 28 for react. 1 (one) for vue. (To put this in perspective, 643 Java jobs).
A goroutine is a "task" though. And typically you spin up a goroutine for your select, and hang your current goroutine on its completion.

Seems pretty similar to me.
I've been keeping an eye this project ever since I saw development begin for the JavaScript version.

It looks great!
They are two entirely different use cases. Rust is for replacing C/C++ with a safer alternative. Go is basically for developers that never fell in love with Java or C# but need the same kind of language.
Numbers on the post are weird.

'facebookincubator/create-react-app' got 18187 stars in 2016 (17857 when removing duplicates).

https://docs.google.com/spreadsheets/d/1aDlXrk3U1z5s0-1Is8KH...
Why am I not surprised ? Yet another H1B discrimination story to rant about. (though the article do not say anything about the 'Indian' people's visa status, isn't it obvious ?)
the maturity and future prospects of various libraries.

The current maturity and future stability. Tokio's own page says, as of a week ago says:

"Today we are publishing the preliminary version of the Tokio stack, 0.1!"
In a word, no.

https://blog.wealthfront.com/hedging-stock/
Rust is hard to write but I'll grant that once written it is relatively easy to understand. That's kinda the opposite of C++ where it's easy to write and hard to understand (although it's easy to think you understand).

I appreciate the safety+performance value proposition in Rust. More cathedral, less bazaar.
Eh, would you want to be extradited and delivered into the great unknown of a Trump administration? If Obama wasn't already packing his bags and trying to figure out how he's going to Tetris 8 years of accumulated crap into a U-Haul I think he might have at least considered it.
There is a roadmap: http://www.fabfile.org/roadmap.html

One of the goals in the roadmap is to move part of Fabric's functionality into another library (Invoke), which does have recent activity and supports Python 3.
Having experienced some rather concerning keychain issues with Digits a few months back and seeing the writing on the wall with Twitter and their stockholders calling for blood I dropped all of my Fabric dependencies in November.

For crash reporting the best alternative I found (superior to Crashlytics IMO) is Sentry[0]. It's been awesome so far and allows you to easily federate crash reporting over multiple platforms. I have no association with the company.

[0]: https://sentry.io/
Iceland knows how to stop teen substance abuse
It was introduced in Python 2.0. You're not alone ... I still think of 2.0 as kinda new myself. :)

Look in this doc for "Optional Collection of Cyclical Garbage":
https://www.python.org/download/releases/2.0/
Having a popular developer tool that is already integrated with a lot of apps in both iOS and Android is valuable strategic asset for Google. Analytics and ads go hand in hand and as tracking cross-app behavior is hard, and having a library that is installed in many apps makes it easier.

I'm pretty sure that this was the strategic thinking when started to invest to app developer tools (Crashlytics, Fabric, Digits, MoPub). It's interesting to speculate why they are selling Fabric, is their business model focus moving away from mobile ads?
So... that big list is the lessons learnt at the startup IR the big company? Its really not clear to me.

Same problem with all the comments that begin with "at my last company". Which kind was it?
Channels are not network sockets; select cannot be used to wait on a set of network sockets.

(Early versions of Go had a "network channel" concept, but that was removed from the language: https://softwareengineering.stackexchange.com/questions/1540...)
Obvious counter examples are fine, in moderation.
You don't think that social inequalities, access to education, and even nutrition has something to do with it?
How to create an application in Kotlin and secure it using JSON Web Tokens
Torch was never written as a static graph computation framework. Torch was/is more a tensor manipulation library where you are executing the individual operations step by step and the graph can be tracked and constructed incrementally from those operations. For this reason, much of PyTorch is about building a layer on top of the underlying components (which are focused on efficiently manipulating tensors and/or implementing low level NN components) rather than re-architecting Torch itself.

This won't be the same for TensorFlow as it was written with the concept of a static computation graph at its core. I'm certainly not saying it's impossible to re-architect - and many smart people in the community and at Google are devoting thinking and code to it - but simply that the process will be far more painful as it was not written with this as an intended purpose.

To note - there are many advantages to static computation graphs. Of particular interest to Google is that they distribute their computations very effectively over large amounts of hardware. Being able to do this with a dynamic computation graph would be far more problematic.
Your point is difficult to refute.

My thought is as follows: McDonalds is designed around the core idea that people are fungible and that mediocrity is optimal result (by "mediocrity" I mean no better, but no worse than the average hamburger). I do not believe that software development resources are fungible due to the high degree of creativity and independent decision making required to strike the best balance of quality and time-to-market, and often mediocre results can hurt companies during critical stages of growth.

With that in mind, do we then say "If resources are not fungible and results cannot be mediocre then process cannot exist"? My answer is "no." A lack of resource fungibility does demand an individualized approach to training new resources on the process as it exists at a point in time, but provided resources do not change, the process itself should not change much outside of evidence-based optimization, i.e. "this ain't workin' so we better change somethin'"

To me, process is about expectation management. Every other aspect of a process is in support of maintaining or exceeding expectations. I believe that if a process is so catered to individual whims that no expectations can be reliably set, then there isn't a process. Having said that, I do believe you can achieve a relatively consistent level of meeting and/or exceeding expectations with a process customized to the individual needs of the team members.

Still, your point is very valid. Mine were only additional thoughts inspired by your astute observation.
Why in the world would use Spark for such a tiny data set?
"Oracle was far more likely to hire Asian applicants - particularly Indian people - for product development and technical roles than black, white or Hispanic job seekers."

Can the DOL back up this claim with salary data to see if Oracle is abusing the H1-B visa system by purposefully keeping wages low?

Most of the time it is just easier to hire Asian/Indian employees because they are readily available (larger proportion of population entering tech filed via education or change of career).

It would be interesting to see how far DOL can stretch this.

Edit 1: Improvement
Installs all of the packages that Kur relies on

But I'd like to know what you're about to install on my machine, where can I find that list?

Anyway we can help get it installed for you?

I got "Kur requires Python 3.4 or later" error even though I have it on my Ubuntu vm:

~# python3 --version
Python 3.4.3

Error says: "Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_root/kur"

Why is it using python instead of python3?

A couple of weeks ago, I went through some struggles installing TF on Ubuntu 16.04 and getting it to see the CuDNN (mostly due to various paths not being setup correctly), so forgive me if doing all that with a single command sounds too good to be true, especially if it can't even see that I got the correct python already.
At the last place I was at. We had a micro serviced monolith. I can't even begin to describe that thing in common engineering terms. (note: it's better than it seems).
redundancy. i feel like it would be unlikely to have a war that spanned multiple continents. (i know about the world wars , but those didnt affect south america or most of africa and asia.)

of course, you'd have to be ok with photocopies instead of originals. for the purpose of preserving information, i dont see a problem with photocopies.
Not really. Where they recovered the 10% memory was by keeping shared state shared, and reducing the amount of memory that was copied into each process.

With something like Django, there's quite a big startup tax you have to pay, so at the scale of Instagram they would need quite a lot more servers to handle the same load if every request was served lambda style.
Yes they are listening in, this isn't new the US and Russia have been launching SIGINT satellites since the late 60's....
Thanks so much. It's always great to hear when people enjoy what we're doing :)
I asked the same question last year and to be honest, building a SPA is tough with just jQuery. It's more of my needs changing, I don't think SPA can be ignored in 2017, the progressive web app and AMP will put a huge dent in the native apps space.

I just like to think that I'm developing a mobile app with front-end javascript framework....it's just the tooling and prerequisite knowledge is quite chaotic. Finding the right articles (up to date) is half the battle, as it's scattered in endless git repo pages.
It's possible that the FIDO Alliance, with enough support from large enterprises, will be able to compel browsers into implementing something native. Otherwise, it feels like anything in this space will need to bootstrap itself by, first and foremost, working on the Web without special consideration by browsers.
I'm not quite willing to dismiss Rust merely for being hard to learn, but after poking around in both Go and Rust for a few weeks, I feel like I could build a project in Go (slowly, and with a lot of googling), but I don't feel like I could build anything in Rust without a lot more learning.

Rust has the same problem as C++ (to a lesser degree; maybe it'd be more fair to compare it to Java), in that if you're a casual coder who dips into a bunch of different projects in a bunch of different languages without ever really specializing, it can be overwhelming. Go is much more readily accessible; partly because it is less ambitious, and partly due to philosophical differences. I can read most Go code, today, having only worked through "A Tour of Go" on the website; I can't even begin to read Rust code after similar time/effort invested.

So, yeah, Rust really is hard. It may be necessary complexity to solve the problems they wish to solve. But, it means I'm unlikely to ever have the time to invest to make it a part of my toolbox, unless it becomes my primary job; whereas I'm already almost there with Go. I'll probably build something real in Go within the next month or two. It can be something I do for fun, in my spare time, and I can expect to get useful results.

I want to like Rust. I'm just finding it hard to get to know Rust.
To my understanding Reddit serves a highly customized content to each logged in user. Can you help me understand how HTTP level caching will solve this problem more efficiently than their service level caching does right now?
Calling a GC that does much of its work while not-blocking-your-code seems like an appropriate use of the word "concurrent". Concurrent almost never implies "will never block", as far as I've seen people use it. If anything, that would be a "lock-free concurrent GC" or something.
It's a natural consequence of "My phone got run-over/lost/stolen"