No, I recognize it's a hard problem, that's why we should be devoting significant resources to doing things now.
I get the point about unintended consequences with cascading problems (and cascading solutions to the new problems) (https://news.ycombinator.com/item?id=2743879) but the odds of screwing up here are much less than screwing up on AGI, whose work has already significantly started and may be completed first anyway making this whole discussion moot. Geoengineering is risky, but it's not as risky as other things, including inaction, which as the status quo guarantees loss of thousands of lives. Even if the climate change alarmists' greatest fears come true we still easily have 50 years to try things on smaller scales before time is up. Anyway I think it's a lot more feasible for a strong nation to lead a technological solution than to convince all strong nations to curb their development. Call it a plan B if you must, but at some point I expect climate change alarmists are going to say something like "China and Russia and India aren't playing ball hard enough, their emissions are still causing global warming that will end humanity in x years unless they immediately reduce to the levels of the USA and the EU whose combined efforts bought us y years but it's still not enough, so it's time for war to make them."
When you have treated all symptoms and stopped them from arising again, the disease is effectively cured even if you still carry it. The final solution will be complete mastery over our planetary weather, it's better we do that sooner than later. Tsunami and earthquake deaths total far above terrorism deaths, we only need funding to fight terrorism to the extent that they get in the way of building to that final solution. Even if we "fix" the climate change disease (say perhaps by wiping out industrial-era and beyond humanity, the disease?) those other natural phenomena will still be killing many.
Near the end: "If mankind had to choose between a warmer or a cooler climate, humans, most other animals and, after adjustment, most plants would be better off with higher temperatures. Not all animals or plants would prosper under these conditions; many are adapted to the current weather and might have difficulty making the transition. Society might wish to help natural systems and various species adapt to warmer temperatures (or cooler, should that occur). Whether the climate will warm is far from certain; that it will change is unquestionable."
"Runtime", or "REPL" time, or "doc time" are all ways you can just "look at it". Do you think knowing "x" is type "Foo" tells you anything about what you can do with "x", other than use it where you can use "Foo"s? You need to figure out what you can do with "Foo" by reading the docs around "Foo". Yeah, I know a priori I can call a method on Foo that returns an int and pass that to other int-taking methods, but is that what I want to do? Which method returning an int do I want to call? You need to look at what "Foo" is to determine this. Rich's example is HttpRequestServlet in https://www.youtube.com/watch?v=VSdnJDO-xdg I'd recommend watching that and ignoring me. A lot of the issues he raises, as contextfree points out, are around OOP rather than static typing in general so take these as my views and not necessarily his...
If "Foo" is just dynamic data, perhaps in a map, composed of other data, and it's values all the way down, any of those three points of time are easy ways to look at "Foo" and can generally be faster than reading a JavaDoc page or ctrl+spacing figuring out what you have access to and what it all means and what you want to do with the data and code associated with "Foo". Since you're going to be looking at the thing you want anyway, I find it very uncommon in practice that I accidentally divide a string by 2. Static typing would let me know before I run the thing that I was an idiot (maybe, see next paragraph), but I'll find out almost as quickly when the code I just worked on (either in the REPL, which is very nice, but even from the starting state) actually does what I want -- you do that regardless of static/dynamic typing, right? You don't just write code and never verify it does what you want, trusting that it compiled is good enough? Anyway when I run it, I'll immediately hit a runtime error (which can be handled in Lisp in ways way more flexible than exceptions in other languages) and realize my stupidity. So I don't find that particular situation or class of bugs very compelling.
Nor do the presence of declared types alone guarantee my safety -- I need to know about any conversion rules, too, that may let a String be converted to an int for division purposes, or if there is operator overloading that could be in play. Conversion rules and operator overloading are interesting regardless of the static/dynamic typing situation because too much or too few can lead to annoyances and bugs. Java lets you concatenate ints into strings with "+", Python doesn't, but Python lets you duplicate strings with "*".
What I have run into in both static and dynamic languages is division-by-zero errors, which, unless you go all the way to something like Shen that supports dependent typing, your type system with "int" declarations will not help you with. I've run into errors (in both static and dynamic languages) parsing string contents to extract bits of data. I've run into errors around the timings of async operations. I've run into null pointer exceptions (though much less frequently in dynamic languages, maybe once the Option type is in wider use I can rely on that too but its issue is poisoning the AST). I've run into logic errors where I thought the system should be in state C but instead it transitioned to state E. The bugs that take the longest to diagnose and fix are simply due to not understanding the problem well enough and having an incorrect routine coded, so I have to figure out if it's a logic error or an off-by-one error or simply using the wrong function because it had a suggestive name and I didn't read through the doc all the way. Rich made an interesting point in one of his talks that all bugs have both passed your type checker (if you have one) and your test suite. My point is that I'm not convinced static typing as I'm given in the languages I work in is worth it for any reasons beyond performance because I don't see any other improvements like making me more productive or writing less bugs. I'm not opposed to types and schemas themselves in general, just static typing. I'd rather see pushes towards full dependent typing and systems like TLA+ (which has seen more industry usage than Haskell) and Coq than things like core.typed in Clojure.
The last point I'd raise is that I agree with you developer efficiency is more important than code efficiency. But this has been one of the mainstay arguments from the pro dynamic typing camp for many decades, with static typing advocates conceding that yes the developer will be more productive in a dynamic language but the performance is terrible for anything serious. If you want to argue static typing was actually more efficient all along from a developer perspective than dynamic typing, you have a lot of work to do. I'm not particularly interested in that argument (at least today) but the point still needs to be raised.
I doubt Rich will ever push for it, but stranger things have happened. Types get in the way of data. When you ask a request "What's in you?" in Clojure you can just look at the data and find out. In Java you can ctrl+space in your IDE and look for public methods that by convention start with 'get', and then for the return values of those things also look for things that start with 'get', but that's a pretty impoverished way to get at the data. Try printing it out and you're likely to just get a memory address, great. So what do types buy you? Sometimes performance, but if that were always true then all static languages should be about as fast as C. The other thing is this "certainty" mentioned, and that certainty is just that you didn't make a typo or spelling error, woop-dee-doo, those are among the fewest sets of errors dynamic programming language users run in to, especially when you change your workflow to take advantage of the nature of dynamic languages, and a more valuable certainty is that this piece of data you have isn't going to change underneath you. You have to go all the way to Haskell (I'd argue Shen) to get real benefits of typing beyond performance and typo-protection, and most programmers are unwilling to do that for very good reasons.
Greater than any technological or Presidential initiative challenge is the challenge of culture and media. Human lives matter a whole lot more now than they did during the Apollo missions, and a disaster resulting in the deaths of astronauts is the worst thing that can happen to NASA. As long as it is subject to public scrutiny and criticism that affects its budget and goals, it will continue in the fashion of the medical industry -- accepting all the consequences of do-nothing neglect instead of doing something that carries the risk of the deaths of a few individuals. In the medical industry, hundreds of deaths some of which could have been averted with not-yet-FDA-approved surgeries or drugs; in the space industry, the always looming threat of an extinction-level asteroid or other existential threats.
Liberals simultaneously believe they can outlaw guns but they can't outlaw drugs. Hypocrisy can be fun to notice in your hated enemy, but sometimes you have to dig into the details of each idea separately without analogies to similar surface level ideas.
There was no censorship on saying a lot of things the puritans didn't like said, but the consequences of saying them could be your life. Nowadays the consequences for saying what you can't say are merely limited to loss of job and any future career in your field and the only media exposure being to solidify how evil you are. See: https://handleshaus.wordpress.com/2013/12/26/bullied-and-bad...
Flooding the country with Arab speaking immigrants with the goal that some will filter up to the TLA agencies to help with surveillance on their former countrymen is ludicrous. If you want the numbers of Arabic speakers increased, you teach the language or hire existing talent. In any case, machine translation is pretty good these days -- even if Google doesn't perform that well on Arabic. Encryption is a much bigger barrier than language.
I was an October baby, so I started "a year late". I only had one good friend a year above me, we got out of touch when he went to Junior High while I was stuck in 6th grade. My other friends were in the same year and considering the older friend grew up to have lots of legal problems, I'm not disappointed on that end.
I do wish I had finished a year earlier, though. It would have meant cheaper college and would have also meant starting a career sooner, which for me is above $100k/yr. It would have also increased the chance of my mother still being alive since she died right after I was hired and I think if she didn't have to work until the end because I'd have been paying her bills she'd still be around.
I'd suggest going with what your kids want. If they want to learn, go for it. If they're perfectly happy with pre-school/daycare, or have lots of friends in that age group, maybe reconsider. They'll make new friends regardless of the grade, though.
Batman was pretty bad, but you can't use any game from Bethesda to further your argument. It's pretty well known that if you don't want a super buggy Bethesda experience, wait for the game of the year edition.
The data should speak for themselves. Unfortunately people who don't know statistics think they can't, because as we found out from emails, the data were "manipulated" via statistical methods: https://en.wikipedia.org/wiki/Climatic_Research_Unit_email_c... Honestly I'd rather we press scientists of all sorts for all their source code and modeling tool configurations including the raw data that hasn't been post-processed to hell in an "acceptable" way (recalling that the statistics involved in generating p-values were "acceptable" for psych journals until recently).
Is there potential evidence you could imagine that would change your mind about that premise? I agree with GP that inequality is fine if the basic needs of everyone are met, I also go further and agree with Paul Graham that inequality is a sign of a healthy economy (http://paulgraham.com/inequality.html). I also find nothing wrong with inherited wealth because I love my heirs and want them to have an easier life than I did, I want them to have some silver lining if I pass, I'm in this for more than just myself. I thought about it for a few minutes and one piece of evidence that might make me reconsider your side is if you could show rising inequality (in an environment with an absolute basic-needs-met floor or not) leads to falling access of the basics like food, shelter, knowledge, and useful technology like penicillin. That would be a potential downside to increased inequality that I would care about -- I don't particularly care about the potential downside of increased inequality leading to increased envy since you don't treat envy by giving in to it.
But like, how are you supposed to move when you have no car, no job, no computer, are 20 miles from the nearest city with things like libraries in it, and use up enough a fraction of your parents' monthly income (or whatever other source that lets you physically live day-to-day) such that they don't have much in savings to loan you?
As 'successful' people we can see many ways out of these arbitrary situations, even if you tie our hands behind our backs with something like "and no plan that involves your current professional skills like acquiring any old computer and doing software dev". We can also execute on our plans. For us, being poor is a choice, many of us started out that way to begin with and chose to do better than our parents. For a lot of others, it's really a lack of capability in not only seeing ways out but also precisely following instructions someone else gave them to get out. As the saying goes, you can lead a horse to fresh water... All the opportunities in the world are useless to you if you don't have the capacity to see them or execute on them.
You kind of need an AI God to bootstrap that. At least, that's the easiest way to get from here (needing a money concept) to there (not needing a money concept).
I get the point about unintended consequences with cascading problems (and cascading solutions to the new problems) (https://news.ycombinator.com/item?id=2743879) but the odds of screwing up here are much less than screwing up on AGI, whose work has already significantly started and may be completed first anyway making this whole discussion moot. Geoengineering is risky, but it's not as risky as other things, including inaction, which as the status quo guarantees loss of thousands of lives. Even if the climate change alarmists' greatest fears come true we still easily have 50 years to try things on smaller scales before time is up. Anyway I think it's a lot more feasible for a strong nation to lead a technological solution than to convince all strong nations to curb their development. Call it a plan B if you must, but at some point I expect climate change alarmists are going to say something like "China and Russia and India aren't playing ball hard enough, their emissions are still causing global warming that will end humanity in x years unless they immediately reduce to the levels of the USA and the EU whose combined efforts bought us y years but it's still not enough, so it's time for war to make them."