Why Arc is bad for exploratory programming - <AUTHOR> http://arcfn.com/2008/05/why-arc-is-bad-for-exploratory.html <comment><USER2> I'm tired of this incessant chatter about libraries, libraries, libraries in discussions about language. Of course libraries matter; I don't want to write code to convert a bitmap to jpeg. But the "libraries are the new language" belief is a gross exaggeration that has become way too commonplace. If it were true, we'd all be programming in C.

Programmers are not welders. Programming means writing new code. Language is the medium of that code, it is hugely important, and it gets _more_ important as the complexity of one's problem increases. The only way that libraries would become more important than language is if programmers stopped working on complex problems or new problems.

Ultimately, this overemphasis on libraries is a variation of the discredited "code reuse" meme, in which programs are imagined to be strung out of components, so all you need is enough components.

Edit: Another common thing about these discussions is otherwise intelligent people ignoring the fact that it is possible for a program written in one language to call a library written in another.

<comment><USER3> "Edit: Another common thing about these discussions is otherwise intelligent people ignoring the fact that it is possible for a program written in one language to call a library written in another."

And this is a huge differentiator among languages.

Scala and Clojure have immediate access to the vast expanse of Java libraries. Python has a very good mechanism for wrapping and calling C/C++ libraries.

As far as I know, Arc does not yet particularly shine in this area, although I believe some arc hackers are working on it.

<comment><USER4> Glue! As perl was, so ruby is becoming (a nice glue.)

I like JRuby, cause it lets me use the gynormous amount of java libs in terse, "powerful", ruby without jumping through hoops.

Why are so many people afraid/resistant to this paradigm?

</comment></comment></comment><comment><USER5> I'll paraphrase the argument as "Blub doesn't include an XML parser therefore Blub is rubbish."

Open source used to have a similar issue regarding Microsoft Word documents: "Open source operating systems were rubbish because there wasn't any software to read and write Word documents." Now that such functionality is available, the argument moves to another feature such as boot time or support for native applications.

Let's imagine that we have an open source operating system that runs all games, boots in 10 seconds, works with 6000 random devices and comes installed with a terse language which fetches web pages, parses XML, talks to 20 databases and Java applications. How much of this functionality will be of any consequence in 10 years?

<comment><USER6> I think your paraphrasing is incomplete. It would be truer to the op's point to say, "Blub does not include an XML parser, therefore Blub is rubbish for exploratory programming with XML documents."

</comment></comment><comment><USER7> Obviously what I meant is that the core language is tuned for exploratory programming.

Also, I disagree with his criteria. Speed isn't really important for it. And dynamic typing, which he omits, is very important.

<comment><USER8> Why is dynamic typing important?

I had an enjoyable time prototyping optimization heuristics in OCaml, where Arc would have been completely inadequate because it lacks floating point speed.

<comment><USER7> _it lacks floating point speed_

How much slower are floating point operation in Arc than OCaml?

<comment><USER8> Have a look at [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all...](http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=mzscheme&lang2=ocaml) \- instead of twiddling your thumbs for 20 seconds the way I did, you go and get a cup of coffee or check email/blogs or something else that takes your mind off the task at hand.

The reason I mention this niche (where C libraries you could call do you little or no good) is because things like optimization heuristics and machine learning are the most common form of exploratory computing and programming I know of. The biggest symptom of this is that there are dozens of "machine learning" toolkits, environments, libraries, etc all intended to provide a situation that frees you from worrying about extraneous details (like how to get data out of crappy HTML in order to do some kind of data analysis project), but a lot of people just code everything from scratch in vanilla Java/C/Python/whatever.

The way I write programs, generally, is I do the simplest possible test that still embodies the essential idea behind what I want to do and grow it from there. Thus a language supporting that has to be flexible, and I don't see why dynamic typing is necessary or sufficient for that.

The type system has little or nothing to do with also supporting essential features that support the way I think: closures, combinators, metaprogramming, and other things that often make life a lot easier.

<comment><USER9> [http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?t...](http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=ikarus)

</comment></comment></comment></comment></comment><comment><USER10> I am not very deep into it yet, but my impression is that it is often surprisingly simple to provide lacking libraries for LISP.

As an example, this is an interface to the Cairo graphics library for MzScheme: [http://planet.plt-scheme.org/package- source/samth/cairo.plt/...](http://planet.plt-scheme.org/package- source/samth/cairo.plt/1/0/cairo.ss)

I haven't tried it out yet, but I sure had expected a lot more code. Now that is just a connector to an existing C library, but in other cases I was also surprised by the brevity of the code.

Actually I was surprised by the brevity of the code in "Programming Collective Intelligence", too. For the time being, I consider that kind of stuff part of my fun projects, so I decided to do them in Scheme. The upside is that if a library is missing, you get a chance to actually provide it yourself and make a name for yourself in the Open Source world.

Also, I like implementing those algorithms. With another language, there might not be an excuse for implementing the algorithms from the book by yourself, because libraries already exists. With Scheme, I have a justification to implement them myself.

Interfaces to web services might also not be so important, and easy to implement by yourself.

<comment><USER11> It's not always about algorithms. If you need, say, something that can parse rfc 822 messages, you have to read the rfc, implement it, find out which applications you need to talk to have implemented it incorrectly, and then work around those bugs. Even if you could write the implementation in 2 minutes, you've still got a time consuming task on your hands. Worse, you will probably need to implement more than one library for a medium sized application if you're using an unpopular language, so multipy the time it takes to finish the task above by x.

<comment><USER10> Sure, but somebody has to make a start, or we will be stuck with Java forever. Maybe you can often use libraries from other languages, too, as in the example of the Cairo lib.

<comment><USER11> >Sure, but somebody has to make a start, or we will be stuck with Java forever.

True. It's just better to go into it with open eyes.

> Maybe you can often use libraries from other languages, too, as in the > example of the Cairo

That helps, but it's still a time consuming task to understand a standard and a C (or whatever) API, design your own API in the 100 year language of your choice, and implement it (and document it if you're really being good). I spent a fair amount binding C libraries for Chicken Scheme (which has a good C FFI) and Scheme48, so I know this from experience.

</comment></comment></comment></comment><comment><USER12> As far as I can tell, the problem here is to some degree one of conflicting generalisations. The article is trying to explore a different space to the space for which Arc was designed to be used for exploring.

Just like flippers, scuba gear, and a diving mask might be suboptimal for exploring a jungle or the moon, but great for exploring underwater, choosing an appropriate environment for the space you want to explore is something worth thinking about.

</comment><comment><USER13> I guess the title "Arc could use more libraries" isn't as attention-getting as "Why Arc is bad for exploratory programming."

<comment><USER14> If arc could seamlessly access PLT scheme's libraries that would be a good start. I know from first hand experience that there are a number of ways to access PLT scheme from arkani and arc. But, there are two big issues. First there are type differences between fundamental types (lists gah). This means there can be a lot of work to convert between PLT scheme and arc, not impossible but time consuming. Secondly, there is no nice way to pull in a PLT library and just use it in arc. Of course this could be implemented - it's just not there yet.

There are two choices I see going forward immediately. Arc and the arc community starts implementing their own libraries or we find a way to use PLT scheme's libraries (ok maybe sbcl if you are using arkani).

</comment></comment><comment><USER15> _Arc is inexplicably lacking trig, exp, and log_

Okay, I haven't used Arc in a while -- existing Scheme codebase -- but Arc is built on PLT, which is compliant with R5RS, which does include basic math functions:

<http://www-sop.inria.fr/mimosa/fp/Bigloo/doc/r5rs-9.html>

(search for sin, cos, etc).

Did Arc forget how to talk to the numerics library? Rebind "cos" "sin" and "exp"? Is this guy just being stupid?

'splain me please.

<comment><USER16> In ac.scm, add :

      (xdef 'cos 'cos)
      (xdef 'sin 'sin)
      (xdef 'exp 'exp)

And you're done.

<comment><USER17> I think that should be

      (xdef 'cos cos)

etc.

<comment><USER16> yep, you're right. sorry.

</comment></comment></comment></comment><comment><AUTHOR> What's the status of Arc?

Interest on arclanguage.org seems to be fading.

<comment><USER7> What do you mean by "status?"

<comment><USER18> I don't know precisely what the grandparent was asking, but many of us are curious about two things. First, when the next release will happen, since the previous release was 80 days ago. Second, what new features/functions/libraries are being added to the language; presumably some of the things from your poll at <http://arclanguage.org/item?id=4070>

</comment></comment></comment><comment><USER19> I think it might help to have an official statement, like, "We plan to add all these libraries, in time. You can help somehow." One issue in the Arc community is there's no clear way to contribute. A lot of this angst about lacking libraries could be turned into a polite suggestion to help build the language.

Perhaps there should be AEP = Arc Enhancement Proposals a la Python's PEPs.

</comment><comment><USER20> >Arc is unfinished. It's missing things you'd need to solve some types of problems. But it works well for basic web apps.

<comment><USER21> from: <http://www.arclanguage.org/>

</comment></comment><comment><USER22> Throwing together a bunch of libraries and gluing them together with "surprisingly few" lines of Python code isn't exploratory programming.

It's hardly programming at all.

</comment><comment><USER23> what's being explored? is c++ better than arc for this "exploring" ... it has more libraries ;)

i wonder why people are not writing more apps in arc. there seems to be a lot of activity porting it to different environemnts, writing compilers, optimizers, creating a repository .... but no app. (other than hacker news)

<comment><USER24> Apps take time. IIRC, for a long time the big Python applications were Grim Fandango and some research software at LLNL.

<comment><USER25> Actually, large chunks of Grim Fandango were written in Lua.

[http://www.grimfandango.net/?page=articles&pagenumber=2](http://www.grimfandango.net/?page=articles&pagenumber=2)

<comment><USER24> You're absolutely correct... I'd somehow conflated the two in my mind. I guess the first big Python game was actually Eve Online. I can't recall any big, early Python applications outside of the LLNL work... which, I suppose, says even more about applications being a poor indicator of early language uptake.

</comment></comment></comment></comment><comment><USER26> Good point. Using a good language with great libraries is like prototyping at TechShop. <http://techshop.ws/>

There's a place for great languages with less-comprehensive libraries, no doubt. But if you want to make something that works today...</comment>


They Were Promised Coding Jobs in Appalachia - <AUTHOR> https://www.nytimes.com/2019/05/12/us/mined-minds-west-virginia-coding.html <comment><USER2> My experience with code bootcamp trained developers is positive, due to the follow reasons:

\- Most of them have engineering background: electrical engineering, civil engineering, petroleum engineering.

\- Since they lack formal education in IT, they have to train twice as hard, which our company encourages (2 months of probation = 2 months of training, it's almost impossible to find developer with Scala experience around here anyway).

\- We work with the Bootcamp to improve their program: giving reference to 'hard', 'theoretical' books such as Algorithms & Datastructure or Database Design and cutting down some unnecessary parts.

\- Most importantly, we strongly prefer people who switched to IT because they actually love programming, not just looking for higher wage.*

* It may sound weird but actually many people here didn't picked their university by themselves but by the guidance of their parent, so they might study something else than their favourite.

<comment><USER3> >almost impossible to find developer with Scala experience around here anyway)

I feel you.

I think there is no pool more shallow than the one of C programmers that can work on embedded in my area.

Regardless of what your background is, I've already had to commit to 6 months of training for anyone I hire.

<comment><USER4> There's no such thing as someone you're not going to have to train. Every single company does something different. To suggest that you're not going to have months of train up isn't feasible. I wish this mindset would go away. Training is, and should be an integral part of any workplace. It's what makes your whole team better, it's what makes everyone have a similar style, and shows people the expectations. This goes for internal code process as well as external code and tools. Embedded especially is going to be hard because it's a specialized skill set that's far harder than people realize especially once you get into space constraints.

<comment><USER5> I agree with this 100%, even as an experienced engineer I want to continue to give and receive ongoing training. Yet I've actually been told in some settings not to even mention the "T" word because it would be seen as offensive. Instead as an industry we have ridiculous expectations in hiring and an inefficient, informal training process in the form of production failures.

<comment><USER6> I bet the job post reads "Searching for self-starter that can hit the ground running!"

</comment></comment></comment></comment></comment><comment><USER7> [Warning Exremely Controversial Post Ahead]

I am currently working for a big corporate in the UK, who have been showing off their "pioneering" and "visionary" strategy to focus recruitment from code boot-camps.

All I can say is that as a senior developer, it has made my life misery. I've gone from writing code and producing features, to a full-time mentor and babysitter. Half of the boot-camp graduates I believe have become coders for the wrong reasons like:

* developers have an easy life, getting into work whenever they choose

* they get to wear t-shirts and baggy jeans

* they get all the latest toys to play around with and shiny MacBooks

* I hated my last job, looking at developers on TV in these Silicon valley places looks like the dream life

* I am a single mother who was given the course for free

The others, have aptitude but are so inexperienced from their 3 month session that it will take them atleast two years before they can be fully independant engineers.

These codecamps are licenses to print money it seems, they charge the students a hefty fee for the course and companies then pay a recruitment fee at the end.

Needless to say, I will be leaving my company very soon to go to a place where there is a coding test and filtering to prevent most of these bootcampers from getting in.

Yes its snobby, but I didn't study and spend my student loan on my passion just so I can train up a bunch of people looking for the "easy life".

<comment><USER8> This has been my experience, and I'll add I have noticed there is a massive disconnect from the reality of just how complicated modern software is. I remember beginning my career what I think used to be a quite common experience of being quite a bit overwhelmed by how much I had to learn, very aware that I didn't even know what I didn't know and this definitely motivated me. This awareness is completely absent from 100% of the boot camp grads I've encountered, who have been sold and apparently internalized the idea that "everything is easy" and are quite resistant to the suggestion that they might not fully grasp the scope and difficulty of the situation. I'm sure there are exceptions, but I also suspect these people would have found their way into software development without going to a boot camp.

<comment><USER7> Completely agree, I would like to blame it on this dichotomy of "frontend and backend development".

Most of the bootcampers did three months of "frontend" work and are oblivious to what goes underneath in the murky world of business logic and services.

Until they have been able to demonstrate they are confident in:

* Presenting data to a user

* Validating inputs

* Making correct requests and understanding the interactions of an API (whether its REST, RPC, programmatic, internal)

* Processing requests

* Persistance and access of data

* Basic security

* Be able to document and explain all areas to a basic level.

* Debug and provide a root cause analysis.

Then they will remain a junior developer and I think that will be many of these bootcampers fate, as they are either unwilling or incapable of doing work outside their comfort zone.

<comment><USER9> > Then they will remain a junior developer and I think that will be many of > these bootcampers fate

This is a fair assessment - not just of boot camp developers but of all developers. I don't think I agree that it is a problem that some people working as a junior developer today will never become a Technical Fellow, however.

I've personally found (especially in the "enterprise") that many senior developers do not actually have fifteen years of experience - but one year of experience fifteen times, and are functionally junior developers with the wrong title. Educational background does not tend to be an indicator of this.

<comment><USER10> I think it's worth bearing in mind that people who sign up for bootcamps generally expect to have a normal career trajectory. They do not expect to spend their careers as effectively junior developers. They genuinely believe they will become Technical Fellows, and expect that a bootcamp will get them started.

Few bootcamps seem to do a good job of teaching students what to expect in a career path or what they'll need to do to advance in it.

I think our industry is headed for a collective reckoning, though I would not begin to speculate on a timeline. We're going to have to square seniority as a measure of skill with seniority as a measure of time, and no matter how it happens a number of people are going to be unpleasantly surprised.

</comment></comment></comment></comment></comment><comment><USER11> The real shame here is that apparently nobody throwing money at this company did any due diligence. In an interview, the co-founder claims that all of its graduates get jobs, and that the skills taught are worth $200-$250 an hour (i.e. 400-500k a year) in San Francisco. The website's success testimonials include quotes from a co-founder and one from a co-founder's brother. If the people donating a million dollars had done ten minutes of background research they could have prevented this debacle in the first place.

</comment><comment><USER12> We can discuss code camp pro/cons all day, but the article spells out that there was little coding being taught here.

Instructors with little tech experience, high rate of firing and stuff turnover, students being told to "google it", operating without licenses, all while the founder has fancy offices in Chicago with rapacious and alcoholic parties.

Amanda Laucher, the founder, essentially stole funds from governments and made false promises and is now going to Law School in Chicago. Meanwhile, these people quit their jobs on false hope and now are unemployed or have to rejoin at the bottom of the rung.

Assuming the article is fair, this is a sad situation and Laucher should be prosecuted.

<comment><USER13> It sounds uncomfortably close to a cynic's view of aid projects in poor countries. The customers aren't the students, but rather the Commission, and they were apparently sufficiently impressed with the TED talks to part with $1.5 million to start this thing. Maybe someone trying to get re-elected got to cut a ribbon on TV too. And I bet this also made a great story for the founders to tell in their law school applications.

</comment></comment><comment><USER14> I guess people believe what they want to believe, but it should be obvious that if programming is really something you can learn in a few months in your spare time, it's not going to be a very valuable skill. Either programming requires extensive education and experience to be really proficient (read: employable) in, or it's going to be a minimum wage "we can throw a rock and replace you this afternoon" call-center job.

<comment><USER15> You can learn it in a few months in your spare time if you're cut out for it, which the vast majority are not. CS education for programming jobs is mostly a very expensive formality to convince hiring managers you know what you already knew before enrolling, or at least it was in my case.

<comment><USER16> "You can learn how to be a lawyer in a few months in your spare time if you're cut out for it" would be considered a ridiculous statement. Perhaps you could learn enough to be an assistant to a legal secretary.

The same applies to programming.

<comment><USER15> They're not the same thing at all. Being a lawyer involves cramming in an enormous volume of rote information over many years and passing an exhaustive exam; programming is just a combination of problem solving, being able to deal with abstract concepts and how computers work, and learning a relatively small amount of syntax and general concepts. You can easily get a grip on all that in a few months if it's your thing.

<comment><USER17> > learning a relatively small amount of syntax and general concepts

In what programming job?! Junior frontend dev churning out React components? Even there you're dealing with a dizzying array of HTML, CSS, and ever- changing JavaScript/Babel/Webpack/etc. insanity. In a few months you can barely produce some simple, low-quality code. It takes a lot longer for the concepts of good quality code to sink in.

<comment><USER18> junior PHP dev. basically on the job training.

it's always very costly, because it requires a very involved supervisor.

</comment></comment></comment></comment></comment></comment><comment><USER19> This is a byproduct of the (in my view, very positive) tradition in programming of not requiring a college degree. It offers the political class an easy message for dealing with the ramifications of the jobs exodus in places like Appalachia. Nobody would suggest, for example, training people up as doctors or lawyers or accountants to be a solution to that problem. The degree requirements are a signal: "this is not for everyone." With programming, politicians have gotten this idea that because there are no formal educational requirements, programming and "tech" jobs are an avenue for employing the large numbers of economically displaced. But of course, programming is hard. Most people don't have the analytical/mathematical mindset necessary to be even competent programmers. All of these coding boot camps and public programs just capitalize on this misconception and wishful thinking.

<comment><USER20> > But of course, programming is hard. Most people don't have the > analytical/mathematical mindset necessary to be even competent programmers. > All of these coding boot camps and public programs just capitalize on this > misconception and wishful thinking.

It works both ways too; When bootcamps first popped up, I was dismissive of them until I realized that there was (to be fair, relatively new) high demand for people who could even do the bare minimum of stringing together CRUD apps, forming a labor market that had nothing to do with me, despite nominally being an "engineer". I think a lot of the pathologies of eng hiring stem from the broadness of the role "engineer", which just ends up causing credentialism and the metaphorical ghetto-ization wrt talent of parts of the stack, like frontend.

</comment></comment><comment><USER21> The untrustworthy city slicker stereotype doesn't come from nowhere. Nobody ever engages with these people except to take their money or tell them they're backwards hicks and their way of life is somehow wrong/bad (this being an example of the former).

<comment><USER22> Some do care about people left behind but they usually don't care about a big social media boost to their ego so you don't really hear about their work

</comment></comment><comment><USER23> I know I'll catch flak for this, but where did this idea that "anyone can learn to code" come from? Coding requires a certain drive and curiosity, without delving into the capability side. What makes anyone think that they can take a bunch of people who never or barely passed highschool and have been working in a mine for a decade+ and teach them this?

By all means subsidize a laptop and point them at some great online (free) resources, but beyond that if they won't/can't help themselves...

<comment><USER24> To adapt a quote from one of my favorite movies: "Not everyone can become a great coder; but a great coder can come from _anywhere_." That's what (in my opinion) you should take away from "everybody can code."

I think it's obvious that not every single person in the world has the external characteristics to be a great software developer. But those with passion and curiosity will be able to make a great career for themselves.

<comment><USER25> Why does everybody need to be "great"?

<comment><USER24> Not everyone really needs to be great. The person who learns coding to scratch an itch like creating a small website for their family business just needs to know how to put their ideas on a screen.

But these initiatives that try to promise high paying jobs to everyone who applies, it's just not going to work out for everyone who goes through the mill. And yeah, I think to have a long career as a software developer, you need a little more than "meets expectations." You need the drive to improve and grow after you leave the program and even once you land your job. So, I think when you get a newbie who has passion, is personable, and who submits themselves to iterative improvement, I really do think that makes a great developer.

</comment></comment></comment></comment><comment><USER26> I'm not shocked by HN's attitude towards bootcamp grads, but I am very surprised that so many here are blaming the grads and not the bootcamps themselves.

Bootcamps use absolutely disgusting marketing techniques to appeal to people with little ability outside of being able to pay tuition. Their grads are closer to victims.

<comment><USER27> They absolutely are the victims but it's also a students responsibility to do due diligence on the bootcamps just like you would (should?) research an employer before signing the job offer.

<comment><USER26> Let me pull out a quote from the article.

"But Tori and her mother, Stephanie, 45, stayed. Every weekday morning, Tori would wake up early, her mother would feed the chickens and together they would head down the serpentine mountain road to Beckley. Nights and weekends they spent in the glow of their laptops — bought from a website on credit — learning the rudiments of Ruby, the programming language."

To steal a shitty term from mainstream media, let's unpack this. Tori [Frame] used to be an assistant manager in a Family Dollar location. She decided to take a bootcamp with her mom so she quit her job. And, the family bought laptops on credit from a website. I'm pretty sure we can all guess what kind of website that is.

With all due respect to the Frames, I don't buy that either of them were qualified to assess whether the bootcamp was any good. Instead, they sound a lot like desperate people caught up by predatory marketing.

</comment></comment></comment><comment><USER28> Any ideas on how we (HN) could help these people that dealt with Mined Minds?

Perhaps some free remote tutoring?

Some interview coaching?

Resume review?

A whole lot of bagging on coding boot camps, the founders of Mined Minds & people looking for an easier life. I'm game to help myself!

If anyone knows those folks & they want some help - I'm happy to connect & spend time doing any of the above!

<comment><USER10> It might be worth considering that the underlying question - does this model even work at the scale it was sold as? - goes unanswered.

With that in mind, it sounds like what might be needed is the education they were looking for in the first place. Resume review, remote tutoring, and coaching are great ideas, born of a genuine blossoming of kindness and compassion. It may be possible that these well-meant ideas could be of perhaps slightly limited value for people who, based on the contents of the article, seem to have roughly as much marketable knowledge of Ruby as they did before they started the program.

<comment><USER29> The students in the article were taken advantage of. It sounds like nobody even got the chance to find out whether they would like or succeed at coding.

So many responses in this thread are written from a middle/upper-middle class context. Folks who had reasonably good schools, access to computers at a young age, a stable home environment in which to work with them, a culture (parents and/or peers) that supported them, an expectation and pathway to higher education at a young age. Maybe not all of those boxes are ticked for every successful software engineer but I bet a good number of them are.

The people in this article didn't have as many of these factors. Maybe they had none of them. That doesn't mean that they're dumb, untrainable or not cut out to be coders. I think what it means is that an appropriate approach to training needs to be taken.

That approach is probably something akin to a gateway aptitude test to demonstrate ability and commitment followed by a significant period of apprenticeship combined with some formal classes at the community college level.

This is the way that people enter the skilled trades, and also seems similar to military occupational training. I don't see why it couldn't produce competent entry-level folks who are capable of working on 95% of business systems/websites/etc at the end of their training.

</comment></comment></comment><comment><USER30> For anyone here, that went through one of these CodeSchools/Bootcamps/training.jargon[2] courses, I have a question:

At any point in these camps was there a section on interviewing and job seeking?

I'm asking as both a hiring manager who has seen a very fair share of...sorry, _BAD_ resumes coming from people who finished a local code school, who struggled through the interview (only one made it to a technical assessment, he struggled on the syntax but seemed to grok the concepts. He ultimately did not get hired)and as a friend of someone who went through a code school and has absolutely _zero_ interview skills,.

Their resume-upon reading-would have you wondering if they've applied for a "Junior React Developer" by mistake (restaurants, service industry jobs, stints at hotels, and at the very bottom: "React Bootcamp, Chicago - 2017-2018"). The generic cover letter this friend had me read jumped from topic to topic and was at least 5 paragraphs and two pages long, their only portfolio item was a single page "Hi I'm Bob" they made in the class.

It just makes me wonder what else these schools are doing to help their students actually succeed.

<comment><USER31> I went to a bootcamp. I won't say which one. It was in a major city, and it was a residential program (anybody who was in the bootcamp but not local lived together in apartments included in the cost of the program). The program was structured beginning with a quick review of language basics (you were expected to know JavaScript, HTML, and CSS to a reasonable degree before the course began) and layouts, then moved on to Angular (this was a few years ago during MEAN stack hyper) and its associated patterns and best practices, then Node.js APIs and Mongo (the program has since shifted to PostgreSQL instead). Along the way, students were given assignments to augment these areas, such as reimplementing popular javascript libraries (like Underscore) against a test suite. The mid-point of the course culminated with presenting a solo project to the class, which was a good indicator of who was and who wasn't excelling. By this point, several students had dropped out and returned home or just stopped attending. After this, students were funneled into groups, with the higher performing students clustering together. The groups were given suggestions for projects to work on, typical web applications built on a combination of your own backend and third-party APIs. My group's project, for example, was a hybrid mobile budgeting application using Plaid and APN/GCM for push notifications. We had an exploratory phase where we tested the limits of the Plaid API (response times, features, webhooks, etc.) and determined user stories and requirements, then had stand-up meetings every morning and worked off of wireframes and ERD diagrams that we had designed. We were required to use git versioning so that we would inevitably experience merge conflicts and integration issues. There was about a week towards the end of the program that was focused on practice interviews (though these were admittedly somewhat half-assed) and resumes, in addition to the daily toy problems. At the end of the program, recruiters and local businesses were invited to see group and individual projects at a showcase day and this led to interviews for most of the students.

A "Hi I'm Bob" page seems like it would not be the product of an actual full- time bootcamp, but maybe a short part-time bootcamp? Even the relatively lower achievers were capable of hooking up some sort of front end for a public API by the mid-point of the course, putting it on github and getting it up on Heroku.

That said, many of the people I attended with had higher education or experience. My group was a former QA engineer, a bioengineering bachelor, an MBA, another biologist, and myself (Masters in Information Systems). By the end, we were relying more on the members of our group for disbursing useful information than on the instructional infrastructure of the bootcamp. I think subsequent jobs came mostly through networking between the groups of whoever was left by the end rather than the bootcamp itself.

<comment><USER32> >you were expected to know JavaScript, HTML, and CSS to a reasonable degree before the course began

As a clarification, it seems you did not go to a "Coding" bootcamp, but some sort of engineering one. They seem to be the exception, rather than the rule

<comment><USER31> It was actually billed as a "Web Development" bootcamp.

</comment></comment></comment></comment><comment><USER33> The "anyone can code" and "just learn to code" phenomena needs to die in a fire. This reminds me of many other scams in our education system, it's disgusting how much money is being leeched out of people on private "schools".

This "anyone can code" idea is actually an easy thing to test if we were serious and _honest_ about it. But we are not. And I believe boot camps give a false sense that more people are successful at it than aren't. It really seems boot camps are in reality is a very expensive filtering system to separate those with some ability to teach themselves coding from those who can't.

<comment><USER34> As a counter-point, I would like to point out India's IT industry.

When the IT outsourcing industry was booming and there was a serious programmer shortage, outsourcing firms such as Infosys, Cognizant, Tata would hire college graduates en-masse regardless of major (like, entire batch of 20XX would get a job offer). They would then spend 6 months actually training them and weeding out poor performers. The ones who get through would be placed on actual projects for their clients. I do not know if this still happens today due to the sheer number IT majors on offer in India.

Now you can rightly argue with regards to the overall quality of products they created and the culture they proliferated but for their clients it appeared to suffice to achieve their business objectives. Sure most of them won't be FAANG grade but might be totally adequate for making some CRUD app or maintaining some system.

IMO, I don't think one needs a four year degree to code, two years at the max would suffice (obviously not for cutting edge work) . In fact, I would go as far to say beginners can be trained on a good declarative low-code (not low code) guardrails-type DSL incorporating best practices to create simple CRUD or reporting web apps. There have been many attempts but I don't know if this is solved yet.

<comment><USER35> That's not a counterpoint. That essentially corroborates their statement. As you say, they weeded out the poor performers, and still the worst coders I've ever met have all been from Indian outsourcing agencies. Granted, I've met great coders from the same agencies, too, but the fact remains that even when you weed out the worst offenders, you still get people who should never be anywhere near production code.

</comment></comment></comment><comment><USER9> This article seems (at best) poorly researched and one-sided - and it does not chime even slightly with my experience of this group.

I have personally met several people who have been through Mined Minds training with no prior coding experience - and those people were the first who convinced me that development "boot camps" were not a completely lost cause.

</comment><comment><USER36> Ms. Laucher on Twitter responding to a critique from the article:

"Retraining won't fix it. Give them UBI. Free training programs should only have viable candidates when it isnt for quick $"

Is the last sentence a little ironic given the article?

Source (perhaps will be deleted): [https://twitter.com/pandamonial/status/1127627288676270081](https://twitter.com/pandamonial/status/1127627288676270081)

Edit: To be fair, in other comments she claims many of the statements in the article are false and refused to comment for the article based on legal advice. I assume there are two sides to this story and the NY Times article does seem pretty one sided.

</comment><comment><USER37> Not terribly surprising that 16 weeks of training doesn't make you ready for a coding job. The only way I see that working is a pretty aggressive pre-test that washes out most of the candidates. You'd need some related experience and programming aptitude for 16 weeks to make you employable.

<comment><USER38> I totally agree about the 16 weeks = 4 months being insufficient:

I think we can all agree that most of the coal miners went to school in a different era, and so probably never had much of a high school education, and even if they did we can all agree that half a career in the coal mines (combined with the prospect of working there until retirement) would pretty much obliterate the motivation to keep up your high school knowledge.

So essentially (without pointing fingers) if the goal is to end up with a programming job, we can say that at entering this course they are pretty much at the level of midway highschool.

The problem is not re-educating these people to become programmers (which I believe could work). The problem is the claim it can be done in 4 months without proof or trials. It's unethical to trial and thus social experiment this on people who may be giving up their current status and jobs believing it is already proven.

If the technology was available today to achieve such a feat in 4 months, why are people going to colleges and universities? Why isn't this already being done in high schools, so that they can always become a programmer as a backup job? Because the feat has not been achieved yet.

4 months seems very short, but I do believe such a feat is certainly possible in a few years. Perhaps even within a year if it's really intensive and education technology would become so advanced that software recognizes your mistakes in thinking, can answer why questions, etc...

But that is not today.

This was just a fig leaf proposal to abdicate social responsibility...

<comment><USER39> I think people need to realize that these boot camps are a start, not an end. They give you the minimal viable education to do the job. After that, you need to keep educating yourself.

<comment><USER38> I somewhat agree for legitimate boot camps, but breaking promises (of payed learning, of job guarantees, ...) while syphoning off subsidies doesn't sound very legitimate.

By the description of the course (google everything yourself), it sounds like it would have been cheaper to study at home...

</comment></comment></comment></comment><comment><USER40> That's disappointing. I remember I was very supportive of coding as trade education when I first heard of it but it hasn't really panned out. I can't quite decide if it's because we're bad at teaching (the example in the article seems like an execution failure) or if it's fundamentally infeasible (programming is hard and unintuitive for most people).

<comment><USER37> 16 weeks is just unrealistic though. Credible auto mechanic trade schools are a year or so. And once you graduate, there's plenty of low end work for you to earn your keep while you continue to skill up.

<comment><USER41> This is correct. Actual trade approach to coding basically doesn't exist because people are sold on learning to code in a couple of months versus year or two, which I think would easily land people some jobs in web or junior devs.

</comment></comment></comment><comment><USER42> Do these bootcamps ever give programming aptitude tests to people before accepting them into programs? Or is it all about money grab from grants for "learn to code" (which it sounds like it is based on this article)

<comment><USER33> A lot of them do. This one seems like an outright scam, but for example well known boot camps like Lamba School put you through some tutorials and tests before hand. When you look at these tutorials it really seems to be a filter for "can you teach yourself coding". IMO making the bootcamps fairly useless given the huge amount of online courseware and free tutorials available now.

<comment><USER42> I guess if lamda school has a consistent track record in the industry & companies are hiring from them, i could see that being of value to someone switching careers. (Employers seem to be inept in interviewing for programming positions - and otherwise - On their own)

<comment><USER33> Yes, I tell people thinking about a boot camp to first try really damn hard to teach themselves first, then if they still want to, to just use something like Lambda School as interview preparation and to "credential" yourself.

</comment></comment></comment></comment><comment><USER43> I went from a different technical career through a coding camp. I loved the experience.

Having said that I'd say at least half my class was unemployable by the end. The camp did not filter candidates nearly enough and really hurt the class and I fear their own financal well being.

I think coding camps could be done right, I just don't know if anyone is really doing it right...

<comment><USER44> The problem is there's no incentive to fail out a paying customer. And this isn't isolated to bootcamps -- I've noticed many universities babying CS majors by dumbing down CS101 and offering enough soft-skill electives that you can basically get a degree without knowing how to code.

<comment><USER43> Agreed, the incentives are all wrong for camps.

A classmate said "it's a boot camp... people should be kicked out / quit".

But presumably that might mean a partial refund and the camps do not want to do that.... so they sit in class weeks behind not doing well and dragging the whole class down with them.

At least in universities you MIGHT fail a class. Not so much in coding camps. But yeah I've ran into and worked with some CS folks I wondered about... like dude you should know a lot more than me... you're having trouble logically doing anything here...

</comment></comment></comment><comment><USER45> quelle surprise!

Most of these programs are a joke. I remember when Tech Square Labs in Atlanta did a program to "help" inner city black kids. I went down to talk to them and get more information. For one year of this program they were charging the sponsors $57K. That is more than the tuition at many private schools. But it gets better. They had The Iron Yard (which is now closed) doing the course material so I had a chat with the people teaching the courses etc.. It was very apparent they had no idea what they were doing. The supposedly "disadvantaged" founders of this did not even understand the kinds of things they kids in the program actually were going through, such as having a lack of financial literacy or even a bank account at times. I'm white but live in a disadvantaged neighborhood and knew this because I don't live in the rich bubble that these "disadvantaged" founders did.

When the political climate was right they were bilking the tax payers for this program with funding from the city of Atlanta, the feds etc., but after 2016 the funding went away, as did the founders profits. There have been many programs like this one in Atlanta and the one for the people in Appalachia.

I'm all for bringing people who do have the aptitude to the industry. That said, not everybody has the aptitude to be a developer, in the same way that not everybody has the aptitude to be a prize winning author, language guru, doctor, top athlete etc.. We all have our strengths and weaknesses. The coding bootcamp industrial complex appears to be a movement of grifters from a non tech background trying to make a quick buck and flood the market with cheap labor. In the end most of the students were poorer than they would have been in an accredited program, without training that would actually get them a job and as an industry we've had to deal with the fallout from it.

I'm saying all of this as someone who actively supports one of these, but the one I support is run by computer science majors, who grew up poor, have made enormous personal sacrifices to run the program and targets people who truly have no option to go to the university and do it for far less than what the grifter orgs were doing it for.

Truth be told, "learn to code" is not the way to economic prosperity. Paying livable wages for things is, irregardless of the country etc..

</comment><comment><USER46> Looks like the allegations of fraud were in the air in 2017 before WV started.

[https://pittsburgh.cbslocal.com/2017/12/21/miners-sue- mined-...](https://pittsburgh.cbslocal.com/2017/12/21/miners-sue-mined-minds- program/)

</comment><comment><USER47> The issues with these bootcamps are

1) Developers tend to sneer at this model, because they learnt themselves online (and dont think sitting in an intensive bootcamp would help) or went to a university for multiple years. This means these bootcamps are often run by people on the fringes of tech, recruiters or in this case "consultants"

2) There is no reason for a developer to teach these bootcamps, they pay less than an equivalent job and most firms would look at experience teaching at one of these bootcamps as a red flag (because most of the teachers are students who couldn't get jobs). University is different here, as your research can be viewed valuably by tech companies, even if while at the university you earn less money, and there are other quality of life benefits

3) Once they get in most students get the impression (even subconsciously) that they've been scammed. Thats mostly for above reasons (founders and teachers who don't have tech experience), combined with a hard sell getting them into it. This gives graduates intense imposter syndrome. Even worse they follow the lead of people who run the boot camp and "fake it till they make it", mainly because these bootcamps offer them TA jobs to juice their stats and incentivizing them to say nice things about the bootcamp.

The combination of these factors means you get graduates who have been taught by people without experience, with a bunch of baggage that makes them worse developers, afraid to ask questions for fear of being seen as an imposter, exaggerating any real projects/experience they've worked on, resistant to learning anything new because they've only been taught specific frameworks with no theory.

</comment><comment><USER48> > When word spread of a trip by the Mined Minds leadership to a tech > conference in Lithuania in November, she saw an opportunity.

I am partly of Lithuanian descent. With respect, I don't understand why someone in the US would think to attend a tech conference in Lithuania, when there is a much larger tech industry closer to home.

<comment><USER9> Have you looked at the line ups of Build Stuff in Vilnius? It has many of the same speakers as QCon, historically at a fraction of the price, and attendees from across Western Europe and the US.

I have priced it out several years running, and with flights from major US cities or (especially) Europe, a hotel and expenses it is substantially cheaper than attending a US conference in the same tier.

Disclaimer: I have worked on the CFP for that conference several times over there last few years, but have no financial interest in the conference.

<comment><USER9> Also since this came up out-of-band (ugh) and apparently is not the norm for US conferences: Build Stuff pays full travel expenses for all speakers, whether they come from Kaunas or San Francisco.

</comment></comment></comment><comment><USER49> I understand that building a startup is hard. I've often heard founders being advised to "overpromise" and operate in a "reality distortion field" in order to get the ball rolling. That all works out great when things eventually go well. But sometimes, there's a lot more at stake than simply investor money.

This article does a great job of showing the human carnage that happens when founders overpromise jobs and riches that fail to materialize. Please keep that in mind the next time you are pitching your startup's mission to change the world.

</comment><comment><USER50> In the mid 20th century coding was seen as a trade school skill. Perhaps boot camps are another version of this.

When I attended MIT in the 1970s there was no pure computer science major even though competitor schools had such. The faculty said it was a skill most of the students picked up in high school. In 1980 MIT made computer science a co- major with electrical engineering. And finally last year an independent school.

<comment><USER22> My highest level of education is trade school (electronics). Trade school doesn't take 4 months, it's usually 2-3 years with multiple internships and apprenticeships.

</comment></comment><comment><USER51> Don't they have community colleges with programming courses in Appalachia? I remember years ago I took a single 3-month long summer class at a local community college that taught C, basic data structures, and basic algorithms. Based on what I learned in that class I was able to actually pass tech white boarding interviews and get a summer internship at a local tech company.

</comment><comment><USER52> They just hint at it, but the solution to the problem is already there for such people. Keep your job, go to a community college, and if you have the aptitude and build up the credits, transfer to WVU (or whatever) for the completion. Even failing that last part, an associates degree is still better than a phony cert.

</comment><comment><USER53> The HTML on minedminds.org is pretty sad for being a coding bootcamp site. Ignoring the basic badness of it looking like the output of Google+Stack Exchange copy-paste, it's not even valid (multiple head tags, div sitting outside of body/html tags, etc).

</comment><comment><USER54> Programming is not for everyone. Teaching programming is no easy task either. In the end, one of them, even if only one, got a real software job. This is enough to say this program is _not_ a failure.

</comment><comment><USER55> Hey, it served it's purpose -- as a shiny prop for whatever political candidate championed it to come and spout some pretty words and get a nice photo op.

</comment><comment><USER56> I still see myself as a junior dev since I am still self-teaching a lot of stuff. While running my own business, working on projects with my customer.

I'm not a good dev. But I am good at working with others and getting stuff done. So, there's that going for me I guess.

I probably wouldn't be employable if I had to go through coding tests. But I can fix problems since I study and research a lot.

</comment><comment><USER57> > She doesn't know the motives of the people at Mined Minds, she said, whether > they had bad intentions or were just "incredibly sloppy" with good ones.

Is there a term for this kind of hustle? Raising money from unsavvy investors for a technically-complicated effort, then "failing" in a way that isn't obviously fraudulent.

<comment><USER58> A "start-up". :-)

</comment></comment><comment><USER59> What we need is a relatively standardized degree that is like a Bachelor's minus the Associates. That is, we don't need the two years of useless filler classes. Taking two years (4% of career time, more of lifetime earnings) for that gunk is a huge opportunity cost.

I'm still waiting for my employer to ask me to do a Marxist literary criticism of a poem. When that day comes, I'm prepared!

These coding boot camps could have been what we need, but they are far too short and not at all standardized. I doubt the students ever write a boot loader, compiler, or kernel. I doubt the students do much analysis of algorithms or even know what a Turing machine is.

The same applies to non-coding careers that involve college degrees. We don't want surgeons with only a 14-week surgery boot camp, but cutting two years off of the lengthy education would increase the supply of doctors and reduce the cost (including opportunity cost) of their education. It's better than adding two years to every career.

</comment><comment><USER41> I find it very important to analyze cases like these when CEOs sound off about how you shouldn't need a degree to work in the industry. These code camps have no credibility.

<comment><USER60> I've seen many super-talented self-taught programmers who never received any formal education, and I've seen college graduates who can't get FizzBuzz working. Of course the code camps are scams, but a degree isn't much better for many people who have very little internal motivation to learn.

<comment><USER61> People regularly say this. But there is no way you made it through my program without literally paying someone else to do your entire degree without being able to code FizzBuzz. And I went to a no-name state school.

I don't doubt that you've seen it, but my guess as that it either was someone from a very poor program, their degree was long time ago and they haven't been doing actual programming since then, or they just get nervous in interviews.

Degrees aren't equal and you should definitely at least look through the curriculum if you aren't familiar with the program when evaluating a candidate.

I've noticed several times that a candidate will have a degree from a department of Computer Science and Computer Information Systems. And everyone will assume their degree is CS, but if you look through their transcript it's clear they concentrated in IT/sysadmin stuff.

Also, in general, their is a _huge_ difference between someone who took the easiest classes and barely passed and someone who has a 3.0+ with challenging coursework. Look at transcripts.

<comment><USER62> I know a few current students who are about to graduate from a top 25 CS school, who struggle writing simple standalone methods (of analogous complexity to FizzBuzz). I personally just think these students "just don't get it"([https://www.joelonsoftware.com/2005/12/29/the-perils-of- java...](https://www.joelonsoftware.com/2005/12/29/the-perils-of- javaschools-2/)). The ones I am talking about in particular are barely squeaking by, but still passing and graduating (without job offers) along classmates who are receiving $150k+ offers from FAANG

If you get enough easy teachers that give partial credit, or that have enough memorization based questions on their tests, and do well in the courses that don't really require deep understanding, it appears that you CAN squeak through and get a degree without really understanding programming.

Albeit, I know plenty of people who "just didn't get it" who did fail out of the CS program at this university, but some of these people do squeeze through.

And then because the 10-20% of graduates from top 25 CS schools who can't really program send in 90%+ of the job applications, you'll get a lot of interviewers saying "So many people with seemingly-good degrees can't even code".

<comment><USER61> I can see that explanation. Particularly with respect to those candidate's overrepresentation. I think that looking through their transcripts would generally reveal those people pretty easily though.

Also at some top tier schools it's actually relatively harder to completely flunk out, so that might have something to do with it.

</comment></comment></comment></comment></comment><comment><USER63> Coding jobs in Appalachia...wow I've heard it all.

The people living in these places are still semi-barbaric, they need a long civilizing process before they can cut it in the modern world, 2 months long boot-camps is definitely not going to do this. It's a process that should start from childbirth.

<comment><USER64> [https://www.sfgate.com/technology/businessinsider/article/Pe...](https://www.sfgate.com/technology/businessinsider/article/People- are-pooping-more-than-ever-on-the-streets-13778680.php)</comment></comment>


GitHire - All Ratings Change On Capitalization - <AUTHOR>

Changing the capitalization of a users' name will change their rating to 50%.  GitHire has no contact information, but since it was rather popular here I imagine the founders might stumble upon this here.  After about 10 minutes, it seems the change in rating to 50% is reflected on the users' normal uri as well.
Examples of people in the 1% who became 50%:
Linus Torvalds: http://i.imgur.com/SIE8o.png
Paul Irish: http://i.imgur.com/z5Orl.png
Ryan Dahl: http://i.imgur.com/1ooTY.png
Discovered this when I went from the top 2% to the top 50%. <comment><AUTHOR> Clickable:

Linus Torvalds: <http://i.imgur.com/SIE8o.png>

Paul Irish: <http://i.imgur.com/z5Orl.png>

Ryan Dahl: <http://i.imgur.com/1ooTY.png></comment>


Performance benchmarks: KVM vs. Xen - <AUTHOR> https://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/ <comment><USER2> I don't see a benchmark of network IO, especially small packet performance, or heavy random IO workloads on SSD?

If those are the kinds of apps you want to run that is great, but I would need to see more to get an idea of how they compare for frontend, caching, content, or database serving.

The difference I see between virtualization configurations for things like small packet performance is dramatic even within the same hypervisor.

</comment><comment><USER3> That's actually really interesting. I wanted at one point to run Joyent's SmartOS ([http://smartos.org/](http://smartos.org/)) on a desktop, since it seems like I live my work-life in VMware anyways. I'd like to know what VMware's processor cost is, because I've definitely noticed it indirectly when trying to do the same thing both inside and outside the VM. Let's take my last example: a Python script which searches a large graph to find out how many paths there are with N edges or fewer. It turned out to save a couple hours of running time to install Python on Windows and then run on Windows than to run on Linux in the VM, and I may be wrong, but I don't think that the Windows version of Python is magically faster than the Linux one.

I also haven't figured out how to get VMware to let me do OpenCL stuff, which has occasionally been a headache when some library does exactly what I want to do, but does it with OpenCL. The hope would be that bare-metal hypervisors would be a little more transparent.

But yeah, 2% is great news. I don't even consider this a "win" against Xen necessarily; I think they're both showing that they're much more competitive than I thought they'd be.

</comment><comment><USER4> "Xen fell within 2.5% of bare metal performance in three out of ten tests but often had a variance of up to 5-7%"

Happy to see that I had it bang on [https://news.ycombinator.com/item?id=8285851](https://news.ycombinator.com/item?id=8285851)

</comment><comment><USER5> Add units to the table, it's absolutely not clear if higher=better or the opposite.

</comment><comment><USER6> Any KVM vs. Xen PV benchmarks? The Xen (PV)HVM case isn't that interesting.</comment>


Ask HN: What are your favourite prototyping tools/languages/frameworks? - <AUTHOR> <comment><USER2> Python. I find I can more-or-less do intermediate-level design using the prototyping language, fleshing things out in successive passes, until it actually works.

Dynamic typing means it's easy to evolve the particulars without needing massive amounts of syntax.

And the massive number of available packages means that for most projects, you're starting from a pretty high base.

Subsequent translation of parts or all of the system into C, C++, Java, etc, is usually largely mechanical. Progressively replacing the performance- critical bits with C/C++ is helpful too.

It's also possible to write testing harnesses, etc, in Python once the prototype is running, using them to find and fix corner cases, and then keep those same tests for the production version. I fund that 3-step (prototype, tests, production) process quite effective.

</comment><comment><USER3> I think the most important factor is what you're most comfortable with. In what language you can most easily just picture the right code in your mind without looking anything up or fiddling.

For me, right now, that's JavaScript. I feel like I know almost ever dark corner of the language and I can just open a file and start typing. This doesn't include, though, any part of the ecosystem that requires a build step unfortunately (TypeScript, webpack, JSX). That configuration step is always a huge speed bump when trying to rapidly prototype an idea.

</comment><comment><USER4> F# / Lisp (Racket)</comment>


An ER visit, a $12,000 bill – and a health insurer that wouldn't pay - <AUTHOR> https://www.vox.com/platform/amp/policy-and-politics/2018/1/29/16906558/anthem-emergency-room-coverage-denials-inappropriate <comment><USER2> Just posted an hour ago:

[https://news.ycombinator.com/item?id=16258341](https://news.ycombinator.com/item?id=16258341)</comment>


Trees, Teeth, and Time: The mathematics of clock making - <AUTHOR> http://www.ams.org/publicoutreach/feature-column/fcarc-stern-brocot <comment><USER2> I skimmed the article and saved it for later reading.

Just wanted to point out that continued fractions are also interesting for those trying to encode hierarchical data into SQL tables: [https://arxiv.org/pdf/cs/0402051.pdf](https://arxiv.org/pdf/cs/0402051.pdf)

<comment><AUTHOR> Yeah, that's a good paper -- Vadim's nested-interval tree method is quite clever. For more related references, see...

Using rational numbers to key nested sets [https://news.ycombinator.com/item?id=13517490](https://news.ycombinator.com/item?id=13517490)

<comment><USER3> Gap keys are generally good enough.

</comment></comment></comment><comment><USER4> On a related note, if you're interested in clockmaking, the amazing YouTuber ClickSpring has an entire series where he builds a beautiful clock from scratch.</comment>


Is my friend unreasonable? - <AUTHOR>

<comment><USER2> This kind of question is difficult for any of us to answer. First of all, this is a subject I have no experience in, so I can't comment on how "fair" your numbers are. I'll only offer general advice about negotiations.

You and your friend are about to form a business relationship. Therefor: _really_ try to understand his opinion of fair. If both of you can not be happy, then forget it and move on. Does he really offer something worth 50% of your company? It seems to me that high-tech is a very competitive industry, if you have something good, typically, you will find investors.

Personally, I do not like rewarding people based on the number of VC dollars brought in. Reward him for actual work. Say that he will be paid X shares/hour, plus some start-up bonus. BTW - Rewarding people for sales, is a different story.

</comment><comment><AUTHOR> I created a 7 months old startup that is growing well. Not fantastic but ok. Now i'm looking for someone to be the CEO.

He wants 50% equity, if he could get VC funding based on a high company valuation, say USD 20 million (which i think is really high for my startup). If he can't reach the target, then he'll settle for less.

Is this fair? I put in the hard work for this past 7 month. All the idea is mine. now he wants to be on the same level as me, just because he can get funding based on high valuation.

If not, how much do you think he should get. Considering that he's being hired in an important position - CEO.

How much did Pierre Omidyar give Jeff Skoll?

</comment><comment><AUTHOR> Ok. This is what i have in mind. Do comment. The min. he will get is 10% and the max is 40%. Starting from 10%, he get an additional 1% for every $1m increase in company valuation during the funding.

So if the valuation is 30m or more, he get 10% + 30% = 40% If valuation is 20m, he get 10% + 20% = 30%

Fair?

<comment><USER3> I dont know about actual numbers but here is what I have in mind when I talk to potential cofounders: 1) trial period of min. 3 months

2) vest the other founder's equity. Dont just give him 10%. Make it 10% after one full year - or 0% for any less. How do you know whether he is working on your stuff fulltime?

3) Dont listen to empty promises. If he wants more, make him buy the equity. Say, value your company now at $200K. Then let him give you $100K cash if he wants 50%.

4) Ascertian a value for the work you have already put in.

I may be wrong, but this is my opinion.

<comment><AUTHOR> Oh. He'll be paying for the equity. So assuming i value my company at 100k now, he'll pay 40k for 40% equity now.

<comment><USER3> Does he have startup experience? if he has so much confidence to pay cash now, you are lucky!

It sounds like you probably have a killer app. Can you tell us what it is?

</comment></comment></comment></comment><comment><AUTHOR> I was thinking of 60-40 or 70-30</comment>