Version control for solo Mac developers - <AUTHOR> http://cocoawithlove.com/2010/12/version-control-for-solo-mac-developers.html

<comment><USER2> Too much hassle for simple projects IMHO. Fossil for version control (and bug tracking, wiki etc.) combined with dropbox does the trick for me.

<comment><USER3> It doesn't get much easier than git once you have set it up and learned a few basic commands. Free, cross-plattform, fast and sexy.

<comment><USER2> It does get easier, it's called fossil. =)

Just for the record, I've used RCS, CVS, clearcase, SVN, git and mercurial, but for doing solo work fossil beats all of them in simplicity and ease of use (single executable, no setup needed).

<comment><USER4> Does it also have a UI like TortoiseHg?

<comment><USER2> It's got a simplified web UI, see <http://www.fossil- scm.org/fossil/finfo?name=src/checkout.c> for an example. The diff has a diff(1)-like output, but you can configure a graphical diff of your choice and use it with the 'fossil gdiff' command.

</comment></comment></comment></comment></comment><comment><USER5> >I prefer to use GitX instead of git on the command-line where possible.

Absolutely. For me, the main reason I stayed away from Git as long as I did was the communities stance that the command line is how it should be used. When I downloaded GitX and saw how nice it was I switched immediately.

<comment><USER6> Which fork?

<comment><USER5> Which GitX fork or which Git fork? I didn't realize either of them had forked.

<comment><USER6> Gitx has a panoply of forks on github, some add LOTS of features.

</comment></comment></comment></comment><comment><USER7> Not trolling, but seriously, is there really a significant number of developers out there who aren't using _any_ form of version control?

<comment><USER8> Seriously, yes, a lot... I setup SVN two months ago at a client, at my request.

Once you're used to something so fundamental, it's hard to imagine people won't use it as well :)

<comment><USER5> If it was two months ago, why did you start them out with obsolete technology? The only reason I can think of to have SVN today is legacy situations which you obviously weren't in.

<comment><USER9> SVN is far from obsolete. Just because there are better alternatives now for distributed version control, doesn't mean that the centralized approach has suddenly stopped working.

In most places centralized is the way to go. It may be unbelievable for the HN crowd, but most developers use only the bare minimum features of version control, and even then only after being forced to. In this scenario distributed version control causes more problems than it solves, not to mention the lack of integration with IDEs.

Yes, that's the real world for ya.

<comment><USER5> >Just because there are better alternatives now for distributed version control, doesn't mean that the centralized approach has suddenly stopped working.

Except that a distributed RCS can do everything a centralized on can. The funny thing is, this is the last argument used by people religious about SVN but even this doesn't stand up. SVN isn't even particularly good at doing centralized revision control. Do you work somewhere that you'll have to be able to prove what was in a given release? SVN can't do that since you can rewrite history with no way of detecting the rewrite. If this is not acceptable you'll have to buy Fisheye.

SVN on it's own isn't useful for much of anything. It's only after applying several other commercial products that you finally get something only substandard.

<comment><USER9> You forgot the piece that SVN integrates with IDEs. This is it, case closed.

Like I said, in most cases you are trying to convince developers that don't want to use any kind of version control. They want IDE integration, they won't use branches or any other features (some won't even know what the hell "branches" are), they will only use version control as a means to have a centralize repository for the code.

And they use Windows.

SVN solves the problem. It's either SVN or something worse (CVS and SourceSafe are still widely used).

Version control is a _tool_. You have a set of requirements and you choose the tool based on those requirements. There is no such thing as "obsolete".

<comment><USER5> >You forgot the piece that SVN integrates with IDEs. This is it, case closed.

IDE integration makes more sense with file focused systems like ClearCase. With "whole picture" focused systems like SVN, Git, etc., the value of IDE integration is less because you check in whole change sets at once. The only IDE I've ever seen that dealt with this reasonably well was Smalltalk.

>They want IDE integration, they won't use branches or any other features (some won't even know what the hell "branches" are), they will only use version control as a means to have a centralize repository for the code.

DVCS can do exactly this. Set up a hook so that e.g. Git pushes to a central repo on commit. You don't need to teach them about branches or any of that, just give them something simple.

By doing just this much you get automatic local "backups" of the repo and you get vastly better protection against corruption and tampering.

>And they use Windows.

No problem. Mercurial, for example, supports windows very well. Including a Tortoise interface that is (IMO) better than what SVN provides.

>SVN solves the problem. It's either SVN or something worse (CVS and SourceSafe are still widely used).

That may have been true 5 years ago but it just isn't today.

>Version control is a tool. You have a set of requirements and you choose the tool based on those requirements. There is no such thing as "obsolete".

This is a pretty ridiculous statement. Of course there is a such thing as "obsolete". When an alternative comes along that does everything its predecessor did, better and even with extra features on top of that then it has fully obsoleted said predecessor. This happens all the time in software. SVN fully obsoleted CVS. C fully obsoleted B. On and on.</comment></comment></comment></comment></comment></comment></comment>


Show HN: Please show your React\Firebase projects - <AUTHOR> Hi guys, i'm on my way to learn React and relate technologies. Could you share your projects (with source code) to explore them.<p>Thank you. <comment><AUTHOR> I can show my, but it's not finished. And i would like to see best practices.

[http://bike.u971.indigo.elastictech.org/#/](http://bike.u971.indigo.elastictech.org/#/) [https://gitlab.com/Rukomoynikov/velobike](https://gitlab.com/Rukomoynikov/velobike)</comment>


Has Foursquare peaked? - <AUTHOR> http://yak.to/tech/p.bf/Has-Foursquare-peaked

<comment><AUTHOR> I'm curious what the HN crowd thinks about using Google Insights for Search as a proxy for measuring consumer traction. Thoughts?</comment>


Ask HN: Is Hulu screwing this up? - <AUTHOR>

I was trying to show someone what Hulu is about.  I had them use their iPad and go to Hulu.com.  Well, the only thing one seems to be able to get on an iPad is a page that allows you to singn-up for a free trial period.  You have to enter your credit card and all your personal info.  There seems to be no way to learn more about the service at all.  This does not seem like a good pattern to me.  I wonder how many people are bouncing right off never to come back. <comment><USER2> For a long while (not even sure if they got around to fixing it and I don't bother anymore), it kept saying I couldn't watch anything because I wasn't located in the U.S.

Problem was, I only lived in the U.S. This happened on multiple IP addresses. I got fed up.

</comment><comment><USER3> Yes, but it may not be unintentional. Hulu is controlled by the major networks, who have an interest in seeing the Internet as the new distribution medium for television fail.</comment>


Ask HN: Where does Google Chromium in incognito mode get me? - <AUTHOR>

I have been using Chromium for a long time, without really thinking objectively about it. I use it in incognito mode 99% of the time, and I am logged out of my google accounts always -- unless logging in to check my email. I am the least paranoid person I know, actually, I just do the above because I want Google to know little about me. However, is this even true? Does my setup do _anything_ for me? <comment><USER2> [https://panopticlick.eff.org](https://panopticlick.eff.org)

This tool uses the information sent from your browser in attempt to identify you among other people who have used the tool. It doesn't use IP.

I used chrome on a virtual machine (with not too much ordinary stuff installed) to run the test and it said my result was unique among ~3 million. Then I switched to incognito and the results said that there was one other match, which I assume was the test I had run previously. Point being, there was very little difference, which surprised me. Normal chrome had 21 pieces of identifying info, while incognito had 20, so not too much different.

The NSA has some fancy patents that also use response time and probably tons of other data if they wanted to try to identify your computer, or just you. I'm sure mouse-clicks and other seemingly random habits could be used to ID an individual also.

Best would probably be a VPN combined with a virtual machine with a very clean version of chrome. Maybe with some privacy extensions installed, but be careful which ones you choose, not too many and don't choose ones that aren't used by a lot of people.

</comment><comment><USER3> Install the ad-block plus and Ghostery extensions, just to know (and block) how much tracker crap companies put on their websites. See, for instance, the Huffington Post [http://i.imgur.com/sMIJRL8.png](http://i.imgur.com/sMIJRL8.png) (and it's not the worst example)

Funnier enough, you will also learn about the bad practice in some sites of not displaying anything at all if some of these scripts fail to load.

Note that this will not protect your IP being tracked on the servers, but at least it will do it from third parties.

</comment><comment><USER4> It will keep you out of casual monitoring, but you could still be tracked by someone determined. As others have stated, you've got a lot of personally identifiable metrics accidentally leaked when browsing the web.. like OS version, screen size, plugins, browser version, IP Address, response time, etc. Incognito mode will prevent the websites you're visiting from being _sure_ it's you, but they can still infer it. It's probably equivalent to clearing your history and cookies after every use.

</comment><comment><USER5> It saves you the hassle of logging out of all of your accounts, removing cookies, and deleting browser history. It gives you some plausible deniability. But your IP address could be used to link your incognito identity to your real ones.

I recommend using SSH tunneling: "ssh -D 8080 firstname.lastname@example.com" \- be sure to enable remote DNS in your browser to prevent leaking your real IP address through DNS lookups.</comment>


Paul Graham, Dropbox and The Single Founder Exception - <AUTHOR> http://www.forbes.com/sites/bruceupbin/2011/10/18/paul-graham-dropbox-and-the-single-founder-exception/

<comment><USER2> As a single founder who's about to close his seed round (and was rejected from YC), I'm deeply concerned that opinions toward single founders are devolving from aversion, to bias, to self-fulfilling prophecy. With every step, investors are forfeiting the ability (or inclination) to evaluate this issue on the merits.

I personally have no trouble working with others, nor difficulty enrolling others in my vision. I am extremely emotionally stable—I don't take things personally and have little trouble riding the ups and downs. I acknowledge that there are benefits to a cofounder that I'm missing out on (as well as drawbacks I'm avoiding!), but simply put, it's disappointing to see many investors marching lock-step to the beat of someone else's drum.

<comment><USER3> I take a very simple perspective on this "single founder aversion".

If some investor is going to ignore my traction and business just because I achieved it without signing on a token co-founder, then frankly it is their loss and I won't hesitate to politely tell them that. By definition getting to the same results without co-founders requires a much higher level of ability than if being part of a "collective". Any investor failing to recognize that is going to miss out some of the best deals and that is really their problem.

The main focus should be on pleasing customers and partners and if you do that right, eventually the right investors come along (with better terms too). Much better approach than to structure your company solely to please investors and forget what the business is all about.

You might even end up with a business making money and no investors to answer to (or at least investors not having significant control over you). What a terrible thing!

PS: Quite a few people promoted to "co-founders" should really be employees with accountability for specific tasks and projects, not an open-ended license to call the shots.

<comment><USER2> "By definition getting to the same results without co-founders requires a much higher level of ability than if being part of a 'collective'"

I think in order for this to be true, you'd have to assume that the team as a whole is greater than the sum of its parts. This is not always the case with cofounders.

In general, though, I agree with you. Results speak for themselves; build a business for customers, not investors.

</comment></comment></comment><comment><USER4> From Forbes to Hacker News back to Forbes back to Hacker News.

Definition of an echo chamber. In case a Forbes reporter wants to quote me, this comment is not for attribution.

<comment><USER5> Maybe if pg responds here, someone will write a story about it too.

<comment><USER6> I guess the Forbes bloggers are in need of material..? Although that said I can't say the articles were particularly bad. Maybe it is a stretch to continue to focus on the same article after it's been published as a feature. Certainly if nothing new and significant is being added it's a bit of a waste.

</comment></comment></comment><comment><USER7> The downsides to having no co-founder:

      - you get to deal with the stress on your own (or maybe you have a
        supportive spouse)

      - you can't have soundboard sessions with your co-founders

      - you can't divide the labor

      - you have to have a lot of expertise in a variety of fields

      - if you get ill early on it will likely kill the company

      - nobody will call you out when you're spouting nonsense

      - likely a long long list of stuff following these

The upside (and it's a huge upside)

      - you don't have to deal with your co-founders

That one single factor does not outweigh the other ones but it is much better to have _no_ co-founders than to have the wrong co-founder. And you can't really know in advance if you have the right co-founder or not. You'll know when you are in your first very heavy weather but by then it is too late to easily switch.

That's why even if having co-founders is good plenty of people chose to go it alone, and end up hiring what would have been co-founders as early employees once they've established a certain level of success.

If having no co-founders was a guaranteed fail nobody would do it, but plenty of people get by just fine to prove that it is not a hard and fast law, but more of a statistical issue.

<comment><USER8> I started a business in college, by myself, and it had revenues of about 6 million by the time I hit 25. I'm now 30 and on my second business, which I also started and am now running by myself.

Why don't I elaborate on some upsides to your little list?

* You are the only one. That means if something goes wrong, you can't shift the blame. Not even subconsciously. It's always your fault. This guarantees problems get fixed and they get fixed fast.

* You are the only one. That means you don't have to get approval or dilute your ideas. It gets implemented. Now. If you're spouting bullshit, the market will filter and you will adjust, fast.

* You are the only one. You have to do everything. That means you _understand_ every aspect of your business, because at some point, you did it. This helps you make effective decisions.

* You are the only one. etc etc etc

You get the idea. I can go on forever and you can go on forever listing wonderful things about co-founders. One way isn't better than another. They are _different_ and the path you take depends on your _goals_.

If your _goal_ is to build a business that grows into hundred-million+ entity so you can cash out or where you can garner a cult following (i.e. Steve Jobs/Bill Gates/Larry Ellison/etc), you need a co-founder. On the other hand, if you want a business where you can pour your unmitigated passion into, where it becomes a place that not only supports you, but where your ideas take form, a co-founder will just get in your way. To dumb it down, if the #1 goal on your list is money or status, bring somebody else on. You won't be able to compete by your lonesome. However, if the #1 goal on your list is the freedom to do things the way you want to do them ... the only way to accomplish that is to remove as many obstacles to that as possible. That means no co-founders, no investors, none of it. A structure where you don't have to check with anyone before you do something.

This, by the way, explains why most investors are completely against companies with no co-founders. It's not in their interest. The goals of the company do not align with their goals.

<comment><USER7> Good stuff. Dealing with your co-founders indeed expands into a long list all by itself, to make it explicit is better.

Freedom is indeed the #1 reason I had when I decided to be a 'single founder' (in fact, it wasn't a conscious decision at the time, I only realized it after the fact) and getting an investor on board was the last thing on my mind.

</comment></comment></comment><comment><USER9> What if Arash had turned out to be a bad match? They didn't know each other, so it was a pretty big gamble.

I suppose if Drew retained control he could prevent it destroying the company, but then he doesn't really have an equal co-founder to keep _him_ in check.

Seems like a really tough problem. Kind of amazing it worked out so well.

<comment><USER10> Oddly enough Drew and I talked about this question tonight on a panel at the Computer History Museum. It was a big risk to recruit someone as a cofounder that he didn't know before (and I've seen a lot of cases where it didn't work out) but in this case the risk was mitigated by how much they had in common.

One thing they had in common was Kyle Vogt of Justin.tv, who introduced them. So in retrospect the YC alumni network was having a big effect even back then.

<comment><USER11> Even if the roulette ball drops into the slot 00, the play was still a "big risk", and so was, under the circumstances, insisting on a cofounder. That is, given how much Drew had already done, a cofounder had to be mostly just downside risk. The 'mitigation' had to be minimal.

Or, Drew's left hand doesn't fight with his right hand, but cofounders can easily fight.

If a cofounder is really needed, then so be it. But a cofounder is always risky, and a single founder who has already done well starting the business has a big advantage just because his left hand won't fight with his right hand.

Now a single founder can do much more than in past years, even just five years ago.

And here's a big point: always in a startup very much want the CEO to 'understand his business'. In an IT software startup, that includes understanding the software. But software has now changed: E.g., with .NET, nearly everything needed in commercial computing, and a larger fraction of Web site construction, is already in the .NET classes. So, the work is just writing a little 'glue' code between the uses of the classes. So, the coding goes VERY quickly. But what doesn't go quickly is understanding the classes because need about 10 books each of 500-1000 pages and, even for just a Web site, about 3000 Web pages of documentation from MSDN. And, this understanding of .NET is just 'overhead' that have to pay just once per programming task solved with a .NET class actually understand well. So, to 'know his business', a CEO needs to know the relevant parts of, say, .NET. A cofounder can't help here. And once the CEO does have that .NET knowledge, there can be some serious question if a cofounder can add much. Just what the Linux world has in place of .NET I don't know, but it can't be both small and effective.

There is other evidence: Look up and down Main Street at the successful businesses that have been started there. Typically there's only one person who is the real 'founder'. Look at research: Bright ideas come first to just one person at a time. Period. Microsoft: A Bill Gates show. Apple: A Steve Jobs show. Berkshire: A Warren Buffett show. Renaissance: A James Simons show. Continue with the one man shows of Kolmogorov, von Neumann, Knuth, etc. and in music Heifetz, Rostropovich, Tchaikovsky, Beethoven, Mozart, Bach, etc.

It's tough enough to find a Michelangelo to paint the ceiling. Getting him a 'copainter' who would actually help would be impossible. As you add people to a team, the team regresses to the mean where you don't want to be. And, did I mention fights? Sorry 'bout that.

<comment><USER12> Bill Gates had Paul Allen, Steve Jobs had Steve Wozniak and Warren Buffett had Charlie Munger. You can argue that one-half of these duos produced more than the other but would they have been able to without the support of the other half?

<comment><USER11> Allen and Woz both left early on. Allen was in a plane wreck and/or got cancer or some such? Woz was gone before Jobs was at Next, Pixar, or back at Apple. I'm sure Jobs had a mother, also, but as I wrote, and is clearly the case, Apple, that is, the currently successful company, was a one man show from Jobs. While Munger is a bright guy, my reading is as I wrote it: Berkshire is a Buffett show.

<comment><USER7> I think you're missing the point here. How they parted does not matter much. What matters is that without the other they would have never made it to where they got.

<comment><USER11> You are just flatly refusing to pay any informed attention at all to history or to read what the heck I actually wrote.

Take Gates: When Allen was still around, Microsoft was a still a small company IBM was still laughing at. Then Allen left. Gates, it was JUST Gates, went on to build Windows 3, Office, Windows 95, Windows 98, Windows NT, IE, Windows Server, SQL Server, Windows XP, and more. Gates grew his fortune from a few hundred million dollars to $50 billion or so. That growth was due to Gates. Period. And that was the significant growth that blew the doors off IBM, Sun, HP, Lotus, etc. Got it now?

For Jobs, you are really working to be brain-dead: What Woz and Jobs did with the Apple II, etc. is nearly irrelevant to what Jobs did at Next, Pixar, and after his return to Apple. Apple became for a while the most valuable company in the world due to what Jobs did, Jobs, JUST Jobs, with Woz watching from the nickel seats. Sculley? Amelio? They just helped show how bright Jobs was.

For your "would have never made it to where they got", we have no way to know that.

You are illustrating a huge point that I did make: People like to fight. Even over something really obvious, people like to fight. If you and I were cofounders, then no matter what I did and no matter what success the company was having, you'd be fighting me every way you could think of, fighting, fighting, fighting, for no good reason except you just want to be fighting. There's no way you could be effective.

<comment><USER7> Without Woz apple would have never happened, because he designed their first flagship product. What Woz did back then is highly relevant because it was the thing that eventually enabled Jobs to start Next and buy Pixar.

Jobs and Woz to me are the ideal example of the sum being _much_ greater than either part.

Without Paul Allen Microsoft as we know it would not have existed because he _named_ Microsoft Microsoft.

Your insulting tone and capitals do not make you right, they're reminiscent of people raising their voice and making things personal just because they can't win an argument.

I read a bit in your comment history and this seems to be a recurring theme for you, it is almost as if you take this single founder thing personal. The way to prove that it works is to simply succeed. As a single founder myself I've been there, I've done the multiple-founder thing too (with mixed success). There are no guarantees, to pretend either way is a shoe-in is nonsense. But statistically speaking, and looking at things from the point of view of a guy or girl considering going it alone or from the point of view of an investor that has the choice to invest in a company founded by one or more people the statistics seem to point to more being the better choice. Exceptions will always happen. But the ones that you point to are not those exceptions.

We can't know anything about pasts and futures that didn't happen, but we can safely say that things that did happen and that were likely significant were at least as significant as anything that you think would have happened otherwise. Jobs, Wozniak, Gates and Allen would probably never have said what you just said, and that alone marks them as potentially more successful. How you interact with others is an important factor in your chances for success, and being able to give credit where credit is due is another.

I agree that you and I should not be involved in any business because we'd probably fight, and you are making that point very eloquently.

<comment><USER11> "Without Paul Allen Microsoft as we know it would not have existed because he named Microsoft Microsoft."

So he named the company? Now you are being totally silly and showing that you are determined to fight with me for just silly reasons.

You are the one being 'personal'. You just don't want the argument made that sole founders can be a good bet and just want to stay with the PG and VC herd that cofounders are crucial, say, for naming the company and cut me down for not joining your herd.

Jobs was a successful sole founder at Next, Pixar, and his return to Apple. The only role from Woz and Jobs's first time at Apple was just cash, not Woz or a 'cofounder'. You are straining to deny that Jobs was successful in his last three gigs as a sole founder.

Gates? He had to refound the company after the success of MS/DOS and make Windows, Windows Server, SQL Server, and Office all real. He did. Alone. While doing this, IBM was laughing at him. He knocked the socks off IBM, DB2, Lotus, WordPerfect, Sun, HP, and more.

Just look around you: Commonly cofounders and coleaders just suck. Big committees suck. Group decision making sucks. Take IBM, AT&T, GM, Sun, HP: In each case, the management suite and top management 'team' was awash in what was regarded as the best qualifications. Still, they all just sucked. The Navy knows better: On the bridge of a ship, there exactly one captain. Although one captain can be bad, two is usually worse.

Then you are ignoring the present for what is central at HN: IT startups, especially Web 2.0 startups. Elsewhere on this thread I've explained in good detail: A founder needs to understand his business; he needs to understand the software; the bottleneck in understanding the software is not the unique software of the company but just understanding the now huge software components available; that bottleneck can be passed by just one person at a time, essentially alone, or learning is not a spectator sport or a team sport; once a founder has passed this bottleneck, a cofounder becomes much less relevant than in the past. You can see this, if you want to.

The main issue here is sole founders or cofounders. The resolution is, net, having all the business between one pair of ears is a great advantage when it can be done, and now for a Web 2.0 startup it not only can be done but should be done. The 'team' of Michelangelo and anyone else would be nowhere nearly as good at painting the ceiling as just Michelangelo alone.

<comment><USER13> Eh I wouldn't call Jobs a sole founder of Pixar. Ed Catmull and John Lasseter are really the founders of Pixar. They wouldn't have become what they became without Job's support, but to call him a "sole founder" is a little bit of a stretch.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I'm also a single founder, and I'm investing part of my own money that I've been saving from all these years as a developer.

Being a single founder is hard, you have to deal with everything from incorporating, accounting, writing code, design, worry about SEO, how to introduce your project to the world get some momentum, etc..

Plus, add that to the fact that I'm from Europe, VC is very complicated here.

But because it's hard we should be more appreciated and not put aside.

I'm working on it for at least 3 months now and it's 90% complete, I've been able to keep motivated and I've learned lot along the way.

I just felt that this was the right path to go for me, I didn't feel the need have someone as a parter on this. I may be wrong in a long run but for now I'm pretty satisfied with what I've done.

Obviously I don't agree with YC rule here, I understand some of their view points , but not everything is true or false. Some great projects maybe aren't being looked into because of the single-founder rule.

But then again, you don't have to apply to YC or any funding, try something else, or simple bootstrap you idea and see how it goes.

<comment><USER15> > I'm working on it for at least 3 months now and it's 90% complete

Good luck with the other 90% ;)

</comment></comment><comment><USER16> _"Dropbox being the biggest home run YC has had to date"_

That's still Heroku in my book

<comment><USER17> Interesting... Are you measuring by the number of users or revenue?

<comment><USER16> Not measuring. A "home run" to me is an exit, not a huge round at a huge valuation. But maybe it was an exit for YC/early investors, I don't know.

<comment><USER9> Dropbox took in $250 million cash for 6% of the company. Heroku took in $240 million cash for 100%.

<comment><USER18> And as soon as Dropbox becomes liquid, it will certainly be the biggest homerun.

<comment><USER19> Unless it fails, of course.

<comment><USER20> At this stage it cannot "fail" in the traditional sense. Even if it enters a downward spiral, at any point in time it could be sold for the user base alone (and the price would still likely to be bigger than Heroku)

<comment><USER7> That is a very dangerous attitude. The moment you think you are too big to fail you are more at risk than at any stage before then.

Dropbox could still fail overnight. It would have to be a bad set of circumstances but they're definitely not out of the woods yet.

Remember Blockbuster?

<comment><USER20> Blockbuster has nothing to do with this. That was a failure in the traditional sense. I never argued that somebody is "too big to fail". The parent poster argued that if Dropbox failed, it would not be a big homerun. What I argued is that even if Dropbox valuation failed by say, 90% and it got sold, it would still net around 500MM. That would be a failure for the latest investors, but definitely still a heck of a success for YC (I am disregarding purposedly here liquidation preferences, etc, but you get the idea)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> A co-founder is also the minimum social proof. Find at least one person in the world who is willing to bet on you and your startup.

<comment><USER22> Yeah, right. You forget: That is easy in college, but actually much more difficult later in life when all your friends have jobs and family. In other words, works in some way as a nicely worded age discrimination. Not that it affects me, but getting older makes you more sensitive for these things ;)

<comment><USER23> You presumably know far more professional developers at a later stage of your career than someone fresh out of university, so you have a far bigger pool to find someone out of.

Most of the people who are just finishing university and getting into YC aren't people who would be struggling to find jobs, these are people who are choosing to work for a startup over going to work for Google or Goldman Sachs for a six-figure salary.

The fact that someone older is more likely to have a mortgage and family commitments and thus be unable to relocate for three months and give up their salary is far more likely to weed out older candidates than the co-founder requirement.

<comment><USER22> The 25-year old knows that if his startup fails he can easily find a first (or new) job at Google etc two years later. That does not apply to 45+ year olds. The risk is much higher.

<comment><USER23> I don't get this, presumably by that point in their career they'd have a huge network of people they've worked with in the past and who would be eager to hire them ?

<comment><USER24> When you're at that point in your career you cost a lot more to hire and there are fewer positions, especially since it's usually better to promote an insider instead of hiring a buddy from outside the company.

</comment></comment></comment></comment></comment></comment><comment><USER25> Are there any good examples where a single founder made it big, truly on his own? You can imagine that maybe Drew could have done it without Arash, or Gates could have done it without Allen, etc. But they didn't, which validates the exception. So before we casually say /oh if you don't feel like you need a co-founder then don't bother/, it would be good to know if any single founders have been successful.

And maybe we should define success as financial/market success, not emotional fulfilment or getting your first two round of funding.

<comment><USER26> Some examples of successful sole founders:

Aaron Patzer (Mint), James Dyson (Dyson), Pierre Omidyar (eBay), Jeff Bezos (Amazon), Bob Parsons (GoDaddy), Craig Newmark (Craigslist)

</comment></comment><comment><USER27> The people who are most upset about the single founder rule are the people who were rejected by YC because they couldn't find a co-founder.

<comment><USER6> Or perhaps people who thought they had a good idea or project and then took on a second founder in the hopes of getting into YC but then found that the person didn't work out.

</comment></comment><comment><USER11> On 'the rules':

Again, just a fast look at VC finances shows that VC just MUST hit 'home runs' such as Dropbox or better.

Then just a fast look at the history of home runs shows that get only a few each decade. And just a fast look at those home runs shows that a significant pattern is super-tough to see. And, any such pattern has only a few examples because the larger 'circumstances' change so much from one decade to another. E.g., it used to be that a trillion bytes was a REALLY large chunk of hard disk space, but now it's not so large just as main memory.

So, since have to be looking for such home runs under such circumstances, what good 'rules' can be formulated? Remember, we're looking for home runs and not trying to find a description of a VCs average arriving e-mail pitch. Or we're looking for some tiny number of golden needles in in a huge pile of hay so that statements about some average about the hay are just irrelevant.

Well, one could guess, 'the first rule of VC is that there are no rules', but, actually, that is too strong.

But not good is the rule against 'single founders'. Why? With the larger circumstances today, a single founder has some big advantages. I will let readers fill in some of the advantages based on current circumstances just as an exercise!

Next, for 'the rules', there still are some that can apply to some of the startup candidates, One collection of such candidates is based on startups where the core 'secret sauce' is especially powerful and can be evaluated just technically. For a biomedical analogy, consider a safe, effective, cheap single pill cure for any cancer: Then just evaluate the pill and f'get about the founder because if do have the pill and if he did invent it, then f'get everything else about him! He invented the pill, for god's sake! Or, we know you are plenty smart, but could you have invented that pill? So, if he's smarter than you, then you've just gotta think that he's plenty smart. I mean, given that he invented that pill, what are the chances he's a doofus? Or, to be quite specific, even worst case, just what issues of 'business acumen' couldn't be solved by hiring him a COO, CFO, SVP Operations, SVP HR? And there's no good reason to suspect such a worst case or even a bad case. Or, did I mention, the guy invented the pill?

For meaningful rules to apply to all IT startup candidates, that seems to be asking too much.

The simple answer that will fit on the back of the usual 3 x 5" card of VC rules that even a VC can understand is, in looking for the crucial home runs, the first rule is there are no rules.

</comment><comment><USER28> I don't understand where the fixation for multiple founders stems from. I know it increases the chances that the startup will succeed, but sometimes it's unnecessary. I'm starting to think that it's more of a power struggle issue- If YC can't get one founder to agree with or sign off on something, then they want to be able to approach the other founder and convince them instead.

<comment><USER29> " I know it increases the chances that the startup will succeed, but sometimes it's unnecessary. "

Simply knowing that it increases the chances that the startup will succeed should be sufficient to understand where the fixation for multiple founders stems from. True, it's not required 100% of the time, but, a-priori, how can anyone know whether this is one of those times. There are a hundred well defined things that can contribute to the failure of a startup (in addition to the thousand less well defined things) - one thing that YC brings to the table is identifying that list of 100 things that can kill a startup so they can be avoided. Coming in with at least one cofounder brings the list to 99. Incorporating in Delaware to 98. Having someone who can code 97. etc, etc, etc...

<comment><USER30> Is there really a YC list of 100 things that can kill a startup so they can be avoided ? Very interested to know

<comment><USER10> There's one of 18: <http://paulgraham.com/startupmistakes.html>

<comment><USER31> Any updates to this list since Oct '06?

<comment><USER32> PG's list is just the tip. Of one of many icebergs a startup will hit. Serious.

Head to <http://pmarchive.com></comment></comment></comment></comment></comment></comment>


Either This Data Is Incorrect or These Physicists Just Changed the World - <AUTHOR> https://motherboard.vice.com/en_us/article/gy33dx/either-this-data-is-incorrect-or-these-physicists-just-changed-the-world <comment><USER2> Hasn't this report already been debunked or is it a different one?

(Edit: it is, and it shows evidence of data duplication and manipulation: [https://arxiv.org/abs/1808.02929](https://arxiv.org/abs/1808.02929))

<comment><USER3> It reports on the problems and summaries the current going on with comment from the authors and Skinner, who found the reproduced noise.

</comment></comment><comment><USER4> It's likely incorrect? The correlated error plots show the data is messed up.</comment>


Return of the city-state - <AUTHOR> https://aeon.co/essays/the-end-of-a-world-of-nation-states-may-be-upon-us <comment><USER2> There are many things wrong with this article.

Foremost is its portrayal of power.

Power, which he implicitly defines as the force backing a nation's border, is not premised solely upon the sweat of our technological brows, the way we disrupt and revolutionize economies in pursuit of sky-high GDP.

Power also flows from the barrel of a gun.

The most populous city-state in the world, Hong Kong, has been swallowed by the People's Republic of China. Why? Because China's planned women's army by itself exceeds the population of the United States. Because Deng Xiaoping told the British their troops would cross the bridge with or without a handover.

Contrary to the tone of this article, China is vigorously contesting territory in its sphere of influence. Go look at the sand they're pouring into the south China sea: does that look like dithering?

And even if China, Russia, India, etc. decline within fifty years, that doesn't mean city-states will fill the vaccuum.

It means the remaining players, the ones that have kept their cities and their country together, will have the power. And they will eat these new nimble players alive.

There's a reason the majority of our armed forces hail from the south and midwest and not from the north and west. [1]

Finally, to address the unsaid assumption behind this article: the decline of nations, if it happens, will not be a tea party. The last time a worldwide economic crisis engulfed our planet and threatened the very concept of a nation state, we had the bloodiest war in human history.

[1] As a bit of trivia, when the U.S. government commissioned a study concerning the long-term consequences of full-blown nuclear war, they predicted Latin American gunboats would be pillaging our coasts within 3-4 months. Fun.

<comment><USER3> ^ There's a reason the majority of our armed forces hail from the south and midwest and not from the north and west.

I didn't follow you, what reason are you thinking?

<comment><USER4> City people are similar by outlook, a kinship at an abstract level of education, profession and trade.

Country people are connected directly to the land, and usually live near their relatives.

Which group of people is more nomadic? Which is more likely to fight for their land?

<comment><USER5> I tend to see rural as more individualist. This map of the Nations of American is spot on. [http://emerald.tufts.edu/alumni/magazine/fall2013/images/fea...](http://emerald.tufts.edu/alumni/magazine/fall2013/images/features/upinarms- map-large.jpg)

America has many nations and the lack of dedicated voters and the large difference between rural and city voters continues to expand. Just look at NYC compared to New York State during the Presidential Election. People see things as "US" vs "THEM" and that gives way to the City State right here in America.

<comment><USER6> As someone intimately familiar with the politics and culture of Ohio, boy howdy does this chart fuck up really badly on the edges. For instance, Guernsey and Noble counties not considering themselves Appalachian is absurd. A case could maybe be made for the ones like Muskingum despite all the stuff named after the mountains in Zanesville, since it does import a bit of culture from Columbus, but some of these are just egregious. Franklin and Delaware counties both being labelled as Appalachian despite encompassing the greater Columbus metropolitan area as a whole is pretty laughable, as Columbus is the most Midwestern city in Ohio.

I don't know if you can call this spot on if similar mistakes are made all over the borderlands of this map.

<comment><USER5> Generalizations all are lost at specifics. Like looking at a landscape painting and then looking with a microscope. The painting is a landscape and it captures the emotions and feeling. The microscope is looking for something totally different.

Well Borderlands are just that border lands. I lived on the Mexican border and you go 15 miles North or South and it was a completely different culture.

</comment></comment></comment></comment></comment></comment><comment><USER7> > National governments debate and mostly dither. Cities act, cities do.

This is very similar to a sentiment that was shared by Chicago Mayor Rahm Emanuel[0]. He made a case for running for mayor of a, albeit third largest city in the country, Midwestern city after being Chief of Staff in the Obama administration based on his feelings that meaningful change can no longer being effected on a federal level -- that cities are the correct place to start pulling levers and pushing buttons.

Are things that screwed up at the federal level, or is it just because we have largely become complacent at best and apathetic at worst? Or is it that politicians see an easier track to entrenched power on a local level?

[0]: [https://www.marketplace.org/2017/05/09/economy/make-me- smart...](https://www.marketplace.org/2017/05/09/economy/make-me-smart-kai- and-molly/16-chicago-mayor-emanuel)

Edit: after re-reading what I wrote, damn those options are cynical and depressing.

<comment><USER8> The US federal gov't overrereptesents the interests of the rural.

Each state is given two senators regardless of population.

Despite cities being the economic heart of the US and doing much better than rural areas, al of of policy making is driven by the economically backwards states.

<comment><USER9> The same can be said of the Japanese system --but even moreso. Their rural areas have an exaggerated influence in national politics. Not saying I agree but it's proof a country can do relatively well despite many disadvantages (geography, demographics, int'l politics, etc) and playing to the countryside.

If we look toward Mexico, we can say the cities have an oversized influence in the politics and the frustration form the countryside can boil over into internal conflict.

<comment><USER10> I feel like the Nikkei index would disagree with you insofar as a stock market index is an indicator of economic prosperity. That said, the US system was designed to protect less populous (rural) states from being bullied by the more populous (urban) states. It is hard to say that the system is not working as intended.

<comment><USER9> Their problems will be ours in 30 years' time. All industrialized nations will face declining populations and automation --given their demographics, I say they are doing a pretty good job. I don't think there are many economies which faced with Japan's demographics (together with their lack of natural resources, arable land, etc) would do as well as they are doing in their circumstances.

Now, work culture, that's a different topic. They definitely could improve their work/life balance and their gender disparity, etc.

<comment><USER11> > All industrialized nations will face declining populations and automation

We like to complain so much about automation, but I think the main driver of our current economic woes is outsourcing. When Americans have to compete against people in countries that have $1/hr minimum wage, there's no way our lower class can compete. Not everyone has the skills or aptitude to make it to the middle or upper classes. Should they see a declining quality of life just so corporations can see larger profits?

> They definitely could improve their work/life balance and their gender > disparity

Japan has a low amount of economic inequality and a high quality of life, so I see little reason why it should change. In most countries, it's still considered a fact that men and women are different. I think it may be your Western values determining what you think should change in a culture completely different from our own.

</comment></comment></comment></comment></comment></comment><comment><USER12> I made this exact argument to a friend a few days ago when I was visiting Portland. Following an observation about the fact that the mostly rural far right would have to pry the city out of the cold dead hands of its inhabitants, I was struck by the fact that cities are poised to become massively more powerful as globalization accelerates.

Any major port city (assuming it isn't under water) is going to look to its nearest inland neighbors and its other major trade partners, deem the federal government to be full of shit, and build the infrastructure needed to move goods between the two -- because they will have the capital to invest to do it. More importantly they have the data and the political flexibility to negotiate with other 'city states'. If you are going to live in the middle of nowhere, it is going to start costing much more, and I can imagine a future where if you aren't a tax paying citizen of cities that have banded together to fund infrastructure development, you will be paying a steep fee to make use of it.

The solution to the US's infrastructure woes is in the hands of cities, and I suspect that if they choose to act, the country is going to look very different in 30 or 40 years. Add to this the fact that the federal govt is no longer tampering with normal settlement patterns by subsidizing suburban living, and the rich and powerful are going to congregate in cities. Sure they may own a second house in the middle of nowhere, but the vast majority of their productivity will be created while in the city.

I also suspect that cities that do not invest in social infrastructure (e.g. housing, and zoning regs) will ultimately fall behind, network effects aside. An anecdote I heard was that Portland rents have been rising at nearly 20% per year, and many people simply cannot find a place to stay, and wind up on the street (SV exporting their finest social features?). But Portland is building housing all over the place so I think it has a chance. Cities that cannot figure out how to maximize their productivity by providing good social infrastructure will become the new backwaters.

Another great article on this is [0].

0\. [https://www.nytimes.com/2016/04/17/opinion/sunday/a-new- map-...](https://www.nytimes.com/2016/04/17/opinion/sunday/a-new-map-for- america.html)

</comment><comment><USER13> City-states will not get us off the planet in any significant way; nation- states are struggling to as it is. As far as I'm concerned, any step away from world government is retrograde. I no longer believe I'll see it in my lifetime though.

<comment><USER14> I'd say the opposite is true. World government may become a dictatorship (you can see the process in Turkey, Poland and the US) and the only viable individual action against a dictatorship is voting with your feet.

If you don't have somewhere to go to, you're f'ed.

As the article mentions - it's not a coincidence that the most innovative and prosperous states in the past were city states (Athens, Florence, Venice, Genoa, the German states later on, ...) because they _had_ to be nice to their citizens, otherwise they'd just move that 30 km away.

In a way, many small states resemble a rich supply of "states" where you can live in.

Having a world government is asking for a power monopoly and you know how these tend to behave.

<comment><USER15> > were city states

They were not however geographically confined to their city-state, but controlled militarily a number of outposts , making them mini-empires in places where there were yet no borders.

<comment><USER14> I think the minimum distance from any point within the territory to a border is more important for this dynamic to hold than the maximum distance between two points in the territory.

<comment><USER15> it is not even that important to define territory. venice for example cared about the naval routes rather than territory.

</comment></comment></comment></comment></comment><comment><USER16> This does seem to be where the US government is heading: Conservatives are doing everything they can to destroy federal power so they can create communities around traditional values (or just exploit deregulation to socialize the costs of getting rich), which leaves local governments to step into the void. When you take the idea much further, there are a lot of troubling implications:

Who has power in the areas between the cities? What rights do urbanites have outside their city and who upholds those rights? How do we avoid rural areas devolving into economic wastelands or being exploited by monied interests in the cities? What criminal code could we agree on on a large scale and who enforces it? How can a rural community control access to abortion (for example), when such a service is a short drive away? Would the difference in wealth and opportunity just create a permanent rural underclass without redistributive social policies to offset it? How would a city state respond to something like wage slavery on its doorstep? Who pays for and protects federal lands, parks, and the commons? Who feeds the city? How do cities defend themselves?

<comment><USER17> That last part is my question. What prevents a group from taking up arms and attacking a city in it's own interest? IN the case of the U.S., certainly not the U.S. Military (no such thing exists.

<comment><USER18> Wtf. The US military does indeed exist, even to quash internal rebellion. The national guard is the branch that would deal with such a threat. The number of armed citizens alone might suprise you as well. So all in all, I am not sure what you mean. Anyone could 'attack a city in their own interest', but there are quite a few organized parties very invested in resisting that with their lives.

<comment><USER17> The statement was in the context of a world of city states implied by the article.

</comment></comment></comment></comment><comment><USER19> <And climate change, internet governance and international crime all seemed beyond the nation-state's abilities.>

This has more to do with powerful lobby groups and corporations controlling politicians.

Politicians should be doing the peoples bidding but they are more about furthering their own, not to mention banks like Goldman Sachs inserting people in positions of power.

eg [http://www.politico.com/story/2016/11/goldman-sachs-power- wh...](http://www.politico.com/story/2016/11/goldman-sachs-power-white- house-231998)

[http://www.whiteoutpress.com/articles/q42012/list-of- goldman...](http://www.whiteoutpress.com/articles/q42012/list-of-goldman- sachs-employees-in-the-white-house/)

[http://www.independent.co.uk/news/business/analysis-and- feat...](http://www.independent.co.uk/news/business/analysis-and- features/what-price-the-new-democracy-goldman-sachs-conquers- europe-6264091.html)

</comment><comment><USER20> I see the future or perhaps the far future less as large groups of nation states but rather as a decentralized world power/government (UN with actual power) with centralized city-states simply due to increased globalization (even if some are rejecting it as currently right now, its not like people can reverse globalization) meaning less importance of national powers, increased diversity/multi-ethnic populations/cultures gathering around large urban cities such as seen in Singapore and increased importance of global hubs being cities where the cities bring talent together instead of the countries themselves such as New York for Finance, Silicon Valley, etc. and also the massive powers of transnational corporate companies who hold sway due to their abilities to employ people, influence economies and make technological and societal change.

Moreover, its not like you can really stop cities from gaining power, urbanization used to be and still is a symbol of development for most countries so its not like nation-states are against the idea of large cities. Nation-states aren't actively trying to decrease the size of cities and push people out of it simply because they would become too powerful. As well, nation-states will seek to only make certain cities powerful to be strategic instead of trying to make every city or location in the nation powerful which in turn brings to power powerful city-states.

Its also stated that military occupation is a powerful deterrent for city- states taking over nation-states. I argue that simply starting a war decreases the importance of a city-state and you reach the stage where you scare away the talent and economical activity that gave meaning to the importance of a city-state simply by starting a war. There is not much economical and development going on when you are fighting or even threatening a war which would mean that you can not really take over a city-state without destroying it or basically have to pour money in to just resuscitate it, like in Syria or places in Middle East that are constantly threatened.

</comment><comment><USER21> The recent NYT article "The Urban Revival Is Over" ([https://news.ycombinator.com/item?id=15168420](https://news.ycombinator.com/item?id=15168420)) seems to contradict at least some of the ideas in this article.

</comment><comment> norea-armozel There's a key flaw in the idea of resurgent city states and that is the fact that to coordinate production you have to secure the infrastructure which is between the cities. Imagine all the complex relationships that goes into making an iPhone. Mines, oil wells, farms, factories, and so forth are all over the planet and not in just one place. Cities thrive because of those complex relationships being relatively secure. And without that security they falter.

</comment><comment><USER22> If you want to declare something to be independent from a nation-state and its laws, you need one of the following conditions to be true:

1) you are small enough or insignificant enough that nation states are not interesting in showing you your place,

2) you are powerful enough so nation states will not mess with you, as the cost will be too much for them.

Point 1 is always temporary. Point 2 is more interesting — for now, there are no private powers that could stand the military assault of nation states, especially larger ones. But such power does exist, and we are periodically reminded about it in recent news reports.

<comment><USER23> Classical Greek civilization was the high point of the 'city-state', but the poleis could only survive if there was no strong nation-state messing around with them. They rallied together to prevent Persia moving Westwards, but simply could not get their act together to stop an old-fashioned imperial kingdom, Macedonia. And once the Romans expanded, they had no hope of regaining autonomy.

</comment></comment><comment><USER15> City states or coalitions of city-states? I doubt a single city could defend itself against nuclear powers.

The case of Liberland raises another possibility: virtual nations based on affiliation rather than physical location.

</comment><comment><USER24> Try to see, a city as a brain, with the people beeing neurons, containing potential ideas.

For a city the most interesting thing to happen, is new connections between the people, in two forms. Personal Connection (very important to realize allready existing new ideas) and contact of a person with new things/ideas.

A city could further the interpersonal conntact, by creating partys, festivals or a sort of (non-relationship) speed-dating.

But how can a city further the contact of persons with new ideas? What if the person in need of new ideas, heavily resists having contact with them?

</comment><comment><USER25> I've come to similar conclusions but not for the exact same reasons.

In my state (and it seems, most others), the cities are progressive and forward-thinking (renewable energy, climate change is not a hoax, equality, education is good, universities are generally good etc) and the rural areas are essentially the opposite, and the divide is growing under Trump. Anything progressives are for the rural areas are against almost by default.

The main thing holding cities from progressing further is that the state is so gerrymandered (or has been, they redrew the maps but will likely be similarly bad just in different ways) that the rural (conservatives) control the state government almost entirely. As a result, cities abilities to govern themselves has been reduced.

I'm not happy with the way things are going but its also difficult to see them changing. Those in progressive areas vote for more education funding, more access to higher education, better access to healthcare - all things that benefit rural areas as much or more than populated areas (cities generally having better paid, better educated and therefore more healthy people). Where I grew up (in an extremely rural area), diabetes, obesity, heart disease etc are extremely common and access to quality healthcare is lower. What needs to happen is some kind of reconciliation or at least a recognition that we have essentially matching values despite what those who would like to keep us divided might say.

The fact that wearing my NPR shirt is seen as basically the same thing in conservative areas as an Infowars shirt would be seen in liberal areas makes me question how likely any of that is.</comment>


Check out this entirely virtual map of Silicon Valley built in Figma - <AUTHOR> https://www.fastcompany.com/90494579/while-stuck-at-home-this-vc-built-a-virtual-version-of-silicon-valley <comment><USER2> this is pretty great. I like walking thru this town.</comment>


Agbogbloshie - <AUTHOR> https://en.wikipedia.org/wiki/Agbogbloshie <comment><AUTHOR> I think we should do a kickstarter project, collect some billions and build a Recycling and Incineration station right there. The Jobs and earnings could help the local community to recover.</comment>


Update on PSN Password Reset Process (now fixed) - <AUTHOR> http://blog.us.playstation.com/2011/05/18/update-on-psn-password-reset-process/ <comment><USER2> "There was no hack involved" ... "There was a URL exploit"

I suppose that if your system is vulnerable to a "URL exploit" that's not _technically_ a hack in the strictest sense of the word, but the barn door was still wide open for the possibility of their system being hacked, so I don't see how there is any meaningful difference.

<comment><USER3> There is no meaningful difference to people that understand the difference between the two. Unfortunately to the general public, a "hack/hacker" is scary whereas a "URL exploit" sounds closer to a technical bug. Semantics matter in the world of public perception despite the facts pointing out otherwise.

<comment><USER4> But, by that logic we're all using hacked systems; as surely we uses systems daily (OS X, Win, Linux) that are full of holes. Right? No.

There's _clearly_ a difference in getting hacked and closing a hole.

</comment></comment></comment><comment><USER5> Someone is /still/ thinking that trying to deny the problem is a good idea.</comment>


Cook – A Modern Build System Written in Python - <AUTHOR> https://github.com/jachris/cook <comment><USER2> What correctness guarantees are there for caching?</comment>


The web rabbit hole. - <AUTHOR> http://www.reddit.com/r/Futurology/comments/vzb87/we_are_born_as_one_person_in_one_place_and_at_one/

<comment><USER2> Followed it as far as Facebook, where I was told I needed to login to continue this interesting chain.

And thats where it lost me. No FB account, no way to continue.

The next time you do something like this, consider doing it in a way that everyone can actually participate in. Interesting idea, but fails at the end for people like me who are unable to get past a certain part.

<comment><AUTHOR> Thanks, I did realize that, but thought to leave it, as I think it makes a point.

I just added a bypass in the G+ post, however.</comment></comment>


Show HN: UCG: Configuration as a Compile Target - <AUTHOR> https://github.com/zaphar/ucg <comment><AUTHOR> This is a project I used to both scratch an itch and learn Rust with. It's similar to JSonnet, and Dhall in some ways because I didn't know about those when I started. I'm interested in what HN thinks of it.

You can read more about the motivations and how to use it here: [https://ucg.marzhillstudios.com](https://ucg.marzhillstudios.com)</comment>


Ask HN: What are the good alternatives to Google Groups? - <AUTHOR>

That is pretty much it. Any suggestions? <comment><USER2> I've been looking for one too. The Google Groups interface is really bad, Google Groups is riddled with spam and Google seems to make no effort to do anything about it.

I've looked at librelist.com, which seems OK, but they subscribe you as soon as you send an email to a list, which makes it useless, at least for me (I don't want people to get subscribed to all mail as soon as they send a single post; it also discourages cross-list postings).

One of the best options might be to host your own mailing list using something like mailman and adding a frontend with something like Nabble.

</comment><comment><USER3> I didn't try <http://librelist.com/> but I've heard good from it.

</comment><comment><USER4> Just want to second that google groups is a pain, and it's a shame that everyone seems to be using it nowadays (albeit for understandable reasons).

My pet peeve is their ignorance of traditional mailing list behaviour in terms of echo'ing back your own posts to you. Google Groups doesn't do it, every other mailing list software in existence does it. Which means users who happen to _not_ use GMail as their client (yes, they do exist) have to deal with both variants - a small but constant nuisance.

</comment><comment><USER5> Hi, This is not a new crib. Another recent complaint is here <http://news.ycombinator.com/item?id=905520>, and I responded to that asking him to try Zoho Discussions (<http://discussions.zoho.com>). Though not a mail listing software, it is fairly advanced and is capable of handling posting through emails too.

Regards

Dhan

PS: I work for Zoho and manage the Zoho Discussions product

</comment><comment><USER6> If you need a private group, we built <http://tgethr.com> to be an alternative for us to use instead of a private Google group. We have things like code formatting

[http://support.tgethr.com/faqs/how-to/how-do-i-use-code- form...](http://support.tgethr.com/faqs/how-to/how-do-i-use-code-formatting- in-my-emails)

Integration to services like bug trackers (unfuddle) and dropbox.

</comment><comment><USER7> I think Zed Shaw is working on an alternative but I don't remember the name

<comment><USER8> Librelist. I'd recommend to the OP that he/she pass on any criticism of Google Groups on to Zed. Looks like that project is ready to be the GG killer. :)

</comment></comment><comment><USER9> Mailman. <http://www.gnu.org/software/mailman/>

</comment><comment><USER10> You should give ReSubj a try: <http://resubj.com>

</comment><comment><USER11> I wish google groups had an API and then I would love it.

<comment><USER12> Does nobody remember Usenet any more?</comment></comment>


A DoS Attack Against the C# Compiler - <AUTHOR> http://mattwarren.org/2017/11/08/A-DoS-Attack-against-the-C-Compiler/ <comment><USER3> Looking at the "decompiled" version, it's clearly _cubic_ , not exponential. There are 6 type arguments to the outer instantiation of 'Class' in the field declaration; each of those arguments is itself an instantiation of 'Class' with 6 type arguments, each of which is a third level of instantiation of 'Class' with 6 type variable references, for a total of 216 (= 6^3) type variable references.

There's nothing _exponential_ going on here. Note that in the expression 6^3, the number that's varying is the 6, not the 3. If it were the other way around, _that_ would be exponential.

I realize "exponential" has come into common use meaning just "growing very fast", and it's sometimes pedantic to insist on a distinction between polynomial growth and exponential growth, but in a discussion of algorithmic time complexity, we should get it right!

<comment><USER4> The "levels" that are being changed are the number of nested `Inner`s - <USER2> decompiled example is

        Inner.Inner inner

("Level 2" in the article's terms) but the crashing one is

        Inner.Inner.Inner.Inner.Inner.Inner.Inner.Inner.Inner.Inner inner

Your calculation of the variable references is correct, but the thing the article's experiment varies is the exponent.

<comment><USER3> Ah, I see — it's cubic in the number of type parameters, but it's exponential in the depth of the type reference in the field declaration. My bad; I didn't read carefully enough.

</comment></comment></comment><comment><USER5> Related, with emphasis in original:

> Determining whether a given predicate has a set of valuations for its > variables which make it true is an NP-complete problem; actually _finding_ > the set of valuations is an NP-hard problem. Therefore, _overload resolution > in C# 3.0 is at the very least NP-hard_. There is no known polynomial-time > algorithm for any NP-complete or NP-hard problem and it is widely believed > that there is none to be found, though that conjecture has yet to be proven. > So our dream of fast lambda type analysis in C# 3.0 is almost certainly > doomed, at least as long as we have the current rules for overload > resolution.

See Lambda Expressions vs. Anonymous Methods, Part Five[0] by Eric Lippert.

[0]: [https://blogs.msdn.microsoft.com/ericlippert/2007/03/28/lamb...](https://blogs.msdn.microsoft.com/ericlippert/2007/03/28/lambda- expressions-vs-anonymous-methods-part-five/)

<comment><USER6> If the concern is regarding real-world performance and not DoS attacks, then why can't they just adopt the conflict-driven clause learning techniques of practical SAT solvers? The corresponding SAT instances are quite small, so the problems should be handled quickly by even a relatively naive CDCL implementation.

</comment></comment><comment><USER7> > So if it takes 3 mins to compile your code, allocates 2GB of memory and then > crashes, take that as a warning!!

As someone who used to spend a lot of time in C++ and LTCG I got a good laugh out of this(aside from the crashing part, ICE are always a bad thing). Our release link was ~40 minutes on each change.

Fun "bug" though.

<comment><USER8> Yeah, I guess I should've added 'So if it takes 3 mins to compile your code .. in the C# compiler'

But either way, I'm glad you enjoyed it.

> As someone who used to spend a lot of time in C++ and LTCG I got a good > laugh out of this(aside from the crashing part, ICE are always a bad thing). > Our release link was ~40 minutes on each change.

A long time ago I did some C++, so I know it can take longer, although I don't think I ever worked on something with 40 min build times!

<comment><USER7> Yeah, it was a great deep-dive.

The 40 minute link times comes from Link Time Code Generation which can reduce your binary size pretty significantly(along with some code speed-ups)[1], without LTCG linking on the project was about 1 minute.

Usually LTCG is a tool of last resort since the build times are so painful(and at the time was the only step that couldn't be parallelized). We were shipping on X360 with a hard memory limit and couldn't have a binary larger than 20mb if we wanted to hit them. If I recall correctly LTCG gave us back about 5-10mb which was a godsend in those times.

[1] [https://msdn.microsoft.com/en- us/library/bb985904.aspx](https://msdn.microsoft.com/en- us/library/bb985904.aspx)

<comment><USER9> gcc, clang, and Intel all both support this feature, calling it "Link-Time Optimization".[1,2,3] This allows them to inline virtual functions they can resolve, non-inline functions which are not visible to external units, as well as perform combinatorial optimizations by being able to "see" more of the code together at once.

In addition to binary size (which I've never worried about too much, as I mostly write code for scientific computing), it has often improved runtime significantly. The only other specific optimization besides -flto that I have had very real speedups from (not counting -O[23] or -Ofast) has been -funroll- loops. I use it on nearly every project. (And, to be honest, I haven't seen a big slowdown in compile time over just -O3, though I think a lot of my costs there are from templates.)

[1] [https://gcc.gnu.org/wiki/LinkTimeOptimization](https://gcc.gnu.org/wiki/LinkTimeOptimization) [2] [https://llvm.org/docs/LinkTimeOptimization.html](https://llvm.org/docs/LinkTimeOptimization.html) [3] [https://software.intel.com/en- us/node/522667](https://software.intel.com/en-us/node/522667)

<comment><USER7> Yup, pretty sure LTO and LTCG are pretty close these days, if not the same thing.

<comment><USER10> Confused, was there ever a difference?

<comment><USER7> LTCG is MSVC specific, given that they're different compilers I can't say if the optimizations were identical.

<comment><USER10> Oh, I thought you meant they used to be different features, not that they used to be different implementations of the same concept.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> This reminds me of the grand C++ error explosion competition : [https://tgceec.tumblr.com](https://tgceec.tumblr.com)

</comment><comment><USER12> The Don Syme article (first link) mentions "the critical nature of the interaction that app domains pose to generics". What interaction is that, and what is critical about its nature?

<comment><USER8> Hmm, that's a really good question.

I did a quick search in AppDomain.cpp [0] for 'generic' and there's quite a few comments/variables that mention it. Maybe this [1] is one of the tricky interactions?

[0]: [https://github.com/dotnet/coreclr/blob/master/src/vm/appdoma...](https://github.com/dotnet/coreclr/blob/master/src/vm/appdomain.cpp) [1]: [https://github.com/dotnet/coreclr/blob/master/src/vm/appdoma...](https://github.com/dotnet/coreclr/blob/master/src/vm/appdomain.cpp#L1288)

<comment><USER13> This is CoreCLR, much younger version of CLR that does not support multiple AppDomains In different open-sourced CLR implementation aka SSCLI20 (aka Rotor) there are similar interactions for type's domain discovery and DynamicClassTable, but there are also some interactions about GCStatics. I'm not sure if fullblown .Net CLR implementation was released yet

<comment><USER8> Yeah that's a good point, CoreCLR only has the single/main AppDomain code and Rotor was only 'sort of' .NET 2.0, but with a different GC and JIT.

So without asking Don Syme himself we can only guess.

> I'm not sure if fullblown .Net CLR implementation was released yet

No and AFAIK they don't plan to. There's 'Reference Source' [0], but that's the Base class libraries only, not the CLR itself.

[0]: referencesource.microsoft.com

<comment><USER13> I kinda guess this has something to do with System.__Canon type, which is a substitute type for open generic parameter type - there is no benefit in having different canon types per appdomain

</comment></comment></comment></comment></comment><comment><USER14> This sort of thing affects functional languages in the ML family too because type unification ("algorithm W") takes exponential time.

Here's an OCaml example: [https://cs.stackexchange.com/questions/6617/concise- example-...](https://cs.stackexchange.com/questions/6617/concise-example-of- exponential-cost-of-ml-type-inference)

And a crazy ML example: [https://gist.github.com/spacemanaki/72ed52766e0c7e0b85ef](https://gist.github.com/spacemanaki/72ed52766e0c7e0b85ef)

</comment><comment><USER15> Related to the graphs in the article:

When you want to show that something grows exponentially, plot it with a log scale on the y axis. That way, an exponential function becomes a line, and humans are much better at judging whether something is a line than judging whether something is an exponential function.

In fact, whenever you want to honestly show that something follows a certain law, scale your axes so that you get a line in the best case.

<comment><USER16> Indeed, especially considering how bad the exponential fit is for working set, it is pretty evident that it is not just growing exponentially, but faster than that.

Of course the article just had to include this bit:

> If we look at these results in graphical form, _it's very obvious what's > going on_

When it really is not obvious at all what is going on.

<comment><USER8> > Indeed, especially considering how bad the exponential fit is for working > set, it is pretty evident that it is not just growing exponentially, but > faster than that.

Yeah I suck at maths, according to this comment [https://lobste.rs/s/j4545s/dos_attack_against_c_compiler#c_n...](https://lobste.rs/s/j4545s/dos_attack_against_c_compiler#c_nd8r4z), it's actually 'double exponential'

> When it really is not obvious at all what is going on.

Yeah, I guess I actually meant to say 'it's very obvious that it's increasing quickly', but as you say, it doesn't read like that!!

<comment><USER16> I suck at maths too (we should start a club!), but playing around with Calc the best fit I could get (for working set) was with quadratic exponential, i.e. in the form of e^(n^2+n). It would be interesting if someone who actually knows anything about this could chime in and say conclusively what the growth rate really is here.

</comment></comment></comment></comment><comment><USER17> patient- Hey doc it hurts my arm when I hold it like this. doc- Well don't do that.

<comment><USER8> Yeah, that sums up the problem!

<comment><USER18> But Doctor, what if I NEED to use a nested contortion of generic classes as part of my obfuscated Java homework?

<comment><USER19> I've seen code very much like this in production c# and similar monkey patching stuff in ruby.

As humans we identify patterns far to readily and as developers we try to reduce duplication far too prematurely.

</comment></comment></comment></comment><comment><USER20> This is indeed confusing:

        class Blah<T> where T : Blah<T>

How do you actually satisfy that generic constraint? Should be illegal in my opinion.

<comment><USER21> class Foo : Blah<Foo>

<comment><USER22> And is an extremely common pattern at that.

</comment></comment></comment><comment><USER23> Java 9 compiler fails with the following error (for similar code):

Error:(4, 9) java: UTF8 representation for string "LMain$Clazz<LMain$Cl..." is too long for the constant pool

<comment><USER8> Hmm, I would've thought that this would be _easier_ for the Java compiler to handle, because it uses type erasure for generics. So in metadata, everything is just 'Object' rather than exact types, but I'm no Java expert, so I could be wrong?

<comment><USER24> Most parts are erased, the method descriptor, the bytecode but the generic signature is kept for enabling separated compilation (you can also retrieve it by reflection).

Here the generic signature which is a String is just too big, the dictionary part of the classfile, the constant pool, stores a String as an UTF8 byte array prefixed by its size on 16bits (hence the 65535 limit).

<comment><USER8> Thanks for the info on Java generics, I always assumed that it 'erased' everything. I didn't appreciate that it would actually need to keep some info around, to make things work.

</comment></comment></comment></comment><comment><USER25> I seem to recall one of Jon Skeet's abusing C# videos with something similar. He has 4 or so up on YouTube, each is an hour and totally worth it.

<comment><USER8> Yeah I've seen several 'Abusing C#' by him, but it turns out he'd not seen this particular example before, see [https://twitter.com/matthewwarren/status/928326856687915008](https://twitter.com/matthewwarren/status/928326856687915008)

</comment></comment><comment><USER26> When I think about the generics discussion in the Go community (and even though I am personally for them), this is the kind of exponential complexity that I wouldn't want to see in any implementation thereof.

<comment><USER27> I don't believe Go will ever get generics, beyond _go generate_ , Borland C++ 2.0 for MS-DOS style.</comment></comment>


Ask HN: What Unix tools are unfarily ignored, in your opinion? - <AUTHOR> So last week there was this thread about GNU Expect.
I can tell, a tool i recently discovered is GNU info and info-based documentation. Way better than manpages, more thorough, more easily browseable.
Wha tool do you think is unfairly ignored or underappreciated ? <comment><USER2> My suggestion is maybe not a _tool_ that is ignored, but vast majority of its _options_ : /bin/ps from procps (Linux-specific).

I constantly see people blindly typing `ps aux', `ps eax', or `ps -Af' and _grepping through_ the results. This is stupid. ps has so many process selection options, including command name (I regularly use -u, -C, -p, --ppid, and -t).

The other aspect is its output formatting. Again, so many fields can be chosen, fine-tuned for either ease of processing or displaying on the screen, but people tend to stick to `x' or `-f' formats for no good reason at all, relying instead on text processing after ps has done its job.

</comment><comment><USER3> I think Awk is really underappreciated these days.

It is available everywhere so no need to install or configure it, and the language is so compact you can keep most in your head and not need to .

Even though it is marketed as a language for text processing, it is very flexible. I even finished a lot of Project Euler questions with it.

<comment> a-saleh Any good resources for learning it?

I keep hearing good things about this little language.

<comment><USER2> Honestly, `man awk' (or `man gawk') is good enough not to need anything else. I learned awk this way over a decade ago.

</comment></comment></comment><comment><USER4> In the web world, make is effectively unheard of, or considered "too hard to use", and thus we end up with dozens of nodejs based build tools that constantly replace each other.

I think static site gen is probably another area where make could be quite useful.

<comment><USER5> This predates nodejs, every ecosystem has been re-implementing make, poorly. Java has ant/maven/gradle, .net has nant/msbuild/psake. Ruby and python have their own. I wrote a post recently about using make with higher level languages (TLDR- it's much more simpler and more concise than it's "successors"):

[http://flukus.github.io/2016/11/30/2016_11_30_Rediscovering-...](http://flukus.github.io/2016/11/30/2016_11_30_Rediscovering- Make/)

<comment><USER4> That is true, but I feel like it's exposed to a broader audience in the front- end dev world: you can be a backend dev in whatever language you like and you've probably worked on a project where a front end dev has introduced some ridiculously complex build system for css files.

This is literally the comment I was given by a dev who was continuing someone else's work, about how the front end assets needed to be built:

        i) install npm
        ii) install grunt globally (npm install -g grunt)
        iii) install bower globally (npm install -g bower)
        iv) install bower packages (bower install)
        v) install npm packages (npm install)
        vi) run grunt

</comment></comment></comment><comment><USER6> I'd say perl, but you could debate whether "ignored" really describes it. Something in that neighborhood (perhaps under-appreciated) does. I see people doing a lot of ugly shell pipelines and contortions with sed, awk, and bash that perl can do easier. Perl runs everywhere, usually already installed along sed/awk and friends, runs comparatively fast for a dynamic scripting language, has great documentation, and chews up and spits out the problem domain of sed, awk, and bash. It has the same command line switches on OS X, Linux, BSD, and even Windows.

</comment><comment><USER7> The post was "A Surprisingly Underappreciated Unix Automation Tool":

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

</comment><comment><USER8> Spell checkers.

</comment><comment><USER9> tac</comment>


How to use the next-gen open-sourced .Avif image format, 50% smaller than JPEG - <AUTHOR> https://reachlightspeed.com/blog/using-the-new-high-performance-avif-image-format-on-the-web-today/ <comment><USER2> Years ago I remember seeing a progressive image format that was supposed to solve the resolution issue. The loader could stop loading as soon as it figured it had enough quality. This meant that you could have a single, large image file, that could weigh a few KB when displayed as a thumbnail.

It's 2020 and its mind-boggling that this isn't a standard behavior already.

Imagine right-clicking on a thumbnail and being able to natively save a 4MB file from it.

Imagine having a single <img> that can be zoomed in all the way to 100% just like your phone's Photos app can do, without loading the whole image beforehand.

<comment><USER3> That argument ignores everything that new formats and container formats can allow for. And if the argument is to put older formats "first" then you need to download older formats first to get the features of new formats and need to figure out the order of competing modern formats (like JPEGXR vs JPEG2000 vs WEBP).

This is basically a solved problem when people use mime types properly for formats. For sizes we'd need a similar way to mime types to ask for a size, html solves this for images with srcset but I'd rather it be within the transport mechanism rather than in the markup.

Requesting an image should be requesting a image, not a specific representation of that image. The representation should be part of the content negotiation that is already a part of the protocol.

<comment><USER2> I think you completely misunderstood.

> Requesting an image should be requesting a image, not a specific > representation of that image.

This is exactly what I'm saying. The image is one, it's the browser that decides how much of it to load.

It's the current picture/srcset-based situation that is "a specific representation of that image"

> For sizes we'd need a similar way to mime types to ask for a size

Now _that_ is complicating things. Suddenly the server has to produce/return different resources based on a header. The solution I described could be delivered by any _dumb_ HTTP2 server, without preprocessing.

Technically what I'm describing is already possible with any progressive format like JPEG; The only missing part is that the browser should pause/resume the loading as it sees fit.

All I want for Christmas is:

        <img src="you.jpg" progressive>

The obvious advantage is that if the window size changes, the browser only has to fetch the missing data, not a whole new file.

</comment></comment></comment><comment><USER4> Ironically, the avif demo image they use in this write-up is larger then the failover jpg (137kb vs 110kb).

[https://reachlightspeed.com/img/blog/post-using-avif- images-...](https://reachlightspeed.com/img/blog/post-using-avif-images-today- support.avif)

[https://reachlightspeed.com/img/blog/post-using-avif- images-...](https://reachlightspeed.com/img/blog/post-using-avif-images-today- no_support.jpg)

<comment><AUTHOR> Good catch! We were moving quickly trying to get this blog post out before the standard was implemented. We've updated this and it's now a smaller file size.

<comment><USER5> But what happened?

<comment><AUTHOR> The .avif file in the example was accidentally saved as larger than the JPEG file which makes it a poor use case. We compressed the .avif file with the correct compression quantizer with avifenc to higlight the difference.

The JPEG file is 112kb and the .avif file is now 55kb.

</comment></comment></comment></comment><comment><USER6> I look forward to JPEG XL that is ever better than AVIF.

See the ImageCon slides and the summary from the top comment in [0], or watch the video there.

JPEG XL's strengths: better image quality, responsive decoding, totally royalty-free (unlike HEIF container in AVIF [1]), legacy-friendly (easy conversion from JPEG, PNG, GIF).

JPEG XL standardization should be complete by the end of 2021 [1].

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

[1] [https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_im...](https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs)

<comment><USER7> One thing that's really great about JPEGXL is that it seems to be intended for use at the high end, e.g. larger files, more bits / pixel. Most of these newer codecs are based on the intra frame of video codecs, which are all optimized to look good at the lowest possible bitrate. (And even high bitrate video is usually much lower quality than what we use for static images.) I suspect there are a lot of easy gains to be had here, and actually I wish someone would look at doing a high quality royalty free _video_ codec with the intent to target high bitrate applications. (It's noteworthy that a lot of professional applications like DCP use an image codec, JPEG2000.)

For anyone looking for some image comparisons between AV1 and JPEGXL, someone updated the classic "image format comparison" on Github and added it. [1] Important to note that all these are a little unfair to JPEGXL, because it's explicitly targeting higher bitrates than most of the quality levels you see here, and it still comes out looking pretty good at the higher bitrates.

[1] [https://afontenot.github.io/image-formats- comparison/#abando...](https://afontenot.github.io/image-formats- comparison/#abandoned-factory&webm=m&jxl=m)

<comment><USER8> AV1 comes out on top of all of the comparisons to my eye. Seems to be half a step above JPEGXL, i.e. small AV1 is almost as good as medium JPEGXL

<comment><USER7> I find JPEGXL much better at medium and large sizes for the sorts of artifacts that bother me, on most images. For example in this [1] comparison, AV1 is clearly degrained, losing the very fine detail.

Note that achieving high quality results at low bitrates is not really a goal of JPEGXL, or the codecs it's based on. For example the PIK readme contains the following note:

> It prioritizes authenticity, a faithful representation of the original, over > aesthetics achievable by by hallucinating details or 'enhancing' (e.g. > sharpening/saturating) the input.

So as I noted in the OP, it's not a very fair comparison with bitrates this low, but I think JPEGXL holds its own.

[1] [https://afontenot.github.io/image-formats- comparison/#eaglef...](https://afontenot.github.io/image-formats- comparison/#eaglefairy&webm=m&jxl=m)

</comment></comment></comment></comment><comment><USER9> It's a missed opportunity that we can't just one 1 frame AV1 files as images. Had this been anticipated we wouldn't have to push two standards and two implementations everywhere.

<comment><USER10> There are already a few formats that work just like JPEG but for modern video formats. Some of them even compress better (FLIF). They just haven't caught on at all. JPEG just has _so_ much momentum.

Those other formats weren't developed by huge corporations who can force it into browsers through pure hegemony. That's probably a factor.

<comment><USER9> I was apparently not clear enough.

The missed opportunity is that AV1 _is_ arriving everywhere and with tiny bit of foresight they could have made that include a new image standard which everyone would then have as well with essentially no additional support needed. Instead we now have to convince all browser vendors and more to support yet another image format that has no widespread adoption.

</comment></comment></comment><comment><AUTHOR> We're really excited about this image format -- for the same image quality .AVIF compresses 50% smaller than JPEG, 20% smaller than WebP and is free to use.

</comment><comment><USER11> How are the compression and decompression speeds compared to e.g. turbojpeg?

Is there a poly fill js/warm decoder for older browsers?

<comment><AUTHOR> Not sure on the compression/decompression speeds.

There is a polyfill for old browsers but our recommendation would be to use the graceful degradation of the <picture> tag which falls back to <img> if .avif or .webp is not supported.

</comment></comment><comment><USER12> How does it compare with FLIF? What use cases would it excel on/have that the other wouldn't/doesn't?

<comment><AUTHOR> FLIF seems to compress higher but to my knowledge there is no major browser support. AVIF support is scheduled for Firefox 80 and Chrome 85 by the end of this month (August 25).

<comment><USER13> Knowing nothing about the formats, why the difference in adoption?

<comment><AUTHOR> The format was co-developed by some big tech players: Netflix, Google, Microsoft, Facebook, Mozilla

Further reading: [https://www.cnet.com/news/google-mozilla-av1-photo-format- co...](https://www.cnet.com/news/google-mozilla-av1-photo-format-could-outdo- aging-jpeg/)

</comment></comment></comment></comment><comment><USER14> [https://caniuse.com/#feat=avif](https://caniuse.com/#feat=avif)

Only supported by Chrome ATM.

<comment><AUTHOR> Slated for release in Firefox 80 in less than three weeks (8/25)

<comment><USER15> And if you want to test it in current Firefox, in the about:config page, search for avif and enable it.

</comment></comment></comment><comment><USER16> We use gumlet to serve avid, webp, jog images based on what the browser supports. I recommend it.</comment>


Ask HN: Private Equity Success Stories? - <AUTHOR> Are there any great examples of private equity acquisition of and exit from a software company that ended up with the company being better or the product being better? <comment><USER2> I briefly saw a midsize public company ($3-$5 billion valuation) while it was public and then after it had been taken private by 2 PE firms. Under PE ownership, the horizon for product decisions and other investments was 1-3 years, vs. 1-6 months while public. Being public meant managing to earnings expectations, which sucked. While not perfect, I think PE ownership was better for the company and the products.

I might have a different opinion if the alternative was, say, the company being owned by the same family for 50 years.

All of this depends entirely on the PE firms. The ones involved here were savvy about software and growth (think Silver Lake).</comment>