Why aren't young programmers interested in mainframes? - <AUTHOR> http://programmers.stackexchange.com/a/75727 <comment><USER2> I remember being offered a local position that required me to maintain the company mainframe (with RPG2). It was quite interesting because they were doing a lot of things by hand that could simply be achieved with a little scripting (in this case, Python and Perl). Things like daily sales numbers were still added up in some obscure Excel spreadsheet (this is the biggest restaurant franchise operator in the Caribbean). The potential to innovate inside the company was huge. But no, their mainframe _guy_ made it clear that the job was to continue on with his legacy of writing obscure _job-securing_ (as he put it) code. I declined all the offers they made, and they are still looking for someone to fill in the position (and will be for a long time). It was sad to experience such situation. A new chance to inject some productivity inducing innovation being shut down by mediocrity. Still, it was fun talking to an old RPG programmer. Even C sounded like an exotic language to him. :)

</comment><comment><USER3> I'm 28 and I work in mainframes. Or rather, I write compilers for mainframes and I have to say that I disagree with the top voted post.

Mainframes have an amazing CPU architecture that is different enough from x86 to really open your mind. Ever move 2GB of memory with 1 instruction? (Well 2 really if I'm being pedantic.) It's got what's easily the industries most complicated branch predictor, and runs at well over 5Ghz. If you're interested in that, you should check out the slides from Hot Chips. Oh right, and it's got hardware transactional memory.

Now I'll readily admit that using z/OS through a 3270 terminal is quite painful, and using USS through SSH isn't much better, but thankfully mainframes now run RHEL. That's right, big iron runs linux. Yes, you'll likely have to recompile your favourite software, but you can run vim, emacs, bash, zsh, and whatever else you want, and you don't even have to deal with EBCDIC.

As for the comment that there's no development on mainframes, well that's just plain wrong. There's a ton of development, to the point where nearly every single financial transaction you make in a day goes through a Z mainframe, and nearly all major retailers use one.

You just can't beat the security and stability. Can you think of another platform where you can hot swap EVERY part? Reportedly, the Z in SystemZ stands for Zero downtime, and that includes OS upgrades and hardware upgrades.

No, you're not going to write PHP, Ruby, or node.js on a mainframe, you're going to be using C/C++, Java, or COBOL (surprisingly good language in some cases). But you're also not falling behind technologically.

This might come off as preachy, but I really do enjoy working on zLinux, it's a really nice environment, and I think that young people might actually enjoy the experience of working on something that's not x86.

</comment><comment><USER4> I am interested in mainframes. They have some pretty awesome hardware, great reliability parameters, and some seriously interesting modes of operation. You know how we like to throw data at a hadoop cluster and do a lot of big batch map-reduce jobs? A lot of those end up being very similar to the types of batch jobs mainframes are great at. Distributed transactions/shards/etc for our databases? Again, stuff mainframes have been doing for decades.

The problem as I see it is access. Sure, like the SO poster mentioned, Hercules exists, but you can't really run modern mainframe OSes on it (legally and easily that is). Further, you can't really get the same experience, because you don't have the hardware offload or partitioning available to you for real.

Heck every time I think I should look into the beasts, I can't even find decent technical documentation describing things.

Compare most of the stacks people on this site use - there are complaints if the documentation isn't formatted right, let alone if it is incomplete or wrong...

I regularly see things people are talking about and/or doing here, and think "man I think mainframes solved that years ago, it sure would be nice to play around with doing this on a Z series". Of course since I can't just do that, I say whatever and play with it on a few linux instances and then can use it myself - with actual knowledge and some experience.

This is why I think no one is interested in mainframes: we can't play. We can't say, how can I...? We can't cut our chops by building a million and one little tools that grow up into really helpful software for everyone. We can't just whip out our phones and read about it when we are whiling away our time in line at the coffee shop or futz with things on an airplane.

It's that when compared to the availability of software and information of the bazaar, the high priesthood of mainframes with their mysteries and closed access can't provide us with what we need to just build.

<comment><USER5> I'm not sure what you mean by "decent technical documentation describing things". IBM is very open about publishing their documentation. For instance "Introduction to the New Mainframe: z/OS Basics" is available here: [http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/sg...](http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246366.html?OpenDocument)

I'm not saying that this makes it easy to get access to, which is still a real problem.

<comment><USER4> This is a good point - I should clarify: what I mean is that there aren't a lot of tutorials, step-by-steps, etc by people using the systems... the type of thing I think of as "screwing around guides". The IBM documentation always feels more like deep manual. I'm pretty sure that even if I had access, I couldn't be up and running on a mainframe in an hour, like I could with some web stack and a simple app tutorial, there don't seem to be good blogs on "how I managed to do $HOT_TOPIC_OF_THE_WEEK on my mainframe". I find these really important for understanding various other technologies... not as an end to my understanding, but as an entry point. Conversely, If I finally get some time to look at Clojure seriously, I know how to find resources in a simple way.

I could very well be wrong about this though. Maybe they exist and I just don't know the ecosystem terminology, but that itself is a problem, I can't even figure out how to get into the ecosystem if it exists.

</comment></comment></comment><comment><USER6> Do I work on a mainframe? What is a mainframe?

I work on system i, old name was AS/400. Yes we use RPG, occasional COBOL is around, and CL is the wrapper. Sine RPG has no standards committee it adapts to the times. The majority of our code is free form, looking more like Pascal/C than anything else. We run web services and the like all in combinations of C, RPG, JAVA, embedded SQL, and such. I even have a PhP based wiki out there and some other oddities. Its nice that one program can easily incorporate modules from multiple languages. Don't even get me into the ease of maintaining large databases, adding tables, indexes, or views. It is so simple as to not require an army of people to support our large systems.

So why aren't people getting into these systems? The easiest explanation is that its not "sexy" enough. I love sitting in meetings hearing all about how certain groups do X, Y, and Z, and how the platform I work on does not, even though we usually do and with far more reliability and less work.

Its all fun in the end, I enjoy coding as much on my Mac as the i. I work with people in daily who interface to us through ODBC, web, and more. I do find that most people don't think we can do something; including so called experts on my platform; simply because they don't even bother to do a google search. My favorite reply to most inquiries is, we might not be doing that today, but by the end of the day I will tell you how we can.

Face it, its boring to many people. They see green screens and freak. Its only part of our work, most of the development is fully web faced or similar provided it suits the business needs. Warehouse and much of retail doesn't need more than fast efficient access to information and input.

Look at it this way, go see what major medical systems, distributors, and even what the casinos use. You might be surprised.

<comment><USER7> Occasional i5 programmer here (is it just System i now? Dammit IBM...)

      > The majority of our code is free form

This is not at all our case. We had a contractor once who decided to try his hand at discreetly converting files from fixed format to free, introducing mountains of subtle bugs in the process. Nowadays we're only allowed to use free form if we're making a brand new source file (which is rare).

      > I enjoy coding as much on my Mac as the i.

Can I ask what tools you use to code on the mainframe?

      > They see green screens and freak.

I can confirm this. Our management is so embarrassed of our green screens (which are for _internal company use only_ , customers never even see them!) that we're actually embarking on a massive project to bolt a PHP-based web- facing front-end onto our system, and literally the only rationale is so that we can use CSS to make our screens look more "modern".

<comment><USER8> My girlfriend works as a retail cashier and she was lamenting her company's switch from an AS/400-based checkout system to a more modern GUI. We're only 20-somethings and she's far from a computer expert, but she recognizes that taking a bit of time to learn keyboard shortcuts and terminal commands ends up being much quicker than using a mouse or even using the tab key to get through forms.

Her company's reason for the switch was making it easier to train new cashiers. I'm expecting they'll see a net decrease in overall cashier speed though.

<comment><USER9> There's nothing stopping the devs/company from putting in keyboard shortcuts as well. However, most people, when building GUI apps, overlook this step.

<comment><USER10> I would love to worry about keyboard shortcuts at my job. The problem isn't that I don't know how to do it, it's that they're invisible, so they're the first thing to fall off the to-do list.

</comment></comment></comment></comment></comment><comment><USER11> I do the odd bit of mainframe security stuff now and again. You can argue the toss all you like about hercules, but the fact is that it's not up to scratch for running a proper stack. Saying you can run Z/OS on it with CICS and RACF and DB2 and all the rest to learn is fine, but you try finding half of this stuff.

The reason young programmers (and not so young programmers) aren't interested in mainframes is pretty simple, it's largely alien to modern computing users. Mainframes are rarely taught in CS degrees, most people go their entire careers without going near a mainframe and when they do see them, the fundamental concepts (batch rather than interactive, segregating security from the main OS etc.) they recoil in horror.

It's also a highly specialist field. Mainframes are typically designed for repetitive tasks with extreme reliability, in the same way that GPUs are designed for specialist programming cases. It's unsurprising then that there isn't exactly a rush to fill the niche.

</comment><comment><USER12> HPC seems a lot more interesting than mainframes. One of my first UNIX accounts was on a CDC Cyber 205 (shortly before it got decommissioned, I'm not _that_ old) and an ETA 10P supercomputer. The hardware solutions Cray and others came up with to things like cooling (inert liquid fluorocarbon?), wiring looms, etc. were amazing. All but the largest mainframes were kind of boring by comparison.

Modern virtualization covers most of the interesting parts of mainframes. There was a lot of weirdness with asymmetric multiprocessing (channel processors for storage, etc.), but a lot of that is fundamentally uninteresting since it is dealing with special cases in an inelegant way. One of the more interesting parts of mainframes were Tandem and other redundant/fault tolerant systems, with multiple processors executing the same instructions in parallel to compare output. I don't know what the state of the art is for that -- obviously in the normal open systems Internet world you could just do this at the application level with multiple machines, but chip/instruction level redundancy might get used more in embedded systems. Conceptually really interesting.

The other really interesting hardware areas, to me, are FPGAs/network ASICs, and HSMs. Trusted Computing, specifically enhancements to EFI, Intel TXT, etc. are all really interesting too.

</comment><comment><USER13> So this is a problem I've been dealing with. Been working out of school for almost two years at a big financial firm, working on Mainframes. I would say I'm relatively lucky in terms of mainframe horror stories you hear, in terms of new software being developed, but yes, ultimately for every "unit" of new work I do, I would reckon there's two units of maintenance.

The one main benefit I've seen working on my team, however, is the proximity to some of our business users and knowledge gained about the business that we conduct. I value that more than some of my colleagues working on an internal toolbar, even though they may be using a more modern technology.

I feel the difficulty that's quickly arising is knowing when to get out before the pigeonhole widens.

</comment><comment><USER14> For those that might be, have a look at <http://www.hercules-390.org/>

<comment><USER15> I found the link to hercules to be the most interesting part of the article. Though the likelihood of me installing the VM and exploring it approaches 0.0, the anthropology of its culture is fascinates me.

</comment></comment><comment><USER16> He named MUMPS, here it is: <http://thedailywtf.com/Articles/A_Case_of_the_MUMPS.aspx>

</comment><comment><USER17> I played with an IBM mainframe when I was in university (mostly for the free t-shirt), and the reason I don't really want to work on mainframes for a living is because too much of what I was doing revolved around the machine, as opposed to problems.

For example, one problem revolved around creating a file, which required me to specify how many lines and how many columns it was before I could open it.

I suppose this is why I prefer higher level languages e.g. Python, as I can spend more time thinking about the problem at hand than, say, the details of HTTP.

<comment><USER18> I too did it for the shirt.

I come across mainframes all the time at work, but I'm an IT auditor and I deal with legacy systems on a daily basis.

</comment></comment><comment><USER19> I worked at a mainframe facility about 20 years ago in the financial services industry specifically a service provider for brokerages. For multiple generations since about 1975 when the Altair came out, everyone both in and out of the field is certain they'll all be perma-unemployed in about 5 years, yet here they are and there's even a shortage.

Its a close analogy to nuclear engineers.

The next thing is its MOSTLY a single company ecosystem. The private companies are all "How long did you work for IBM? Never? Then why are you even applying here?". Also if you think buzzword bingo and crazy inflated requirements are an issue outside mainframes, its much worse on big iron.

Finally it tends to be very poorly understood. 20 years ago it was all full screen editors and IDEs and automated testing and such but even today all you'll hear about is how 2013 mainframe programmers still have to punch physical card decks. I'm sure there are places that haven't upgraded their mainframe dev tools since MVS/360 in '68, just like you'll find PC places that require devs and/or journalists to use "notepad.exe" as their primary editor.

This closely ties into weird ideas about "power" and a demand that "the mainframe" is one individual thing from 1960 which has never advanced since then in any manner, therefore a modern mainframe must be hilariously underpowered compared to a modern iphone. Its actually pretty funny to watch if you have a window into each world.

</comment><comment><USER20> Too expensive to keep in your bedroom.

(Mark Crispin /did/ have a Dec 2020 in his spare bedroom. And I was once jokingly offered NBS-10, but I was in college and renting a room at the time).

I visited the Living Computer Museum here in Seattle recently. It's got some great minis in a raised-floor machine room. I wanted to open up cabinets and get my hands dirty again. (Booting up 4.2 bsd on our 11/780 used to walk the disk drive about an inch /thataway/, and it had to be repositioned periodically. You don't get visceral stuff like that now).

</comment><comment><USER21> For me it was mainly the life-sucking corporate culture that is referred to. I was very interested in mainframes as a young programmer (still quite recently) and I even did a few projects in school centered around Linux for s/390 and Hercules. When it came time to find a job somewhere away from school I couldn't get close to a mainframe without losing interest because of the (sorry to reuse the same phrase) life-sucking corporate culture I would have to penetrate.

</comment><comment><USER22> Because once you've programmed a computer interactively with good tools there really is no going back to anything else.

Mainframe development suffers from crufty tools, a batch-oriented workflow with VERY slow turn-around times, an OS that was positively _stupid_ (mainframes were expected to run mission-critical applications in as little as 32 KiB of memory; not a whole lot of room for user-friendly OS smarts) -- all relics from the dark ages of computing. Kids these days are spoiled by interactive consoles (graphical consoles even!), free-form programming languages like C and Python, fancy full-screen editors and free compilers. They don't have time for mainframe shit.

Yes, yes, I know. Modern mainframes can be time-shared and z/Architecture systems run Linux now. But Linux on a System z is not _that_ much different from Linux on your PC or a SPARC-based server; there's nothing inherently "mainframey" about it except the hardware it happens to run on. When people speak of mainframe development they usually mean MVS, JCL, COBOL, and all those horrors.

</comment><comment><USER23> The fact is that mainframe (emulated at least) COBOL still makes most of the world go around. There are billions of loc in play and maintained. It's out there, cutting your paycheck, processing your loan, or billing your premium.

There are some who claim we're approaching a talent shortage due to the sector's inherent underpaying and uncoolness, while others who poo-poo such shortage on the grounds there are plenty of offshore shops trained and lined up to take on the business for less than the old, local talent. The only thing I could contribute there is there are some sectors, banks for example, who cannot outsource because of privacy/financial regs, so they are stuck with internal hires.

<comment><USER13> The true talent problem I see is maybe 20% solved by offshore talent. I say that because with most of these monster systems, it seems the talent comes in understanding the system yes, but more importantly the business that the system is designed for (around...)

There are offshore people on mainframes in the banking industry, but the problem faced is more in explaining why or how to do something business-wise. Once some of the older ranks , and thus their experience/knowledge, retire there will be less people who understand why the system does what it does, with hoards of offshore who just pump code leading to a crippling process to which I imagine will hinder any non-trivial change.

</comment></comment><comment><USER7> The accepted answer relies too much on hindsight and experience, something that young programmers definitely don't have available to base decisions upon.

The real answer is: no young programmer today grew up using anything other than a PC or Mac, and no CS graduate today was instructed on a mainframe in college (AFAICT that trend ceased in the late '90s).

I'm a very occasional mainframe programmer myself (though I get to use RPG4 rather than RPG2), and I distinctly remember the inner incredulity I experienced during my job interview that anyone (other than banks) was actually still using these things!

<comment><USER8> The school I went to (a state university in Michigan) actually taught mainframe programming with RPG and COBOL. It wasn't a standard major program and it wasn't required, but there must be enough of a demand to keep some classes open for a minor focus during a CS degree.

</comment></comment><comment><USER24> I never considered it because I can't think of a problem I need a mainframe for. If there is something really CPU intensive I would use the cloud (map- reduce XYZ) for it.

Have you ever come over a discussion here on HN and someone said "Let's use a mainframe for that"?

I know there are a few disciplines is science where it is important, but then I would have an interest in meteorology etc. to even consider it. So all the rest I associate with legacy stuff, where I heard horror stories from people. Never "Wow that AS/400 is so cool for X".

</comment><comment><USER25> I remember using an AS/400 mainframe as a kid (I have fond memories of essentially IM'ing back and forth with my father when I was 4 in his office).

I used one helping him with some database migration/upgrade at the same office when I was in my teens. So I've touched mainframes at least, but now all of that is in the fog of time and memory.

Now, I'm a Ruby developer and I honestly don't know what I'd use a mainframe for. I don't know when I'd deploy one, what an appropriate task is for them, etc.

I get the sense they are good for when you have "big data" stuff to deal with, but it feels more like a 1980's definition of "big data" (MILLIONS of rows, omg!) than datasets in the billions/trillions of rows (or huge datasets like a human genome sequence).

I assume on a technical level, being turing complete machines, that I can do 'anything' with them, but realistically what can I do? Can I run a web server? Do data analysis using Hadoop across a huge dataset? Can I easily setup background tasks and queues? Do they do 64 bit instructions? What are the limitations? Can I run Lisp on them? What is the toolset like? Do they support Unicode? What is their database, and what is it capable of?

And what's the best place to learn about this stuff? I can go to Barnes and Noble and get a book on C, Ruby, Java or PHP... but finding good _modern_ documentation on mainframes? I dunno where to look, or what would be considered 'too old' for documentation. Anything about Ruby from 2002 is ancient, but perhaps that's the new hip stuff when it comes to COBOL?

<comment><USER19> "it feels more like ... than datasets in the billions/trillions of rows"

LOL that's a pretty good description of what the financial services company I was working at 20 years ago. Right next to my WAN cabinets was a fully automated tape robot holding something like 4 exabytes possible. 60 gigs on each new 3590 tape cartridge times 100 on a shelf times 10 shelves per "bookcase" times 2 cases per track segment times 30 or so segments long (oh yes I'm well aware that's like 100 yards long and that was a huge PITA WRT my WAN cabinets) that's 3.6 exabytes if stuffed full. Thats alot today. But this story is from 20 years ago.

I was not involved in the DB side but supposedly they had a continuous stream of IRS/SEC related inquiries about individual stock transactions from 7 years ago or whatever.

Supposedly the recent tapes store 4 TB per cartridge, so run the math again and ...

</comment></comment><comment><USER26> I can give you one good reason: Money

I was a developer at a bank in my youth. I lived in a very rural area and it was one of the only nearby places willing to hire a kid with a half complete CS degree. I dabbled in web development while there and officially made the switch four years later. I make more than five times as much now as I did back then.

Before you say that it's because I was a junior developer, I knew many senior devs there were only making a little more than I was.

For the record, that job was the low point of my career. The developers were terrified of technology. Everything was in COBOL (with occasional bits of assembly), and all data was stored in flat files. I remember one developer proudly proclaiming that she didn't "surf the inter-links." I blew their minds by writing a simple regex once. None of them had even heard of regexes.

A fair number (not a majority, I hope) of companies using mainframes are still on COBOL. The language isn't OO (there's an OO variant, but no one uses it). It doesn't even support functions! Code re-use means copy/paste, and you can forget about metaprogramming and higher order functions.

While it's true that COBOL is turing complete and anything that can be written in C can be done in COBOL, I'd point out that the same is true of Brainfuck and LOLCode. You wouldn't write a non-trivial app in either of those languages, nor would expertise in either of them alone make you a good programmer.

I'm sure there are some places using mainframes who are doing cool stuff and aren't terrified of new things, but I still wouldn't want to work there. These days I'm surrounded by really smart people who love learning new things. The fact that I'm also paid an obscene amount of money to do something I love is a plus.

</comment><comment><USER27> A couple of years ago they actually started a one year COBOL/Mainframe education program here in Stockholm. Mostly backed by banks and insurance companies and from what I have heard many of the people that have applied and graduated have been quite young (for example I read an interview with someone straight out of high school who was about to graduate).

<comment><USER28> The school I graduated had a required COBOL class in CS/MIS due to pressure from a big insurance company donor to the school.

</comment></comment><comment><USER29> Everything that was good about mainframes does still exist, and is popular, we just call it "the cloud" now.

<comment><USER30> Fully agree with this statement. Mainframe had 3270 (or vt) dumb terminals and cloud has tablets and smartphones, but this is mainly the same architecture, with more colors and animations.

It is interesting to see that the applications themselves move very slowy, despite addition of colors/animations. Corporate apps are still mainly forms and databases systems. The technologies change, but they still have same architecture than in 60s/70s. Nothing new since mainframe, lisp and smalltalk.

</comment></comment><comment><USER31> I think the top-voted answer here is totally off.

In c2008, during college, I worked at IBM on mainframes for internships and co-ops. I worked on the Omegamon products on z/OS. Later I worked at Fidelity, where I was minimally involved with mainframe programming.

First, mainframes are _awesome_ from an architectural perspective. As one example: when you run a program, you must (I'm simplifying a bit) specify exactly which files it is allowed to access. Moreover, when you create those files, they aren't allowed to grow infinitely - OS will enforce a maximum rate at which a file can grow, and a maximum file size.

Or, mainframes have been doing virtual machines for _decades_. In fact, the only sane way to run a mainframe is to slice it up and run VMs on it. "zVM" is written in assembly and runs z/OS VMs. Nowadays it also runs RHEL VMs. I hear they're putting Intel CPUs in mainframes to run Windows VMs too.

There's more, but I just want to illustrate that the granularity from a security perspective is fantastic. There are tons of technical and features that, in my view, would be very interesting to the computer crowd.

So why aren't young people interested?

First, nobody knows what mainframes are, except that they are dinosaurs and old and slow and whatever. Sun used to give universities pallets of computers running Unix - so guess what university students learned! IBM is trying to bring awareness with their Master the Mainframe competition (which is fun!) or sponsoring Senior Project courses throughout the country.

The OP is right that mainframes aren't available to learn on. And they're so _different_ from the concepts we are familiar with that it is difficult to jump in. "Learn z/OS The Hard Way?" "Codecademy: OMVS Edition"

Do realize that every time you swipe your credit card, you are _very likely_ hitting a mainframe in a bank somewhere. Talk about throughput.

The OP is correct in that if you're not working _for IBM_ writing their mainframe products, you're probably at an awful soul-sucking bank writing COBOL. And really, the COBOL itself is probably not as bad as the fact that nobody knows it and these banks are notoriously bad at documentation or mentoring young people to bring them up to speed. Honestly working at a bank sucks. But banks user mainframes, and banks == bad, and mainframes == slow (somehow), so they are a no-go.

If you do work for IBM on their mainframe teams, those guys are honestly the smartest engineers I have ever worked with. They're all, well, old, but they know C and assembly (lots of mainframe software is written in those languages) inside and out. They understand networks. How to increase throughput. If your webapp crashes, nobody cares. If your bank's mainframe has a segfault you are fucked.

 _But_ then you are working in a very specific part of a very large company. Many young people work at IBM and are content there! They recruit heavily from my alma mater. But perhaps the _types of young folks_ who are on HN, stackoverflow, etc are not really interested in working at IBM, much less learning about an esoteric technology. It will only keep you employable in a narrow (and soul-sucking) part of the industry.

<comment><USER32> > _Do realize that every time you swipe your credit card, you are very likely > hitting a mainframe in a bank somewhere. Talk about throughput._

Why do "mainframe" computers stick around? (I use quotes because I'm not sure what qualifies a machine as a "mainframe"). I'm curious, and not trying to start an argument.

Is it that more popular operating systems and languages we see on HN/SO aren't up to the task of operating at the scale/responsiveness required by financial institutions? Technical lock-in? If-it-aint-broke-don't-fix-it?

I'm mildly surprised that these systems haven't been replaced by something more modern (or at least, modern sounding), but I am blissfully unaware of the world here and am likely missing important data that causes these types of institutions to use mainframe hardware/software.

<comment> a-priori It's partly historical: these applications already exist on mainframes, and it would be very expensive to change, so they don't.

But mainframes have a lot of advantages because they are integrated systems designed for exactly the sort of high-throughput tasks that businesses use them for. Their (single-threaded) processing power is good but not outstanding; where they really shine is parallel I/O performance which lets you execute large numbers of operations per second, or distribute workloads across large numbers of processors with extremely high bandwidth inter- processor communication.

They're also designed to be highly reliable, redundant and modular. You can do things like upgrade and replace processors, RAM, and disk drives without interrupting applications. And speaking of processors and RAM, modern mainframes can scale to >100 processors and terabytes of RAM in one system.

Yes, you can build systems with similar specs and capabilities with clusters of commodity hardware, but then you have the complexity of managing a distributed system. With a mainframe, you have a single beefy machine. You'll also have a support contract with the manufacturer to call when things break, so they can be responsible for doing any complicated maintenance.

On the downside, of course, they're expensive in the "Q: how much does it cost? A: how much do you have?" way that enterprise pricing works.

</comment></comment></comment><comment><USER33> I've never seen a mainframe, I don't really even know what one is or why anyone would use one. I'd think that's the main reason, but if you want to go past that, there's pretty much nothing appealing about working on legacy code in ancient languages with people 40 years older than me. I can't imagine COBOL experience looks particularly good on a resume nowadays when you want to leave the mainframe world.

<comment><USER30> Agree that I would not love working with 40 years older COBOL programmers. However, I for sure would love to work with 40 years older lispers or smalltalkers.

I am wondering if in 40 years from now, youngsters would love (or not) to work with [ruby|java|js|nodejs] programmers.

</comment></comment><comment><USER34> Because not many people think microoptimisations are cool.

</comment><comment><USER35> I remember working on OS/390 and doing COBOL stuff.

I understand how "important" money transactions are. Every time I make a transaction with my VISA or a wire transfer a mainframe is implicated in the process. We get it. It's important.

But what has changed in the last 20 years? Credit cards payments? Not really.

What has changed is that I know have ubiquitous Internet access, things like Google Maps or Open Maps, things like blogs, forums/discussions websites like Hacker News, eBay, Amazon, price comparators, plane fligths finders, StackOverflow and Quora and all the others helping to disseminate knowledge, Youtube and Vimeo, online university lessons, on demand computer instances and storage and _so_ many other things.

So, sure, I _could_ have decided to work on back-end payment processing. We get it. It's important.

But young programmers much prefer to either work for --or try to build-- companies shaping the future.

And it very much looks like the future ain't build on mainframe computers...</comment>


NetData: monitor your systems and applications, with interactive web dashboards - <AUTHOR> http://my-netdata.io/ <comment><USER2> Wow. This has been submitted to HN many times previously (especially by Costa Tsaousis[0], founder of firehol/my-netdata, as "Show HN") but this is the first time it has received more than a handful of upvotes. It is a very nice real-time performance and health monitoring system.

[0][https://news.ycombinator.com/submitted?id=ktsaou](https://news.ycombinator.com/submitted?id=ktsaou)

</comment><comment><USER3> Incredibly beautiful and easy to install on a wide range of linux distros including Raspberry with its standard image.

Amazingly there is only 1 (one) host found in Shodan with netdata running on the default port (19999) but plenty on other ports.

Very cool project. I will certainly take a long look at this, thanks for posting!

</comment><comment><USER4> I've used this a little bit - particularly for lab work it's very handy to have a monitoring system where everything just works and there's a web interface available right from the box, without needing to hook it up to any larger system.

</comment><comment><USER5> This is a seriously impressive project, and a great interactive infographic to explain it all: [https://my-netdata.io/infographic.html](https://my- netdata.io/infographic.html)

</comment><comment><USER6> I discovered netdata in 2016 and it's become a standard part of my server builds. Fast, low memory, and crucially it's pretty enough to satisfy/inform non-tech people.

<comment><USER7> I agree that the value it provides is really high for how simple it is to set up.

At first, my only complaint was the relatively short data retention period, but I found that it was really easy to send the data into InfluxDB or Prometheus by following their wiki. That's not netdata's use-case anyway, and it's trivial to set up a backend db when I want to have long term metrics.

[https://github.com/firehol/netdata/wiki/netdata- backends](https://github.com/firehol/netdata/wiki/netdata-backends)

<comment><USER5> The netdata metrics store is in-memory and works well for several hours, but there's a memory-mapped mode to keep larger amounts of data. There's also a future roadmap to eventually add on-disk compressed archives for even longer retention.

[https://github.com/firehol/netdata/wiki/Memory- Requirements](https://github.com/firehol/netdata/wiki/Memory-Requirements)

<comment><USER7> oh cool, thanks for sharing that link. In case I wasn't clear, I'm happy with using netdata for short-term data, and hooking up a db in the rare case I want long-term. But that link has a ton of interesting details, can't wait to read later

</comment></comment></comment></comment><comment><USER8> How is this better than newrelic?

<comment><USER2> I've never deployed newrelic, but one of the nice things about netdata is the lack of dependencies and configuration knobs. From the web page:

"It collects more than 5000 metrics automatically, with zero configuration, it has zero dependencies, requires zero maintenance and comes with more than 100 alarms pre-configured to detect common failures, performance and availability issues."

<comment><USER8> With new relic you issue a single command to install an agent, or an extension, and configure your license key. Takes a few minutes and you don't need to spend expensive devops time configuring yet another "free" tool.

</comment></comment></comment><comment><USER9> This is neat, but niche monitoring tools often lose out when trying to capture multiple infrastructure/application/business metrics and chart them in a single place. Toolsets like Grafana & a backing DB (Influx, Graphite, etc.) or a service like DataDog or New Relic tend to win out for larger deployments.

NetData looks great, though!

<comment><USER7> I posted this above, but you can get netdata metrics into graphite,opentsdb,prometeheus,etc formats for those databases with minimal work. In that setup netdata is basically a collection agent reporting to whatever database Grafana is reading from.

[https://github.com/firehol/netdata/wiki/netdata- backends](https://github.com/firehol/netdata/wiki/netdata-backends)

The cost of infrastructure monitoring is an instant blocker for my work, but if you are a large profitable company with a huge deployment, then yeah netdata probably isn't the right tool for the job</comment></comment>


Horrors of the Colosseum - <AUTHOR> http://www.livescience.com/53615-horrors-of-the-colosseum.html <comment><USER2> These words by Paul, writing to the Corinthians circa 55 AD, are prescient:

"For I think that God has exhibited us apostles as last of all, like men sentenced to death, because we have become a spectacle to the world, to angels, and to men. We are fools for Christ's sake [...] when reviled, we bless; when persecuted, we endure; when slandered, we entreat. We have become, and are still, like the scum of the world, the refuse of all things."

</comment><comment><USER3> The author goes on a bit about how Rome lost its values and this was the beginning of the collapse. That's fair enough since the Romans spent a good amount of time telling each other the same thing.

But it's a mistake to apply what we think today to how they felt about things. One of the things the Romans lamented was the fact that after the Greek conquest, some Romans were taking to using beds at night! Beds! Every real Roman slept on the ground, where it was natural.

Likewise with the "Horrors of the Colosseum". We think of the animal acts as horrendous -- and they were, to us. To Romans, who knew death on a much more personal level, it was entertaining but not profoundly obscene. (Can you imagine what it would be like to live in a huge city in Roman times without modern medicine? You had to pass dozens in the street every day either dying or almost dead)

They were not without standards. In the history of one of the Christian martyrs, Perputua, there's a story of women stripped naked and put in a net -- in order for the animals to take them. The crowd was horried, however. Why? Because one of the women had just given birth and was still producing milk. So they demanded she be clothed, she was, and the animals proceeded to destroy them all.*

The Romans were a bloodthirsty bunch, for sure. But they did have what they considered to be high moral standards. Those standards just don't match up to the ones we have today. (I'm not trying to make a case for relative morality, simply pointing out that you have to learn and accept the Romans in their own terms. Otherwise you'll be making all kinds of assumptions that simply aren't true)

1\. [http://www.pbs.org/wgbh/pages/frontline/shows/religion/maps/...](http://www.pbs.org/wgbh/pages/frontline/shows/religion/maps/primary/perpetua.html)

* Also interesting was that the Romans selected _female_ animals to kill the women. Because of course that was the right thing to do.

<comment><USER2> That's just relativism, and falls very far short of what we know based on the MSS available.

I doubt the victims felt no pain, or felt no injustice. Mob violence has been around for centuries.

</comment></comment><comment><USER4> we are still the same disgusting species

</comment><comment><USER5> I thought the case for these atrocities being inflicted on Christians was patchy - written by mostly Christian converts, hundreds of years after that occured.

<comment><USER6> Here's what a non-Christian Roman Senator and preminint historian of his time, who spent some of his time in charge of foreign cults in Rome, and was alive during the time of Nero, had to say:

\---

But neither human help, nor imperial munificence, nor all the modes of placating Heaven, could stifle scandal or dispel the belief that the fire had taken place by order. Therefore, to scotch the rumour, Nero substituted as culprits, and punished with the utmost refinements of cruelty, a class of men, loathed for their vices,27 whom the crowd styled Christians.

28 Christus, the founder of the name, had undergone the death penalty in the reign of Tiberius, by sentence of the procurator Pontius Pilatus,29 and the pernicious superstition was checked for a moment, only to break out once more, not merely in Judaea, the home of the disease, but in the capital itself, where all things horrible or shameful in the world collect and find a vogue.

First, then, the confessed members of the sect were arrested; next, on their disclosures, vast numbers 30 were convicted, not so much on the count of arson as for hatred of the human race.

31 And derision accompanied their end: they were covered with wild beasts' skins and torn to death by dogs; or they were fastened on crosses, and, when daylight failed were burned to serve as lamps by night. Nero had offered his Gardens for the spectacle, and gave an exhibition in his Circus, mixing with the crowd in the habit of a charioteer, or mounted on his car.

Hence, in spite of a guilt which had earned the most exemplary punishment, there arose a sentiment of pity, due to the impression that they were being sacrificed not for the welfare of the state but to the ferocity of a single man.

<comment><USER7> Between Nero's persecution in AD 64 and the Decian persecutions in 250, there's very little evidence for state-led persecutions of Christians.

The timeline is roughly (apologies if dates are inexact, but this is roughly correct from memory):

AD64: Nero perseuctes the Christians in Rome, who at that time were a tiny community

AD 65-249: Christianity is largely ignored and left to grow in peace. During this time, Rome enjoys a golden age under five virtuous emperors, then begins to disintegrate under the reign of various tyrants and opportunists.

AD 250-260: Rome is falling apart under various civil wars and there's two major state-led persecutions (by Decian and Valerian) of Christians. (The motivation being "rid the Empire of this impious cult which is weakening our social fabric").

AD 260-300: The "long peace of the Church", where Christianity is officially tolerated.

AD 300-310: Diocletian comes to power and starts a brutal series of persecutions to wipe out Christianity for good. It's from the Diocletian persecution that most of the images of brutal Roman suppression come from.

AD 310-325: Various civil wars, leading Constantine to come to power.

AD 325: Constantine establishes Christianity as the state religion.

So though there's one small persecution in 64, then two medium-sized persecutions in the 250s, then a massive persecution in the 300s, between these Christianity is either ignored or tolerated by the Roman state. There's evidence of mobs of Roman citizens attacking Christians independently of any state backing, but aside from that, Christians were largely left alone for a 200 year period.

This is the age of the 5 "enlightened" emperors - Trajan's attitude is informative. The Romans saw Christians as impious atheists (for not worshipping the Roman gods) and superstitious cultists (for following a novel religion), and they were troubled by the growth of this sect; Trajan took it for granted that Christians who refused to worship the Roman gods should be punished. But, he also states that actively seeking out Christians would be "out of keeping with the spirit of our age"\- a weird Roman kind of tolerance, but there you go.

"You observed proper procedure, my dear Pliny, in sifting the cases of those who had been denounced to you as Christians. For it is not possible to lay down any general rule to serve as a kind of fixed standard. They are not to be sought out; if they are denounced and proved guilty, they are to be punished, with this reservation, that whoever denies that he is a Christian and really proves it--that is, by worshiping our gods--even though he was under suspicion in the past, shall obtain pardon through repentance. But anonymously posted accusations ought to have no place in any prosecution. For this is both a dangerous kind of precedent and out of keeping with the spirit of our age."

(Trajan's letter to Pliny here: [http://faculty.georgetown.edu/jod/texts/pliny.html](http://faculty.georgetown.edu/jod/texts/pliny.html))

<comment><USER2> "Between Nero's persecution in AD 64 and the Decian persecutions in 250, there's very little evidence for state-led persecutions of Christians."

"So though there's one small persecution in 64, then two medium-sized persecutions in the 250s, then a massive persecution in the 300s, between these Christianity is either ignored or tolerated by the Roman state. There's evidence of mobs of Roman citizens attacking Christians independently of any state backing, but aside from that, Christians were largely left alone for a 200 year period."

That's reductionist and misleading. Sure, the state did not always actively mandate pogroms, as you quote Trajan ("they are not to be sought out"), except at least for the dates you describe (and not only those) when it actively did.

But for the rest of the time, neither did the state uphold the rights of Christians. The rights of Christians were at times essentially nil. The state tolerated the persecution of Christians and often partook when requested. Governors were free to execute Christians merely on the basis of being denounced. If anything else, the Trajan letter you quote should make that clear.

To say therefore that this lack of active mandate by the state implies a lack of persecution is careless, and against the grain of evidence.

</comment></comment></comment></comment><comment> guard-of-terra Take this with a grain of salt. After all, Europeans could only contemplate why Colosseum was needed somewhere at the start of XX century. Before that, the modern concept of "stadium" as a place of mass watching of sport performed by professionals was unknown.

Yes, we only then caught up to Rome.

Gladiators were perhaps boxers and ice hockey players of Roman age. Yes, it was dangerous and traumatic, but rarely lethal and very famous.</comment>


Neuroscientists find new support for Chomsky's "internal grammar" thesis - <AUTHOR> http://www.nyu.edu/about/news-publications/news/2015/12/07/chomsky-was-right-nyu-researchers-find-we-do-have-a-grammar-in-our-head.html <comment><USER2> I think we also have visual grammars. We are surprised if heavy and large objects are on top of light and small objects. We have priors on lighting and shadows, depth and occlusion, inside and outside.

We solve these statistically with complex priors and likelihoods. How much you can shove into the prior is the question of universal grammar. That you are born with linguistic priors is I think not so surprising. If they are of the old-fashioned symbolic variety that Chomsky proposes, would be surprising. It's way too "clean" for my liking, personal opinion!

<comment><USER3> I'm not sure about that. A newborn first learns to recognize shapes, then starts exploring its environment using hand-eye coordination. It learns the rules of gravity by watching and feeling. It has a few inborn reflexes, like looking for the source of milk right after birth, but the physics engine seems very much a learnt thing. Also it seems the fundamental physics laws can easily be learnt by a system like the brain (we can even do it with artificial neural nets). Visual cortex seems to be similarly simple. Only for understanding language we have been missing a couple of pieces to the puzzle. That seems still like a miracle. Disclaimer: anecdotal evidence.

<comment><USER4> Since most babies tend to follow the steps of development according to a timeline (i.e. a, then b, then c, and never out of order), and typically on time, isn't this rather evidence that such neural system grow more than the physics system is learned?

The idea that some complex systems can simply grow without inputs is not unfounded in the biological world -- witness, for example, grazing animals such as cows and giraffes that plop out of the birth canal, shakily stand up, and being trotting around. They couldn't have trained that system in the womb.

Similarly, human babies who are growing complex neural systems over years might look like they are learning, but instead they are just growing. That's not to say that we don't learn things later on-- certainly we do-- but that's not evidence that babies are necessarily learning all the skills they become capable of in toddlerhood.

<comment><USER5> The way you formulated that is fascinating and made me understand the whole debate a little better. The strict order in which we grasp things does indeed indicate that these basic skills are perhaps not left to chance waiting until the correct input is provided, but are hardwired into the process that develops our brains.

I guess the Chomsky debate is whether grammar is one of those basic skills. Would two children left unsupervised by adults through their formative years construct their own language that surpasses the communication exhibited by gorillas for example?

<comment><USER4> This has actually happened-- caveat, with deaf people (but sign language does have grammar)-- check out Nicaraguan Sign Language. Pinker has a good chapter on it in The Language Instinct.

</comment></comment></comment></comment></comment><comment><USER6> > Their results showed that the subjects' brains distinctly tracked three > components of the phrases they heard, reflecting a hierarchy in our neural > processing of linguistic structures: words, phrases, and then sentences—at > the same time.

How are they distinguishing between grammar that's encoded in the brain due to "nature" vs grammar that's encoded in the brain via "nurture"? I think we all knew that the brain has some mechanism to detect grammar.

<comment><USER7> Your assumption is that all information necessary and sufficient to decode grammar into its constituents is detectable from the spoken words that a child hears. According to Chomsky there is a distinction between the I-Language versus E-Language [1] (internal/ex) namely because grammar in most human languages is not the most computationally efficient way of structuring sentences hence the need for an uniquely human/innate ability [2].

This is also why monkeys can never be trained to learn human language [3].

[1] [https://en.wikipedia.org/wiki/Transformational_grammar#.22I-...](https://en.wikipedia.org/wiki/Transformational_grammar#.22I-Language.22_and_.22E-Language.22)

[2] [http://www.theatlantic.com/technology/archive/2012/11/noam-c...](http://www.theatlantic.com/technology/archive/2012/11/noam- chomsky-on-where-artificial-intelligence-went-wrong/261637/)

[3] [https://en.wikipedia.org/wiki/Nim_Chimpsky](https://en.wikipedia.org/wiki/Nim_Chimpsky)

<comment><USER8> I don't think any assumption was made here. It is as much an assumption to say that all information necessary and sufficient to decode grammar into its constituents is __not __detectable from spoken words that a child is exposed to. That 's a theoretical argument. Just because we can't think of a way this could be done, doesn't mean it can't be done. At the moment, we simply don't know.

I think what the comment you're responding to meant is that this study shows no evidence for an innate internal language or grammar, which I thought was Chomsky's most controversial claim.

</comment></comment></comment><comment><USER9> This appears to be the paper in question:

[http://psych.nyu.edu/clash/dp_papers/Ding_nn2015.pdf](http://psych.nyu.edu/clash/dp_papers/Ding_nn2015.pdf)

Also, for more background on the idea of the "Universal Grammar":

[https://en.wikipedia.org/wiki/Universal_grammar](https://en.wikipedia.org/wiki/Universal_grammar)

<comment><USER10> Not a neuroscientist, but I do do NLP, and I only lightly skimmed the paper.

This doesn't really speak to UG.

First, you can believe in the structures they purport to show without accepting the existence of UG, by appealing to the existence of general mechanisms in the brain for assembling hierarchical structures, which is equally validated by this experiment.

Second, they looked at two languages with sentences of up to ~7 syllables each with at most two constituents (Noun Phrase Verb Phrase). You can't show any evidence for any hierarchy of interest in 7 syllables. They demonstrated that phrases exist and phrase boundaries exist, but it's entirely possible to have "flat' grammars without interesting hierarchy, especially in simple sentences. If they want to show interesting hierarchy, they should conduct experiments with more interesting structure (say, some internal PPs and some limited center embedding) and show something that correlates with multiple levels of the "stack" getting popped, or something.

It's still interesting work, but as usual oversold by the university press office.

<comment><USER9> _First, you can believe in the structures they purport to show without accepting the existence of UG, by appealing to the existence of general mechanisms in the brain for assembling hierarchical structures, which is equally validated by this experiment._

That was kinda my impression as well, but I don't want to say much more as I'm so far from an expert on this and I'll probably just make an idiot out of myself. Still, as you say, it is interesting work in its own right.

</comment></comment></comment><comment><USER11> I suspect we have a "grammar" which is based on massively parallel pattern matching over a sequence of symbols of bounded length. (I.e. why we deal with ambiguities well, but not long sentences.)

<comment><USER12> if it's so massively parallel, why do I read your comment left to right one word at a time? why garden path sentences that mislead us as we build up an erroneous parse? sure there's some fuzzy pattern matching, but lexical parsing doesn't seem so massively parallel to me - more like a huge lookup table of fuzzy matches (including whole phrases, I don't have to say much about how I'm never gonna give you up, before that clicks for you), while we're also be parsing lexically with quite a formal grammar.

I put a grammar error into the last part of the last sentence purposefully, after I wrote it so you can read it and notice the error explicitly. (Whereas I would expect you to still figure out what I meant.) If it were just pattern matching that grammatical error wouldn't bother you at all even if you notice it, you would just go with the most likely fuzzy interpretation.

<comment><USER13> > If it were just pattern matching that grammatical error wouldn't bother you > at all even if you notice it, you would just go with the most likely fuzzy > interpretation.

I actually had to read the sentence about 3 times, and force myself to read it slowly word by word, before I spotted it.

We often _don 't_ read one word at a time.

I agree with you that "massively parallel" is probably drastically overstating it, though.

<comment><USER14> > "massively parallel" is probably drastically overstating it, though.

Think of a single-core processor executing instructions one at a time. Now think of ten billion neurons in your brain out of which a large proportion is active at any time. That is definitely massively parallel.

<comment><USER13> At that level, yes. But those neurons are not doing high level symbol recognition tied to a grammar.

This is like pointing to the billions of transistors in a typical modern CPU and claiming it is massively parallel despite being single core.

For many things the brain clearly can do multiple things in parallel (I can write one thing while talking about something else, for example). But it most certainly can't usually carry out many high level tasks at the same time.

When it comes to things like recognising words/symbols the question is how high level that actually is, and whether or not the brain has capacity for recognising more than one at the same time, and if so how many.

</comment></comment></comment></comment></comment><comment><USER15> > Neuroscientists and psychologists predominantly reject this viewpoint, > contending that our comprehension does not result from an internal grammar; > rather, it is based on both statistical calculations between words and sound > cues to structure.

Wait, is this true? There are people who seriously suggest that we don't have an innate notion of grammar?

<comment><USER16> Yes, there are. Or at least, that we don't have a special-purpose module of our brain devoted just to that. The common counter to Chomsky's version of innate grammar is that language is the result of the interaction of a bunch of different cognitive modules which all evolved for different purposes, but which when combined happen to make language possible, and have since been under selection pressure to make language work better.

The article doesn't actually provide any support for the "innate" or "universal grammar" hypothesis as it is typically understood, though. This is really about whether the de-facto grammar that emerges from whatever the "language faculty" has a particular hierarchical and recursive structure. And yes, there are people who seriously argue against that, too. The most common alternative model that I have been exposed to is analogical template matching, which actually does a pretty good job at a lot of NLP tasks.

<comment><USER15> Well, OK, I could understand a position saying "We don't have a special- purpose module of our brain devoted to grammar," which is (I think) a direct opposite of Chomsky's position. I'm not a neuroscientist, so I don't really know how much we're close to answering this.

However, that is very different from the quoted passage. It sounds like these "neuroscientists and psychologists" don't think our brain has any notion of "grammar" at all, and everything can be explained better with statistical relations. I find that very hard to accept, and I wonder if a more reasonable position (= there is no _special_ part of brain reserved for learning grammar) was summarized poorly into a much stronger hypothesis.

Well, of course, if we reduce everything as much as we like, then we could say everything is about statistical relation of a gazillion variables (or quantum mechanics, if you go far enough). But that's not useful, isn't it? Even if we cannot pinpoint a neuron and say "This neuron will fire if it sees a past perfect!", if the brain as a whole acts like it has an underlying notion of grammar, then I think it's fair to say that it "knows" grammar.

And, forgive me if I'm wrong, but I'm pretty sure that my brain acts like it has some notion of English grammar. :P

Edit: Hmm, I think I caused confusion by using the word "innate". Apparently it can mean (1) existing from the time a person or animal is born, and (2) existing as part of the basic nature of something.

Chomsky proposes (1), and many disagrees. (I don't find Chomsky's arguments particularly convincing, either.) But the sentence I quoted (which didn't use the word "innate") sounds like it was against (2).

<comment><USER17> Let's say that you are very good at basketball, enough so that you can almost always make a shot from anywhere on the court. Your mind is computing, based off of visual feedback, how to fire your muscles in such a way so that the basketball makes a near-perfect parabola and makes it into the net.

Does your brain "know" the formulas that describe projectile motion? Is it running a physics model in your brain?

<comment> semi-extrinsic A very important difference: someone who is good at throwing a basketball (or any sport, really) will "switch off" their brain while doing so. There's various words for this, e.g. "being in the zone". Ask the person to think about something while throwing, and they'll likely miss. It takes years of training to teach the brain to do the correct motions while " switched off".

Using language, on the other hand, requires us to really think.

<comment><USER18> Language doesn't seem to require conscious thought either. Philosophers like Heidegger and Wittgenstein talked about that a lot. The postulating of an internal thought process "behind" everything is basically what Heidegger spent his life refuting, from what I've read of Dreyfus's book... And Wittgenstein explains language as a tool that people use to get things done, more or less. You can talk without "really thinking", people do it all the time. Grammar is natural in that sense. Pinker's "The Language Instinct" mentions studies that show higher educated people in some situations tend to make more grammatical blunders and to be slightly less "fluent," maybe because of second guessing their language instincts.

(Any errors in this comment due to the fact that I wrote it without thinking.)

<comment> semi-extrinsic I must admit I was thinking more about the mental process of constructing the content of e.g. an argument than of the process of putting the content into grammatically correct sentences. I completely agree you can talk, and even be gramatically correct, without really thinking.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> pdf link, because somehow University press releases never contain references to the actual paper: [http://psych.nyu.edu/clash/dp_papers/Ding_nn2015.pdf](http://psych.nyu.edu/clash/dp_papers/Ding_nn2015.pdf)

</comment><comment><USER20> HN discussion from 6 months ago upon the 50th anniversary of the theory:

[https://news.ycombinator.com/item?id=9762001](https://news.ycombinator.com/item?id=9762001)

</comment><comment><USER21> Well, sooner or later it'll turn out it's all mostly that we're wired to learn grammars; and that we're biased towards learning some types of grammars better than others. (I think evidence has been plenty, even before this.)

That's not quite the same as how some people seem to understand Chomsky, a kind of grab-bag of hardwired grammar rules tucked away in some strand of DNA. But still, there it is.

</comment><comment><USER22> As someone who is a fan of the generative grammar tradition, that's pretty cool!

Going to have to read the full study later, but it sounds like they have some decent results from that press release (though not total evidence for the thesis).

Hopefully this finding can contribute toward pushing studies in neuroscience, psychology, and linguistics further.

Has some implications for a computational theory of mind too.

</comment><comment><USER23> "Neuroscientists and psychologists predominantly reject this viewpoint, contending that our comprehension does not result from an internal grammar;"

Fascinating article, highly recommended. Not trying to be nitpicky but I'm going to need a citation or few to support some of the claims made about "neuroscientists and psychologists"... just saying.

<comment><USER24> [Here might be a good start]([https://en.wikipedia.org/wiki/Syntactic_Structures#Criticism...](https://en.wikipedia.org/wiki/Syntactic_Structures#Criticisms))

</comment></comment><comment><USER25> Math, computation, grammars, are just models, syntax, that we sometimes use to consciously express things about the world. We could assign syntax to a system composed of whatever thing and say that is Turing-complete or that follows the productions A->B and B->BB of G_1, an imaginary grammar, just because we can assign to it certain symbols as inputs and others as outputs. Numbers, symbols, don't exist in the real world. Math entities only exist as syntax, as human artifacts. They're language entities. That's why they're based on axioms.

I don't see the point in saying that syntax is physical - I mean, the neurons firing in our brains because of photons getting in our eyes explain how I recognized the shape of a car, not that a 'hypothetical 2D array' gets 'processed' with some 'gradient-based algorithm' unconsciously in our brain. It doesn't make biological sense. Turing didn't even defined what a symbol or a computation is in terms of Physics, he just made a (very cool and beautiful, by the way) model.

Chomsky is simply wrong. He's just thinking here that language is suddenly physical, that we have a grammar-processing CPU in our brains, a form of a Universal Turing Machine! Can this number, '1', be physically somewhere in the world, taking in account modern physics and not some weird Platonism? or we just use it as language to refer to physical entities to talk about them? I do think the latter is the truth. Grammars are math entities which we sometimes use to refer to certain things written in books or other spoken things that just happen to have some physical shape in form of sound waves (words) or even to refer to an imaginary entity we've created with math, just like abstract machines. I don't think there's some weird computational thing going on in my head, that's just an oxymoron. Just neurons firing, blood being pumped, neurotransmitters being sent, in all its glorious and mysterious nature. The mind, on the other hand, exists as a high-level feature of some parts of the bigger brain system, it's caused by real things; that mind that lets us do conscious calculations. But that 'Universal Grammar' wouldn't be inside my mind anyway because it's supposed to be unconscious. It wouldn't be a feature of the mind-spanning parts of the brain anyway.

In the end, it's just the whole Nietzschean critique of mistaking language with reality all over again.

I cannot recommend John Searle's work on the subject enough, like the book 'The Rediscovery Of The Mind'. He explains all of this way way better than me.

P.S: Yes, if you think hard about it, this logically implies that a Strong AI won't ever exist. Sorry, Skynet!

P.S.2: Sorry for the long post and possible grammatical mistakes, I'm not a native. And I sincerely hope you enjoyed this post even if you don't agree with me. Have a nice day!

</comment><comment><USER26> The study relies on isochronously spoken words!

Inside joke: I recently published a network protocol that relies on sending words isochronously between switches.

I'll take this as validation that I'm on to something :-)</comment>


The Massive Prize Luring Miners to the Stars - <AUTHOR> https://www.bloomberg.com/graphics/2018-asteroid-mining/?cmpid=BBD030818_BIZ&utm_medium=email&utm_source=newsletter&utm_term=180308&utm_campaign=bloombergdaily <comment><AUTHOR> Obviously the prices of the commodities would be reduced with an increase in supply, but these numbers are staggering.

<comment><USER3> I chased down the wikipedia pages for some of the unimaginably highly valued meteorites in their pie chart (e.g. 511 Davida - [1]). The high value appears to be almost entirely a function of the enormous size of the larger ones - <USER2> these are all far from earth. I love the idea of space exploration but if you look at the elements in meteorite minerals [2] (I followed the links for those that did not have a formula in the table), apparently most of that value is in iron and nickel with some chromium, cobalt, manganese, scandium and titanium thrown in. Iridium is more highly concentrated than in the earth's crust but it is not clear that it is ever in a commercially viable extractable form. On first principles the emerging deep sea mining efforts would appear to have enormous seemingly impossible to beat advantages over mining in space. Not just in terms of distance etc logistics, but because deep sea vents have done such a great job of concentrating a much wider range of different more valuable elements in different places - and someone please correct me if I am wrong - there is no evidence of comparable processes separating out elements during the formation of the asteroids. (In this comparison I am admittedly not considering the hard to gauge environmental impacts of deep sea mining.)

1 [https://en.wikipedia.org/wiki/511_Davida](https://en.wikipedia.org/wiki/511_Davida) 2 [https://en.wikipedia.org/wiki/List_of_meteorite_minerals](https://en.wikipedia.org/wiki/List_of_meteorite_minerals)

</comment></comment><comment><USER4> Bringing back metals to earth is fantastic, but the real prize is manufacturing in space itself -- less hauling of goods at high prices out of our huge gravity well.

</comment><comment><USER5> What is the impact to gravity of bringing all of this to Earth?

<comment><USER6> Assuming that "bringing it to Earth" means landing it on the surface, it'd have to be in truly ridiculous quantities to have any measurable effect – likely far more than the combined mass of everything mankind has and ever will place on Earth's surface.

If "bringing it to Earth" means placing asteroids in orbit, I'm less certain, but unless we're placing bodies around a third of the size of the moon or larger (really huge) in orbit there shouldn't be any notable effect from our point of view.</comment></comment>


The Economics of Garbage Collection (2011) [pdf] - <AUTHOR> http://eprints.gla.ac.uk/39479/1/39479.pdf <comment><USER2> This would make a good addition to the related-work section: [http://e-drexler.com/d/09/00/AgoricsPapers/agoricpapers/ie/i...](http://e-drexler.com/d/09/00/AgoricsPapers/agoricpapers/ie/ie0.html) from 1988.

</comment><comment><USER3> Using a similar analogy in the opposite direction: [http://countercomplex.blogspot.ca/2014/08/the-resource- leak-...](http://countercomplex.blogspot.ca/2014/08/the-resource-leak-bug-of- our.html) and discussion at [https://news.ycombinator.com/item?id=8679471](https://news.ycombinator.com/item?id=8679471)

</comment><comment><USER4> I just read underworld by Don delillo</comment>


Billion-year-old air reveals surprise about oxygen on ancient Earth - <AUTHOR> http://www.cbc.ca/news/technology/ancient-air-oxygen-life-1.3698842 <comment><USER2> I see articles like this one every once in a while.

A chemistry professor once told my class that due to the rate of diffusion, that we had just learned, the test of the "old air" would be wrong.

I don't know chemistry well. My question is if the salt completely stopped all diffusion over the last billion years. Maybe somebody here can answer.

<comment><USER3> If I remember correctly, NaCl atoms are packed pretty closely together in crystallized form. They seem to be only looking at large crystalline structures, which do not have evidence of disruption.

Of course, they also said they used the same method with modern salt, and the O2 levels were lower than atmosphere by 9.2% for one of those samples.

It seems fairly legit but it would be great if they could test salt from the same period but from a different mine.

</comment></comment><comment><USER4> "What they found may have implications for the origin of complex life.

The air, which has been preserved, undisturbed, in tiny pockets in the crystals for about 815 million years, appears to contain 10.9 per cent oxygen — just half the amount in the atmosphere today.

But it's about five times more than scientists expected for that time period, which is about 200 million years before the first known multicellular fossils."

<comment><USER5> _> 200 million years before the first known multicellular fossils_

This is a weird angle for the article to pursue. We have a monocellular fossil record that dates back 4.1 billion years, and I don't think anyone is proposing that we assumed up to this point oxygen levels took off _because_ of multicellular life. A high oxygen level is probably one of many _prerequisites_ for complex life, but that doesn't mean the genetic machinery was available as soon as it reached a certain concentration.

<comment><USER6> Wouldn't oxygen producing organisms such as plants and trees be a cause for oxygen levels taking off?

<comment><USER7> I thought even today phytoplankton produced more oxygen than all the multicellular plants put together.

I might just be imagining that factoid though.

<comment><USER8> That was my understanding as well. The idea being that there is a _lot_ of volume in the first few meters of ocean surface area churn. It's not hard to imagine that does better in surface area than (even a lot) of plants.

<comment><USER9> Not forgetting the fact that it seems like it would be substantially easier for a faintly mobile fluid filled bag(s) of DNA to survive and reproduce in an aqueous environment!

</comment></comment></comment></comment></comment></comment><comment><USER10> What I find so interesting is why is the oxygen on Earth 21% why not 5%.

I can understand why not 90% since it's so reactive but 21% seems so high. Even more so now in modern times with seven billion people and billions of other animals plus industrialization I'd expect atmospheric oxygen to be falling rapidly.

We humans are pretty lucky to be able to breath, thank you ocean algae! Honorable mention to trees, good job.

<comment><USER11> Just to give some scale here:

A human uses about 0.84 kilograms O2 per day. There is about 5e18 kg O2 in the atmosphere.

Excluding all other sources of O2 consumption and replenishment, it would take about 500000 years for the current population of humans to "use up" all the current O2.

</comment></comment><comment><USER12> Would be interesting to hear a discussion about how this impacts the timeline of the Great Oxygenation Event [1], and where there's conflict with what's proposed. If there's somebody a little more familiar with the geological evidence it would be great to know a little more.

[1] [https://en.m.wikipedia.org/wiki/Great_Oxygenation_Event](https://en.m.wikipedia.org/wiki/Great_Oxygenation_Event)

<comment><USER13> You are talking about seperated events, one 800 MY and other 2400 MY.

</comment></comment><comment><USER14> Here's what worries me about this type of extrapolation:

"The researchers also compared salt samples from other halite deposits of different ages — including the modern day — when oxygen concentrations were known and found their results matched up with known concentrations. That gave them confidence in their result, they said."

OK, so you take a recent sample and it matches up. Great.

But this seems to assume there is some sort of barrier at the atomic level that "traps" the atmosphere at the time the salt crystals were formed and that time and pressure will never have an impact on what components of the atmosphere remain in the salt crystal.

<comment><USER15> I don't know who downvotes this because parent does have a point: there are extensive chemical transfers involved in the creation of minerals and crystals, it's not obvious at all that the atmospheric bubbles where chemically isolated from the encasing crystal afaict

<comment><USER16> I didn't down vote the above comment, but when the paper is available, complaints should usually be about something specific in the paper, not hand wavy concerns about methodology.

[http://geology.gsapubs.org/content/early/2016/07/08/G37937.1...](http://geology.gsapubs.org/content/early/2016/07/08/G37937.1.full.pdf)

The paper discusses the type of crystal they studied and how they formed (and cites further work on those topics).

</comment></comment></comment><comment><USER17> But how do we know that those crystals were formed during "normal" conditions? ie. why is it valid to interpolate the air structure for the whole "ancient Earth"? I'm just curious how is it done?

</comment><comment><USER18> Dissolved oxygen in water decrease when temperature and salts increase. Sea water have two hydrogen by each oxygen, and contains also atoms of sodium, chloride, magnesium, sulphur, among other. Therefore, saltwater will not have a 21% of oxygen normally, and a 10% of oxygen in salt should not be translated as: "wow, in that time there was only the half of the current oxygen in the air, how animals could live?". Aquatic organisms are adapted to the normal rate of between 6 and 12 mg of dissolved oxygen for each L of saltwater.

On the other side, if saltwater becoming brine releases gradually its oxygen, maybe the oxygen in an unknow mass X of water, could be trapped and slowly accumulate in a bubble under tons of silt.

</comment><comment><USER19> Nice to measure it but wasn't there already proof of larger amounts of oxygen in the past and the earliest life (one of from what we know) was a bacteria that produced the first oxygen in abundance and explains the higher levels and is indeed thought why, or least factor in why early mammals were larger and during the dinosaur days (sorry but easier to call it that for many) the oxygen levels were higher than today by far.

Nice article to matchup with this [http://www.scientificamerican.com/article/timeline-of- photos...](http://www.scientificamerican.com/article/timeline-of- photosynthesis-on-earth/)

<comment><USER20> Well this is talking about 200,000 years before the explosive emergence of life on Earth. Before this discovery it was thought that there was much less oxygen at that time (the Neoproterozoic era according to the article). And that life had to wait until more oxygen came along before it could happen. Now they are basically saying the oldest fossils we have found are probably not the oldest we could find. Time to look for older signs of life!

<comment><USER21> I think you mean 200 million, not 200 thousand.

</comment></comment></comment><comment><USER22> Does this affect any of the conclusions in Nick Lane's books (for anyone here that has read them)? (It seems like it doesnt to me)

</comment><comment><USER23> Earth is ~4 billion years old

</comment><comment><USER24> So... how did it smell?

<comment><USER25> It couldn't. It had no nose...

</comment></comment><comment><USER26> Click bait headline.</comment>


Duolingo Built a $700M Company Without Charging Users - <AUTHOR> https://producthabits.com/duolingo-built-700-million-company-without-charging-users/ <comment><USER2> Is "our users aren't our customers" really something to be proud of in 2019?

</comment><comment><USER3> Odd. I've paid about £100 so far for a subscription and other gamification things.

I don't regret the money, and believe it was worthwhile. But Duolingo isn't free.

<comment><USER4> It is free though. You don't _have_ to pay to use the service, and the only thing to gain by paying is removal of ads and offline access. All of the content is available for free.

</comment></comment><comment><USER5> that's blatant. They offer only the first levels as free, then you have to pay

<comment><USER6> Really? Because I've used for free for a long time, with seemingly no content blocked by a paywall.

<comment><USER7> Weirdly, there are differences between the mobile app and the desktop web version. I've tried the app but mostly stuck to web because of those differences, which mostly appeared to be a bunch of shenanigans like gems and health that aren't present in the web version. I never ran into a paywall either but the app might have those explaining your different experiences. Then again, I haven't used Duolingo in a while so might be completely wrong.</comment></comment></comment>


Liberalism, atheism, male sexual exclusivity linked to IQ - <AUTHOR> http://www.cnn.com/2010/HEALTH/02/26/liberals.atheists.sex.intelligence/ <comment><USER2> So reality _does_ have a liberal bias?</comment>


Remarkable disruptive women under 35 - <AUTHOR> https://blog.7sheep.net/blog/2014/10/13/remarkable-disruptive-women-under-35

<comment><USER2> Let's stick to one list and avoid patronising talented female developers by suggesting they need their own special list.</comment>


The last three Disallow's... - <AUTHOR> http://www.last.fm/robots.txt

<comment><USER2> For those who don't know: [http://en.wikipedia.org/wiki/Three_Laws_of_Robotics](http://en.wikipedia.org/wiki/Three_Laws_of_Robotics)</comment>


S.F. tech jobs climb near level of dot-com peak - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2011/03/27/BUG41IHABH.DTL <comment><USER2> One wonders if this means that home prices in the bay area will recover to dot com levels as well. Should be interesting to watch.</comment>


AdRoll Generated Tons Of Invalid Traffic - <AUTHOR> http://www.seroundtable.com/adroll-invalid-traffic-18922.html

<comment><AUTHOR> tl;dr: You may have noticed a huge spike in traffic in Google Analytics coming from IE7.

Here's the backstory: [http://www.seroundtable.com/direct-traffic- ie7-analytics-188...](http://www.seroundtable.com/direct-traffic- ie7-analytics-18897.html)

And here's the conversation on Moz: [http://moz.com/community/q/huge-spike-in- direct-traffic-from...](http://moz.com/community/q/huge-spike-in-direct- traffic-from-ie7)</comment>


Show HN: One-click autoscaling of Amazon DynamoDB - <AUTHOR> https://www.neptune.io/aws.html <comment><USER2> We've been using Neptune to autoscale our DynamoDB throughput for a while now. It's been super reliable and has kept our costs low without us having to think about anything.

</comment><comment><AUTHOR> A couple of useful resources: 1\. How to use it? - [http://blog.neptune.io/one-click-autoscaling-of- dynamodb/](http://blog.neptune.io/one-click-autoscaling-of-dynamodb/) 2\. autoscaling guidelines - [http://blog.neptune.io/dos-and-donts-of-dynamodb- autoscaling...](http://blog.neptune.io/dos-and-donts-of-dynamodb-autoscaling/)

</comment><comment><USER3> The problem with autoscaling DynamoDB is that every time you scale up they shard your table into more partitions but they never merge them back when you scale down. You end up with less throughput per partition once you've scaled back down. The only way to correct this is to completely recreate your table. Does Neptune take this into consideration?

<comment><AUTHOR> @chadboyda: Good point, per-partition throughput reduces as the #partitions increases but if your load is uniform, it wouldn't impact your overall throughput. Neptune does take this into consideration, although we can't change the inherent DynamoDB behavior. We talk about how to address this problem proactively in our best practices. Our recommendation: create table with 12-month peak throughput and then immediately bring it down to what you want right now. If the table is already created, bump up the throughput to the 12-month peak just once and then bring it down to what you want right now. In either case, this will ensure DynamoDB doesn't change partitions internally when you scale up and scale down within in 12-month peak range. But if you range goes beyond the peak, you'd still run into the problem that you'd described. We've seen in many case, people can predict the highest peak with reasonably high confidence. (think database world where they'd always known this in the past for many years).

Refer to our first best practice point for more details: [http://blog.neptune.io/dos-and-donts-of-dynamodb- autoscaling...](http://blog.neptune.io/dos-and-donts-of-dynamodb-autoscaling/)

</comment></comment><comment><USER4> Very reliable and already bringing down our DynamoDB cost. We have a highly varying traffic, previously we had to manually up/down-scale to prevent rate limit exceeded. For most part of the day we had very low traffic and we do not want to pay high DDB cost. Autoscaling is already saving us money and also freeing us of the manual responsibility.

</comment><comment><USER5> Indeed very nice UI. Would be nice to have support for 'dark' theme as some customers would prefer that.

<comment><AUTHOR> Thanks Shafi for feedback! Although it may not be the highest priority, we'll will look into adding theme support at some point.

</comment></comment><comment><USER6> Simple and easy interface

</comment><comment><USER7> Awesome

</comment><comment><USER8> Awesome.</comment>


Multiple Vulnerabilities in Openlitespeed [Lower volume before visiting link] - <AUTHOR> http://analbleed.com/

<comment><AUTHOR> Found this URL while scanning AnonOps IRC. Seems they are currently looking for & attempting to take advantage of vulnerable systems.</comment>


Hunger in U.S. at a 14-year High - <AUTHOR> http://www.nytimes.com/2009/11/17/us/17hunger.html?hp=&adxnnl=1&adxnnlx=1258405767-kaHjNStvapVWVF8ezfmgXQ

<comment><USER2> Shoot, sometimes I battle hunger and I'm 24, living on my own (I get lazy and don't go to work, reducing my hours and monies for that pay period). I can't imagine what it must be like for these millions of families with REAL shortage issues, that cannot be fixed by "not being lazy."

I really hope that in my lifetime I get to see the invention of food replicators (ala Star Trek). In one of the Star Trek movies they talk about how that was a turning point for the human race, where how to sustain living people was no longer an issue and we became free to focus on other (extra- worldly) problems.</comment>


US Army and UFO research group team up to study exotic UFO material. Seriously. - <AUTHOR> https://www.popularmechanics.com/military/research/a29504031/army-ufo-mysterious-technology/ <comment><AUTHOR> See also:

[https://www.washingtonexaminer.com/opinion/us-army-signs- con...](https://www.washingtonexaminer.com/opinion/us-army-signs-contract-to- study-ufo-material-and-make-better-weapons)

[https://www.thedrive.com/the-war-zone/30498/the-army- wants-t...](https://www.thedrive.com/the-war-zone/30498/the-army-wants-to- verify-to-the-stars-academys-fantastic-ufo-mystery-material-claims)</comment>