Why Are Coding Bootcamps Going Out of Business? - <AUTHOR> http://hackeducation.com/2017/07/22/bootcamp-bust <comment><USER2> Because those who can learn under those conditions can easily learn the material for free and many have before attending. What they use a bootcamp for is a bridge into a career. People are finding other less costly ways into the job market.

The bootcamps of the future will focus on either the experienced developers wanting to learn a new language/skill quickly. The structure will be like an extended conference where everyone attends presentations and gets excited for a few days and then everyone goes home. This will be followed up with an online course teaching the basics that will allow everyone to work at there own pace. A few tests and assignments will assign grades. A hackton will be planned where everyone will build a product using there new skills. Teams will be assigned based on grades to make things fair.

<comment><USER3> I think people underestimate how difficult it is to teach yourself, especially when there are so many different ways to learn and a million different paths to take. One of the most important parts of bootcamps, in my mind, is that all of the curriculum is there, in the right order, and on a set schedule. When I taught myself to program I probably spent 80% of my time finding the right resources and understanding what I _should_ be learning and 20% of my time learning. I think it takes a pretty special person to self-teach when you don't know what you don't know.

<comment><USER4> It's difficult to make an argument for bootcamps, though, when they won't teach you most of what you'd need to know either. The curriculum is typically focused around a single tech stack (many teach Mongo for unfathomable reasons), leaving students ill prepared for the workforce. Debugging? How to sort a lidt efficiently? What is a hash? All of these are arguably critical to understanding simple, common code; you'd be lucky to make it through a year as a junior dev without being fired if all the skills you have come from a bootcamp.

Of course, Galvanize et all just hire their own grads to inflate the post- graduation job placement stat. So maybe it's not necessary to know anything outside the course to get a job!

<comment><USER3> You have a point. Here's the problem the bootcamps will start to run into:

They're teaching as much as they can in twelve weeks, but lengthening the program increases the cost dramatically. Why Mongo? Because they're already using JS so they don't have to teach two languages (no time), and mongo is super easy to pick up. They'll learn other stuff on the job. Why aren't they teaching how to debug and what a hash is? Well we have to choose between that and understanding what a database is, so you take your pick.

They would _love_ to have classes be six months or a year, but then they'd have to double their prices (eliminating a lot of the demand) and people would have to support themselves with no pay for twice as long (eliminating most of the rest of it). It's hard enough finding people to take 12 weeks off and pay $10k, and now we need to charge $20k for six months? No one can afford that, what we have now works well enough.

In order to do something longer and more thorough/in-depth you'd probably have to start with a fundamentally different business model.

<comment><USER5> >In order to do something longer and more thorough/in-depth you'd probably have to start with a fundamentally different business model.

Interesting point. Maybe something in between bootcamps and full-fledged 4-year CS or Software Engineering degrees? Say a 2-year course, with some of each of: tech stack topics, algorithms, data structures, and other CS-y topics, and software engineering topics. That would make for more well-rounded junior devs than the trend of just teaching the hot tech stack du jour plus git plus some DB (and all at very basic level, as many of them seem to do).

Some Indian software training institutes (such as Aptech and NIIT) already did have long courses (with corresponding high fees), but to the best of my knowledge, they may not have had much in the way of the higher-level topics in those courses, i.e. CS and s/w engg. ones - AFAIK they mainly had the hot language and DB of the season, like Java and Oracle some time ago, now probably something else like JS and Mongo, etc.

<comment><USER3> Ya, I think so. I'm a co-founder of [https://LambdaSchool.com/computer- science](https://LambdaSchool.com/computer-science) and that's part of our goal

</comment></comment></comment></comment></comment></comment><comment><USER3> There are so many things wrong with this that I don't know where to start.

First, to say there's no skills gap is insanity. I refuse to believe anyone in the industry actually believes that - even the worst bootcamps are placing folks, they just place folks that are not well prepared and shift the burden of training to the company. I'm constantly blown away that some of those people get jobs, and they somehow keep them, as the companies just start training from almost scratch. That really sucks, and a lot of companies are (rightly) wary of that, and a lot of companies throw bootcamp resumes straight in the trash can, but there are enough that won't that it doesn't matter.

Don't get me wrong, most of the skills gap is for _capable_ engineers, and if you understand data structures, algorithms, architecture, memory management, etc. you'll get a job very quickly. We're talking within a week. But most bootcamp grads don't know any of that stuff, so the market is flooded with junior rails devs. (And even those folks still slowly get OK jobs).

There are audited, standardized reports from an organization called CIRR. Look at them - you'll see 90%+ placement rates, audited and from third parties. Granted there are a lot of lies on the home pages of bootcamp grad websites, but the perception HN has is much worse than reality at the good bootcamps.

I know the internal financials of quite a few bootcamps, and most are making a killing. It's really not hard to make money by charging $10,000/head so long as you keep demand. Iron Yard got out ahead of its skis and tried to open 16 locations at once. I have no idea what happened to Dev Bootcamp but the _only_ way they could be losing money is if their expenses were absurd. They were bought for $80 million. I think the most likely scenario is the acquirer tried to change things up and killed everything.

<comment><USER6> Is there a good way to learn those skills at a professional level outside of a university setting? I feel like I've taught myself a sufficient amount of front end, back end, ops (Docker, IaC etc), but I'm at a loss for how to test my ability with algorithms and data structures, memory management, etc. I've picked up some books, but I don't have a good way to measure my ability or demonstrate it to employers.

<comment><USER7> I'm a self-taught web developer, and I can tell you that the skills and knowledge gap between web development and "real" software engineering is huge, enough to where I seriously consider going back to school to pick them up, even though I already make $100k+, I've reached the top of my earning potential.

If I knew a program tailored to people like me that would give me a reasonably-accredited certificate and teach me the math and theory, I'd pay perhaps $20k for it. I'd go back to college, but I really don't want the pain of all that undergrad coursework.

<comment><USER8> Have you considered the Georgia Tech online masters in comp sci?

<comment><USER9> Do you need a degree to do that? Or can you test your way in?

<comment><USER7> Yes.

[http://www.omscs.gatech.edu/program-info/admission- criteria](http://www.omscs.gatech.edu/program-info/admission-criteria)

</comment></comment></comment></comment></comment></comment><comment><USER10> People are realizing that even though coding pays well, it's not a job for everyone. We hired 4 people out of boot camps. All had a decent level of skill (of course they did, we choose the 4 we liked out of dozens available). However after a few weeks, two of them left, saying: "there is no f'en way I can do this 40 hours a week for the next few decades". And they went back to their old jobs and old pay.

<comment><USER11> > "there is no f'en way I can do this 40 hours a week for the next few > decades"

Not a bootcamp grad, but I just hit my two year mark a couple weeks ago and want to blow my brains out.

Writing internal web applications is the most mind numbing thing ever. It's gotten to the point where I have so much trouble keeping focused at work.

The real issue is that I have no idea what field I'd pivot into.

<comment><USER12> Look, writing software is a trade. If you're not getting satisfaction from the act of creating something and doing a good job of it, even if that something is less "amazing" than you were hoping it would be, you probably need a different career. In any skilled trade the majority of the projects you do will be of the more mundane sort, but a skilled practitioner derives satisfaction from the doing and the mastery. You wouldn't work for years as a watchmaker, hunched over a bench 8 hours a day, if you didn't get satisfaction from making watches. Programming is more analogous to that than not, imo.

<comment><USER13> >Look, writing software is a trade. If you're not getting satisfaction from the act of creating something and doing a good job of it, even if that something is less "amazing" than you were hoping it would be, you probably need a different career.

Maybe. I've been doing this for about 12 years now and, if I were writing typical IT/web dev stuff, I'd move to a different field. Most software is just boring and unrewarding, the money wouldn't keep me if the interest fell away (though I have a family to consider at this point, but that's beside the point.)

</comment></comment></comment></comment><comment><USER14> I think the biggest factor causing these bootcamps to go out of business was stated in the article: there is no IT worker shortage. The fact that most of the people attending those bootcamps already held Bachelors degrees strongly implies that. If there was a real worker shortage, employers would be hiring people without degrees and have them do the best they can.

I think bootcamps arose as a result of an industry-wide PR move to give the illusion of a worker shortage, done in an effort to push more people into the tech industry and increase the labor pool significantly, thus pushing wage growth below inflation. With the labor market finally actually tightening, and with the PR move not working as well as was hoped, people are starting to see that the virtue signalling offered by bootcamps aren't as necessary as they thought.

<comment><USER15> > there is no IT worker shortage.

There is no junior worker shortage. A bootcamp grad is competing with other bootcamp (100+ boot camps) grads, and people who just self started and got to coding.

Finding mid-level and senior people is actually quite challenging.

<comment><USER16> "Finding mid-level and senior people is actually quite challenging. "

Strangely finding a job is also quite challenging for senior people....

<comment><USER17> I think there's a market for lemons problem at play. Mid and senior developers who are effective at what they do are incredibly valuable and valued and therefore don't generally have to look via the main queue of job applicants. They often get retained well at their current place and are poached/referred more often than the average or ineffective developer.

(This breaks down when a company suddenly closes or does a layoff so deep that it puts a lot of good people on the street.)

The flip side of the very effective using a different mechanism is that the people in the main pool have a harder go of it, as hiring managers are used to seeing a parade of people who interview poorly (and therefore interview A LOT) or who join and fizzle out (and therefore job hunt A LOT).

</comment></comment></comment></comment><comment><USER18> A 250k Haskell programming job in SFBA is _prima facie_ evidence of a "skills gap". The law of supply and demand says that's how you evaluate an inadequate number of available programmers. It's facile to suggest there's an adequate labor supply because employers can acquire developers simply by paying 5x the national median income.

I would suggest instead that we focus on two other problems with bootcamps, one mentioned in the article and one not:

* As the article suggests, bootcamps are probably not as effective at placing graduates as they'd like us to believe. There is a stigma to bootcamps, which is telling, because there's no such stigma for self-taught programmers. That may be because bootcamps aren't effective, or it may be because of correctable market inefficiencies that someone will make money arbitraging out. I'd guess it's a little of both.

* It's probably not easy to staff a bootcamp. They don't pay instructors particularly well. If you can effectively train 70% of a cohort of students well enough to secure professional employment, there's a _lot_ of other stuff you can do in this field. To make the business work, bootcamps have to balance the willingness of students to pay with the salary demands of instructors, while retaining enough to grow. Maybe that's just hard to do.

<comment><USER19> I wouldn't move myself and my family to the SFBA for a $250k job. Perhaps that's cliché to say that kind of thing at this point. It needs to pay more due to the cost of living. I'm making > 200 now in a city-data.com cost of living index 91 city. SF is COL index 170.

The people who would take that job already have a similar job, more or less. It's not a skill gap so much as a "willing to put up with SF bullshit" gap.

<comment><USER20> Probably wise. I live in Daly City and my current cash salary pre-tax is just a bit south of $200k (ignoring nonsensical dollar-for-dollar comparisons to income like ISOs, performance grants and bonuses). I'm not struggling to make ends meet, but I am glad I have a big balance from prior my prior payouts, as I'm not saving much (it's even possible to go in the red for the month if I need to buy a non-trivial purchase over a few hundred dollars, like say replacement computer hardware or a major baby related purpose).

I know friends making 30-50% less who actually save more per month than I do, in Colorado. Now, the downside is they live in Colorado (compared to the weather and allergy situation on the coast, I prefer this life), but unless I do yet another startup they'll retire with more money saved on average per month than I have.

It's pretty fucked up that the entirety of SF life is basically priced around the few post-exit people who set the tone of the market. That is actually only a tiny number of people. Most younger devs I know save 0 money and just hope their wages will grow fast enough to offset that in the long run.

Oh and ironically I am certain I could get a job as a Haskell developer, though that's not my job. :)

</comment></comment></comment><comment><USER21> The article makes good points, but the author, nor anyone here really knows why they're going out of business, or even if it's a systemic thing. The industry is becoming more mature and competitive. It's inevitable that at this stage, some firms will fail and there will be consolidation. I know plenty of people who were able to get great jobs right after graduating from a bootcamp and quickly become valuable members of their teams.

Do bootcamps adequately prepare people to work as software engineers? No, but neither do most CS programs. I think the more pernicious problem they pose to their graduates is that they flood the hiring market will low quality talent. They don't do a good job of screening who will be any good, and just push them through their programs without ensuring that they know the material.

At the same time, employers aren't focusing on the things that really matter to them in the interview process. Making someone write a contrived algorithm on a whiteboard in under 30 minutes doesn't tell anyone anything. I get that companies need to search for a signal in all of the noise bootcamps are putting out, but they need a better way of doing that.

</comment><comment><USER22> Economics 101 - because there are too many of them? There was demand; with demand, supply found its way into the market. As often happens, supply then overshot demand which led to lowered prices which led to shrinkage of supply.

... none of this will prevent a "Why are new coding bootcamps springing up like mushrooms after rain" piece of journalism appearing in a few weeks...

</comment><comment><USER23> The two examples in the article were owned by large educational conglomerates: Apollo and Kaplan. They are clearer examples of big companies end of lifeing a product than examples of the Bootcamp market.

Since the salary a skilled and experienced developer can make in the current job market does not really align with University of Phoenix's adjunct pay scale and tuition rates, it is hard to see how a Bootcamp could generate similar rates of return to UoP's accredited college degree programs. UoP has a widget making process via the sharing economy similar to Uber's. The analogy might be if Uber recruited professional race car drivers for a service claiming to get riders to the airport faster.

Both Kaplan and Apollo have a different economic model than many bootcamps. Many bootcamps generate significant revenue from job placement in addition to or in lieu of tuition. Currently, the sweet spot of bootcamps looks like it might be outsourcing on the job training more than as traditional private business schools. Over the long run, programming will be better suited to the private business school model as programmers become common in small businesses in the way bookkeepers are.

</comment><comment><USER24> Great teachers are expensive. This needs to be emphasized more. Even if there is strong demand for the dev bootcamps, the bootcamps still have to hire great teachers. The teachers are highly experienced developers, the kind of people who could be making something between $120,000 to $160,000. So the schools face some very high expenses.

A comparison might be made to retail. Sometimes you'll see a store that is very busy, full of customers, and then it goes out of business. Why did it fail when it was so busy? Often the reason is that the landlord raised the rent.

High costs can kill an otherwise good business idea.

<comment><USER25> What is the average boot camp instructor salary?

</comment></comment><comment><USER26> As a neighbor and local supporter of Iron Yard Tampa Bay (St. Petersburg FL), losing our growing economy's only code school was a big letdown this week.

In my experience, admittedly Iron Yard graduates were often too green to join our small engineering team (and we don't utilize .NET or Ruby). I'd like to say we have better training and mentorship for junior devs, but we don't yet. However, when we listed an iOS position, it was The Iron Yard's campus director who spread our ad through their national network. She found an Atlanta Iron Yard graduate who spent two years at a large company, receiving on the job training that now qualified her for our role.

The Iron Yard St. Pete was meaningful in that it provided a starting point for people in our area to make a career change and offered a meeting place for tech (located in the same building as our co-working space). The closure for us here locally is less about losing a code school and more about losing an anchor in our developing startup ecosystem.

</comment><comment><USER27> Many bootcamps are terrible and promise things that aren't possible. (People generally can't learn how to code professionally in 12 weeks.) The bootcamps that tend to deliver do so because they only accept people who already have put significant work into programming before they start the bootcamp.

I organize a programming club in Berkeley that meets twice per week (over 4,000 members on meetup.com), so I meet a lot of people who go through various bootcamps. I think that I could help demonstrate how to fix many of the problems with the entire bootcamp model, if we could obtain funding for opening a physical space in Berkeley. I've been doing it for over three years and have a pretty good idea about how to find people who will succeed, without limiting opportunities or even charging a lot of money.

</comment><comment><USER28> Maybe because too many people got into the business and completely saturated the market with coding bootcamps. I mean, maybe I'm wrong here, but I get the impression most people running these things didn't really do it because they were passionate about the field or knew how to run a teaching business, but because it was seen as a quick way to make extra cash.

There are just too many of the bloody things, and it's a pain to compete in the field as a result. Just look at how many this site seems to list for example:

[https://www.coursereport.com](https://www.coursereport.com)

426 schools listed there alone. And that's likely just the more promoted/credible ones.

It's like any type of business really. The more popularity a trend gets, the more competition there is, the more people who don't know what they're doing get involved and the more businesses/sites go out of business. It's happened to web hosts, to mobile app developers, to people trying to run social networking sites and marketing blogs alike.

The fact they're offering a service facing competition from both real world schools/colleges and online help sites probably isn't helping their chances either.

</comment><comment><USER29> _" than there are people looking to pay, on average, $11,000 for 12 weeks of intensive training"_

...able to pay $11,000 and not work full time for 12 weeks

FTFY

 _There isn't really much evidence of a "skills gap"_

Except that hiring is nearly everyone's biggest problem in tech and, you know, that whole crazy H1B thing.

Companies and Gov't job programs should be paying for dev schools not poor people. If they did it would all work out fine. As a matter of fact Iron Yard's corporate dev boot camp has been the profitable part of the business for some time.

I'm flabbergasted by this article. I'm not going to waste the time to reply to every one of the ridiculous assertions.

America desperately needs more skilled programmers in almost every market. Dev boot camps can and do get people to work. Many people in the position of needing a dev boot camp can't afford to go without work and pay for it at the same time (or at all).

<comment><USER30> > America desperately needs more skilled programmers in almost every market.

Outside of a few hotspots like SF, do offered wages really back that up? It's good being a developer but it certainly doesn't look like a desperate shortage.

<comment><USER17> In metro Boston area, we're paying new college grads $100K to start and sometimes losing on comp.

We're not "desperate", but for the overall market wage for new college grads to be 1.5x the state median _household_ income, that smells like shortage to me.

<comment><USER31> The state median household income includes high school dropouts working at McDonald's, and it includes folks living in very affordable rural areas with low wages. It's not a meaningful point of comparison when you're looking at a subset of workers who are highly educated and seeking jobs in a technically demanding field at companies located in almost exclusively expensive metro areas.

To add to that, the Massachusetts median household income is nearly $70k. And in Boston? It's almost $80k. Moreover, the median _family_ income in Boston is $100k.

[http://www.deptofnumbers.com/income/massachusetts/boston/](http://www.deptofnumbers.com/income/massachusetts/boston/)

<comment><USER15> You made sokoloff's point. A fresh college grad on day 1 of working makes the median _family_ income in Boston.

To say that wages are not reflecting the shortage (the comment originally replied to), is ignoring the statistics.

<comment><USER31> Not at all. In fact, as far as I can tell, you completely ignored the point _I_ made, so I'll just repeat it:

> The state median household income includes high school dropouts working at > McDonald's, and it includes folks living in very affordable rural areas with > low wages. It's not a meaningful point of comparison when you're looking at > a subset of workers who are highly educated and seeking jobs in a > technically demanding field at companies located in almost exclusively > expensive metro areas.

Replace "state median household income" with "Boston median family income" if you wish. Many elements here still apply after that substitution and must be addressed in detail if you wish to claim that I "made sokoloff's point".

The part you replied to and didn't ignore was just a correction to incorrect statistics that had been cited without reference. It seems pretty warped to suggest that I made his/her point by indicating that the cited statistics were off by a factor of 2 -- and not in the direction that favors their argument.

I think it would also help if you defined precisely what you mean by "shortage". You seem to be using an extremely loose definition that claims a shortage exists any time new workers in a particular industry are paid above the median family income. We must then conclude that there is a shortage of all kinds of workers across countless industries. For instance, because new engineers in the O&G industry are typically paid $80k-$100k, there must be a shortage, even though the industry has been having layoffs for years and certainly does not struggle to fill needed positions.

<comment><USER17> > It seems pretty warped to suggest that I made his/her point by indicating > that the cited statistics were off by a factor of 2 -- and not in the > direction that favors their argument.

Which statistic did I cite that was off by a factor of 2? Your figure of $70,628 is 4% higher than the google search result featured snippet for "median household income massachusetts" of $67,846, but even using your figure, my saying that $100K is "1.5x the state median _household_ income" isn't anywhere near wrong by a factor of 2.

1.5 x $70,628 is $105,942. My claim is at the very most wrong by less than 6%, not the 100% you seem to be claiming.

<comment><USER31> That's fair enough. You should really be using $80k though. It makes little sense to average over the entire state. You're then off by 20%, which is not really a negligible error. You're right, though -- I made a stupid error either way.

It doesn't really matter though because it's a deeply flawed comparison to begin with, as already discussed twice. This is all tangential to the points I was making and that both you and matwood have declined to respond to.

<comment><USER17> OK, if we take the Boston household figure or even the family figure, a 21-year-old SWE new college grad their first day on the job is making more than any of those.

That's evidence against a shortage?

I'm not replying to your other points, because I think I'm not understanding them.

<comment><USER31> The only point I was trying to make is that these general median statistics across the entire state or even Boston aren't controlling for enough factors. Programmers are generally well educated and the work is technical in nature. This does not describe a very significant portion of the individual workers rolled up in the general median statistics. I was trying to suggest you should be comparing to similar professions, such as engineering in general.

Programmers don't look like nearly such an outlier then. Would you say most engineering disciplines are experiencing shortages? I don't think that's true. O&G is one potential counterexample. Chemical engineers are still very highly paid, the big oil companies don't struggle to hire the best students from the best engineering schools, and yet there are also lots of layoffs going on. The layoffs and hiring freezes seem inconsistent with the notion of a shortage.

Law is another interesting example. There's no shortage of students graduating with law degrees. In fact, there's a vast excess, and a good chunk of them are unemployed or underemployed and will never work as an attorney. And yet many big law firms are still paying new associates big six figure salaries, and partners at major firms are still earning $250k-$700k.

I find this especially interesting and even counterintuitive because it suggests that if there _is_ a shortage, throwing an endless supply of entry level talent at the industry won't necessarily solve anything.

<comment><USER17> I'm not sure there's anything that really needs "solving". I think there's a shortage (but not a desperate shortage) of programmers in the job market, at least a shortage of qualified ones.

Many of the factors you describe "well educated, work is technical in nature [presumably implying a requirement of intelligence on the worker" I see as rarity factors, increasing the market-clearing price for that work.

[https://www.indeed.com/salaries/Entry-Level-Engineer- Salarie...](https://www.indeed.com/salaries/Entry-Level-Engineer- Salaries,-Massachusetts) has some stats on engineering job postings with salary. Overall engineering is eclipsed slightly by programming (replace "Engineer" with "Programmer"), but both have a fairly high starting salary range.

Oil and gas has a perennial boom/bust cycle that makes it an oddball. Everytime oil falls under $50/bbl or so, a lot of companies find themselves in trouble who expanded predicated on $60+/bbl oil. It's almost as reliable as the sun rising in the east that O&G will have more booms and busts in the future.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER32> Because becoming a developer, like any other discipline, is much more than than just learning to use tools (as quickly as possible).

Its probably that employers and students alike are starting to realize that expensive crash courses are often not the best investment.

</comment><comment><USER33> I got the impression that The Iron Yard shut down because the company who acquired them made them. Everything else seemed to indicate that they were doing great.

</comment><comment><USER34> Parts of this sound like exactly what I was worried about when I first heard of the boot camps. An expensive training program producing a very limited skill set isn't really a sustainable model.

Coupling that with the for-profit schools and an investment environment looking for a big payout, this just sounds like a train wreck.

</comment><comment><USER35> The best bootcamps (in terms of placement rates with SV companies) are equivalent to 12 week long interviews that the interviewee pays for.

They screen for people who already know a good bit, and are really good at interviewing in general.

Then they put those people through an intensive 3 month long coding interview and place the people who make it through.

The problem with this business model is that there is a small supply of people that are capable of making it through, are willing/able to pay $10k+ to do it, and are willing/able to go 3 months without pay.

It's a joke to think that Joe JobChanger is really going to pick up all the skills and knowledge he needs to get a job at Google in 3 months.

Professional programmers with years of experience regularly spend that long just practicing white board problems to get try to get a job at Google.

The amount of students who can do that is just too small to build an industry around.

</comment><comment><USER36> > Google's director of education echoed this sentiment: "Our experience has > found that most graduates from these programs are not quite prepared for > software engineering roles at Google without additional training or previous > programming roles in the industry."

No shit? Of course 12 week programs won't help anyone get into Google. None of them advertise that. They're all web development or app development curriculums. Google is an aspirational position that requires a brilliant graduate with some great internship experience.

<comment><USER35> >None of them advertise that.

App Academy does. They list Google on their home page.

They do seem to place some people with Google, but from what I've learned looking into them though, I think it has more to do with selection than training.

To me, it seems like top bootcamps are 3 month long interviews that the interviewee pays for.

</comment></comment><comment><USER37> They aren't. Two specific coding bootcamps that 1) had been acquired by for- profit education conglomerates and 2) underwent relatively rapid expansion into second and third tier tech markets went out of business.

As evidence of a larger trend, this article cites a single quote from the CEO of "a private lender and an alternative accreditor for the fast-growing boot camp sector." This is unpersuasive.

</comment><comment> barns-n-moguls If the skills gap/demand for 'coders' is correlated with the closing of two 'coding bootcamps' closing; does the author of this post also assume that some spontaneous, profound event will reverse our current trajectory? That h1b and other visa abuse by primarily tech companies will be permitted to continue, perhaps even expand? Will the direction of 'america first' soon make a 180 as well, perhaps the cost of outsourcing IT/programming will be reduced by imminent unprecedented legislation?

While I understand that the majority of our greatest thinkers can attribute the University of Phoenix to their sudden rise from obscurity, is their any sort of data available displaying how well they educate their students? I have seen far too many students graduate from university with computer science degree, with little to no understanding of the real world, or anything other than the concepts required to learn to program with java(exaggeration), but I can only imagine what sort of education another 'for-profit university' provides all the kids who want to become cool, hip, programmers and make 250k for browsing reddit remotely.

My guess is they spend most of their time/money figuring out how to locate and market to unemployed/underemployed Americans with access to student loans, and little certainty or direction in their lives; while spending zero time coming up with a metric via quiz/survey to determine good candidates for programming jobs, as that would likely reduce profits for said for-profit university.

I don't know much about these bootcamps, but I'm sure some of them do great things, however, I don't think the author of this post considered any of the likely relevant factors to the conclusion they are drawing about a possible trend here. Quality front page nothingburger rambling.

</comment><comment><USER38> Those prices are too high. I dont think anyone has these amounts lying around unless they already have good jobs (and hence do not need this). These programs should compromise on immersion and cost about $2000 for three months.

<comment><USER36> I don't think someone able to teach the basics of programming would want to settle for $6,666.67 a month(assuming a class size of ten). That's also assuming they had no gaps or dropouts between classes. Sure, in your example it's no longer immersive but:

1\. Immersion is what gets even the weaker programmers through. Non-immersion will drop the placement rate greatly.

2\. There's still a lot of prep work so the teacher will still basically be a full time teacher. And that's assuming a one person operation. They'll need someone for advertising, outreach to local companies, and their own technical needs.

</comment></comment><comment><USER39> Teaching people in general isn't a very good business. Even the lauded head start programs that last much longer than boot camps and target kids (so they have both much more potential influence and more time to recoup the costs) achieve meagre results if any.

In fact, there are reasons to believe that human capital is mostly what you're born with plus (or maybe it's more of a multiplier) the accumulated achievements of your predecessors with very little input from organized education.

[http://econlog.econlib.org/archives/2012/10/did_nations_tha....](http://econlog.econlib.org/archives/2012/10/did_nations_tha.html)

[http://slatestarcodex.com/2014/05/23/ssc-gives-a- graduation-...](http://slatestarcodex.com/2014/05/23/ssc-gives-a-graduation- speech/)

</comment><comment><USER40> The demographics indicate that coding bootcamps are mostly retraining people who already educated and giving them a new set of specific skills. That's a good thing. Jobs change, and people have to learn new skills from time to time.</comment>


Six-year-old girl arrested at Florida school - <AUTHOR> https://www.bbc.com/news/av/world-us-canada-51638871/six-year-old-girl-arrested-at-florida-school <comment><USER2> Seems that the officer got fired for this - [https://www.orlandosentinel.com/news/breaking-news/os-ne- den...](https://www.orlandosentinel.com/news/breaking-news/os-ne-dennis- turner-opd-disciplinary- history-20190925-risam2gjpjavxfkckyhqxqs3o4-story.html)

<comment><USER3> fired for this, but I think more saliently kept on _until this_ , despite every indication that he was not someone who should be a cop.

<comment><USER2> That's my takeaway as well.

</comment></comment></comment><comment><USER4> I admit, when I moved to the US, I didn't expect "likelihood of arresting my children" to be a factor I'd need to consider in choosing schools.

<comment><USER5> This is making the news because it is outrageous (in the most literal sense of the word). If this were normal it wouldn't make the news.

<comment><USER6> From what I read this is not that rare. These cops get sent to a school and the only thing they know is to treat children like everybody else. So if they don't comply force will be applied.

<comment><USER7> My daughter was arrested in preschool at age 4. Want to know what she did? Spit on another child (assault). I had to pick her up at the police station, where she was sucking on a lollipop (and we do not give our children candy in our house). This was also in Florida.

<comment><USER6> The cops often behave like an occupying army and don't apply any common sense. A while ago I got hit in an accident really hard. The cops asked me for license and insurance but my concussed brain couldn't compute what they wanted and gave them all kinds of other stuff. I still remember one cop checking his gun, pulling out his handcuffs and yelling at me. Thank god another cop was calmer, took my wallet and pulled out my license. I am pretty sure I would soon have been arrested for the reason of being hit by a drunk driver in a car accident.

It probably also helped that I am white and 50 years old.

</comment></comment></comment></comment></comment><comment><USER8> This is not normal even by American police standard. The cop who handcuffed the little girl is obsessed with arresting people. I listened to NBC last night and they reported that he brags about his arrest records a lot: a few thousands arrests in his 20+ years in the force. The youngest one he arrested was 7. He claimed this little girl just broke his record. This is obviously a sick person.

</comment><comment><USER9> there's something very sick and sad about this video ...

</comment><comment><USER10> why is this in my hacker news</comment>


Andrew Ng's Machine Learning Lectures - <AUTHOR> https://class.coursera.org/ml-005/lecture

<comment><USER2> I would also recommend these readings for those of you who are interested in deep learning:

[http://yyue.blogspot.com/2015/01/a-brief-overview-of-deep- le...](http://yyue.blogspot.com/2015/01/a-brief-overview-of-deep- learning.html)

[http://www.iro.umontreal.ca/~bengioy/dlbook/](http://www.iro.umontreal.ca/~bengioy/dlbook/)</comment>


Online Training goes social with RunKeeper virtual FitnessClasses - <AUTHOR> http://runkeeper.com/blog/new-feature/training-goes-social-with-virtual-fitnessclasses

<comment><USER2> Thanks for posting this -- just signed up for the Half Marathon Beginner which starts on Oct 17 and ends on Mar 27. Who is joining me? Just have to find a half marathon somewhere in Silicon Valley.

<comment><USER3> There's this one in San Francisco on April 10, which might fit in nicely with your schedule: <http://www.ushalf.com/2/>

<comment><USER2> Excellent, thanks. I may sign up to stay motivated.</comment></comment></comment>


Why Events Are A Bad Idea (for high-concurrency servers) - <AUTHOR> http://www.usenix.org/events/hotos03/tech/full_papers/vonbehren/vonbehren_html/

<comment><USER2> "SEDA is a hybrid approach between events and threads, using events between stages and threads within them [17]. This approach is quite similar to the message-passing model discussed by Lauer and Needham [10], though Lauer and Needham advocate a single thread per stage in order to avoid synchronization within a stage. SEDA showed the value of keeping the server in its operating range, which it did by using explicit queues; we agree that the various queues for threads should be visible, as they enable better debugging and scheduling. In addition, the stage boundaries of SEDA provide a form of modularity that simplifies composition in the case of pipelines. When call/return patterns are used, such boundaries require stack ripping and are better implemented with threads using blocking calls."

The above is, IMO, the most important quote from the paper. Of course, this paper is from 2003, so I would like to think we have made some progress in understanding events vs/and/or threads, but I don't believe we really have.

</comment><comment><USER3> Previous discussions:

<http://news.ycombinator.com/item?id=1269090>

<http://news.ycombinator.com/item?id=1355309>

<http://news.ycombinator.com/item?id=2907415>

<http://news.ycombinator.com/item?id=2910849>

<comment><AUTHOR> Thanks. I should have done a more thorough search before submitting this. I was honestly surprised that this particularly link hadn't been posted before, and now we see that this paper has nearly a half-dozen URIs on the same site. Bummer.</comment></comment>


Hacker news for busy people - <AUTHOR>

Hello HN. I've made yet another HN app that helps people to to browse best HN articles of previous hours, days, weeks etc. Additionally it has a "slide" feature (a.k.a time machine) that shows snapshots of front page articles back in time.
http://hndiary.com
try the "best of" menu and tell me your opinion. Your feedback is valuable.
PS. it shows only links, it does not crawl comments.
PPS. I submit this from the airport, when I land I will answer your questions if any. some basic info is here http://hndiary.com/static/about :) <comment><AUTHOR> I must mention that The slide idea is taken from (<http://hackerslide.com>) by `peterc'

</comment><comment><USER2> Great one. Fits my need on digging into old posts I found interesting that I now want to reference to again.

</comment><comment><USER3> <http://hndiary.com></comment>


Ask HN: What are some good resources for programmers to learn finance? - <AUTHOR> <comment><USER2> What kind of finance? If personal finance, I recommend Dave Ramsey, the Get Rich Slowly blog, and anything that says to stay away from credit, go slowly, don't get anxious, reason as if it's 100 years ago.

</comment><comment><USER3> If you're looking to learn about finance from a Wall Street/Corporate perspective, learn how a DCF (Discounted Cash Flow) model works. There are many such resources. Wall Street Training is a good, practical one.

Two good resources that give a strong philosophical foundation are Howard Mark's Chairman's Letters (free @ Oaktree Capital website), David Einhorn's "Fooling Some of the People All of the Time", and Nassim Taleb's "Fooled by Randomness."

</comment><comment><USER4> It depends on what area of finance you're looking at.

Here's a book I used for Corporate Finance and valuations of companies: [https://www.amazon.ca/Valuation-Measuring-Managing-Value- Com...](https://www.amazon.ca/Valuation-Measuring-Managing-Value- Companies/dp/0470424656)

</comment><comment><USER5> This is what I used: [https://www.amazon.com/dp/0465078982/](https://www.amazon.com/dp/0465078982/)

If you poke around you'll find plenty of books with similar titles and target audiences.</comment>


Need a Pirate Bay Proxy? DuckDuckGo Best Option, Says Google - <AUTHOR> https://torrentfreak.com/need-a-pirate-bay-proxy-duckduckgo-best-option-says-google-200829/ <comment><USER2> TL;DR: For some reason, the top result for "pirate bay proxies" on Google is a search for the same using DuckDuckGo.</comment>


Where Are the World's Hungriest People? Take a Look - <AUTHOR> http://news.nationalgeographic.com/2015/05/150527-hunger-fao-report-undernourished-hungry/

<comment><USER2> Who coded this?! Worst map infographic i ever saw. Can't even wait for it to load, it loads 2-3 countries a second and i'm on pretty decent internet.</comment>


Inadvertent Algorithmic Cruelty - <AUTHOR> http://meyerweb.com/eric/thoughts/2014/12/24/inadvertent-algorithmic-cruelty/

<comment> mkr-hn When someone tries to start a conversation about the ethics of technology among technology-focused people: [https://www.youtube.com/watch?v=U9c_KttvQPU](https://www.youtube.com/watch?v=U9c_KttvQPU)</comment>


New Blood at The New Republic - <AUTHOR> http://blog.submittable.com/2013/02/new-blood-at-the-new-republic/

<comment><USER2> Foer is failing upwards I see. Unless the tech golden boy is firing deadwood like Leon Weisswhatshisname and Paul Berman, etc. etc. etc., it's still the same old crap. I guess you're supposed to be excited by the fact that he's using his momentary large fortune to bring in "literary" ringers. I read the Kirn piece that was raved about in the link: apparently they're going to become an unintentional New Yorker parody("Barack Obama is a slender, middle aged man with a warm smile and close-cropped graying hair.....").</comment>


Even Small Medical Advances Can Mean Big Jumps in Bills - <AUTHOR> http://www.nytimes.com/2014/04/06/health/even-small-medical-advances-can-mean-big-jumps-in-bills.html?hp

<comment><USER2> Do open-source insulin pumps exist?

I found this site with some software: [http://www.opensourcediabetes.org/tools.php](http://www.opensourcediabetes.org/tools.php)

but no hardware.

Considering the prevalence of type 1 diabetes at 3 million Americans (1%), and how big an impact this disease has on people's lives, I'm surprised that there aren't more developers who are either afflicted or have a loved one who is that hacks on open source diabetes projects.</comment>


WT.Social – new social network set up by Jimmy Wales, the founder of Wikipedia - <AUTHOR> https://wt.social/ <comment><USER2> It's just a signup page. Some of us want a lot more information before signing up for anything.

<comment><USER3> Some info:

[https://www.wikitribune.com/wt/news/article/101868/](https://www.wikitribune.com/wt/news/article/101868/)

[https://www.ft.com/content/9956ff9c-0622-11ea-a984-fbbacad9e...](https://www.ft.com/content/9956ff9c-0622-11ea-a984-fbbacad9e7dd)

<comment><USER4> that's okay, but nothing about data collection and thing like this...</comment></comment></comment>


Guide to Linux System Calls (2016) - <AUTHOR> https://blog.packagecloud.io/eng/2016/04/05/the-definitive-guide-to-linux-system-calls/ <comment><USER3> > Calling system calls by crafting your own assembly is generally a bad idea > as the ABI may break underneath you.

syscall should have a stable ABI at the very least, because this would otherwise break all statically linked code.

<comment><USER4> That is true for Linux but might not be true for other operating systems though.

<comment> yjftsjthsd-h It is absolutely not true on many (most?) operating systems; Linux is actually an outlier, and we mostly forget that it's the odd one out because it's so popular. Off the top of my head, I believe both NT and Solaris define libc as the stable interface that userspace uses; I don't recall exactly what the BSDs do, but I suspect that they at least _strongly encourage_ using libc and not trying to talk to the kernel yourself (IIRC OpenBSD does this because some of their security measures are managed by libc). Go has hit this a few times because they don't want to depend on libc if they can avoid it, but on a lot of systems they really can't avoid it.

Ah, here we go: [https://github.com/golang/go/issues/36435](https://github.com/golang/go/issues/36435)

> Upcoming changes to the OpenBSD kernel will prevent system calls from being > made unless they are coming from libc.so (with some exceptions, for example, > a static binary). There are also likely to be changes to the APIs used for > system calls. As such, the Go runtime (and other packages) need to stop > using direct syscalls, rather calling into libc functions instead (as has > always been done for Solaris and now also for macOS).

(and the "with some exceptions" is why I say "strongly encouraged")

<comment><USER5> Only UNIX based OSes use libc as part of the stable interface, which on UNIXes case actually means ISO C + POSIX.

On non-POSIX OSes like NT and plenty of others, libc is part of whatever compiler one decides to use and as such not part of any OS interface as such.

On NT the stable OS APIs are provided via the OS personalities, meaning OS/2 (dead now), the old POSIX one (also dead and replaced by WSL), and Win32 (actually User, Kernel, GDI as the main ones), which as of Windows 8 and MinWin refactoring is split into redirection dlls know as API sets, [https://docs.microsoft.com/en- us/windows/win32/apiindex/wind...](https://docs.microsoft.com/en- us/windows/win32/apiindex/windows-apisets).

Which is why on code that never intends to be portable, you will see calls like ZeroMemory instead of memset.

<comment> yjftsjthsd-h Oh, interesting; I'd assumed that NT was just using libc as its stable ABI, but on further reading it looks more like ntdll.dll (probably just for that personality?). Similar concept, slightly different place. Still, my point was that under the "Windows" personalities, you talk to a library, never directly to the kernel.

EDIT: Found [https://web.archive.org/web/20121224002314/http://netcode.cz...](https://web.archive.org/web/20121224002314/http://netcode.cz/img/83/nativeapi.html) which if I'm reading right indicates that ntdll is indeed the bottom-layer library that's allowed to actually talk to the kernel.

<comment><USER5> Yes, ntdll is the lowest level, but you aren't supposed to use it directly, and if you do, well no one is going to help when a patch Tuesday or something like that breaks the application.

The personality DLLs are the applications entry point with the kernel.

<comment><USER6> Most of ntdll.dll is officially sanctioned at this point. It's officially documented, and obviously plays into the backwards compat choices they make.

<comment><USER5> Not really, Windows Internals always refers to the few public ones as _" take care when relying on this"_, very few entries do exist on MSDN or Technet, and those that do exist are mostly tailored for device drivers scenarios.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I guess not many actually need to call linux kernel system calls directly bypassing proper measures, but how many fondly remembers int 21h?

<comment><USER8> The thing I don't like using language like "proper" is that it creates a frame of "good or bad", when in reality everything in tech is a trade-off, rather than "good or bad".

<comment><USER7> Well put!

</comment></comment></comment><comment><USER9> If you're interested in more detail: [https://0xax.gitbooks.io/linux- insides/content/SysCall/linux...](https://0xax.gitbooks.io/linux- insides/content/SysCall/linux-syscall-2.html)

</comment><comment><USER10> In grad school for Operating Systems class, one of our assignments was adding a system call to the linux kernel. I found that a useful exercise - <USER2> doable in a reasonable amount of time and also a way to learn a lot.

</comment><comment><USER11> 18pt text, gray, thin.

Why?</comment>


17-year-old is author of BlackPOS/Kaptoxa malware used against Target? - <AUTHOR> http://intelcrawler.com/about/press08 <comment><USER2> It's not difficult to make crimeware, I'm sure anybody here could wreak havoc on the financial system if they turned to the darkside. You start hanging around xakepy/antichat russian hacker forums and make your own booters and other script kiddy tools.. soon you have money and can buy or vouch your way into private crimeforums like infraud and gain access to the invite only base where they dump POS intel like reverse engineering tools and manuals.

Russians can get away with this because their gov doesn't care about US fraud, also no extradition treaty. Sadly this kid can never travel anywhere ever again unless it's directly to Brazil or another country with no US extradition treaty because they will get him even if it takes 5+years from now they will watch waiting for him to make a mistake and update VKontakte (russian FB) on his Turkey vacation plans.

</comment><comment><USER3> If I'm reading this correctly, the real "hack" was stupid passwords like admin:admin, pos:pos on the POS machines. In which case, we need to hold management more accountable for such lax password policies.

<comment><USER4> I assume it's like the number of printers and CCTV cameras you can access--no one knew they were public. This doesn't appear to be the Target hack though, just some random IPs that had the default passwords on them.

<comment><USER5> >> This doesn't appear to be the Target hack though

Yeah it's not very clear to me either. Not sure if the relevant Target part is in the second IM transcript where ree4 seems to try and sell a special version of his product that CAN work with Verifones for 2000 USD?

</comment></comment></comment><comment><USER6> The censoring of the email address looks terrible. It looks like someone has just drawn a line over each email in paint. I would not be surprised if the original email could be recovered just by putting the different "erased" copies together.

<comment><USER7> Took a stab at it. Partially readable: [http://i.imgur.com/L4isK03.png](http://i.imgur.com/L4isK03.png)

Edit: Got the above by combining emails censored in the top part of the first screenshot. You can definitely reveal the full email if you incorporate the other screenshots.

</comment></comment><comment><USER8> why in the world are POS systems connected to the internet on public ip addresses?

security considerations aside, this is also more expensive and harder to implement than a private net. so someone actually sat down, and made this decision deliberately.

pretty fucking amazing, if you ask me.

<comment><USER9> _why in the world are POS systems connected to the internet on public ip addresses?_

Historical reasons? target does has a /16.

They can probably fill that block many times over now, but it would make sense that their numbering scheme has historical roots and to continue using that space for interstore communication today. They got it in 1993, back when we were still pretending like exhausting the v4 space wasn't a thing and before everyone started acting like the fact a many-to-one NAT requires what is effectively a statefull firewall somehow offered a security advantage you couldn't get by just writing those firewall rules.

I was at an organization with a large v4 block once. It took a few years of having my desktop, laptop, and cellphone wifi connections all with routable v4 addresses before I stopped thinking it was weird, bad design and really came to appreciate: "oh shit, this is how the internet is supposed to be and it is so much nicer to work with."

<comment><USER10> I hope we'll get back there with v6.

(I worked at the company with /8 IP block and always thought that this is how the founding fathers intended it to be).

</comment></comment></comment><comment><USER11> Why is that a surprise? It is not like it is difficult to write those kind of things. specially a ridiculous one like that that sent data to a windows share in the network he was attacking.

The technical part is silly easy. The hard part is the moral and fear of loosing what you gained honestly so far. And for that, being a teenager is much easier.

So, what is really the surprise here? It is not like it was a elegant worm or anything. It was just not looked after for ages. The real interesting info in this whole history is why it was ignored for so long, and who monetized it later one (hint: i doubt it was the teenage kid)

</comment><comment><USER12> Why can't Russia give these incredibly talented teenagers something productive to do like starting a company?

<comment><USER13> They are trying to. Check out the "Skolkovo innovation center". Hopefully some day in the future you'll be buying smartphones and running software from my country, and people will stop asking me if my parents are alcoholics and if I want some raw potatoes.

But 'tis enough ranting, my borsch is getting cold.

<comment><USER14> Ha.

Skolkovo is just another way to steal money from the taxpayers under the guise of innovation. Which they already did: $3.72 billion dollars (125 bullion rubles).

[http://www.themoscowtimes.com/news/article/skolkovo- warned-o...](http://www.themoscowtimes.com/news/article/skolkovo-warned-over- potential-4bln-in-misspending/488793.html)

<comment><USER13> Well corruption is a given, but at least there will be something to show for it.

The borsch was delicious as well, thanks for asking.

</comment></comment></comment></comment><comment><USER15> When I was 14, I used to hang around all these sketchy script kiddie forums. I learned assembly off some crapily written assembly.txt guide, with the ASCII art of the author at the top and all. Fast forward two years later.

A buddy of mine from IRC links me a webpage like he usually does, most of the time it's a static HTML file buried deep into the file structure of some large corporate site. This file was different, it was the CC database for a huge site.

Few weeks later police kick my door down, seize most of my personal electronics, and I have yet to hear from them or see my equipment.

<comment><USER16> Do you think the feds managed to track you down from the file access? Or do you think your friend, prompted by the feds to disclose his "hacking ring", implicated you?

I ask because it's pretty easy to find carding forums on Tor, to the point that I can't imagine the police bust the door down of everyone they can identify as having glanced at a CC dump.

<comment><USER15> I viewed it without a proxy haha. My IP just got straight logged.</comment></comment></comment>


In Defence of Monoliths - <AUTHOR> http://techblog.bozho.net/in-defence-of-monoliths/ <comment><USER2> There's a dangerous, contagious illness that developers of every generation get that causes them to worry about architecture and getting "street cred" even more than they worry about solving business problems. I've fallen victim to this myself, because street cred is important to me. But it's a trap.

An important meta-idea that encapsulates all of this is remember to solve your business problems as your first priority, and implement technology in service to that goal first and foremost.

It's far too easy to put various technology decisions in the driver seat, ahead of the business problems. This leads to all kinds of anti-patterns over the years. For example, I saw software development organizations destroy themselves trying to do 100% pure UML-first software using Oracle's Designer/2000 and Developer/2000 tools, because that was just the "right" way to do things. I've seen organizations destroy themselves in the morass of trying to do things with Enterprise Java Beans (EJB) because it was just the right way to do things. I've seen companies spend 10x more time getting their automated build processes and super duper full test coverage going than they spend trying to actually write software.

And I've seen companies navel-gaze over their processes and methodologies and buzzword compliance far more than they worry about meeting the needs of their customers. If you've ever worked for a company with a 15 year history of ironclad determination to use all of Microsoft's latest preferred data access methodologies, then you have first-hand knowledge of another example of this.

I'm not saying microservice architecture is a worthless fad, but I am saying that putting your business needs into the done-basket absolutely must be the first priority; never lose sight of it. I'm all for being wary of technical debt, but "technical debt" isn't nearly as dangerous as whatever you call that contagious illness that infects developers and makes them put architecture before business needs.

<comment><USER3> I agree with you, but the opposite of this is also horrible. I'm working for a company where they only focused on business needs, and the result is horrible. Terrible, unwieldy codebases, full of bugs, have no security at all. It's hard to develop features, it suffers from feature creep, have absolutely no test coverage at all.

It's important to find balance.

<comment><USER2> You're totally right: balance is the key. At least where you work there's a deployed product in production, though it is difficult and unwieldy. When you go the architecture astronaught direction, it's very easy to never make it into production at all!

</comment></comment></comment><comment><USER4> It depends _how_ you do micro services. There are middle grounds. One big gain of micro-services is that it guarantees things are separate and can be handled by separate teams if the need arises. That doesn't mean you need to start out that way. For instance in Python I use hug to create my microservices [https://github.com/timothycrosley/hug](https://github.com/timothycrosley/hug), then I can just install them to create a "monolithic" services that consumes all the microservices, the great thing is that hug allows you to expose both as a webservices, and as a Python library so I can consume as a Python library with no overhead, until the need to split is evident, and then can split up the services with very little work. Of course the need may never arrive, but the modularity that is forced when using micro-services pays dividends quickly regardless

<comment><USER5> This is more or less what I'm doing right now with Dropwizard. I started building this app as a set of separated microservices, but was finding it to slow me down more than I wanted it to--so I flipped it upside-down and loaded every "application" into a single Dropwizard service. Which is uncomfortably like application servers, but I'm using this almost exclusively to get around doing the inter-service wire-up that I'd have to do manually, rather than letting my DI container do it. Each module's still separated, and if we need to fork services off in the future, it's about twelve lines of code.

</comment></comment><comment><USER6> > decentralize all things – well, the services are still logically coupled, no > matter how you split them.

I think this is missing the point. It isn't just about decentralizing _services_ , it is also about allowing you to decentralize _teams_ and _decision making_. With very large teams working on a single monolith, features that are complete often cannot be deployed because of the larger organizational overhead of planning and coordinating a release. The higher coupling in most monoliths also restricts a teams ability to try new things and take risks.

If performance of technology is the only metric that matters to you, then yes, microservices are probably a horrible idea. If you are having difficulty scaling your _teams_ , then it might be worth looking at.

<comment><USER7> > The higher coupling in most monoliths also restricts a teams ability to try > new things and take risks.

I think it's you who's missing the point. That right there is why.

Turning your monolith into a micro-service architecture should add up to basically: \- Wrap your internal modules in your favourite form of RPC \- Replace the modules with stubs that call the RPC

If you need more work than that, the problem with your application isn't being a monolith, it's having functionality be way too tightly coupled.

If turning your application into a micro-service architecture actually _is_ that simple, then you already have well-delineated modules that your teams can focus on. Deployment is just about integrating the latest stable version of each module, and the decision process within each team needs only respect the contract around the interface they provide -- same as a micro-service.

Saying you need a micro-service architecture to keep a sane internal structure to your application is a symptom that you need to review your engineering practices, because people aren't respecting the interfaces, and it's throwing out the baby with the bathwater.

<comment><USER8> Don't forget that an RPC call can take longer to complete than a function call. Loose coupling doesn't imply that your program expects operations to routinely take 1ms to return results.

<comment><USER7> I was replying to a comment that ended with "If performance of technology is the only metric that matters to you, then yes, microservices are probably a horrible idea". I figured that it'd be more effective to make my point without bringing performance into the discussion.

</comment></comment></comment></comment><comment><USER9> We've had a lot of issues with micro services. They're extremely difficult to debug and end up being too generic. I argue the reasons why we introduced microservices has merit (massive code base) but does not mean they are simple to use/maintain.

Here are some examples:

1\. A chat service (race conditions, synchronization issues between the game server and chat service that had to be debugged using sequence diagrams)

2\. A payment service that handled Facebook, PayPal, and other payment methods. (race conditions, complicated integration, difficulty upgrading for different products, complicated code base to handle multiple use cases)

3\. An authentication service (complicated protocol, hard to integrate)

4\. A worker service for handling bcrypt (because blocking a single threaded server for 0.5 seconds is not acceptable, race conditions)

5\. A tracking service (could have probably just been a library you included instead of hitting an API)

Core issues:

\- Race conditions

\- Synchronization issues

\- Complicated to upgrade/maintain for multiple products

\- Become too generic and solve multiple problems (services tend to be used for multiple products in the company)

\- Extremely difficult to debug

\- Complicated error handling for when a service is not reachable

pro-tip: don't share databases between multiple products for each service, deploy a new service for every product with its own database.

I think I'm scratching the surface here, but I would be really careful with introducing this kind of architecture when you can do it all in one server.

<comment><USER10> I don't mind to sound crass, but it sounds like you implemented microservices poorly. You could s/microservices/threads/g on your post above and it would point much more to a problem with your implementation rather than a problem with threads.

<comment><USER9> Writing multi-threaded code is hard, writing micro services is even _harder_. I don't think your argument holds here.

Micro services are hard to write, so don't write them unless you absolutely have to.

<comment><USER10> I think in 2015 we should be pretty good at writing code without race conditions, especially considering the tools made available to us by our programming languages.

</comment></comment></comment></comment><comment><USER11> I work for a startup bank in the UK (Mondo). Our Go microservices architecture allows us to maintain velocity whilst staying secure.

The core banking services that actually move money around are isolated from the more "fluffy" customer facing ones that we want to be able to push updates to several times a day. We have to have incredibly rigorous procedures for updating services that control money, if we had a monolithic architecture then these procedures would have to be used even if the change was simply cosmetic.

</comment><comment><USER12> Being a new "convert" to microservices, and coming from a classic OOA/D/P background, I read these critiques with great interest. I keep waiting for one that shows me what I'm missing.

What I'm finding, however, is that many of these authors have such a broad understanding of microservices are that they miss any benefit. Then, of course, they complain about there not being any benefit, natch.

I suspect -- and what I have feared -- is that the term "microservices" has been co-opted and rebranded by a variety of vendors and proponents. The goal here is to sell products and services, not necessarily solve problems.

There is certainly a huge wheel of hype in the technology world, where things become cool, then old hat, then abused, then nobody does them anymore, then they return under a new buzzword.

Having said that, in the future I'm going to always make a point of defining exactly what I mean instead of just using the term "microservice". My current definition is something like this:

\- Pure FP

\- Unix Philosophy

\- Each microservice has less than 150LOC

\- Common code, types, and persistence functions are moved to shared libraries to reduce interop concerns

Not sure if this makes a difference in the discussion, but I know that it will help me keep straight whether various authors actually have quibbles with microservices -- or are just re-applying their pre-existing OO thinking to a place where it doesn't necessarily map so well.

<comment><USER13> don't you think 150LOC is a bit extreme on the low side? I don't see how this is possible unless you compose services out of other services... and in that case it's probably a nightmare to debug anything. Can you elaborate a bit on types of things that this worked great for you?

<comment><USER12> I can't walk through a solution to a complex domain inside of a HN comment, but I can provide an overview of the theory.

Take a large monolithic app or framework. What I've found is that if a problem is properly coded, while you may have tens or hundreds of thousands of LOC, the actual code doing the work is quite small, on the order of hundreds or thousands of LOC. The rest of it is all "wiring".

Moving to pure FP means that a lot of the code structure of OOP disappears and you're left with just the critical pieces. This consists of composed functions performing translations on immutable chunks of data. Your functions become microservices and the composition of functions, scheduling, and moving around of data become Net/Dev Ops.

There are many ways to fall off the path here. You start using mutable data, you start associating services with business domains, you start coupling microservices together more tightly than necessary -- there's a ton of ways you can accidentally screw up, and then you're probably better off with a monolithic app.

Microservices should be like ls, cat, or chmod -- small pieces of composable functions that run directly in the O/S. They don't blow up the system when they fail, they do one thing and only one thing, they're configurable using command-line switches, they're transport-independent, and so on.

<comment><USER14> From GNU coreutils:

$ wc -l src/ls.c

        4980 src/ls.c

$ wc -l src/cat.c

         768 src/cat.c

$ wc -l src/chmod.c

         570 src/chmod.c

<comment><USER15> Obviously, those are monoliths in dire need of decomposition.

</comment></comment></comment></comment></comment><comment><USER10> An honest question - has Martin Fowler ever written any _code_ that makes him so much of an authority on software design?

I don't disagree with everything he's said, but what contributions has he made that makes him so much of an authority on how I write code?

<comment><USER16> That's an impressive logical jump you've made there. Starting with a man simply writing a blog post with his opinion on software architecture, all the way to implying that he's an authority on writing code.

He never said he was an authority...

<comment><USER17> You Google "Martin Fowler" and the snippet of text that accompanies his personal website is "Object-oriented programming expert and consultant, one of the leaders in refactoring, author of the book 'Refactoring: Improving the Design of Existing Code'"

He's a self-proclaimed "expert" and a "leader". Yes, he's basically saying right there that he is an authority on writing code.

That being said, I've read some of his Refactoring book awhile ago, and it's mostly good advice from what I remember.

</comment></comment></comment><comment><USER18> One thing I don't think gets hammered on enough is that if your organization is not large microservices will create a lot of overhead for little gain.

If you have few developers most of the time it's a lot more efficient to have a modular monolith than it is to have 50 entirely different rocks.

Decentralizing teams, decision making, and allowing increased independence of agency within a larger org is great. Trying to do the same thing when you only have 5 people is usually borderline crazy.

</comment><comment><USER19> 🅰s always, there is room for both styles of programming. Some applications simply do not require this type of architecture. Testing a monolith is certainly easier than testing thousands of microservices. Debugging is also a lot easier. Dependency management is also hell of a lot easier.

Yes microservices (or simply services) are very good at large scale applications but they are simply an overkill for any startup project. Why not concentrate your efforts on selling your product first vs building the perfect infrastructure that no one uses? When time comes to upgrade - well upgrade. Amazon is a good example of a large company making the move from monoliths to services and they executed well. You can also do the same thing when it is absolutely required. You know, refactoring!

</comment><comment><USER20> One advantage of a microservice architecture not mentioned in the article is the ability to scale services independently of other services. Being able to fire up more instances to address a bottleneck is often much simpler than managing threads in a monolith.

<comment><USER21> that is true in some very rare cases. CPU-intensive bits of the application should definitely be separated, so that they can scale independently. But that's not the main point of microservices.

<comment><USER22> I don't think I've ever seen a piece selling the benefits of microservices which didn't mention the scaling or reliability benefits as a primary motivation.

</comment></comment></comment><comment><USER23> Yeah, my general rule is that unless your production environment is already so complex that you have multiple people who do strictly DevOps work, you should probably stick to a monolith. It's a lot easier to transfer state between multiple deployments of the same monolith than it is to go full microservices.

Microservices are a gigantic pain in the ass. They increase operational complexity _significantly_ , and they will require you to make a lot of investments in building/buying/implementing infrastructure around things like logging, monitoring and config management. Your number of possible variables in QA explodes exponentially, and suddenly you have to worry about things like API versioning.

If all of this sounds easier than dealing with the tech / organizational debt in your monolith, then microservices may be right for you. Otherwise, save yourself the trouble and focus on scaling your business instead of your technology platform.

</comment><comment><USER24> I'm not advocating for microservices, but I think the blog post fails to understand the difference between patching a single microservice and deploying a single microservice without needing to restart your entire environment stack, and patching a single module in a monolith which requires you to restart the entire monolith... Maybe that's not an actual issue but the author seems to disregard the fact that restarting a single microservice is explicitly different than restarting the entire monolith for the very reason that time may become an actual factor.

<comment><USER25> Not disagreeing with you, just adding some color.

We have a monolithic application (well, an application composed of many libraries that have a dependency tree, but live in the same process) that contains individually deployable services that talk to one another over RPC. So when you're patching part of the codebase, you can deploy a branch to the servers that are executing the code you've just changed, thus no need to restart the whole thing. But you still have the benefits of shared libraries, moving functionality between services, collapsing service calls that are no longer performant, adding new calls temporarily, etc.

In this model, you can introduce and remove service calls when it's useful, as opposed to as a result of how the code was put together. You will often do this for performance reasons, but just as often you'll do it for deployment flexibility. When you want to prototype something new, you can create a new service, branch the codebase, and have it talk to the rest of the infrastructure via service calls. When you're done you can keep it as a service, or, just as often, you can collapse the service back into other services so we don't have excessive RPC calls.

When would we consider moving to services backed by different codebases? If our company were to grow so large that highly disparate teams would want to manage their own dependency trees--that's around when it makes sense to me to go microservice. (I not sure I'd call it microservices then, more SOA).

</comment></comment><comment><USER26> I have seem cases when a group of stateless monoliths would have solved more efficiently a business case than the micro-services alternative.

I'm not saying micro-services are a fad, because they are great for isolating domains and degradation of service, but that comes with a high amount of boilerplate code for remote invocation and serialization.

I would personally say, if your project has not reached 10,000 lines of code do not go that way. also if you can solve the problem at hand with a cluster of stateless monoliths, keep it simple.

Dear friends, keep at hand the Occam's razor

</comment><comment><USER27> The important thing is to improve tools, and with a monolith you can't do that.

So build a distributed PaaS with hot-deploy, then a distributed HTTP database; then you can use microservices without any of the problems mentioned (complexity becomes a non problem since everything is using the same complexity and it very quickly becomes bug free, overhead is removed by PaaS)!

The important step with microSOA is that each developer can choose his tools. That trumps everything else.

</comment><comment><USER28> I think the choice of monolith vs microservice should be largely driven by the size of your team. Some guidance I heard on a podcast recently (can't recall which) was to only consider microservices if you had more than 50 people trying to deploy code in the same app/system.</comment>


Teaching kids real math with computers - <AUTHOR> http://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_computers.html <comment><USER2> Submitted before, possibly many times, but I've only found two with a quick search:

<http://news.ycombinator.com/item?id=1908449>

<http://news.ycombinator.com/item?id=1906855>

No discussion ...</comment>


Music Labels Ask Blogs to Post Songs then ask Google to Erase Blogs for Posting - <AUTHOR> http://www.publicknowledge.org/node/2897

<comment><USER2> This is not the only time that the music business has played this game, more specifically the RIAA. From 1997-2004 I worked a lot in the world of Hip Hop on a regional scale. I did security for clubs and artist and I was a DJ. Before file sharing exploded, the mixtape was the way that people would get exposed to underground hip hop artist, the most popular being 50 Cent but also many others.

So what the industry would do is to send free music to DJ's from both the worlds of mixtapes and radio. They would beg and plead for you to feature their artist on the mixtape. This is coming from both the A&R's that worked directly for the labels and third parties whose whole job was to find popular mixtape DJ's and give them music. They were hired by record companies as well. So anyway, after you released a mixtape, you would give it to a store at a consignment price. In other words, you would give them a box of CD's and they would sell them a set price depending on how popular you were. Then you come back and split the money, of course bigger DJ's would work out a different deal.

So everyone in the industry is aware of this fact and they play along with the so called "street" rules. But the RIAA would come down and bust these stores for selling bootlegs. These are items that would be cosigned by record labels with artist even hosting the tapes but they would still bust the shops anyway. Legally, there was no paperwork so in the eyes of the law they were bootlegged and if it was the police that came down hard, I would have less of a problem. But it would be the RIAA, basically the record companies would backdoor the DJ's and the mom and pop stores.

This is why I am glad that the music business has taken such a big hit. The people are crooks and as far as I am concerned, they is what they deserve.

<comment><USER3> > So what the industry would do is to send free music to DJ's from both the > worlds of mixtapes and radio. They would beg and plead for you to feature > their artist on the mixtape.

After the first time, why didn't folks wise up and say "not without a contract allowing us to create and sell compilations"?

They'd probably ask for royalties and then you'd insist on the standard breakage allowance against said royalties plus the other standard terms that they demand from content producers.

</comment></comment><comment><USER4> Being a music blogger, I feel conflicted about this article. The issue of DMCA take down notices and Google's blind obliging has been a problem for a long time. It has affected many bloggers that do play by the rules. It sucks that Google gets to be the judge and jury in these cases, because really, I doubt anyone at Google cares about who is in the right; they just want to avoid hassles over Copyright.

These and all music bloggers know what they are getting into when they set up their blogs. It is no secret that music piracy is a major issue for the RIAA, and posting mp3s publicly definitely puts you at risk. While there are many bloggers that work hard to promote the music they love, and provide links for users to buy the music legitimately, there are many others that just want to attract traffic by giving away free shit. All of the music bloggers are often put in the same pile either way.

The music bloggers who were affected by these take downs may be playing the poor me game, but did have the power to prevent what happened by self-hosting their blogs, enabling them to truly own and protect their content. I hope this current round of of publicity encourages more bloggers of all types to take ownership over the content they labour over.

<comment><USER5> "It sucks that Google gets to be the judge and jury in these cases..." It isn't since there are DMCA coutnernotices.

<comment><USER4> From the article: " _the notices that Google relied on to delete the blogs were woefully incomplete. Google should not have acted until it had proper notices from rights holders, including the name of the actual work allegedly infringed. Since many of the notices did not even include this information, there was no way for the bloggers to file a DMCA counternotice_ "

</comment></comment></comment><comment><USER6> _apparently, DMCA operate on their own set of odd rules, as they even requested that the BLK JKS official blog remove the song_

Busted by beurocracy for stealing your own music.. hard to think of anything more revolting to an artist.

<comment><USER7> It's unfortunately what happens when you sign away the rights to it. Happens to authors, too: you can be taken to court by your publisher if you post a PDF free online after selling the publisher the rights to the book.

<comment><USER8> What if you post it before? What happens when you Creative-Commons a book, and then try to sell it?

<comment><USER9> <http://diveintomark.org/archives/2009/10/19/the-point>

Wise publishers just won't pick you up if they can't get exclusive rights.

</comment></comment></comment></comment><comment><USER10> Wow! So Google simply deleted the blogs without any kind of investigation. It seems irockcleveland had had received many such notices in the past wrongly, they should have checked with the blog owner if the current one was of similar nature .

Case in point: [http://www.google.com/support/forum/p/blogger/thread?tid=4ba...](http://www.google.com/support/forum/p/blogger/thread?tid=4ba979f2d9e7b6d9&hl=en)

</comment><comment><USER11> Regardless of the legitimacy of these claims, it makes me very weary of putting any content on third-party sites at least unless they offer a reliable way to sync it. I don't understand people who put the results of their hard work (blogs, photos, code) on some online service without thinking about backups. (I have my code hosted on Google code, but if I couldn't svnsync the repository to my local machine I don't think I would.)

</comment><comment><USER12> What the world really needs is a very smart licensing/ distribution mechanism for digital music.

<comment><USER13> The kind that guarantees that every piece of audio that's ever created has to have licensing information attached to it and some sort of built-in DRM to enforce it? What about formats like flac, ogg, mp3, etc? Do they just become illegal in favor of the 'better' format?

<comment><USER12> I certainly don't mean DRM. I'm asking for clarity of license, not some daft enforcement "solution" that prevents users from listening to their own music. And no, I'm not asking for a universal format for all music.</comment></comment></comment>


Why pretend to care about others when we have professional therapists? (2003) - <AUTHOR> http://blogs.law.harvard.edu/philg/2003/12/01/why-pretend-to-care-about-others-when-we-have-professional-therapis/ <comment><USER2> The title sounds like a post by amichail.

</comment><comment><USER3> In case the point of the post isn't obvious, read comment #23.

Comment #12 is also quite awesome: _I agree with Phillip on this one, especially with regard to neurotic concerns of women. They shouldn't be encouraged in their irrational beliefs._

</comment><comment><USER4> A nice attempt at satire, but let's be real: there is a significant difference between "sympathy" and what most therapists offer, and there's a signficant difference between the kind of problems our friends help us with and mental illness.

<comment><USER5> Philp Greenspun (hmm, another PG) likes to satire. Before I applied my graduate school in 1995, I found his "Career Guide for Engineers and Computer Scientists"(<http://philip.greenspun.com/careers/>) and laughed my ass off.

Unfortunately, what he said finally rings true in East Asia. After we churned out tons of our home grown engineers and computer scientists, there are no jobs for them due to credit bust.

<comment><USER6> Where are you?

I'm pretty sure things will get better soon for CS folks.

</comment></comment></comment><comment><USER7> I am not sure if he is being sarcastic or not, but I agree with comment #4: "It's not that you are obligated to care, it's that you should want to care."

</comment><comment><USER8> Humor is really tough to do

</comment><comment><USER9> He was writing satirically -- see comment 23.

</comment><comment><USER10> There can be a signficant difference between the kinds of problems our friends help us with and and the kinds of problems that shrinks have unique information to help us with.

For example, I have a friend who has just turned 40, is still a virgin and is consulting a psychiatrist to decide whether to lose his virginity to a prostitute. I have given him my take on it which basically boils down to "get laid by whatever means necessary" but he is taking a more empirical approach and wants the advice of an expert on all of the possible psychological ramifications of his act before the fact.

Am I delinquent as a friend because I don't have enough information to answer his question? No. I'm not trained in psychology although I can give him some of my guesses about possible psychological ramifications - excitement, anxiety, guilt, wanting to go back for more.

However, because of his empirical leanings, his question is best answered by a professional. But to say that all he is looking for is "sympathy" would be a gross misunderstanding of the valuable role that a therapist can play because of his/her unique traning. My friend wants facts backed up by studies and he doesn't have the time or training to find those answers efficiently himself.

So to talk about 'mental illness' and 'sympathy' as being the primary distinguishing features of psychiatry vs friendship is a gross oversimplication of both.

<comment><USER6> He's not taking an empirical approach; he's taking an _argumentum ad authoritam_ approach. An empirical approach would involve observing other people doing this and seeing what the effect is. The best you can say is that he's consulting an authority whose information he hopes is empirical.

<comment><USER10> Ok, fine. But it's as close to empirical as he's going to get since he can't do an observational study.

<comment><USER6> Well, he might be a lot better off talking to his friends about their experiences. Historically, Scholasticism was a big part of the background against which the 18th-century empiricists were rebelling, so from my perspective they're almost opposites.</comment></comment></comment></comment>


RTL MJIT – Register transfer language VM and JIT for Ruby - <AUTHOR> https://github.com/vnmakarov/ruby/tree/rtl_mjit_branch#readme <comment><USER2> According to Aaron Patterson (tenderlove / ruby and rails core committer) this maybe Ruby 3x3 branch [1].

[1]: [https://twitter.com/tenderlove/status/875467599290613760](https://twitter.com/tenderlove/status/875467599290613760)

<comment><USER3> what does 3x3 mean?

<comment><USER4> Ruby 3.0 will be 3 times faster then 2.0

</comment></comment></comment><comment><USER5> There are a whole host of alternative Ruby language implementations out there, but I only see MRI and sometimes JRuby in the wild. The same goes for Python: largely compatible alternative interpreters like PyPy have existed for years, and often have better performance than the CPython standard interpreter.

Why don't we see more adoption of alternative runtimes? Why doest the community push for the adoption of higher performing implementations as the standard? Does anyone run a more esoteric interpreter for one of these languages in production?

<comment><USER6> Specifically Python is just a very problematic language to re-implement, since CPython has leaked internals literally everywhere. Last time I looked into Pypy (to be fair, that's now a few years ago) that was the main pain point.

Implementing a sane subset of Python is not so difficult, because, well, d'uh, it's sane. Implementing all the leaky details, the insane data model (slightly less insane in Python 3), all the invasive interpreter APIs which are frequently used by frameworks and extensions, is a whole different story. More importantly, if you implement all those, there's not much to gain in performance any more. Pypy has made tremendous progress there, but I'd expect that it still suffers from this — bottom line is, there is no way to efficiently implement what CPython does, and I'd be surprised if Pypy is significantly faster than CPython in code that uses all this shit. I expect Pypy produces a lot of gain as soon as code _doesn 't_ use that.

<comment><USER7> Can you elaborate on what internals you've seen leaked?

<comment><USER6> Instead of typing a long list, I'll just refer you to this talk: [https://www.youtube.com/watch?v=qCGofLIzX6g](https://www.youtube.com/watch?v=qCGofLIzX6g)

Some of that has been fixed / got make up applied to play pretend.

<comment><USER7> Thank you!

</comment></comment></comment></comment></comment><comment><USER4> I remember a talk / presentation from Chris Seaton, where he said something like optimizing the static part of Ruby isn't hard. But it is the C Extension / Core Lib and Especially the Meta Programming nature of Ruby that makes it near impossible for compiler to optimizes, especially the use case with Rails.

<comment><USER8> Just fix the VM then. tinyrb based on potion based on lua with classes is ~200x faster in method calls, and has a full dynamic MOP. Common Lisp ditto. Traditional optimizations don't work when the base VM is poorly designed.

Always take advice from people of failed products with a grain of salt.

<comment><USER9> > Just fix the VM then

No the point isn't that the VM is broken. The point is that the Ruby language has semantics and is used in idioms that nobody knows how to optimise well yet.

> tinyrb based on potion based on lua with classes is ~200x faster in method > calls

tinyrb is interesting, but it just isn't the same semantics as Ruby:

[https://github.com/macournoyer/tinyrb#what-wont-be-in- tinyrb...](https://github.com/macournoyer/tinyrb#what-wont-be-in-tinyrb-tiny- patches-accepted)

tinyrb doesn't have a better VM - they're implementing a different programming language with all the hard bits left out!

In my project we've been having to do new original research into how to optimise Ruby - introducing concepts such as dispatch chains which haven't been needed more because people don't try to push metaprogramming in most language like they do in Ruby.

[http://stefan-marr.de/downloads/pldi15-marr-et-al-zero- overh...](http://stefan-marr.de/downloads/pldi15-marr-et-al-zero-overhead- metaprogramming.pdf)

<comment><USER8> Your interpretation of the tinyrb omissions is wrong. I'm the current maintainer of potion which is the underlying VM for tinyrb. What is missing us just sugar and peg parsing grammars for some trivial stuff. And then of course the huge stdlib.

The simple potion/IO mop and ABI layout is far superior to matz ruby, just the method cache and thread support is missing. And this compiler has no optimizations at all yet, not even trivial constant folding. Still 200x faster. This lua with mop VM can be used for every dynamic language, like ruby, perl, python, PHP, ... and will beat rpython or truffle/graal by lengths. The other VM based on this tvmjit ditto. This uses even luajit with s-expressions.

</comment></comment></comment></comment><comment><USER4> HN show there is 37 Comment in this thread. And I am only seeing 11.

What is the causes of this?

<comment><USER10> refresh the page? if still not the right number, that sounds like a bug and you should contact the mods with details - for me everything looks right. Their e-mail address is in the footer.

</comment></comment><comment><USER11> I am disappointed to see Topaz missing from the lineup, but I suppose that it never had strong adoption in the Ruby community.

</comment><comment><USER12> please don't use RTL, since it's commonly used for Hardware/chip design languages such as Verilog and VHDL

<comment><USER9> That's register transfer level. This is register transfer language. The names are similar, but the technology is unrelated.

[https://en.wikipedia.org/wiki/Register- transfer_level](https://en.wikipedia.org/wiki/Register-transfer_level)

> Register-transfer level ... Not to be confused with Register transfer > language.

<comment><USER13> And it is already an established term: [https://en.wikipedia.org/wiki/RTL](https://en.wikipedia.org/wiki/RTL)</comment></comment></comment>