skysight-inc/HackerNews huggingface dataset:
Ask HN: What programming language do I teach my 7 year old son?
My son is 7 and I think it's time to teach him how to write some software.

What language do I pick though?

Go? Precise, fast, C-like.

Ruby? Easy to read, fun, will hamper his future learning of other languages?

Javascript? Ubiquitous, yet terrible?

Elixir? Fun for the both of us, but maybe too hard for him? Will soil him into functional style programming from here on out?

---

What do you guys recommend? Any parents here have experience teaching their children how to write code?
You don't find the Hadza colorful enough? It's not as though contemporary Chinese culture contradicts TFA's hypothesis.
Ex-Googler forced out of the US due to visa issues, builds startup in Australia
That no longer makes sense unless it isn't feasible to preserve the change history along with current state...
India launches mini space shuttle
This could be really horrible, especially if you use a password manager and copy and paste your password......
All that and it still couldn't get the right answer? With a basic pattern like that?

I suspect somewhere Hofstadter is having a good laugh.
A Spat Over the Search for Killer Asteroids
How to get a free Stripe t-shirt, AKA stop exposing your API keys
That's really interesting. I never knew about the Subaru-lesbian connection. I remember the "da-da-da" VW ad and has no idea about its gay friendly-ness. Great article. Thanks for posting.
Here's another example showing how you can use the :fn spec to relate the :args and :ret values in arbitrary ways.

(defn title-case
"Capitalizes the first letter of each word"
[s]
(str/replace s #"(\w+)" (comp str/capitalize second)))

(title-case "moving pictures") ;; => "Moving Pictures"

(spec/fdef title-case
:args (spec/cat :s string?)
:ret string?
:fn #(= (-> % :args :s str/capitalize) (-> % :ret str/capitalize)))
Age of Ultron is not available for rent because it is on Starz. This is similar exclusivity deal but with traditional premium TV channel. This happens with most movies. They are available for rent for a while on streaming sites, then can't be rented when on pay TV, and finally can be rented again after year or two.
I'd guess mandatory programming languages won't have much impact on the amount of people who go into programming as a profession.

I'm torn on the utility of it; unless you're actively working in it the information degrades very quickly. And unlike spoken languages, if you try to come back to it later very little of what you learned before is still valid.

Classes on general computing - and not "coding" - would seem far more useful than teaching kids Python 2.x for a few years. But at the same time those would be far less accessible.
A real quantum computer wins by a long shot in terms of coolness and difficulty to construct... But at this point there's no performance increase and they should provide the same results as a simulator. So I'll take the instantaneous results that a simulator provides until the hardware catches up.
Many pages in the New York Times are impossible to select text in. But I just select the text from the page source. After reading this article, I'm thinking that might be a good idea in general.
I don't think you can run the web app on linux.
Yes, I can see (now) a different interpretation of the parent post. I get your point.

It is too bad you didn't have a good experience with CC. My experience with community college was quite different and very rewarding. In fact, when I transferred to university I was farther along in computer science and math than my classmates. However, I did have one class, WordPress (in which I was told we would learn to build themes from scratch), that parallels your experience!
Demand Media makes money by monitoring ad networks and then paying people to churn out worthless content that pollutes search results. They watch metrics very carefully.
It seems shady, but it's pretty common for people working with kids or elderly or disabled to be fingerprinted. There's the possibility of abuse. Volunteers have a weaker affiliation with an organization than employees so some organizations feel the need to go a little further.
> Experienced people often forget the learning curve when they were themselves beginners, and at that time Rails was so attractive, so sexy. Remember that feeling? Of accomplishment in the face of the knowledge that some nice witch left super useful black magic behind?

As one of those beginner programmers who had graduated from a development bootcamp, I fell in love with Sinatra much more than I did with Rails. Part of that love may be due to our curriculum...we have to master Sinatra first before you can start learning Rails. But I also liked the finer control that Sinatra provided to me. I suppose you can translate this to the current buzzword jargon of "hating Rails' magic", but writing out simple authentication using Bcrypt is just as much an accomplishment as using the Devise library.

But your bigger point still remains intact. Passion should take a backseat towards choosing the right tool for the job. If you need Wordpress, use Wordpress. If you need Rails, use Rails. And so on and so forth. I may not like a certain tool...in fact, I may hate it, but I should still go ahead and use it anyway. You're here to complete a job. And you should make sure you do it well.
It's important to point out that the "yes, actually leave" option is not overridable. As a developer, you only get to set what message is displayed. The browser handles the rest, and it's basically "stop redirecting or continue". The developer only has control in the "stop redirecting" case.
The distribution of jobs around there seems to be non-obvious and may require a lot more effort to find certain market sector jobs. For example, I literally just looked 30 min ago in Atlanta for jobs at Google and there's not a single software engineer / operations engineer job listed. Meanwhile, there's a hundreds, maybe thousands in jobs for well-known software companies in SV while in Atlanta I can see pretty generic jobs at Coca Cola, GE, or a smattering of entertainment. Otherwise, I've only seen cost-cutting outsourcing jobs (typical for technology dinosaurs) that are likely for customers that are terrible at software by executive decision.

Despite the dollar utility value difference I'll still assert that the most optimal career path for ambitious, diligent tech workers regardless of whether you're looking for money or for long term life balance is to go for as high as you can comfortably go in the Bay Area or maybe NY when young and with few expenses and go somewhere lower cost of living to settle down. Finance people aren't being stupid by going to NYC early in their career I'd imagine. This career pattern is supported by a study linked on HN a while ago (sorry, can't find link at the moment) with a report on expected earnings when going from the Bay Area elsewhere - starting with as high of salary as possible helps negotiate your pay when going to a lower cost of living area. Your marketable skills should have grown better working at a tech company doing cutting edge projects than for the usual enterprise shovelware projects that are the bread and butter of tech companies outside tech hubs as well.
I feel that "at least in vipassana" is too broad to be useful – "vipassana" in Pali just means "insight", and there are an awful lot of different groups that lay claim to the term. That's especially true without more resources that support that claim. I'm no expert in this, but I have explored the meditation ecosystem a bit, and this is the first time I've heard the claim that the dark night is necessary.
I used to think English was useless too until I had to read other people's documentation. The world would be a better place if smart programmers were also competent at writing documentation and comments.

I've seen crazy things like punctuation placed in the middle of a sentence. I had to ask, "Is this one sentence or two?" People not using appropriate paragraphs, no headings, rambling sentences etc ...

A little bit of proof reading, editing and formatting goes a long way.
Cookpad also seems to be a nice brain trust of capable coders. It's perplexing to me that Japan isn't better at software. It's practically nerd nation with tons of super talented designers. It feels like it should be easy to push Japan over the tipping point, but who knows why it hasn't happened yet.
You can apply this logic to almost all subjects in school aside from the very basic ones (math, reading/writing) and even then you can argue school need not be teaching at a high level.

> I feel like just shoving code at kids isn't going to do much unless they are also incentivized to use it somehow.

We shove kids into biology, chemistry, physics, literature, art, etc. The ones that like it will make it their career or college major. The ones that don't will forget and throw away their notes after the final. The same will happen with programming classes.
> But for larger organizations with operations folks we expect to be able to scale individual pieces of the stack or use our own managed infrastructure (e.g. MySQL, Redis, RabbitMQ).

Puppet professional services consultant here. I work with lots of "enterprise" teams on "ops stuff" on-premise.

Between 2010 and 2016, I observed a change in teams interested in trying to scale individual components. Back in 2010/2011 teams did expect to scale out and manage individual components of the stack. Today, nearly every team I work with is like, "Oh you ship your own postgresql server in the product? Awesome, I'd much rather use that (and make it your problem)." Same is true for pretty much every component in the stack.

I don't know exactly why this is the case, but I have two suspicions. First, every Ops team I work with is has too much on their plate. Way too much. They're having trouble finding people to hire. They're happy to offload a potential maintenance issue, particularly if they're paying for the software. Second, this might be a reflection of crossing the chasm to the mainstream market sometime between 2011 and now, so the teams themselves might be inherently different.

What surprises me is that it doesn't really matter what industry the customer is in today. Government, technology, retail, insurance, finance, whatever... No team is interested in taking these maintenance issues on unless they _have_ to. Making a product they don't need to tune and scale component-by-component is a highly valued feature. Both for SaaS and On-prem products.

I think this "feature" is the common root of all the things cited as issues in the article. Making this stuff easy to operate is _hard_, hard enough for SaaS and _much harder_ when on-premise.
For people that receive hundreds of applications a month this might be a thing, but in smaller cities, the number of applicants can amount to around a dozen a month. I don't get the point of only reading a cover letter when the number of applicants are managable.

If a potential employer can't be bothered to even look at my github then why would I try to write a cover letter? Trying goes both ways.
Wow, in 20 years Japan will be producing some amazing technology. I think people underestimate how transformative an understanding of programmatic problem solving can be. I'd put it only slightly under literacy.
Yes, it definitely felt faster. The network tab in google chrome indicates a 9.8KB of CSS file, unminified, which is possibly the reason.

Thanks for pointing out this mobile testing methodology. It really helps to evaluate new CSS frameworks, which we see often nowadays.
Based on the bug filed[1], "Return number of documents in the result counts as HTTP header or in JSON," the implication is that including the number of documents in the result in the JSON would be an acceptable solution. If that's true, then they're OK with parsing the JSON.

Although, to be fair, the related issue[2] specifically asks for an HTTP header.

JSON parsing is generally pretty fast, but I can understand it being unnecessary overhead (although in general, there are other more significant opportunities for optimization).

If you've ever implemented a JSON stream reader/writer, then you've done partial JSON parsing. Check out the tool `jq`[2], which will parse partial JSON surprisingly well and fast (and this is just a utility).

[1] https://github.com/elastic/elasticsearch/issues/18312

[2] https://github.com/elastic/elasticsearch/issues/16993

[3] https://stedolan.github.io/jq/
The problem to be solved here is not just software. How do you beat the economies of scale that standard designs have achieved?

For most applications, the end user gets vastly more computing power per dollar spent when they buy an off the shelf design that's in large scale mass production.

You could port BSD or Linux to your new architecture for a reasonable amount of money (though that's already an uphill battle selling that to a consumer). How are you going to even come close to the unit economies of scale that Intel and other large established players enjoy?
I wonder if they'll take volunteers.
> But one company is finally helping Korean studios go fully digital, and the impact for animation in the U.S. could be significant.

Does this not smack of a PR piece?

http://paulgraham.com/submarine.html
Depending on the bank and your type of card between 500,000-2,000,000+.
Indeed!

I think there's a valuable lesson to be learned here: among the Hadza studied by ... every nursing mother is supported by a post-menopausal helper, nearly always her mother or mother-in-law.
Then what is point of, say, Math class? You still remember much of the Math formula?

Personally, I think in this information age Programming is a much relevant subject to be taught in school than traditional ones like Math, Chemistry, Physics and etc.
Before Marriage After Marriage
Ignoring the SMB market: If you send something like a Synology to an enterprise customer you will get a bad reputation. Better off just getting whatever rackable Dell or HP offers will serve your purposes. You also get the benefit of their hardware support which can be onsite with parts within 4 hours or less depending on the support you pay for.
It should be taught in tandem with Mathematics, as a way to explore and apply the concepts they are learning.

America should start doing this as soon as possible, been saying it for years.
Or just has a fun little `rm -rf /`
More to the point: if a few molecules of something cause your body to asphyxiate itself, it's hard not to call that a biological blunder.

Maybe there's more to the story, but it's not a matter-of-fact simple defense against peanuts.
I would put it on the same level as literacy and basic arithmetic.

It exposes you to entirely know ways to solve problems, a basic understanding of computer science on a societal level would be amazing.
It's true that acquisition announcements have gotten like that, but so has the genre of the angry internet comment response to them. The former, at least, contain a small amount of information; the latter only bitterness.
American prime-time cartoon seemed overly focused on non-serious work.

Don't get me wrong, I loved Courage, the Cowardly Dog, but there's a reason why I continue to watch anime.
No reason why you can't just stick with Padrino for full scale development. I have an app with over 22,000 lines of Ruby and HAML with about 80 database objects all written in Padrino and it runs beautifully with around 150 users at the moment... (www.hrpartner.io)
You make a great point. My experience was the opposite. I desperately wanted to learn more about programming in junior high school, but the math teachers locked all the interesting computers up in their office and really didn't know much about them anyway. This was in the 1980's. Back then, computers were very tightly coupled with math and science, which was incredibly limiting for someone like me who didn't excel in those areas but was totally obsessed with computers. I remember I used to write BASIC programs in a notepad with a pencil! I eventually taught myself Pascal and C at home. I remember showing a math teacher at my high school a program that solved every problem on our homework assignments for the semester. She gave me a C because she couldn't see my work.
Confusingly, compulsory licensing (which is specific to the US) actually only refers to a new recording of a song, i.e., a cover version. If you want to use an original version, you still have to negotiate a license with the owner of the sound recording (usually the record company), because sound recordings have their own separate copyright. There wouldn't be an equivalent concept of a "cover" for a film, of course.
Apart from mental illness, perhaps some practitioners of deep meditation have simply trained their brains to disconnect from physical reality and not align with the physical and emotional stimulus that keeps thoughts "normal"
Only 11% of Japan lives in Tokyo, so who cares? It's overpriced anyway.

Japan obviously can find a use for software developers. Japan launches spacecraft, has 2 of the 3 major video game console companies, is well-known as a major place for robotics, has major car companies, and has started to get back into military equipment.

Programming isn't all about web sites and phone apps.
I didn't read the article totally but this experience seems to be a result of incorrect practice. Just meditation without mastering the previous steps of Ashtanga Yoga is not advisable. Yes - you can use it but not as the main vehicle for your practice. I meditate daily - between 1/2 hr to an hour. I do not have the time to spend doing it for hours at a stretch. I do not think I have the temperament to do it either. Forcing myself to do it for hours on end is repressive - the focus and concentration should come about naturally. Even then a highly contemplative practice is not recommended without the close and personal guidance of a Teacher (or Guru).
I meditate two hours a day, every day. Mostly Zazen. I haven't experienced mental breakdowns. However, when I first started using imagery as a focal point, I would weep uncontrollably about mid-way through my meditation session. I think it was a release of pent-up emotion.

It lasted about a week and then stopped completely.
It will be interesting to see what kind of effect this will have on their society and industry. I know everyone has their anecdotal opinion as to whether this a good or bad idea, but we really won't know until a decade or so has passed.

I'm interested to see whether the gender ratio of programmers will change at all.
I'm not sure I'm reading that right, it's late and I'm not a lawyer so it's kind of flying over my head... is it saying I can burn some CDs and release the entire back catalog of Britney Spears songs on my own, for a profit, as long as I pay a royalty fee?

If that's the case, how can Taylor Swift or Garth Brooks etc keep Spotify from streaming their music? Why aren't all streaming music services catalogs exactly the same? And how can labels demand YouTube take down my video slideshow of vacation pictures that features popular songs?
I didn't say English is a useless language.

It's a very useful language, but I doubt a Japanese classroom is a good place to become a good English speaker and user.
Not at all convincing. I have been meditating for more than 10 years and it has always been an exhilarating experience. The author is trying to make up a story, it seems.
And I can sympathize with that. But those prints should be destroyed -- with a verifiable chain of evidence witnessing their destruction -- immediately after the background check. And people should have the right to inquire about whether prints submitted for background checks of this form are retained. And LEO organizations, including the FBI, shouldn't be allowed to lie.

More systemically, routine background checks on people who are not suspected criminals should be handled by an independent organization outside of the FBI.
The real question though is whether this is because the model is biased, or whether it is because the two populations have different levels of risk. If group A had a higher risk than group B, than I would expect the model to have a higher rate of false negatives for group A than for group B. This is just because the model is more likely to (correctly) assign members of group A as high risk, and some of these classifications will be wrong. To check for bias you have to control for this base rate difference.
I wish 'programming' included teaching our kids how to be proficient users of technology. How to effectively google, how to bring up a terminal, ssh to another machine, how to secure your privacy are the type of skills I hope are included in this definition.
The architectural and process engineering aspects of programming are better left to learn in adulthood.
Keep in mind that elementary school kids in Japan also attend evening "cram" schools, where they drill on the subjects on the curriculum. I wouldn't be surprised if the real learning happens at Kumon, etc. By the time they're in high school, it seems like it's all about passing tests and getting into college, but I never went to Japanese school, so my perspective could be totally wrong.
Two parks for a 1-bedroom conapt sounds excessive.
This is typewriter art which was a fad in the nineteenth century. The author's persistence in calling it "ASCII" while mentioning typewriters only three times in the article is laughable.
This is wrong. Linear types are about values having a single-threaded logical history. It's true that linear types allow you to soundly implement certain operations as in-place modifications of their inputs, because these inputs are guaranteed not to be used anymore by other computations. But that's an implementation detail. If you don't need to control the number of logical futures of your values, you don't need linear types.
Programming isn't just web sites and phone apps!!!

Japan is the source of the world's most popular operating system, iTRON. Never heard of iTRON? Ah, well, it's probably in your microwave or anti-lock brakes or thermostat or coffeemaker or ...
Like others have said, Netflix is acting like a channel. Unfortunately, Americans love exclusives. When people talk about Playstation v. XBOX, they're not talking about the UI or controllers anymore, but the exclusives. Exclusives are bad for the content and for the consumers. Content tied to a platform that loses, moonlights or just fades away also fades away. I know a friend that really wanted to play an oldschool Buffy XBOX 1 game and would pay for it, but it was only released on the XBOX. Other titles from the period released on PC still exist in markets, but Microsoft obsoleted not only the console, but the content. Maybe Microsoft will make it so you can buy it again in HD on the XBOX TWO, but it really wasn't that popular so most old content is now dead until someone illegally emulates it. Bad for content, bad for consumers, but unfortunately good for business.

What I want from a content delivery service is for them to deliver content, not produce it and not cultivate exclusives. Their business-model changes when they wear three or four hats and who they're serving also tends to change. I like to keep it simple. If you make your service convenient and the content you sell convincing enough, I'll shop there. Just like any store. You don't have to be the only store in town that can sell pickles as long as your store is in a convenient location, you take cash and have a value-priced variety of products. You can bypass all that if you convince all pickle-manufacturers to only sell to your store though. People shouldn't applaud this.

The subscription model makes this more difficult because you become dependent on the store and not the product-producer. Ownership is more ambiguous and who gets paid and how much becomes the storefront's decision as they gain adoption (see Amazon). I wrote more about what I think would be great at an airplane level on another post[0]. I think it's going to get worse before it gets better. It might take a MtGox level Steam shuttering for people to start valuing ownership again.

[0] https://news.ycombinator.com/item?id=11623806