Show HN: U.S. Legal Concepts for Founders – Online Handbook - <AUTHOR> https://handbook.clerky.com/ <comment><AUTHOR> Hi everyone! I'm one of the cofounders of Clerky :)

We've gotten a _ton_ of questions from founders over the years - this handbook is what we always wished existed, so that we could point people to it. There are already a lot of great blog posts by attorneys out there, but we thought it was also important to have something that (1) helps founders build a solid foundation of knowledge rather than piecemeal, (2) covers the terminology and practices used across startup law firms (thanks to our incredible editorial board), as opposed to one attorney or one firm, and (3) is kept up-to-date as laws or market practices change.

We're very excited to be finally sharing this with the community - please let us know what you think!

A few notes:

* This is very much aimed at startups of the type that might apply for YC one day, seek angel or VC money, etc. Obviously there are many other kinds of businesses, but it's really hard to write something that is broadly applicable, unfortunately. My apologies in advance to founders of other types of businesses.

* The content that we have has been thoroughly vetted, by more top-tier startup attorneys than you can shake a stick at. That said, the scope of the handbook in terms of topics covered should be considered a first cut, as should the presentation. We have many articles on the todo list, and also have some ideas for how to better present some of the more complex concepts.

Finally, feel free to use this thread as an opportunity to ask any general questions you might have about legal issues for startups - my cofounder Chris and I (we're both startup attorneys) will do our best to answer. Some of our editorial board might pop in from time to time too!

<comment><USER2> Amazing. Thank you for doing this. I hope comprehensive useful content as marketing continues to become more popular.

Question: When is the earliest a founder can think about super-voting shares, a la Facebook/Alphabet? What's the process here?

<comment><AUTHOR> Great question - there's nothing stopping you from doing it at incorporation. But it's pretty rare. Very few companies will have enough negotiating leverage to keep it when they raise money. So rather than complicate things from the start, I think the majority view amongst startup attorneys (there are differing opinions on this) is to go with the standard setup, then add in super-voting later on if the company is in a strong position.

<comment><USER2> Noted! Thanks.

Additional question added with an edit: If someone wants to start a company with the goal of never going public (i.e. Bill Gates has talked about regretting going public and only did so because they needed better liquidity for employee options and I believe they were coming close to the shareholder cap) -- what should someone be thinking about nice and early?

2nd additional question: I've heard of unique corporate structures, like where an LLC owns a C-Corp. Any suggested resources for learning some basics there? One well known startup that I won't name has this setup

3rd additional question: If you a friend of yours was starting a company and you were almost certain that they'd eventually be doing $10s of billions in net income, what special things from a legal sense should they look into setting up early that are hard to change later on? (e.g. incorporation in Ireland or things like this)

<comment><AUTHOR> Ah sorry, I wrote my first answer before seeing your edits. I'll just number my responses here for convenience.

2\. It shouldn't change much early on... it would probably be premature optimization to think about it early on, to be honest. The shareholder limits can lead a company to go public, but I think the laws have changed since Microsoft's time to make this less of an issue. Of course, you still have the issue of shareholder liquidity, so I suppose you will want to plan to be able to buy back people's equity :) Also, VCs will usually have demand registration rights that can force the company to go public at some point (never seen those negotiated away though).

3\. Usually startups are more forced into more exotic corporate structures due to having some pre-existing business that is hard to convert into a DE C-corporation. So it's usually not something they sought out. I don't know of any good resources for these types of setups unfortunately - in general, the less standard something is, the more I think an attorney should be involved. I would only recommend DIY approaches in areas where there is a ton of standardization.

4\. It sounds counter-intuitive, but for startups, I don't consider there to be any special things to look for. VC backed startups are all setting up to be massive successes - if there were any significant issues with respect to highly profitable companies, they would have likely been addressed.

Which is not to say that you won't need to change things later on - but the optimizations that are not done up-front are skipped because the opportunity cost in the early stages is not worth it. Many startups do not get off the ground because too much time was spent on hyper-optimizing legal / tax up front. It's usually better to just go with the beaten path on the legal front, and focus on the business.

But yes, ultimately, there will probably be some off-shoring involved in optimizing that kind of massive success.

<comment><USER2> Thank you so much. Really appreciate you taking the time and giving direct answers.

Will share the guide wherever relevant, I think it's an awesome initiative and I hope it pays for itself in leads.

<comment><AUTHOR> Glad to help! The handbook will pay for itself just as a support resource for us :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> A few thoughts on the Handbook:

1\. Law can be a morass and who then can you rely on when trying to understand it via online resources? Well, for startup legal issues, the answer now is the Clerky Handbook: thoroughly and carefully vetted by those who have lived and breathed this stuff for decades while working in the trenches with founders of all stripes. If you want reliability, you can't ask for better.

2\. The Handbook has scope limitations and that is understandable: to be useful for founders, the core part of the Handbook must by definition be strictly bounded or it loses effectiveness by injecting more nuance and complexity than is needed to convey the fundamentals. If the need is there (and I assume it will be), nuance and complexity can be added with adjunct materials.

3\. To date, the Clerky founders have done a superb job of taking legal complexity and turning it into simple and streamlined _processes_ \- how to do a Delaware C-corp, how to do convertible notes, etc. This Handbook extends this to the idea of simplifying legal _understanding_ , which is no small feat. In the end, it may look simple and easy but this is incredibly hard to do and all the more reason the accomplishment is to be commended.

4\. The hand of YC seems to hover in and around most startup innovations of the past decade and this Handbook is no exception. So many barriers to founder success have come down in recent years and founders have YC to thank for much of this change. Add this Handbook to advances in which it has had a role.

5\. The startup world is an amazing place. One advance after another, nonstop over many years. Now add this online resource to the list as a great reference platform to which many quality people have contributed. As it grows and develops, it will do great service for the common betterment now and for many years to come. Great work and kudos to those who drove this effort!

<comment><AUTHOR> Thanks for the kind words George - and thanks for being an editor :) I completely agree with you on the scope limitations - we're looking forward to pushing the boundaries out a bit more over time with additional articles.

</comment></comment><comment><USER4> This is awesome. For anyone who's starting a company, Clerky is by far the best way to do all the legal legwork. I've used a number of companies to try to save time (including Stripe Atlas, which is kind of a disaster) and wish I'd just done everything through Clerky.

<comment><USER5> Curious - what's a disaster about Stripe Atlas? I would have considered going down that route if I was to start a company

<comment><USER4> Well, they screwed up filing docs for a friend of mine, we haven't gotten an EIN after a month, and the bank account with SVB is really limited (SVB won't do a credit card for those accounts, for example).

I used them primarily to get the bank account with minimal fuss and now I'm regretting it. :)

<comment><USER6> Would you mind sending me an email (my HN username @stripe.com)? I work on Atlas and I'd be happy to look into what went wrong and what we can do to fix things.

<comment><USER7> Patrick how is SVB getting around the KYC regulations? It seems impossible for any bank following the regulations for non-US resident founders to open a US business bank account.

<comment><USER6> SVB and Stripe are complying with all of our legal obligations. You'll forgive me if I generally abstain from more detailed commentary on internal operations of my employer.

I do not believe your understanding of the regulations to be accurate. Are you of the opinion that it is impossible for e.g. Toyota to have a US bank account? No, of course not. That would be crazy. So if the mental model has a Toyota-shaped hole, what other holes does it have?

<comment><USER7> I only speak from my personal experience. In the past (pre 2001) it was possible to set up a business bank account in the USA if you weren't a US resident (I opened one back in 2000 which I now wish I didn't close in 2005). I tried again in 2012 and it proved impossible due to the changes in the KYC regulations. If SVB and Stripe have figured out how to get around the KYC regulations I wish they would share their knowledge with the greater startup community.

I am sure Toyota opened their accounts pre-2001 so I am not sure they are the best example.

<comment><USER8> Toyota also has legal subsidiaries in most major jurisdictions.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'm a huge fan of Clerky and have been ever since one of the Founders spent an incredibly long time answering questions from aspiring founders on Reddit. I learned an immense amount just reading his responses and am a much more informed person as a result.

Consequently, I'm far too big of a fan to critically evaluate their work. Shit, I'd give their grocery list rave reviews...:)

But seriously, thanks for publishing this. I can't count how many founders struggle with the kind of information that your handbook covers. This is an absolutely wonderful gift.

Take good care of yourselves and best of luck!

<comment><AUTHOR> Hey, good to see you again! You're far too kind :) It's very rewarding to hear that we could make a difference. Best of luck to you as well!

</comment></comment><comment><USER10> This is really great. One feature request: it'd be great to be able to view the whole handbook as a one page document (e.g. I want to save it to Instapaper to read later) or as a complete PDF.

<comment><AUTHOR> Great idea - we gave PDFs to the editors for reviewing purposes (because it's easier to mark those up than a webpage), but we'll see what we can do to get that in shape for public consumption.

</comment></comment><comment><USER11> Love this. As a founder with an engineering background I often struggled with all sorts of legal terms and concepts. And it always seemed that people made me feel dumb every time I asked something like: "what's the difference between between LLC and Inc", or "what is a stock option?".

I think that in fields outside of science and engineering people are more quick to judge you when you make seemingly simple questions...

So thanks clerky team!

<comment><AUTHOR> That was a huge motivation in writing this. I've found that it's common for people to gloss over legal questions with a surface-level answer, and use a variety of tactics (including making the other person feel dumb) to dissuade any follow-up questions (usually because they want to hide their inability to answer follow-up questions).

</comment></comment><comment><USER12> This is great--I like the style and the level of detail. My inner pedant also appreciates "Sometimes mistakenly referred to as a CIIA _A_ Agreement."

One minor suggestion: you have foreign qualification on the "Process" page but you might create a separate topic area reviewing when and why this is required. It's something that an early stage company can easily overlook. Ditto for local business licensing.

<comment><AUTHOR> Thanks! This was definitely a labor of love :) Those are great suggestions - I'll put them on the todo list.

</comment></comment><comment><USER13> As others have mentioned, Clerky is great.

We incorporated our company via Clerky and did our bit of angle investment stuff through them, as well as some of our other contractors IP paperwork.

I recommend it to anyone who asked me about doing a startup.

</comment><comment><USER14> Two questions, I am about to incorporate and I am thinking about doing it in Wyoming instead of my home state of NY, what does Clerky think? And how can I buy some Clerky stock?

<comment><AUTHOR> It depends on what kind of company you're looking to build. If you're going to be looking to raise money, especially from an accelerator or VC, the standard approach is to form a Delaware corporation.

But for other types of businesses, there can often be no standard approach. Out of curiosity, why are you looking at WY in particular?

As for your second question - unfortunately, there's no way to do so at the moment :) But thanks for the sentiment!

</comment></comment><comment><USER15> Hopefully you'll keep developing this (add more articles & whatnot), because the usefulness is definitely 10 out of 10.

</comment><comment><USER16> Just so you know, your site doesn't properly redirect at this URL:

[https://clerky.com/](https://clerky.com/)

<comment><AUTHOR> Whoa, good catch - we'll get that fixed. Thanks!

</comment></comment><comment><USER17> Hey guys, love the concept. Just wanted to see when or who could use the contractor agreements? I would love to get those set up now.

<comment><AUTHOR> Thanks! Feel free to email us at firstname.lastname@example.com and we can see if we can help (assuming you have a DE C-corporation). I'll keep an eye out for your email :)

</comment></comment><comment><USER18> Suggest 'US only' in title.

<comment><USER19> Ok, we'll add "US" above.</comment></comment>


After a year in stealth, CarWoo (YC S09) launches today - <AUTHOR> http://venturebeat.com/2010/10/13/carwoo-launch/ After a year in stealth, we finally launched our company today.  CarWoo! is an online new car buying market place, where buyers can come and say what they want and get dealers to compete for their business.  Essentially this is a reverse auction for car buying.  We waited over a year to launch so we could build our dealer network to over 3000 dealers nationwide.<p>Let us know what you think... lots of posts coming about our YC experience and how we stayed under the radar for over a year, how we raised money, all the good stuff. <comment><USER2> Closed your website the second I saw I needed an account to continue.

edit: I'll expand so you don't get confused by my comment. I drop by auto sites every now and again and customize a car to my liking, as a game. The idea of getting a car is playful. Most of the time I'm not seriously thinking of buying the vehicle.

Now on your site, I can't customize a car. I can't even see what your site does. I could see myself playing around with models and brands and see a button at the end "We'll have 5 auto dealers bid on your dream car, $50. You'll save way more than $50 thanks to our competitive bidding process."

Or you can alienate all the random drop-ins forcing them to sign in, or associate their real life facebook profiles with some random site on the nets.

The value of your site appears to be in the bidding process. Not the customization process.

</comment><comment><USER3> I will admit that I did not do any research beyond reading the article, but have you thought about how you will tackle the problem of the customer not test-driving the vehicle before purchase?

The article makes me think the entire streamlined process can result in a signed contract in a relatively short period of time, without the customer ever seeing the vehicle that s/he had already into a legally binding agreement for. This could obviously result in all kinds of problems. Perhaps the article has simply left out a few steps...?

<comment><USER4> Maybe it's supposed to be like buying snowboard boots online - go try on a few pairs, figure out exactly what you want, and then go and find the best price for it.

</comment></comment><comment><USER5> Seems like a pretty cool service and the intro video was pretty informative. I'd use it to buy my next car, because I'm terrible at negotiating face to face. A minor nitpick on the intro: I found it odd that they said "Follow us on twitter dot com slash carwoo". If the end user is savy enough to know what twitter is and want to use it, is the "dot com" necessary? It seems the phrase "follow us on twitter at [company name]" is used almost universally.

Congrats to the CarWoo team for launching!

</comment><comment><USER6> A couple of comments:

1) I know there are other companies that do something somewhat like this. My auto insurance company has a car buying service and I'm pretty sure it is run by a 3rd party. The business model is presumably different though (sell to auto clubs, etc).

2) The dealers it lists for me are mostly _really_ far away. And I mean "I've never heard of that town, let's google maps it, wow, it's 5 hours of driving away!" far away.

</comment><comment><USER7> Your other CarWoo business partner already submitted a link about CarWoo to HN: <http://news.ycombinator.com/item?id=1787451>

<comment><USER8> FWIW, I don't think that was a Carwoo business partner.

</comment></comment><comment><USER9> I've never bought a car, but why do dealers keep inventory at all? Seems like it's the cause of all their headaches. Just have one of each model for test drives, then let people custom-order. I know people like to be able to drive off the lot with a new car, but we're talking about the biggest non-home purchase of their life. They're not willing to wait a few weeks to optimize it? Especially if the inventoryless dealer's lower costs mean they get a much better deal?

<comment><USER10> There are many people who need to buy a car there - now, that day or the next. Maybe their old one just died, maybe they are about to go away for work, whatever. Some people just want things right away.

Spend some time around a car dealership and you'll find buyer behaviour that seems very unrational to a careful person, but then the spread of car buyer is pretty much the spread of the population. As such, dealers need a certain amount of inventory to keep the showroom full and satisfy buyer demands.

Finally, you'd be surprised how many people can be upsold on expensive features (sunroof, leather, alloy wheels) with high margins because the car they are intending to buy is sitting right there, on the floor, ready to go, with just a teensy-weensy few more features on it. You wouldn't get upsold at McDonalds if you had to wait for the bigger fries, the same at dealers. Having the up-sell sitting right there, in front of the buyer, sometimes works with getting them to buy more.

The flip side of this is that certain franchised dealers are forced to carry inventory by the manufacturer. The manufacturer helps out with the inventory costs by giving better finance on the inventory, but as a flip side they basically force-feed the dealer with stock. It's up to the dealer to move that stock. I guess from the manufacturers point of view, it gives them a certain level of predictability with their month-to-month sales and keeps the dealers working hard to move cars.

</comment></comment><comment><USER11> Neat service. Something I would use. Has some similarities to <http://truecar.com>

I'd like to see the specific options package listed (checkbox form maybe?) vs. having to write the features I'd like. That way there is really no negotiation that could go on.

</comment><comment><USER12> It certainly seems like an easy to understand value prop. I've done ok on negotiating cars, but only after a lot of research and through a lot of frustration. I've told a friend of mine (an aggressive attorney) that I'd gladly pay her to go negotiate a car for me.

One of my worst experiences was trying to play the "let dealers compete" game online. I'd get 4 to 24 hour turnaround times on emails, which just wasn't going to work. As a bonus, I still get several emails a week from dealers still trying to get my business. (Thankfully on my semi-throwaway account.)

</comment><comment><USER13> It's like CarsDirect, but paid for by the buyer instead of seller. Hard to judge its usefulness without buying a car, but there's room for a lot of players in this space.

</comment><comment><USER14> The team pictures have obvious heavy shadows from a single flash. Otherwise, looks promising, I might give them a try next time round.

</comment><comment><USER15> If the site has been running for over a year, how can it be said to "launch" today?</comment>


Ask HN: Do you know a riddle or question that'll inspire tech-minded people? - <AUTHOR> I'm in the process of creating an application form for a program that my employer will offer to local university students. The application form is required to have the standard short essay on a specific topic. However, to inspire and hopefully increase the number of applicants I would like to add a short riddle or question, that will make the application process at least a bit more interesting.<p>The program will focus on "How to use new technology to improve your every day", and the short essay will be on this topic. So the riddle or question may very well be on this topic as well. <comment><USER2> Forget this. How about some respect for people instead of playing games? I have been in job interviews where the person conducting the interview was not qualified to manage a technical position. I was asked a riddle. It was not relevant, or technical. These stupid games have nothing to do with qualifications for a salaried position. If anything, this will most likely decrease your number of applications.</comment>


Nestlé Loses Bid to Prevent Sales of Rival Coffee Capsules - <AUTHOR> http://www.nytimes.com/2012/08/17/business/nestle-loses-bid-to-prevent-sales-of-rival-coffee-capsules.html <comment><USER2> I can't stand these coffee capsules. The amount of waste they generate is absurd for a process which should really only produce negligible compostable waste (coffee grounds and perhaps coffee filters). Plus, I doubt the plastic capsules are recyclable, since they permanently contain the grounds once used (at least, the Tassimo brand that I've seen in action does this).

This is an "innovation" that saves little time (making a cup of coffee is not a time-consuming process), is substantially more expensive than the process it replaces, and generates an inordinate amount of waste.

<comment><USER3> _This is an "innovation" that saves little time (making a cup of coffee is not a time-consuming process), is substantially more expensive than the process it replaces, and generates an inordinate amount of waste._

I am sorry, but based on my personal experience, you completely lose on the time argument. It is way easier to to get _espresso_ style coffee this way than any other way I am aware of. Just turn the Nespresso machine on, pop in the capsule, place your coffee mug at the dispenser, press the dispense button and walk away. Within seconds you have a _very decent_ cup of espresso, with absolutely no messy after-cleaning of grinder/machine/utensils.

In this once instance, I love the technology, it is way cheaper than barista coffee, way quicker and way less messy than making it on my own.

And oh, you can pry my Nespresso away from my cold dead hands, not before. ;-)

Edit: The only item on my wish list with Nespresso is to use my choice of coffees, which may now become possible with Nestle losing this lawsuit. I'd love to be able to brew the "Honey badger" or "Sugar glider" from Intelligentsia coffee on my Nespresso! Yum!!!

<comment><USER4> My Delonghi Perfecta bean-to-cup machine will disagree with the argument that Nespresso is faster.

I can skip the "pop in the capsule" step for a weekly "pour some beans in the top".

Bean-to-cup machines are fairly common, but for those who wish to take their time then there are more time-consuming ways (syphon coffee anyone?).

<comment><USER3> Except that the _Delonghi Perfecta_ is three times the price of a Nespresso :-P

<comment><USER4> Yeah, I calculated that when I purchased it.

The coffee is a third cheaper and that's for Square Mile or Monmouth beans (about as expensive as you can get ignoring stuff involving Civets).

It's the difference between purchasing a more expensive laser printer and having reduced printing costs, or purchasing an ink jet and having higher printing costs.

We make 2-4 double-espressos per day. It's worth paying for the better machine to make the savings each day. Given that I've had the machine for more than 4 years it's already saved me a substantial amount of money.

Each double-espresso (14g of coffee) costs me around 35p, whereas a Nespresso (6g of coffee) costs around 52p, and the local coffee shop charges around £1.20 (14g of coffee).

So not only is it cheaper, but there's a full double-shot in mine and less than a single shot in yours. Of course, if I had a single espresso to make it comparable then the price of Nespresso looks even worse.

<comment><USER5> God, Square Mile coffee is good. Why we don't have that at work instead of a Nespresso I don't know…

<comment><USER4> For an office <http://www.hasbean.co.uk/> makes far more sense.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Next thing you know the coffee capsule will have a chip in it like ink cartridges.... a true innovation, and then we'll have coffee bypass systems with tubes all over the place for continuous coffee system. Maybe Nestle should contact HP inkjet division for some ideas on how to avoid aftermarket competition.

edit - sorry, I should have been clear, this is total sarcasm. I despise the 'selling the product at a loss and make the profit on the disposables' model.

</comment><comment><AUTHOR> Compare with this story from April where Nestlé won. ([http://www.reuters.com/article/2012/04/19/nestle- nespresso-i...](http://www.reuters.com/article/2012/04/19/nestle-nespresso- idUSL6E8FJE0F20120419))

See also razors with disposable heads; printers and carts; etc.

There is continuing litigation about this patent across Europe; there's also a trademark problem being litigated in Switzerland. Nestlé is likely to appeal the German decision.

</comment><comment><USER7> Hurrah for a sensible patent suit outcome. But less hurrah as there'll be more terrible coffee capsules, which whilst they're a massive time saving convenience I've always found quite bland, I'm planning on shifting from a french press to an Aeropress soon just to try save a bit more time, but I've always found you get slightly more taste than the capsules.

</comment><comment><USER8> This kind of patent for the machine (which being a hardware-machinery patent, I can agree with), would cover all other existent coffee-pod machines, if it worked as it works on the software patents world. What would be patented would be all possible and unimplemented means of getting a coffee from a capsule, with a mobile or desktop coffee machine.

</comment><comment><USER9> In 2004 Douwe Egberts "Master Blenders" lost the exact same case for their Senseo Pad system. So they knew how to win this case.

<http://en.wikipedia.org/wiki/Senseo#Patent_matters>

</comment><comment><USER10> I would vouch for opencoffeemachine.org and it's related APIs. We have to stop this corporate pissing contest</comment>


Show HN: Haste – Search the Web Faster (Mac App) - <AUTHOR> https://www.plastic-software.com/haste/ <comment><USER2> Hi, I'm a developer of Haste. There are two predefined Custom Searches to search within Hacker News on our Custom Search examples page:

[https://www.plastic-software.com/haste/searches.html](https://www.plastic- software.com/haste/searches.html)

(In the "Others" section) * Stories, by popularity * Stories, by Date

It would be awesome if you would play with them and create your own. Thanks :)</comment>


The State of Android Testing - <AUTHOR> http://bradleycurran.com/2014/08/18/the-state-of-android-testing.html

<comment><AUTHOR> I'm disappointed with how difficult it is to unit test even simple classes in Android in Android Studio. The experience with unit testing is just one symptom of the general developer experience on Android. I really wish they'd pick up their game.</comment>


Tech companies spent more than $64M on lobbying in 2018 - <AUTHOR> https://www.engadget.com/2019/01/23/tech-companies-lobbying-2018-google-facebook-amazon/ <comment><USER2> Total lobbying spend is >3 billion dollars, so this is about 2%. This does not feel like a large amount, it's roughly in line with the size of tech compared to the economy in general.</comment>


Thursday was terrible, but I'm still smiling - <AUTHOR> http://bobstarted.com/startup-stories/thursday-was-terrible-but-im-still-smiling/

<comment><USER2> Reading this I was thinking how important it is to be able to run the demo from any computer, but that's probably not always possible.</comment>


Chrome Dev 58 seemingly removes option to disable New Tab page recommendations - <AUTHOR> http://www.androidpolice.com/2017/02/07/chrome-dev-58-seemingly-removes-option-disable-new-tab-page-recommendations/ <comment><AUTHOR> Thanks Google, I really want to see my device resources wasted on loading something you want to force me to read.</comment>


HTC Studying Whether to Have Own Smartphone Software - <AUTHOR> http://www.bloomberg.com/apps/news?pid=newsarchive&sid=a9YAooOZlAnI

<comment><USER2> I think their current strategy is a winning one: people like Sense more than stock Android, but they also get phones compatible with the Android Market.

Dumb phones will become smart phones as hardware gets cheaper, third party software is a huge part of that and Android has the ecosystem.</comment>


Ask HN: Has Windows improved for Unix-based workflows? - <AUTHOR> I'm impressed with the Surface Pro hardware and could see myself dropping Mac hardware entirely.
What stops me is Windows. I'm very comfortable in Unix-like environments and I'm not giving that up.
Last time I used Windows (~8 years ago?) it wasn't really possible to achieve a comfortable Unix-like workflow in Windows, and the quality of tooling and ecosystem for Windows devs was abysmal (unless you were doing Windows platform dev specifically). But their recent activity with VS Code and support for open source and acquisition of GitHub etc makes me think maybe that situation has improved recently.
Have any of you switched from Mac (or Linux) back to Windows recently and kept a Unix-based workflow? What solutions did you find, and how painful has it been? <comment><USER2> I have recently switched from Mac to Windows using WSL. It works, but isn't quite as intuitive as I had been hoping for. The Linux part kind of lives on its own separately from Windows and you have to make a choice whether you're going to use the WSL or use Windows. There isn't really any mixing of the two as far as I have seen (eg installing Ruby vía WSL and running commands from Windows won't work). Probably better explained and expected from people who understand the architecture better than I do.

</comment><comment><USER3> I did and its fantastic if u use WSL (Windows Subsystem for Linux) which let's u actually just use a headless Ubuntu within windows seemless integrated.

<comment><USER4> Has disk I/O gotten better with WSL? I tried moving from MacOS to Windows, but WSL was just too slow because of the I/O issues.

<comment><USER5> This is the real issue with WSL. I also tried to move to Windows with WSL but any heavy IO operations (npm install for example) that would take < 1 minute natively took 10 minutes on WSL. I thought I could just use virtual machines within Windows instead, but every configuration I tried had short comings and I just couldn't get a productive work environment up and running so I've switched back to Mac.

</comment></comment></comment><comment><USER6> Ubuntu on a Surface Pro 3 is my daily driver. The install requires a bit of jumping through hoops, but once you've managed to boot into the right partition everything works as expected. Everything I use at least.

<comment><USER7> this sounds very exciting, a refurbished one for a travel machine might be a good bang-for-the-buck ratio.</comment></comment>


You Know You're Australian when... - <AUTHOR> http://youknowyoureaustralianwhen.com/

<comment><USER2> You know you're Australian when you are amused by a website called youknowyouraustralianwhen.com.</comment>


How the middle class hoards wealth and opportunity for itself - <AUTHOR> https://www.theguardian.com/inequality/2017/jul/15/how-us-middle-classes-hoard-opportunity-privilege <comment><USER2> Given that broadly speaking middle class professional wages have been stagnating for several decades I find this thesis had to take seriously.</comment>


Bernard Chazelle Talk: Why The Algorithm Might Soon Be The Only Game in Town - <AUTHOR> http://norfolk.cs.washington.edu/htbin-post/unrestricted/colloq/details.cgi?id=637

<comment><USER2> That was painful to watch. Couldn't get past 30 min. While watching it, I thought - some smart people really could use image consultants. Maybe I'm getting into marketing. What a horrible thought.

<comment><AUTHOR> The intro is a little slow, but it gets better.

</comment></comment><comment><USER3> can someone transcribe it for me ...

<comment><USER4> based on the abstract i think it probably says something like "eventually computers don't get any faster so better algorithms are the only way to improve software"

amirite</comment></comment>


Setting iPhone time to 1/1/70 will brick your phone - <AUTHOR> http://www.wired.com/2016/02/dont-set-your-iphone-back-to-1970-no-matter-what/ <comment><USER2> More discussion on the Reddit /r/jailbreak thread: [https://www.reddit.com/r/jailbreak/comments/458ao3/discussio...](https://www.reddit.com/r/jailbreak/comments/458ao3/discussion_changing_time_date_settings_to_jan_1/)

</comment><comment><USER3> There have been a zillion of these and no discussion: [https://hn.algolia.com/?query=1970&sort=byDate&dateRange=all...](https://hn.algolia.com/?query=1970&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

Since they're currently making the front page, we might as well pick one, and it seems like [https://news.ycombinator.com/item?id=11079781](https://news.ycombinator.com/item?id=11079781) is the fairest choice, so we'll roll back the clock on that one and treat all the others as dupes.</comment>


Why is 3D printing such a powerful way to make solid objects? - <AUTHOR> http://blog.reprap.org/2013/06/why-is-3d-printing-such-powerful-way-to.html <comment><USER2> >If you have some points round a 2D circle you can visit them in order one after another; but if you have some points on a 3D sphere, there is no order that places them one after another; and

Can someone clarify why this is true?

If we consider the sphere in spherical coordinates, we choose an arbitrary starting point (as in the case of the 2D circle visit) them in the following order: find the next point for which θ(pointA)-θ(pointB) (A is the point we are now, B is the point we are considering) is minimal and greater than 0, if there are two or more points that are the same number of radians away on the θ-plane (and they are all minimal), find the point, out of those, for which φ(pointA)-φ(pointB) is minimal and greater than 0, this uniquely identifies all points on the surface of the sphere and allows us to order them if we have some arbitrary starting point.

<comment><USER3> I don't think he meant it in a strict mathematical sense. Just that it's easy/natural to pick a direction on a line and say point C is after A, and B is in-between; whereas on a surface there isn't an obvious ordering.

<comment><USER4> It however isn't difficult to do this for a 3-axis machine. in fact, the way he describes building layer by layer is exactly how you make complex shapes on a 3-axis mill. You essentially trace a line on the surface that you are trying to machine. The problem simply reduces to the same line problem with the points defined in 3 dimensions.

Of course, there are notable complexity benefits of 3D printing over 3-axis machining, but many of them can be overcome with other machining methods such as EDM.

<comment><USER5> "The problem simply reduces to the same line problem with the points defined in 3 dimensions."

Except when you have overhangs.

<comment><USER4> There are ways to deal with some of the overhang issues with proper tooling though.

Regardless, as I said, 3D printing definitely wins in the complexity capability, overhangs are just one of them.

</comment></comment></comment></comment></comment><comment><USER6> The math might be easier, but the physics is much harder. How do you 3D-print a metal object? It's an easier bet to say that computing power will continue to increase than it is to say some magical high temperature sintering process will be made for home use.

<comment><USER7> [http://www.shapeways.com/materials/steel](http://www.shapeways.com/materials/steel)

...of course if you don't want to deal with high temperatures, there is always electrochemical deposition.

<comment><USER8> Sintered metals are never going to have the same properties that cast, forged, and/or welded metals have. Such parts may be very strong compared to, say, plastics, but there will always be a huge class of parts (especially for machinery) which just cannot reasonably be made that way.

But that's fine, additive manufacturing doesn't have to be the end-all be-all of manufacturing. People should concentrate more on leveraging the strengths of 3D printing as much as possible rather than trying to make it be some jake of all trades manufacturing tool that it can never be.

<comment><USER9> > additive manufacturing doesn't have to be the end-all be-all of > manufacturing

I agree with you, but thought I should point out that it may do more than you expect. Here's a guy making rocket engines [http://rocketmoonlighting.blogspot.com/2012/04/3d-printed- ro...](http://rocketmoonlighting.blogspot.com/2012/04/3d-printed-rockets-cost- curve.html) and one post older than this he's firing them.

<comment><USER10> Impressive! It would be very interesting to see how the weight of his motors compares to equally powerful motors made using traditional techniques.</comment></comment></comment></comment></comment>


I Moved to Linux and It's Even Better Than I Expected - <AUTHOR> https://medium.com/backchannel/i-moved-to-linux-and-it-s-even-better-than-i-expected-9f2dcac3f8fb#.l1weiou14 <comment><USER2> I ended up in Linux -- mostly for my preference couple years ago. But looking at the landscape today, simply there aren't any alternatives anymore.

I share the author's sentiment about Google, but for the other reason -- it's the fact their service often works better than their competitors, not only they have Chrome available for Linux, Google's Music, and movie service works better than many competitors out there. (I guess they have incentive to make it work on Linux, as Chromebooks are pretty much Linux-based -- which may not necessarily the QA objective other companies would look into.)

I really hope Linux will be able to break the 10% mark, if not becoming hugely popular. If 1/10 of people are not being access to certain content, it becomes harder for content providers to ignore Linux users.

</comment><comment><USER3> Counterpoint:

[http://linuxfonts.narod.ru/why.linux.is.not.ready.for.the.de...](http://linuxfonts.narod.ru/why.linux.is.not.ready.for.the.desktop.current.html)

Note: I use Mint. I'm just pointing out there's still so many issues that anecdotal articles have no weight due to variance in user's experience largely determined by hardware and apps used. I will also note that it disturbs me that some of these problems were in UNIX Hater's Handbook a long, long time ago. Still there.

<comment><USER4> I keep reading and i keep finding that his references either do not back his point, or are basically a problem because of intransigent proprietary suppliers (see Torvalds "fuck you Nvidia").

Then again there are no singular "desktop". There is the media consumption desktop, the media production desktop, the gaming desktop, the office production desktop, etc etc etc.

In the end though, the basic problem is that unless some company pulls an Apple and start selling Linux preinstalled out of physical stores with knowledgeable staff for walk in support, the market will be stuck with Windows.

This simply because that is what everyone tests against, because that is the largest market, and you got your catch 22 going. Never mind that MS have a history of playing lip service to standard definitions (embrace, extend, extinguish anyone?).

<comment><USER3> I recognized many personally and clicked on some but not most or all. Now that you mentioned it, I click on more to find that your right: some references straight up contradict the claim being made. Wth... Might have to make a revised version of it.

Many of them are hardware-related but you can't solely blame it on proprietary hardware. The times where work was put in got things done. Tons of work has been put into Linux with all kinds of features and fixes. There's even enterprise distro's aimed at business desktops bringing in revenue. Yet, core functionality for desktops has problems it's had for a long time that can only be explained by lack of effort.

So, author's (and my) point still stands even after knocking out bad references or ignoring truly hardware-specific problems. If you doubt it, just check out autotools to see the state of software maintenance that sometimes shows up in FOSS UNIX's. ;)

</comment></comment></comment><comment><USER5> Sorry to pick nits, and maybe this is a tired chord, but Purism does not make "laptops built entirely with non-proprietary hardware and software, or as much as can be done at this point".

The only big difference between a Purism laptop and other laptops (Acer, Asus, Dell, etc.) is that the CPU has been fused to allow running unsigned firmware. Unfortunately, since we still don't have free firmware to run in place of Intel's, Purism has no present advantage over buying most any laptop and installing Linux yourself.

There do exist true FSF-approved laptops, but the current best of these (Libreboot X60 and X200) are essentially refurbished ~2008 Thinkpads. They are so old because Intel was only beginning to sign firmware -- those are the most recent CPUs for which signing firmware has been cracked.

Purism loudly trumpets their roadmaps[0] and plans[1] so as to suggest a trajectory towards totally free software, but until they achieve it their product is not worth a premium compared to installing Linux on an ultrabook of your choice.

[0] [https://puri.sm/posts/roadmap-to-a-completely-free- bios/](https://puri.sm/posts/roadmap-to-a-completely-free-bios/) Here they outline many things that need to be done. But note the language- "Purism's goal is to publish a Free Software implementation ... as soon as an implementation is available." But who is responsible for implementing it?

[1] [https://puri.sm/road-to-fsf-ryf-endorsement-and- beyond/](https://puri.sm/road-to-fsf-ryf-endorsement-and-beyond/) Note that the FSF hasn't actually endorsed them yet, although this page is supposed to convince you that they're awful close. Why not wait until they're actually endorsed?

In the meantime, you can buy Libreboot X200s here [http://minifree.org/product/libreboot-x200/](http://minifree.org/product/libreboot-x200/)

Or you can replace a Thinkpad X200's firmware yourself by following these steps (hardware required) [http://libreboot.org/docs/install/x200_external.html](http://libreboot.org/docs/install/x200_external.html)

</comment><comment><USER6> I currently use Debian for all the servers, and I cannot imagine using any other OS beside Linux for servers. I've also played with everything from ancient VAX mainframe, SUN OS, all kinds of BSD flavors, and my first experience using Linux was with Slackware distro on a PC with first gen Pentium.

The desktop is another story. Ever since Ubuntu came out, I was a fan, and I still remember being excited when I received each new release of Ubuntu on CD/DVD with stickers in the mail, all free from Canonical... Good old days...

Eventually, I went all-in to make Ubuntu my only desktop OS. However, I ran into few obstacles, which could be overcome with research and asking questions, but eventually I just didn't have enough energy or time to fix things. I really wanted it to work. I'd still like to start using Linux as a desktop for running just browsers/emails/shell/vim, but anything else, it is difficult. (Still looking for Camtasia/screenflow, Adobe Premiere alternative on Linux)

A non-technical friend decided to try Ubuntu because he was so tired of running Windows and couldn't justify spending money on Mac. But he ran into issues like audio not working. I'm sure he could've found solution to getting the audio working, or perhaps bought a compatible USB audio to make it work, but these "annoyances" were definitely not pleasant experience. I really wanted him to succeed, but eventually he bit the bullet and just got a Macbook.

Perhaps desktop for a common user is no longer relevant, as mobile OS (android/ios) have taken over some of this space. However, I agree that Linux as a desktop is important since it provides an alternative, but I still wish that things could be better.

<comment><USER7> PulseAudio is pretty stable nowadays. 6 or 7 years after it was released and made the default audio manager for most distros. I still have issues with HDMI audio not switching when plugging in HDMI, that completely disappear when I set JACK as the audio manager, and make PA it's slave. but nobody uses JACK except for the Pro Audio guys.

NetworkManager had a similar trajectory: Started off buggy as hell, and eventually got to a point where you didn't think about it.

Both of these apps were written by the same person, and were later fixed by a team of other people.

Both of these apps have cost me linux conversions, to the point that I would have a list of supported laptops (and caveats) maintained in order to deal with the quirks I found.

I heavily recommend Calculate Linux Scratch KDE[0] as a base distribution for Desktops. Try it and see if I'm wrong.

Also, Silentcast[1] solves your Camtasia issue, and I'd be surprised if Kdenlive[2] didn't solve your Premiere needs.

0\. [http://www.calculate-linux.org/main/en/download](http://www.calculate- linux.org/main/en/download)

1\. [https://github.com/colinkeenan/silentcast](https://github.com/colinkeenan/silentcast)

2\. [https://kdenlive.org/](https://kdenlive.org/)

</comment></comment><comment><USER8> For me, completely abandoning Windows at the moment is impossible. Obvious reason: PC game :p Linux itself makes a excellent tinkering platform, though. And for daily use I think it's relatively "user-friendlier" than a decade ago. Of course I mean user-friendlier for the average PC users, not just hardcore geeks.</comment>


Historian: Because Please Stop Deleting My Bash History - <AUTHOR> https://undertitled.com/2017/04/12/historian-because-please-stop-deleting-my-bash-history.html <comment><USER4> For those on zsh I have something similar [1-2]. It hooks to zshaddhistory and stores the command, running time, CWD, hostname and exit status in a sqlite database, and provides a simple query command.

With a git merge driver [3] the history database can be kept in source control and shared between hosts.

Queries look a bit like

        $ histdb blah
        time   ses  dir         cmd
        09/02  24   ~           ogr2ogr temp/blah.shp 'WFS:http://environment.data.gov.uk/ds/wfs?SERVICE=WFS&INTERFACE=ENVIRONMENTWFS&VERSION=1.0.0&LC=3000000000000000000000000000000'
        09/02  24   ~/temp      cd blah.shp
        15/02  146  ~/.emacs.d  git commit -am "blah"
        22/02  175  ~           test="asdf/blah.shp"
        09:48  743  ~/.histdb   hist blah

The sess column here is a unique (per-host) session number which means it can recreate any transcript with a suitable query; if I ran histdb -s 24 it would produce the whole session containing the top two results above, including directory history.

[1] [https://github.com/larkery/zsh/blob/master/sqlite- history.zs...](https://github.com/larkery/zsh/blob/master/sqlite-history.zsh) [2] [https://github.com/larkery/zsh/blob/master/self-insert- overr...](https://github.com/larkery/zsh/blob/master/self-insert-override.zsh) [3] [https://github.com/larkery/zsh/blob/master/histdb- merge.zsh](https://github.com/larkery/zsh/blob/master/histdb-merge.zsh)

<comment><USER5> Looks good. You should separate this into another repo with a README. I use zgen [1], a package manager with ZSH which lets you add libraries via github repos. That way I can keep it up-to-date without manually checking in on the project.

Also your [3] link is broken.

[https://github.com/tarjoilija/zgen](https://github.com/tarjoilija/zgen)

Edit: any way to import the existing .zsh_history?

<comment><USER4> It appears I am outside the edit window, but [3] should be [https://github.com/larkery/zsh/blob/master/histdb- merge](https://github.com/larkery/zsh/blob/master/histdb-merge) (no .zsh). Thanks for pointing that out.

I don't use a zsh package manager and don't really want to learn one, but if you can tell me the minimal glue I need to add to make these files into a package I will happily duplicate them into another repository and keep them up to date there. Ed.: [https://github.com/larkery/zsh- histdb](https://github.com/larkery/zsh-histdb)

I haven't done anything to import the history file because some of the information is missing so it would be a bit untidy. You could do something like

        history 0 | while read -r num line; do
            zshaddhistory "$line"
        done

This will make bogus entries where the history includes newlines; you could probably use a loop on history number instead, or do something in the while loop to accumulate split lines by looking at "$num" and seeing if it goes up.

</comment></comment></comment><comment><USER6> > The last few versions of MacOS have introduced random fires which burn down > your .bash_history, leaving this occasional sad, sad result:

$ wc -l .bash_history 0

I think there is some context missing here... Why is your .bash_history getting cropped? Was there a change in some default configuration of your Terminal app on update perhaps?

On a side-note I really think fish-shell really got history-recall and completion right, which is really the one thing that keeps me using it even if I still script in bash.

<comment><USER7> This is probably not related to the MacOS issues the author had, but I've actually had my .bash_history cleared out due to a known issue in bash:

[http://unix.stackexchange.com/a/88856](http://unix.stackexchange.com/a/88856)

> When closing multiple bash instances at the same time, there is a known race > condition that may cause the history to be cleared.

<comment><USER8> Looks like it's fixed (at least mostly) in bash 4.3?

<comment><USER9> macOS Sierra unfortunately still ships with 3.2.

<comment><USER10> Homebrew ships newer bash. There's zero reason to stick with the default.

</comment></comment></comment></comment></comment><comment><USER11> I'm a programmer and an historian. So the title of this entry gave me a wrong first impression: there are more people like me! I'm not alone! Imagine the disappointment... ;)

<comment><USER12> [http://programminghistorian.org/](http://programminghistorian.org/)

I'm not an historian, but most of my friends are somewhere in the humanities fields, and two of them _are_ historians.

<comment><USER11> Thanks for the link!

</comment></comment></comment><comment><USER13> Something that has been serving me well over the years:

export PROMPT_COMMAND='if [ "$(id -u)" -ne 0 ]; then echo "$(date "+%Y-%m-%d.%H:%M:%S") $(pwd) $(history 1)" >> ~/.logs/bash-history-$(date "+%Y-%m-%d").log; fi'

Creates a daily log file of every command entered. Searching for anything is a simple grep command.

<comment><USER14> I'm still new to bash scripting - how do you use this? Just put into ~/.profile and create a cron job for $PROMPT_COMMAND?

<comment><USER13> Just add it to your ~/.bash_profile or ~/.bashrc (source it or restart your terminal). PROMPT_COMMAND: [http://www.tldp.org/HOWTO/Bash-Prompt- HOWTO/x264.html](http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x264.html)

Nope, no cron. It basically takes your command, and appends (creates if it does not exist) it to a file based on the current date.

</comment></comment></comment><comment><USER15> What an interesting contrast in attitudes toward privacy:

He makes an extraordinary effort to maintain his bash history whereas I jump through hoops to delete my history (on logout using a .bash_logout file).

I also set my browser to maintain no history, disable saving of chats in everything, delete caches wherever possible, and generally wish that apps and programs had an option to save _zero_ information on exit!

If I want "history" beyond a session, I'll explicitly make a shell alias for a command that I want to remember, or make bookmark for a site I want to revisit, etc.

<comment><AUTHOR> You should

        ln -sf /dev/null ~/.bash_history

    !

<comment><USER16> Better yet,

unset HISTFILE

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

^ In this comment I explained how I just have all my bash history logged directly into SQLite.

</comment><comment><USER18> Shameless plug, my version of YABHA (yet another bash history app): [https://github.com/andmarios/bashistdb](https://github.com/andmarios/bashistdb)

Written in go, uses sqlite and can work locally or remotely. In the latter case you can send history from many accounts and search globally. Transport encryption is based on NaCl. One binary serves all roles.

Doesn't store other information than command line and time but this is what I need most of time.

The main pain point behind its creation was searching in history. There is a global flag (search in all accounts, -g), the wild card is SQL's wild card (%). Less frequently used but very helpful, content search (-A, -B, -C, like grep). Also regexp is supported though very rarely is needed.

<comment><USER19> tbqh, I would like to see regexp be default in more situations. It's handy and important to learn for personal growth and setting it as a default would passive-aggressively try to encourage more novices to learn it.

<comment><USER18> Regexp search is slower. SQLite's support for regexp comes from an external library (sqlite3-pcre) that most of the time isn't installed on the host system. Even when it is, it doesn't always work.

My solution around this, is, when regexp is enabled, to query for all the history and then have Go perform the regexp search itself —the normal is to let SQLite perform the search.

Depending on your CPU and history size, you may need a couple seconds for the result. For example when the server process runs on an Atom processor and the history is about 150.000 lines long, a regexp search takes about 7 seconds. A normal search with a wildcard on the same machine and history database, needs only 1 second.

<comment><USER19> If it's slower, then use a simpler query or come up with a way to improve the back-end search speed (which you did, it looks like).

My point is that _novice_ developers don't usually work with that size of data. And if they _are_ working with that size of data, then both regex and performance are good things for them to learn :)

</comment></comment></comment></comment><comment><USER20> I've been curating my .bash_history for years; it's a great way to recall all those contorted commands which come in handy every year or so:

[https://github.com/l0b0/tilde/blob/master/.bash_history](https://github.com/l0b0/tilde/blob/master/.bash_history)

Git GUI plus a simple Makefile target to sort it is all the tooling necessary:

[https://github.com/l0b0/tilde/blob/b16794f2ff209a6bc64813f02...](https://github.com/l0b0/tilde/blob/b16794f2ff209a6bc64813f0218168cca34e603f/Makefile#L94)

<comment><USER21> Holy guacamole. You madman, you put your whole bash_history on a public github?

If someone put a gun on me and asked to give him my bash history, I'll probably do it but not before thinking twice.

I've also kept my bash history (well, more like my zsh history actually) for a few years and across a few re-installs now. I'm sure there's a few cleartext passwords in there (for nothing too important), a couple of dubious wget commands, all the videos I've ever watched (I use a CLI video player) and who knows what else.

Oh and a bunch of confidential work stuff, I'm sure. Now that I think about it, maybe I should delete it...

<comment><USER22> That was my initial thought as well, but looking at it, it seems like he really takes the time to _curate_ it:

        rsync --rsh='ssh -p 2020 -i ~/.ssh/host.pem'
            --archive --human-readable --progress --verbose
            host:/path /target # network transfer

In examples like the above, he appears to have sanitized things to be useful from the perspective of "How do I do X again?" \-- very cool.

</comment></comment></comment><comment><USER23> When I was first programming and into UNIX it was the norm amongst those I was learning from that you'd symlink your history file to /dev/null

This had a few advantages which might not be immediately apparent. The most obvious is that you remove the risk of leaking private or sensitive data.

The second is that searching your history is an anti-pattern. If there is a command you can't remember, or if there is a group of commands you need to accomplish a task, you should be writing shell scripts

My ~/bin folder has 104 files in it[0] and is in git, is available wherever I log in, whichever tty I have open and has a much better taxonomy than 'search for part of command' based on doing tasks. The same can't be said for history files.

[0] at its peak when I was a BSD and RHEL user it would have been more files but i've recently switched to Alpine.

<comment><USER24> The problem with history is that records all your activity and is a big snitch. On the other hand you will not want to save in your database repeated or trivial commands like "ls ." normally. You can have the best of both worlds if you configure its behaviour in bash.

Any command that starts with a space is still successful but will be discarded in bash history. As "internet is for porn" could be useful to delete any video viewer entry automatically. (Add some lines like: "alias vlc=' vlc'" in your .bashrc). History can be also configured to save only one copy of duplicated commands.

If you have a sensible or difficult to memorize command the best is to put it in a script, not in a db.

<comment><USER25> I like that as a concept, except it doesn't even go into local history (up arrow), which makes the feature so frustrating for me that I ended up turning it off. Too many times I copy and paste something and end up with a little extra whitespace at the beginning. I guess the number of times I've done it on purpose was dwarfed by the number of times I did it on accident, and that killed it for me.

</comment></comment></comment><comment><USER26> If this article appeals to you, here's a few little items that you may find handy (cf. bash(1)):

      $ shopt -s histappend

      $ export HISTTIMEFORMAT="%F %T: "

      $ export HISTCONTROL=ignoreboth
      $ export HISTFILESIZE=-1
      $ export HISTSIZE=-1

Also, maybe you should consider backing up ~/.bash_history occasionally?

<comment><AUTHOR> > Also, maybe you should consider backing up ~/.bash_history occasionally?

Oh yes.

</comment></comment><comment><USER27> Odd that your history is being cleared out, it's never happened to me.

I always keep my own history of every command I ever run. I've moved this from computer to computer. So I can look back years in the past and see what I've done.

      case "$TERM" in
        xterm*|rxvt*)
            PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"; echo `date +"%b %e %Y %H:%M:%S"` $? \"`history 1|cut -c7-`\" in `pwd` >> ~/.audit'
            ;;
        *)
            ;;
        esac

<comment><USER28> I could never do this. I type my ssh password as a bash command too often. My file would turn out to be a password history!

<comment><AUTHOR> Is your ssh password `ls`? That's not a great password.

<comment><USER29> I think he means he types it out accidentally, we've all been there. Bonus points for when you're doing it on a screenshare or projector.

</comment></comment></comment></comment><comment><USER30> It seems like Bash history was made for a time that is long gone, and has not been fixed to work in a modern environment. I have tons of shells open, and I cannot promise to close them carefully and sequentially.

Instead I found this to add to my .bashrc:

        pcmd='if [ "$(id -u)" -ne 0 ]; then echo "$(pwd) $(history 1)" >> ~/.logs/bash-history-$(date "+%Y-%m-%d").log; fi'
        PROMPT_COMMAND="$PROMPT_COMMAND;$pcmd"

It keeps all commands from all open shells in dated log files that I can grep through when Ctrl+R fails me.

Just be aware that if someone hacks into your PC they can see every command you have ever run, including any passwords accidentally pasted.

<comment><USER31> You can append to .bash_history immediately, and thus make the items available in any other open shells immediately as well. This is supported natively. Search for `shopt -s histappend`.

<comment><USER30> I want up arrow to give the last command from that shell though. I'd like Ctrl+R to search all the full history, but I don't think bash can do that combination.

Also I just don't trust bash to actually keep my history, no matter what I do with HISTSIZE and HISTFILESIZE.

<comment><USER22> `histappend` probaby works the way you want it to.

I have about a half dozen terminals open. I want to have the current shell's history seem consistent within any shell, but I want ^R in any NEW terminal to include all the commands entered in any terminal.

       shopt -s histappend
       HISTCONTROL=ignoredups:ignorespace

       # append to bash history Right Now
       export PROMPT_COMMAND="history -a"

I share your distrust, though -- I've frequently lost my bash history for $REASONS (which another comment here seems to have answered :)) -- but the convenience of not having my shell history clobbered by which-shell-I-close- first is _amazing_.

</comment></comment></comment></comment><comment><USER32> For anyone wondering, the correct way to do that cowsay command is `figlet moo |cowsay -n`

<comment><AUTHOR> OH THAT IS AWESOME THANK YOU

<comment><USER33> _ahem_ the only correct way to do any cowsay command is to end with double piped "cowsay -n" invocations.

      $ figlet moo | cowsay -n | cowsay -n

       ______________________________
      /  _________________________   \
      | /                         \  |
      | |  _ __ ___   ___   ___   |  |
      | | | '_ ` _ \ / _ \ / _ \  |  |
      | | | | | | | | (_) | (_) | |  |
      | | |_| |_| |_|\___/ \___/  |  |
      | \                         /  |
      |  </comment></comment></comment><comment></comment><comment></comment><comment></comment><comment>-   |
      |         \   ^__^             |
      |          \  (oo)\_______     |
      |             (__)\       )\/\ |
      |                 ||----w |    |
      \                 ||     ||    /
       </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>
              \   ^__^
               \  (oo)\_______
                  (__)\       )\/\
                      ||----w |
                      ||     ||

<comment><AUTHOR> BRAAAAAAHMMM

</comment></comment><comment><USER34> Last time my .zsh_history was randomly emptied on me I was so so stranded - <USER2> felt helpless.

I've now doubled-down on it and actually store lots of todo notes or receipt numbers or random snippets like that in my shell history as comments. It's just always there :-)

And fortunately btrfs snapshots (and one time, a backup from a laptop migration...) have saved me form losing it for a long time now :-)

Shell history is awesome, I'm always really intrigued when I see someone like a sysadmin who doesn't use shell history very well (read, at all...)

</comment><comment><USER35> Alternatively, you can use ZSH and not lose history, even better, have history work simultaneously in multiple terminal windows simultaneously without closing the window to save/read the history of other windows. [http://ohmyz.sh/](http://ohmyz.sh/)

<comment><USER36> Is the stuff you linked to needed to realize those benefits in zsh?

<comment><USER37> No, just put the following in ~/.zshrc:

      # share history among terminals
      setopt share_history

      # append to the history instead of overwriting
      setopt append_history

      # append to history incrementally instead of when the shell exits
      setopt inc_append_history

Look ma, no more lost history!

<comment><USER36> That is pretty great.

<comment><USER38> Also add [https://github.com/zsh-users/zsh-history-substring- search](https://github.com/zsh-users/zsh-history-substring-search) to make history search really nice (type normally in shell, then press up arrow, like in fish)

</comment></comment></comment></comment></comment><comment><USER39> Alternatives to this implementation:

[https://github.com/barabo/advanced-shell- history](https://github.com/barabo/advanced-shell-history)

[https://github.com/tkf/rash](https://github.com/tkf/rash)

both are fairly featureful and capture additional metadata about the commands run

it is also possible to use similar tools to log your bash history to mysql, or to syslog, which may be preferable for auditing purposes.

</comment><comment><USER40> I've gradually come up with a way too elaborate system for maintaining and sharing bash histories locally. I run tmux with several long-running bash prompts and not only I want to append each shell's history into a log incrementally but also to share history between the running shells.

I have a function as my prompt command that does:

\- dump the current in-memory history into a separate logfile every few minutes timestamped (using HISTTIMEFORMAT)

\- clear the local in-memory history and reload in-memory history from unique history lines from all stored log files, using the most recent timestamp on each

Once there are more than N log files, one of the shells does a similar uniquefying compation step for N log files and writes the output into one new log file. It uses 'mv' to do the compation atomically by moving the affected log files away into a temporary directory for compaction.

If other shells were to update their logs during the compaction those additions would just be saved as normal and compacted in the next cycle. There are always duplicate history lines in the logs to keep things fast so there's no chance for a race condition: no command line in the history can get accidentally deleted and any duplicates are just removed during reading.

As a final step I atomically copy the latest compacted history into .bash_history as a backup. The real data lives in my logs anyway but a single .bash_history is easier to backup: it might be a few lines short but it's always mostly up-to-date.

Looking back at this, I reckon the current Bash history implementation surely can't be ideal.

</comment><comment><USER41> Wow, cool! How does this handle the case of multiple shells writing to the history at the same time? I have yet to find a safe way to preserve all that.

<comment><USER42> Add this to your .bashrc:

      # History stuff.
      shopt -s histappend
      export HISTFILESIZE=50000
      export HISTSIZE=50000
      export HISTCONTROL=ignoreboth
      export PROMPT_COMMAND='history -a'

Individual shells keep their session history in order, while all commands regardless of which shell triggered them get appended to the history file.

<comment><USER43>
      # infinite history
      HOSTNAME="$(hostname)"
      HOSTNAME_SHORT="${HOSTNAME%%.*}"
      mkdir -p "${HOME}/.history/$(date -u +%Y/%m/)" > /dev/null 2>&1
      SESSIONPREFIX=$(date -u +%Y/%m/%d.%H.%M.%S)
      export HISTFILE="${HOME}/.history/${SESSIONPREFIX}_${HOSTNAME_SHORT}_$$"

Only thing you're missing is `HISTFILE`, and an alias like

      alias histgrep='find ~/.history/ -type f -print0 2>/dev/null | xargs -0 grep --color=auto -InH'

[https://news.ycombinator.com/item?id=10162189](https://news.ycombinator.com/item?id=10162189) for context

</comment></comment></comment><comment><USER44> I really like how the search feature shows the frequency of each entry. I've thought before it would be cool to see the most used commands of some of the more experienced folks I work with, though ideally it would be slightly more generic than exact commands - i.e. Different arguments would count for the same command.

<comment><AUTHOR> The documentation has failed - it's actually just an incrementing ID right now, not a frequency! I should make a clarification soon.

<comment><USER45> oh... so can I type !id to re-run the command?

<comment><USER46> Apparently not:

        > hist /youtube-dl
        76
                 youtube-dl --help

        > !76:p
        brew install sox

</comment></comment></comment></comment><comment><USER47> Or, you know, put out the "random fires that burn down your history"

<comment><USER34> I reckon last time I lost mine was a filesystem corruption (after a hard lockup), not sure how I'm going to put out that fire?

<comment><USER6> Backups on a different drive. Having an SQLite database in your home directory isn't really going to help you there (I mean as far as: if only parts of the filesystem are corrupt and you have re-duplicate entries, your chances are better of finding a working one - but it's hard to call that a solution).

</comment></comment></comment><comment><USER48> I like this. It looks like a much better fleshed out version of a one-off python script I use to search bash history - it even coincidentally has the same name so it'll fit right into the muscle memory :D

[https://stackoverflow.com/questions/43019250/made-quick- scri...](https://stackoverflow.com/questions/43019250/made-quick-script-to- search-bash-history-how-can-i-make-it-more-robust/)

</comment><comment><USER49> HISTFILE=~/bash_history/$(date +%Y-%m) with h() { grep -a $@ ~/bash_history/* }

Work for me... I don't lose bash history.

[https://github.com/kaihendry/dotfiles/blob/master/.bashrc#L3...](https://github.com/kaihendry/dotfiles/blob/master/.bashrc#L34-L47)

</comment><comment><USER50> I love this idea. It's not important for production / env that are managed through tooling, but the "randomish" nature of losing history on dev/stage is one of those, admittedly minor, annoyances that this would solve.

Great idea, thanks for sharing.

</comment><comment><USER51> I've been using a variant of this: [https://debian- administration.org/article/543/Bash_eternal_h...](https://debian- administration.org/article/543/Bash_eternal_history) which adds all commands to a file ~/.bash_eternal_history

Plus a script named "ehist" in my path which contains "cat ~/.bash_eternal_history" \-- this enables searches with "ehist | grep git"

It also handles the case of multiple shells writing to a history file.

<comment><USER52> Pretty much what I've been doing.

</comment></comment><comment><USER53> Some sites require the periodic deletion of .bash_history and .history files as a security policy, because they're quite likely to contain passwords and other secrets in them.

<comment><AUTHOR> Per the README I'm hoping to introduce a scrub command, but yeah -- if you have inline passwords in the commands you run, that's less than great.

<comment><USER54> Sounds like something that should be optional in the shell itself, scrub command before writing to history.

Naive non-programmers version: use a hash table to censor all substrings of a given length range that match against it ... sounds like it might be expensive (in compute time), also you have to keep a list of those hashes around.

Bet it's been wontfix-ed in at least one major shell?

<comment><USER55> See the HISTCONTROL environment variable in bash (and maybe something similar in other shells):

        HISTCONTROL
            A colon-separated list of values controlling how commands are
            saved on the history list.  If the list of values includes
            "ignorespace", lines which begin with a space character are not
            saved in the history list.
            [...]

This is convenient because any time you don't want a command saved in history, just start it with a leading space.

Also look at HISTIGNORE for finer grained control.

</comment></comment></comment></comment><comment><USER56> I wish there were a tool to share .bash_history across an organization. This would make onboarding so much easier. It would also help to disseminate shell tricks.

<comment><USER57> I've seen a lot of teams keep a shared scripts/aliases file, and import it to everyone's .bashrc or equivalent. Very useful.

</comment></comment><comment><USER58> I think a lot of the problems linked to bash history could be solved elegantly by the use of a daemon to exchange information between concurrently opened shells.

</comment><comment><USER59> On a sidenote, how do I tell bash to immediately commit to history? I often close iterm tabs with cmd-w which seems to make my bash forget to write history.

<comment><AUTHOR> I think so: [http://askubuntu.com/questions/67283/is-it-possible-to- make-...](http://askubuntu.com/questions/67283/is-it-possible-to-make-writing- to-bash-history-immediate)

</comment></comment><comment><USER60> How can we store history of many users [with screen sessions] on another server - as a simple history keeping and monitoring thing? I looked into auditd but did not like the logging format (maybe there is just a nice web front-end missing that interprets the details) - a simple history would be enough.

Next todo was to look if we could send the history to some syslog server - <USER3> you have any experiences with a similar solution?

</comment><comment><USER61> I use my shell history to pickup past command invocations, but at some point, you have to clean things up and create a script. The script could be for repetitive tasks or help tame complicated command line syntax. The nmap, curl and groff utilities are a few of my favorite examples of commands that have too many options.

</comment><comment><USER62> my bash history gets deleted whenever I inadvertently type my password and hit enter at the wrong prompt. Type sudo 30 time a day, its gonna happen. Yes I know my history has permissions protection, but still. It is plain text. I don't want to have to look for all the places it get copied too with these solutions.

<comment><AUTHOR> Sounds like good security though.

</comment></comment><comment><USER63> As a pen tester who frequently finds passwords and other sensitive data in shell history files[1], I fully support this effort to make my job even easier :).

[1] Either inline in mysql-type commands, or when users accidentally paste/type their password in when the system isn't expecting it.

<comment><USER64> How do you find passwords in a long history file?

</comment></comment><comment><USER65> If you touch ZSH (oh my zsh, if that makes a difference) once you will never ever want to use bash again.

<comment><AUTHOR> I've tried zsh many times and it's not for me :'(

<comment><USER38> I would understand something like "fish is not for me" (since fish is a C shell, not a POSIX shell) but zsh is pretty similar to bash at stock, but can be configured to be massively better

</comment></comment></comment><comment><USER66> I use git/gitlab in a private repo to keep track of my zsh profile and history. Stupid like a fox!

</comment><comment><USER67> What are the random fires? please provide an example, i like to control my HISTFILE

edit: FIRE == OSX specific

<comment><AUTHOR> Most recently it seems to happen on a fresh restart.

Previously, it had to do with my usage of Terminal; I've had to touch ~/.bash_sessions_disable -- /etc/bashrc_Apple_Terminal has the nitty gritty.

</comment></comment><comment><USER68> " _In its nascent form, a script backs up your .bash_history into a SQLite database that sits in your home directory as well._ "

</comment><comment><USER55> I only save about 40 lines of shell history. If I find myself repeating something I make a script or alias.

Root account never saves history.

</comment><comment><USER69> I think this is nice. I use tmux every day and this will help me to keep my bash history in my multiple tabs.

</comment><comment><USER70> ctrl-r is great, but i'd like to also delete unwanted results and favourite some and label them.

</comment><comment><USER71> Are there any bash history systems which also store the directory the command was issued in?

<comment><USER72> I actually keep a bash history per directory. it really helps when i reopen a project folder after a few weeks or months. lets me know generally what I was doing.

[https://gist.github.com/leipzig/1651133](https://gist.github.com/leipzig/1651133)

</comment></comment><comment><USER73> didn't even know that's the case, is zsh affected by this mac os bug?

<comment><AUTHOR> Based on the differences between /etc/bashrc and /etc/zshrc, I don't think so, but I don't know for sure.

</comment></comment><comment><USER74> My hand made script doing the same thing is also called "hist".

<comment><AUTHOR> Dangit

</comment></comment><comment><USER75> TIL about figlet and cowsay.

Thanks HN!

<comment><USER38> Also lolcat [https://github.com/busyloop/lolcat](https://github.com/busyloop/lolcat)

</comment></comment><comment><USER76> fish

<comment><AUTHOR>
        (o)))><</comment></comment>


Addiction to videogames explains the Fermi paradox? - <AUTHOR> http://www.edge.org/q2007/q07_print.html#miller

<comment><USER2> _Actually colonizing the galaxy would be so much harder than pretending to have done it when filming Star Wars or Serenity._

This article relates to one of my crazier recurring thoughts. Looking at how most of us have readily shifted to or accepting of virtual experiences and Baudrillard type "simulacra", I can't help but run the clock 250 years forward to see people willingly living with their brains permanently wired into an artificial reality (or, if we "crack" consciousness, being converted into conscious computer programs of sorts).

No longer would fighting the laws of physics be necessary, you could merely play a futuristic, hyperreal version of EVE Online in what your brain would identify as "reality" and do whatever you like.

But ultimately, I think we're guided by our minds and feelings. If we get the ability to keep a brain in a post-orgasmic-esque level of satisfaction and inactivity for perpetuity, it's probably game over for humanity.

<comment><USER3> Yup. This is always why I've questioned "technological Singularity"-type events: even if we might be subjectively much happier, from the point of view of other alien species we'll basically have just smothered ourselves in a big blanket of grey goo (nee Computronium.) If we ever do manage to get out into the galaxy, I expect to see that the vast majority of planets with evidence of previous civilization (junk in orbit, etc.) are now big grey spheres that are too busy reveling to be interested in talking to us (but may consider eating us to add to their Maximum Revelry Potential.)

<comment><USER4> That would be a fairly frightening hegemonic swarm. I suspect that hedonically oriented Kardashev type II civilizations are more likely to use a gentle "Join us and experience the bliss of a thousand heavens." sales pitch; if they have much of a foreign policy at all.

<comment><USER3> I'm imagining a complete partitioning of utility functions here. To me, a type-II civilization would be more akin to the planet of the Matrix movies—a symbiotic system involving:

A. a sentient civilization, living in a virtual universe with unlimited possibility, and

B. a completely automated outer reality, keeping the sim running, of which the sentients have (and need) no awareness.

Part of the sentients' remembered history would be that that "we used to live in a much more limited universe, but then we ascended to this one," or something like that. The "reality" that the automated system inhabits would be no more real to the sentients than your fingertip is to your IDE. (And would have as little realization of an orbital bombardment against the automation as your IDE has of your fingertip holding down the power button of your computer.)

The automated system would want only to grow and maintain itself, and would not have the higher-level thinking capacity required to formulate larger goals. It would be more like a plant, having the same sort of relationship to the sentients that we have to bacteria that live in our bloodstreams. (I want to mention both Avatar and [End of] Evangelion here, for oddly-complementary visuals.)

<comment><USER4> I would think that even such a technologically dominant civilization would want to keep a few sentinels in the base reality. If only to keep an eye out for stray existential threats. And such a sentinel would be a fascinating character to base the narrative around; aware of the true nature of things, given vastly consequential powers in physical reality, but for all that, but not particularly important in the view of the society running inside.

<comment><USER3> True (I sort of had the feeling that this is why the Great Machine in Babylon 5 required an operator.)

But when you start to think like a post-Singularity sentient, you start to realize that their ethical system would be much "pickier" than ours. They would see leaving any of their own (whether biological or AI-based) in the "limited" reality as a punishment equal in scope to the suffering child of Omelas—that is to say, one they could not possibly stand for.

</comment></comment></comment></comment></comment></comment><comment><USER5> The article is dated, but made a good read. Miller's thesis seems to be that the consumer and the gamer are en route to extinction, while the puritan and the luddite shall endure.

A key trend that supports his claim is the drastically lower birth rates in more developed countries - it appears that as consumerism and perhaps, indulgence, rise, children become more and more scarce. The data however, is incomplete. We have no endpoint data, and so we are merely speculating about the future.

My own freshly formed opinion is that the consumer will not go extinct, but be assimilated. As Islam, India, and China rise, the western consumer will mix in among them and become their descendants. They will move toward our consumerism, we will move toward their work ethic, their pragmatism.

In an interaction between 500 million and >3 Billion people, Newton's laws of motion apply as though we were free floating masses. At a higher resolution, 500 million is 300 million with several smaller groups floating around it, and each of the 3 billion is split many ways as well - the interaction will be complex and the outcome incalculable. I think it would be neat for someone to make a simulation of that sort.

Anyway, again, good link! I haven't read edge.org before.

<comment><USER6> > ...it appears that as consumerism and perhaps, indulgence, rise, children > become more and more scarce...

Correlation doesn't imply causation. The typical explanations for the lower birth rates are (A) we have pensions, so we don't need more kids as a form of insurance and (B) we have less time to raise kids because all parents are working professionals. Neither of those factors have anything to do with complacency or consumerism.

<comment><USER7> A and B may not be sufficient reasons either. Here is a counter example from my home state: [http://en.wikipedia.org/wiki/Kerala_model#Human_Development_...](http://en.wikipedia.org/wiki/Kerala_model#Human_Development_Index_in_1990) Economically Kerala is a third world economy, but in Human Development Index and birth rates it is more closer to developed economies. The birth rate is at replacement level and still falling even though most people do not have sufficient pensions, most parents are not professionals and unemployment is endemic. So you will have to look beyond GDP and consumerism for falling birth rates.

</comment></comment></comment><comment><USER8> For those who have trouble believing the argument, Scott Adams puts it more cogently: "If I had a holodeck, I'd close the door and never come out until I died of exhaustion. It would be hard to convince me I should be anywhere but in the holodeck, getting my oil massage from Cindy Crawford and her simulated twin sister. I'm afraid the holodeck will be society's last invention."

</comment><comment><USER9> I get endless amusement from the notion that spending time in consensual non- realities is productive if and only if the science fiction involved has terrible production values and a boring plot. Somebody needs to give the Drake Equation a $100 million art budget so that I never hear it cited as "scientific" again.

</comment><comment><USER10> This is what's known as a "superstimulus" - something that pinpoints our brain's reward and pleasure centers orders of magnitude more than anything that existed in the evolutionary environment. Heroin and candy bars fall into the same category.

Of course, heroin and candy bars aren't exactly civilization-level risks - they're regulated to various degrees, and the people that overconsume simply self-select out of existence. I'm skeptical that an entire society would fall under the spell of a game (even a really good one) before society develops protections against it (through regulation and cultural norms).

Excellent article about superstimuli here: [http://lesswrong.com/lw/h3/superstimuli_and_the_collapse_of_...](http://lesswrong.com/lw/h3/superstimuli_and_the_collapse_of_western/)

</comment><comment><USER7> But this argument may be underestimating other human traits like curiosity and spirit for exploration. Even if we were wired to "simputers" at birth, many of the hacker types here would want to explore what is beyond those constructs once made aware of it. This leads me to believe there will always be some who would not accept the virtual world as an end all and explore beyond it.

</comment><comment><USER11> Is he trying to be funny or is he making an actual argument?</comment>


My Startup(s) Story. I hope it motivates someone. - <AUTHOR> http://grasshopper.com/blog/company/2010/03/01/entrepreneurship-its-personal/

<comment><USER2> > This brings up a very unusual business model for aspiring entrepreneurs. > Work in a domain that is technologically challenged until you understand it > profoundly. Then start a business that advances that domain by empowering > its actors.

I wonder... is collaborating with someone who 'profoundly' understands the domain a way to short-circuit this process?

<comment><AUTHOR> It's definitely how most people do things today. The way I did it, like everything else, has its pros and cons.

Some of the pros:

1\. My buddies in the dealership domain are my customers. They call me up and ask me for a feature directly.

From my experience, this yields better quality features than talking to the domain expert that's probably trying to translate _his_ conversation with the customer.

2\. There's the advantage of you being in a domain where most people are your friends _then_ your potential users. A lot of psychological walls are broken this way (what is he trying to sell me?). We trust each other by our reputation in the industry and this tends to extend to they quality of software they expect from us. Them knowing that we're developing it ourselves helps a lot.

Imagine cold walking into a business like a salesman would and offering your product. Now imagine walking into the business where you know the owner very well and you intend of having coffee with him first, then telling him about how you might be able to help him out. Big difference.

There are more, but these come to mind now.

So it's not only quality of software, but also how much easier it is to get your first paid user base that will enable you to create a good product that would hopefully scale beyond your paid-users-as-friends.

</comment></comment><comment><USER3> I took a look at <http://www.zipzoomauto.com/>

Nice work. One thing I dislike is the absence of PRICE until I fill out all the information. A lot of online fads ask for all your information (including credit cards) before they tell you how much they are going to charge. And this is really a bad practice. Just tell me upfront how much you want me to pay before you ask for my email/phone/name/address etc.

<comment><AUTHOR> Thanks!

You are 100% correct. I feel the same way. Read my response to inovica for an explanation/excuse. :)

This will be updated soon.

-Nash

</comment></comment><comment><USER4> Good article and being domain-specific has allowed you to really focus. It looks from your FAQ that you're still in 'beta' (although that word is not used) from your pricing policy. Are you experimenting with different pricing here or are you just being secretive? Curious as pricing has always been something that I've struggled with setting with our products, so wondering how you're doing it

<comment><AUTHOR> Thanks!

Nope, no secrecy. I really don't believe in it for most situations.

It's mostly my tendency (weakness) to focus on developing new features than to update the marketing site. I'll be updating this with pricing very soon since I finally hired a great developer to help out in some of my coding responsibilities and to help shape ZZA's policies and future.

\</comment></comment><comment></comment><comment>- Here's our current pricing:

10 cars or less $55. 70 cars or less $125. 200 cars or less $225.

No contract. No limit on features. No setup fee. \</comment><comment></comment><comment>--

Here's what we did/considered to reach these prices

0\. We wanted to serve the startup dealerships. We know how hard it is to start one up (we did it, after all), so we wanted to provide a cheaper entry point.

1\. We looked at what competitors were charging and what features they were providing.

2\. We talked to more than 10 dealers to get their input.

3\. We definitely don't want to convey that we are competing on prices. We're not! We're competing on understanding of domain, features and quality.

4\. I read some blogs regarding this subject. Like Joel's and some others.

5\. Had tons of discussions with people who's judgment I trust.

6\. Estimated at what volume of vehicles would a given price make the most sense.

After doing these things, I simply wrote down 10 @ 55, 70 @ 125, 200 @ 225. It _felt_ right.

As you can see, it's very non-scientific and many would disagree with this way of doing it. But it's what we did.

Maybe when it's time to rethink our prices, we'll have more time for surveys and research.

Hope this helps.

<comment><USER4> Thanks for this and amusingly I've followed the same 'path' - what feels right. I majored in Business at university (and only subsequently taught myself to program so I could converse correctly with the programmers I employed) and we were taught to do a lot of market research before making a decision. I've never really done that though and just chose a price which is why I asked the question. Maybe the market ultimately decides by whether they buy or not. Thank you for sharing though - really appreciate it and I'm sure others on here do also. Best of luck with your venture

</comment></comment><comment><USER5> I've noticed in a few of these stories that the path the entrepreneur took wasn't optimal by their own standards (e.g. charging early), yet there is still success.

If you want success, should you follow what they _did_ rather than what their advice says you should do?

<comment><AUTHOR> A very valid point and it has come up in my head many times, not just in regards to entrepreneurship, but other issues with a similar pattern.

Before giving out the advice, I had to ask myself whether things started getting better because of charging customers, or did charging customers coincide with an unknown event that caused some success?

Everything points to the former, in _my_ case. But I do believe this particular advice applies to many other startups, not just mine.

Edit: I'd like to add, that after charging and studying usage more closely we removed some unused 'cool' feature that we thought were awesome. Charging customers also prunes your app. If you pay attention.

</comment></comment><comment><USER6> Did these other sites permit you to post listings directly to their site using an API? How about extending this idea to motorcycles? You could add cycletrader or other motorcycle specific sites.

<comment><AUTHOR> The sites that don't have an API, we simply provide an iframe and provide the user the tools to easily cut & paste into the iframe (Worst part in the app). 90% do have APIs though, which we use extensively.

Right now, my niche is only dealers with 200 cars or less. It's what I know. Later, when I feel like we've dominated this niche, we'll expand into other areas for sure.

Thanks for the ideas.

</comment></comment><comment><USER7> Good article - interesting story - but correct "let's" to "lets" right in the opening blurb on zipzoomauto.com!

<comment><AUTHOR> Wow! I feel embarrassed.

Thank you very much for this. Much appreciated.

Fixed.

</comment></comment><comment><USER8> Great story! Have you considered video?

<http://videocarlot.tv>

<comment><AUTHOR> Video sounds really cool, but our niche doesn't seem to care for it much. It's mostly the high end dealers that like them. Maybe one day when we target them.

</comment></comment><comment><USER9> There was a great story about a guy that did a similar thing for the fast food industry. Anyone got the link?

<comment><USER10> I would love to see that link too!

<comment><USER9> Found it: [http://www.ocregister.com/articles/gala-24486-software- resta...](http://www.ocregister.com/articles/gala-24486-software- restaurant.html)

<comment><USER10> thanks!

</comment></comment></comment></comment><comment><USER11> at what point will you be able to focus solely on the software, assuming that's what you want to do?

<comment><AUTHOR> In the last few months, my focus has been 90% on the software.

What I did with the dealership is Im more or less, followed the advice in E-Myth ([http://www.amazon.com/E-Myth-Revisited-Small-Businesses- Abou...](http://www.amazon.com/E-Myth-Revisited-Small-Businesses- About/dp/0887307280)) and created position contracts for all our employees (7 of them now.) This has cut my involvement in the dealership tremendously. Now, I only put out fires, make sure management is going smoothly and handle some of the accounting.

At the head of the dealership is my brother, whom I trust. He makes sure that all manuals are updated and are followed. I make sure his position contract is followed.

This way of doing things will be much harder if you don't have a partner that you can trust to handle his part. Specially when things start growing.</comment></comment>