skysight-inc/HackerNews huggingface dataset:
State of the OpenVMS port to x86-64 [pdf]
Coursera has ousted several senior execs along with many rank-and-file staffers
> I consider it evidence of carelessness - I don't care if you can't spell, but I do care if you don't bother to run it past someone else who can for editing.

Getting someone to look over your stuff and looking for spelling errors sounds like a simple and easy fix doesn’t it?
But in my experience that doesn't work as well as one would think, prof reading is a lot harder than it looks. After all it's isn't enough to catch some of the errors, you need to catch them all.

As someone that has close family members with dyslexia, and have struggled with spelling all my life. I have to say that seeing those challenges characterised as carelessness is infuriating. For a lot of people getting spelling right is easy, and that is great. But for some of us it is not, while prof reading and spell checkers might help, they are not a magical fix all. Some errors often sneak through, no matter what you do.
You meant "except".
Agile learning.
Using the Go execution tracer to speed up fractal rendering
I don't know at what MRR you set the threshold, but you would want to have an understanding of actual costs, growth cost estimates, customer retention, etc. before you start promising commissions to affiliates.
For 45 minutes a day, I'd recommend the BBC In Our Time podcast, hosted by Melvyn Bragg. Each week, academics talk about a particular topic from the world of science, history, philosophy etc. It's unashamedly high-brow. There's a huge back catalogue as well.
The article mentions 100k users.
Congrats on the success Alan!
Friendly suggestion: make the pricing easier to find.

Right now, the only link is in small print at the very bottom of the home page.
I suspect some people use the "like" list as a "here are the 5 things I know how to do best" list.
Definitely. Like any other decision, there's a cost/benefit assessment to be made. Why am I trying to hire super-ninja-ex-google-guy to code up my DB interface for the marketing folk? Doesn't make any sense, the value just isn't there, and super-ninja-ex-google-guy isn't going to take that job anyway.

Hell, I'm in this boat currently. I'm looking for a junior dev to help with certain menial tasks here and there. I'll pick the best _that I can quickly find_, but really, I just need someone halfway competent and I need them now.
I don't consider taking steps to make sure the code actually as you expect it to as "artificial" feels pretty essential, to me.
This is the biggest challenge. What I find works is separating your orchestrations from your data processing.

For example, instead of creating one class that does the network call, and processes the JSON response, break these out.

One class does the network call (keep it extremely thin). Dependency inject stuff in if you want. But view this purely as an orchestration.

if (connectionValid)
json = makeNetworkCall
anotherObject.processJson(json) <- test separately
end

Then, in the other plain old data process class, do you heavy off-by-one edge case testing there.

If the first case, the orchestration, I can write tests like "One make the network call if the connection is valid". But that's all that test would do.

I am at the point now where I actually don't even test that. I assume that is going to work, because it is so simple. That and I generally hate mocking. Way too much coupling. Way too hard to refactor.

Where I do test heavy is on the plain old object side, that has no outside ports or connectors. These are just plain old objects.

I agree with some other comments I have ready here. Mocking is a bitch and I generally don't like it. But it's there if I needed it, so I do use it occasionally.

But it has so many downsides I try not to. Instead I separate the orchestrations from the processing. Unit test the processing (in an integration test sort of way), and try to stick to testing the public APIs of my class, so I am free to change the internals without things breaking.

My 2c. Hope that helps.
Apache Kafka: Change the way you think about big data and enterprise messaging
The Victorian Case of the Turnip-Wielding Trick-Or-Treater
To be perfectly honest, I can't see proofreading your resume to be that big of a burden. And if you can't bother to do that, what else can't you bother to do while on the job?
That jumped out at me too.
Major outage for Monzo bank on Kubernetes/Linkerd
I scrolled all the way down for a sample that was not there. Can't believe someone wrote an article about a video camera and did not include a single sample.
Now that JavaScript has seen some radical changes, we're about to see CSS do the same. CSS-in-JS is a start, but I think the ultimate outcome to modernize styles for component-based application architecture will change dramatically in the near future.
And if you get to define what someone else's goal is you can stick any criticism.
Additionally: I find it hard to judge a place's definition of "casual" if they aren't fairly explicit. I've worked at places where "casual" meant "hooray, you don't have to wear a tie!" and other places where casual meant "it's a good day if you can't see your co-workers underwear".
Yeah there's definitely some weird engineering decisions there. I think maybe we just don't have all the information. But I guess this is another example of why that stuff just doesn't matter when you're growing your business.
Although on the other hand, writing your test first with no code and having it fail isn't really telling you much about the test. It just shows that the test handles the least interesting case (the case where there exists no code). You still don't know that your test is correct when you get it passing. You just know that it is correct when no code exists.

For example,

TestSort(ISorter sorter)
{
var input = { 1, 2, 3, 4 };
var output = sorter( input );
Assert.IsSorted( output );
}

This test will fail if you run it before the ISorter is implemented. But then it will pass if you implement an empty ISorter because the test still has problems (ie it starts with sorted input).

Cue the ever familiar: You still have to use your brain when using TDD.

If TDD needs brain usage to function, maybe the real thing that is useful is the brain usage and TDD is vestigial.
I think that really started around 2005 when they made a concerted effort to ramp up college hiring (and by extension, started advertising among the general public).

I knew someone who worked there in 2002. (Well, now having worked there, I know lots of people who worked there in 2002, but in 2002 I knew someone who worked there.) At the time, they were a small startup with a reputation for hiring only the best, the way you might think of Medallion or D.E Shaw now. There wasn't a perception that you could just walk in off the street and get a job like in The Internship movie.
I would argue that the fact that Arrow has been integrated into so many projects over the last year is proof that a separate project made sense. Dremio, PySpark, Pandas, MapD, NVIDIA GPU Data Frame, Graphistry, Turbodbc, ...
It certainly seems to validate the strategy of "grand challenges" to focus research. One could argue that the X prize helped spawn today's commercial space companies. So does this mean a good way for benevolent billionaires to improve the world would be to sponsor things like this? Certainly Gate's sponsoring the toilets prize was influential in bringing out better sanitation ideas.

I wonder if anyone would sponsor a prize for an 'off grid' sustainable living space. People create slums and homeless encampments out of a variety of cast off materials, is there a way to create housing for people which would be safer and enhance their quality of life without also creating a public burden? Perhaps that is a pipe dream but it is something I wonder about.
Or the Google cache http://webcache.googleusercontent.com/search?q=cache:6RzAnju...
> That said, I feel like I've seen the "Google releases [x]" headline on Hacker News more of late, and I am not sure if that's because submitters are excited and editorializing, or if there's genuine confusion. I'd love to hear any thoughts people have on that.

Yes, I've been seeing this a lot lately too, and am frustrated by it because it seems to imply a much bigger commitment on Google's part than "this is an employee's personal side project". Hence why I posted the note.

Thank you for the clarification on the exact policy; since I'd been seeing a lot of these side projects posted under the Google account on Github, I figured it was something like that, but it's nice to see it spelled out.
Sorta off-topic, but I have had nothing but positive experiences with Mega. They have an enormous 50GB free tier, but I've been thinking of upgrading anyway and just using it as a full backup for my media hard drive.
Can you think of any way to use this tool correctly?
Ah, I buy from well-reviewed online vendors only.
> code which is hard to test is almost always going to be hard to maintain

This is a pointless equivalence to make. You're trying to suggest that code which is hard to test could be written differently, and better. This is not always true, and therefore useless to say.

STUXNET was very difficult to test. Reports are that it required an entire Israeli nuclear facility as a test environment. Would you suggest that STUXNET was written to a substandard level of professionalism? I doubt it.
You may want to take a calcium citrate supplement too, as long term omeprazole use has been linked to calcium depletion.
Also, vetting process needs to be immune from incumbents helping candidates pass..
I 100% understand and I was doing the same.

Your approach is ctually the problem. Hiring should be very very important - maybe even the top priority. The two most important things in the company should be: hiring and sales.

In that respect, you need to invest into hiring in same was as you invest into sales. For example, sales have much much better heuristics algorithms while hiring is all about weird and random rules.
Sure. And if they said "no" to rights holders, rights holders would pull the licenses.

Whether the move increases Netflix or not - doesn't matter really. As long as they license someone else's content, they have to play by someone else's rules. If this play also increases Netflix's margins, so be it - all I care about is having access to movies.
Feel kind of silly for missing that use case. Could be especially helpful on consulting based teams, for sure.

I'm rather consoled by these responses that the expectations for the tool are lower than what I expected. It does one simple thing very well it seems. Some need that data, some don't, but no one here is purporting it to equate with code quality or productivity.
Author has a nice tutorial on a subset of it with practical examples you might find interesting:

http://learntla.com/
Audience size usually correlates pretty well with time + money invested; if there are any shortcuts there's not much incentive to share them here.

If you're looking for a free source of relatively fresh ideas, try https://www.julian.com/learn/growth

Do you do content marketing (blogging) to an email list?
Typically if you have an organization that only talks to people with current jobs, that rule is for people sending in cold resumes. On the other hand, if they know who you are, you probably won't have the same filters applied.

Let's say you go ahead and move and take time off to watch your child. Two years down the road you want to start looking for work. What you've done with those two years is going to really matter. If you've invested time in activities like writing about your field, speaking about your field at conferences/meetups, creating an online course about your field, contributing to related open source projects, teaching a class at a university, etc. you are going to be in a very different place than someone who just checked out for 24 months.

Being currently employed sends certain signals to a prospective employer, but there are other things that can send much stronger signals. The unknown is still going to be scary and I don't know your field, but your Ph.D. can probably open a lot of doors to make yourself visible to market.
There's so much of it out there that you don't really have to program in it as much as copy-paste in it. Your expectations probably would have been met or exceeded if people still had to actually write things in it.
Archive link if you get a 'Over Quota': https://web.archive.org/web/20171027212510/http://www.skulpt...
Is  Smiling? Cross-Cultural Study on Recognition of Emoticon’s Emotion
> Essentially, we've discovered that the biggest impediment to having more businesses taking advantage of messaging as a channel is the lack of software that can provide rich access to the channels coupled with a powerful CRM and deep integration capabilities.

I'm an Intercom customer and presumably also a potential Smooch customer, and I have no idea what this means.
That's the number of users who are paying. He mentions that he has over 100K total users.

That raises an issue with this sort of model that I've never really understood: if only ~1% of users are paying, it seems like very small changes in conversion rate could make or break the business. Suppose the conversion rate goes down by just 0.3%. That would be a 30% reduction in revenue while you still have to run the infrastructure to support all the free users who didn't convert. Would the business still be financially viable? What's the best way to manage that risk?
A Complete Chef Infrastructure on Your Laptop
Basicincomemachine.com
Jsonify: Quickly produce JSON output based on command line arguments
Why Medieval Cats Approved of the Plague
Patrick McKenzie (@patio11) had a great post last week about getting your first 10 users, much of that post dealt with the importance of direct marketing / sales calls: https://news.ycombinator.com/item?id=15534034
Also, if there is going to be monetization via advertising, why does it have to be a blind auction controlled by an algorithm driven by CPM with a huge cut going to Google?

I wonder what would happen if the major publications collectively decided to switch to impression-based rather than click-based metrics.
That's right, only Edge is Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136
People seem to have not read the article properly and are conflating unit testing, with all testing. The article doesn't say to avoid all unit testing, but to restrict the test suite to that which can be validated by business logic or some formalized oracle - this would imply unit testing for critical systems like hardware drivers, banking/avionics, crypto, etc, where there are known and eternally consistent results that relate to the feature spec. But it also suggests that, in most cases, maintaining systems and integration testing are more economical usage of time, and further implies that they are more 'correct' in light of the fact that they directly relate to the feature spec.

I believe I came across this document (or something close to it) a few years ago, and it changed my life. I was able to get great velocity and low bug-per-feature count (1 or 2), using systems/integration testing combined with exploratory testing by a QA team. I was even able to find subtle bugs in the unit-tested back-end via integration tests from a mobile app. At the end of the day, if your testing isn't serving the business logic, it's wasted effort.

The most bad-ass thing I remembered was the part where if you couldn't elicit a code path using a systems test, it's a good candidate for deletion.
Ha, this is the same story as the pre-Depression-era farmers who mortgaged their farms. Our food providers are burying themselves in debt to create our food, and banks are laughing all the way to themselves.
The problem is that clients won't be supporting 103 for a long time, I would guess it'll be 3-5 years before you can realistically push the 103 to a browser and I don't thank any currently support it. It's also not a particularly safe thing to turn on. e.g. Chrome prior to 57 bombed on http/2 connections that sent a 103 which is in contrast to the RFP's theory that http/2 clients should be 'safer' in handling it than http/1 clients. We really don't know how many clients and proxies will have trouble with 103 and have to wait for the vast majority to at least ignore it / pass it along before it could be turned on externally.

> This helps eliminate some of the weaknesses with HTTP push, mainly being that only content the server is authoritative for can be pushed, and that the server doesn't know whether the resource to be pushed already exists in a client cache.

When a server sends a push to the client it first sends `PUSH_PROMISE` command to the client and the client may cancel the push, e.g. if it already has the asset in cache based on url. Assuming things move forward the server sends a HEADERS frame which can also trigger to the client to cancel the push, e.g. in response to an etag, though at this point some DATA frames may be in flight.

You are correct that you can't push assets for another domain, but I don't see this as much of a problem as there are many other benefits to having all requests go a CDN/reverse proxy that can handle the static asset serving, like regional SSL termination. There are of course third party scripts that may be needed, but it's good practice make these non-blocking for page rendering anyway so if they are a bit behind that is probably ok, if not preferable.
> "generate and send PDF invoices pre-filled with your coding activity." is in the future roadmap.

I love the guy's success but man do I hate this idea. I'm billing for more than time in vim. If you're my client and I'm answering an email from you, I'm billing you for that. If we're on the phone, the clock is running. If we're on a Hangout, you're paying.

Could you imagine if your employer only paid you for time spent in an editor?
Cracking Golang's PRNG for Fun and (Virtual) Profit
https://github.com/frabcus/house/issues comes to mind, where someone uses GitHub issues to track defects & enhancements to their house.
Dinosaur-killing asteroid cooled Earth's climate more than previously thought
Apparently it's not an isolated case: https://mobile.twitter.com/ismh/status/925367292346683392

The Google Docs team claims they're on it: https://mobile.twitter.com/googledocs/status/925377864677158...

Even so, Zeynep Tufekci sees a larger unaddressed issue: Is Docs a publishing platform? https://mobile.twitter.com/zeynep/status/925368098303160320
This is also somewhat popular in Python, Haskell and Rust. Nice, but doesn't seem applicable to all the situations. Works quite well for collections of simple independent functions e.g. I did that for a regex library https://github.com/myfreeweb/pcre-heavy/blob/9873fb019873340... — but didn't use much for other projects…
You also tend to reconstruct failed teams. I've worked at places where people hired all their old friends who (collectively) failed to deliver on the last big promise, or executed poorly. You end up spending your referral bonus money on rebuilding cliques and their biases toward failure.
...and produce single anecdote. Boy I'm misunderstood here big time.
The article mentions object orientation several times as a hindrance to unit testing. Perhaps that should be its biggest take-away?

Having written an accounting system, including web/user interface and asynchronous/deferred coordination (such is HTTP/browser programming), for the last three years, I can say that functional programming is increasingly helping my team stay sane.

We do TDD always; sometimes in the form of unit tests; sometimes in the form of integration tests and we tend to write as many of our tests as random/generative tests to avoid having to write large code-bases. I've spent the last two days making a piece of our domain monoidal, having defined the three laws as property/generative tests; the rest of the time is an interactive play with the generator, to see if it can come up with counter-examples, to the code I just wrote.

I normally go about coding by writing a very high-level integration test (at the top-most layer that I still have code in the service/frontend); then I write a huge chunk of the code until I think it's correct and looks pristine and easy to maintain. Now I run the test. If it fails and the test is correct — it tests the right thing and is easy to read — then I start at the top (highest level) of the stack, and write down the assumptions I have thought about while designing the code — as unit tests. Until one passes (at some level n); at the higher level n+1, an assumption/unit test is now broken and I can divide-and-conquer until I find the line of code that doesn't work.

This, together with purification; the methodological extraction of pure functions (things that only have one output ever, for a particular input), makes it possible to avoid testing any side-effects/async things (they simply flow non-async data between pure functions).

This, together with first-level-values for control flow, aka. not using exceptions, and generative/random testing, makes it so that ALL of the input has valid output, makes it so that all functions are total functions. And this in turn makes the code uncrashable and bugfree (for the domains of bugs the above methodology removes).

The domains of bugs that the above doesn't eradicate, are primarily cross-browser bugs on the GUI-side, or UX bugs, where a feature is hard to use/understand. On the server-side we sometimes crash when our logging storage in ElasticSearch goes down and never comes up, the intermediate buffer (Logstash) fills up, and then the app buffer fills up and then the app livelocks, waiting for the logging to drain. (=> operations). The second most frequent reason we have any exceptions/errors/bugs is DNS not working.

The first year of writing the software, we still invoked libraries that threw exceptions, but now we've rewritten them all to do control flow with first-class values, so that is not an issue any longer.

I just wanted to share how we do stuff at qvitoo :), in case it helps anybody.
I've always wanted there to be an app that find me coffee shops with comfortable couches and chairs. Might be a good starting point!
If you are so flooded by resumes, you really should be more specific in your job ad. By that, I mean you should describe the position you look to fill I details, including uncomfortable parts.

People will self select way more. As is now, many job ads work as something attempting to sell position - but you are flooded by people you don't want (else you would just pick 5 random to interview).
What about non digestion-system intake ? just curious

- sublingual
- intramuscular
- anal
This is what happens when you tolerate walled gardens.
Google Docs bug is locking people out of their drafts
> While I like Python and it is good for data science I don't understand why people use it for websites.

This is the reason, actually. Python is NOT ONLY GOOD FOR WEBSITES.

In fact, the only thing that have stopped python for total global domination is to be poor for mobile apps.

Do not underestimate the power of make a "full stack development" with just one language.
MJML is opinionated and prescriptive, to the point of being a markup language in its own right. HEML is not opinionated: You write HTML and CSS. HEML just takes care of all the arcane eccentricities of various HTML mail clients.
#ilovefs: Why GNU Emacs?
Honest question - how does this relate to some of the anecdotes in the OP - where someone referred to recruiter/HR as a desirable hire by a current employee gets denied because <some clueless resume scan criteria fail>?

That's the real kicker in the whole article... when "We want this person!" doesn't work because crustimoney proseedcake.
How to Make Homemade Lip Balm Boxes