The Anti-Poverty Experiment - <AUTHOR> http://www.wsj.com/articles/the-anti-poverty-experiment-1433517539

<comment><USER2> "In 1966, shortly after President Lyndon B. Johnson declared war on poverty, 14.7% of Americans were poor, under the official definition of the U.S. Census Bureau. In 2013, 14.5% of Americans were poor."</comment>


The dual PhD problem of today's startups - <AUTHOR> https://techcrunch.com/2020/07/19/the-dual-phd-problem-of-todays-startups/ <comment><USER3> The reason you don't see more startups in the hard sciences is not due to the lack of hybrid talent as this article surmises. It's because: 1 - VCs are reluctant to fund capital intensive startups that have time horizons for exits that are significantly longer than software based startups. 2 - The product lifecycle is so much longer, which makes it inherently much riskier. In many cases it can be years before you even get to the point where you can get real feedback on the business model. 3 - There are often other considerations e.g. regulations or interactions with existing products, that are entirely outside of the control of the company that can significantly alter the likelihood of success.

<comment><USER4> This, 100%. The author says how difficult it is for multidisciplinary teams to come together when they don't understand each others skillsets--but the same applies to the investors themselves. When you start talking about these complicated ideas, there comes a point where unless the investor is involved in the industry they're investing in, they simply won't understand the true impact of it.

My company is trying to raise capital now, and that is the exact problem we're running into.

There's a reason for the "janitor as a service" unoriginal ideas--because they're easy to understand, so more likely to be funded. Those kinds of investors are looking for the buzzwords, too, "as a service," "cloud," "social," "AI" that cut off ideas that aren't strictly consumer-facing and infinitely scalable. If you have a modest idea that requires a modest amount of money and targets a modest group of people, you're just not going to hear back from investors. This causes people to have to wrap their idea in buzzwords or lobotomize it into something that allows them to achieve their true goal in a sideways manner.

<comment><USER5> > janitor as a service

Tired of trusting the flimsy log sheet on the door to know when your custodial staff last cleaned the bathroom?

We present: Toiletherium. A cryptocurrency-backed suite of apps and IoT devices that turns real cleaning into real consensus.

Our state of the art MopMine equation incorporates real sweat and toil recorded by SmartMops into mining the next block. Pit teams against teams with MopSync, or set individuals against each other... the freedom of choice is yours!

<comment><USER6> Brilliant. The dystopia we find ourselves in is palpable. Your language drives home the insanity of our times because not only is this product absurd but also believable.

<comment><USER7> Yeah, that comment belongs on r/TIHI. Too close to home, too soon...

</comment></comment></comment></comment></comment><comment><USER8> _Every week in my inbox, there is [...] Another fintech play for payments and credit cards and personal finance, [...] another cryptocurrency_

 _Of course, there are a bunch of new horizons out there [...] Cryptocurrencies and finance._

It seems a lot can change two paragraphs on. Life moves pretty fast these days.

Edited to add: I reject the central thesis of this article, and pretty every one of the supporting arguments. Humans have required teamwork to achieve their goals from the very beginning. Invention has always required the synthesis of ideas from multiple domains. There's nothing historically unusual about that. What _is_ historically unusual are the diseconomies of scale in activities like software development. That's provided many market opportunities for small teams in the past four decades, and it will continue to do so unless those economics change.

There are markets with high barriers to entry, and there always have been. Nobody was selling homebuilt aircraft carriers from their bedrooms in the 90s.

From our vantage point, we can't tell if the seam of potential innovation and market configuration is anywhere close to being mined out in consumer tech, but my sense is that we are nowhere near the point where all startups need to be at the frontiers of all human knowledge of gtfo.

<comment><USER9> This is funny, but to give Danny the benefit of the doubt: he presumably means there are horizons out there in cryptocurrencies and finance that aren't approached by also-ran "fintech plays" or "another cryptocurrency"...

</comment></comment><comment><USER10> The article misses the point, I think.

The reason why (most, not all!) VCs are successful is not because they have some secret visionary insights into the future of technology but rather because they have the means of diversifying their investments in things that are more or less guaranteed to happen. Will work be more decentralized in 10 years than it is today? Yes. Will financial institutions move away from the archaic infrastructure it's on today over the next decade or two? Yes. Will education move online and become more personalized in the next 10 years? Yes. So, just invest in 20 remote work SaaS companies, 20 fintech products, and 20 online education startups and you'll have a fair shot at making some money. In other words, most VCs are really just private equity versions of index funds.

Because of this, most VCs lack the experience, understanding, and interest in investing in highly experimental projects (there are exceptions of course!)

As an example, I would be very surprised if any of the major VCs today would have invested in a small set of people who wanted to work on what would eventually become the transistor or TCP/IP. There's a reason why these things tend to start in huge corporate research labs (bell labs) or universities: they're not obvious and they're not obviously profitable.

So, the real reason why these companies are not being built is not that the people aren't there willing to build them, it's because nobody's willing to listen. They're just a bunch of crackpots with crazy sounding ideas... until they're not.

<comment><USER11> >> Will work be more decentralized in 10 years than it is today? Yes.

That's a big call during an unprecedented work from home pandemic.

<comment><USER12> That's because it was forced... I had to fight dozens of companies because "Oh, we need you in the office" and now I reply to each one who hits me up with the original message from their last time.

</comment></comment></comment><comment><USER13> This assumes that ML and AI research will continue to be silo'd outside of domain specific research. But it's not the case in academia and also increasingly in industry. You have computational neuroscience, bioinformatics, and many other traditional disciplines which have not only incorporated ML/AI methods but also pushed the fundamental methods research forward. We're increasingly seeing interdisciplinary methods and research becoming the norm in academia. In undergrad, nearly all the social science classes and all the hard science classes had some sort programming and quantitative methods requirement. Even in industry we're seeing interesting multi-disciplinary work.Many interesting innovations in time series ML methods have come from the algorithmic trading firms and medical research community has made contributions to computer vision and unsupervised learning approaches.

I had a colleague who during her PhD in particle physics wrote from high performance parallel computation frameworks from the ground up in C which was better than Hadoop and Spark in performance. And at my last enterprise AI startup, our CTO had come from a computational neuroscience background. Whether these folks end up in creating startups is a different question, but the talent definitely exists.

The more difficult problem is how to evaluate multi-disciplinary startups and businesses. There usually isn't good empirical evidence unless they follow a more established business model.

<comment><USER14> As a computational biologist I have gained sufficient expertise in both computation and biology to know that most of the magic AI biomed stuff proposed by people who have expertise in only one of these areas is utter nonsense.

Two PhDs that don't speak the same language isn't a great solution, but one PhD who is a jack-of-both-trades isn't the only alternative either. I feel like I've done well with alternating collaborations with biologists who don't have a computational focus, and quantitative methods folks who don't necessarily have a focus in genomics (what we work on).

<comment><USER15> Maybe you need 3 PhDs for 2 fields: one to go deep in each field, and one 'jack-of-both-trades' to mediate and translate between them.

<comment><USER16> Yes, I think that works best. You need an engineering leader who has some understanding of all of the important problem areas the company faces, even though he/she is unlikely to be the company's leading expert in any of them, or more than one of them, so good decisions can be made.

</comment></comment></comment></comment><comment><USER17> > Today's startups have a biologist talking about wet labs on one side and an > AI specialist waxing on about GPT-3 on the other, or a cryptography expert > negotiating their point of view with a securities attorney. There is > constant and serious translation required between these domains, translation > that (I would argue mostly) prevents the fusion these fields need in order > for new startups to be built.

Is that all that different from a software engineer with little customer facing experience teaming up with a non-technical cofounder who does?

<comment><USER18> As someone from an academic background, it's a bit different than how academic labs are set up. My academic lab had a number of different projects in different research areas, ranging from human health to agriculture, but the unifying theme was big data analysis. The fact we all had this focal point meant we often had shared overlap with common tooling, which meant a lot of collaboration. Whether it was for alzheimers susceptibility or corn yields, you were working with tabular data.

Sure, we had people worked more on the bench and people who never set foot in the lab, but everyone made sure to know exactly how their data came into their hands and it's purpose, so if you were a statistician, you would learn everything about the corn sample you were given to analyze so you could make the correct considerations in your analysis. And if you were that wet lab person and wanted to present a figure that the statistician generated, you would learn everything about the test used, and all the assumptions made when choosing that method of analysis over others. Even in academia, this high level of collaborative interdisciplinary learning can be rare, but makes you a much better scientist who as a much better grasp on the wider project and your role to play.

I think a lot of startups operate with a mercenary mindset. Everyone is hired to play a discrete non-overlapping role, which tends to silo ideas. Central planning from upon high is also the norm, rather than collaborative discussion and solving problems from the bench up.

Depressingly, there are more and more big name academic labs that are adopting this startup oriented top down approach, with a head professor calling the shots and giving marching orders to a few sub research professors with their own postdocs, and grad students, and undergrads. I've known grad students and post docs in these labs who are outright denied to direct the research in their own projects, even if they have good ideas, simply because they didn't come from the top down. Pursuing your own ideas is the whole point of grad school and post doctoral training. On top of that, these labs siphon funding from more innovative and smaller groups by outputting higher numbers of ho hum papers, or affording expensive research with large, multi-institutional grants, both of which are heavily favored metrics in the grant proposal and tenure process.

</comment></comment><comment><USER19> Interestingly enough, things like Machine Learning grew out of domain fields. A couple of decades ago, there were few - if any - dedicated programs for Machine Learning. The research and grads came mostly from domain-specific fields, like Computer Vision, Signal Processing, Computational Biology / Chemistry, Statistics, Applied Math, etc. Then when things got more cohesive, the most important parts formed into a more or less "pure" field of Machine Learning.

Today, you can study Machine Learning without having to focus on any particular domain (well, other than stats and applied math, which lays the foundation for the theory).

But, yes, it is tough and demanding to find people that have deep / expert knowledge in both their respective domain, AND machine learning / data science / AI.

I think maybe one way to do it is to just look after domain experts, and learn them enough about ML and DS (if they lack the background) to work as generalists. Enough that they can read and discuss it.

And then, you hire ML scientists and engineers to do the nitty-gritty work, with the input and feedback from the domain experts.

</comment><comment><USER20> I have an MD and a PhD in machine learning, and in my experience this "double PhD" intuition is completely wrong. The first and main reason is because you do not hold multiple roles in a company, and you are rarely able to apply your expertise in multiple domains - one domain will passively or actively be picked for you. Except maybe for some execs, who might apply their expertise at a high level. If you are in R&D, you will focus on one task. If you are a CEO, it can give you a good bird's eye view but nothing that would match a good board. And as CEO, you will not be researching, and you will need specialists in both disciplines.

The second key reason why this fails is that people/colleagues/managers do not understand highly diverse skillsets. They do not let you be both. Maybe a culture shift is comming, when more people with multiple skillset will be available, maybe specific roles would be tailored for polymaths, but right now it is not the case.

There are probably workplaces where it is possible, but I have never seen it done properly.

<comment><USER21> > There are probably workplaces where it is possible, but I have never seen it > done properly.

I'm pretty sure that the idea here is that "double PhD types" like you would be the ones to build a workplace where this is possible and breaks the mold.

</comment></comment><comment><USER22> I'm in the middle of a PhD myself, so take my opinion with a grain of salt.

I actually agree with the author, certain fields are just very complex to develop a solid understand without proper mentoring and support you would get as a grad student.

That said, maybe the real issue is not the fact we need two PhDs each, but the question I want to raise, do PhDs need to take 4/5/6 years? (I'm not even considering the cases where people, like myself, do a 2 year master program before the PhD...). Honestly, in my humble opinion, it is not necessary.

Maybe universities could develop "industry focused dual PhD programs" to target specifically crazy folks like us :)

This might be something worth to fight for.

<comment><USER23> 5+ Years PhD programs are completely unnecessary. After quals, you should do some research and write that up. The research may take a year, it may take two, it depends. Write it up and publish it. Do that again, maybe, it depends.

One of many hiccups is in the submitting and review process. It takes _ages_. Sure, some areas are less, some are more, but three year long submit/review periods are not unheard of. Reviewers want another experiment, another control, they don't get back to you until February even though you submitted in mid-November, you can forget August as a working month, etc. Unless your PI is well connected, getting published takes forever.

I have a paper that has been in reviewer hell for the last seven years, for example. It's nutters.

<comment><USER24> > It's nutters.

Indeed. And the dirty secret of this process is that it has little to do with ensuring research quality (although it does usually succeed in filtering out very bad research as a side effect). Its main purpose is to simply make it difficult to publish, so as to preserve the CV value of a publication in a given journal.

</comment></comment></comment><comment><USER25> This is an argument for the corporate research lab, where you have people on staff who know how to _do_ things. Xerox PARC was able to build the first laser printer because they were in the same building as the people who worked on copier technology. So they had people who knew about photoconductors and paper feeding and getting the toner to stick to the right part of the paper.

Jack Kilby was able to make the first IC because he worked in a transistor factory.

</comment><comment><USER26> > AI and bio > two very [...] disparate fields

They are not, really. The field of bioinformatics exists for almost 20 years, as in, you can degree in it - I almost did myself. And the "informatics" part that you get educated about is pretty much data science, that, by now, uses a lot of ML methods and just like ML requires a very serious math foundation.

<comment><USER21> That's not a lot of bioinformatics programs that I'm seeing. A lot of bachelors programs seem to focus on teaching almost exclusively the basics of BLAST and all it's boring related algorithms (basically everything in this Coursera course[0]) and their mathematical foundations. Master's programs sometimes are a bit better with a hint of ML, but ultimately most people I've encountered there are still awfully unequipped to tackle ML problems and transfer the advances from mainstream ML to biology/biochemistry problems.

[0]: [https://www.coursera.org/specializations/bioinformatics](https://www.coursera.org/specializations/bioinformatics)

<comment><USER18> Any bioinformatics program covers machine learning these days. They might not have an explicit class called 'machine learning,' but you can bet it will be covered in the lecture sequence and the cutting edge of the field will be discussed in journal clubs, rather than in lectures which are about established fundamentals.

For a pure biology undergrad who is probably med school bound, learning ML is superfluous so you don't see it in the curriculum at the undergrad level, unless there are specific concentrations offered for computational biology. A bioinformatics program may even just have you take these ML classes from the statistics or CSE department rather than offer some bioinformatics-specific section within their department.

<comment><USER27> I agree with this, and this was true historically as well - e.g. Biometrika - a premier journal in statistics - grew out of bioinformatics-like research.

Much of the groundwork laid for online learning & statistics/bandit algorithms/modern reinforcement learning was produced by biostatisticians working on techniques for efficient experiment design (e.g. Thompson Sampling during the 1930s in Biometrika).

</comment></comment></comment></comment><comment><USER28> The author has...never heard of biotech VC? Where even the VC have PhDs and the founding team and not just 2 but 10 and also 4 MDs and capital intensive business is accepted and understood?

Seems like the author just doesnt get biotech and now that biology is becoming tech is confused where their amateur startups fit. Answer: no where.

</comment><comment><USER29> This is analogous to suggesting Elon should had skipped Zip2 and X.com/Paypal and went direct to building rockets.

Ideally the lucky few who make a ton of cash on easy software apps etc should be using that capital to risk solving hard problems and developing new sciences and technologies.

</comment><comment><USER30> > yes it is a note-taking app, but it runs on Kubernetes

Going straight for the HN jugular I see.

<comment><USER31> build it with rust to get more HN karma

</comment></comment><comment><USER32> Another question that's worth pondering is that perhaps the previous generation of technologies was simply easier to develop than the current generation - I believe the economist Tyler Cowen proposes this theory in his book "The Great Stagnation". For example, it may be that silicon processors are just intrinsically easier to develop than quantum computers, traditional nuclear (fission) reactors are easier to develop than fusion reactors, better fertilizer is easier to develop compared to GMO crops, etc. Perhaps, as Cowen claims, we have already plucked all the low-lying technological fruit, so to speak.

</comment><comment><USER33> A lot of the impedance mismatch talked about in this article is true for any cross-domain work. Building an application in the medical space, you have to get engineers and doctors to communicate effectively. Building a new semiconductor, you need to get electrical and chemical engineers to get on the same page. Designing a new music venue and you need architects, civil engineers, and sound engineers to get on the same page.

Successful organizations in the spaces in the article need to prioritize cross-training and collaboration as a first class value. Not doing so will lead to siloing and nobody understanding the whole problem.

</comment><comment><USER34> Our hubris is rooted on our systems. We expect accelerating growth without bound. And, by Conway's Law: "Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure." We have a social and economic system of Survival of the Fittest, which is loosely based on evolution. Evolution has killed 99.9% of the species that have every existed, and our systems do the same. My internal dialectic tells me that there's three responses to this: 1) The metaphor is lost, and that the statement is "all over the place", exemplifying the point of the article, that, we cannot communicate effectively outside of our limited understanding. That we cannot have new thought, in part because it cannot be clearly stated. 2) Full throated support for the system prevents us from being able to objectively question why were doing the things that we are doing, which is precisely what Conway's Law is trying to state. 3) Having a understanding, but idealistic perception, of the world means not being able to do anything about it. Survival of the Fittest means that cooperation will be exploited, and definitely not reciprocated.

In order to find new ground, you may find yourself needing to do something truly out of the ordinary. Try holding board meetings in Swahili. Try "running your business" (which loses context given the next few words) without the concept of ownership or property. Seek sources of knowledge and wisdom outside of the scientific method, religion, business schools, political systems. Of course these would obviously fail (see 3 above) in the current system. We don't tolerate failure. And we like to see out-of-the-box thinking fail because it further validates our existence systems. We may very well be at a maxima for social and economic development. The cost to try something new would be tremendous. We're also disadvantaged that we have homogenized culture and thought. Even the simplest changes may require a step back that would be considered another dark age.

</comment><comment><USER35> The author's point is valid - innovation requires more knowledge as the tech that required less knowledge gets built. Today we face the "dual phd" problem, tomorrow the tri.

Obviously that is not sustainable. If society is to continually innovate, you need to stop building innovative systems and start growing them. One approach to this is true AI; not improving your NLP algorithm by 10% with 3x the math complexity IE the transformer model (quote taken from Michael Stonebrake, although he was referencing database research), but by building math that can grow math.

Hell even math is becoming a road block (try integrating THAT Bayes!). The point is as long as we must learn to build, we will run into a wall as humans have finite lifespans and don't scale horizontally (nor do they want to). If we build something that we can feed or point to un-wrangled, raw information into such that it can learn on our behalf, we might have a shot.

Now BACK to pumping out small improvement papers, innovators!

<comment><USER36> Yeah, if innovation requires people to receive more and more institutionalized education, then expect innovation to stop eventually.

From what I have seen cross disciplinary innovation usually happens because someone's interest in one domain has created a demand for a solution that can only be fulfilled with a different one. It's rarely about being skilled in both domains, it's about committing yourself to something a single domain expert has no interest in.

</comment></comment><comment><USER37> This is not a new problem when people look at technology all day. You are basically saying that you have seen so many birds that there can never be a black swan. Not without complex xy and z factors. This is a perspective problem that can tie you down into some interesting thoughts such as "There is nothing else to be invented new." -or- "The innovation will happen here, in this little corner, where I and others say it will"

An actress basically invented FHSS, and no one understood the applications it would have to future technology until much later on. Just because you cannot think of something new does not mean that no one else can- if you are working in startup funding you need to find the true purple cow. Not the spraypainted one, or the one that only lives for two weeks and has to sustain itself on gold.

<comment><USER38> > An actress basically invented FHSS

Mind you, said actress, Hedy Lamarr, was a fairly brilliant, self taught electrical engineer.

<comment><USER37> I just wanted people to have to google it and learn if they did not know, and here you are ruining that game for me! Anyhow nice film on this for anyone interested: [https://en.wikipedia.org/wiki/Bombshell:_The_Hedy_Lamarr_Sto...](https://en.wikipedia.org/wiki/Bombshell:_The_Hedy_Lamarr_Story)

<comment><USER38> Sorry to ruin your fun.

</comment></comment></comment></comment><comment><USER25> So how is R&D being funded in China? China has government-funded everything. How's that working out?

</comment><comment><USER39> It was always in the cards. At one time a high-school degree was advanced, then mandatory, then college was minimum, now masters, soon phd's then multiple phd's. The issue is physics, the universe is too complex, see the three-body problem [0] (if the entire universe consisted of just 3 particles, that would already be too much for us to calculate). Complexity explodes exponentially. We reach computation barriers immediately. Which explains why stuff like true self-driving doesn't even come close to meeting promises and similar.

[0] [https://en.wikipedia.org/wiki/Three- body_problem](https://en.wikipedia.org/wiki/Three-body_problem)

</comment><comment><USER40> Interesting...

I work in a corporate lab, and it is typical for our teams to have >3 PhDs from different fields solving problems. We acknowledge internally that there aren't many interesting problems left to be solved by single PhD teams.

</comment><comment><USER41> capital is like water, it floods the low ground first

<comment><USER42> Yes, I wonder if eventually all the markets for relatively straightforward startups will be saturated, and capital will need to fund long time horizon projects to get good returns... I wonder how far off we are from that?

<comment><USER41> Another formulation of that is, if progress is happening fast enough, why not just wait for new short time horizon projects?

</comment></comment></comment><comment><USER43> And why should startups solve such "open vista" problems? There are universities, corporations, governments better positioned and resourced to solve them.

</comment><comment> dmch-1 It may be harder to combine two skills such as sales and engineering, than knowledge in bio and AI, e.g., which are both technical.

</comment><comment><USER44> Don't we already have experience with this? In the workstation era, companies like Sun and SGI did hardware/software co-design. Sun was founded with expertise on both sides and an MBA type CEO in Scott McNealy. So I don't think think this is any insurmountable gap and that any dual PhD companies will have a generalist CEO.

</comment><comment><USER45> It seems like many areas of human endeavor are complicated enough that you could become an expert _of_ a field as opposed to an expert _in_ a field. For example, could you have university courses that build experts of biological research as a field and not ever pick up a pipet? Does that already exist?

</comment><comment><USER46> Through the first two paragraphs of this article, I thought it was going to be another silly rant bemoaning the lack of "real innovation" today. That is, another riff on the "They promised us flying cars, we got 140 characters" kind of rant.

 _One of the upsides of this job is that you get to see everything going on out there in the startup world. One of the downsides of this job is seeing just how many ideas out there aren't all that original._

 _Every week in my inbox, there is another no-code startup. Another fintech play for payments and credit cards and personal finance. Another remote work or online events startup. Another cannabis startup, another cryptocurrency, another analytics tool for some other function in the workplace (janitor productivity as a service!)_

But I'm glad I kept reading, because there is some good stuff here. I mean, it's not a PhD thesis or anything, but there's some insights worth pondering, tucked away in this article.

The gist is here:

 _Now, we are approaching a new barrier — ideas that require not just extreme depth in one field, but depth in two or sometimes even more fields simultaneously._

 _Take synethtic biology and the future of pharmaceuticals. There is a popular and now well-funded thesis on crossing machine learning and biology /medicine together to create the next generation of pharma and clinical treatment. The datasets are there, the patients are ready to buy, and the old ways of discovering new candidates to treat diseases look positively ancient against a more deliberate and automated approach afforded by modern algorithms._

 _Moving the needle even slightly here though requires enormous knowledge of two very hard and disparate fields. AI and bio are domains that get extremely complex extremely fast, and also where researchers and founders quickly reach the frontiers of knowledge._

I would agree with that sentiment in the general sense. And there's probably some interesting things to be gained by thinking deeply about how to address that problem.

The only part of this I found myself disagreeing with somewhat is here:

 _We've gone through the generation of startups you can do as a dropout from high school or college, hacking a social network out of PHP scripts or assembling a computer out of parts at a local homebrew club. We've also gone through the startups that required a PhD in electrical engineering, or biology, or any of the other science and engineering fields that are the wellspring for innovation._

While I agree that it's probably getting _harder_ to come up with something really innovative without that "fusion" approach alluded to above, I'm not convinced that it's not possible. Furthermore, I don't see being "the next no code startup" or "the next cryptocurrency startup" as being a Bad Thing - <USER2> long as you do it in a way that's appreciably better than "the other folks" doing the same thing.

Sure, inventing something Brand New is nice, but you can make money making a "nicer version of something that already exists", or by just innovating on business model while the product is unchanged (or mostly so).

<comment><USER47> >We've gone through the generation of startups you can do as a dropout from high school or college, hacking a social network out of PHP scripts or assembling a computer out of parts at a local homebrew club.

None of that was really innovative, yet ended up with massive commercial success. MS-DOS was the not first PC operating system, Facebook was not the first social network on the web, Apple was not the first PC or smartphone maker.

So I don't think anything has changed there at all. You can still create a massively successful venture bringing something out to market in a way that is somewhat incrementally 'better' than what is on offer without having multiple PhDs in different fields on your founding team.

And it's pointless comparing that to the type of startup that is trying to creating something that is completely 'novel' from the intersection of 2 or more technical fields. Managing that type of complexity isn't something new either - it is fairly routine in academia to apply tools from one field to another - which is also how a lot of innovation happened historically as well as how many startups got started. Historically these type of ventures are high risk and the reason we are seeing a growing number of these is more a testament to how saturated the startup ecosystem is and how research increasingly is driven by venture capital rather than by academia and industry.

</comment></comment><comment><USER48> If you are in SV, it can seem like the world is moving very fast (and within SV, the number of things that people are trying and call "technology" is much larger than the number of things that people outside SV either want or need). But we are still at a very early stage of the "computer age". We have definitely seen a small transition towards more modern ways of working but the process is still very far from complete.

And a lot of this is very prosaic. It isn't about designing some world-beating technology but finding stuff that works and doing it well. Neither of these tasks are particularly straightforward either, knowing what to do is usually not a big problem in business, knowing how to do it is far more difficult problem (ironically, tech is probably one of the best examples of this).

Just generally: believing in constant progress, believing in the mystical power of technology are common psychological habits of humans (Marxism, to name an example)...but it wasn't any easier to make technological discoveries two centuries ago. Literally, these people had none of the knowledge we had today, there was no way to share information, the barriers were huge. Innovation has never been easier.

</comment><comment><USER49> Somehow that link redirects me to

[https://guce.advertising.com/collectIdentifiers?sessionId=3_...](https://guce.advertising.com/collectIdentifiers?sessionId=3_cc- session_059c465a-f5b3-45de-9c18-fa0bc54f85ee)

<comment><USER50> Same here.

</comment></comment><comment><USER51> The solution to the multiple PhD problem might be the "simple matter" of _implementing_ Engelbart's NLS/Augment.

</comment><comment><USER52> The solution involves large companies, not startups. You have an infrastructure and a pool of highly qualified applications that aren't going make or break their personal finances on these problems. These are classic coordination problems, and it requires people skilled at this aspect.

Large companies don't talk about their work in this area much for a while for a variety of reasons. Bell Labs was a thing once....

It's sort of a solvedish problem if you imagine that you are not bound by "silicon valley 2-person startup" rules.

<comment><USER16> Unfortunately large companies invest much less in longer-term research than they used to. Bell Labs was a thing ... once.

<comment><USER53> Bell Labs was funded by a government-sanctioned monopoly. Calling it a "corporate lab" is incredibly misleading, but popular among corporate lab types.

<comment><USER16> Many companies that did not have a sanctioned monopoly used to have significant investments in research labs; those investments have been scaled back drastically.

</comment></comment></comment></comment><comment><USER54> There's another issue.

Things close the edge are risky. Things close to two edges are even more risky.

Risk isn't reduced by reward.

</comment><comment><USER55> Is this the onion?</comment>


Comprehensive diff between the Swift 1.2 and 2.0 standard libraries - <AUTHOR> http://www.mergely.com/uEsxCOcE/ <comment><AUTHOR> Output generated from Xcode 6.4 and 7.0:

(echo "import Swift"; echo ":print_module Swift") | xcrun swift -deprecated- integrated-repl | open -f

[http://ericasadun.com/2015/09/01/fetching-stdlib- declaration...](http://ericasadun.com/2015/09/01/fetching-stdlib-declarations- in-tcsh-swiftlang/)</comment>


105" HDTV for $113,861.81 on Amazon - <AUTHOR> http://www.amazon.com/Samsung-105-120-160-000/dp/B012XF7WBY/ref=sr_1_1 <comment><USER2> I love reading comments on these insanely high priced items on Amazon. Makes for great entertainment.

"WOW. Stunning quality, worth the price! It was either saving up for retirement or buy the tv, but it wasn't a tough decision. Amazon Prime shipping only took 62 weeks considering it had to be flown in by helicopter! Added bonus: it came with a huge box which I live in now. No disappointments"

<comment><USER3> My thoughts were exactly the opposite when reading these comments. It was more like "Amazon should really stop people commenting on articles they didn't buy". Those comments are getting old pretty quickly.

<comment><USER4> I find myself in the middle - I love reading the joke comments, but I don't see the use case for letting someone review a product that they haven't purchased - Does anyone have any ideas why it would be a positive thing?

<comment><USER3> I guess having more comments is improving their perceived credibility. It is much easier to add fake reviews in this way too. So it is a win for Amazon and it is a win for their suppliers / producers, until it backfires.

</comment></comment></comment></comment><comment><USER5> I saw this TV in Dubai Mall last week. Even with $27/bbl oil prices, they told me they sell about one a week!

</comment><comment><USER6> I'd need to take out a mortgage for that.

</comment><comment><USER7> $100k and they still charge shipping fees!</comment>


$199 Acer C7 Chromebook - <AUTHOR> https://play.google.com/store/devices/details?id=chromebook_acer_c710

<comment><USER2> In the general Google USD to GBP conversion, that would be £199...typical!!</comment>


A Tour of Go - <AUTHOR> http://go-tour.appspot.com/

<comment><USER2> It might just be me, but I found myself asking "why?" on most of the first 12 pages that I skimmed through. I don't really understand why there need to be so many ways to declare a variable or a function. It doesn't make it easier to have several ways to phrase the same thing, I'd rather just learn the _one_ way to do it.

I've never written a Go program so I don't know if it comes up in practice, but it seems like this kind of variability makes it harder to learn and harder to read other people's code (who may not use the same constructs you use). Something I really appreciate about Python is that it's syntactically extremely simple and there are very few surprises.

<comment><USER3> From the programming I have done, I would say most of the 'repeated' functionality is things you would have done already, just in different ways. In fact, things like making the while loop a for loop is taking away things you don't really 'need'.

It is quite different when compared to python, but it is probably better compared to C, C++ or even Java. C is nearly 40 years old, a lot of the decisions that were made in its creation look silly now (terminating strings with '\0'? yeah, great choice). From what I can see of Go, they try to address many of these aging conventions.

<comment><USER4> _(terminating strings with '\0'? yeah, great choice)_

Why? What would have been better?

The only alternative I know about is saving the size of the string, but that comes with its own little set of problems.

<comment><USER3> How about something like a C++ strings? C strings are great for memory- constrained platforms, like computers were back in the day, or small embedded computers now. On a modern computer though, it doesn't make sense. The amount of security problems that C strings cause is unbelievable. So using something different to C strings would hopefully reduce the amount of buffer overflow exploits (you would still have unchecked array bounds though, but they would be less accessible without C strings).

Of course, something like C++ strings might need more processing to do basic things, but between the OS latency/overhead, I/O times and human perception, you wouldn't notice any difference at all.

</comment></comment></comment></comment><comment><USER5> It's pretty sweet, but I felt weird clicking "Compile" when I wanted to click "Run" (or "Compile+Run" or "Go!"). A minor quibble with an otherwise lovely tutorial.

</comment><comment><USER6> I like the live in-browser compiling feature. I would love to see this become the norm in programming tutorials in the future.

</comment><comment><USER7> Alternatively, <http://senseis.xmp.net/?WhatIsGo>

</comment><comment><USER8> This line just throws me off and don't wanna make me go at it.

import "fmt"

Why would anyone designing language in this decade would allow cryptic names like this in their "Hello World" code? Besides I still can't see single compelling reason to throw away all my tools and libraries in exchange of this thing. Do people create language just for the hack of it?

<comment><USER9> Package fmt is used all the time. It makes sense that it should have a short name.

<comment><USER10> That was a pretty lame justification in the 1960s. And now we've got macroing text editors and general purpose compression that can recover the space.</comment></comment></comment>


Intel x86 documentation has more pages than the 6502 has transistors - <AUTHOR> http://www.righto.com/2013/09/intel-x86-documentation-has-more-pages.html <comment><USER3> Some comments miss the point. I don't think it's a suggestion that x86 has too much documentation or too much transistors. It just gives a picture in to how the hardware exploded in capacity, complexity and so on. Which is great (though obviously comes with a cost).

<comment><USER4> I disagree that it's great. The immense complexity associated with creating a competitve x86 processor gives Intel a huge competitive moat. You can't make a competing processor without billions of dollars of R&D.

As a result Intel is able to deploy highly unfavorable features like the Management Engine and consumers don't feel like they have an alternative. A reasonable alternative like Talos costs $3700.

If startups could reasonably compete with traditional volumes of funding, we'd probably have better hardware.

<comment><USER5> The catch is in the economy of scale. You can't make a Power8 cost comparably to an i7 unless you also produce it in _huge_ numbers.

ARM chips are cheap not (only) because the R&D is excessively cheap but because the chips are produced in hundreds of millions. Were it not for the explosion of mobile phones, they'd stay in the "nice but expensive for the performance" niche.

<comment><USER6> Hundreds of millions is peanuts for ARM. [https://www.arm.com](https://www.arm.com) claims _" ARM's partners shipped 14.9 billion ARM-based chips in 2015."_

That's about two CPUs for everyone on earth and likely two more this year.

<comment><USER7> People don't realise how many things have CPUs these days. PPC (not POWER) and MIPS are also still within the same magnitude as x86 chips (hundreds of millions/year) - they both used to be selling more than x86 because they were more widespread in embedded niches (networking, automotive, set-top boxes), but I don't know whether or not that's still true or not.

It's not economies of scale that gives Intel its sustained advantage as much as it is _huge_ margins that allow them to continue re-investing in their fabrication process advantage, which again protects their margins by keeping them on top in the only segments of the CPU market that are both high price, high margin (at east for the top SKUs) _and_ high unit.

</comment></comment></comment></comment></comment><comment><USER8> It it is one of those interesting metrics, or one I came across researching the Cortex-M which is that at modern process node geometries the CPU part of a Cortex-M chip (not including all of the on chip peripherals, RAM, and Flash) easily fits inside the _bond pad_ of an 8080A. As the 8080A had 40 pins that is 40 Cortex-M CPUs in silicon that Intel "threw away" by depositing a square of gold on the silicon.

But in terms of documentation that is related directly to the transistors, it would be interesting to evaluate number of lines of VHDL to the number of inferred transistors. I know you get a report after you have finished place and route on your typical work flow but has anyone rolled that up to "2.5 lines of VHDL per 100 transistors" or something?

<comment><USER9> Someone here did the math before. Motorola 68k was fabricated on 3.5um node. If it were made today with 14nm node, it (the whole 68k) would fit on an area of a single transistor from the original 68k made with 3.5um node. That's 68,000 Motorola 68000s inside an original Motorola 68000! With newer nodes, even more.

</comment></comment><comment><USER10> They continue to add transistors to newer processors. It is a good sign that someone keeps track of them and writes documentation on how to use all these new transistors.

<comment><USER11> I heard they added a couple of transistors to the latest Intel chips. One of the transistors hasn't been documented yet, though, which is unlike Intel.

<comment><USER12> I'm imagining the documentation for an individual transistor that extends all the way up the stack... and thinking about Escher for some reason.

<comment><USER13> This makes me wonder how many undocumented transistors are on the chips -- there because nobody knows why.

<comment><USER14> Apparently Nvidia had to drop VBIOS a bit early because it started having issues but they no longer had enough people who knew how it worked to continue supporting the feature.

</comment></comment></comment></comment></comment><comment><USER15> So this post is supposed to show a relationship between transistors and documentation. Fine.

x86 has 4181 pages of documentation. Quad-core Skylake has 1.75 billion transistors. This is 418560 transistors per page.

The 6502 had 12 pages of documentation. It had 3,510 transistors. This is 292 transistors per page.

Advantage x86.

<comment><USER16> You're comparing a single-core to a quad-core. Moreover, the Skylake is an SoC that contains stuff other than the CPU cores.

<comment><USER15> Yes, Skylake is superscalar, hyperthreaded, multicore, SIMD, OOO, speculative and a few other things too.

Yes, Skylake contains GPU stuff in its transistors and also in its documentation.

</comment></comment></comment><comment><USER17> I'd be keen to see a comparison of transistors counts between modern and older processors with caches removed (I could be wrong, but I thought built-in caches made up the majority of transistor counts nowadays). That is, how much more complex is a single cache-less core now vs then? Not as much as the overall transistor count would indicate, I suspect.

<comment><USER18> Annotated die photo of a single-core VIA Nano chip from some 10 years ago:

[https://en.wikipedia.org/wiki/File:VIA_Isaiah_Architecture_d...](https://en.wikipedia.org/wiki/File:VIA_Isaiah_Architecture_die_plot.jpg)

As you can see, caches are merely half of the chip and half of the rest is about dynamic instruction reordering, branch prediction, register renaming and stuff.

These things have pipelined execution units so they can start a new instruction before the previous one is finished executing, enough duplication to start executing two or three instructions per cycle (sometimes even of the same kind, say two floating point SIMD additions) and logic to schedule instructions wrt data dependencies, not program order, so that instructions which need input data not yet available can wait for a few cycles while other, later instructions are executing.

And all of this has to be done with some degree of appearance of executing instructions serially, so if say some instruction causes a page fault and a jump to the OS fault handling code, the CPU has to cancel all later instructions which may have already finished executing :)

And, btw, this is not in any way specific to x86. POWER, high-end ARM, they all do it.

<comment><USER19> Fascinating. Where do you learn this stuff? Any recommended reading you can point me to as a complete novice with regard to CPU architecture?

<comment><USER18> That's somewhat hard to answer because I've been accumulating knowledge from many sources over many years, and it started with some dead-tree book from the '90s :)

Maybe Agner's site, in particular his microarchitecture manual, would be a reasonable place to start:

[http://www.agner.org/optimize/](http://www.agner.org/optimize/)

There are "software optimization manuals" from CPU vendors, but these may not be particularly novice-friendly. I think I've used Wikipedia at times for general CPU-agnostic concepts, though it has a tendency to use jargon with tittle explanation. Occasionally somebody submits something to HN.

On the lowest level, it may be helpful to know some simple digital circuits (decoders, multiplexers, adders, flip-flops, ...?) just to have an idea of what kind of things can be done in hardware.

</comment></comment></comment></comment><comment><USER20> Probably be good to add (2013) to the title as that was both when it was written and the latest x86 documentation at the time. Since then, it looks like the manual as 4670 pages now[0], which surpasses the 6502's "all transistors but ROM/PLA" count.

At this rate, 1419 pages over 3 years, the Intel x86 documentation's page count will exceed all transistor counts of the 6502 around 2020.

[0]: [https://software.intel.com/en-us/articles/intel- sdm#combined](https://software.intel.com/en-us/articles/intel-sdm#combined)

</comment><comment><USER21> Somebody posted a great educational video narrated by William Shatner in the late 1970s: [https://www.youtube.com/watch?v=VJmero_L7g0](https://www.youtube.com/watch?v=VJmero_L7g0) (14 mins).

Shatner plays it pretty straight here, and he does a great job of making the subject mattter interesting to audiences of the day. What's interesting about the video now is that every time he promises us "Thousands of transistors on the head of a pin," you can remind yourself that what we actually got was _billions_ of transistors.

It's humbling from a software engineering perspective to contemplate how poorly we're taking advantage of the semiconductor industry's Promethean gift. My computer still looks a lot like the Apple IIs and TRS-80s did in that video, and the same is true for my workflow.

</comment><comment><USER22> Now just imagine how many tens of thousands of pages Intel has on internal documentation...

<comment><USER23> And still no one knows why x86 control registers are CR0, CR2 and CR3. What was CR1 supposed to be used for?!?

(This is actually true. I asked x86 architects when I met some).

<comment><USER6> According to [http://www.pagetable.com/?p=364](http://www.pagetable.com/?p=364) (which also shows part of the reason the x86 needs so much documentation, by the way), it started its life "reserved", and never got a real role in life.

<comment><USER23> Yes, but: "instead of overflowing the new bits into CR1, Intel decided to skip it and open up CR4 instead – for unknown reasons."

<comment><USER7> Sounds like someone took "reserved" a bit too seriously and/or couldn't figure out who had marked it reserved or why, and decided the latter was the safer option.

</comment></comment></comment></comment></comment><comment><USER24> Maybe I'm naive, but it seems incredibly impressive that the 6502 only has that many transistors!

<comment><USER25> <showing my age here>

When I remember all the stuff you could do on an AppleII (and a BBC Micro) with their tiny four odd thousand transistor cpus and 4 whole KB of ram - <USER2> consider how much time I spend waiting for this laptop with it's billion-or-so transistor cpu and 16 GB of ram - it's almost enough to make you weep about the profligate waste of resources of the entire software engineering profession... ;-)

<comment><USER19> I sometimes think that. I am amazed at when I look back at the BBC Micro and think of the software I used to run on there, and how they did it with such tiny amounts of RAM.

I do realise that the last 20 years of GUI progress has stalled and that you could take a Mac from yesteryear or PC from ~1991 and know your way around it without any trouble at all.

Of course software development strategies have changed and languages now let us express ourselves in previously unimaginable ways, but we've come so far and not far at all.

I am particularly struck with the craze over the last 5+ years with regard of "cloud" and shoving data to the other side of the world, particularly given the microcomputer revolution and the lack of need to shove your data elsewhere. That's what the microcomputer is for!

</comment></comment></comment><comment><USER26> I would say that roughly 25% of the documentation applies to ancient modes of operation like real mode and protected mode. Unless you REALLY need to know the fine details of these modes you can skip right to the long mode stuff.

<comment><USER27> Windows still uses a lot of programs in emulated protected mode, so it's pretty relevant still.

</comment></comment><comment><USER28> Somebody needs to come up with a law that correlates the size of a processor's documentation to the number of transistors on that processor.

<comment><USER29> Mark Papermaster[0] should formulate that law.

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

</comment></comment><comment><USER30> Moore's law for documentation?

<comment><USER31> Not sure about that one, seems like an inverse law to me, computer games used to come with big booklets with documentation and backstory, now nothing (other than user made wikis of course).

Or a mobile dumbphone came with a manual explaining all the menus and options. Now the only paperwork with a smartphone is legal and warranty.

<comment><USER32> Oh, I swear it is not inverse for chip documentation (unless it's from a Chinese manufacturer, you have to do with a 2-page leaflet for a 80-pin chip in that case). But it doesn't necessarily mean it is exhaustive high quality doc.

First, we have to acknowledge that most texts (if works for law too) are very diluted now compared to a few decades. There is a lot of blah-blah that doesn't bring information. Information density decreased.

Then, there are docs that are so big (many many thousands pages), that I am sure no editor can read them fully. They pile up copy-paste from older or similar models without checking if it applies to the chip. They don't write a clean doc specifically for the chip. So as a user you can trash parts of the doc. Problem is that you don't know which ones.

Since they don't print manuals any more, they don't have to care about fitting the doc in the book, it's no-limit.

</comment></comment></comment><comment><USER33> How can i order these books

<comment><USER34> You can download them from intel website for free.

Source: I've got the x86 and x64 manual instructions set from there, which is thousands of pages in PDF. Rootkits ain't gonna write themselves =)

</comment></comment><comment><USER35> If anyone's interested in the 6502, or CPU design in general, this is a very good simulator: [http://visual6502.org/JSSim/index.html](http://visual6502.org/JSSim/index.html)

<comment><USER19> Thanks for this link. I have no idea what it's doing but it is an interesting start!

</comment></comment><comment><USER36> Is the situation appreciably better with ARMv8? How about ARMv7?

<comment><USER10> Is the situation with x86 bad to begin with?

Granted, I didn't read the full documentation provided online for my hardware before I powered it on. Honestly, I didn't read any documentation and it just works, kind of.

<comment><USER37> To show complexity of x86-64 it is best to look at boot process. You processor starts in 16bit mode, then is upgraded to 32bit and then to 64bit mode. You want to do some call to BIOS now? You have to downgrade through 32bit mode to 16 bit mode to do that and then back up to handle the response.

And it is just very small component of cruft that x86-64 has.

<comment><USER38> The rate at which the complexity of the amd64 boot process is increasing is quite alarming.

UEFI is an overcomplicated, buggy monstrosity, but that's just the tail end of the "boot process". Nowadays, to get an x86 CPU to execute a single opcode, you need to have a Management Engine (or Platform Security Processor, in AMD- speak) firmware blob resident in the firmware flash chip. More modern CPUs, for Intel, say, oblige you to use Intel-provided "memory reference code" and other "firmware support package" blobs just to initialize the CPU in the early stage. AFAIK, Intel isn't even bothering to document the details of its CPU and chipset initialization sequences anymore, in favour of just making people use unexplained blobs. These are just some of the issues the coreboot project is having to deal with. It really feels like at least in the world of x86, the window is rapidly closing on projects like coreboot being able to accomplish anything useful, although there are at least some major users like Chromebooks.

And then of course we have things like SMM, and the way in which secure firmware updates are facilitated (which relies on things like flash write protect functionality)...

<comment><USER39> Those blobs are run by the BIOS/UEFI correct? Like Grub/the Linux kernel don't need those Intel blobs just to get booting do they?

<comment><USER38> It's correct that these blobs are loaded way before GRUB or a Linux kernel gets booted. To be precise they are part of the firmware image; UEFI refers to a boot protocol specification. So for example with coreboot, you can select one of many "payloads". Payloads include UEFI boot, MBR boot, etc. So it's probably best to distinguish between the boot protocol and the firmware package as a whole.

The ME firmware is loaded by the CPU itself before anything begins executing; there's a header in the firmware image stored on the CPU to let the CPU find it. These are cryptographically signed, so all projects like Coreboot can do is incorporate the binaries provided by Intel.

The MRC/FSP blobs are executed by the x86 firmware, they're x86 code which runs very early. Theoretically projects like Coreboot could replace these blobs with their own code, but it would require reverse engineering these blobs to figure out what they're doing. The fact that this would be a major effort is a testiment to the complexity of the initialization routines implemented in these blobs.

The order is basically something along the lines of:

1\. CPU loads ME firmware, verifies signature, starts it running on the ME coprocessor.

2\. First x86 opcode is executed; this is part of the 3rd party firmware (Coreboot, AMI, etc.)

3\. The 3rd party firmware will probably start by executing the Intel MRC/FSP blob. (Possibly this blob even expects to be the reset vector now, wouldn't surprise me; I'm not an expert on this.)

4\. The memory controllers/chipset/etc. are now setup. The 3rd party firmware can do what it likes at this point.

5\. Typically, firmware will implement a standard boot protocol like MBR boot or UEFI boot. Coreboot executes a payload at this stage.

I should add that microcode is another (signed, encrypted) blob. Modern x86 CPUs are so buggy out of the factory that they're often unable to even boot an OS unless a microcode upgrade is applied, so 3rd party firmware often performs a microcode upgrade before booting. Historically I don't believe it was uncommon for the OS kernel to perform a microcode upgrade, if configured to do so because a newer microcode was available than was incorporated in the firmware; Linux has functionality to do this. However I seem to recall that late (kernel boot or later) microcode application is being phased out; recent x86 CPUs want microcode updates to be completed very early, before kernel boot.

</comment></comment></comment></comment></comment></comment><comment><USER40> Tried to compile it, it worked, but it segfaults on executing `./vm`

<comment><USER41> I'm guessing you meant to comment on the vm thread.

<comment><USER40> Yes, my bad.

</comment></comment></comment><comment><USER42> Does that include all the secret documentation for stuff like LOADALL, ICEBP etc?

[http://www.drdobbs.com/undocumented- corner/184410285](http://www.drdobbs.com/undocumented-corner/184410285)

[http://www.rcollins.org/articles/loadall/tspec_a3_doc.html](http://www.rcollins.org/articles/loadall/tspec_a3_doc.html)

You will love this paragraph:

"Unlike the 286 LOADALL, the 386 LOADALL is still an Intel top secret. l do not know of any document that describes its use, format, or acknowledges its existence. Very few people at Intel wil1 acknowledge that LOADALL even exists in the 80386 mask. The official Intel line is that, due to U.S. Military pressure, LOADALL was removed from the 80386 mask over a year ago. However, running the program in Listing-2 demonstrates that LOADALL is alive, well, and still available on the latest stepping of the 80386."

Just imagine whats in Intel chips now due to NSA pressure :/

<comment><USER18> Not sure what to love here, it's a debug feature which, according to your source, Intel promised the US Mil to remove for some reasons but ultimately didn't.

There certainly are undocumented debug facilities in modern CPUs. For one example, the leaked Socket AM3 datasheet clearly shows a JTAG interface, though I don't know if it's operational in production silicon.

Hopefully, debug capabilities cannot be used to pwn the CPU from unprivileged code without external debug hardware which could pwn the CPU anyway by itself. It's not even clear if they are enabled in production chips at all.

LOADALL for example worked only in RING0 and got ultimately removed early in the 486 days so it seems Intel cared about security somewhat (and probably also about future compatibility, to be honest, it's not fun when software relies on features you want to change in the next generation).

Nowadays they should care even more - if software backdoors were available and leaked to the public, the magnitude of shit happening in all those cloud companies would be monumental.

<comment><USER42> > if software backdoors were available and leaked to the public

[https://www.blackhat.com/us-15/briefings.html#the-memory- sin...](https://www.blackhat.com/us-15/briefings.html#the-memory-sinkhole- unleashing-an-x86-design-flaw-allowing-universal-privilege-escalation)

conveniently "discovered" by a 3 letter agency favorite principle contractor (Batelle Memorial Institute - have fun researching them) employee just after everybody switched to the next(fixed) cpu generation.

<comment><USER18> I doubt that this can be used for VM escape because it requires access to the physical LAPIC and afaik hypervisors wouldn't allow VMs to touch this.

It also doesn't work from userspace so pretty much all you can do with it is hacking SMM from a kernel running on the bare metal. Maybe useful for rootkits, but truth be told 3LAs seem to have no problem making non-SMM malware undetectable by commercial AVs. See stuxnet :)

> conveniently "discovered" by a 3 letter agency favorite principle contractor

Not sure what you are alluding to. 3LAs wouldn't want this to be known if it was their job, methinks.

<comment><USER43> I think he's saying that the 3LAs knew about it for a long time, but publicly "discovered" the flaw when it was no longer useful to them (after everyone had upgraded)

</comment></comment></comment></comment></comment><comment><USER44> It is probably not difficult to create a new x86 version that is user mode compatible with most modern programs but lacks things like segmentation and real mode. New OS versions would be required, but most modern user mode programs would work with few if any modifications.

<comment><USER7> Things like Linux should work fine with a CPU that strips 16 bit mode entirely (32 bit too, possibly? not sure) as long as you have a BIOS / boot loader that can handle it and - as of when I last looked at the Linux kernel initialisation code over a decade ago - change / strip out a handful of lines that took care of changing the mode.

It'd be interesting, but I don't think it'd save all that much unless you strip 32 bit compatibility as well, and even then it might be less than you think or they probably would have tried to see if the market would want it...

<comment><USER44> A lot of microcode is about things like segmentation and TSS.

</comment></comment></comment><comment><USER45> That documentation has more letters then sunny days in Phoenix. _bullshit statistic in action_

</comment><comment><USER46> The point is that this is wrong. It's _hardware_ ; hardware should be simple. It's operating systems, languages, libraries and applications that (if anything) should have the proverbial "wall of manuals", not the machine architecture.

Power on reset, shift, decode, execute, repeat.

Intel loves complexity, which is why they invented USB: another tree killer.

The processor doesn't do anything. In all that silicon and its pages of documentation, you can't even find a parser for assembly language; you need software for that.

In spite of 4000+ pages of documentation, printing "Hello, world" on a screen requires additional hardware, and a very detailed program. Want a linked list, or regex pattern matching? Not in the 4000 pages; write the code.

And this is just the architecture manuals _software developers_. This is not documentation of the actual silicon. What it contains:

 _This document contains all seven volumes of the Intel 64 and IA-32 Architectures Software Developer 's Manual: Basic Architecture, Instruction Set Reference A-L, Instruction Set Reference M-Z, Instruction Set Reference, and the System Programming Guide, Parts 1, 2 and 3. Refer to all seven volumes when evaluating your design needs._

Instruction set references and system programming guide; that's it!

Note also that this is not the programming documentation for a system on a chip (SoC). There is nothing in this 4000+ page _magnum opus_ about any peripheral. No serial ports, no real time clocks, no ethernet PHY's, no A/D D/A converters; nothing. Just CPU.

<comment><USER41> "Intel loves complexity"

Intel loves performance, because people want performance. Complexity is the cost of increased performance. As an example, I would guess that of the ~2000 pages of the instruction set reference, at a _minimum_ 1000 pages document the various SIMD instructions. You don't need those, or the floating point operations, or SHA instructions, but I don't see any harm done by making them available.

<comment><USER47> don't you technically just need mov which is said to be turing complete?

<comment><USER48> It's not clear to me how [simple unconditional] mov could possibly do the job alone. I believe it could only work if it incorporates "magic" memory locations - e.g., storing at location x executes math combining location x and location y in some way and alters location z. This simply begs the question by moving logic behind the curtain.

I think the single instruction which can do the entire job without any magic assist is _subneg x, y, z_ :

Subtract location x from location y; store the result in location y; and branch to location z if result is less than 0; else proceed to next.

Or various trivial variations of the same idea.

Any complication beyond this is no more than syntactical sugar and performance optimization.

<comment><USER49> See [https://github.com/xoreaxeaxeax/movfuscator](https://github.com/xoreaxeaxeax/movfuscator)

<comment><USER48> Once I checked out the reference at the end of README.md, I like it. I could try to object that the "magic" has been moved into the addressing modes of the mov, but that would be a bit arbitrary.

If you focus only on direct memory addressing (no indirect or indexed), mine does still work, but mov doesn't. I _think_.</comment></comment></comment></comment></comment></comment>


Opera Touch Comes with Cookie Dialog Blocker and 23 Other Improvements - <AUTHOR> https://blogs.opera.com/mobile/2019/02/opera-touch-cookie-dialog-blocker-and-23-improvements/ <comment><USER2> > Opera Touch blocks annoying cookie dialogs and lets you focus on browsing

Oh man. It looks like we've come full circle on well intentioned but poorly implemented EU regulations.</comment>


How to form a California LLC without a lawyer - <AUTHOR> https://feross.org/form-california-llc/ <comment><USER3> The article claims as a second benefit of an LLC:

 _> 2\. Tax benefits. You can deduct qualified business expenses from the total income of the business. Here's a simple example: If you spent $1,000 on servers and your website made $10,000, then you'll only pay taxes on the $9,000 in profit._

You don't need an LLC to deduct such expenses. Even sole proprietors can deduct business expenses against business profits.

<comment><USER4> As a European who also worked a year in the US, it's starling how utterly _byzantine_ everything related to operating a business in the US is. Why in the everloving world would I need a lawyer that should be an extremly simple process? Forming an equivalent to a LLC in the majority of EU is a 5-10 step web form signed online, followed by some waiting and a sub 100€ one-time-fee.

Furthermore, financial literacy also seem very, very low, almost as if the powers to be maliciously wanted to misinform people. "You get taxed on profits, not on revenue" seems like the fundamental axiom of business, yet here it is, present as "this one weird tip the IRS hates". See also "I don't want a raise, it'll put me in a higher tax bracket".

<comment><USER5> That's not even true. Aside from the U.K. and Estonia, I can't think of an European country where 1) it costs less than $1K to incorporate 2) you can do it online 3) You can DIY

Italy, Germany and SwitzerlanD just to pick 3 I'm familiar with, are nothing like U.K./Estonia

On the other hand incorporating a C Corp in Delaware costs between $89 and $399 and you can do it online by yourself

<comment><USER6> In the Netherlands it was about €75, filled most of the paperwork out online although we did have to go in to the KVK (Chamber of Commerce) to complete the process.

<comment><USER7> It's €50 right now, but you normally have to spend a bit extra for notary fees to get the share capital notarised.

<comment><USER6> Yeah, 75 was probably all the fees, and I might have been thinking in $USD

</comment></comment></comment></comment></comment></comment><comment><USER8> You also need to file a California Form 568 tax return with the Franchise Tax Board and pay the $800 annual tax whether or not you have any income, or you get a big fine that increases every month you don't file...

Ask me how I know :)

<comment><USER9> > pay the $800 annual fee whether or not you have any income

Really? In the 2 states I've lived in, there is no annual fee for LLC's. I'm curious what the reasoning behind having a fee that large is.

<comment><USER10> If California can tax it, oh they will tax it.

<comment><USER11> Unless it's land that wealthy people owned before 1967 and don't want to pay taxes on.

</comment></comment></comment></comment><comment><USER12> The absolute horrible thing about forming a Llc in California is the $800 FTB tax, that you have to pay irrespective of wether you have any income or not. This is really discouraging for any individual who is trying to start a business and is unsure of the outcome in the initial years.

<comment><USER13> That's ~$67/mo to stay in business. I don't see how this can be considered a horrible thing.

<comment><USER14> When you're a very small business losing money the first few years of operating and California sticks you with an $800 bill on top of local taxes that are _also_ levied regardless of income (business personal property), it's a giant slap in the face that makes you want to move your business to pretty much any other state.

<comment><USER15> Then move. But remember, if you do business in California, you must still pay the franchise fee if you have a company that is NOT a sole proprietor or general partnership. Incorporating in another state will not save you, you must register with Secretary of State as a foreign entity.

<comment><USER14> I closed my business last year and was about to move prior to COVID shutting everything down. California tax policies are the #1 reason I'm leaving.

</comment></comment></comment></comment></comment><comment><USER16> Not a lawyer but been through the incorporation process a few times: get a startup lawyer and commit to spending $2-5k just on legal fees in your first year. Each patent you want is $20k so you should probably not waste your time or money with one unless you're damn sure you need it and it's essential to your business.

If you screw up the paperwork it will prevent you from raising money or work with others and kill your business. Honestly, I know it sucks to have to pay money that seems unrelated to your startup, but you'll pay it back many times over and have to set things up properly anyway

<comment><USER17> Ya, we hired a top tier SV firm. They just used their own fill in the blank forms like you would get from legal zoom. And I even had to make corrections and send it back multiple times because they got the share numbers wrong and forgot to replace multiple mentions of the last company they used the form on.

</comment></comment><comment><USER18> I have a California LLC and wish I didn't. It has been nothing but an albatross around my neck. I am almost certain I will shut it down at the end of this year.

Look, if you're reading articles like this one, don't do it. Just don't do it. Get competent legal and accounting advice first.

I formed my LLC four years ago when an interesting contracting project came my way. I'd worked as a 1099/Schedule C contractor in the past, but this client wanted me to have an LLC. OK, no big deal.

Then it turned out they also required the LLC to be taxed as an S Corp. No big deal there either, it's a simple IRS form to make that election.

Now guess what? You have to start filing 1120S corporate taxes plus the California equivalent. All the LLC/S Corp income flows right through onto your personal tax return, but you also get to get to file 940 and 941 payroll tax forms and the state equivalents.

And whether your LLC is taxed as an S Corp or not, you have to pay the $800/year California minimum tax on it. Yes, even though the LLC/S Corp really has no net income of its own (as it all flows into your personal tax return), you will owe that $800/year. Even if you create your LLC in another state.

Do _not_ try to do this yourself. You _will_ get it wrong and will pay many thousands of dollars in penalties as I have.

I finally realized I would be _much_ better off just working for another company and letting them deal with all these headaches. They have an entire team to deal with it! If I had a time machine, I would have stuck with regular employment instead of thinking of myself as an independent business.

Forget about the fabled "corporate veil". If the IRS and FTB decide they want their money, they are going to get it.

If you do think this still sounds like a good idea, you _must_ use a payroll service to pay yourself. After my initial fiasco of trying to do it myself, I started using Gusto [1] and they are pretty great.

For filing the LLC itself, I used SunDoc Filings [2] and they are really good too. They helped me on very short notice when I made a mistake on my LLC filing that would have caused it to be rejected.

But really, think twice, or a dozen times, before you open this can of worms.

Sorry for all the _italics_. :-) But this is something where I have some painful experience, and if I can help steer people away from it I hope it will be helpful.

[1] [https://gusto.com/](https://gusto.com/)

[2] [https://www.sundocumentfilings.com/](https://www.sundocumentfilings.com/)

<comment><USER19> I have a California LLC too. It's not any harder than the steps explained in the article. Certainly don't form an LLC unless you need one. You'll know you need one when you need one.

> Now guess what? You have to start filing 1120S corporate taxes plus the > California equivalent. All the LLC/S Corp income flows right through onto > your personal tax return, but you also get to get to file 940 and 941 > payroll tax forms and the state equivalents.

This not true of all LLC's, just corporations. If you're forming a small LLC, especially a single member LLC, you can create a pass through entity that avoids all of the ceremony you're explaining. Mentioning all this makes it sound like it's obligatory to establish a corporation when you form an LLC, but that was only necessary in your specific case (probably for the company you were trying do business with to avoid AB5).

<comment><USER18> That's a really good point, thanks for mentioning it.

Looking back on this, if it had been just an LLC it would have been no big deal at all. It would be a "disregarded entity" with ordinary 1099/Schedule C income, no different from any of my previous clients, with an easy tax return like the ones I'd done many times before.

It was the S Corp election which this client required that really messed everything up.

In hindsight, this truly was the proverbial "client from hell". It was an interesting project, albeit quite an experimental one. I got paid for only a week of work after spending a full month on it, and then I got the ongoing heartache of the S Corp nonsense to boot.

Thanks for pointing out the distinction between the LLC and the S Corp.

<comment><USER20> Why did your client care about how the government taxed your LLC?

<comment><USER21> This is the big red flag - I would have pushed back immediately and bailed if they didn't acquiesce. Client has no authority to say how your business should be taxed, that's preposterous. They're doing you a favor by letting you know in advance how difficult they'll be to work with.

</comment></comment></comment></comment></comment><comment><USER22> Crap. I actually missed 1-2 years of paying the $800 franchise tax because like a lot of other people on this thread, it's just used for hobbies, makes no money, and lies fallow 99% of the time. I've never gotten a fine in the mail for this though. Does anyone know if there's some sort of online portal or phone number that is the best place for me to pay all the taxes and fines and make sure that in their records I am even?

<comment><USER23> It might be that the LLC is liable for the taxes and not you personally. Do you really want to pay $1600 for something you aren't really using or do you want to abandon it and walk away?

<comment><USER24> Tax collecting people probably already thought about that problem..

</comment></comment></comment><comment><USER25> You may also need a registered agent for "Service of process". Costs $100 per year. Without it you risk default judgement in case of a lawsuit. [https://www.legalzoom.com/articles/what-is-an-agent-for- serv...](https://www.legalzoom.com/articles/what-is-an-agent-for-service-of- process)

<comment><AUTHOR> You can just use your personal mailing address and check it for mail.

<comment><USER26> This puts your name, address, and association with your company name into public record. Not recommended if there is >0 probability of attention from internet crazies.

</comment></comment></comment><comment><USER27> S corps are generally preferable to LLCs if you are eligible to form one, but it also depends on your goals, i.e. if you intend to raise money, you need an LLC or C Corp.

I formed an S corp for my personal protects for tax reasons. I also used legalzoom, because it's good enough for most small businesses. (And even big ones; Panda Express is an S corp.)

<comment><USER28> Just curious, what are some of the tax benefits you gain with an s corp?

<comment><USER29> Chapter S election (which an LLC can do, by the way, it's not a particular type of entity) does pass through taxing, and has a thing where the "profit distribution" of the corp, after paying shareholders "a reasonable salary", can be distributed without self-employment taxes, just regular income taxes. So you can save some 15% on some portion of your income--if you have an income larger than whatever you may be able to justify to the IRS as a reasonable salary. Other options may make sense based on how much money is kept in the company, if you have passive investors, how much money you're making, how much work the shareholders do, etc.

</comment></comment></comment><comment><USER25> It is best to have at least two persons in the LLC. If there is only one owner, then you have less protection as the "veil" can be "pierced". [https://www.nolo.com/legal-encyclopedia/piercing-the- limited...](https://www.nolo.com/legal-encyclopedia/piercing-the-limited- liability-veil-single-member-llc.html)

<comment><AUTHOR> From the article:

> if you form your small business as an SMLLC, and observe a few basic rules > (such as keeping business finances separate from personal finances), you > should be personally protected from most kinds of business liability

Single-member LLCs which are run properly still get liability protection.

<comment><USER25> See: [https://denhalaw.com/can-you-protect-yourself-with-a- single-...](https://denhalaw.com/can-you-protect-yourself-with-a-single- member-llc/)

 _Courts in a variety of states have "pierced the veil" of a single-member LLC from the outside and have held that it is not a separate entity and thus may not be used to protect the assets of the LLC from the creditors of the member._

You get liability protection, yes, but not as much as you would if you had one more member. The veil can be pierced for various reasons, so to reduce risk you want to minimize those reasons as much as possible.

<comment><USER30> I think this is interesting in that I don't know many people who view LLC's protections this way. The classic example is that if your rental property is in an LLC, then your tenants can't win a suit and get to your own personal house.

These examples of piercing the veil are from the other direction - a personal suit getting access to the LLC assets... Which sort of makes sense - <USER2> alternative would be the court ordering the seizure of my assets - which would be my ownership stake in the LLC. So in their example, I'd still expect to lose my ownership stake in my LLC by asset seizure even if I was in a multi- owner LLC... Or had stock in an S-corp.

<comment><USER31> The rental property investors I've known usually form an LP with an LLC as the general partner. Both entities will be solely devoted to a single piece of property. The limited partners are often involved in multiple investments. The LP will often contract a sister LLC for services like property management...so the rent checks get written to an LLC that can screw up without putting the real property asset at direct risk.

<comment><USER30> The examples cited are how the courts pierced the LLC veil to satisfy someone's personal liabilities. This seems like it's unavoidable because no matter how you split it up, the courts will seize your assets to pay that liability - the effect would be the same if the courts just grabbed the owner's stake in the LLC's.

Your example is what most people think of - LLC's shielding each other and the owners.

I'm mostly pointing out that the parent comment's link is a bit of a boogeyman in that you could have a perfectly structured LLC system, and if you are personally criminally negligent and liable to pay, then the courts will still get your stakes in the LLC's.

<comment><USER32> That's why the operating agreement of the LLC should have a charging order protection. It discourages reverse piercing. A charging order protection will allow the LLC to stop distributions to a member who lost such a court case.

In case of an LLC taxed as a partnership the creditor will need to pay the taxes as stated on the K1 but doesn't receive actual money. Obviously this will make it very unattractive to the creditor to go for a charging order on your membership in the first place.

</comment></comment></comment></comment></comment></comment></comment><comment><USER33> In some states, all you need is a federal EIN, which you can get free on the IRS site in about five minutes.

[https://www.irs.gov/businesses/small-businesses-self- employe...](https://www.irs.gov/businesses/small-businesses-self- employed/employer-id-numbers)

I live in SC, and you don't even have to inform the state that you formed an LLC. If you do want to, its about $100 and takes another online form.

The idea that you __would __need a lawyer is absurd.

<comment><USER34> Putting hurdles up (like $500 LLC fees) in front of the various things that "legit businesses do" is a form of regulatory capture.

Basically the goal is to force businesses to choose between heavily buying into the status quo or giving government power of arbitrary enforcement over them. The licensed plumbers don't want all the journeymen who haven't spent years getting a license but can install a toilet just as well undercutting them and stealing their gravy business. By imposing regulatory hurdles at every step of the way you keep those "I'm not quite big enough to go 100% above the table" businesses under the table you keep them on the down low and you keep them from affecting regulatory change. By the time those journeymen plumbers have licenses of their own and can be 100% above the table they feel entitled to the gravy and don't want to change anything. (I only picked plumbing because it's a good example in my state, there's plenty of others).

</comment></comment><comment><USER35> In my state it's $100 to file, and a $50 fee each year (if assets are < $250,000). If you're a single member LLC, you don't even have to have articles of incorporation. You can even file a sketchy shell company and pay a registered agent to use their address. Also, no state taxes either. It's about a 10 minute process.

</comment><comment><USER36> Can someone tell me how to form LLC in WA state and not publish our home/business address? We will be working from home, but we don't want our home address to end up in public search records. Any help or recommendation?

<comment><USER37> I know (because I saw it recently) that if lawyer assists you with forming a C corp in WA, their address can be used and they become an agent for your business, IE: they potentially get all your renewal paperwork, etc. I'm assuming if you had a lawyer form your LLC that they could do the same. That said - I've had a WA LLC for decades, my partner has formed LLCs in WA, etc... it's trivial to do yourself and fairly harmless to include your home address. In the month since she formed her most recent, I think we've had two pieces of junk mail. I did a search with the DOR a few minutes ago - yes, the address shows up for my business but not for hers, so who knows whether your address would even be published?

</comment></comment><comment><USER38> Cost: $800, repeat every year

<comment><USER39> So true. And so shitty.

</comment></comment><comment><USER40> I had no idea LLC's were so expensive elsewhere, here in Florida it's roughly $150 last I remember and you can do it online, I think most people I've met just do it all online.

</comment><comment><USER41> The best resource I found when I was forming a US LLC was [https://www.llcuniversity.com](https://www.llcuniversity.com)

</comment><comment><USER42> Why would you want to as opposed to Delaware?

<comment><USER18> If you're in California, they will get their $800 regardless. It doesn't matter where you create the LLC, California has a minimum $800 tax on it.

<comment><USER43> > _they will get their $800 regardless_

California law is convoluted and Californian courts slow. That makes doing almost everything with a California LLC more expensive than with a Delaware LLC.

The only reason to form a California entity is if you're doing business with the state.

<comment><USER18> If you live and work in California, you _are_ doing business with the state. You aren't going to avoid that, no matter how hard you try.

<comment><USER28> I wonder about this. Suppose you incorporate a LLC in Delaware that buys some stocks, and some houses in Arizona and rents them out. But you live in California. Is your LLC "doing business with California"?

<comment><USER44> Yes. The fact that you manage the LLC from within California constitutes "doing business in California". See the examples on this page:

[https://www.ftb.ca.gov/forms/misc/3556.html#Doing- Business-i...](https://www.ftb.ca.gov/forms/misc/3556.html#Doing-Business-in- California)

 _Paul is a California resident and a member of a Nevada LLC. The Nevada LLC owns property in Nevada. The LLC hires a Nevada management company to collect rents and provide maintenance. Paul has the right to hire and fire the management company. He occasionally has telephone discussions from California with the management company in Nevada regarding the property. He is ultimately responsible for the property and oversees the management company. Paul conducts business in California on behalf of the LLC. The LLC must file Form 568._

</comment></comment></comment></comment></comment></comment><comment><USER45> What SaaS product is everyone using for forming companies nowadays? Stripe Atlas? Clerky? Gust?

<comment><USER46> Zenbusiness is my friend's, based in Austin

</comment></comment><comment><USER47> Make sure you do your LLC banking at a different bank than your personal checking account.

<comment><USER48> Why?

<comment><USER47> The idea is to be able to prove to the IRS and anyone else that might care that your finances are totally separate. Our accountant strongly recommended this when we set up an LLC a few years ago.

</comment></comment></comment><comment><USER49> Can you do this if you're not a US citizen?

I assume you'd need a US-based partner in the LLC.

<comment><USER50> Companies that are entirely foreign-owned are perfectly legal. You do not need a US-based partner.

But if you're not a US-citizen and want to create a company in the US, I would highly recommend NOT forming it in California, for cost/paperwork reasons. There are many other US states that are much more business-friendly to choose from.

<comment><USER51> What if you have to bill clients incorporated in CA?

<comment><USER50> (IANAL disclaimer) Merely having customers in California does not create a "locus of business" in CA that would require you to pay the $800 annual fee. On the other hand, if you have an office and/or employees in CA, it probably would.

<comment><USER15> >IANAL

Stop giving legal advice.

Billing clients in California can create a nexus but it depends on the amount of sales. A company is considered doing business and subject to California tax laws if state sales or property exceed the following amounts:

* CA sales of $601,967 or 25% of total sales.

* CA real and tangible personal property worth $60,197 or 25% of total property.

Also, if a company engages in any transaction for the purpose of financial gain within California, the Franchise Tax Board considers that doing business within the state. An example would be meeting potential clients during a professional conference and negotiating a sale. This can be done by either a member of the LLC, an employee, or an agent such as an independent contractor.

</comment></comment></comment></comment></comment><comment><USER52> What's the best bank to use for a newly formed LLC?

I'm torn on whether or not to use Axos

<comment><USER53> [https://mercury.com](https://mercury.com)

No relation, just a happy user. Founder lurks on here, answered some questions in a thread, that's how I found them.

<comment><USER52> Could you shoot me an email? I'd like to discuss your experience further if you are interested!

</comment></comment></comment><comment><USER25> Cheaper to register in Delaware. Only $300 per year in LLC tax vs $800.

<comment><USER54> You still have to pay a minimum of $800 a year to the franchise tax board for operating a non-Californian business.

<comment><USER55> Word. California _always_ gets its cut. If you're in California, or have customers there, going to other states only increases your potential obligations.

<comment><AUTHOR> Exactly. Which is why I just recommend forming a California LLC directly if you live in California (like I do).

<comment><USER56> Yeah. I understand the advantages of a Delaware C corporation if you need a C corporation. But I don't see the advantages of a Delaware LLC if you will be operating in California.

</comment></comment></comment></comment></comment><comment><USER57> As a lawyer, but not your lawyer, please consider a Delaware LLC. California is not where you want to litigate and it's yearly fees are absurd. Delaware is the gold standard.

<comment><USER58> You still have to pay the $800 to California if you reside there.

<comment><USER59> Or if you operate there.</comment></comment></comment>


Bcvi - run vi over a 'back-channel' - <AUTHOR> http://sshmenu.sourceforge.net/articles/bcvi/

<comment><USER2> GNU Emacs users have tramp-mode for this. <http://www.emacswiki.org/emacs/TrampMode>

<comment><USER3> And it works with EShell:

         /home/jon
         $ hostname
         snowball2

         /home/jon
         $ cd /stonepath:~

         /scp:stonepath:/home/jon
         $ hostname
         stonepath

Pretty cool!

<comment><USER4> My experience using tramp with eshell is that it is painfully slow. However, most of what I would accomplish doing that can be accomplished using tramp with dired instead.

<comment><USER3> s/with eshell// and I agree. I prefer sshfs, but sometimes you are on Windows and tramp is the only way.

<comment><USER5> Have you enabled SSH connection sharing? If you have a connection open already, it could leverage that (ssh does it, not tramp).

</comment></comment></comment></comment></comment><comment><USER6> I've been doing this with sshfs (Linux/Mac) or ExpanDrive (Windows) for years, with whatever my editor of choice is for the file in question.

<comment><USER7> bcvi will also let you use your editor of choice - it just happens to use gvim "out of the box".

If you're already logged into the box with SSH then being able to type 'vi file' _on the server_ and have the editor window pop up on your workstation actually turns out to be really handy. IMHO it's easier to set up than sshfs too.

<comment><USER8> "easier to set up than sshfs"

sshfs yourname@server /some/where

How can the setup of bcvi be easier then this oneliner?

<comment><USER7> Well 'bcvi --install server' is pretty simple and that's a one-time setup cost which survives disconnects and reboots.

But yes, of course you can do the same stuff with sshfs and if that's your preferred tool you should definitely use that.

<comment><USER9> You seem to imply that the "sshfs" command is the analogon to the "bcvi --install" command, which isn't true.

Rather, the "sshfs" command is the replacement for the "ssh" command, and "bcvi --install" is a complete extra step.

</comment></comment></comment></comment></comment><comment><USER10> Vim has a scp handler to allow you to work locally.

Here is how you do it: vim scp://server//path/to/document

<comment><USER11> Is it just me, or is SCP very slow in vim?

</comment></comment><comment><USER12> I never run gvim, are there any real advantages that I am missing?

On the server I just install vim and scp -r .vim* to the server on the desktop I spend most of the time using emacs and only vim when I don't have emacs open and need to do a quick edit.

Tramp mode as stated is painfully slow and emacs doesn't really work for me in terminals as well as vim.

<comment><USER7> "I never run gvim, are there any real advantages that I am missing?"

If you're an Emacs user, probably no particular advantage. I use GVim because as a GUI app it allows me to use my mouse for stuff like selecting areas and copy/pasting. I also like the workflow of having my file open for editing in a separate window and getting my shell prompt back straight away.

<comment><USER13> If you are running vim in a terminal, then try ":set mouse=a" and it will use the XTerm mouse extensions. Most terminals support this (gnome-terminal, xfce4-terminal, rxvt-unicode, xterm). I don't know about the level of support in Putty, Terminal.app or iTerm.app though.

<comment><USER14> Works pretty well in PuTTY, but you lose your local mouse support since clicks/drags are now passed straight to the server rather than selecting/copying/pasting text from PuTTY to the Windows clipboard. It's a tradeoff between easier text manipulation in vim, vs easier text transfer between the PuTTY window and other local windows (and vice versa).

However, PuTTY only switches on XTerm mouse reporting when an app needs it, so it should be easy enough to bind ":set mouse=a"/":set mouse-=a" to a hot key, and toggle mouse support on and off depending on the required operation.

</comment></comment></comment></comment><comment><USER11> This is really cool. However, one of the advantages of using vi is that you use it on any machine without really needing your configuration files, the defaults are comfortable enough.

</comment><comment><USER15> :set paste

<comment><USER16> ...but then you need to ":set nopaste", afterwards.

I frequently do this, instead: ":r !cat"

<comment><USER9> _...but then you need to ":set nopaste", afterwards._

For me, it's just <F8>, then pasting, then pressing <F8> again. This works because of the following line in my .vimrc which I highly recommend:

        set pastetoggle=<F8>

</comment></comment></comment><comment><USER17> Does it work on Mac?

<comment><USER7> If you use GVim on your mac then it should work fine.

If you use a different editor then it should be pretty easy to hack up a plugin that launches your preferred editor instead. The plugin API docs give an example of launching GNOME gedit: <http://search.cpan.org/perldoc?App::BCVI::Plugins></comment></comment>