skysight-inc/HackerNews huggingface dataset:
Tenure makes a lot of sense for research university positions. Research can take a long time to be fruitful, and many avenues of research won't pan out at all. Tenure helps enable researchers to focus on various problems instead of being stuck to what will have the most payout in the shortest term.

It's never been quite clear to me why tenure makes sense for instructor positions, either at the college or pre-college level. I say this as someone who was a tenured instructor at a community college for a number of years.
I've had this discussion with friends and family who teach. None of them can make a convincing (to me) argument that a school administrator is any more likely to be capricious or unfair than managers in the private sector.

Then, the friends move onto the whole "how do you evaluate a teacher?" to which I respond "how do you evaluate a programmer?" Sure, there are metrics for both, but none are foolproof. At some point, managers have to go with their guts.
Because sometimes incompetence is offered as an excuse for political dismissal, and education is a highly politicized field int he US. Think of controversies over the teaching of evolution or sex education, for example.

Those edge cases are important, but there are very few of them relative to the number of cases where self-interest and rent-seeking by teacher's unions is the main factor. This is an important decision and one that I welcome.
I am going to add my own useless commentary and say that I absolutely love things like this. It is the idea of applying a scientific approach to something for fun and because why not? This is Having Fun + Learning = Win in its purest form.
I think the main charm of checks are a certain untraceability.
E.g. I was once in the states and received a check. As I was not a customer of any bank there, there was no easy way for me to cash it in. Solution: go to a friend's bank with him in tow so that he'd essentially cash it in but giving me all the money.
Why shouldn't they have the right to collectively bargain like every other worker and Union in this country?

And more importantly, in the past, teachers were removed for political reasons or for teaching unpopular topics. http://teachertenure.procon.org/
Is there a way to make filters universal, instead of per chart?

Observation: There is exactly 1 front-end web developer in my state. He gets paid more than me. I think I could build up a pretty decent profile of him from this.

And maybe a bug: When I try to add another condition to your filters, the UI gives me two widgets to populate instead of 1. Weird.

Another bug: If I sort salary, it sorts by string, not by numerical values.
Under state law here, teachers are eligible for tenure after 18 months...

18 months!?! Something is seriously out of whack with employment in education here in California..
Congratulations! The cofounders were invited to a Stanford Ecorner lecture a year ago, worth to check: http://ecorner.stanford.edu/authorMaterialInfo.html?mid=3053
Don't let the word "tenure" fool you too much, in this case it's just union seniority rules under a different name.
Teachers union advocates will tell you that it's a way of convincing people to become teachers, as the job has far more stability. Reality shows that it just discourages new teachers, as nearly half of all new teachers last less than five years[1]. Teaching has become an outdated, slow-moving profession that nobody wants to join because of the entrenched interests and bloated bureaucracies.

1: http://nctaf.org/wp-content/uploads/2012/01/supply-demand-st...
Eugene would not do a good job auto generating content that is useful for SEO and there are existing tools which do a very effective job auto generating content for SEO purposes.
This is https://github.com/mozilla/rust/issues/11751: LLVM doesn't understand (non)null pointers enough.
The UK banking system is much smaller and has much better integration for interbank electronic transfers.

There's a great podcast about this issue here: http://www.npr.org/blogs/money/2013/10/04/229224964/episode-...
The traditional justification is that teachers need to feel free to discuss ideas that social trends or local political whim may disagree with. They may even need to take a Devil's Advocate during a lesson and argue a pretty unpopular position that they don't personally agree and which would sound awfully impolitic out of context.

E.g. To protect them from being fired for reading from a given book. Or teaching evolution. Or teaching sex education. Or covering a topic like communism or socialism in any way other than demonization.
For the sake of reproducibility, transparency and all that, here's the C++ version: http://pastebin.com/5pMka6ZJ
I have a FasTrak transponder (a box that goes in my car and lets me pay bridge tolls automatically). Last year it died and I called up the agency to get it replaced. CS told me when I received the replacement, to put the old one back in the envelope, mark it "return to sender" and put it back in the mail. I'm surprised USPS hasn't called them on it.
Should I design ANN (Artificial Neural Network) architectures automatically?
I see that many experts (including me) design their Artificial Neural Networks intuitively, just following some basic rules and testing and choosing between a few models.
I also know about some algorithms and tools to design them in an automated way but I never used them.
Should I shift to automated design?
I think it's still going to be valuable to know C, Objective-C as well as Swift for iOS development work for a good while to come.
>circular motion does not cause any work to be done

Like tides?
Mario Maker for Wii U
Netflix lands more squarely on the customer's side on this topic. They have everything to gain from PR coverage and Verizon everything to lose. Seems like a bad move to me that Verizon decided to boost the awareness of this issue in the first place. Perhaps that wasn't the intention, but it was the effect.
You evaluate a programmer on the coding problems they solve that contribute to the business.

There is nothing so clear for teachers other than their class performance on standardized tests, but standardized tests measure only a very limited part of what a good teacher should be able to offer.
For a variety of reasons, really stupid metrics in tech have mostly not had staying power, which reduces how much of a problem people consider them to be. Plenty of companies have attempted to institute some kind of LoC or normalized-LoC or other such system to measure programmer productivity, and they are mostly ridiculed as laughingstocks of the profession. Whereas the dumb, unvalidated metrics seem to be actually making inroads in education.

To some extent tech benefits from there being giant piles of money everywhere, which limits how much leverage stupid employers have over their employees (where legal, they try to use noncompetes to counteract that effect).

An interesting feature of this decision, though, is that it interprets the "right to education" in the state Constitution as creating an enforceable, quite broad right, rather than merely a general principle: any government policy that stands in the way of students receiving an effective education is (according to this holding) unconstitutional. If that stands as precedent, students may have another way to combat poorly designed metrics: such metrics might also be unconstitutional. (One problem, of course, is that there's no clear limiting factor for this principle; it essentially empowers judges to make policy decisions about what stands in the way of good education.)
Tenure was designed for higher education and is out of place in K-12. Tenure's purpose is to protect and encourage academic freedom. Unpopular research often becomes groundbreaking research. Since K-12 teachers do not conduct research and follow fairly strict curricula, tenure is merely a union tactic to guarantee employment.
Probably based off of some of the origins of tenure. WAY back when they used to fire teachers (for example) when they got pregnant. Nowadays it's protection against (for example) teaching evolution in biology class (which isn't popular in some districts) or "Catcher in the Rye", etc. That all being said there's a reasonable list of pros and cons here: http://teachertenure.procon.org/

EDIT: I should qualify I meant when tenure was coming into K-12. It was originally based off of the professors and the boards of trustees in the universities.
Hi, I would be delighted to talk to you. Please put some contact information into your profile.
The problem with your logic is, what happens when you have one of these people elected to the school board or as an admin?

http://www.christianpost.com/news/kansas-school-board-candid...

I think you are putting your head in the sand if you think people like that wouldn't try to get people fired for "teaching evolution".
Looks like this trick still works in the UK, as people are sending bricks and other flotsam to the UKIP's freepost address.

http://www.buzzfeed.com/jimwaterson/people-are-wasting-ukips...

And in Utah, 80,000 bricks were sent through the mail to build a bank.

http://www.stampsofdistinction.com/2008/07/bank-that-was-sen...
I've seen a lot of code that was larger than necessary because the author didn't know what a Monoid or Functor were.

Cf. "Visitor pattern"

I wasn't ignorant enough at the time I wrote the code to fuck up in the way you describe. I can only show an example of stuff I've made.

Here we go, three more uses of Monoidic functions (mempty, mappend)

https://github.com/bitemyapp/bloodhound/blob/master/Database...

It's not just about code, it's about conceptual memoization.

If you know what a Monoid is and you're learning how a data type like ByteString works, you can intuit how to "stitch" bytestrings together as well as how to get an "empty" ByteString.

It's about killing off unnecessarily ad-hoc APIs as much as anything.

Being able to realize when you're implementing a Functor/Monoid/Applicative/Monad is powerful because it lends you intuition on what the rules for a well-behaved API are and allow powerful, polymorphic code-reuse.

Consider the reusability of the functions here across the vast set of Monadic types out there: http://hackage.haskell.org/package/base-4.7.0.0/docs/Control...

This is worth pondering as well: https://github.com/jwiegley/simple-conduit

The code savings described are usually associated with not having to rewrite the polymorphic generic functions used in the Haskell ecosystem for the one-off a person made. The conceptual power from having a community that understands these patterns is more important.

You'll learn more and faster by learning Haskell.

https://github.com/bitemyapp/learnhaskell
I wouldn't let the default percentages mislead you. Just under 1% of US developers or 7 respondents (EDIT: using the filters you defined) are making under $20k. That is likely well within any margin of error. We also don't know any of the details surrounding the responses. The numbers could be caused just as easily by working on an early stage startup, working part time, or even user input error as it could be actually making under $20k.
Due to the massive amounts of tutorials, Stack Overflow questions, libraries, projects, etc. all written in/about Objective C for iOS and OS X, I personally would not start anywhere else.
I wonder if this guy is from the bay area. Because there's a Muji in SF and downtown San Jose.
From the same study, Fuck is also highly correlated with age and gender. They also found a 25% less strong correlation between swear words and neuroticism, compared to a previous, given study. I'd imagine correlating swear words is especially hard because of their varied use. (For extreme happiness vs anger, for example)
Aha! This is for English speaking people.
I think they were trying to say that borrowing is preferred over ownership transfer.
Swift is built with Objective-C interoperability in mind. All of the Objective-C Foundation classes are available in Swift, and they've done their best to mitigate the differences in software design.

However, learning Swift without first learning how the underlying Objective-C libraries work, the design patterns, the available functions, Swift-Objective-C-Interop is going to be very difficult.

I'd recommend learning Swift and Objective-C at the same time. If you learn how to do something in Swift, learn how to do it in Objective-C. Objective-C isn't going anywhere, any time soon.
> I guess what I'm trying to say is... You can do it.

If you have enough money to buy a truck, apparently...
But it'll still work if I stuff the envelope full of crap, right? Along with, of course, a politely worded request to take me off their list.
I guess one answer is the following: that "academic freedom" (which is one of the motivations for tenure, i.e. it protects one's academic freedom) applies not only to research but to teaching activities as well... but again, you're right, in that perhaps this makes sense in a university environment (in which curriculums can easily vary in many ways, and still be valid) but not so much in elementary schools, primary schools, high schools, etc, in which a curriculum is more restricted in its scope, and pre-defined using standards, etc.
It is because of bullshit like this:
http://www.dailymail.co.uk/news/article-207079/Evolution-ban...

"The word "evolution" will be removed from school books in the deep south of the United States under a new proposal."

How much do you want to bet violating such a ban would lead to immediate dismissal without tenure protections?

This is a school administrator that tried to get such a ban passed.

EDIT:
Since there seems to be some confusion, I've italicized the word immediate since people seem to think it was irrelevant.
Around 2009, working at a university, personally.
Solar boom: From 5 GW in 2005 to almost 200 GW by the end of this year
That's a problem, but is tenure the solution?
The correlation with other people is pretty interesting. I was impressed that my family members showed up there, I suppose it makes sense.

I went through the celebrity list, and the person I was most similar to... "Paul Graham and you are 89% similar"
Show HN: Libpp – functional programming macros for the C preprocessor
Because the value will be different every time the user uses the application. These are basically data entry people keying in paper forms all day.
Show HN: A collaborative newsletter for product managers
Maybe there could be an option for "max volatility" or something where an owner would give it a percent and say "Don't change my price by more than x% in y time".
The video helped tremendously. Without it I was completely lost.
As a very long time Obj-C guy, Swift looks great and Swift looks like the future. But if you need to learn Cocoa through existing resources (books, tutorials, forums) or use/read existing code (3rd party libraries, code snippets, header files), you will need to understand Obj-C too until enough time such that everything has switched over.
This is the sort of thing that makes me glad I stopped using Facebook a long time ago. Of course, you could equally easily apply the technique to people's writings on HN, but there's a much lower probability of that being leveraged into a standard social media app.
yes, but getting rid of all protection for older, more experienced teachers is throwing the baby out with the bathwater.

i have often struggled with this issue. i have had some great teachers, i have had some terrible teachers, but if you got rid of all the existing teachers and started anew, who the hell would possibly be a positive influence on the new teachers?
Because school administrators may be blocked from outright banning the teaching of evolution/sex education/unpopular-but-actual history/etc, but could simply threaten/actually fire teachers until the entire staff was agreeable to their desired curriculum.
Or no one wants to teach because of low pay compared to equivalent professions, huge classes, and deteriorating working conditions.
"nobody wants to join" -> I think you mean few want to continue in. There is plenty of fodder heading into the ranks only to have their dreams crushed by the reality of teaching in today's educational system. The numbers of those going into teaching has been on the rise for years (I believe elementary and secondary teacher population has risen about 7 percent since 2002...don't remember if that was DoE statistics or what...i'll try to find it)
I think we've all been there... had some teacher for some class in some grade that made the students wonder "how on earth are you allowed to keep teaching?".

There are many many very good teachers. There are also some very bad teachers who stop caring about the kids.

Tenure currently enables teachers to "coast" and lose enthusiasm to teach and change lives.
This is an execution-centric view; I think that types really are everywhere when it comes to how typical programmers think about their code (even in dynamically typed languages).
Why not "hire" and "get hired"?
Based on the code snippet above, by not trying to truly replicate the channel API. Which is a good thing, because it is simply too simple for something that may be a network communication. It's only trying to truly replicate the channel API over the network that causes problems; "channel-like" abstractions themselves have no particular complication.
After two months of unemployment posting a Reddit ad got me hired.
Podcast: Socket.io v1.0 with Guillermo Rauch
Tenure prevents teachers from getting dismissed for teaching ideas that may not acceptable with the majority opinion. With creationism being pushed in schools, it seems we moving backwards from the progressive made after the scopes trial.
Visual deployment of complex work loads
The problem isn't technical, this is a perfectly fine solution to the question of how to remove a certain class of jank. It's adding more stuff to the already bloated web specs, having them supported forever and then the mental load of wondering what browsers will actually do given that's it's an implementation detail.

I can easily see this leading to more unintended hacks as for example WebKit may be less aggressive than say blink in weighting the hints, and so web developers will then add back the 3d transform hacks in addition to will-change.

The target audience is also web developers many of which are inexperienced and I guarantee that even given all the warnings someone will apply it blindly to *. Hence any production implementation would have to have heuristics to catch abuse; again more complexity that will have to exist forever.

While I'm willing to give the to the benefit of doubt - these guys are super smart and it's got broad support - it just feels so heavyweight to actually change the spec for what seems like a relatively niche problem that can be mostly mitigated. Also by the time it's supported everywhere (ios9?) mobiles will be 2-4x faster.
Uber vs. Groupon: Blueprint for a Sustainable Service Marketplace
I released Macrofun [0] a few weeks ago, which provides similar macros, but does not conform to standards. A commenter on my submission to /r/programming [1] pointed out the related `P99_FOR` macro of P99 [2], which handles "variable" number of arguments while conforming to standards.

Libpp's macros are implemented in a fashion similar to `P99_FOR`, but I think it's much cleaner. For example, `P99_FOR`'s handler macros are defined within a 10,000 line header file [3], and `P00_FOR_50` calls `P00_FOR_49`, so you're going to require as many preprocessor evaluations as arguments given. By contrast, `PP_MAP` is defined within a 300-line header file, and `PP_MAP_50` evaluates directly to the desired expression.

You can also change the argument limit of Libpp's macros to your liking, as detailed in the readme.

Libpp isn't as powerful or general as P99, but I'm finding it much easier to use. Perhaps that's just because I wrote it, though. Feedback would be really appreciated.

[0]: https://github.com/mcinglis/macrofun

[1]: https://pay.reddit.com/r/programming/comments/260cb6/macrofu...

[2]: http://p99.gforge.inria.fr/p99-html/group__preprocessor__for...

[3]: http://p99.gforge.inria.fr/p99-html/p99__generated_8h_source...

I've answered some questions about Libpp on /r/programming and /r/c_programming:

https://pay.reddit.com/r/programming/comments/27rutk/libpp_s...

https://pay.reddit.com/r/C_Programming/comments/27ru43/libpp...
I am not opposed to Docker. Also, I'm with you, someone with a systems background should be involved from the beginning.

I went and saw someone from Docker in December speak at the local meetup in LA, and his slides explained that Docker was all about a workflow where traditional devs handled everything, and ops would be low-skill people who deployed what they were given, no questions asked.

I think your model is reasonable. The model that Docker was advocating that night is wishful thinking bordering on sales flim-flam.
I think the courts are a better solution for that problem.

Having a couple "crazy science teachers" with tenure shouldn't even count as a solution IMO - especially if that causes people to be more careful about who they give tenure to...

EDIT: I said "better solution" not "perfect solution". I would love if you speculate about what a perfect solution is though!
In general, what you want to be able to mix types and values are dependent types (see languages such as Coq, Agda, Idris). However, dependent types are way too powerful, and as such extremely difficult to use.

A light-weight form of dependent types are refined types, which are essentially dependent function types that have contracts on their parameters and return types. As refined types are way more limited than full dependent types (essentially, linear arithmetics, logic, and simple stuff like this), you don't always need to write the proofs manually but can use an automated theorem prover such as Z3.

This is a hot research topic. There are attempts to do type inference for refined types - see [1] and [2]. The Liquid Haskell team is also exploring the issue of dependent types and laziness [3]. Below you mentioned that you want "soft casts" as well - check out [4], which attempts to do just that (implemented in language Sage [5]).

I'm very interested in this topic as well, and have experimented a bit [6]; as it turns out, it's not that hard to implement a basic type-checker for simple refined types. It's also quite powerful - using Z3, even non-linear problems such as rectangular array access (mentioned by a poster below) are solvable, since you can trivially prove its safety using real arithmetics (which is decidable).

The only big disadvantage that I see is the difficulty with dealing with state, but then again, even programmers can't reason about it properly; I mean, if `x` is a mutable object, can you really say `if x.a != 0 then 1 / 0` and be sure that no-one will modify `x.a` in the meantime from another thread? I hope that linear types could help.

[1] http://goto.ucsd.edu/~rjhala/papers/liquid_types.pdf

[2] https://www.cs.purdue.edu/homes/suresh/papers/vmcai13.pdf

[3] http://goto.ucsd.edu/~nvazou/refinement_types_for_haskell.pd...

[4] http://www.kennknowles.com/research/knowles-flanagan.toplas....

[5] http://sage.soe.ucsc.edu/sage-tr.pdf

[6] https://github.com/tomprimozic/type-systems/tree/master/refi...
Same problem here, daily crashes. This started with Firefox 28 and I still have this problem with Firefox 30. I have no idea why, but some pages crash more often than others.

This happened on both OSX and Ubuntu(my laptop and workstation) at the same time when Firefox 28 was introduced.
If my memory of tenure is correct, "eligible" is not the same as "gets". Limited number of tenure slots available, the same way you may not be promoted in the private sector because there aren't enough slots in the next grade.