Self-Taught Programmers vs CS-Educated Programmers - <AUTHOR> http://chezpete.posterous.com/self-taught-programmer-vs-cs-educated-program <comment><USER2> _But before I went to college I was self-taught and after college I consider myself to be self-teaching all the time. Learning should never end._

And while in college were probably self-taught too. As an ex-academic I believe formal education is about credentialing. Being able to tell someone that you've acquired a degree of mastery we believe is appropriate to some level. And that's fine, but I fundamentally believe that all learning is really self-taught.

Someone lecturing to you is just a different medium from reading it in a book or online video. In all these cases someone who knows the topic better than yourself has manifest some information in some way for you to learn. (It's not like anyone using the term "self-taught" actually means they learned how to do AI from first principles. They learned it by reading a book written by Russell & Norvig.)

And with that said, let me say that CS isn't programming. No more than a degree in biology is the same as being a doctor. In fact the profession of doctor is so specialized they created a special degree just for it, with residencies in specialties -- and you don't need a bio undergrad degree to get into med school.

And as a general rule, if you're passionate about an intellectual pursuit you'll probably be pretty good in it (not asserting how the causality works). Those that learn via books outside of a formal setting are self-selected as it requires a special type of discipline. Although as more people race to become founders and teach themselves, this pool probably gets diluted.

<comment><USER3> _As an ex-academic I believe formal education is about credentialing ... but I fundamentally believe that all learning is really self-taught._

As an ex-academic with this view, how much stock do you put in credentials?

<comment><USER2> Credentialing is useful, especially in cases where other forms of information are difficult to obtain.

Medicine is a good example. As a patient you don't really have the expertise (and maybe not the time) to determine if your physician is of good quality. You rely, partially, on the credential received by getting a medical degree and passing the boards. While not perfect, it gives you some information.

The same goes for computer science. If I were looking for an expert witness for some computer science related legal case I'd take their credentials into account -- in part because a jury will.

But hiring a _programmer_ is different. Like I said in my original post a computer science degree isn't a programming credential. There's some overlap, but the degree of overlap is variable and generally unrelated to program quality -- Stanford tends to have a lot more pragmatic "programming" courses than MIT, at least historically.

Additionally with hiring a programmer you, the person doing the hiring is also usually an expert in the field. You can more easily ascertain their degree of knowledge and aptitude in areas you care about. Plus you have more time to do so (you'll usually get a full day if not more to question them).

Now with that said, do I consider CS degrees when hiring? Honestly it depends. If I was hiring someone to do some signal processing work I'm more inclined to look for someone with graduate degree background in the field, as a starting point. It's a domain that tracks closely to foundational work. OTOH, for a web dev I'm just as likely to hire someone who dropped out of high school as a PhD -- since frankly the PhD probably has spent less time doing web development than anyone else. But in all cases, if you come to me with some asset that shows great skill in what I'm looking for -- maybe a portfolio, or a paper you wrote, or a program, or a recommendation from someone I respect -- that will always get you in the door, period.

<comment><USER4> Unfortunately that isn't an efficient solution when you have hundreds of applications to process. Perhaps this is why degrees are often required for entry-level software positions as someone with a degree is seen to be better employees (compared to the high school drop outs).

</comment></comment></comment></comment><comment><USER5> The one difference I see is that CS Educated Programmers that went to good schools took a lot of math.

I have met very few self-taught programmers that also happen to be self-taught mathematicians. This limits the type of code you can write.

Linear algebra is required to deeply understand computer graphics.

Calculus is required anywhere you have signal processing. This means audio and video editing.

Physics is required for simulation software and video games.

Discrete and combinatorial math is required in systems software like databases.

You're just not going to hit these issues if what you do all day is glue Javascript and Ruby together.

<comment><USER6> Huh?

I'm self taught, the last math class I took was 9th grade Algebra.

I wrote one of the first vector based, anti-aliased, alpha channeled UI frameworks for Windows 95 (16 bit!). I wrote a DSP processing engine for a telemedical application to monitor heart rate and blood pressure in 1997. I've written control software for elevators. I've written contract after effects plugins for post fx shops. I've written audio and midi sequencers. My video editing app, Shave, is the only other useful editor in the Mac App Store other than iMovie.

I've never cracked a math book.

Am I the exception that proves the rule? I'm not saying I could write Maya, but I think you are overvaluing your opinion a little.

<comment><USER7> Similar story here - I taught myself 68000 assembly by hex-dumping the opcodes out of the only compiler I could afford (i.e. free), and then taught myself calculus to find the tangents along a bezier-curve for my flagship product at the time (a 3D editor/converter, which eventually sold quite well)

I've also had the severe displeasure of working with CS grads who couldn't figure out why a 54MB file wouldn't fit on a floppy disk, or asked "where _is_ the .EXE" when working on a windows web site.

I'd take a motivated "self-learner" over a paper-backed "scientist" any day.

</comment></comment></comment><comment><USER8> Geez where do we get these stupid fallacies?

>"There are some things that can't be self taught."

Do books not matter anymore? The most brilliant ideas ever conceived and implemented in society are written down. All information that goes into your head comes in as a concept in some form or another. If it can be conceptualized, it can be communicated (whether in a class, a book, or experienced through trial and error). What we're really saying is there are some concepts that self-taught programmers aren't discovering. Point them out and they'll find them (they're in books).

School is awesome. I went. But don't believe the hype.

<comment><USER9> Some people actually believe it isn't possible to learn sufficiently complex things without instruction. I suspect this is because they themselves are unable, unwilling, or have not tried to learn without instruction. I had a professor that insisted I was cheating because I was able to get A's on projects and tests in a C course, but did not attend any classes or discussions. He insisted that it was absolutely impossible to learn C without taking a course and attending the lectures.

<comment><USER10> I believe you can learn whatever you wish, but depending on your field of study it's pretty hard procuring multimillion dollar machines used in some (chemistry, nuclear sciences, etc) sciences.

<comment><USER11> Um.... <http://aws.amazon.com/>

<comment><USER12> AWS kicks ass, but it doesn't (yet) offer scanning-tunneling electron microscopes or particle accelerators to the best of my knowledge, which might be what grandparent was referring to?

<comment><USER13> AWS April Fools 2012, I just know it.

<comment><USER14> If Congress slashes Dept. of Energy funding (which seems likely), RHIC is going offline. Amazon could buy a particle accelerator.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Also, there are many kinds of self-taught programmers. Some are task-oriented learners* , and will learn CS concepts they encounter on the way to achieving their underlying goal. (This seems to be the kind the article has in mind.) This has its problems. For example, rather than realizing that their problem is easily solved with parsing tools, they may just lean harder on the regular expressions they already know. Learning within a classroom setting would direct them to ideas they may not otherwise encounter, nudging them out of local maxima.

Others self-learners try to get a full overview of whatever niche they're working in. Perhaps they've been burned by missing concepts from purely task- oriented learning, or perhaps they find having some big picture understanding makes finding practical applications easier. (I fall into the latter.) One problem with this group is that learning everything by breadth-first search can take a while - I wrote a web server from scratch to figure out how web programming works, while some people would be content just going through a Rails tutorial or something. That kind of perpetual, open-ended research really adds up, though.

* just making up terms here.

<comment><USER16> > Perhaps they've been burned by missing concepts from purely task-oriented > learning, or perhaps they find having some big picture understanding makes > finding practical applications easier.

Or we just like to learn, or we've been told by people we respect that we ought to be better grounded in theory. (Both are true in my case.)

<comment><USER15> I guess I took those for granted. :)

</comment></comment></comment><comment><USER17> In response to a post about raising smart kids on Slashdot a long time ago, someone posted this:

"Uh-oh, the ground is trembling, (Score:4, Funny) by Anonymous Coward on Thursday November 29, @08:06AM Small mammals are scurrying for cover, All the birds have taken wing.

The hordes of self-proclaimed geniuses who wander the halls of Slashdot approach."

This is possibly the Hacker News equivalent of that topic. It appears impossible to have these discussions without the whole thing degenerating into thinly-concealed self-praise.

'Self-taught' vs 'CS-educated' covers such a wide range as to make the question almost meaningless, in any case. Even among CS-educated people, most of us have progressively forgotten and relearned so much as to have way more in common with 'self-taught' than we'd care to admit. For example, I took computer architecture courses in both undergrad and grad school, but pretty much forgot it all and relearned almost everything that I know about it now in a very different context (high-end x86 that didn't exist back when I took comp arch). Much of what I 'knew' then isn't even true anymore...

And 'self-taught' could mean "ploughed though Cormen, Leiserson and Rivest + TAOCP + SICP + Hennesy&Patterson" while CS-educated can equally mean "took a bunch of Java courses and dodged all the hard stuff I could".

</comment><comment><USER18> I'm a mostly self-taught programmer (I took a class on QBasic and a class on Visual Basic in community college).

At the risk of generalizing, self-taught programmers tend to learn things as we need them, since our primary focus seems to be on making features or making products.

I will say that I greatly appreciate the academic programmers though, as without them I wouldn't have any tools to work with. I have no drive to create a new database storage engine, a more efficient bloom filter, or an experimental programming language, but I'm grateful that someone gave me those things to play with.

</comment><comment><USER19> My experience is that CS-educated programmers will often be more humble and ready to admit that they might not know all there is about a subject, and self-taught programmers more certain that they know the one way to solve a certain problem.

Of course, this might just be the people I've met, but based on personal experience, I think university teaches you that you're _not_ the smartest one in the world, that there are lots of things you don't know, and that things are usually not as simple as they seem.

That said, a lot of the self-taught programmers I know get more humble as the years go by. And of course, all the great CS-educated programmers I know learnt programming in their spare time, and got the theoretical and low-level background at uni.

</comment><comment><USER20> I think this statement is funnily self-negating: "I already understand grammatical structure, the relationships between subject/object/verb and the uses of prepositions." This guy must be learning Romance languages (e.g. surprise! he's learning Portugese) since languages outside of this family differ in a lot of ways. E.g. all the things here can and do differ: [http://en.wikipedia.org/wiki/Romance_language#Linguistic_fea...](http://en.wikipedia.org/wiki/Romance_language#Linguistic_features)

This sort of euro-centric natural language egalitarianism seems to bleed over into his thoughts about programming languages as well, e.g. those expressed in this statement:

"Learning a new language simply teaches me to communicate the same thoughts and feelings but in a different way."

This is wholly false. Languages differ with respect to their requirements for self-description. These requirements, when propagated into code through the actions of a large community, shape the types of programs that are written and how those programs can be expected to interact.

For instance, part of the reason that Haskell programs can be very short, is that the type system on which Haskell is based is extremely deeply thought out and based on a rich mathematical framework. This framework allows the programs to be self-describing in a consistent and meaningful way and for that self- description to be used to express ideas more clearly.

Ruby is self-reflecting through a sort of imperative set of meta-programming techniques. This allows "conventions" to exist in ruby code which enables a framework like rails.

Etc. etc.

When will people realize that not all languages are created the same? Language shapes culture and culture shapes language. Once you put a stick in the ground and decide where features will be located and how they will be inter-related you are planting the seed for all sorts of complicated emergent behavior.

It's true for natural languages and for programming languages. This guy just seems to have missed the ticket.

</comment><comment><USER21> The problem here is that you can't group all of one type together. There will always be brilliant self-taught programmers. From my experience in the field, however, is that self-taught will often take the first solution over the best solution, or will pick the best solution to their particular problem without thinking enough about coding standards or clean integration into the code base. There are plenty of tools out there to ensure this kind of thing in other languages, but I don't often work with those.

Of course, there are also many schooled programmers which may be able to think critically but lack the ability to go from a program to a product.

But not all of course... you can't make these stereotypes without starting a flamewar.

<comment><USER22> "self-taught will often ... pick the best solution to their particular problem without thinking enough about coding standards or clean integration into the code base."

I disagree that getting a CS degree has a positive effect on your ability to write clean code or adhere to coding standards. Those things come from work experience. I would argue from my own experience that self-taught programmers are better in this respect. The majority of code I see written by CS academics and students in my department is hideous.

</comment></comment><comment><USER23> I tend to agree with Mark Twain on this point: "I have never let my schooling interfere with my education."

For me, I have learned more outside of school than I have in it. Really I'm in it for the diploma. I wish companies would look at your software rather than your certificates, I think they would tend to find better developers. I know some companies are good about this but the reality is that programmers do need to go to college if they want to compete for jobs.

I will say this for school: it fills in gaps in education so companies can expect some standard knowledge from everyone. Also, it can be helpful for people that don't have the motivation to learn on their own.

</comment><comment><USER24> Agreed on the math point. I took CS50 (Introduction to Comp Sci) at school my Senior Year and being that my focus was directed mostly to kegonomics, I didn't quite get as much out of the course as I should have. I also took "Bits" which is watered down Comp Sci though the professor Harry Lewis said Zuckerberg got a C in it (?!?!?).

What I did learn was the basics of putting together algorithms and "thinking like a computer." For a guy who studied Social Anthropology and whose last math course was in High School, you can imagine the nitty gritty of building a C search algorithm was difficult to get at first glance (Linear search, bubble search my a$*).

To cut the BS:

1) CS I took was broken into discrete testable units. For each problem set there was a core CS theory that you needed to understand to be able to finish it. Some were less functional (ie arcane data structures), others were basics of programming that anyone should know like the back of their hand (pointers, data manipulation etc).

2) When self-teaching, you tend to pull together bite size chunks of important info necessary to solve a particular problem rather than building a solid foundation. If you're completely self taught, you'll miss 101 level theory points that may help you later when tackling a known problem that has a solution or is nearly impossible. That said, in self teaching myself, I've cobbled together quite a bag of tricks as well as the resourcefulness to pull up any info I need to solve a problem and absorb it quickly. I've yet to meet a problem I couldn't tackle just because I wasnt a "CS Educated Programmer".

Through the course though, the biggest takeaway for a non quant type like me was breaking problems down into discrete parts solved and tested by logic loops (read: thinking like a computer). The basic structures and solutions to problems involved I still use today when I program for the web.

</comment><comment><USER25> Someone who is CS educated but hasn't done a great deal of _self-teaching_ in programming is going get a heart attack when applying for his first job.

</comment><comment><USER26> I see too many programmers that get in it for the money and not the passion. Having passion removes the need to be formally instructed. Passion gives people the drive to excel and be the best. However, you do get a big picture view of what's going on having earned a degree. The slackers tend to be the non-self-teaching among us.

</comment><comment><USER27> I once read something to this effect from Oded Goldreich's book (his book on Computational Complexity): Knowledge is the result of hard computation on publicly available information. I think getting a formal education definitely aids the process of learning. Otherwise how do you get around Meno's paradox (i.e. how do you enquire about something if you don't know of its existence?) ? And self-taught programmers definitely would benefit from some structure in their education (again - the structure is decided by a formal CS curriculum). I have been trying to learn signal processing over the last couple of years and I found that OCW + Berkeley webcasts took me a lot farther than random googling about how to accomplish something.

</comment><comment><USER28> "Learning a new language simply teaches me to communicate the same thoughts and feelings but in a different way. This is the same with programming languages: you accomplish the same tasks in a different language that has different syntax."

I liked that. A computer language, or CS, are both, for me, means to turn an idea into reality. I don't think it necessarily matters which way you were trainer, so long as the idea you're trying to execute gets done. Success either way imo.

</comment><comment><USER29> I would have very much liked to have a CS education (I have an MS in Neuroscience), but did not really know I had aptitude and a passion for it until later in my life. I took the long self-taught route to programming being very task driven, ie the first business I started needed certain things so I just did it. Was it ugly? oh heck ya! To some degree it still is, but for many years it has more than payed the rent.

I very much miss a mathematics background but these days there are many sources of information that can and do aid in the solving of programming problems.

I have railed against "credentialism" for years because ultimately there have been many people I have worked with who were capable of many tasks but not allowed to the opportunity because they lacked a degree, but not the skills. And don't get me started on people doing the identical job but one getting more due only to a degree.

A credential tells me what you might be able to do, a body of work shows me what you can do.

</comment><comment><USER30> A bit of background about me before I add my 2 cents: because of my rank in an entrance examination (JEE), I ended up majoring in Civil Engineering and managed to work towards a minor in CS (which was, and is my passion). I'll be graduating in a few months.

I've experienced a bit of both worlds—I picked up books on Data Structures (including Red Black trees), attempted to implement Rjindael in C++ (without understanding any of the underlying math) in high school, learnt PHP/JS/CSS/C++ and started building from there.

What I've observed is—as a self taught programmer the biggest disadvantage is that you don't know what all is available/standard—as someone else mentioned in the thread, I did not know about parsers until I managed to take a course in Programming Languages.

Since I realized that there was so much I did not know, I've tried to make it a point to keep asking my batch-mates in CS what they are reading, picking up textbooks recommended by professors in class; reading other books as recommended on HN, and elsewhere (SICP, Learn you a Haskell..., started reading TAOCP, etc.) and have attempted to at least match my batch-mates who are CS undergrads. At the very least—try to get a fairly broad idea about known solved and unsolved problems.

The biggest advantages an avg CS undergrad has over me is that s/he has the credentials (which, I've tried to match by having my own open source project, doing interns in well-known companies, etc.), and that s/he is exposed to much more theory than I would ever be without actually having to do much beyond attending classes (for which I have to go the extra mile).

The advantage _I_ have over the other, standard CS guys is that I have the freedom to find out more about what I really want to do, and explore/follow certain areas which I find more interesting without being bound by academia (tests, reports, stupid & pointless assignments), and in general, perhaps—have a lot more fun while learning.

</comment><comment><USER10> There is no divide, like anything in life if a person simply uses it as a means to an end then the product is going to reflect this. This is true with anything.

</comment><comment><USER31> " _I think computer science students who've spent a lot of time doing research (particularly Ph.D.s) gain something that can't be self-taught._ "

Isn't research the very definition of self-taught? You're learning as you go -- no one has defined the path yet.

<comment><USER32> I think this the the point -- that in general someone who is _not_ in a PhD program generally won't spend such a huge amount of time focused purely on a very narrow but deep problem.

There are obviously exceptions to every rule, but I think this is a good point. Most folks who are NOT in an academic program don't take out loans and stop work on all practical projects for 3-5 years to focus like this.

I'm not very familiar with the CS PhD world -- I'm very much in the self- taught category, personally -- but I'm married to an author who got a (fully- funded) MFA in creative writing. It was great -- not because the profs were teaching anyone how to write (if you didn't already know, you didn't get into the program), but because it gave her a couple of years out of the real world, focused entirely on her writing, surrounded by very supportive & similarly focused people.

</comment></comment><comment><USER33> Am I missing something, or does this article basically say: within the domain of self-taught and c-educated programmers, there are groupings with various levels of theoretical and practical skill?

It seems it wouldn't be a stretch to say that, "cs-educated programmers" aren't even really identifiable by trait, since course selections made by both the university department and the student can change the curriculum unpredictably. The same could be said for "self-taught;" in my experience, half the people in cs-related math or theory classes just read the book and don't bother to attend class anyway.

</comment><comment><USER34> This feels a little late to the game, but many of the comments here (as well as the original post) have crystallised some ideas I was writing: [http://scrumpy-jack.com/post/4374327890/learning-should- neve...](http://scrumpy-jack.com/post/4374327890/learning-should-never-end)

It's a slightly different slant on the topic, not taking up any one side, but perhaps self-taught people (in any field, not just programming) are inherently more passionate about learning?

</comment><comment><USER35> If a person can teach himself/herself something non-trivial like programming, I am sure (s)he can easily learn what is academically taught. The learning for self learned-programmers is mostly driven by need, unlike in a college setting. The toughest skill to learn is teaching yourself which not many people learn at college/university.

</comment><comment><USER36> The best programmer I met in college quit after 2 semesters because he already knew the concepts.

However, aren't we really talking about IQ? From what I can remember, companies really started using degrees when testing for IQ became illegal. If a possible employee has an IQ of 120, then you can be pretty certain he's going to pick most of the concepts you throw at him. The college degree filters (beginning with the SAT, ACT, and high school diploma) a lot of low IQ people out the process (at least, in theory) and if not, it at least filters out those individuals who don't work hard improving their mental capacity (for instance, cognitive abilities may be improved through the study of music).

What an employer really needs is the ability to quickly filter out bad candidates. In reality, it is HR that does the culling. They don't know how to filter technical candidates, so the first thing they use is the college degree.

</comment><comment><USER37> "The truth is that for some it does and for some it doesn't." A pleasantly reasonable thing to say.

</comment><comment><USER38> I'll be honest and say that I'm a CS dropout who's never felt like any kind of maths wizard. I didn't enjoy the CS course I took back when I was 17 but that never stopped me from pursuing a career in the field that I'm passionate about.

Since that time I've taught myself everything I needed to know and never really felt the poorer for it. It's not easy and a degree is a great foundation but it's exactly that, a foundation. What comes after graduation day is a lifetime of learning.

If you really want to pursue programming, to any level, it's your passion and willingness to keep learning and pushing yourself that will ultimately determine how successful you are. Degree or no degree.

</comment><comment><USER39> Uni makes you learn really boring shit that you really don't want to learn and don't think is relevant at the time, and then gives you a credential. Both of those aspects should not be underestimated.

</comment><comment><USER40> The plural of 'anecdote' is not 'data'.

Is anyone else who's been following this discussion disturbed by the absolute paucity of any hard evidence to support any of the arguments given?

It appears to me that nobody (including me) actually knows anything, statistically speaking, about what the differences are between self-taught and CS-educated programmers. Everyone has an opinion, and some anecdotal evidence (I worked with ... or I've met ...), but that's a far cry from hard data.

Is anyone aware of any studies that might shed some light on the topic?

</comment><comment><USER41> In the tech world I think the only time it matters is when you're a noob. A college degree give some credibility to landing a job etc. But if you've got a proven track record developing kick-ass software, that's what will keep your career moving. As far as interacting with other college student and networking goes that can be pretty easily be done by hanging out at with the right crowd online (like here!) or at other professional settings in the rel world.

</comment><comment><USER42> One thing to consider is that some people are not of the age to earn a degree yet. I am a high school student and people asume I am not capable or competent way too often.

</comment><comment><USER43> There's no contest between a person who spent their childhood messing around with computers and somebody who's trying to learn it all in school.

I think CS degree programs are actually most valuable for people who already know how to program. You get to spend the time refining your art, whereas somebody starting from scratch barely has time to become competent.

</comment><comment><USER44> I don't think it matters how or where you get started in the business, so long as you keep hungry to learn more.

</comment><comment><USER45> I've seen that self-taught programmers can reach the equivalent of programmers educated at top universities. _However_ , the self-taught programmers rarely specialize like those with Masters or PhDs in say, machine learning, data mining, information retrieval, and so on.

</comment><comment><USER46> I learned programming in college in spite of my classes, not because of them. I was doing 3x the coding outside of class and learned way more practical stuff that I'm actually using today. College taught me way more about dealing with people than with code.

</comment><comment><USER47> University taught me to learn and then I picked up the rest myself. Is this called self-taught or formally educated?

</comment><comment><USER48> Self taught programmers are more passionate.

my 2 cents.

</comment><comment><USER49> This is an either/or fallacy. To be excellent, you need a mix of _both_. Formal schooling isn't required, but you generally need to have been exposed to other smart people, many more experienced, because otherwise it's impossible to tell what self-study will be fruitful and what not. So some form of instruction, whether it comes from school or from a lucky landing in the work world, is required. That said, if you're not autodidactic to some extent, you're going to be unable to grow.

By the way, I've learned a lot of those "skills that self-taught people lack" on my own. Lambda calculus and type theory I hadn't even studied till I was 24. I'm not an expert on either, but I know as much as a well-educated non- expert (i.e. I know what the typed lambda calculus is and why it's interesting, I know about System F as the basis for ML, et cetera).

</comment><comment><USER50> As an outsider (i studied physics), I always thought computer science was NOT about programming. I find it fascinating that you CS people can work on the foundations of computation, like P=NP (see, only know the basics). Programming to me seemed a very pragmatic thing: you learn as you go. Need to build a parser? read parsing theory. Need to do text mining? learn it. In that sense, i don't think there are "CS-educated programmers". While everyone can benefit from taking an introductory course, in the end everyone becomes self-taught

<comment><USER51> While it is true, computing requires repetitive, continual retraining, I disagree about the parsing/logic/etc stuff.

In class you're taught principles of X Y or Z and how they relate to Q V and R, or at least they do.

When haphazardly picking up skills, you often do not come across the greater, abstract ideals, and instead see craftsman level heuristics to solve a problem. For your example, the parser thing, recognizing if you need an parser, a regular expression engine, or a simulator is a pretty heady, abstract thing for some cases. Very few people would ever educate themselves on the difference between the cases just to do so. But that difference is one of the ones a college trained CS grad should have.</comment></comment>


OpenBGPD – Adding Diversity to the Route Server Landscape - <AUTHOR> https://labs.ripe.net/Members/claudio_jeker/openbgpd-adding-diversity-to-route-server-landscape <comment><USER2> The first and only article comment:

 _What about FRRouting, ExaBGP, GoBGP or Bio-Routing ?_ _Yeah, wasting resources for stuff nobody needs - thanks RIPE!_ _(what about contributing?)_

Bang on, BIRD is absolutely not the only solution in this space, no idea what the author's on about

<comment><USER3> theoretically there is a lot of BGP software.

None of gets used as a route server except BIRD, because nothing else can handle the full IPv4 BGP mesh.

<comment><USER4> I used OpenBGPD it first around 2012. In moment I have OpenBGPD instance with 4 x full table, so that "nothing else can handle the full BGP tables" isn't simply true. Thats not forwarding instance though, I use it as looking glass.

<comment><USER3> Handle the full BGP table while serving as a route server. OpenBGPD devs themselves admit it was inadequate at that role, mostly because adding filters was incredibly inefficient, as well as RIB updates being super slow (in a relative sense).

</comment></comment></comment></comment><comment><USER5> any thoughts on requiring the creation of both outbound and inbound prefix lists when peering?

<comment><USER6> Unless you're peering with another stub AS, creating a prefix list for both sides is almost impossible. The current recommendation[0] is to filter inbound on customer links using either IRR or ROA. Unfortunately neither of these are perfect. ROA can be replayed. There are a breadth of IRRs and I'm not quite sure of the validation levels each has. From my experience, they usually allow updates via email with either sender verification or password based authentication.

[0] [https://www.manrs.org/isps/guide/filtering/](https://www.manrs.org/isps/guide/filtering/)</comment></comment>


Citrine Programming Language - <AUTHOR> http://citrine-lang.org/ <comment><USER2> Admittedly there aren't a lot of places to take a Smalltalk-inspired language, but my big question in skimming this is: what does it intend to solve that, as the big example in the Smalltalk-inspired space, Io ([http://iolanguage.org/](http://iolanguage.org/)) does not?

<comment><USER3> It's simpler.

</comment></comment><comment><USER4> Nice, but this is pretty ugly:

        {\ ^9. }

I mean, the trailing "\" after "{" is just a terrible eyesore!

<comment><USER5> I am unclear on why they switch from | to \ for the no argument case, but I don't find it especially ugly.

<comment><USER6> I guess Citrine's creator feels the same way.

<comment><USER4> Inconsistent = Ugly

<comment><USER5> While there are certainly ugly inconsistencies, I disagree that this holds as a rule. This kind of inconsistency - sensitivity of a surface feature to some other attributes of the situation - has the effect of increasing the redundancy of the encoding. Redundancy can (it doesn't always!) help with comprehension and correctness; individual instances should be evaluated on their merits.

</comment></comment></comment></comment></comment><comment><USER7> There should be a consensus by now about not creating any new languages with null/nil/undefined/whatever.

<comment><USER8> All its variables are dynamically scoped, the syntax is the worst of SmallTalk and Prolog, and you're worried about nil?!

</comment></comment><comment><USER9> Some interesting stuff---but I've developed a reflex aversion to languages that proclaim "everything is an object!" as though that were an unalloyed advantage.

<comment><USER10> What would be disadvantageous about it? This facet makes Smalltalk (and Ruby) extremely consistent, I don't see how that would be a bad thing (as long as we are talking about an object-oriented language).

</comment></comment><comment><USER11> > Ruby, Smalltalk, JavaScript and C

I don't see where C comes in here at all.

<comment><USER3> Curly braces for functions come from C, Smalltalk uses brackets [].</comment></comment>


Lexi Thompson given 4 stroke penalty after viewer emails LPGA of violation - <AUTHOR> https://www.golf.com/tour-news/2017/04/02/lexi-thompson-given-four-stroke-penalty-after-viewer-notifies-lpga-rules-violation <comment><AUTHOR> I know this one is a bit off the path, but it is a very weird example of viewer feedback in a sport. I am trying to understand what the consequences of something like this scenario is going forward.</comment>


Linkedin 13M settlement over Add Connections [pdf] - eric-hu http://www.addconnectionssettlement.com/media/380939/settlementagreement.pdf <comment> eric-hu addconnectionsettlement.com is having issues, here's the google webcache:

[http://webcache.googleusercontent.com/search?q=cache:aWJj9pD...](http://webcache.googleusercontent.com/search?q=cache:aWJj9pDeN_oJ:addconnectionsettlement.com/media/381770/v7_lnkd1_notice_092815.pdf+&cd=1&hl=en&ct=clnk&gl=us)</comment>


Two decades after Columbine, Parkland educators and police still weren't ready - <AUTHOR> http://projects.sun-sentinel.com/2018/sfl-parkland-school-shooting-critical-moments/ <comment><USER2> Some of the actions taken at Parkland were unacceptable.

One thing I want to point out though is that in the US we have, not surprisingly, the quickest and best active shooter response of anyone in the world.

I would encourage you to look at 2011 Norway Island Attack (which they are in the process of making a movie about).

Things that happen:

1\. Bomb goes off in downtown Oslo, killing 8.

2\. No national emergency is declared, the Oslo police do not request assistance from any other department, federal gov, etc.

3\. The public is not advised to shelter in place and business continues normally throughout the nation officially.

4\. 90 minutes later a call comes in from a small island about 40 miles from Oslo.

5\. Oops! Police don't have any helicopter to reach it, because the single helicopter Norway police has is having a maintenance issue that day and was already grounded.

6\. Police drive to the town right by the island and grab a boat and go to Island.

7\. Oops! Wrong island.

8\. 90 minutes later they reach the island. Even with the water barrier, US response would have been in the single minutes.

9\. 77 people were killed. Of the 69 who were murdered, the bullets were filled with liquid nicotine to also poison.

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

This saddens me so much I can't even bear to watch the movie coming out about it: [https://www.vanityfair.com/hollywood/2018/10/22-july- netflix...](https://www.vanityfair.com/hollywood/2018/10/22-july-netflix- review)

<comment><USER3> > in the US we have, not surprisingly, the quickest and best active shooter > response of anyone in the world.

That is both admirable, and immensely immensely sad...</comment></comment>


IEEE publishes draft report on 'ethically aligned' AI design - <AUTHOR> http://www.zdnet.com/article/ieee-publishes-draft-report-on-ethically-aligned-ai-design/ <comment><AUTHOR> the report :: (.pdf)

"Ethically Aligned Design: A Vision for Prioritizing Human Wellbeing with Artificial Intelligence and Autonomous Systems (AI/AS)"

[http://standards.ieee.org/develop/indconn/ec/ead_v1.pdf](http://standards.ieee.org/develop/indconn/ec/ead_v1.pdf)</comment>


Moov: The End of the Bullshit Workout [video] - <AUTHOR> http://preorder.moov.cc/

<comment><USER2> This actually looks pretty cool and could really help a lot of people. I've been running a few years now, and a couple of years ago I started to get serious knee pains. A physio basically explained to me that my legs move in totally the wrong way, and I had no way of knowing this until he showed me what was going on, gave me some advice and helped me fix these bad habits. It really, really helped - for that kind of advice to be given in real-time during a run would be absolutely fantastic. Running isn't just about distance or speed!

</comment><comment><USER3> There is a key advantage to what this is doing over current activity trackers I am aware of - and that is that it gives real time feedback and is moving towards performance metrics that matter rather than merely tracking how much the sensor is moving.

(I was involved in a startup doing something similar in the past, we never got to market - www.runnr.me - Good luck!)

</comment><comment><USER4> Reminds me a lot of the Misfit Shine [http://www.misfitwearables.com/](http://www.misfitwearables.com/) whithout the shiny light thingies.

There seem to be hundreds of these popping up recently. 2014 is shaping up to be the year of wearables, and it is going to get more insane with the Google Watch, and a potential Apple wearable (watch? headphones with heart rate monitoring?) later in the year.

<comment><USER5> This is one of the most absurd site designs I've seen in a while. I'm waiting many seconds at a time for the site to load images of attractive looking people doing glamorous things, while what I really want is to understand the utility value of their product. Now I'm annoyed and they come across as pretentious. Too bad. While this kind of gross presentation of product values happens once in a while, what made misfit really stand out is the fact someone really made a significant effort on that site. It's as beautiful as much as it's silly.

TL;DR when looking for a fitness tracker, don't bullshit me with pictures of people in suits

<comment><USER6> i'm actually really impressed by the misfits site, but maybe that's the front end dev in me talking. they should be preloading images for the next step while you're looking at the current step, though.

<comment><USER5> Technically and graphically it's really impressive, but it fails to fulfill its purpose. We should be impressed with the product, not the site design.

<comment><USER6> of course, that's the intent of the site. i actually think it did a pretty good job of that. sure, it's displayed on pretty people, but those pictures do a pretty good job displaying the versatility of the product in how it can be worn and used. there's even a section that does an exploded view of the product so you can see what it's made of. after going through the whole site, i felt i understood it a lot better than the OP's link.

</comment></comment></comment></comment></comment><comment><USER6> looks like a nice-looking version of the Yet-Another-Watch-Thing connected to an app. i am always confused by the utility of said app... it looks like i'm supposed to be looking at my phone while i'm doing my workout to get the tips it's suggesting, but i don't want to do that.

<comment><USER7> Well, the speech feedback would help with that. No idea how any of this is supposed to help you in a pool though.

<comment><USER8> Well there are waterproof Bluetooth ear-phones, maybe even Wifi ones. Though it's preferable if the former use the classic channels so the range is up to 300feet (~100m) or you could install the app on a waterproof Android watch.

</comment></comment></comment><comment><USER9> They didn't show the part where you have to re-set your activity on the phone app, every time single time you change it. That will get tedious and a not so determined user might forget.</comment>


StatsD at Shopify - <AUTHOR> http://www.shopify.com/technology/3709232-statsd-at-shopify

<comment><USER2> Very interesting! Just yesterday started looking at using munin better, most of the OS-level graphs tell me nothing useful (except maybe uptime). Running a simple virtual server with little RAM, this might just be a good solution to do more automation and measuring.

</comment><comment><USER3> Direct link to the statsd-instrument client library: <https://github.com/shopify/statsd-instrument></comment>


Ring doorbell app packed with third-party trackers - <AUTHOR> https://boingboing.net/2020/01/27/ring-doorbell-app-packed-with.html <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=22165568](https://news.ycombinator.com/item?id=22165568), which was posted a bit earlier and has the original source.</comment>


What You Sell and What They Buy - <AUTHOR> http://www.codefromaway.net/2012/03/what-you-sell-and-what-they-buy.html

<comment><USER2> Two Points....

Lazy Man's Version. 1\. "People Buy the Hole, Not the Drill!"-Marketing Axiom 2\. delink product from price and link price to value. 3\. Always compare apples to oranges when selling. the worst thing that could happen (from a marketing and pricing perspective) is your product or service becomes a commodity in your customers eyes.

The story goes that when Robert Kiyosaki first developed his Cash Flow 101 board game to teach kids about money, he ran some focus groups asking how much people would pay... the common response was between $20-$40, which is pretty normal for a board game. He supposively ran into Dan Kennedy who explained to him that instead of comparing this game to other board games, he should focus on the value it creates and the financial education it delivers and charge like $200 for it. He did this and still sold hundreds of thousands of copies. (it's available on amazon for $99). Drawing the comparison of apples to apples or in this case board game to board game was holding him back in his mind, but if the value was communicated properly, the game actually saves you thousands of dollars of education in a money course, or worse, a lifetime of money mistakes. ALWAYS COMPARE APPLES TO ORANGES. you never want to draw a side by side comparison, because then price becomes relevant. If you succesfully delink product from price, and realize that price is actually by definition a numeric representation of value, you can actually charge what a product is really worth. This is also why a "Unique" selling proposition is so important, you don't want to be viewed as a commodity to your customers, it will only hurt your bottom line.

Smart marketers live by the axiom, "You Buy the Hole, Not The Drill!" (Although, this concept of selling benefits, not features is only one layer, and there are deeper emotional layers if you want to peel the onion. The better you understand what drives your customers decisions, the more effectively you can communicate the value you are really providing to them. Keep in mind though that you need to tie the benefits into features, to explain how you will deliver that benefit. A good exercise for this is a two column spreadsheet where you outline all the features of the product in one column, all the benefits in another column, and start drawing lines matching them up to each other. Yes, good copywriters and marketers actually do work, they dont just suddenly get inspired :)

There is a great book on pricing strategies by Dan Kennedy and Jason Marrs worth reading if you want to learn how to set your prices properly.

<comment><USER3> Great thought-provoking comment.

edit: why was this downvoted? I wasn't sure what to say but wanted to let the commenter know that I appreciated his contribution. Should I have just upvoted?

<comment><USER4> Wait a few hours for the score to settle, before asking about a downvote.

</comment></comment></comment><comment><USER5> McDonald's is actually in the information business. It sells information about its food.

What people buy when they buy a Big Mac are two things:

1\. the actual Big Mac

2\. insurance that a Big Mac always tastes like a Big Mac

This second thing cannot be bought from a local restaurant not part of a chain. You can't be sure what a random burger will taste like, and you can't esp. be sure it's not going to be awful.

That's why more people go to McDonald's than to other restaurants that they don't know: they hate uncertainty and would rather eat something that is consistently average than take a chance every time.

This is also known as the "Lemon Effect": <http://blog.medusis.com/are-you-a- lemon> (shameless plug).

<comment><USER6> > they hate uncertainty and would rather eat something that is consistently > average than take a chance every time.

I think it's more like they have been programmed (marketed to from a young age) to spend $5-12 on a relatively low quality product as long as they get it fast and get it from McD's (on every corner). They simply don't know any better, and don't care to find out more.

I can buy a complete organic meal and cook it myself for half the price, with 2-3x more nutritional benefit, with 1/10 the health risk. But that requires time, effort, knowledge, self-improvement, etc.

<comment><USER7> Oh for the love of all that is good and holy, can we put this marketing-is- brainwashing thing to rest? People don't go to McDonald's because they saw a clown singing a jingle on a television. They go because they like the food at that price. They may be more aware of that option than other options due to marketing, but people aren't automatons that just do like television tells them to.

That being said, I challenge your assertion. I can buy a double cheeseburger (call it 1/4lb of meat) from McDonald's for $1. This takes me about 5 minutes. Buying organic beef, cheese, and rolls, and then prepping, seasoning, and grilling that burger will take you, give or take, 20 minutes and probably cost you on the order of $2-5 per burger (depending where you live), minus the time needed to get those ingredients. You value time, effort, and knowledge at zero, which is below their actual value.

My point is that your argument is fallacious. Learn from what McDonald's puts out and understand why, despite plenty of marketing, Burger King has fallen off a cliff and Wendy's has come charging ahead. McDonald's has a lot of value in terms of a case study, but you dismiss it with that old-programmer-standby, "It's just marketing." I'm sick of seeing that attitude--it quickly dismisses good and interesting business strategies that we can learn from.

<comment><USER6> No one is dismissing anything. I'm only suggesting that one of the primary factors is marketing in most sales dealing with consumers in the fast food industry. Marketing doesn't mean a tv commercial itself, but it does mean the underlining messages that consumers begin to wrongly believe to be true.

If you go to a fast food chain, and go to an organic shop, the difference in the look of the customers is drastic. You might be getting your food quicker, maybe even cheaper, but you end up losing out at the end.

</comment></comment></comment></comment><comment><USER8> The founder of Patagonia, Yvon Chouinard, writes about a related topic on the supply side in his book, "Let My People Go Surfing." The way he phrases it is, "What is the company's real product?" and he defines product as that which the company makes its decisions around.

Some of it is a little simplistic, but the points that have stayed with me are 1) the product of a large publicly traded company is its stock price, and 2) the product of a small scrappy start up is the start up itself.

</comment><comment><USER9> _Do you really need to write up a whole framework of code to justify the price you put on a site? Not at all! They're not paying you to write code: they're paying you to get them a result._

This. I'm reminded of the post by Rob about his startup acquisition... The interviewers were asking him why he didn't rewrite a site written in classic ASP to node.js/mongo... Completely missing the point that the code behind the button made absolutely no difference in the sale or functionality of the product.

</comment><comment><USER10> Ah yes, this goes hand in hand with my mantra: a product (be it IT or physical) is only worth as much as people are willing to pay for it.

</comment><comment><USER11> Software IS a Service (SIAS)!!

</comment><comment><USER12> In the past I have also heard that McD's business is not fast food (nor real estate) but food arbitrage. I suspect this says more about the person doing the analysis at the time than it does about McD's business. They sell hamburgers.

</comment><comment><USER13> McDonald's business is not about fast food,rather it provides information about food.Actually business is depend not only by the product but also much more depend on its Advertisement.That's why McDonald's business is so popular in America.</comment>


Ask HN: Translating your website? - <AUTHOR>

We'd like to translate our English language website into Spanish.
Anyone been through translation process for their site and can give some pointers where to start?
Low cost pls, bootstrapped startup here..thanks! <comment><USER2> Because this is a service most places online will give you quotes for free. Just run a standard google search ([http://www.google.com/search?client=safari&rls=en- us&...](http://www.google.com/search?client=safari&rls=en- us&q=website+translation&ie=UTF-8&oe=UTF-8)) and get quotes from the top couple results. I haven't personally used any of these services.

If you're lucky find a friend/family member who is fluent in Spanish, a surprising number of people are, and have them do it. It would be best if they learned Spanish in mainland South America, preferably not Argentina, because those places speak the most universal Spanish. Spanish writing from Spain may look to a South American like British writing looks to an American. Caribbean Spanish uses more slang (although that may just be a stereotype) and Argentine Spanish is proper kind of like Spain's (again maybe a stereotype).

</comment><comment><USER3> Right now this question is far too broad. Are you looking for help from a technical perspective (i.e., a localization framework) or someone for a translator? If you need technical help, is it a static or dynamic website? If it is dynamic, what framework/language do you use?

<comment><AUTHOR> We have already built in the tech, so now we can assign users to be a special "translator" class and when they log in they can click a button to translate the page. Then they enter the text for the language they are set up with.

Now our challenge is to find good and reasonably priced translators to do the service (preferably uni students who are in our target demographic and "get" the service as well)

But as we're still small it's hard to find volunteers who could do the job well (and we're in Hong Kong so don't know any Spanish native speakers).

</comment></comment><comment><USER4> I might be able to help you out (I wouldn't be doing the translating, but I know a couple of hispanic college students who are just starting their winter break and might be interested). Send me an email at grosales at gmu dot edu

</comment><comment><USER5> you can take a page out of Facebook's book and let the users do it for you.</comment>


Detailed Review of Mark Pilgrim's Dive Into Python 3 - <AUTHOR> http://quandyfactory.com/blog/43/review_mark_pilgrims_dive_into_python_3

<comment><USER2> The letter spacing on that text makes it very difficult to read for me. When letter spacing is increased, word spacing should be increased accordingly. In this case, it probably makes sense to simply remove the 1px letter spacing.

<comment><AUTHOR> Thanks for the feedback. Can you please post a screenshot of how it looks in your browser?

<comment><USER2> Sure, <http://i.imgur.com/NQPFK.png>. FF 3.6 on OSX.

I think the letter spacing works well when you look at an individual word. It's just that, in the context of the paragraph, the differential between letter spacing and word spacing is small enough that words begin to lose their separation.

Edit: I also tried increasing the word spacing (+1-4px), but I still felt like I was straining to read it. Perhaps it's just a case where the convention makes it difficult to adjust.

<comment><AUTHOR> Thanks. I removed the letter spacing.

</comment></comment></comment></comment><comment><USER3> Read this through earlier today. Ryan's done a good job covering the contents of the book, and it sounds like Mark has done a bang-up job of describing Python 3.

I'm not the target market for this book at the moment, but if I find myself heading back to Python, I'll be diving in with this book.</comment>


Examine the patent that made selling Microsoft Word a crime (2009) - <AUTHOR> https://www.zdnet.com/article/examine-the-patent-that-made-selling-microsoft-word-a-crime/ <comment><USER2> Word not so much, but to think how much of our civilization rests upon buggy, poorly version-tracked (if at all) Excel worksheets makes me very uncomfortable to the point of wanting to prosecute such reckless behavior.</comment>


Virtual reality will complete transformation of children into zombies - <AUTHOR> http://nypost.com/2016/05/01/virtual-reality-will-complete-transformation-of-children-into-zombies/ <comment><USER2> That has got to be one of the most pointless, low-effort pieces of "writing" I have ever read in my life. VR is bad for kids because Ben Affleck won't let his 4 year old see Batman and your daughter didn't like the IMAX at the aquarium? What?

I do think there is a lot of merit in being cautious with any new technology when it comes to children (I have an HTC Vive at home now and my 5 year old and 3 year old are not using it), but c'mon, in what way did this article contribute to that discussion in any way? And honestly, in general, why is an article from the NY Post's "write whatever you want" section even HN-worthy?</comment>


How to apply with a PhD that is 'on hold' - <AUTHOR> I have completed both BSc and MSc at very renowned  universities of my field. I started a PhD-program, but decided to drop out after a year, as this specific program didn't suit me as well as I thought (poor due diligence on my side here...) I still intend to complete a PhD at a different university, but first I want to get three-four years of experience, when there is a good opportunity.
How would your approach be in selling this in a CV and job application? What would be a recruiters' PoV on this issue? Is it acceptable to start, recognize a dead-end, and turn around? How can one emphasize that it wasn't a 'drop out', but rather 'decided to leave'?
I'm 26, and have 2 years experience through internships in several market-leading companies (within this highly specific field, too) with outstanding recommendations.
Thanks! <comment><USER2> My PhD program is 'on hold' as well. It's been 15 years, but someday I plan to get back to it.

Depending on who I talk to, I say "I found I liked programming better than my research", "I grew distrustful that the simulation methods were meaningful", "I wasn't getting the support I needed from my adviser; I was one of 14 students and he traveled a lot", and "I was doing too much CS for a physics degree, and too much physics for a CS degree. Only in retrospect years later did I realize that I was actually interested in molecular informatics." (I've spent the last 20 years working in structural informatics, bioinformatics, and chemical informatics.)

I don't think you understand the difference between undergraduate and graduate schools. Grad school is more like a job. You don't "drop out" of working for McDonald's, you quit, and explore other interests.

Also, it's not like leaving graduate school is uncommon. Attrition rates in graduate school (math and physical science) are 25% within the first four years. See [http://www.insidehighered.com/news/2007/12/07/doctoral#sthas...](http://www.insidehighered.com/news/2007/12/07/doctoral#sthash.cPpxTdm0.dpbs) , and after 10 years of graduate school only 57% end up with a degree.

See also [http://chronicle.com/article/PhD-Attrition-How-Much- Is/14004...](http://chronicle.com/article/PhD-Attrition-How-Much-Is/140045/) , "She rejects the term "dropout" to describe someone who leaves graduate school. I agree with her that the word "connotes individual failure" when someone may simply be departing for a better opportunity."

</comment><comment><USER3> I don't think you have to or should stress in your CV that you intend to go back and do a PhD.

From a recruiter's point of view being a PhD dropout might be even better because it could mean that you _won 't_ go back and you will stay being productive where they hired you after they invest in training you the first couple of months/a year.

I'd leave it open ended. In practice, it's just your plan, it's not a given, it can change based on many things. If they ask you, you can explain that it wasn't a good match and that you may or may not try again but right now you want industry experience. You could sell it as wanting to do practical, useful, not ivory tower things which could possibly in the longer term give you a better idea what would be worthwhile research if you ever decide to go back.

</comment><comment><USER4> Perhaps your context differs, but as a grey-haired hirer of MS and PhD technologists into commercial positions I have learned at least two things. (1) Though you must mention them, graduation from a renowned university and even cool internships do not correlate with productivity and desirability. (2) I am quite interested in long range goals. I try not to giggle at particularly wishful ones, nor those naively lacking branches. I hope that a branch direction considers staying with us, assuming we provide acceptable compensation, professional growth, opportunity for research, contributions to society, etc. If our investment in the employee is only a stepping-stone, shouldn't I feel a little exploited?

</comment><comment><USER5> If it were me, I probably wouldn't mention my intent to finish the PhD, since that says "if you hire me, I'm planning to leave at some point."

Not that everyone isn't planning to leave at some point, but it's probably not the best message to send up front.

</comment><comment><USER6> > How can one emphasize that it wasn't a 'drop out', but rather 'decided to > leave'?

There is no difference between these two things, unless you're focusing on the not always implied "dropped out before I got kicked out." Realistically, this is not something you can emphasize until the interview. With a completed MSc, assuming you're in a STEM field, it will not be difficult to get to the interview step at least as often as you would without that year of PhD study.

</comment><comment><USER7> Nobody cares about your qualifications, and most people drop out of PhD programs.* If you're asked in a job interview "why did you leave your PhD program?", you can honestly say "because I am interested in exciting, lucrative, market driven opportunities such as this one." Focus on your experience (which you have), and keep your head up. You'll be fine.

*I just dropped out of grad school, and nobody seemed to mind. Feel free to email me about that if you want.

</comment><comment><USER8> My narrative has always been "I could do research about building cool software or I could actually build cool software. I've opted to build things because that's what I enjoy more. I still keep up with research in my area of interest, but what really gets me excited is building new things."

</comment><comment><USER9> I think you sold yourself in a very straightforward way they way you put it above. I'd skip the due diligence explanation though, it feels self-important where no explanation should be necessary, but that might just be a culture thing. It might work for you.

How to structure your job application depends on so much more than why the PhD didnd't fit you. I would think more about what job you are applying for, and why you think it would be a good experience.

To start with you need to at least have an idea about what you're looking for. That may well be impossible at 26 (it was for me), but you can get a good idea by looking around what's available. It's not the end of the world if you change your mind later.

</comment><comment><USER10> How should we make it attractive for them [young people] to spend 5,6,7 years in our field, be satisfied, learn about excitement, but finally be qualified to find other possibilities?" \-- H. Schopper

Given that cheap and disposable trainees — PhD students and postdocs — fuel the entire scientific research enterprise, it is not surprising that few inside the system seem interested in change. A system complicit in this sort of exploitation is at best indifferent and at worst cruel.

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

</comment><comment><USER11> There's probably a bias towards hiring a Ph.D. dropout than an actual Ph.D.-- you've just demonstrated the ability to be pragmatic, which industry prizes. Don't stress about it.

<comment><USER12> I'd like to see a source that grounds that line of thinking in the real world.

Of course, one _could_ see the situation that way, but I see no reason why you couldn't also argue, for instance, that he has proven he's unable to follow any kind of activity that has not been set in a rigid path beforehand. Or that he only went to University to party[1]. I made those up, of course, which is why I wonder if there's a source for any particular line of thinking.

I know there's a slight bias against PhDs in industry[2], but I don't really know anything for this particular case.

[1] [http://www.smbc-comics.com/?id=2729](http://www.smbc-comics.com/?id=2729)

[2] [http://forums.xkcd.com/viewtopic.php?f=2&t=100990](http://forums.xkcd.com/viewtopic.php?f=2&t=100990)

<comment><USER11> Yeah, it'd be nice to see related stats. In the absence of them, I can only speak for the interviewing and hiring I've done, i.e., my own bias. That bias generally is that with a Ph.D.-no-work-experience-hire, I'll have just hired someone who's extraordinarily knowledgeable and capable in some aspects of job performance (research, algorithm analysis, etc.) and almost helpless in others (teamwork, version control, reading code they didn't write, writing code to be maintainable over time, letting well enough alone). Such wild disparity in skill levels can be hard to manage.

(I do think colleges are generally getting better at making sure students have some of these skills, and GitHub's popularity has also helped. So, hopefully this bias becomes obsolete.)

Someone who starts down the Ph.D. path, then says, "you know what? that's not for me right now", has just demonstrated some uncommon wisdom and self- awareness.

</comment></comment></comment><comment><USER13> I would just not mention it and re-frame it as a research position or something like that. Just something where you don't have to lie and that describes what you did there.

In my opinion as soon as you need to "explain" your CV things are getting complicated and you are at an disadvantage over those which have no- explanation necessary CVs.

Of cause the opinion is only valid in situations where you have no previously established relationship with the company/people who are involved in the hiring process.

</comment><comment><USER14> > What would be a recruiters' PoV on this issue?

A typical recruiter is primarily concerned with finding a good match for his client. His role is to quickly ascertain -

1) Can you do the job? 2) Will you enjoy the job? 3) Can we handle working/living with you?

Relative to your PhD program, it's enough to say after several years on the academic track, I've decided it's time to transition into the private sector. No need to dwell on the dead-end or future plans.

</comment><comment><USER15> Just mention PhD on your CV and job application as "deferred" and number of years completed or remaining. I do the same on mine with MBA. It makes for interesting conversation during interview as I only had two more quarters to complete MBA before dropping out.

Also don't mention dissatisfaction with PhD advisor et al, doesn't sound good. Instead focus on why PhD wasn't in line with your expectations at that point in your life.

</comment><comment><USER16> How far along in the program requirements were you? You may not have gotten this far, but for others reading the thread I'll point out that I've seen some people list "PhD (ABD [1])" on their resumes. You could also just list that year as additional graduate work.

[1] [http://en.wikipedia.org/wiki/All_but_dissertation](http://en.wikipedia.org/wiki/All_but_dissertation)

</comment><comment><USER17> I always just said that I left for a few semesters for financial reasons, and discovered that I preferred industry over academia. It has the virtue of being the truth (for me), and no one will ever press you to explain your finances.

</comment><comment><USER18> I wouldn't mention my PHD ever. You have an MSc and 2 years experience thats all.</comment>


Royal Quiet Deluxe - <AUTHOR> http://www.theparisreview.org/blog/2014/10/13/royal-quiet-deluxe/

<comment><USER2> This is hilarious but not likely to survive the HN immune system.</comment>


Lecture 8: How to Start a Startup - <AUTHOR> http://startupclass.samaltman.com/courses/lec08 <comment><USER2> I've been eagerly watching/reading all of these lectures.

Top quality content. Many thanks to YC for doing this - I look forward to the beneficial impact that spreading this knowledge will have.

My only complaint is that many of these things are easy to hear, and agree with - i.e. talk to users first, of course! Yet, it can be hard to bridge the gap between what we agree with, and the actions we take. Much easier to bridge the gap when this advice is given during YC session, where people can take it and immediately apply it.

To remedy this for myself I'm making checklists for each of the classes, almost like a CS183B sanity check tool.

As an example, here's my checklist for class #5 (on growth).

[https://chris.typeform.com/to/DxLnqP](https://chris.typeform.com/to/DxLnqP)

(by the way, typeform is awesome and way better than google forms)

Anyhow, awesome series and I look forward to watching this lecture. I'll reply and post my checklist for this class too!

<comment><USER2> Checklist for lecture #8

[https://chris.typeform.com/to/Oto5xV](https://chris.typeform.com/to/Oto5xV)

</comment></comment><comment><USER3> Sam, can you please add a <title/> tag to this page? That would really make it easy to find the tab.

</comment><comment><USER4> I really like the main message of this video. I think it makes loads of sense, I've employed it in my own projects at the beginning.

One question is that it seems like the first speaker and some of the people asking questions are asking "why did nobody ever do this before?"

That just isn't true. In Atlanta, for instance, we have had a company Zifty for years. Zifty has been here well before grubhub or the other sites. I guess Zifty hasn't expanded to San Francisco, yet. :) But anyway, my point is that I don't see how doordash is a new idea?

Edit __here 's the question from the transcript: Q: When you started, it seemed so obvious to you, you were wondering why, what the reason was nobody had done this before. What's your answer now looking back?

</comment><comment><USER5> Do things that don't scale is a great. An approach we took to heart. However, we're now ripping apart at the seams and this is negatively affecting our members. So now I need to go out and raise capital so that we have more bandwidth, but in doing so I exacerbate the problem because when I'm away lose 1/3rd of our team. I can't way I would have done anything differently, but if the capital is not there when you need it, then things start to break down with this approach.

<comment><USER6> I'm not sure why you got downvoted because our experience matches yours. Just like everything, this mantra needs to be put in context. There are different stages in a startup life. It is possible that some strategies would cease to be valid once you go beyond certain stage.

</comment></comment><comment><USER7> DoorDash should team up with Uber, Lyft et al. Or the other way around, Uber or Lyft could do what DoorDash does.

On another note, home delivery has been in Japan for many years, but there, the density of population makes it feasible - someone at the restaurant just loads the trays of food onto a special spring-suspension tray holder on his bicycle and makes the delivery. After finishing the meal, the recipient leaves the trays, dishes, and bowls outside for pick up the next day. Usually, there is no extra charge, and tipping isn't common in Japan, so it's a good deal.

See [http://books.google.com/books?id=kJ3TAgAAQBAJ&pg=PT116&lpg=P...](http://books.google.com/books?id=kJ3TAgAAQBAJ&pg=PT116&lpg=PT116&dq=demae+japan+delivery&source=bl&ots=J-juhd09bJ&sig=iSiBoKuqvCE5Gc_mRa3K0jWItNs&hl=en&sa=X&ei=DpVAVJiwHqOLiwKAxIHICA&ved=0CC4Q6AEwAQ#v=onepage&q=demae%20japan%20delivery&f=false)

Also, for some history, [http://books.google.com/books?id=OT8OSoiYyagC&pg=PA38&lpg=PA...](http://books.google.com/books?id=OT8OSoiYyagC&pg=PA38&lpg=PA38&dq=demae+japan+delivery&source=bl&ots=deH4_wtqVH&sig=GzUnPe3uSUqPZCsdOP0qY362Yuc&hl=en&sa=X&ei=DpVAVJiwHqOLiwKAxIHICA&ved=0CDUQ6AEwAw#v=onepage) q=demae%20japan%20delivery&f=false

I don't know if this is still possible, but apparently you can order take-out using a Wii catering channel: [http://www.destructoid.com/japan-order-pizza- with-your-wii-i...](http://www.destructoid.com/japan-order-pizza-with-your- wii-in-the-catering-channel-133495.phtml)

Here's an example of the take-out offerings from restaurants in a particular area (postal code): [http://demae- can.com/search/delivery/today/13110013001/](http://demae- can.com/search/delivery/today/13110013001/)

There are ratings listed. Heh, maybe there's another teaming possibility ... Yelp.

<comment><USER8> Home delivery has been around in India for ages too. Not only for restaurants (for which it became common only some 10 or 15 years ago, IMO, though existed before too), but much more for small general stores - called kirana stores here - what are called mom-and-pop stores in the US. And the owners of those small stores, who often are from the Marwari community (at least in northern and central India) are very entrepreneurial.

</comment></comment><comment><USER9> Pedantic: why put "Confidential" on the bottom of a slide deck that you are giving in public, and fully expect to be released on YouTube?

<comment><USER10> Only because you've not changed the slides in a while.

</comment></comment><comment><USER11> The second I turned up my volume _they_ turned up the volume. Kind of saw it coming but it was too late to turn it back down. Lol

</comment><comment><USER12> A lot of great points shared. I like how door dash talks about hacking solutions together to make it work. To improve the efficiency the way a business is ran you have to understand all its components. In their case it was driving cars, charging transactions, etc. starting crappy is ok as long as you continuously improve.

</comment><comment><USER13> 29 Quotes from Walker Williams on Doing Things that Don't Scale: [https://medium.com/how-to-start-a-startup/29-quotes-from- wal...](https://medium.com/how-to-start-a-startup/29-quotes-from-walker- williams-on-doing-things-that-dont-scale-c4912f50631d)

<comment><USER13> it took me a little longer to post Justin's quotes, but here they are for anyone who's interested- 20 Quotes from Justin Kan on Getting Press for your Startup: [https://medium.com/how-to-start-a-startup/20-quotes-from- jus...](https://medium.com/how-to-start-a-startup/20-quotes-from-justin-kan- on-getting-press-for-your-startup-8830cc24a88)

</comment></comment><comment><USER14> If any of you all are in San Francisco. There's a meetup I'm in that watches them as a group. [http://www.meetup.com/Ycombinators-Stanford- lectures/](http://www.meetup.com/Ycombinators-Stanford-lectures/)

</comment><comment><USER15> These things are coming too fast, I can't hardly keep up!

<comment><USER16> Timestamped notes for this lecture series:

[https://timelined.com/how-to-start-a-startup](https://timelined.com/how-to- start-a-startup)

</comment></comment><comment><USER17> I don't understand why there's so much emphasis on doing things that don't scale. Here's why:

In this lecture, we heard about DoorDash, a successful delivery business that is now expanding to multiple cities.

DoorDash adds value by delivering more efficiently than small businesses can on their own.

An example of a small business that benefits is a Palo Alto Macaroon store. Before DoorDash, the Macaroon store took orders by phone and recorded them by hand in a thick notebook. Then, when there was time, the owner of the Macaroon store would personally deliver orders out of their personal car. No additional cars were ever purchased and no drivers were ever hired.

One key factor is causing DoorDash to succeed where others have failed: mobile phones. The ubiquity of smartphones has enabled DoorDash to hire and coordinate part-time contractors with personal cars. This new development makes the service cheaper than past competitors.

Now, you may be wondering what my point is. Why am I summarizing the pitch we heard from DoorDash?

 _Because it 's all about SCALING!_

Let me explain.

+DoorDash is startup. By definition, that means it wants to _scale_.

+DoorDash is expanding to multiple cities. I.e., it is _scaling_.

+The businesses it helps are those who otherwise deliver at low volume with a phone and notebook. I.e., in a way that doesn't _scale_.

+DoorDash has no proprietary technology and is not a monopoly (Peter Thiel disapproves, by the way). DoorDash is competing on one main dimension: cost. And how do they achieve lower cost than a mom & pop macaroon shop? By _scaling_. Operating at _scale_ is their main competitive advantage.

+And why is DoorDash succeeding now, when past delivery start ups have failed? Because of mobile technology. And what is mobile technology letting them do? Manage a fleet of drivers _at scale_.

+DoorDash is a software company and software companies are eating the world. Why are software companies eating the world? Because software _scales_!

DoorDash's words say to "do things that don't scale." But DoorDash's actions say the opposite. Scaling is the key to their business.

(Incidentally, DoorDash gave an example of something that they claim doesn't scale: writing personalized notes to customers after orders. But guess what? That totally scales!)

Can someone explain why so much more emphasis is placed on doing things that don't scale? Doing things that scale seems to be more important to me.

Edit: I don't mean to be harsh. I'm honestly curious and hoping to open up a discussion. The emphasis on not scaling seriously puzzles me. I'm sure you folks have great ideas that I'm missing.

<comment><USER18> If you hadn't read yet, read the original Paul Graham essay on this: [http://www.paulgraham.com/ds.html](http://www.paulgraham.com/ds.html)

The idea is part you must do whatever it takes to have your first users/clients and keep growing from there (as the guy from Teespring says) and part is that you must first know _what_ to scale.

Sure, startup = growth, no one starts a startup without imagining it will grow _a lot_. But that is why this advice is particular powerful, because, as PG says for a lot of things on startups, it is counter-intuitive.

So the advice is more about doing things that don't scale until you actually reach product/market fit (which means _" Make sure your retention flat lines at the appropriate level."_, as said by Alex Schultz in his lecture); you should do things that don't scale.

But, sure, when you focus in big growth and scale, yes, then you start scaling stuff.

PS: I really sound like the ass-kissing student on your class who repeats everything teachers said before to look good. But I really think al of it makes sense.

<comment><USER19> Here's an analogy: Have some URLs of some Web pages and want to extract the links from those pages? Okay, first do it _by hand_! So, have a Web browser save the HTML and CSS, JS, files.

Then use a good editor to look at the HTML and see how to parse the thing and extract the links.

Write some code to do this and try on some more of the URLs. When see are not parsing the files just right, tweak the code.

Finally, get some okay code and get and parse all the HTML files from all the URLs with the code -- scalable!

So, start by hand and see how to automate the work and then have a scalable solution.

I just did that for a collection of about 5000 URLs!

</comment></comment></comment><comment><USER20> ooh full transcript is out: [http://tech.genius.com/Walker-williams- lecture-8-doing-thing...](http://tech.genius.com/Walker-williams- lecture-8-doing-things-that-dont-scale-pr-and-how-to-get-started-annotated)

</comment><comment><USER11> Cool services. It helps to have some context like this.

</comment><comment><USER21> "Are you doing whatever it takes to get initial customers?*

Examples given: sending 100 emails a day. "

Sounds like spam to me.

<comment><USER22> Spam is 1,000,000 emails to some random list you bought for $25.

<comment><USER21> Nope. Spam is unsolicited e-mail - there are laws in quite a lot of countries regulating exactly this.

<comment><USER22> They're generally only for individuals, not emailing companies.

To be honest, if you think 100 emails a day is bad, I honestly would not consider entrepreneurship as a career.

You will have to do far more grey area things than that to succeed.

<comment><USER21> Nice attitude you have there. No, you don't have to do illegal or grey area things - and yes, I consider myself an entrepreneur.</comment></comment></comment></comment></comment>


How Hacker News ranking really works: scoring, controversy, and penalties - <AUTHOR> http://www.righto.com/2013/11/how-hacker-news-ranking-really-works.html

<comment><USER2> Ironically, my article has been penalized off the front page. Based on its raw score, it should be about #6 but it is currently #32.

<comment><USER3> Does "Hacker News" in the title apply a hefty anti-meta penalty? Or is it just people flagging anything about moderation, fearing the typical empty speculation? (That doesn't apply to your post, it's interesting and has lots of supporting data.)

</comment></comment><comment><USER4> Really interesting how you figured that out. The penalties strike me as unfair and pretty arbitrary. I _like_ articles with more discussion for example.

</comment><comment><USER5> Hmm. I wonder: there's no cutoff for the controversial filter? Meaning a post with only one vote and two comments is considered controversial?

<comment><USER2> No, it only applies when there are 40 comments or more.

<comment><USER5> Doh! I missed that.</comment></comment></comment>


Is Tumblr a bot fest? - <AUTHOR> http://svenduplic.com/post/11777048272/is-tumblr-a-bot-fest <comment><USER2> From what I've heard (I know a couple of guys that work there), Tumblr is working on the spam and has made large amounts of progress.

I made a couple posts about this earlier this week. My site has nearly 15k Tumblr followers, so as a result, I see some of this stuff more acutely than most people.

[http://shortformblog.tumblr.com/post/11645079360/tumblr- like...](http://shortformblog.tumblr.com/post/11645079360/tumblr-likespam- problem) (on a couple of methods I've been seeing a lot) [http://shortformblog.tumblr.com/post/11654489531/tumblr- fake...](http://shortformblog.tumblr.com/post/11654489531/tumblr-fake- profiles) (on how the empty profiles have a payload)

I think a big part of the problem is that there's an easy-to-exploit black-hat SEO technique that many like spammers have been using. (To put it simply: You can be guaranteed that the phrase "liked this" shows up on most Tumblr pages.) Since I implemented the technique I mentioned in the first post — which I admit isn't entirely desirable, because it also blocks some relevant content too — my Tumblr spam has gone down significantly.

Also, note how, in that first post, I've gotten some spam notes in the past few days. It's because it contains the phrase "liked this" right in the post. I have the search analytics to prove it.

</comment><comment><USER3> The author may not realise how big tumblr is with teens. It's huge, in my community far bigger than Twitter.

Most use it to repost, like and consume. It's the same with Twitter, they got so big in the UK because of celebrities. A lot of people use it to follow celebrities and maybe sometimes tweet them or friends.

</comment><comment><USER4> A lot of people that fit the profiles described are lurkers. Content consumers, but not creators. That's a pretty common thing on most social networks.

</comment><comment><USER5> Seeing the same as well. If I would have been conspiracy theory sort of guy I might have thought it as a strategy to gain confidence in beginning writers so they would create more and more content that eventually will make their blog substantial. Or it's just spam.

</comment><comment><USER6> Tumblr isn't a bot fest necessarily, but the fact is that any site with a large amount of traffic will generally become a target for bots. It's almost a compliment to a website, but at the same time it can be a nuisance. The Tumblr bots I'm familiar with follow by category and tags, not necessarily post content. The reason the author's blog gets autofollowed is likely because he is in a lucrative niche.

</comment><comment><USER7> My stats

\- Member since 25/6/2009

\- 7,500 posts

\- follow ~ 400 people

\- ~ 400 followers

\- post mostly photography / design / fashion

\- bots seen - < 5

[ same username there :) ]

<comment><USER8> Just for other's reference the tumblr mentioned is NSFW.

</comment></comment><comment><USER9> I have a small tumblr and I notice a lot of action from one particular spam bot, sometimes my posts are liked or reblogged like 60+ times by different accounts with sites that have the same template and advertisements. I've flagged them as spam through tumblr's built in system and it seems to have decreased.

</comment><comment><USER10> (as I see it) Tumblr is/was kind of a clean 4chan, some memes/internet traditions, even some real world may get started there, or start in NY and get exposure there. Same with Twitter, same with anywhere you call good one year and bot infested a subsequent year.

</comment><comment><USER11> We've been testing a new startup with a hacked together Tumblr, to simulate the app we're building. Because of this we've been monitoring our Tumblr traffic & interactions closer than most casual bloggers.

We have 300 followers right now, and I'm going to about 15% of our Likes are SPAM. A problem, but not completely overrunning the system. They seem to also be using Tumblr tag pages to find articles to like. Articles tagged with common product keywords like handbags, shoes, or a brand name get much more SPAM Like activity than other posts.

Tumblr does seem to be hiding the entries in the Dashboard for some of these, indicating that they have some sort of system in place for isolating spammers.

</comment><comment><USER12> I've not seen this on my tumblr...

<comment><USER13> I also have not seen this on my tumblr blog. I've only stumbled across one or two bot-like blogs.

<comment><USER14> I get them ALL the time. At least 1-2 likes from bots per post.

<comment><USER15> it depends on what tags I use, iPad is a popular one obviously.

Also, soemtimes I'll see a like of an ancient post with no rhyme to why. I'll agree though that a good percentage of likes / reblogs are spam / bots. They also often have ads on the blog so whoever is running it will get credit when you visit the blog to see who just liked / followed / reblogged you.

<comment><USER14> #triathlon mostly as its just my blog for talking about triathlon related things.

</comment></comment></comment></comment></comment><comment><USER16> I think sites like quantcast, compete, google analytics etc tend to not include bot traffic b/c bots often don't evaluate javascript, and those tracking services often use toolbars/ajax requests that bots don't have.

So, pointing to pageview graphs that track ajax requests / toolbars and assuming that it's mostly bots is likely to be a false assumption b/c bots are likely not included in those pageview sums.

<comment><USER17> The "Like" and "Follow" buttons on Tumblr require JavaScript, probably to make CSRF harder. A bot that automatically likes posts would need to evaluate JS.

<comment><USER18> Liking a post on tumblr is just a POST request; it doesn't require Javascript. You can scrape the page (for the content id and authentication key) and submit the POST request to like the content without ever running Javascript.

</comment></comment></comment><comment><USER19> I'd be more interested in knowing how Tumblr instantly knows just from my email address that I'm interested in following software developers. I didn't share that with them. I hardly use that gmail address for anything outside of google groups and github.

<comment><USER20> _I hardly use that gmail address for anything outside of google groups and github._

Tumblr probably has an "invite friends" feature where it offers to suck up your address book. Maybe a few software developers you corresponded with in the past used that feature.

<comment><USER19> edit: I didn't consider that they may have just randomly picked any category and getting "Developers" was random. It just surprised me, out of ~40 categories.

</comment></comment></comment><comment><USER21> I've seen bots on Tumblr but far less than I've seen on the likes of Twitter. If you want to see a true botfest look no further than Tagged.

</comment><comment><USER22> Would it be outlandish for investors to request a one-time site-wide captcha?

<comment><USER6> Captchas won't really stop them, it just adds expense and time. Many black hat tools integrate captcha breaking services. Cost is somewhere around $2 per 1000.

</comment></comment><comment><USER23> Twitter is a botfest too - post anything with the phrase SEO in it and you get a bunch of followers with no icon, no tweets and no value. This is where Facebook has a big edge, the focus on real identity and the crack down on API use has kept Facebook much cleaner than the others

<comment><USER24> I don't think it's the focus on real identity for facebook, so much as the segregation of the network. Since most status updates aren't public by default, you can't use the equivalent of search.twitter.com to find all recent people posting about a keyword. This has good effects (no spam every time you mention 'iPad'), but also bad effects (no easy way to find people you don't know talking about topics you care about).</comment></comment>


Why are there toilets on my openSUSE wallpaper? - <AUTHOR> https://cloudyday.tech.blog/2018/05/16/why-are-there-toilets-on-my-opensuse-wallpaper/ <comment><USER2> I suspect most humans who use openSUSE also use toilets. I'm sure there are outliers but hey...</comment>


Is capitalism 'mutating' into an infotech utopia? - <AUTHOR> https://www.opendemocracy.net/ann-pettifor/is-capitalism-mutating-into-infotech-utopia <comment><USER2> I don't think the world is anywhere close to Utopia. We have:

* Starving people

* Wars

* Racial prejudice

* Vastly uneven distribution of healthcare across the globe

<comment><USER3> Utopia is a horribly misused word - the entire point was that it was an impossible idea - it literally means "nowhere" see Thomas More. He was mocking the idea of a _Eutopia_ , which would literally be a "happy place".

Either way, this all feels far more like dystopia - so I suppose the answer to the question, intended or not, is yes - we are indeed on the road to nowhere.</comment></comment>


Phpfmt for sublime text 3 just changed business model and nuked the Git repo - <AUTHOR> I just wanted to let sublime text users that depend on the phpfmt plugin that the author changed business model and deleted the git repository about 30 minutes ago.
The repo WAS available at https://github.com/ccirello/sublime-phpfmt and was forked to https://github.com/nanch/sublime-phpfmt/ just before the author ccirello nuked his repository to prevent people from reverting to an older version of the plugin.
Directions on how to revert to an older version of the plugin are at https://github.com/nanch/sublime-phpfmt <comment><AUTHOR> I left this message as an issue:

\---

I may be mistaken, but it seems like you switched this from a "free" business to a "paid" business without letting people know what's going on.

I understand that you want to get paid and I'd be happy to purchase a license from you for fmt.phar, but you don't have any public pricing available and you've surprised me with this "upgrade".

Could you let us know what you're planning, why you're planning it, and provide some insight into what your thinking is?

As of now I'm forking and reverting to a previous version. I hope you can provide some guidance because I'd like to support you and I enjoy using phpfmt.

Thank you.

\---

He responded:

> Be sure to buy a license when you do it.

and locked and closed the issue.

reference: [http://imgur.com/wpZ5Apv](http://imgur.com/wpZ5Apv)

<comment><USER2> What was the original license? I'm guessing if the license was permissive then whatever was available under such license can be forked and made available to the community at no further cost?

P.s. I do understand the author spent time developing this but if thing was made available under permissive license and community grown around it then it is extremely not professional and not fair to change terms in such way.

<comment><AUTHOR> From php.phar:

# Copyright (c) 2015, phpfmt and its authors

# All rights reserved.

# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

<comment><USER3> That looks like a BSD 3-clause licence to me, [https://opensource.org/licenses/BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause). The talk of DMCA takedowns is concerning and could mean that the original author is not aware that he can't revert the licence. I hope he just talks about accidental copies of a newer version. But even then…

</comment></comment></comment></comment><comment><AUTHOR> For anybody that's looking for more discussion on this topic:

This is a reddit post with more information:

[https://www.reddit.com/r/PHP/comments/4nxlwi/where_did_phpfm...](https://www.reddit.com/r/PHP/comments/4nxlwi/where_did_phpfmt_go/)

and this is the pull request to update the packagecontrol.io reference to the new sublime phpfmt plugin:

[https://github.com/wbond/package_control_channel/pull/5593](https://github.com/wbond/package_control_channel/pull/5593)

</comment><comment><AUTHOR> Carlos got back to me via email and transferred ownership to me. I guess he didn't want to work on it anymore.

"I, hereby, transfer to you the copyright of the sublime-phpfmt and its derivatives.

Therefore, sublime-phpfmt and its derivatives copyright are yours, Nanch."

I'll see what needs to happen to be sure the sublime text plugin stays in working order so that people can continue using it.

What a strange day.

<comment><USER4> You misquoted what I wrote, Nanch.

I mentioned the engine also. fmt.phar is not part of this transfer. So you still have problems, only not with me.

<comment><USER4> I wrote:

\---- Hey Nanch,

The engine itself is no longer my copyright.

The plugin though is mine. I, hereby, transfer to you the copyright of the sublime-phpfmt and its derivatives.

Therefore, sublime-phpfmt and its derivatives copyright are yours, David Nanch.

Regards, Carlos

</comment></comment></comment><comment><USER5> In my package CodeFormatter I've use php fmt. What I must to do now? I can left fmt.phar as is in my package? Without violation any licenses?

<comment><AUTHOR> Hey Avtandil, I'm updating the sublime-phpfmt repository on packagecontrol.io so that users have a migration path.

The license for the fmt.phar has been referenced in the comments. My understanding is that the 3-clause BSD license referenced is permissible and non-revocable. You may want to freeze any updates to any phpfmt code you package/push.

I'm not sure how CodeFormatter delivers the phpfmt package so I can't provide additional guidance.

<comment><USER5> CodeFormatter delivers fmt as phar file.

<comment><AUTHOR> Hey Avtandi, the most recent version of sublime-phpfmt before all of the business model changes and stuff happened is available at: [https://github.com/nanch/phpfmt_stable/tree/v803.10.2](https://github.com/nanch/phpfmt_stable/tree/v803.10.2) If you're packaging this for inclusion with codeformatter, it's what I would suggest.

</comment></comment></comment></comment><comment><USER6> Hi, I want to use the latest version of phpfmt on Linux and only need PHP 7.0 support. Which commit should I use?

<comment><AUTHOR> From what I can tell, commit 6125cf9 is the best version for you.

[https://github.com/nanch/sublime- phpfmt/tree/6125cf9058c0666...](https://github.com/nanch/sublime- phpfmt/tree/6125cf9058c0666f06ed758f0f5451996f7c7211)</comment></comment>