skysight-inc/HackerNews huggingface dataset:
CS PhDs are different than biology PhDs. They are still low-paid relative to industry, stressful, and competitive. However, multiple postdocs in CS are pretty uncommon, and it is not uncommon for a PhD candidate to get faculty offers with no postdoc (though many do a year of postdocing anyway, since it's less pressure than being junior faculty but at least twice the pay of being a grad student).

I think a reasonable rule of thumb is that the quality of life for grad school in area X is directly proportional to the employability of a BA/BS or MS in area X. In CS most anybody doing a PhD at a decent school could leave for a CS job paying at least twice as much. In biology this is less true, and in the humanities it's even less true. IMO this explains mych of the difference in grad student experiences across these areas.
Nope. There are features such as thrust assymetry compensation, and you could technically engage the autopilot as low as 200 ft AGL, but I maintain that there is no automatic takeoff available on commercial aircraft (there's something related on catapult-launched fighter jets, but that's quite another world).

If you're claiming a feature exists "in the Dreamliner and the Airbus 380...over a decade" - well, [citation-needed], then: all the sources that I've managed to find are unanimous that it doesn't, e.g. http://www.askthepilot.com/questionanswers/automation-myths/

To quote the pilot above:
"That fantasy insists on outpacing reality is perhaps symptomatic of our infatuation with technology, and the belief that we can compute our way out of every dilemma or complication."
How Dropbox makes customers jump through sales hoops before doing what they actually want.
People who manage to get white-collar jobs without ever having attended college are exceptional, so the filtering has already happened before you meet them.
True! I suppose we can hope that we'll understand it all one day.

Then again, there's enough people who would claim to understand it all.. they're probably the ones to be most afraid of!
Thanks. I am a EU citizen (dual German + US) but live in the US. My understanding from reading into it a little bit is that it doesn't automatically apply to me while I live in the US but would if I traveled to europe. I guess some of the nuts and bolts will become clear as things get enforced after May.

Either way this is by far one of the most exciting reasons I've encountered to still have my original citizenship!
UK Footballer Made Himself Look 20 Years Older to Get Cheaper Car Insurance
In the Haskell example, a/b/c/d can be lists of simple data structures.

In your c# style example, getData/getMoreData must either be methods on the a/b/c/d objects, or extension methods on lists of simple data structures. Both are pretty bad in comparison, IMO.
It would be a sort of bind operator, I think. It wouldn't work exactly because you can't distinguish between `>>=` and `>>`.
You could bind the web service to the loopback interface of the server. This way it cannot be accessed directly from the internet. Then you can use SSH port forwarding to access it from the web browser on your local machine.
Very cool! how will you maintain it?
I got a degree with no relevancy to my job at all but the approach to learning I picked up in college really served me well when I wanted to do it. I don't think there are many people who would not benefit from being able to educate themselves in a new topic.
I don't think career correlates quite so closely to the liberal-conservative spectrum as you may think. Yes, there are a lot of liberals, but I get the impression that libertarians are over-represented as well. And there may not be as few Trump voters as you think ;)
I've used the QB64 for a few projects that extended old stuff I had done. But I've had some stability issues with the interface and applications. That was a few sub-versions so that may have been fixed.

I've had really good luck with FreeBasic. It supports classic QBasic as well as a lot more new commands, libraies, and is more modernized. You can also compile Windows, DOS, and Linux binaries. The drawback is that it doesn't have it's own GUI and is a bit harder to set up.

https://www.freebasic.net/
Cpanel's licensing cost isn't trivial.

https://cpanel.com/pricing/
I agree. ! However, to go "all-in" on monadic error handling requires you to have do notation to abstract away the monad, lest you end up with something (a thing we happen to call Rust ;P) that is much worse than just giving someone checked exceptions.
Would it help to catapult the cargo at high altitude where the air is rarefied? That way you have to deal with less atmosphere and the initial energy required for the catapult is smaller. Idk where, maybe the Andes?
well the (;) is the `bind.
The problem with the question is that it only works on a conceptual level as C++ does not have type system support for statements. (ie, in {a;b} what's the type of a ?)

But, it allows them to see how you could build fiber/promises/lightweight_threads support using this concept, which is most of the times what they are interested in anyway.
Imagine each statement in a sequence is a function of the previous state to a subsequent state (+ optionally something extra); and the semicolon is a function of the previous state (+ something extra) and the statement function to the subsequent state (+ something extra).

That's a description of the monad pattern in terms of semicolon overloading.
How can we increase financial curiosity and literacy?
hi james, i miss you
https://nvd.nist.gov/vuln/search/results?adv_search=false&fo...
It's bandwidth. More specifically, standard TOSLINK only has the bandwidth to carry stereo audio in uncompressed form. If you want full surround sound it needs to be compressed to fit into the same bandwidth that stereo audio would use.
Doing that with higher-order functions instead of with a monad requires the caller to care about something they could let the type system guarantee. I mean: every single example of using a monad in do donation is just syntax sugar for passing a continuation of the rest of the function to a higher-order function...
Missing Technical Marketing Advice for 4 Hour Work Week Business
Not really. Unlike other nations, the idea of modern american nation was born from the hard work of european "immigrant" pioneers going back only a few centuries and that of other immigrants thereafter. This just seems more like closing the door behind me.
Others have brought up good points, but I'd also add that the ad-hoc solution only supports calling methods on possibly-null objects. If you want to pass a possibly-null object to a function that does not accept null values, only the monadic solution works.

In fact, you can see this in the example. AFAIK, the ad-hoc example will end up printing a null value, while in the monadic example, print is never called at all.
June 2012: 0/​33 TA winners predict AI beating humans at Go within next 10 years
I took it to mean a set of skills that will make you valuable to any employer longer-term or could be used to bootstrap your own venture.
Ask HN: Is there a tool for selectively giving targeted referral bonuses?
I was wondering whether there is a mechanism to give referral bonus (e.g. "refer a friend and you both get $10 if they sign up") to only users with a high probability of bringing quality leads (or vary the referral bonus by the potential quality of the lead).

For example, a naive version of this would be "if it's using a Facebook or Twitter identity, target this to users with X number of friends/followers".

Thanks in advance!
The exact outcome in such a scenario must be detailed in the Articles of Incorporation for said non-profit.

The law forbids the officers/board from benefiting financially from their non-profit corporation's end, and so many Articles of Incorporation stipulate that, upon the demise of said non-profit corp., all assets and money shall be donated to some specific charity or non-commercial group.
I got a singular e-mail that said I needed to address a ticket attached to the e-mail, which wasn't attached, and I needed to address this by logging into their website, which I couldn't since they deactivated my account. By the time their phone support opened in the morning everything was gone.

Adding offsite backup was literally my next task as well. I think I just got too comfortable from never having a problem with any other VPS host in the past. Lesson learned.
Midifinity: An infinite collection of synthesizers
Honestly you brought up really valid points. Thanks. That got me thinking a plenty :)
I haven't used it personally, but judging by the marketing video Tower is mostly an enterprise dashboard with some self-serve features that allow invocation of Ansible playbooks (or perhaps some larger unit of automation - I've no idea if they made something up just for Tower); but the playbooks would still need to be hand-coded elsewhere.
If someone dies and does not pay, and it still takes a year to kick them out, won't the body be severely decomposed then?
We detached this subthread from https://news.ycombinator.com/item?id=16445421 and marked it off-topic. I'm sorry, but if you continue to post like this we'll ban the account.
all this talk about opioids and no mention of ibogaine
If they were worried about the underlying problem of merge conflicts, the easiest solution would be the creation of a private notes field for any event shared with you. That way any event updates wouldn't collide with personal notes and you wouldn't need to duplicate events.
Digi-Key launches a common parts library for KiCad
I think understanding the law is key here, so you can reduce your risk as an owner.

If it takes 2 months to evict someone, then your deposit should be 2 months and you start the process the day after rent was due.
Invoke-Obfuscation – PowerShell Obfuscator
>"My experience comes from trying to replicate science that simply isn't reproducible in ways that are not possible to understand from reading a publication."

Right, this is because no one has done the science. Like Feynman said, someone needs to figure out all the stuff we need to keep track of to be able to do this.

I personally saw no interest in doing that (pretty basic stuff like "rat gets more food when giving this drug, therefore the drug made them smarter/healthier"; why not more hungry/motivated, etc?). It was very far from perfection. It was that someone comes up with an assay and mentions some of the limitations at the end of the paper. Then for the next 40 years no one checks this, everyone just continues to run the unverified assay and assume it measures what they want.

>"I don't fault researchers for not doing perfect science."

I just call it science vs not science, with a hard rule that in science people need to be able to independently replicate your work. Otherwise I call it research (a superset of science), and refer to the people doing it as researchers. I think this is neutral enough, while still allowing the distinction between science vs not.

Mainly, if it really is the case, I want it made clear that the current culture/environment/whatever is not allowing a scientific approach to be attempted. Maybe this other method can get somewhere, I dunno. But it does not have a proven history of success like science.
In the UK if the landlord lives at the same place (i.e. you live with the landlord) then you have far less rights as a tenant. Including a very short notice period.
But is writing such functions, and all the auxiliaries, pleasant as well? What type would I have to give the "getData" function to work in all these examples? What if I just want to call an existing getData function that returns a Maybe, not some generic monad thing? Would I have to tweak the syntax for all the different monads I want to call it from?

Also, what would the print call really look like in actual code? This post talks about composing IO with other monads. I've never seen a monad composition example that wasn't peppered with calls to unintuitively named functions like liftM_.

The pseudocode looks nice, but if the pseudocode isn't a faithful representation of actual use, then it's not very useful.
>once the product is in maintenance no one is going to be updating them.

That's not a container specific problem. That happens even when you don't use containers.
What have I gained from reading this other than learn that the author is a high achieving person? I'm a software engineer in my late twenties in America. I would guess this blog is geared toward people like me, yet the author seems comedically unaware that very few, remarkably close to zero people, have opportunities like pursuing a PhD at MIT. So you chose MIT... I think most people would have. This is just a self congratulatory story with a cheap facade of wisdom.
Ask HN: What best practices for in-house Docker Registry?
Hello,

I am using Gitlab EE at work and have noticed recently that we had some issues with our registry validation process.

I was specifically wondering how to handle the history associated with any given tag. I realize that in our Gitlab registry, we have4 tags which have specificity. However we don't have the source branches for these, hence we don't exactly know what these specificities are.

Are there any best practices in this particular area? What is your experience with such issues?
Then why are only Uyghurs required to get the ID branded on their cutlery?
Thanks. The wikipedia article on Aadhar card looks like a deep dive...

https://en.wikipedia.org/wiki/Aadhaar
That doesn't really matter, because you can only be present at one place at a time. You still have to trust other anonymous parties
Even the Chinese government admits quality is a problem, I’ll see if I can pull up a CD or GT article I read a few years ago. The CS programs in lower tiered schools are not given many resources, they are often taught programming by teachers who have never programmed before (similar to being taught English by the book by an instructor who can’t speak english, my mother in law did this). It’s not the same as Hoboken liberal arts college teaching CS, it’s more like Scottsdale cooking academy teaching CS (or at least Zhangjiajie Tourism College).

When I was working in china, everyone was complaining about finding programmers that were good enough to hire. You would filter your resume stacks by 1st then 2nd tier universities (throw everything else out), and still had to be very rigorous in interviewing. This was way after the CS education boom happened in the early part of this decade.
Ok got it. Sorry for the misunderstanding.
Wait. Is this the same "Jeb"?
> ...than the persons renting out a house they don't need.

Is a camera rental company just "renting out cameras they don't need"? Maintaining rental properties is a livelihood, a bad faith tenant is just as abusive as a bad faith landlord.

People buy properties on loans to rent them out, when a tenant refuses to pay the rent, the utilities and the loan payments fall to the landlord. The obvious effect of this is that only people who can afford to lease and rent many properties out at once to spread the cost of this can become landlords.

Furthermore, if this dwelling is some part of an existing home, and you can't evict them for violating the lease agreement, then you have unwanted strangers who don't care about you, forcibly staying in your own home. You don't have to be a steenking bourgeois to own a home, and you don't need to be "advantaged" to draw the short end of this straw.

Some countries have a mix of laws for tenant relations, for example sublet agreements in some places are afforded little or none of the extreme tenant rights that direct let agreements are. That would likely have helped in this article's situation.
Toxic metal concentrations in e-Cigarette vapour
This is how Stripe handles it as well: https://stripe.com/blog/api-versioning
Ahh I thought you meant you got some playbooks/roles/modules written but you have a gui to say which are run where. More of a higher level.

But I think I see what you mean and I like the idea. A low level GUI that lets you look up specific tasks in ansible and have it create the playbook for you at the end.

That would be pretty cool and not that hard to write actually.
I'm not sure how I feel about having three items on this list (including the current #1). I might need to take my buggy out for a long trot to contemplate.
Chase ‘Glitch’ Exposed Customer Accounts
It is: https://hub.docker.com/r/cockpit/ws/
I have heard it before, probably a few times. But that said I have watched Mitchell and Webb and forgot it was on there too. Thanks for the reminder and link!
I think this is another instance of solving the wrong problem.

var a = getData();
if (a != null) {
var b = getMoreData(a);
if (b != null) {
var c = getMoreData(b);
if (c != null) {
var d = getEvenMoreData(a, c)
if (d != null) {
print(d);
}
}
}
}

Why not simply

var a = getData();
if (a == null)
return;

var b = getMoreData(a);
if (b == null)
return;

var c = getMoreData(b);
if (c == null)
return;

var d = getEvenMoreData(a, c)
if (d == null)
return;

print(d);

And the other example

var a = getData();
for (var a_i in a) {
var b = getMoreData(a_i);
for (var b_j in b) {
var c = getMoreData(b_j);
for (var c_k in c) {
var d = getMoreData(c_k);
for (var d_l in d) {
print(d_l);
}
}
}
}

Yes, there is the issue that there is too much nesting. But there is no point in tackling this problem with a clever monad. That's not solving the issue, it's just hiding it. Operationally there is no difference.

What really needs to be done is to avoid data dependencies. It's typically possible to do something like

for (var x in a)
foo(x, a_state);
for (var x in b)
bar(x, a_state, b_state);
for (var x in c)
baz(x, a_state, b_state, c_state);
for (var x in d)
quux(x, a_state, b_state, c_state, d_state);

This not only looks cleaner, it is cleaner. The path of execution is simpler. It will also often run much faster, since its only tight loops and uniform data accesses.
Assuming that you elect to register with Signal using your Indian number of course, which you are in no way obliged to do.
>You can bank online because you (individual) and the bank (presumably a juridical individual) agree to it.

This is false. All banks are conducting their business electronically whether you like it or not. The global economy is run primarily on the transfer of electronic bits, not physical paper.
True, but clicking the button is still easy

What is not clear is what happens if you're using more than 2GB of space and downgrade
For the list example: I don't get why that loops over the content of the list (I don't understand this in the OP either). Wouldn't it need to be:

getMoreData :: [Data1] -> [Data2]

at least? As I understand the OP, wouldn't the function signature for the non-monadic example be:

getMoreData :: Data1 -> [Data2]

and the function body fundamentally different for that reason?
I kind of got the same feeling, though I'm not discounting that there is a lesson in there someone. But this line in particular got me:

> ...then pursue only jobs that will reward you with these traits if and when you master rare and valuable skills.

In my experience, most folks don't really have this luxury.
cockpit is not dependent on systemd. They don't ship sysvinit scripts, but there's no hard dependencies on systemd anywhere. I'd expect that the system logging may not be very nice without journald, but the vast majority of the interface runs over dbus or spawns processes on the server.

It _is_ dependent on dbus.
Yeah I was going to say he probably didn't have a big student loan and a kid to support.
Show HN: GitHub Trending Repos
You can flatten the pyramids with logical AND-gates. Eg. it only continues if it's successful. Here's an example:

var a = getData();
if (a == null) return null;

var b = getMoreData(a);
if (b == null) return null;

var c = getMoreData(b);
if (c == null) return null;

var d = getEvenMoreData(a, c)
if (d == null) return null;

print(d);

For async code I use counters. But async code is usually thick, not because lack of abstraction, but because you do not want any loose ends eg. you want to handle all and every exception that might arise. As well as having code for abortion and rate-limiting.
Are you referring to the space tower hypothesized by Thoth Technologies?

http://thothx.com
https://en.wikipedia.org/wiki/ThothX_Tower
So?

Major features are the ones that matter. It took Adobe like 3-4 years to bring concurrency to iOS. AS4 was killed after years of promises. Etc.
Typed Golang, "erlang, juggling, software tooling, neurolinguistics, portuguese, korean, programming languages" as suggestions. I'm guessing this is just very early stage?
Full article URL: https://thefern.org/2018/02/building-backup-bee/
> Not as much so in nations where people generally trust experts and government officials

The election is where that trust is anchored at. Whether people trust the current government can change. If trust in the election result and thus trust in the next government's legitimacy depends on trust in the current government, you have no safe way out of a situation where trust in the current government is gone--which ultimately is the reason we have elections in the first place: As long as everyone is content with the current government, you don't really need elections at all. The whole point of having elections is that you can change a government that you don't trust, should the need arise.
I am new to hardware things and just wanted to check. Is Neutis N5 suitable for making something like PocketCHIP but in more compact form (smaller device)? If so I would definitely prefer 49$ over 5$ rpi0, just because of better performance and much smaller form factor.
I disagree. Plenty of people use cryptocurrency without caring about the current value, but merely as a medium of exchange. If I want to buy something with bitcoin, it really doesn't matter it's current price. I just buy some bitcoin at the current price and buy what I want leaving 0 bitcoin risk.
If you are unsure of the next best move choose the next move which leaves you with the most options.

The meta point being that advance programs recognize this pattern and then judge you accordingly.

The meta meta pattern thus leads to making all your moves seem like they were all planned from the start.

This is sort of encapsulated by a saying attributed to GE executives: “if at first you don’t succeed, bury all evidence that you tried.”
Complaint-Driven Development (2014)
really? what can you use to transfer money from the US to the Philippines "really fast at a really low cost"?
The popularity of docker in corporate environments is mostly because it allows developer teams to control the OS without dealing with sysadmins that are in a separate organization. Similar for cloud in general.

I think many people don't see that a lot of the popularity is less about technology, and more about politics. "Devops", in general, is basically an organization change to move sysadmin's duties into the development team's domain. It has predictable upsides, and downsides.
I also make this assumption about non wealthy urban kids. But the fact is, both groups are caught in a decades-long stagnation. There's nothing wrong with the rural lifestyle. But let's not pretend everything is just peachy in rural America.
Readme Driven Development (2010)