skysight-inc/HackerNews huggingface dataset:
Some of those are only at the discretion of the employer/commissioner. For instance, your teacher and engineer examples. When the government is the employer, they have decided they want to hire only within the pool of those who have certain credentials. If you want to hire someone for private works, you are free to make your own choices and suffer the consequences if you choose wrongly. I think it is fair to say that is not artificial. That is market choice.

Some of your other examples, like lawyers and dentists, however do seem artificial. There is no legal option to hire someone without credentials (at least in the jurisdictions I am close to), even when the buyer understands the risks and poses no external risk to others.

I don't know about this heavy machinery thing. As a farmer, all I need to drive my 30,000 lbs. (when dry) combine down the road is a standard automobile license, and nothing at all once I'm off the public roads. Nobody thinks twice about that. Even more curiously, I do not need any credentials to produce food that people willingly stick into their mouth! You'd think that would be orders of magnitude more worrisome than many of the other careers you pointed out – especially given the difficulty of tracing food origins as a consumer – yet nobody bats an eye.
Deploy websites using Rake
I run https://PhantomJsCloud.com

I started it as a free MVP about 2 years ago while in Thailand, and given that I was attracting a slow but steady stream of users I decided to build out a commercial v1 from it.

The freemium SaaS went live in March and it's growing monthly. If I still lived in Thailand I would consider it very successful, but I am in the Seattle area now so it's ramen profitable.

The biggest surprise I got was how slow organic growth takes. Every month I gain more users + MRR but discovery seems to be the biggest problem. I tried Google Adwords in June but Google decided to cost me upwards of $5/click for basic keyword targeting so gave that up. I tried Adwords again in November and now google thinks I'm more relevant, so I pay starting at $0.20/click for the same keywords that cost $5/click 6 months previous. I am currently doing experiments to see if the acquisition cost justifies that spend.

From a effort perspective, the SaaS api+backend itself was about 50% of the effort. The subscription service + user dashboard was another 50%.

From a skills perspective, I think doing a SaaS as a solo founder is only practical if you have extremely broad skillsets: Business management, UX, full-stack webdev, devops, sales, marketing, support. Thankfully I have some experience in all those (except sales) so I was able to either do or fake everything required. If you don't have all those skills, you are going to be increasingly reliant on luck, which isn't a winning strategy.
There's a lot to be said for being an early entry to an app store that you expect to stick around even if early adoption is slow. I'd throw the Windows Store into that category, and while I've never used it I think the Mac store may be similar.

Even if your initial product isn't great, if store adoption is slow then your good-enough MVP has a chance to gain traction just by being better than limited alternatives. That gives you time to improve it if viable, and by the time better competition shows up you're well ranked because the early competition was bad.

As a possible example of this, was Instapaper so highly ranked and successful because it was quantifiably better than the alternatives (once they arrived)? How much of an advantage was its status as one of the first available apps?

For a different example that perhaps shows the advantage better, consider the Android "Exchange by TouchDown" which was one of the early way for Android users to connect to Exchange accounts, still available for the low low price of $19.99. Last time I looked a year or two back, it really hadn't kept up with the competition and in fact is often not needed at all on more modern phones, but it's still there with between 1 and 5 million downloads and a cumulative rating of 4+ on the older app. On the newer version that runs Android 3+ the same app has effectively cratered, but they've still probably sold a few million dollars worth of it because of its history.
> I think the solution is that advertisers will just need to give up the idea of having reliable metrics on ads, since that's the source of the problem.

One of the things I found incredibly annoying when I was working in this area was the fact that definitions of some metrics can be so drastically different, eg. viewable impressions, completed view impressions (in video) - these difference were so huge that a video played off screen, a video played with only 1px (or 50% height) visible - have been treated as exactly the same thing.

I heard about a company that changed their way of measuring these metrics to something more realistic than... well, a video playing off-screen, whilst increasing prices, which sounds like a decent move - they ended up losing ca. 70% of their revenue.

The problem is that it's really difficult to explain your customers that you've been potentially lying to them (or at least that's the impression they might get).

Regarding the performance footprint - I recommend taking a look at the VAST/VPAID spec. It's not uncommon for an ad to fetch 3-4 xml files containing dozens of tracking pixels coming from 10s of domains. There's also no guarantee that any if the intermediate VAST files contains the right content, how long the chain is or where it comes from.

[EDIT] disclaimer: I might've used incorrect names here, since it's been quite a long time since I've worked in this area, I hope you still get the idea.
The Go Project in 2017 [golang-dev]
I assume AdNauseam's random clicking is viewed as click fraud[1] by Google. Then, I'm guessing click fraud falls under the "Interfering with Third-party Ads and Websites" section[2] of the developer policy.

[1]https://support.google.com/adsense/answer/16737?hl=en

[2]https://developer.chrome.com/webstore/program_policies (ctrl-f, then search for "Interfering with Third-party Ads and Websites")

Edit: Hmm, below is correct. The "single purpose" policy is pretty hard to understand, and the reason Google gave for banning it. The policy above would seem more applicable.
Here [1]

I have my own question though: Any idea how to give keyboard focus to the 'address bar' in file explorer, like Ctrl-L does in browsers?

[1] http://www.howtogeek.com/235101/10-ways-to-open-the-command-...
3. The set of compilers is > 1, and there exist at least a popular compiler that works on multiple platform.

Rust is in 1 of course. C++ is both in 2 and 3. In particular for C++, the compiler in 3 works on a strict superset of all the platforms supported by rust.

As you are free to support only this C++ compiler and ignore every other C++ compiler (you must not care about multiple implementations otherwise you wouldn't think that 1 is a good solution), it seems to me that 3 is strictly better than 1.

edit: I do concede that the existence of a popular but non-interoperable compiler[1] does fragment the community and it has been an issue in C++. Things are getting better though, and if rust becomes popular enough it might become an issue there as well.

[1] We all know which compiler I'm talking about.
> Who uses Chrome anyway?

Over 50% of all desktop users [0], or, in other words, hundreds of millions of people.

0: https://www.netmarketshare.com/browser-market-share.aspx?qpr...
What is the editorial situation? I've not been paying close attention, but they seem to have gone from curated long-form content to Yet Another Blogging Site.
I moved the other day from Chromium to Firefox Developer Edition due to some bugs.

It has substantially improved in responsiveness over the past few months, Chrome/Chromium really isn't worth the price of admission.
> LANPACK + BLAS = scipy

Thanks, I already knew that.

> Being able to describe things with a syntax that looks almost like pseudocode and runs highly-optimized C/Fortran code to do heavy lifting has huge, huge advantages.

Hence we are back at Scala, Clojure, F#, enjoying the respective AOT/JIT native code compilers, and integrating with that highly-optimized C/Fortran code.
> WTF were they thinking when they decided it was useful when the result of a function is an array of every statement result within that function?

Because in a pipeline results are usually »whatever the element happens to have as its output«. Usually you know or notice if statements within your function have return values or not. I haven't found it problematic so far, either. You don't write PowerShell like C# anyway, so different patterns are idiomatic. You'll get the hang of it fairly quickly.

> And why isn't there a useful way (like, say, "return") that overrides that behaviour?

There is. It's called return:

return (expr)

is the same as

(expr)
return

and return will immediately exit the function / script block.

> Automatic unboxing and splatting of arrays.

Admittedly, this can be annoying, however this only ever applies to function or cmdlet output. When you're creating a one-element array (via @(1) or ,1) it stays that way unless used as the first part in a pipeline, where unwrapping is usually wanted.

You can also use Count instead of Length (unless your items have a Count property) since v3, as PowerShell implicitly understands reading the Count property on a scalar value that doesn't have it and returns 1.

The usual fix is to explicitly make the return value an array, though:

$foo = @(Get-Foo)

PowerShell cannot know that a call results in multiple values or just one, e.g. Get-Service yields an array, but Get-Service foo yields a single object. It's not unreasonable to expect something like (Get-Service foo).DisplayName to work instead of having to do either (Get-Service foo)[0].DisplayName or Get-Service foo | % DisplayName.

So it's a trade-off between two ugly things. Trade-offs are always bound to annoy people who consider one thing worse than the other.

> Still, Get-Unique is always case sensitive, as is Select-Object -Unique. Of course, you can get case insensitive uniqueness by using Sort-Object -Unique.

Huh, learned something new there, thanks. I think the only instances where I needed unique strings was in golfing, so sort -u was the way to go anyway. At least it's documented in each of those cases.

As for sorting using the .NET method not adhering to the defaults used throughout PowerShell, I think that's hardly surprising. You're explicitly leaving PowerShell and using the BCL directly. Of course other rules apply. And there are even worse annoyances on that front, such as that PowerShell's current directory is not the process' current directory (so you can't really use relative paths with .NET APIs).

> -AsString

Never used, to be honest, so no opinion here.
LOL. I love how full of his own crap Tom Dale has become.

Ember is a good framework with a lot of potential, but more than anything it needs a good PM. Ember devs just spent nearly 14 months rewriting the layout engine (Glimmer 2.0) that they had spent the prior 8 months writing (Glimmer). And what do they have to show for it? A 100ms or so speed boost on complex views. Instead they should focus on fixing up the crufty parts of their API and adding feature they've been promising users for years. Instead Tom Dale has been off writing FastBoot, an even more niche component of Ember that very few apps will even use.

React and Angular are far from perfect, but one upside is they have parent companies to help keep them focused.
Can you correct that title to read:

In 2015 Over Half of the 1,002 Americans surveyed by PewResearch support the FBI...

The way its written is misleading.
As far as I know, it has not been tested legally but I would hate to be the defendant as the plaintive's lawyer displayed a screenshot of the page that damaged their client's computers with my URL displayed at the top.
I turn my phone's hotspot on with the desired settings and run the following in bash (it runs Debian stuff in userspace using ru.meefik.linuxdeploy)

tcpdump -i wlan0 -c 1 arp; aplay isd/media/0/*.mp3

This waits on the wifi interface for one ARP packet, which will surely come when a new device connects, and then plays some mp3 that's on my internal sdcard (hence the mountpoint "isd").
"Keep the car in a straight line" or "turn right, 10°" are the kinds of operation that will always be more performant, take less engineering, and more reliable to create as an old-fashioned simple math function than by using machine learning.

One would expect the output of the neural nets to be encoded in those.
Traditional news media is dying because advertisers are running to the internet, where they can get lots of highly targeted impressions and deep metrics for pennies on the dollar... perhaps that trend will turn around soon.

Advertising's tragedy of the commons isn't unique to the internet. Other media went through the same adoption cycle of over-promising followed by consumer backlash.

I'm hopeful we'll see advertisers return to the model of (mostly) blindly trusting their advertisers. It will be interesting to see how our largely ad-supported internet changes as a result.
> Earlier this week, on Jan 1st 2017, we were informed by our users that Google had banned AdNauseam from its Chrome Web Store. We’ve since learned that Google now also disallows users from manually installing and updating AdNauseam, thus locking users out of their own saved data, all with no prior notice or warning.
Which parties perform fraud / bot detection today?
> The Networks JS will be configured to optionally call a custom metrics endpoint with some data - ie, the advertisers own servers.

So no more trust required for the advertisers?
The standard imposes no requirements on how an implementation behaves with a program that does that. While I would agree that that makes C a not-very-useful language for most modern applications programming, what requirements would you have the standard impose? On some architectures reading * P might trap/segfault, so you cannot require that this line be harmless. Other architectures might read a value into dead (e.g. embedded systems with no MMU/segmentation) and continue harmlessly, so you cannot require that the line have some effect. If you make a requirement that if the line segfaults that counts as an externally visible effect then you basically disallow the compiler from reordering memory accesses at all, which could cost a lot of performance. Java shows it's more-or-less possible to achieve close-to-C performance while imposing consistent requirements on null dereferences, but only with the help of a highly-tuned JIT that consumes quite a bit of memory and startup time, which could be prohibitive for many environments.
The 10x software development gap
"From a skills perspective, I think doing a SaaS as a solo founder is only practical if you have extremely broad skillsets: Business management, UX, full-stack webdev, devops, sales, marketing."

Thanks, that is a very important insight.
Similar here (OP here), just without the dedicated hardware.
a little context on the healthcare insurance by employer system: During WW2, the US banned increasing employee compensation, so employers looked for alternatives and they figured insurance would be one area. That's how the US got into the mess of "employer takes up the bill" :)

ref: http://www.nber.org/papers/w14839.pdf?new_window=1

So wars have long lasting impacts on the society, taxes and insurance are some important examples.
Ha! I ran into you online before : )
> How can we replace ad networks with something better and saner?

Paying for content like we do with physical objects, instead of expecting others to give us content for free.
I've been using this for a while, it's quite nice. There are some editor plugins for it too (of varying usefulness).
At the risk of downvotes: Is anyone really surprised?

AdNauseam is silently clicking ads. This directly costs Google money. Google happens to control the extension web store for their own browser. Removing it from the store really isn't that bad. Uninstalling it from existing browsers as malware? A little more malicious, but I would still consider it self defense.

There is even a method to install it directly[1] which AFAIK Google has not blocked.

Granted, if Google were not both running the browser and the ad network, these actions probably wouldn't have been taken. But the whole attitude that this is some sort of tyrannical thing is a little over the top.

1. https://github.com/dhowe/AdNauseam/wiki/Install-AdNauseam-on...
I'd like to see an ad-network which you can pay and they'll serve you transparent ads instead.

The underlying content providers still get their pay per view, the ad network is still in the loop and no one needs to implement anything new - the technology is already built.
You're missing the giant login modal that prevents you from using the site ;)
I run BugMuncher (https://www.bugmuncher.com), it started as a side-project 5 years ago, then in September 2015 I packed in freelancing to focus on BugMuncher full time.

As of November 2016 BugMuncher reached profitability - ie: it's my sole source of income, and covers all of my living expenses.
I don't disagree with you, but that isn't really what the article is saying. The article is all but making a blanket statement that "unpredictability = bad in any context":

> Behaving unpredictably with one group — customers, employees, competitors, suppliers, etc. — means exposing your unpredictability to all.
What you really want to know is whether to buy now or not and there is no answer for that.

But as others pointed out, bitcoin & cia is no longer a crazy idea from Internet. It is now a deeply studied idea that has been around for quite a long time, so people started to trust in it, and after all, this is mainly a matter of confidence.
Why Men Don’t Want the Jobs Done Mostly by Women
It's compounded by the fact that you often don't have any real flexibility in how you fix the problem.

To extend your analogy, let's say I want to fix a broken headlight. I know how to do this, and can get better headlights than the one that would be offered through the two mechanics in my neighborhood. I can do this myself more cheaply. Or maybe my friend who used to work as an airline mechanic wants to do it as a favor. Or who knows.

With medical care, you might realistically only have one option due to problems with insurance coverage, so even if you were given the price, you'd have no choice. But even if you had two choices, you don't have a third option because it's legislated away. If I need my medication that I've been taking for four years without any problems, and it's a low risk med anyway, why should I have to go to see a PA, NP, or MD to get a prescription for it?

It's not just that the costs are opaque and hidden, it's that you are legally mandated in certain respects to accept them. The alternative is generally only to not have the service done.
Some of the Most Exciting Announcements from CES 2017 So Far
Ok, but that's still increasing marginal rates even if you ignore the unemployed. Consider the case where you have 100 people, one that earns $1/week, one that earns $2/week, etc. and the last person earns $100/week.

A $20/week UBI for all of them would cost $2000/week. You would need a flat tax of 39.6% on everyone to cover that. So everyone's marginal tax rate increases, with the associated deadweight losses.

tldr; you can't just hand wave and say a redistributional tax scheme is free since it all balances out across the population.
After inspecting your website, I realized that I had purchased your Build a SaaS App course once, on Udemy. I ended up asking for my money back after discovering that you don't actually build anything, the code is already written and the video lectures quickly breeze through explaining it.

A few people mentioned this in the Udemy comments on your course, and you retorted with snarky replies.

Not a fan of your marketing or your attitude towards customers who were offering legitimate criticism.
This is defiantly an area I'm interested in. However, I find that the barrier for entry is pretty challenging. IE, finding the right product. The other aspects are well within my skill set.
Ask HN: What is the “stack” for streaming/transcoding video?
I am proficient in node.js. I have videos on my server that are .mkv and various other file extensions. I can stream .mp4 through node quite easily but when it comes to other file types, I have no clue what library or language would be best.

Is streaming/transcoding too big a task for a solo developer?
Status Alpha Release
Maybe he's just sharing first-thoughts.. not everyone feels compelled to immediately decide on their lightning-quick "critical/supportive" judgment as a top priority.

Especially our seasoned "best-agers"!! =)
Ask HN: What would you say to a coworker on their last day at work
Given that you hate them to the core.
What point did we begin to feel entitled to do whatever we want in someone else's software?

If someone wants to kick you out of there house for no reason, you leave their house. You're not paying to be there, you're not paying to publish there... you have no intrinsic "right" to be there... you were there as a privilege - when it disappears, for whatever reason, there is no reason other than a false sense of entitlement to whine about it...
If your want GPU's for machine learning, I recommend http://rescale.com
I love the mental image, but I think that description masks why this happening.

The compiler doesn't specifically search for undefined behavior and use it as an excuse to do something "quirky." Instead, it assumes the code is well-defined and interprets (and transforms) it in ways that preserve its semantics. For example, "One cannot dereference null pointers. The author dereferenced the pointer p. Therefore, p is not null. Since p is not null, the compiler can avoid checking it after the first dereference." The compiler is essentially assuming that the author knows something that it may not and just runs with it.

However, there are a lot of transformations--and corner cases--many of which can interact. This can produce complex unwanted behavior that looks like "nasal demons", but largely as a side effect. The compiler does not say "OVERFLOW DETECTED. REPLACING ENTIRE FUNCTION WITH NOOP"
> especially now that so many people load vital resources from CDNs controlled by the tracking companies.

I've been noticing this trend. I have a pretty extensive hosts file and this one site I visit started displaying ads. I had to double check to make sure my hosts file was correct and it turned out that they were saving the ads from their own CDN.
Advertising networks create profiles of users based on online activity including searches. It's called profiling. The ads you see are relevant to your interests as it is described in your profile. By randomly clicking on ads you render the profile irrelevant.
Think as an author of a function that does something that can fail .

the signature ;"fn risky_shtuff() -> Result<Response , Err)"

Rust guarantees to you as the author who ever uses this function HAS to handle both cases (even if it's an unwrap).

However Rust doesn't stop you form making functions that instead return Option ,bools or even strings ,but you'd be actively working against very strong convention.
Agreed. However, I believe that in C, standard variable types are assumed to not have such side effects on a read, which is why such variables must be explicitly declared as "volatile".
Alt+D (only on English UI languages), or Ctrl+L. Works for me at least.
US Senate's Armed Services Committee on Russia's Hacking