Comcast Automatically Enabling IPv6 in San Francisco - <AUTHOR> http://blog.kylemanna.com/ipv6/2015/06/13/comcast-automatically-enabling-ipv6-in-san-francisco/ <comment> X-Istence An engineer at Comcast in this nanog video [1] claims they have 60% penetration in their own network for IPv6. Which is excellent news.

[1]: [https://www.youtube.com/watch?v=EfjdOc41g0s&app=desktop](https://www.youtube.com/watch?v=EfjdOc41g0s&app=desktop)

<comment><USER2> What are the security and privacy implications for home users when an ISP simply switches them on?

<comment><AUTHOR> The biggest that comes to mind is that with dual stack IPv6 all the people running through IPv4 anonymizing VPNs will be bypassed for sites that support IPv6. Oops.

IPv6 has some minor privacy extensions too, but likely still allow you to be geolocated.

<comment> X-Istence This is something the VPN providers need to fix, either by setting a default IPv6 route that doesn't go anywhere so happy eyeballs will follow IPv4 or by adding IPv6 to their proxies.

</comment></comment></comment></comment><comment><AUTHOR> Side note, just noticed that Comcast SF broke my /60 prefix delegation that had been working for almost 2 years[1].

Appears to be affecting DSLR[2] users too. Anyone else observe this?

[1] [https://gist.github.com/1cec3537f61aefd1d6bc](https://gist.github.com/1cec3537f61aefd1d6bc)

[2] [https://www.dslreports.com/forum/r30112054-IPv6-IPv6-prefix-...](https://www.dslreports.com/forum/r30112054-IPv6-IPv6-prefix- delegation-stuck-with-64)

<comment><USER3> Apparently, there are Comcast employees on the dslreports.com which actually helped users there. Cool.

</comment></comment><comment><USER4> Comcast has been doing this for a while, at least in SF. I first noticed, through gmail as well, that I was using ipv6 for atleast 2 years now. I think they started rollout back in 2013.

<comment><USER5> I got IPv6 from Comcast near Seattle the day after Thanksgiving, 2013. [https://www.flickr.com/photos/ryjones/11079544726/](https://www.flickr.com/photos/ryjones/11079544726/)

</comment></comment><comment><USER6> You're going to need to start testing both IPv6 and IPv4 on your servers. An nginx misconfiguration on my server gave clients a redirect loop, but only for IPv6 clients. Analytics show ~15% IPv6 penetration for the last app I made, and it was a bit embarrassing that it was broken at first. Reverse DNS on IPv6 client addresses gave me Comcast host names.

<comment><USER7> Or, which is what most places are going to do, turn of AAAA names.

<comment><USER8> If you've a correctly configured network, you can disable IPv6 without screwing with DNS. All you have to do to your IPv4-only network is... absolutely nothing.

</comment></comment></comment><comment><USER9> I've had native IPv6 in Alameda for a couple of years now. I've had literally no problems, ever, with it and haven't once disabled it or otherwise adjusted my configuration to make a service work.

</comment><comment><USER3> In Germany, Unitymedia - the largest cable ISP - did so as well. You don't even get a public IPv4 anymore unless you call them and beg, and apparently they stopped doing even that.

<comment><USER10> Do they run nat64 or something for reaching the ip4'ternet?

<comment><USER11> The standard is called Dual-Stack Light, which means you are getting a native IPv6 adress and your IPv4 traffic runs through a carrier-grade NAT. This is necessary, because the cable-providers here in Germany came to late to the Game and got to little IPv4 Chuncks. For normal users this is a good solution, when the NATing service is stable enough. (Sometimes the server is down and you are forced to IPv6 only..) But throug the carrier-grade NAT, you can not run your own services, like a teamspreak server etc.

<comment><USER12> Do they let you run services on ipv6 easily, ie unfiltered access and firewall control?

<comment><USER3> Nope, at least not for Unitymedia. There's a IPv6 firewall, but without rules - you can just switch it on or off, making it unsuitable for pretty much any service hosting - you either have to expose your entire network, or you cannot access anything at all.

For 5€/month, they will issue a better router with a full-features firewall, though.

</comment></comment></comment></comment></comment><comment><USER13> this makes me jealous... In Australia all the mobile networks are using carrier grade NAT to avoid using IPv6 ... And there's only one ISP with IPv6 and the others don't care because they already acquired enough IPv4 addresses they can probably survive another decade on IPv4

It's shit.

<comment><USER14> Just wait until they have to keep all the metadata by law...

I suspect they will after they realise you can't tie things down in CGNAT

</comment></comment><comment><USER15> Comcast enabled it everywhere as far as I know.

I'd like to use IPv6 on my servers but I need fail2ban support first.

<comment><USER16> I would recommend sshguard [1] as a fail2ban replacement. It does much of what fail2ban used to do out of the box and has supported ipv6 for a long, long time.

It is packaged in debian, ubuntu and probably other major distros these days.

[1] [http://www.sshguard.net/](http://www.sshguard.net/)

<comment><USER8> _shrug_ I would recommend deactivating password logins and using only key- based logins.

In the many, many, many months I've had my internet-facing IPv6-enabled SSH servers online, I've only received one bogus SSH connection attempt from an IPv6 address at the University of Michigan.

<comment><USER17> That will change though. I receive hundreds of IPv4 connection attempts every day, as more systems move to IPv6 so will the attacks.

Interesting though is that covering the entire IPv6 space is a much larger task. That should hold down the volume of random attempts for a while, just by dilution effect.

</comment></comment></comment></comment><comment><USER18> Unfortunately Comcast Business still has extremely limited IPv6 even in areas where Residential has IPv6

</comment><comment><USER19> Comcast customer in Maryland here. I've had IPv6 fully enabled for at least 6 months now… :)

</comment><comment><USER20> I have Comcast (Oregon), but right now I block all IPv6 at my firewall. If/when it's available here, why should I enable it? Why would I care?

This isn't a troll. I'm ignorant of the practical advantages as it has actually been deployed so far. I'd like to know how it improves my life. E.g. will I get a block of addresses, instead of just 1?

BTW, apropos of nothing, we would have never needed IPv6 if there was a charge for IPv4 addresses. Assume $1 per month. Do you think MIT would pay $16,000,000+ per month? Assume $1 per year. Do you think MIT would pay $16,000,000 per year? In either case I think the clear answer would be: NO!

<comment><USER8> Do you use uPnP? Do you do _any_ port forwarding?

If the answer to either of those questions is "Yes", then you should consider activating IPv6, if your ISP supports it.[0]

The most tight-assed ISPs give you a /64 allocation. Because most machines use something called SLAAC, this means that this /64 is enough for a single subnet. The IETF strongly recommends that ISPs hand out at least a /56, but _really_ wants to see /52s being handed out to each customer.

In San Francisco, it seems that Comcast Residential connections get handed out at most a /60\. Comcast uses DHCPv6-PD, so your DHCPv6 client needs to _ask_ for the larger allocation. On routers that support IPv6, configuring your client to do this is typically very easy.

As an aside, if you enable IPv6, please don't filter ICMP. ICMP was pretty important in IPv4, and has become absolutely _critical_ in IPv6.

[0] If you use uPnP, you're relying on firewalls on your endpoints for your security anyway -because any host can poke a hole in the NAT at any time-, so activating IPv6 doesn't substantially change your security situation.

<comment><USER21> >The IETF strongly recommends that ISPs hand out at least a /56

I never really understood that. IPv6 has 128 bit addresses, so even at /96 every single customer will have as many addresses as the entire IPv4 space. Why is /64 considered "tight-assed"?

<comment><USER22> Right now SLAAC (Stateless address autoconfiguration) needs at least a /64 to work properly, thus only giving the customer a /64 means they can't run autoconfig on more than one broadcast segment.</comment></comment></comment></comment>


Ask PG: Are there IP blocks? - <AUTHOR> I feel a little silly submitting this via Ask, but I don't see any other way to ask this.
Yesterday, I was no longer able to reach HN via my work wifi. I can ping HN and get responses, but the web server explicitly sends nothing back:

    % curl http://news.ycombinator.com
    curl: (52) Empty reply from server
 I can still see HN through other networks (I'm doing this currently through my wifi hotspot), and apparently am still active.
Has a block been placed on my work network? I have captured the work network's root IP address if it's needed. <comment><USER2> Yes, we block IPs that seem to be crawlers ignoring robots.txt. We've always blocked abusive IPs, but I tightened up the blocking a few weeks ago. A lot of people were crawling HN, most of them unnecessarily because they were doing things they could have done more efficiently through HNSearch's API.

Some users may remember that the site had gotten really slow a few weeks ago. One of the reasons it's faster now is that we cracked down on crawlers.

<comment><USER3> I think it's time I shut down <http://ihackernews.com>. It's getting impossible to keep the IP address from being blocked. Really unfortunate, because a lot of people like to use the site.

<comment><USER2> If you tell me the ip addr I can whitelist it. firstname.lastname@example.com

<comment><USER3> Wow, thanks! Email sent.

</comment></comment></comment></comment><comment><USER4> Beware of a Chrome extension called "Hacker News Sidebar", it presumably got me IP banned this week. It cross checks every page visited with HN to see if it has a thread and if so, displays the thread.

Here is the extension: [https://chrome.google.com/webstore/detail/hhedbplnihmkekhgma...](https://chrome.google.com/webstore/detail/hhedbplnihmkekhgmaoikgfbkjjaocnl)

<comment><AUTHOR> Hmmm. I think I have that extension installed, too. Out that one comes, too.

</comment></comment><comment><USER5> I got blocked two weeks ago when I was playing with creating a "realtime" view of comments so you didn't have to refresh the page. To test I had it polling one story every five seconds and I think I left it running overnight. (Sorry about that.)

Next day, no HN, so I spent the next week browsing HN on Firefox with a proxy setup through an EC2 instance. Thankfully, my IP changed or the ban is gone.

For what I was doing the HNSearch API wouldn't have helped, but if there was an API like the one at ihackernews.com that's running and live, that'd be great.

</comment><comment><USER6> I was automatically banned awhile ago, after doing something silly (checking _all_ my bookmarks for dead links). The explanation was that the server thought I was DDOSing. It was OK after a week or so. Maybe it'll work out for you too.

<comment><USER7> I was doing something even more silly and was banned for 48 hours or so.

</comment></comment><comment><USER8> Question: Is there are software which can be easily installed on apache or inside app to detect crawlers?

We use ipban but that is not what we want: we want a system which can easily detected "bad" crawler or "abusing" user and ban them for some time.

As of now, we have a simple script going thru apache logs and sending list us list of IP and their activity.

<comment><USER9> We use fail2ban (available as ubuntu package) very successfully for this. You can point it to apache log and finesse the rules by browser string, URL or whatever you want.

</comment></comment><comment><USER3> At Amazon, it's not uncommon for both ycombinator and twitter to be unreachable because of our IPs being blocked.

</comment><comment><USER10> I also get empty responses when I try to browse HN over Tor. I assume this is because my IP address looks like a spammer's. I, too, would like to know if there are IP blocks, and what (if anything) legitimate users can do to get around them.

<comment><USER2> There were some people doing some bad stuff over Tor a while ago, so we banned all the Tor exit nodes they were using. They seem to have given up so I'll try unbanning these IPs.

</comment></comment><comment><USER11> Our work got blocked as well this week, it seems. I can still browse HN via https though. I don't know if that's intentional or not. :)

Have you tried loading: <https://news.ycombinator.com/>?

<comment><USER12> That sounds more like your work added some new rules to their filter that bans some of the the content here. Using https would encrypt that content and keep the filter from scanning it. Now you just have to hope that they don't ban it by url.

<comment><USER11> No, I can assure you that's not the case, unless Comcast decided to do it. It appears to be fine now, but for this week we were getting 0 byte responses from port 80, but everything working fine over HTTPS.

</comment></comment></comment><comment><USER13> Hi,

Is there a proxy at work? I was experimenting with an HTTP proxy as part of my thesis work a few weeks ago and found similar results. I didn't end up ever solving my problem though...

</comment><comment><USER14> Isn't it likely that the admins at work blocked HN via a proxy? A few years ago my comments to HN were being mangled by a web proxy at work.

<comment><AUTHOR> I don't think there's a web proxy—but I could be wrong. Our sites themselves are sites that might be blocked by your average proxy (no, it's not gambling or porn).

I am also checking that hypothesis, but news.yc is the only site returning an empty result from my normal reading list.

Until this morning, I had a hn-related Chrome extension installed that could have been misbehaving.

</comment></comment><comment><USER15> Our primary ISP (BSNL NIB) at work is entirely blocked as well. Bharti Airtel is able to get access.

</comment><comment> tomh- I have a similar problem visiting HN from my mobile network. I get a 502 response then.</comment>


Period Pain (it's about time intervals for lots of nodes) - <AUTHOR> http://www.stdlib.net/~colmmacc/2009/09/14/period-pain/

<comment><USER2> I think a clever DNS server could help with this kind of problem. Quite efficiently, I believe.

<comment><USER3> I don't think so. The load problem he discussed was because lots and lots of Ubuntu machines choose to poll for updates at a particular time of day. This put pressure on all mirrors at once. Redistributing load from between mirrors wouldn't help with that.</comment></comment>


The first Libra (a.k.a. Facebook) blockchain explorer available (experimental) - <AUTHOR> https://browser.libra.firstdag.com/ <comment><USER2> ugh - the interface looks like 1994 web but it's nice to actually see TXs online I'd like to see more features developed soon...

<comment><AUTHOR> yeah I might add more features in the future</comment></comment>


CDN for all the other scripts (backbone.js, modernizr, etc.) - <AUTHOR> http://www.cdnjs.com/ <comment><USER2> I checked out this site the moment it got linked on Twitter, but I haven't been able to connect to it still. I asked on Twitter, and it seems quite a few people are having issues connecting to it:

<http://twitter.com/#!/search/%40KuraFire>

For a CDN, having a home page not work for so many people is a serious problem. If it just recently had its DNS changed, then it shouldn't have been announced, period. If not that, this connectivity is even more concerning.

I'm really excited about seeing dedicated JS CDNs for things like Modernizr (which I lead/run), but a CDN that has such a troublesome start will need to prove itself a couple times over before I can consider it seriously. Mainly, this kind of start doesn't inspire confidence that the people running it know every little thing there is to know about hosting and DNS. The fact that one of the three examples in this thread, linked by who appears to be the creator of the site, doesn't actually work, makes me even more concerned.

I'm all for seeing Modernizr and other JS scripts on a CDN, but the CDN should work for that, so I hope that this one gets its act together real soon. Whatever the cause, being largely unavailable for a lot of people in a lot of different countries is obviously unacceptable as a CDN resource—even if it may be only temporary.

<comment><USER3> I am also very excited to see a CDN for the smaller libraries.

The service seems to be hosted on Amazon which is great and gives me a vote of confidence in using the service. Also very cheap to pull off something like this and with community donations are very possible solution.

It's disappointing to see the propagation errors but I have personally worked with the Amazon back end and CNAME records and recall the same issues when I sent a site live. Hard to test how your site works around the globe especially when third party tools report that its working.

<comment><USER2> This is why it's always better to get some real world testing done, rather than third-party tools. Ask people of whom you know are in various locations around the world to see how fast things are (and if they're not working at all, that'll become evident right away). Get data from the grindstone through other people if you can't get it on your own (e.g. if you're a small team in only one location).

DNS is a fickle bitch, but it's also one that is the easiest to take care of before launch: just wait. (though if after 3 days it's still not working, you messed it up)

</comment></comment></comment><comment><USER4> If you aren't able to sustain the site at some point in the future, there would be major downtime and broken scripts across sites. That is the reason why people would trust google or other more trustworthy sites for hosting their main js files, or prefer to do it themselves

</comment><comment><USER5> I hate to say it, but the site isn't loading for me.

<comment><AUTHOR> If it doesn't work for you right now, you can go to: <http://188.8.131.52/~cdnjs/>

For some reason, the main site is taking ages to propagate to some DNS servers.

You're probably covered by one of the servers with an (x) here: <http://www.whatsmydns.net/#A/cdnjs.com>

This doesn't actually affect the CDN side, which hosts the scripts.

EDIT:

For example:

[http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-m...](http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone- min.js)

[http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/undersco...](http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/underscore- min.js)

[http://ajax.cdnjs.com/ajax/libs/modernizr/1.6/modernizr-1.6....](http://ajax.cdnjs.com/ajax/libs/modernizr/1.6/modernizr-1.6.min.js)

<comment><USER6> Firefox can't establish a connection to the server at www.cdnjs.com.

Regardless of the reason, doesn't inspire much confidence.

Additionally, one of your links, [http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-m...](http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone- min.js) returns an XML "Access Denied" response.

Not a great start ;/

<comment><AUTHOR> EDIT 2: This issue has now been resolved. The reason you couldn't access this file was that read permissions for the user group "Everyone" were removed on this specific file. We'll endeavor to ensure this doesn't happen in the future.

\</comment></comment></comment></comment><comment>-----

We might have to put that one down to initial technical difficulties.

Not sure why you are getting access denied for that particular resource. May have to invalidate that object from CloudFront cache locations.

EDIT: We are using Amazon CloudFront to host the scripts.

</comment><comment><USER7> cdnjs.com doesn't obey the Accept-Encoding header - it just serves everything gzipped. This is a limitation of CloudFront when backed by S3 - as of a few months ago it's possible to vary on the Accept-Encoding header through CloudFront but only if you run your own origin server rather than using S3.

The Google Ajax CDN varies on Accept-Encoding just fine.

<comment><AUTHOR> That's a limitation we have to live with for now, unfortunately. We are looking into rectifying this.

<comment><USER7> You can fix it by running an nginx somewhere that serves the files, then setting your CloudFront distribution to point to that.

... of course, then you'll need to make sure the nginx server is properly redundant.

<comment><AUTHOR> That is definitely one of our options.

We're looking into jumping ship to Rackspace once they complete their move to Akamai for Cloud Files (anticipated to be finished by the end of Q1 this year). It seems like they will support the Accept-Encoding header: <http://news.ycombinator.com/item?id=2097491>

</comment></comment></comment></comment><comment><USER8> Sizzle would be a nice addition: <http://sizzlejs.com/>

<comment><AUTHOR> Hosted and minified: <http://ajax.cdnjs.com/ajax/libs/sizzle/1.4.4/sizzle.min.js>

<comment><USER9> Could we get msutache? <https://github.com/janl/mustache.js/>

<comment><AUTHOR> Will look into it.

</comment></comment></comment></comment><comment><USER10> How is it going to be paid for?

<comment><AUTHOR> Good question. So far, we are only hosting tiny files (almost everything is well under 10kb).

Given the how cheap CloudFront works out to be for files of that size, we can support quite a lot of growth, even if we have to incur the expense personally.

We do plan to monetize it at some stage. Some ideas are premium accounts that mash all of your resources together and host them for you.

<comment><USER7> The key benefit of hosting common scripts on a single CDN is that everyone who uses a script can point to the same URL, hence dramatically increasing the chance that a page visitor will already have the file in their browser cache and won't have to fetch it at all.

For that to work, you need to be used on a bunch of large sites and hence be serving a lot of traffic - which at CloudFront's rates will quickly become expensive.

</comment></comment></comment><comment><USER11> No, this website doesn't engender trust, and that's vital for a cdn of this nature.

<comment><AUTHOR> Would you care to elaborate?

Would putting some links to our profiles on things like Twitter and LinkedIn help add credibility?

<comment><USER12> It's much more than that. When people use a CDN for their applications, they want to be 100% (or 1000% if that were possible) sure that the CDN will not be compromised. They also want to be sure that the people running the CDN do not have nefarious intentions. They also want 100% uptime. They also want the CDN to stick around as long as their web app is around.

That's why CDN's from Microsoft, Google, and the official jQuery CDN's are trusted (and will inevitably be trusted) more than this one.

As awesome as this is, I'd quite honestly rather host my JS myself than use it. Once Google adds more libraries, I may use their CDN.

EDIT: I don't mean to come off too harsh, but a lot of people don't use CDN's altogether because of the potential for downtime. Combine that with a not- globally-recognized brand and it may not work too well.

<comment><AUTHOR> Great point.

Trust has to be earned. The goal of this website is to decrease the barrier of entry for people wanting to try out some cool new libraries and/or jQuery plugins on their site, so we aren't really targeting the upper end of the market.

Having said that, we have been using this for all of our personal and business endeavors, so it will be around for the foreseeable future.</comment></comment></comment></comment>


SpaceX Has Pinpointed the Problem That Caused the Falcon9 to Crash Land - <AUTHOR> http://www.businessinsider.com/spacex-problem-falcon9-crash-landing-2015-1 <comment><USER2> If running out of stored hydraulic pressure is the only problem they had, that's good. That's easy to fix, although it means some weight penalty.

What SpaceX did was a low-cost test. They were paid for a shipment to the ISS, which was successful. The test of the booster recovery system didn't cost them a launch. They didn't expend a booster just for this.

<comment><USER3> Indeed. They attempted to recycle a garbage rocket after it had been used already.

This crash into the ocean thing. That happens on literally _every single other rocket launch in history_ , it's not abnormal, it's just not usually filmed or even thought about much.

<comment><USER4> which makes me curious, how many boosters are crashed into the ocean and what are the rules regarding them? From toxins to salvage. I know we have dumped far worse into the ocean, its littered with munitions for instance.

<comment><USER5> First stage rockets likely break into pieces upon hitting the water and sink to the ocean floor. Higher stages burn up in the atmosphere.

Debris from a successful launch are usually not worth worrying about. Failed launches, on the other hand, could contain unburned propellants, hypergolic fuels, radioactive or toxic payloads, and may come down as a blazing fireball on top of something that otherwise would have expected no more than a speck of metal oxides.

<comment><USER6> > and may come down as a blazing fireball on top of something that otherwise > would have expected no more than a speck of metal oxides.

Not if range safety is doing their job.

<comment><USER5> I recall seeing a video of a solid rocket booster that destroyed several cars in a parking lot with flaming chunks of partially burned propellant.

Range safety cannot reasonably be expected to protect everywhere that a rocket could possibly reach. In the worst case scenario, it must intentionally destroy the vehicle if it may stray outside the protected area such that the debris remain within it.

If you work on a launch complex, make sure you have good insurance.

</comment></comment></comment></comment></comment></comment><comment><USER7> The news on a radio station in my area commented on this, saying something like:

"...just like you recycle your milk bottles, cardboard etc. a company has tried to /recycle/ a rocket and it blew up...haha"

It made me sad since I knew it was SpaceEx, understood the complexity of what they're attempting and they reduced it to comparing it to throwing an empty beer bottle in a bucket.

I am relieved to see that SpaceEx is viewing it largely as a success/excellent learning experience; in my opinion they are by far the most exciting thing in science/technology at the moment.

<comment><USER3> One of the annoying aspects of coverage of SpaceX's attempts, although fortunately it's fairly rare, is the desire to make fun of "eggheads" when they "fail" because it makes people feel superior.

Nevertheless, this work is one of the most important things going on in human civilization right now. That may seem like a bit of hyperbole, but go back and look at things like the invention of the transistor or the internet. Nobody perceived fully how impactful either of those things would be though they've transformed the lives of billions and spawned trillions of dollars in economic activity. If reusing rockets becomes feasible, and there's every reason to believe it will be, then it will lower the costs of spaceflight by one to two orders of magnitude right off the bat. And that will vastly accelerate our investment, colonization, and exploration of space and kickstart a positive feedback loop of growth in activities in space (from infrastructure like GPS and commsats to human presence) spurring investment in improving space and launch systems which then increases activity levels (due to increasing capabilities and lower costs) which then spurs improvements, and so on. Ultimately culminating in mankind becoming not just a multi-planet species but a space faring civilization no longer confined to either the Earth or even this Solar System. And all of that will have grown from the tiny kernel of spaceflight activities in the present, with SpaceX's activities being particularly relevant for that future.

</comment></comment><comment><USER8> crashed photos were released on twitter here [https://twitter.com/elonmusk/status/555981841476227072](https://twitter.com/elonmusk/status/555981841476227072)

<comment><USER9> Gif: [http://img.gfx.no/1477/1477615/spacex2.gif](http://img.gfx.no/1477/1477615/spacex2.gif) (source, norwegian article: [http://www.tek.no/artikler/se-spacex-raketten- kraesjlande-pa...](http://www.tek.no/artikler/se-spacex-raketten-kraesjlande- pa-dronelekteren/166947))

<comment><USER10> Which they lifted out of a reddit thread;

[http://www.reddit.com/r/spacex/comments/2sm3q7/anglecorrecte...](http://www.reddit.com/r/spacex/comments/2sm3q7/anglecorrected_gif_for_barge_crashlanding/)

</comment></comment></comment><comment><USER11> >Although the rocket's landing did not go according to plan, the other half of the launch mission was a success.

Describing the first stage landing as "half" the mission is disingenuous. The mission was the ISS resupply, and even if the first stage landed properly if the resupply failed it would have meant a 100% mission failure.

<comment><USER12> So you're complaining that they're being disingenuous by describing their mission as a partial success instead of a complete success? Really?

<comment><USER13> I disliked that element of the reporting too. Your use of "they" is funny, too --SpaceX and NASA would say that CRS-5 was a complete success from the point of view of the mission.

The reporter's not being disingenuous, she's just...not using words correctly. The mission was to keep the ISS astronauts supplied and alive. The mission succeeded. The tests around rocket reuse were not part of the mission.

<comment><USER14> True, but one is transformative and the other is more mundane. The issue is that to make progress in rocketry (the mission) you have to get other people to pay for it (making it ostensibly their mission).

Not to knock the ISS in any way, it's just that any of the big players could have done this resupply run afaik.

<comment><USER15> SpaceX also does them cheaper and with a higher max cargo due to Dragon being a more advanced vehicle than most, it can also return significant cargo from the ISS.

So no, the other big players currently aren't on the same level as SpaceX when it comes to ISS missions.

<comment><USER11> The Dragon capsule is a bit less capable than one would like in that it can't actually dock. That's what makes the Soyuz necessary and NASA's whatever- they're-calling-it-this-week capsule necessary.

Technically the Dragon is "berthing", in that the space station's arm is what's actually bringing the two craft together, and any failure in that arm would render Dragon unable to connect or disconnect from the station.

</comment></comment></comment></comment></comment></comment><comment><USER16> Hydraulic systems are usually closed, can anyone explain why hydraulic fluid is expendable in this case?

<comment><USER17> From one of his tweets:

> Hydraulics are usually closed, but that adds mass vs short acting open > systems. F9 fins only work for 4 mins. We were ~10% off.

[https://twitter.com/elonmusk/status/554023312033341440](https://twitter.com/elonmusk/status/554023312033341440)

<comment><USER18> Is there a chance someone could explain this - how does not being able to move the fins (with hydraulics) translate into a hard landing - were they just _off_ the target landing spot because the fins couldn't be used to fine-tune the descent to within a meter of the target landing zone, and thus they 'missed' the barge by a few meters, or is something else at play?

EDIT: never mind - I've learned that they have a steering function, as well as drag inducing function, and they ran out of hydraulic fluid required to induce more drag, which would thus slow the rocket down. Leaving my comment here in case anyone else is curious.

<comment><USER19> People on /r/spacex have theorized (with the aid of comments from Musk) that running out of hydraulic fluid caused the grid fins to get stuck in an extreme position, which forced the rocket off course. Cold gas thrusters and gimbaling of the engine tried to correct this, but the end result was that the rocket had insufficient control authority to achieve a controlled landing.

<comment><USER20> How is the rocket going to achieve a controlled landing with no thrust? It seems to me that it would crash into the pad anyway. Or was it that they did have thrust, they were just unable to steer because of the lost pressure?

<comment><USER18> Yes I think you've got it right - they had thrust from the rocket motors, but they ran out of hydraulic fluid required to use the fans to induce more drag, so the rocket came down hard.

</comment></comment></comment></comment></comment></comment><comment><USER21> They just posted a video on vine:

[http://vine.co/v/OjqeYWWpVWK](http://vine.co/v/OjqeYWWpVWK)

</comment><comment><USER22> >Most of the rocket was left behind, but some of the debris was recovered and returned along with the ship

I don't get how this is ok. Why is it acceptable to leave thousands of pounds of scrap and chemicals in the ocean?

<comment><USER23> You mean like in most every other launch? If this works that will end, I'll cut them a little slack.

</comment></comment><comment><USER24> I still don't understand. Those waffle irons are not needed at low speed. They did grasshopper landing without them right? Or perhaps they interfere if they are present and not working correctly? Either way, why did the rocket hit "hard" as Elon said? Rocket velocity shouldn't have anything to do with the waffles right?

I've been thinking someone forgot to include the height of the GPS in some code somewhere, and this whole hydraulic issue while true, is a handy way to not publicly disclose a simple mistake. Don't wanna look like the mars probe that crashed due to unit conversion issues...

So really, how does the hydralic issue affect the impact velocity?

<comment><USER25> First, "hard" landing doesn't necessarily mean "high speed". It's a generic term for unsuccessful landing. It could be incorrect attitude landing (e.g. tilted) or anything else. In this case it looks like it was exactly that: landed tilted or with significant horizontal speed. If it was high vertical speed, we would've seen big scrapes on the platform's surface, and there's none.

Contrary to popular belief, the fins are _extremely_ effective even at low speeds. First, they have enormous surface area. Secondly, they have huge momentum around the center of mass, which is at the very bottom of the rocket when it's empty. So, even a small force generated by the fins generates huge momentum and can help position the rocket in the desired attitude.

It looks like the control system was commanding the fins to move and was expecting the attitude to change, but they didn't move anymore. Perhaps at the very end of the flight the gimbals on the engine didn't have enough authority to orient the rocket vertically and/or arrest its horizontal speed.

I think it's amazing achievement for the very first attempt. Congrats SpaceX and I'm jealous like hell for what you've been able to achieve.

<comment><USER6> > I think it's amazing achievement for the very first attempt.

People don't understand this enough. They took the stage of a rocket _from supersonic speeds to a tiny barge in the ocean_. Even though they didn't complete the objective, they were successful in showing that the theory holds up.

<comment><AUTHOR> On top of what you've said I don't think enough people get the scale of this task. This is decelerating, balancing, and maneuvering a 14 story tall object, from supersonic speed at the edge of space, onto a tiny barge in the ocean. It's mind boggling when you look at the scope of what they are pulling off.

<comment><USER26> Like dropping a drinking straw off the top of the empire state building and having it land in a glass of soda on the sidewalk a block away.

<comment><USER20> Except there's no glass, it just lands vertically on a coaster on the sidewalk.

</comment></comment></comment></comment></comment></comment><comment><USER27> Elon Musk has published a few photos of the almost-landing on Twitter. See:

[https://twitter.com/elonmusk/status/555978267165859840](https://twitter.com/elonmusk/status/555978267165859840)

and following.

<comment><AUTHOR> "full RUD (rapid unscheduled disassembly)" Love the term.

Edit: apparently comes from KSP.

</comment></comment><comment><USER28> When they recover their first 1st-stage, I'm curious what they will do with it. Use it on a self-funded test launch, or use it on a customer's launch, or just leave it there and look at it?

<comment><USER29> Probably each of those in some order. The first few recoveries will just be for taking apart and analysing, but at some point they'll be launching them; I believe they're already asking around for a customer willing to launch something (at a heavy discount) on a second-hand rocket, but I wouldn't be surprised if the very first reuse launch was self-funded.

</comment></comment><comment><USER30> >> The tank filled with hydraulic fluid that powered the fins enabling them to rotate and steer, ran out of fluid before landing.

Nit, but this is the most difficult sentence I've had to parse all year.

<comment><USER31> Bad news for me. I usually write like this:

The tank filled with hydraulic fluid, powering the fins and enabling them to rotate and steer, ran out of fluid before landing.

Hopefully the above reads more clearly. It is how I parsed it on first read.

<comment><USER32> Not everything needs to be a single sentence. "The tank of hydraulic fluid ran out before landing. This tank powered the fins that steer the rocket. Therefore the rocket could no longer be steered."

Or there's the ablative: "The tank of hydraulic fluid having been emptied, the fins could no longer steer the rocket."

</comment></comment></comment><comment><USER33> Great news (and a well-written article with plenty of relevant photos).

</comment><comment><USER27> Not really new news; all this stuff has been known for days. But not a bad summary if you haven't been watching closely.

</comment><comment><USER34> SpaceX <3</comment>


Ask HN: Can hunger release a psychotic experience? - <AUTHOR> I wonder if there has been any studies or scientific work related to the mood swings or mental state which hunger can lead to? <comment><USER2> personal experience.

intermittent fasting has indeed put me in more relaxed, calculating, and calm states. it's like your body forces you to think about every action you take so you don't waste the little energy you have.

but that was then. my body has since adjusted to them and now i have to fast longer to reach these mental states.

difficult because i now have hobbies (playing instruments) that prevent me from doing so.</comment>


Leonardo da Vinci's tree rule may be explained by wind - <AUTHOR> https://phys.org/news/2012-01-leonardo-da-vinci-tree.html <comment><USER2> Also pertinent to wind resistance is whether or not the tree is deciduous, the shape of the leaves' margin, the texture of bark and how they interact as a group in forests.

Another aspect that explains why the vascular explanation is not enough is the resistance of the trunk in supporting the wood's weight. Also important here is the roots' structure.

When I imagine a situation where wind resistance is fundamental, I think of palm trees being subject to seasonal tropical storms, and these look nothing like the diagram in the article.

Underwater, where vascularization and weight are not as important to many branching structures like corals or algae, there is still the problem of resistance against a moving fluid. But the branching/girth/length/angle rules seem to be different.

So I'm still with team "branching optimized for sun/air exposure and constrained by vascularization, weight and root structure".

<comment><USER3> Just a note - palm trees are part of the grass family, and have more in common with bamboo and turf grass than they do with trees. It doesn't surprise me that they would be different.

<comment><USER2> Exactly. And here is the point: what exactly does 'tree' mean here?

Palm trees, bamboo, corn, reeds and such are all of them quite different from the schema presented in the article. This schema seems to be some specific subset of large Eudicots, like magnolias, oaks, shrubs and such, or at any rate some paraphyletic family of plants.

In taxonomical terms, Pinophyta are even more distant from the aforementioned plants, all of them Magnoliophyta. Pine trees, cypresses and other Pinophyta branch as well, but their branching does not fit the schema in the article.

Why wasn't the hypothesis tested against the Pinophytae' specific (and quite common) kind of branching? Is surrounding fluid resistance only important for that arbitrary set of plants?

If fluid resistance, ubiquitous in plant evolution, were of such an importance in explaining a difference between what is predicted by the vascular hypothesis and what is actually observed in branching trees, the same could be said for _all trees that branch_ , and this theory should be able to do some predictions for other branching (and non-branching) plants.

This hypothesis should have been tested for other structures right from the start, and not just for an idealized form of unwarranted generality.

But don't get me wrong: I think that it's very good to have aerospace engineers putting forth this idea, and this article adds to our understanding of tree growth and evolution. I just find it incomplete.

<comment><USER4> Most plants would be protected by trees, so trees kinda ... stand out.

</comment></comment></comment></comment><comment><USER5> > the combined cross-sectional areas of a tree's daughter branches are equal > to the cross-sectional area of the mother branch.

Seems so logical, for a flow in the daughter pipes to match the mother pipe... except that the wood of a tree is dead, and the flow happens in the bark... leading to a sum-rule for circumference, proportional to radii and diameter.

However, the point of a tree is structural, to get higher than other trees, higher than herbivores. Is the strength of wood proportional to cross- sectional area (required to resist gravity - the essential problem of height)? If so, that would explain the rule. Similar reasoning to wind in the article.

EDIT it also means the weight per height remains constant through branching... this doesn't seem sustainable; you'd want it to taper.

<comment><USER6> I like your train of thought. You absolutely want the right amount of taper.

Regarding wood strength being proportional to area: it can't be as simple as that - wood is a strongly anisotropic material, so direction of loading becomes critical to understanding what's going on.

Natural trees have defects, and they "know" it. Limb attachment is messy business - in many species they are frequently defective. Doesn't reduce well to modeling actual limbs as simple beams or whatnot.

Starting to understand thigmomorphogenesis and how trees deal with it in terms of load shedding, compartmentalization, and reaction wood growth was one of my favorite "ahhh ha" moments.

</comment></comment><comment><USER7> It occurs to me this could be a metaphor for code complexity at various levels of abstraction. I'm picturing a recursive method that:

\- calculates LOC of a top-level method \- calculates lines of code for each method called within that \- builds an hourglass visualization showing as you go up or down the abstraction layers how the LOC changes

It seems like this might be useful for seeing \- where in the abstraction layers there are major changes in density of functions \- where there is over- abstraction (many, many tiny functions) \- where there is not enough abstraction (a bulge in LOC, or overall large numbers)

Combining this with cyclomatic complexity may provide a more nuanced view for code analysis. It would allow you to quickly hone in on parts of the code-base that have too much density.

</comment><comment><USER8> It's surprising for me that this is new idea. Wind is the main thing trees oppose (besides gravity and each other). It should be first idea that this is the thing that shapes them.

This might be one of the cases when weird experimental "law" drives people away from the actual cause.

I always felt the same way about Kepler's laws. While they are true, you can't find in them any trace of actual reason why things are the way they are (conservation of energy and angular momentum in gravity field).

<comment><USER9> > While they are true, you can't find in them any trace of actual reason why > things are the way they are (conservation of energy and angular momentum in > gravity field).

Your so-called "causes" seem just to be more general "experimental laws". Does conservation of energy really make you feel like you understand the reason why things are the way they are?

<comment><USER10> If I told you that your car was propelled by an engine that ran on gasoline, would you feel any closer to understanding it?

<comment><USER4> No, because that's profoundly misleading. The car is propelled by the wheels. Those may be moved by a motor directly or indirectly, but the car is not moved forward by the explosion of gas directly, there needs to be a transformation of the energy into circular motion. There are many many different types of motor, so the specifics may be detailed. But for a naive explanation, you could just say "fire".

I wonder how difficult it is to build wooden axis and hinges that overcome the force of friction in old carts.

</comment></comment></comment></comment><comment><USER11> Why should this have anything to do with wind. It would seem to me that he conservation of cross sectional area is because all the capillaries need to go from root to leaf.

If the area above a branching point was more than below then how would those capillaries going up to the leaves be fed?

If the area above a branching point were less than blow then how would the capillaries going down to the roots be fed?

Remember the roots fees the leaves and the leaves feed the roots. So it needs to be a balanced system.

<comment><USER12> From the article

 _Although researchers have previously proposed explanations for the rule based on hydraulics or structure, none of these explanations have been fully convincing. For instance, the hydraulic explanation called the "pipe model" proposes that the branching proportions have to do with the way that vascular vessels connect the tree's roots to its leaves to provide water and nutrients. But since vascular vessels account for as little as 5% of the branch cross section (for large trunks in some tree species), it seems unlikely that they would govern the tree's entire architecture._

</comment></comment><comment><USER13> Amazing that someone 500 years ago was both interested in and had the analytical skills to propose a rule we are still trying to understand today.

<comment><USER14> .. and that "Someone" was nearly always the same guy: Leonardo da Vinci. He must have been maybe the most curious man ever.

<comment><USER15> A few notes:

* 500 years ago there hadn't been intensive centuries-long studies of many of these phenomena, so if you wanted to know something about it the only way was to do independent investigation.

* Even for subjects which had been studied, books were rare/expensive, poorly indexed, often contained a mishmash of disorganized material, hard to track down, and often flagrantly wrong but remaining uncorrected for centuries.

* Leonardo was notoriously bad at sticking with any project, from his childhood on, easily abandoning his work and jumping to another topic, including leaving many of his paid projects unfinished. Probably serious ADHD.

* There have been many intensely curious polymaths, but in many cases they didn't take proper notes, the notes were lost/destroyed, the notes are buried in an archive somewhere where nobody reads about them, ...

</comment></comment></comment><comment><USER16> Is there variation in areas where the winds are low compared to where they are high?

<comment><USER17> Monterrey pine grown in it's natural costal habitat is gnarly and unsuitable for lumber. The same tree grown on plantations outside the US produces straight grained "radiata" pine lumber.

<comment><USER16> Am I correct in assuming that the natural coastal habitat is windier than the plantations?

</comment></comment></comment><comment><USER6> I find the article and paper somewhat frustrating.

It doesn't say anything new about da Vinci, and it sure doesn't seem to add anything which isn't already an accepted idea in biomechanics. The article revives vascular constraints as a strawman before beating it down again, as if it's still a theory of limb structure thats taken seriously.

My takeaway: da Vinci's rule is easily explained by modern foundational biomechanics.

<comment><USER18> What's the beat-down?

</comment></comment><comment><USER19> If you'd imagine the growth somewhat like a material paste, if the material flow is constant and if the branches grow with equal length, then da Vincis rule follows, no matter the individual branch girth. I suspect da Vinci wasn't observing this as much as arriving how it ought to be.

</comment><comment><USER20> Gravity and wind. Wind alone doesn't explain it.

</comment><comment><USER21> I would have just assumed 'divide by two' was the most likely genetic accident to fall into place and it worked fine.

</comment><comment><USER18> I thought this had been explained by how this setup maximizes the efficiency of the respiratory system.

This was discussed in a great book I read called Scale:

[https://www.amazon.com/Scale-Universal-Growth-Organisms- Comp...](https://www.amazon.com/Scale-Universal-Growth-Organisms- Companies/dp/014311090X)

the human vascular system follows the same rule iirc.

</comment><comment><USER22> Shouldn't that be in reverse? I'm pretty sure Wind came before da Vinci

</comment><comment><USER23> That website almost freezes Firefox for me after a couple of seconds.

And I cannot do a JavaScript profile as it just locks everything...

<comment><USER24> I experience the same on FF 62.0.3 MacOS. Running uBlock and uMatrix and some other add-ons so I think there might be some less then stellar first party js to blame.

<comment><USER23> Also using those. Weird!</comment></comment></comment>


Why India Went to Mars - <AUTHOR> http://www.newyorker.com/business/currency/india-really-went-mars

<comment><AUTHOR> "An American company called Interorbital Systems will even chuck into orbit personal satellites the size of biscuit tins for eight thousand dollars a pop; it accepts PayPal"</comment>


Judge: U.S Copyright Group can subpoena ISPs for identities of 23k file sharers  - <AUTHOR> http://www.pcmag.com/article2/0,2817,2385152,00.asp

<comment><USER2> Considering how many IP addresses they are getting, how many of those will end up being attributed to the wrong person?

I don't know __anyone __who has a local network at home that hasn't been shared with visitors. WEP can be cracked and unknown people can be using the network.

Children are often unaware of the consequences of their actions; are these punishments justified for their parents?

The false-positive rate is probably more than 5%. I wonder how many lives will be unjustly ruined as a result of this.

<comment><USER3> > Considering how many IP addresses they are getting, how many of those will > end up being attributed to the wrong person?

If there are any smart lawyers representing those people, they will ask the subpoenaed ISPs how many requests for identification the ISP was not able to match to a subscriber. That right there will give you some idea of the data quality. I mean, suppose the ISP was only able to identify the subscriber for 15 out of 20 IPs. In this hypothetical example, you would have it on record that this identification method was wrong _at least_ 25% of the time.

That puts you in a much stronger position to argue with their experts who say that their proprietary technology (that they refuse to show anyone) is wonderful and perfect and that you're just speculating about what might or might not have gone wrong. That said, it's a double-edged sword: if their tech is good, things could go the other way. I've heard stories where there were tons of misidentifications and others where there were few, so I don't know any good way to tell.

I'm surprised none of the ISPs are complaining. They generally can't handle tens of thousands of requests. And this sort of thing will eventually have to go to a higher court. Different courts have split over whether copyright holders can do this sort of thing.

<comment><USER4> Time Warner is complaining that they don't have the manpower to handle the subpoenas: [http://arstechnica.com/tech-policy/news/2010/05/time- warner-...](http://arstechnica.com/tech-policy/news/2010/05/time-warner-cable- tries-to-put-brakes-on-massive-piracy-case.ars) I don't know why they don't just staff up and bill the lawyers, but they don't.

<comment><USER5> don't forget even if they a subscriber, you can play the IP address is not a good identifier for a person[1]

[1] [http://arstechnica.com/tech-policy/news/2011/05/after- botche...](http://arstechnica.com/tech-policy/news/2011/05/after-botched- child-porn-raid-judge-sees-the-light-on-ip-addresses.ars)

</comment></comment></comment></comment><comment><USER6>
      > More than 140,000 BitTorrent downloaders face lawsuits
      > across the U.S., according to *Wired*.

It would be nice to have a list of all 140k IP addresses.

<comment><USER7> I think this is the list of IP addresses your talking about:

[http://www.wired.com/images_blogs/threatlevel/2011/05/expend...](http://www.wired.com/images_blogs/threatlevel/2011/05/expendibleipaddresses.pdf)

<comment><USER6> It appears that that list is only for people who have downloaded _The Expendables_. The article gave the number of people being sued for that movie, and it was much smaller than the total. It is the total list of all IP addresses for which a suit is in the offing which I was referring to.

</comment></comment></comment><comment><USER8> The non-PC-Mag-regurgitated original: [http://www.wired.com/threatlevel/2011/05/biggest- bittorrent-...](http://www.wired.com/threatlevel/2011/05/biggest-bittorrent- case/)

</comment><comment><USER9> Doesn't this case contradict the earlier ruling[1] that said companies can't go after ip addresses?

[1][http://sixestate.com/judge-rules-ip-addresses-are-not- people...](http://sixestate.com/judge-rules-ip-addresses-are-not-people/)</comment>


Forget Virality, Selling Enterprise Software Is Still Old School - <AUTHOR> http://techcrunch.com/2013/01/26/forget-virality-selling-enterprise-software-is-still-old-school/ <comment><USER3> Although I agree with a lot of the advice in the article, there's a "new school" of enterprise too, and ideas like virality from the consumer world often apply to the new enterprise.

"Old school" enterprise sales meant hiring an army of field salespeople. It meant on-site visits, and pitching directly to the CIO, CFO, CMO, hiring sales engineers to build pilots, negotiate with procurement for months, etc. And all that meant the cost of a sale was high -- often $50,000+ -- which meant that your contracts had better be in the six-figures if you want to be profitable.

That's now how most B2B companies work in 2013. Look at Stripe, Yammer, Parse, Github, or Twilio -- you can sign up directly on their web site, often get started for free or cheap enough that you don't trigger purchase approval. Most of the customers for those companies come in through inbound channels, like blog posts, ads, partnerships, or referrals. And to the extent that they have sales, it's inside sales, primarily working to convert existing, happy users of the product to paying customers.

Chris Dixon has a great related blog post on this: [http://cdixon.org/2012/09/24/the-rise-of-enterprise- marketin...](http://cdixon.org/2012/09/24/the-rise-of-enterprise-marketing/)

<comment><USER4> Typically models like that are a way to get small groups using the software which then functions as lead generation for an enterprise salesforce.

<comment><USER5> I agree with this, Twilio has enterprise sales for this exact reason.

</comment></comment></comment><comment><USER6> Enterprise (Or b2b with tech customers) is really fun. My take on the sales process: you don't want a sales guy talking with the customer, you want a core engineer for your product or service spending time collecting exciting challenges / needs from your possible customers. Its fun to see all the variation in seemingly simple problems that get quite complex at scale in large businesses.

That said, my experience thus far can be summarized as this: "if you can make a product or service that derisks a company innovating within its business, they will want to buy your product"

Or said differently, as long as the value gained > your price, and resulting risk is less than any alternative, someone will write a check the moment you can validate this value prop for them. (Of course, if they can't pay they won't, but then they aren't a possible customer).

This seems like a much more fun way to bootstrap a real business than some b2c thing, and its what I'm doing with my efforts at wellposed. Or at least that's my short form thoughts on this matter.

</comment><comment><USER7> I agree with the article and I'd like to challenge pg's view that hackers should let others (arguably non-hackers) start enterprise startups.

I agree with the article because while it is true that startups addressing "localized" enterprise-problems can go to market in a super effective new way (e.g., salesforce, box, etc), there are still a huge set of problems that require enterprise-wide/complex adoptions (e.g., infrastructure, analytics) and therefore cannot be purchased by individuals-workers with their credit cards over the internet.

In those cases, a lot of people need to agree on how to proceed, budgets assigned/etc etc - that can take forever and you need to hand-hold the process - thus - you need "sales people"

So the traditional view is those type of startups are 'sales' startups - <USER2> the main deciding factor of success is being good at sales (that is roughly pg's view)

I disagree with that point of view - because many things have change in the past few years - nowadays with a small team you can adress niche enterprise- wide problems, by leveraging AWS, tons of open source libraries and so on. At the same time, large companies are more into trying niche solutions to their needs even if they come from tiny companies.

That is our story at Kormox - we are a super small team of hackers who are targeting a huge market, but started focusing first on a specific vertical (in our case, targeting our offering first to Management Consulting Firms).

It is still true that you need to be very patient and iterations last WAY longer (ie - you don't know if what you are building is not something people want up until WAY longer than in a non-enterprise startup, because the cycles for customers to use something are super long).

On the flip side, you can find adventurous customers that can virtually fund you.

The good news is you don't have to raise $967876876M to start as it used to be the case to "build the product" - I think nowadays a bunch of energized hackers can build the product in a relatively short period of time.

No questions though you'll need someone that is willing to wear suits (or at least kakis) and go talk to hundreds of middle-managers across a bunch or large companies. But I don't see why is that a problem (especially when compared to all the sort of "boring" things people do for growth hacking in a non-enterprise startup).

</comment><comment><USER8> The thing I like about enterprise software and selling to enterprises is that you can build big, sticky revenue flows. You're usually dealing with pretty meaty technical and organizational problems, which can be fun. And in the right circumstances, the customers will fund or subsidize your development efforts, which can make your investment go farther.

The tradeoff is it's less sexy. Sales cycles are long. The tools you build need to be robust.

</comment><comment><USER9> pg addresses this in <http://www.paulgraham.com/start.html>

_Start by writing software for smaller companies, because it's easier to sell to them. It's worth so much to sell stuff to big companies that the people selling them the crap they currently use spend a lot of time and money to do it. And while you can outhack Oracle with one frontal lobe tied behind your back, you can't outsell an Oracle salesman. So if you want to win through better technology, aim at smaller customers. [...] Corollary: Avoid starting a startup to sell things to the biggest company of all, the government. Yes, there are lots of opportunities to sell them technology. But let someone else start those startups._

On the other hand I see a lot of potential in selling cheap, lightweight, cloud-hosted, but effective "small business IT" applications on a subscription basis to help enable the little guys to compete with big business on a more level playing field. You're running a small business and you can't afford to shell out millions on an Oracle or SAP system? Maybe you can't afford to hire a full-time developer or even a consultant to build you an application? Who cares, when there's a just-as-good application that you can access online for less than $100/month?

The key to this would be understanding the use cases particular to whatever industry you are selling to. You might have to have industry-specific modules within a larger application framework.

Then there's always the potential challenge of ETL-ing the data from whatever legacy system the small business might be currently using in order to make it available inside your application, but that's much more of a consulting job than a product marketing job. That's got to be one of the the most expensive aspects of selling enterprise software in the first place.

And of course, assuring the customer about security, privacy, and IP protection of their data would also be of paramount importance, if it's going to be cloud-based.

<comment><USER10> That's more or less what LexBlog is for Lawyers: <http://www.lexblog.com/>

It's a simple, cheap publishing platform for lawyers that takes the difficulty out of setting up/running a website, and it just works.

</comment></comment><comment><USER11> We should agree on definition of terms, what actually is enterprise? Not all B2B is enterprise, so we should draw a line somewhere. There's a lot of SME B2B solutions where the sales and marketing process is quite similar to B2C. Should we say enterprise is when you start doing direct sales?

<comment><USER12> I'd suggest "enterprise" means "everywhere the classic top-down enterprise sales strategy works", which generally means "companies over 1000 employees". At Expensify, we define the market as:

1 - Individual, prosumer, contractor, solopreneur, etc. 2-10 - "Very small business" 11-100 - "Small business" 101-1000 - "Midsize business" 1001+ - "Enterprise"

But you're very right to ask -- different industries segment the market differently. We focus on employee headcount because we sell seats; companies who sell big contracts not tied to seats typically segment the market by revenue.</comment></comment>


Py3k(python3) more than one year on - 0.96 % packages supporting py3k. - <AUTHOR> http://renesd.blogspot.com/2009/09/py3kpython3-more-than-one-year-on-096.html

<comment><USER2> It's often said that Java has been held back (feature-wise) by Sun's obsession with downward compatibility. This article indicates that it may be preferable to the alternative...

What's the point of new features when hardly anyone uses them because not only their own code but also most of the important libraries don't support the new version?

<comment><USER3> I don't think backwards compatibility is the problem. The problem with Py3k is that it does not offer any vital features, it requires a lot work to port to Py3k (to top that off Py3k is slower than Python 2.x).

The only way I can see Py3k successful is if there are clear advantages to move to Py3k, like improved performance or extra vital features (like improvement of inline functions (lambda)). The improved performance is also a big question as teams like PyPy and Unladen Swallow are working on improving Python 2.6 and not Python3k.

<comment><USER4> > extra vital features (like improvement of inline functions (lambda))

I would not consider this a vital feature. You can already nest arbitrary functions, you just have to name them. However Tail-Call-Optimization would be a vital feature. (Alas, it's not going to happen.)

<comment><USER5> I'm pretty sure the improvement he was talking about is "full" anonymous functions (w/ multiple statements & everything).

<comment><USER6> And I'm pretty sure eru understood that, which is why he pointed out you can achieve the same functionality by naming them.

<comment><USER4> Yes. And if you want multiple statements, you are either doing site-effects (evil) or using variables inside your closure, so you might as well name it, too.

<comment><USER5> > you are either doing site-effects (evil)

Uh not necessarily, and even if you are there are many situations where it's interesting and useful.

> or using variables inside your closure, so you might as well name it, too

Does not follow.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Python 3 can't just be better than 2.x to get those package distributions ported, it's gotta be _substantially_ better.

One way to make it substantially better is to get the new [Distribute](<http://pypi.python.org/pypi/distribute>) finished and fast- tracked into 3.x (Distribute is a replacement for setuptools).

<comment><USER5> The first important step is the rewrite/refactoring/improvement of distutils, which is going on right now.

<comment><USER7> Well, I hope that whichever Yaks need to be shaved in the process (PEPs written, approved, implemented, whatever) get shaved expeditiously so things can move forward.

</comment></comment></comment><comment><USER8> The article also indicates we seldom use about 99.04% of all packages available.

It's a believable number

</comment><comment><USER9> Well, the topic in #python includes "It's too early to use Python 3.x".</comment>


After Two Centuries, a Cryptologist Cracks a Presidential Code  - <AUTHOR> http://online.wsj.com/article/SB124648494429082661.html#project%3DCIPHER0907%26articleTabs%3Darticle

<comment><AUTHOR> It is like a real like National Treasure. I am impressed at the genius of hte individual who created the code and the individual who cracked it.</comment>


Realistic terrain in 130 lines of JavaScript - <AUTHOR> http://www.playfuljs.com/realistic-terrain-in-130-lines/ <comment><USER2> Just a small note, not to sound snooty, just to educate people on what realistic terrain looks like...

This is what midpoint displacement looks like as a heightmap: [http://imgur.com/ksETpO0,7gykFEV#0](http://imgur.com/ksETpO0,7gykFEV#0) This is what realistic terrain looks like (this is based on real-world heightmap data): [http://imgur.com/ksETpO0,7gykFEV#1](http://imgur.com/ksETpO0,7gykFEV#1)

That said, midpoint displacement, perlin/simplex noise, etc are good for modeling terrain at a less macroscopic scale and are plenty sufficient for the use of most games.

<comment><USER3> Interesting. Those branchy ridge shapes look a lot like Diffusion-Limited Aggregate patterns. But then, I guess they didn't call it "universality" for nothing :)

They also reminded me a bit of GIMP's "Solid Noise" rendering with the "Turbulence" setting switched on. I rendered one, and turns out it doesn't _quite_ look as good (cough), but now I wonder whether this would give a bit more realistic height map: [http://imgur.com/oRlZ191](http://imgur.com/oRlZ191)

On the other hand, like you say, for terrains for videogames are always best generated by taking any of these algorithms, and mercilessly tweaking the parameters, post-processing, etc until it just _looks_ sufficiently good. Actual physical realism comes into second place (and it should, like most game physics).

<comment><USER4> I've been working on a WebGL terrain engine recently -- you can try it out and switch on the "Turbulent" flag to see the results :)

[https://icecreamyou.github.io/THREE.Terrain/](https://icecreamyou.github.io/THREE.Terrain/)

</comment></comment></comment><comment><USER5> Reminded me of "Polygonal Map Generation For Games": [http://www-cs- students.stanford.edu/~amitp/game-programming/...](http://www-cs- students.stanford.edu/~amitp/game-programming/polygon-map-generation/)

past comments: [https://news.ycombinator.com/item?id=3868893](https://news.ycombinator.com/item?id=3868893)

<comment><AUTHOR> Awesome! Thanks for the link.

</comment></comment><comment><USER6> There was a Clojure example of this algorithm posted a few months back. Funnily enough, it's been in my "read later" bookmarks for a while now and I just got around to reading it this morning before I saw this post.

[http://blog.mediocregopher.com/clojure-diamond- square.html](http://blog.mediocregopher.com/clojure-diamond-square.html)

</comment><comment><USER7> Nice demo. I made a terrain rendering engine/demo in WebGL a few months back, that used Perlin noise: [http://felixpalmer.github.io/lod- terrain/](http://felixpalmer.github.io/lod-terrain/)

If anyone wants to play around with Hunter's algorithm in WebGL, it should be pretty straightforward to swap out the Perlin Noise implementation for his. Note the shaders do a fractal sampling of the the height map, so you may want to disable this.

<comment><USER8> Clicking "how does this work?" leads to the HTML source of the link target to be shown in plain-text instead of being rendered. Win7, both in Chrome and Firefox.....

<comment><USER7> Yes, I know - my blog is ruining my morning. Quick fix is to remove the trailing slash, i.e. go to [http://www.pheelicks.com/2014/03/rendering-large- terrains](http://www.pheelicks.com/2014/03/rendering-large-terrains) instead.

If anyone using WordPress + W3TC has hit this I'd be grateful for pointers to a fix

</comment></comment></comment><comment><USER9> I made a quick first pass at an interactive WebGL version this evening. [http://callum.com/sandbox/webglex/webgl_terrain/](http://callum.com/sandbox/webglex/webgl_terrain/) \- ground realism needs a bit of work :) but it was a lot of fun. Thanks for sharing your code Hunter.

</comment><comment><USER10> Don't miss the demo: [http://www.playfuljs.com/demos/terrain/](http://www.playfuljs.com/demos/terrain/)

<comment><USER11> Is there any way to control the demo? It doesnt seem to respond to mouse or keyboard input.

<comment><USER12> I made a jsfiddle and added dat.gui [http://workshop.chromeexperiments.com/examples/gui/#1-- Basic...](http://workshop.chromeexperiments.com/examples/gui/#1--Basic-Usage) so you can modify the "detail" parameter to change the terrain without requiring a page refresh [http://jsfiddle.net/kachhalimbu/br8Xd/1/](http://jsfiddle.net/kachhalimbu/br8Xd/1/) Full screen result here [http://jsfiddle.net/kachhalimbu/br8Xd/1/embedded/result/](http://jsfiddle.net/kachhalimbu/br8Xd/1/embedded/result/)

</comment></comment></comment><comment><USER13> What i like most about this demo is that the code is actually very readable, and the blog article explains it very well. Most of the times the code for these kinds of demos looks like line noise :)

</comment><comment><USER14> Perlin noise is another good algorithm for terrain generation.

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

<comment><AUTHOR> I like Perlin in situations where its repetitiveness won't negatively impact the simulation, or as an additional layer of pseudo-natural-randomness on top of other algorithms.

</comment></comment><comment><USER15> can this algorithm be run lazily? ie, can you continue to generate continuous terrain using this technique or do you need to generate the whole map ahead of time?

<comment><AUTHOR> It can be run lazily in two ways: first, you can lazily add detail (ie, render down to a specific level of detail and postpone the rest); second, you can lazily build grid blocks out to the horizon (eg, for walking around a terrain first-person). So detail vs size laziness.

</comment></comment><comment><USER16> Reminds me of the results easy to achieve with Bryce3D back in the mid 90's. They had a pretty great terrain engine. I don't think they're making Bryce any more. It would be great if they could release some of that code.

<comment><USER17> I remember that one, apparently it is still being sold, but development seems to have stalled: [http://www.daz3d.com/bryce-7-pro/](http://www.daz3d.com/bryce-7-pro/)

<comment><USER16> I guess Maya ate their lunch. Funny, from the screenshots, they've not changed the interface in a decade and a half. The much lower price is nice, though.

</comment></comment></comment><comment><USER18> For those who only want to look at the result(s)

[http://www.playfuljs.com/demos/terrain/](http://www.playfuljs.com/demos/terrain/)

Refreshing the page will generate a new terrain

</comment><comment><USER19> It'd be interesting to see an animation of the diamond/square iteration progressing in 3D, starting with a flat surface and ending with the finished terrain :)

</comment><comment><USER20> This midpoint displacement algorithm is also how a lot of the "plasma" effects from 1990s-era PC demos were created.

</comment><comment> good-citizen after thinking about this one for a while, it occurred to me that this really helps illustrate the point of 'Life May Be A Computer Simulation'. Take this world creation a step further, and rather than teaching a computer how to create rocks, each one slightly different, imagine creating humans, each one slightly different. If you think about 'God' as just some alien programmer dude, it helps make so much sense of the world. How can a caring God let so many terrible things happen to us humans? Well, how much empathy do you feel about each rock in this program? When you click refresh, and create a whole new world, do you stop and think about all the exist rocks you are 'killing'? If we are living in a computer simulation, perhaps our creator doesn't even realize we are sentient?

<comment><USER21> You realize you just explained a caring God by saying he doesn't care, right?

<comment> good-citizen I meant, a common human question is "if there is a caring God, how can there be so much suffering in the world?" And maybe the answer is, human pain means nothing to him the same way computer generated rock pain means nothing to us.

</comment></comment></comment><comment><USER22> Brings me back to a ray casting experiment I did a while ago [1]. I always wanted to revisit it to include a terrain generation step (it uses a pregenerated height map). Now I have an excuse! ;)

[1] [http://namuol.github.io/earf-html5](http://namuol.github.io/earf-html5)

<comment><AUTHOR> Wow! Really fantastic. I've already linked to your raycaster; let me know if you build one that dynamically generates the terrain as well.

</comment></comment><comment><USER23> I was playing with something similar a while ago. It's a procedurally generated overlay for Google Maps: [http://dbbert.github.io/secondworld/](http://dbbert.github.io/secondworld/)

</comment><comment><USER24> A friend worked on something similar: [http://dcc.fceia.unr.edu.ar/~rbaravalle/fractales/brownGL.ht...](http://dcc.fceia.unr.edu.ar/~rbaravalle/fractales/brownGL.html)

</comment><comment><USER25> Some of you might find this algorithm I created a few years ago interesting: [http://ovgl.org/view_topic.php?topic=91JL96IHFS](http://ovgl.org/view_topic.php?topic=91JL96IHFS)

</comment><comment><USER26> Reminds me of T'Rain.

</comment><comment><USER27> I remember implementing this on a Sam Coupe from the description in (either BYTE or Dr Dobbs, I forget) back in ~1987. Somewhat slower and lower resolution, of course...

</comment><comment><USER28> Diamond-square has a bug/limitation in that it creates seams. There are better solutions :).

</comment><comment> good-citizen stuff like this makes me remember why I love programming

</comment><comment><USER29> I think implementing parallel computing using webworkers would be a good item for the "What's Next" list of suggestions.

<comment><AUTHOR> Added!

</comment></comment><comment><USER30> You can simplify this even further by using frameworks like lodash / underscore or ES6 native methods.

</comment><comment><USER31> This is awesome!! nice job!

</comment><comment><USER32> I may just be a prick, but seeing this promoted as a variant of the midpoint displacement algorithm for terrain generation seem far less gimmicky. "X done in Y lines of Z" Whoop-dee freakin' do.

Still, cool algorithm.

</comment><comment><USER33> Great tutorial on a fun topic!

</comment><comment><USER34> Had to put "JavaScript" into the title - typical HN... It was about algorithm rather than a language.</comment>


Can entrepreneurship be taught? - <AUTHOR> http://pandodaily.com/2013/09/30/can-entrepreneurship-be-taught-two-students-at-tufts-are-trying/

<comment><USER2> I don't think it can be taught. It can only be learned.

It's not a subtle difference.</comment>