Hacker News new | comments | show | ask | jobs | submit | cschneid's comments login

At the teacher level, they are underpaid. My girlfriend is a high school teacher w/ 4 years experience, a masters degree in her topic, and works 12+ hours a day (not kidding, seriously all day).

She makes $35k / year.

If she wasn't lucky enough to have an engineer paycheck behind her life, she simply wouldn't be able to do the job.

It's likely that funding gets allocated in stupid ways, but the whole process is inherently expensive. Managing thousands of employees, dozens of buildings, updating equipment, training, etc, etc. It's a hard problem, and we've basically just decided that only "dedicated" workers should do it, which is code for "willing to be underpaid compared to qualifications".


At the teacher level, they are underpaid. My girlfriend is a high school teacher w/ 4 years experience, a masters degree in her topic, and works 12+ hours a day (not kidding, seriously all day).

She makes $35k / year.

How much do teachers in her school system who have 25 years experience make?

The union-mandated tenure system, which prevents young, talented teachers from making even vaguely competitive salaries, but rewards older, mediocre teachers with "time served" is part of what's stopping "more money" from being the answer. Higher teacher salaries under the current system would largely reward the oldest, not the best.


In my school district[0] teachers start at $43,500 and max out at $63,688 (after 30 years and a PhD)

You can pick up some extra stipends if you coach or work in certian departments (STEM) but good luck getting into 6 digits as a Teacher.

When I taught in Massachusetts (where we have a teacher union)[1] pay starts at $36,400 and maxes out at $74,000 (with a PhD) after 19 years.

Turns out that public school salary information is public information. So if you "know" a teacher that is making 6 digits, I challenge you to look up their pay scale and see if you really know what you think you know.

[0] https://drive.google.com/file/d/0B27mc-sxcu8ldW9OTHlLMjZ0SlU... [1] http://www.pittsfield.net/UserFiles/Servers/Server_1051846/F...


Well, you can easily look up NYC teacher salaries. They start at $50k and go up to $105k. http://schools.nyc.gov/NR/rdonlyres/2712AB02-A1EF-4CE2-B879-...

When you take into account the shorter work day/work year http://www.uft.org/new-teachers/your-work-day-and-year

really good benefits, including a $50-$60k a year pension (http://www.empirecenter.org/publications/pension-calculator/) and essentially tenure...well, it's not too bad...


Let's talk about the teacher's work day.

Your link says it's 6 hours and 55 minutes, including lunch. So 6 hours and 25 minutes is a work day.

Plus there's 150 minutes a week (2 and a half hours, or 30 minutes per day) for training, professional development, teacher collaboration, parent engagement and other professional activities.

150 minutes for all of that is a joke, and if any teacher was actually following that rule (union or not) then you'd be hearing about it.

What are "other professional activities?

Students that need extra help? Students that need to make up work/tests? Grading homework/tests/quizzes

I have about 150 students. If I give a test, that's 150 tests to grade. If it takes me 1 minute to grade each test, then I've just blown that entire quota of "other professional activities"

But I still do my job.

I grade all those 150 tests. Then I grade the homework that I gave all those students. Then I write my lesson plans for the next classes and I write the next test. And I email/call parents. And I meet with parents. And I see students before/after school to answer their questions and have them make up their work and tests. And I answer emails from students that have questions about their homework.

I spend 6 hours and 25 minutes a day teaching. I spend plenty more time making sure students learn.

But at least I get summer vacation, right? Sure, it's just full of mandatory Professional Development (so I can keep my teacher license up to date) and lesson planning for the next year.

But hey, in New York you can make up to $105k! After 22 years AND earning a PhD (which you paid for with your own money ... and where did you find the time to get that degree?) Rent in NY is 3x rent where I live, but the max $105k isn't even 3x the starting salary of my school district.


That's for nurses, etc. It's 6 hours and 20 minutes for regular teachers (including lunch). Actual instruction hours per day are quite a bit less of course.

Even for someone without more advanced degrees (fyi you do not need a PhD to cap out.) you cap out at $93k. Agreed that teachers (particularly beginner teachers) put in a lot of hours outside school. 10 hours a week? More? So a 40-50 hour workweek during the school year? (But with predictable scheduling, which not all professionals have.)

A roughly $1 MM dollar annuity when you retire isn't so horrible either.

Lesson planning takes less time as you get more experienced, plus you reuse your old lesson plans.

175 hours every five years for required professional development? http://www.uft.org/q-issues/maintaining-your-professional-ce...

Did I miss anything? COL in NYC is definitely higher...but you do not have to live in Manhattan. There are many affordable areas in NYC.


I've worked for a big insurance company, a medium sized company that went public, and a couple startups, and two school districts.

I made waaaaay more money working in industry and never worked anywhere near as hard or long as I do being a teacher.

Sure, lesson planning gets easier. And you can reuse old lesson plans (although, the standards get changed fairly regularly and in my district you need to use "data-driven metrics" to improve your lesson plans year after year, so if you're just reusing lesson plans you get put on the "bad teacher list" in a state with no unions which means no tenure).

Without the PdD, you don't cap out at that 6 digit number. But $93k isn't bad. That's about the entry level salary of a Software Enigneer, right? And you only need to be a teacher for 20 years to earn that. What a deal!

That's probably all a teacher deserves though. As a society we really need incentivise our best and brightest to use their skills to build new ways to share photos.

All I'm saying is that you get what you pay for. If you pay teachers $40k, then you're going to get $40k value.


No, you do not need a PhD to cap out. It's a Masters + 30 credits. http://schools.nyc.gov/Offices/DHR/TeacherPrincipalSchoolPro...

One of my bêtes noires about the system is that it does not differentiate between a high school teacher getting an advanced degree in STEM versus a kindergarten teacher getting a secondary development blah blah from University of Phoenix.

My personal opinion is that some teachers are underpaid, and some are overpaid. Senior teachers should not be making twice as much as junior teachers, and high school physics teachers should not make the same as kindergarten teachers. Additionally, schools should have some leeway in rewarding better/harder working teachers, instead of the unionized lockstep pay scales.

Yes, programmers make more than teachers, on average. (Though the mean hourly wages are not that different, actually-- http://www.bls.gov/ncs/ocs/sp/ncbl1614.pdf for NY/NJ/CT). So?


Programmers make more than teachers, so someone that is any good at programming is better off being a programmer than a teacher. Which leaves people who don't know how to program to teach high school kids to program.

Which is why everyone is a "self taught" programmer.

Imaging if you took everyone that posts to Hacker News about how they were the only person in their school that knew how a computer worked and they did all sorts of hacks and had all sorts of fun subverting authority and you went back in time and you gave them a knowledgeable mentor (read: teacher) how much better would they be at programming now?

It's 2015 and we don't have those teachers in our schools. What we have are Math teachers that are being told "We have to have a Computer Science class and we heard that programming is like math, so you're going to be teaching Computer Science next year. Go take a Java course."[0]

Also, unions are not keeping the pay scales the way they are. Texas does not have unions. Texas does not have tenure. Texas still has "lock step pay scales". Unions are not the problem.

Private schools pay teachers less than Public Schools. Private Schools don't have unions. Unions are not the problem.

I don't know what the problem is. I think it has something to do with there being very little respect or prestige for the teaching profession among tax payers (or anybody, really). But the problem isn't unions. If unions were the problem, then the problem wouldn't exist in places where there are no unions.

[0] 100% serious. I had a training this summer where 6 of the other 7 teachers were Math teachers that were told at the end of the year that they would be teaching AP Computer Science and were sent off to take their first ever Java course over the summer.


Why shouldn't it be 'not too bad'? For NYC that's the lower end of middle class- comparable to being in a (unionized) trade. And I can guarantee the teachers put up with more shit than a plumber.


I'm pretty sure plumbers deal with more shit. Literally.


lol if you think teachers have a "shorter work day/work year"

My girlfriend is a High School teacher in NY, and easily works more than I do. You have to factor in planning and grading which is all done after "work".


Well, average actual hours worked in the US is around 1800 (that's net after sick days, vacation, personal days, etc.) https://stats.oecd.org/Index.aspx?DataSetCode=ANHRS Given (in NYC) a school day of 6.33 hours (including lunch) and a school year of 18x days, then subtract personal days and the like...well.

Also, most teachers don't need to do as much planning after a few years. Is if fair that longer serving teachers get paid twice as much as new ones, when new ones put in more hours usually? Well...


Most teachers aren't teachers after a few years[0] so most teachers do not benefit from having old lesson plans, most teachers are not making the upper levels of salary, and most teachers will never collect on their not-social-security-pensions.

The school day may be 6.33 hours (including lunch) but do you only count football players as working 3 hours a week when you watch them on TV? Teachers have to do a lot of "under the table" work to make those 6.33 hours (including lunch) happen.

When are those tests getting graded? When are those struggling students getting extra help? When are those lesson plans getting written? When are those parent-teacher conferences happening? When are those teachers going to football games/plays/other events to make connections with the students? When are those teachers writing letters of recommendation for those students? When are those lesson plans being modified to meet the needs of students with IEPs? When are those lesson plans being modified to meet the needs of ESL students? When are the formative and summative assessments being analyzed to modify lesson plans to better meet the needs of the students?

Those 6.33 hours (including lunch) are just the hours that teachers spend in front of the camera. There is so much more work involved to support those 6.33 hours (including lunch). Even for the long tenured teachers. If a teacher is resting on their laurels and just rehashing old lesson plans, then that's one of the "bad ones".

[0] http://www.npr.org/sections/ed/2015/03/30/395322012/the-hidd...


It is a crying shame that there is so much teacher churn...why is that? In the article you reference, it's actually not primarily related to compensation, but to autonomy, support, and student behavioral issues.

Yes, of course, like I said, there are many outside the class hours. And in fact, 6.33 hours/d are not the "hours in front of the camera" (I assume you mean instructional hours.) The exact number is a bit hazy, due to self-reporting issues, but it seems to be about 700 h/y. http://cbcse.org/wordpress/wp-content/uploads/2015/01/The-Mi...


It's hard to say why there is so much churn. The churn related to changing schools pretty much can't be about pay because you get paid the same amount no matter where you teach unless to change districts, and even then you might only get a couple hundred dollars a year more. But changing schools can get you a better administration or a better pool of students to work with.

However, if you get offered a 9-5 job for $100,000 and you are looking at making $48,000 after several years experience ... you start imagining what you could do with an extra $50,000 a year. Just think of the compound interest!!!

If you can make lots of money, you almost owe it to yourself to get it. But who does that leave us to educate the kids that are going to run the country when we are old? Do we really want to leave that job up to people who can't do anything but teach (so they live and die by the dreaded tenure system) and people who don't have experience teaching (and will soon leave to make money in industry)?

Also, not all states have unions or tenure (my state included) and those states to not have industry-competitive salaries and they do not provide better educations. If unions were the problem, wouldn't we see better results from non-union states? Wouldn't it behove non-union school districts to out perform/compete union school districts to keep teachers from unionizing? (or is the fact that they can get laws passed saying that teachers cannot unionize better than trying to be competitive in the job seeker market?)


For the record, I didn't make the "6 digit salaries" claim. I'd be thrilled if world-class (or even top 5-10%) teachers could command those kinds of rates without having to teach in the richest school districts for decades.

I'd also note that those are salaries (and similar for others in this discussion) are for 187-day school calendars, or 37.4 weeks/year. Generously applying the same rate to a 46 week/year "full time" calendar puts the top end in Round Rock at over $78,000. The median household income in Round Rock is around $70,000[1], suggesting that it isn't outrageous for a couple of married teachers there to earn well above average, even without summer income.

Also, at least in MA, many teachers are not required to pay Social Security tax, but instead pay into a much more generous pension system. Other benefits are also competitive relative to the private sector.

Again, though, I'm all for teachers making more money so more talented people are encouraged to teach. But the tenure system is not the way to get that result.

[1] http://quickfacts.census.gov/qfd/states/48/4863500.html


ugh, summer argument.

First: teachers typically work days not on the student's school calendar, so it's more like 39 or so weeks by your calculation.

Second: they work WAY more than an 8 hour day. Last night she did 7am - 4pm in the building, then 2 or so hours at night grading. (and that was a light day since she had gotten her planning done previously this weekend).

Third: summer is where you can finally catch up and plan classes. Girlfriend did a major revamp of her AP US History class so she was in-line with the new standards. Last year was Western Civ revamp. Next year will be the standard US History class.

You're right, benefits are in-line (not better, just in-line) with corporate america. Mediocre, but existing health care. A pension style retirement plan that's reasonable, but at the mercy of underfunding by politicians (which seems to be expected at this point).




How much do teachers in her school system who have 25 years experience make?

In my state, which has comparable starting salaries, $56k assuming they obtained some professional certification along the way. Otherwise, $50k. (For comparison, an engineer straight out of college could expect to make maybe $75k.)

I find the idea that we should destroy the entire school system to ensure that a small handful of undeserving people are not able to serve out their career on a still-very-modest salary quite mad.


Yeah, wait until these Javascript beasting brogrammers reach 35- all of a sudden experience will become much more valuable to them.


Given 20 years, and a doctorate degree $65k. Beyond 20, it goes to letters on the pay scale, and I'm not sure what the requirements are to move up that.

No teachers in this district are making money suitable to their training and experience.


This - I know teachers with 25 years experience making close to six figures, which seems fairly insane.


Why shouldn't a teacher with 25 years experience not make six figures, or close to it?


Because it's a function of tenure, and not job performance?


So they never performed well? Very few jobs have pay that directly correlates to current performance.


What school district? Teacher salary is public knowledge. There are very few states that pay teachers 6 digits.


If you put more money into the system, you could be pretty sure that the teachers would not see more than a dime of it. Tenure is what prevents schools from removing a higher cost experienced teacher and replacing them with a cheaper no experienced teachers.


Microsoft and Google don't fire all their higher cost experienced engineers in favor of cheaper fresh graduates every year. They also don't forbid new engineers from making more than any longer-tenured ones.

Why is tenure-based compensation an efficient use of dollars in primary education but not elsewhere?


If unions aren't strong in your state generally, then teacher's unions are no different. Too many people jump on teachers in New Jersey making $100K at the end of their career as an excuse to not even try to aim above the bottom of the barrel.


> It's likely that funding gets allocated in stupid ways

That's exactly what it is.

When I was in high school we got a shipping pallet of new $100+ calculus textbooks that sat unused because they were the same as the old calculus textbooks but with material cut out because the curriculum had been dumbed down.

Thank god our teacher saw them as the worthless turds that they were and continued teaching us prohibited advanced material like gasp integration from the old books.

Meanwhile our CS teacher was actually a history teacher who stayed a chapter or two ahead of us in the book because who in their right minds would become a teacher making $50k if they actually knew how to write software?


Well, here's anectdata to contradict yours. A new teacher in my fine town starts out at $43K/year plus benefits. 9 month work schedule. Here in the Midwest of the USA, $43K to start with nothing but a degree and teaching credential is a perfectly good salary, above the median for the city and state.


If your girlfriend feels she is a better teacher and deserves more she needs to help start a movement to de-unionize schools. We should not have incompetent dinosaurs teaching our kids. We want brilliant, dedicated, hard working, up-to-date teachers who are worth every penny they earn in front of our classrooms. And, yes, they should make $150K per year or more. And, no, it's not free money. They have to be that good. Everyone else needs to be fired.

Imagine building a company where you cannot get rid of incompetent, mediocre and down-right caustic employees because some third party (a union) gets in the way. This company will never amount to anything and will never be able to compete with one where excellence is the goal and people are well paid because they are worth it.

For some reason we seem to be OK with the idea of supporting the unions and lose sight that our goal should be to ensure the kids come out of school with absolute genius level knowledge, experiences and enthusiasm across a range of topics from arts to engineering. Kids ought to leave school with a hunger to succeed and contribute to society resembling a massive buffalo stampede with a purpose. Today a huge swath of them leave school with a "thump" and no passion, direction or real knowledge to guide them forward.

The system is broken.


There are no teacher unions in Texas. Texas can not only get rid of incompetent teachers, it can also get rid of any teachers that rock the boat or question the administrators or make someone look bad by going an extra mile for a student.

Public schools will never pay $100k+ to someone to teach Computer Science, so how will they ever get someone that actually knows Computer Science to be a teacher[0][1]? Instead they are offering a $1000 stipend to current Science and Math teachers to take a 1 semester course in Java so they can pass the Computer Science Certification Test and teach Computer Science.

So the future computer science high school students will be getting taught computer science by 10+ year Physics teachers that took a 15 week Java course.

[0] I left a $100k Software Engineering job to become a Computer Science teacher... hoping to make a difference with the diversity issues in our field. Luckily I am married to someone that has a job that can pay the bills.

[1] There are at least 3 open Computer Science teaching positions in my district right now if anyone is interested! And in the next 2 years we will have enough students that we will need another CS teacher at my school.


Well, the other thing we need to do is look and treat schools differently.

To me every dollar legitimately (with a HUGE emphasis on the legitimate part) spent in schools is a valuable investment in the future. I hope that is a statement that cannot be disputed.

However, we've performed badly enough and have wasted so much money that we are in a situation where someone who thinks teachers ought to be able to make $150K per year would be laughed out of the room.

We are slowly destroying our country from the inside. And a big part of that is in how we are not educating our kids. And perhaps even our population in general. I mean, the fact that the Theory of Evolution is cause for debate in the US is down-right shameful and a sad indication of just how backwards some of our population is in their thinking.

The problem of schools and education is simple. It get's complicated when we are not united in an understanding of what our objectives should be.

What are they? In my view: science, technology, engineering, mathematics (STEM) and entrepreneurship. Arts belong in school as well but we are not going to float the boat on arts alone. STEM+E need to be our strong suit and our kids need to be exposed to the arts in order to see, feel and experience the beauty in the human condition.


I totally agree with you. I don't necessarily think that people who are currently teachers should make >$100k. But if teacher pay was competitive with industry pay then we would have more smart people competing for teaching jobs.

The problem with education is that old saying "people that can, do; people who can't, teach" but it's more like "people that can, do even if they would be really good at teaching because teaching doesn't pay nearly as much as anything else you can do with the same skills"

The way things are right now, who cares about tenure! If you fire all the bad teachers who are you going to replace them with? The only people that want those jobs are the applicants that weren't as good as the people that just got fired!

And like you said, an additional problem is that every state gets to decide what the goals for education are and those goals can get very political (see: evolution vs creationism, civil war vs war of states rights).

And the biggest blind spot for HN readers concerning education is that most of the students in school are not like you! Public (and some Private) Schools are full of students that would stare blankly into space all day rather than watch one Khan Academy video. It takes a lot of work and effort to provide an education to both the low achieving and the high achieving students, especially with 25:1, 30:1, sometimes 35:1 student to teacher ratios.


I would love to teach. I am very good at it. But I am also an entrepreneur to the core and hate, hate, hate bullshit.

I am one of two engineering mentors for our local FIRST FRC robotics team. Brilliant kids fully motivated to learn. I love it. We've built a bunch of neat stuff. I happen to own a lot of nice manufacturing equipment so we've taken advantage of that with the kids learning such things are running CNC and manual milling machines as well as soldering SMT, using DSO's etc.

Anyhow, one day I get hit with this business of having to register as an official school system volunteer in order to be able to be a mentor for the team. Mind you, FIRST has no such requirements, this is the school system bureaucracy meddling with things.

What did it entail? Filling out a bunch of forms that nobody could email me. I had to go to the main office and get them. And then they need to do a full-up background check, blood test and other crap. The process takes months. Oh, yes, and I have to pay for it.

Being that part of my work is in aerospace there are certain things I just can't do, at least not without involving certain checks and balances.

I flat out told the school system folks to go stuff it. I further threatened to fully fund the robotics team myself and pull it completely out of the the school. FIRST does not require teams to be attached to schools, so, technically, we could run it out of my warehouse and we'd be fine. The school folks took a few steps back and figured out a way to allow me to continue to be a mentor (after two years of doing it) without red tape. I suspect someone is making money somewhere by having this team be at the school. We are required to have a teacher associated with the team (one who knows nothing about nothing). My guess is he is getting extra bucks for having his name on a list somewhere.

This is just one example of why they don't attract better talent. We could have a lot more engineering mentors in this team but everyone recoils at some of the red tape they toss in front of you.

I know I and other practitioners could be amazing teachers and sources of inspiration for students. Yet, none of us has any interest in dealing with bullshit. And the school systems are permeated by it.

I mean, imagine the idea of having someone like Elon Musk do a physics lecture at a High School even once per semester. Think of the inspiration and effect that would have on kids. The effect would be very similar if you had passionate practitioners, perhaps less well known than Elon, yet passionate about their work, contribute to the education of our kids.

Money, to some degree, isn't the problem or the solution. We just don't have a good system. Teachers could be professional "inspiration organizers" who pull-in from the local and distant communities with the goal of blowing away kids with the passion, wonder and possibilities of the subject at hand, whether it is music, mathematics or physics. That. Something even a little bit like that. Would be amazing.


Elon Musk is an engineer and entrepreneur/inventor, not a physicist. He stopped being a physicist the day he dropped out of grad school at Stanford. Why would you call a lecture he gives a physics lecture?


You don't think someone like him could give a lecture to a high school class and inspire the heck out of them? I think you are missing my point.


I took computer science at a high school in Texas (graduated in '08). We were taught everything from basic imperative programming to analysis of algorithms (and this was just a public school, not a magnet school).

I keep in touch with my high school CS teacher and that school now offers four years of CS education with multiple CS teachers. Your profile says you're in Round Rock, I graduated from Seven Lakes near Houston. My experience does not match yours.


:-/ Yeah, deunionizing would be great.... Private school teachers get paid much less than public [1], with the bonus of being fired any time. Instead, when school districts attempt to bust the teachers union, they do it in order to funnel money to charter schools, often religious [2]. These charter schools have selective admissions, and often won't keep children with any sort of difficulty [3], which artificially raises their test rates, and hoses kids who need the help.

[1]: http://www.theatlantic.com/education/archive/2013/10/why-are...

[2]: http://www.denverpost.com/news/ci_28401042/colorado-supreme-...

[3]: http://dianeravitch.net/2014/02/26/breaking-news-new-data-sh...


Please see my other comment [1]. I don't disagree with your points. I think the problem is much bigger than what we can discuss here.

[1] https://news.ycombinator.com/item?id=10229785


Maybe you have more info but... Somehow, if I understand correctly. The USA spends more per student than any other country. Yet, somehow, other countries have better outcomes.

Is my info bad or does that suggest that more money isn't the problem. Is the problem how the current money is being spent or is it that we need more money. Are those articles making stuff up?




As for salary I also think it's a crime that teachers get paid so low. At the same time low is probably relative. A teacher in Berlin making $40k a year is doing a lot better than a teach in NYC/LA/SF making $40k a year. I've tried to talk myself into becoming a teacher but salary is a big reason I can't quite get myself to take the leap.


I've actually thought about becoming a teacher because developer salaries are so uncompetitive in my area.


From my reading, it appears to hook up to a Jenkins server, potentially that you control, so it can do anything Jenkins can, which includes building windows artifacts.


Don't confuse new terminology with math. Programming has lots of terminology, and some of it is backed by mathematically rigorous definitions, but that doesn't require you to know that in order to use them.

OO has 'Inheritance', 'Subclassing', 'SOLID', 'Liskov', every design pattern name, 'Object', 'Class', 'Overloading', 'Factory', etc, etc.

Haskell has similar words, covering both core concepts, and common patterns of implementation. 'Monoid', 'Monad', 'State', 'Reader', 'Function', 'Lambda', 'Typeclass' are all examples of terminology in Haskell

None of those words are inherently more difficult than the OO ones, you're just not familiar with them.

The best way to learn Haskell is to follow along with a course that has you do exercises, and actually do the exercises. See the https://github.com/bitemyapp/learnhaskell course for some class recommendations.


Not just terminology. It's more like there's only two levels of Haskell: first it's understandable and I say, "Okay just step by step and I got this. Then all of a sudden we run smack into something like this big wall of WFT:

  * The infix application function (ma>>=\a->f(a)), commonly called bind, executes the computation ma to expose its effects, calling the resulting value a, and passes that to function f. Evidently, the result of this application (f a) should again be a potentially side-effecting computation; hence, the type signature for bind looks like this:

  (>>=):: M a -> (a -> M b) -> M b.

  * The injection function (return a) injects a pure value into a computation. Its type signature is: return :: a -> M a.

  In practice, each effect usually comes with so-called nonproper morphisms. These domain-specific operations are unique to that effect ...
Seriously, how can I hack around and understand this?


Oh, God, you just came to the Monad definition...

From my experience, it only really falls in place after you write your first or second monad. To learn that you go in that order:

1 - Get used to use the IO monad in do notation. 2 - Learn a couple more monads. I'd recommend State and one of Parsec or Attoparsec. (As a bonus, use a bit of applicative syntax too.) 3 - Get used to write some somewhat complex one liners without the do notation. 4 - Abuse the List monad for practice. 5 - Write your own.

All the time, look at the types as much as you need, but do not obsess over them.


I've explored ghcjs. I had a reasonable react based site down to ~400k after dead code removal and minification. Still biggish, but not multi-megabyte.

The raw unoptimized code was in the several megabyte range though.


I think it would be worth sharing that on a blog post submitted to HN. Sounds like a lot of work, maybe there are ways to automate that with a shell script or a Haskell program. 400KB is absolutely okay I think.


I agree, that would be awesome to study/emulate. Possibly use some of the techniques to make GHCJS programs smaller.


What is the 3 color chart that I've seen posted in several of these articles? I get that it breaks down the different CAP combinations with the things that it allows/implies. But is there a good breakdown of all the terms and what they mean?


Here is a paper [0] out of Berkeley that explains the chart you're asking about (the chart appears on page 8). For more information on each isolation level you might have to refer to the cited works or other sources.

[0] http://db.cs.berkeley.edu/papers/vldb14-hats.pdf


Thank you! That's perfect.


The afl fuzzer relies on compiling C code with its own compiler, so I think it's limited to only C based programs.

What you may want is to use something like `quickcheck` (scalacheck or clojure's test.check I guess?) to send lots of "arbitrary" xml at your code and see what breaks. With sufficiently interesting definitions of "arbitrary" you can probably find bugs.

That approach would be testing inside the process, as opposed to passing in whole http requests. But if you know a section of code is more vulnerable than others, focus on it. No need to test all of tomcat's http parsing when you really care about your specific library.


Keegan McAllister has got AFL working with Rust code: https://github.com/kmcallister/afl.rs

Rust is designed to be memory safe by default, but fuzzing is still useful for testing unsafe code, and for finding assertion failures.


It even happened the other night on The Nightly Show - an otherwise wildly liberal show opened their panel with a recommendation that Tsarnaev should be raped in prison.

The amount of vengeance in the american system, at the total exclusion of anything else disgusts me. See-also the torture that is super-max [1].

[1]: http://www.nytimes.com/2015/03/29/magazine/inside-americas-t...


White males being raped in prison does not figure very high in the liberal agenda. The prison rape elimination act was a result of lobbying by conservative and Christian groups.


I have been using spock for a 2-3 end point website. It's good. Very simplistic form of web framework (along the lines of sinatra).

The docs should be a bit better, with some examples of how to use the database and session features. I couldn't figure out how to get the database pool to work with Persistent (a db mapper library).

I bet its obvious to somebody with more knowledge of the type system extensions used, but I gave up after playing with it for an hour or two.


Did you look at https://github.com/agrafix/funblog ? It shows how to use Spock with persistent.


Amazingly in depth post!

I'm sad when programming languages have to reach for new keywords and syntax to add features.

`function*` is difficult to google for, and doesn't have any human readable hints for somebody to understand.


JavaScript is constrained by backwards compatibility. That’s why the ideal solution, the keyword `generator`, wasn’t possible.


This can't be about backwards compatibility. If it was, they wouldn't have been able to add 'yield, 'await' etc.

I don't agree the keyword "generator" would have been ideal. It wouldn't work when using 'enhanced object literals' [1], where you can declare a method without even using the keyword "function". In this case, if you want the method to be a generator, you can just put an asterisk in front of its name, so it's consistent with the "function*" syntax.

[1] https://babeljs.io/docs/learn-es6/#enhanced-object-literals


FYI, "yield" has been a reserved word since ES5 and "await" is becoming reserved in ES6 (for eventual use in ES7): https://mathiasbynens.be/notes/reserved-keywords

It seems like a word must be reserved for at least one ES version prior to it being used.


What about the "yield" keyword?


It's only valid as a keyword within the `function*` block, so the parser can treat it as an identifier elsewhere. I haven't read the detailed spec, so I'm not sure that this is the standard behavior, but this would be a way to preserve complete backward compatability.


Yes, that’s how it works. `yield` is only reserved in ES5 strict mode. But due to it only being a keyword inside generators, there are no problems in non-strict mode.


Why do you think the current syntax is more backwards-compatible? Vanilla ES5 parsers complain loudly when seeing "function *".


It's the other way around. ES6 needs to support loading ES5 content. They can't make 'generator' a keyword because it was a perfectly fine variable name in ES5.


You are right. My bad.


That would be considered "forward-compatible".


which is strange, considering the `async` keyword in upcoming versions.


AFAICT, `async function` is OK, because you combine a keyword with something that is contextually turned into a keyword. With a single non-keyword that isn’t possble. For example, the following code (a hypothetical ES6 anonymous generator expression) could be an ES5 function call followed by a code block.

    generator (a, b, c) {


That's why it wasn't included in the ecmascript 6 draft. In es6, "async" and "await" are future-reserved keywords. It's kind of a process of marking variables named "async" as deprecated. The spec authors have to balance compatibility with making the language pleasant to use.


Is there even any situation where "async function(..." or "generator function(..." is currently valid syntax?


I don't think googling is much of an issue here. Unless you're talking about the very first occasion that someone sees "function*", then OK, they can't google for that easily... But they can google "function with astersik" or something and they'll find out it's called a "generator", and use that in future.


An unpopular opinion on a post about JavaScript maybe, but C#, Python, and others have implemented generators with no extra syntax because of an actual type system aside from "object, number, string, bool".


I keep tax and similar docs on dropbox inside a truecrypt encrypted disk. Suitable level of security for my needs, and I like that its synced across a few systems (including one that is separately backed up).



Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact