Firefox introduces PDF viewer - <AUTHOR> http://blog.mozilla.org/blog/2013/02/19/firefox-introduces-pdf-viewer-to-browse-the-web-without-interruption <comment><USER2> It's worth pointing out this is done in _pure Javascript_ , and works by compiling PDF functions to equivalent Javascript functions which are then visible to Firefox's JIT. Despite being only around a year old, it still manages to render the majority of PDFs thrown at it (it's been my primary paper reader for the past 6 months or so).

As for missing features like some complex gradients, I can't say I've missed them, except on occasion when dealing with shiny PR materials. Earlier versions occasionally emitted blank pages, but these could always be skipped thanks to a side effect of the PDF format.

PDF.js has an amazing future for such a young project, and it is _the_ foremost demonstration of exactly how complex programming tasks can be expressed using native web technologies. Turns out 35kLOC of Javascript almost completely subsumes the functionality of a behemoth native application (Adobe Reader) that on some machines would require half a minute just to 'boot'.

While Mozilla are pumping out stellar designs like this, Google are pushing crap like Native Client and their proprietary, binary-only Foxit Reader solution instead, complete with the hundreds of thousands of LOC of insecure C this entails. Rock on, Mozilla!

<comment><USER3> Please take your time machine and go release PDF.js in early 2010. With good performance on the hardware and Javascript VMs of early 2010. _Then_ I'll grant you the criticism of Chrome's PDF viewer. Otherwise, trolling... fact is, Chrome is the browser that liberated the world from Acrobat Reader. PDF.js is awesome and it may be the way to go, but as of today Chrome's viewer is still much better -- please try <http://www.irs.gov/pub/irs-pdf/fw4.pdf> in both browsers and tell me which one is sluggish and renders so-so, and which renders/scrolls instantly and perfectly and also allows you to actually fill the form.

<comment><USER4> On the mac, Firefox Nightly loads the PDF in a second while Google Chrome Dev loads in about three seconds. I can enter text in the pdf in Chrome while Firefox gives an annoying little "The pdf might not be rendered perfectly" error bar at the top.

Let's try Safari: Loads in under a second maybe even faster, super quick scrolling, ability to enter text and the option to download the pdf on the bottom. This is the way browsers should handle pdf. We are just not there yet. I don't want to use Safari though. Firefox is the browser for me.

I almost always download the pdf anyways and view it through Preview.app, especially if I want to actually input text in the pdf. I love Preview. It's like the best PDF reader out there. Preview is what liberated me from Acrobat. Well, switching to the Mac did that for me, really.

<comment><USER5> I don't have firefox and a pdf view won't change that. Your description of Safari matches that of Chromium on Arch Linux.

<comment><USER4> Does Chromium have a built in PDF reader? I thought google adds that in for Chrome along with Flash?

<comment><USER6> It is not included, but can be installed. (libpdf)

[https://wiki.archlinux.org/index.php/Chromium#Open_PDF_files...](https://wiki.archlinux.org/index.php/Chromium#Open_PDF_files_inside_Chromium)

</comment></comment></comment></comment></comment></comment><comment><USER7> If you want to try PDF.js from your current browser, here's a demo:

<http://mozilla.github.com/pdf.js/web/viewer.html>

I wonder what's keeping this so ugly in Chrome. Also, does anyone know if printing is intended to work? It doesn't appear to have the pagination right, again at least on Chrome.

<comment><USER8> Looks much better than I imagined. Also painfully slow.

<comment><USER9> Most of the PDFs i read are electronics datasheets and they don't look half as good and it also seems to be missing the bookmarks as well. Scrolling through pages also seemed to take a long time.

I think i will have stick to adobe reader for now

</comment></comment></comment><comment><USER10> PDF.js rocks!

Now, stay tunned for ASM.js because that too will rock (once it is ready).

link: <http://asmjs.org/>

</comment><comment><USER11> Love it, but unlike Chrome's embedded PDF reader, it can't "stream" PDFs (a dealbreaker for people viewing media-heavy PDFs on slower connections)

<comment><USER12> That's interesting, because PDFs are an inherently un-streamable format. It requires seeking within the file to work (hence why command line PDF tools can't take STDIN for the PDF file - or they fake it by copying to a temp file first).

I wonder how google got around that problem.

<comment><USER13> You could try to progressively render the file, pausing when a required forward reference isn't within the data you have downloaded so far.

<comment><USER14> That seems to be what they do, in my experience.

</comment></comment></comment></comment><comment><USER15> It fails with the 4th google hit for "sample pdf":

<http://www.inkwelleditorial.com/pdfSample.pdf>

(The main difference I see with Firefox 19 on win7 is that it loads pages significantly faster.)

<comment><USER16> Seems to render fine for me in FF20 on W7: <http://i.imgur.com/G5PPEbN.jpg>

</comment></comment><comment><USER17> Dumb question: What's to stop Chrome from eventually adopting PDF.js?

Personally, I see that as the future. Its open source, its "good enough", and Google doesn't have to license the pdf viewer anymore.

Also it's a big coup against Adobe, when everyone with firefox and chrome can pretty much uninstall your Adobe Reader software. I haven't even mentioned shrinking the market on 3rd party PDF viewers.

<comment><USER18> Nothing!

pdf.js is already a part of the Octane benchmark and works well in chrome:

<http://mozilla.github.com/pdf.js/web/viewer.html>

Mozilla is about moving the web forward, not just beating the other guy, so I don't imagine there'd be any gripe with Google picking up pdf.js in chrome.

</comment></comment><comment><USER19> Before this patch, this is usually how I would open PDFs in Firefox:

"Okay, so I clicked on the link. Wait - where's the Download box? No, wait -- I told Firefox to download this MIME type automatically, right? Okay, but where is Evince? I thought it would load after I downloaded it. Okay, let me cd to Downloads, it's probably there. Okay, now I have to open Evince -- no, wait, I can just open Thunar to open it because the .pdf MIME is associated with Evince. Okay, so now I have to launch Thunar... Okay, now where is my Downloads folder again?"

Granted, it would be easier if I weren't such a blockhead, but it's still a royal pain in the ass.

</comment><comment><USER20> It's nice to have such an option, but it feels significantly less snappy than Kparts plugin in KDE which wraps Okular into Firefox.

<comment><USER21> True, as with plain Adobe Reader. I spend a large part of my day reading .PDFs, both in and out of my browser, and Firefox became a much less effective "power tool" when they took the liberty of disabling the Reader plugin. I couldn't care less how long it takes to _load_ a .PDF -- snappy rendering and navigation is everything, and you don't get that from JavaScript.

It took a surprising (to me) amount of hacking to re-enable native .PDF rendering. As far as I'm concerned, pdf.js is one of those increasingly-common cases where Mozilla has unilaterally decided that it knows Just What I Need, and followed up by attempting to impose it without offering me a choice.

<comment><USER22> I don't know what you did, but i can easily change that by changing the default action for PDF files in preferences -> Applications.

I've been using PDF.js myself for i think a year now (Used to install it directly from their Github page), and it's a great reader if you aren't an heavy PDF user. I barely have to open a PDF, and when i do it's usually just text and images, not any fancy stuff. And i guess most computer users are just like me. If you open PDFs all day, and are a power user, i guess that nothing can replace a good standalone reader.

It's still kinda slow, but it has done some incredible progresses in the year i've been using it. And i'm sure it will just get better and better.

</comment></comment></comment><comment> homer-simpson What I don't understand is why Google doesn't have an open source PDF viewer? I mean, Chromium renders OpenGL, decodes movies, contains fastest JavaScript VM and it cannot view PDFs? Given what they did to JavaScript speed, can you imagine what viewer they would be capable of producing of? At least they should join Mozilla on improving pdf.js, IMO...

<comment><USER23> Chrome already has its own PDF viewer, presumably implemented in C or C++ or whatever, so they probably don't care about making it available for Chromium. Perhaps they bought the rights to the source code they based it on, and are unable to open source it.

<comment><USER24> Google pays to ship FoxIt's closed-source PDF engine with Chrome.

</comment></comment></comment><comment><USER25> ...and it displays your visited sites in a grand panorama on the canvas in a new tab, despite having asked for always private browsing.

It could be a regression of both the browser, and the unit test, which isn't such a good news.

<comment><USER18> If this is the case for you please file a bug - a lot of private browsing changes have been occurring under the hood in preparation for proper per- window private browsing in FF21, so it's very possible a regression snuck in :(

</comment></comment><comment><USER26> I've been using it for about a month. It's my default PDF viewer, on my desktop - though sometimes it has choked on a file, and search has been an issue on large files.

Generally though, it's a good solution that doesn't require dealing with Adobe updates all the time.

</comment><comment><USER27> Is this based on pdf.js? I couldn't seem to find out quickly. If so, very cool!

Edit: I was being lazy, it definitely is. Very nice that it's plugin-free and a pure HTML5 solution.

</comment><comment><USER28> I've been using it for while (it shipped before but wasn't enabled by default; which I did). It works great most of the time, and is hassle-free. It's also likely safer to use.

Now, if only Gmail would let me preview attachments in it. They do it for Chrome's plugin. I tried messing with the URL arguments, but it seems the Gmail server won't even give you the inline (ie not a download) version of the PDF if your browser doesn't pretent to be Chrome.

</comment><comment><USER29> I would love to have a PDF viewer app for OS X based on PDF.js. Better still if it could be sandboxed and have other enhanced security.

Just tried out Firefox 19, and the PDF reader is good. Responsive enough, with just the barest hint of render lag. Minor nit: Firefox isn't currently registered as handling PDF, but will still open it happily.

EDIT: I have Firefox as my OS X Mountain Lion's PDF viewer app now. Works quite well!

<comment><USER30> Any particular reason? OS X natively supports PDFs (and is both much faster and more complete than pdf.js).

<comment><USER29> Preview has had a history of security holes. PDF.js would at least be immune to buffer overflow exploits.

</comment></comment></comment><comment><USER31> I've been using this for a while in Firefox beta, and it's generally really good.

I have two small problems with it, which perhaps won't be too hard to fix:

1\. PDFs of old academic papers that are just strung-together CCITT (fax) compressed monochrome scans. Preview.app, Adobe Reader and Chrome resample those to give a readable quasi-anti-aliased effect. PDF.js makes the text jaggy and spindly and hard to read.

2\. No back/forward navigation.

</comment><comment><USER32> I've been enjoying Pdf.js for months, as I use Aurora as my main browser. Aurora[1] is the the first step before Firefox Beta.

If you want to use awesome features like pdf.js earlier... get on Aurora. It has been surprisingly stable channel for pre-beta code.

[1] <http://www.mozilla.org/en-US/firefox/aurora/>

</comment><comment><USER33> Impressive piece of Javascript, but it's quite heavy on my CPU. I will continue using Evince for the time being.

</comment><comment><USER34> We have a major in house application that displays PDF files as a core part of its functionality.

The Firefox PDF reader is very slow compared to Chrome's.

Also, the second and subsequent PDF files you click on do not commence the display at the top of the page, the appear to commence display somewhere down the page, I'm guessing maybe at the position that the previous PDF scrolled to. So immediately you need to pull the scrollbar back to the top before you can start reading the PDF.

So for now, just on speed alone we'll pass on the Firefox PDF reader.

</comment><comment><USER35> This is really amazing, but I wish these two browsers would be pushing for a FOSS version of PDF instead.

I do not think openXPS is entirely FOSS but it is a good place to start looking for an alternative.

Here is an xps file on the web to see how your browser handles it: <http://www.rosebudschooldist.com/images/Feb%20Cal%202013.xps>

</comment><comment><USER36> Thanks for doing this, but it is not working well for me! It takes way longer to load than a normal PDF viewer, is slow, and basically I gave up and closed it when pages were still black, or white, with a rotating loading indicator, minutes after a regular PDF viewer already showed it. This in Linux.

Thanks!

</comment><comment><USER37> just tried it on a large PDF. Chrome takes about 1 second to load while FF takes 10, and the visual result in FF is nearly unreadable (while in Chrome it looks just like it does in Acrobat). i'd love to have nice open-source native PDF support, but this surely doesn't cut it for release.

</comment><comment><USER38> If this is the future of computing, then I quit. I don't want to play anymore.

</comment><comment><USER39> Interesting. I was wondering why I had to re-enable FoxIt viewer after the latest Firefox update. Maybe it works well for some PDFs, but the first two I happened to open were formatted pretty badly.

</comment><comment><USER40> What, this is not what a web browser is supposed to do.

<comment><USER41> How about web browsers showing you graphics? Animated graphics? Videos? 3D graphics?

<comment><USER40> Not locally.

</comment></comment></comment><comment><USER42> how is pdf.js gonna be updated in firefox... i was using the dev version add- on of pdf.js and seems to work better than the one shipped in FF19

</comment><comment><USER43> Don't miss the announcement that Firefox for Android now supports ARMv6! Many ~$100 Android phones now have the option of a better browser!

</comment><comment><USER44> As a pure Javascript solution, it can run on a wide variety of platforms, as far as the browsers are running.

</comment><comment> unix-dude Works well, looks sleek, and only randomly locked up once (To be fair, I had tons of tabs open).

Good job!

</comment><comment><USER45> Is there anyway to change the background/foreground color ?

</comment><comment><USER46> what happened to doing one thing and doing that well? what is next, office documents?

<comment><USER47> It does only one thing. Firefox doesn't depend on PDF.js and vice-versa, they're just bundled together.

</comment></comment><comment><USER48> Serious question: what took so long?!

<comment><USER49> Perhaps they gave up waiting for your implementation.

</comment></comment><comment><USER50> The experience on Android phones is solid but this core feature is really late to the game.

I love firefox but cant keep using a browser thats always playing catch-up

<comment><USER51> I really like Chrome and use it when developing just for webkit inspector but I can't switch to it for regular browsing as I still feel like Chrome can't match the browsing experience of FF. For example:

Tab Management

In firefox I can much more easily have dozens of tags without them all becoming squished. Instead I get scroll bars and a drop down menu.

With tab mix plus, tabs which I haven't read yet are highlighted.

I also have a close tabs to the left option in the context menu (which I really love).

Adverts

Adblock in firefox seems to be much more stable than the chrome alternative and just does a better job generally of blocking adverts. (This one might be solved by the likes of privoxy but then I lose the tight integration with the browser.)

Password Management

I'm a regular user of last pass but in chrome it can't integrate with the http auth dialog which means I'm forced to open up my vault and copy and paste my credential manually which is a huge hassle.

I really like Chrome and I'd love to use it all the time but these things (and a few others) prevent me from doing so. Does anyone know if there are any chrome extensions which address these issues?

<comment><USER52> Re: your LastPass Chrome problem, you need to install the extension with a binary component (there are two on LastPass's site)

</comment></comment></comment><comment><USER53> Why is this news except the fact that Chrome has had this for years? Was Adobe paying Mozilla in the same way that Google paid them for the search bar preference?

<comment><USER24> Adobe was not paying Mozilla for anything like that. Chrome simply includes a paid closed-source product (FoxIt, iirc). This was and is not an option for Mozilla for multiple reasons.

It took Mozilla a while to get here, which is unfortunate, but the result is an open-source PDF reader that doesn't add yet another binary rendering engine to the browser (think security, hack-ability). Creating it made Gecko and the web platform better, because it pushed us. There is more work to do, but it's a great start and a welcome change to how these features are implemented.

A bit more info in a blog post that I wrote:

[https://boomswaggerboom.wordpress.com/2013/02/19/exciting- st...](https://boomswaggerboom.wordpress.com/2013/02/19/exciting-stuff- firefox-19s-built-in-pdf-reader/)

<comment><USER54> Interestingly, there are also a prototype Flash in JavaScript called Shumway: <https://github.com/mozilla/shumway>

And an IIUC a DOM renderer in JS <https://github.com/andreasgal/dom.js/>

I don't know if PDF.js will ever reach full PDF compatibility (with all it's weird forms and other stuff), but I do hope so. With a liberal licence I can totally see people embedding pdf.js to render their pdfs on site.</comment></comment></comment>


World turned upside down: the inverted yield curve - <AUTHOR> https://espresso.economist.com/45961dd50e46379442318098474e0ced <comment><USER2> The FT has being talking about this alot in the last few days too.

So how do I make money out of this scenario?</comment>


The New York Times Adds 'Mx.' to the Honorific Mix - <AUTHOR> http://observer.com/2015/11/the-new-york-times-adds-mx-to-the-honorific-mix/ <comment><USER2> I technically have no issue with it, but the pronunciation will be confusing:

          "I met mix Sam at the shop, and we picked up some pancake mix."

Mx is a fine way to spell it, but not a fine way to say it. May be one of these we have to spell out, as in:

          "I met M.X. Sam at the shop, and we picked up some pancake mix."

Although now it seems unnatural since you're over-emphasising the lack of gender (as opposed to simply just saying it).

Also, as an aside, isn't a lack of Mr or Mrs/Miss/whatever kind of accomplishing the same thing e.g.:

         "I met Sam at the shop, and we picked up some pancake mix."

No gender mentioned, and no awkwardness of how to say "Mx."

<comment><USER3> I'd suggest using a voiceless velar fricative as in Scottish loch or German Bach. But then, we don't actually pronounce Mr. or Mrs. that way, it's just shorthand for "mister" or "missus".

The article links here tho: [http://www.nytimes.com/2015/06/07/style/me- myself-and-mx.htm...](http://www.nytimes.com/2015/06/07/style/me-myself-and- mx.html?_r=0) "Next up may be Mx. (pronounced mix), a gender-neutral alternative to Ms. and Mr. ...Justin Vivian Bond, a singer, songwriter and performance artist, began to use Mx. in self-reference in 2011. 'It sounded like an obvious description of what I was: a mix of genders,' the artist said."

There is of course no real ambiguity when you say "I met mix Sam at the shop, and we picked up some pancake mix."

<comment><USER4> I went by the store to greet miss Molly and mix Daisy before we went to the mixer and got the pancake mix door prizes.

<comment><USER3> There's no ambiguity there either, except in the "greet miss molly and mix daisy", which is a garden path if you interpret daisy as someone to be mixed. Of course, that's no different with "greet mix daisy and miss molly", where you could misinterpret molly as someone to be missed. But then Mx. is no worse than Miss.</comment></comment></comment></comment>


Song of Github - let me sing you the song of my contributions. - <AUTHOR> http://song-of-github.herokuapp.com

<comment><AUTHOR> Built while babysitting a migration. Naively approximates the algorithm that generates the contribution graph; I didn't take the time to try to reverse engineer what they're using.

Put your sound up and listen to some frantic piano goodness.

</comment><comment><USER2> Nice! Should add a 'replay' button or something :)

Edit: Also, the link to Midi.js is borked.

<comment><AUTHOR> Thanks! Rookie mistake. Uploaded a fix.</comment></comment>


Why are we still 'releasing' software? - <AUTHOR> http://news.oreilly.com/2008/06/why-are-we-still-releasing-sof.html

<comment><USER2> The text on that page is way too small, especially the source code :/

<comment><USER3> And it breaks the split-view Greasemonkey script, too. Alas, plunged into the dark ages of two days ago.

It took me some time to stop feeling shame for hitting Ctrl-+ on pages with tiny text, but I've come to terms with it. I'm also a fan of View->Page Style->No Style, which I discovered only after writing a Greasemonkey script to do the same thing.

<comment><USER4> I knew about Web Developer's Ctrl+Shift+S (disable all styles), but I had no idea about that built-in style disabling. I just tried it on Gmail and it was quite...interesting...</comment></comment></comment>


Harvard Researcher's Startup Offers Genome Analysis for Free - <AUTHOR> https://www.bloomberg.com/news/articles/2018-11-15/harvard-researcher-s-startup-offers-genome-analysis-for-free <comment><USER2> If the service is free, then your genome is the product

</comment><comment><USER3> The next generation will laugh at the stupidity of those who willingly gave their entire genome sequence and personal health data away to a corporation for free.</comment>


San Francisco's Housing Crisis Is Solvable. Here's How - <AUTHOR> https://medium.com/@ferenstein/san-franciscos-housing-crisis-is-solvable-with-one-law-here-s-how-you-can-help-17a0d1005df0#.yf5y5watn <comment><USER2> Why 100 x 100? Why not 1000 x 10? Many people can easily get 10 people to sign.</comment>


Yo, This Is Cool – Show Love to Open Source Projects - <AUTHOR> https://yothisis.cool/ <comment><AUTHOR> I really can't stand not being able to thank all the amazing people that release stuff on Github. Every time I use their stuff I just want to high five them. I really needed a place where users can give back a little to the open source community, even if it's by simply saying "Woah, Dude, that's amazing!" :)

Thanks to Andrea Buran for the cool design ;)</comment>


Ask HN: How to get JR Devs to ask better questions? - <AUTHOR> I have been working with a new hire(not so new anymore) for about 6 months now but I have been unsuccessful in training him. We hired him straight from school and looked promising. School had him work on some interesting projects and had experience with SQL, websites and even a simple android application.
However, as soon as he started, it was clear, he didn't have a developers mindset... and I judge this base on the type of question you ask when something is not working, or you don't know how to do something.
With this individual, I feel he has even yet asked a question at all in the 6 months he has been there. It is definitely in the way he goes about asking questions but he's really making statements.
For example, "it is not working", "the variable is undefined", "the database is not updating".
Basically, he asks by telling us what he sees. He doesn't try and ask questions to what is actually going on and expects us to spoon feed the entire debugging/dev process.
Now to be fair, I've lost faith in him and been about a month or two since I stopped providing guidance(showing how I would go about solving the problem.) I thought maybe, if I provided less information, he'd start asking better questions. But it is the same.
Please help, any suggestions would be appreciated. <comment><USER2> Hmm.... I will suggest to teach him in a reverse way.

Say, next time if he uses any of above statements like "database not updating" sorta... Now you start asking him questions.... why is it now updating? Had you checked the connection is working?

Are you sending data to proper collection/table. Is schema right?

And blah blah.....

I hope this kinda approach will develop his "developer" attitude in a small way. Many new guys don't get a chance to work and get mentored. He had got it.....Thanks to you! And also it doesn't hurts to speak with him politely about this issue.</comment>


Ray Dalio's Flagship Hedge Fund Has Fallen 6% This Year - <AUTHOR> https://www.bloomberg.com/news/articles/2019-08-29/dalio-s-flagship-hedge-fund-gets-burned-by-wrong-way-rate-bets <comment><USER2> So there's obviously multiple ways to invest. Warren Buffet's method is to find really good deals on stocks and then fix what's wrong with their business; providing a value.

Other people look for bullshit(the owners had lied in some way) like improperly rated options. As we saw during the financial crisis, the rating companies were lying about risk and AAA mortgages were much lower. You can go down a lot before the return happens.

Some people look for patterns. In this case Ray Dalio is looking at the debt cycle pattern and predicting we are in for a long term debt cycle.

If he's right, there's a rush to get debt on the books, which we are seeing. Which artificially inflates the market right before the crash. S&P500 January 1st was about 2500. It was over 3000. The general stock market of bluechips were up 20% YTD over 7 months. Sorry but that's an absolutely ridiculous number.

The problem is that if you're predicting a crash and are betting against it; you would be down 20% YTD. IF Ray is correct, he's going to be cashing in bigtime.

</comment><comment><USER3> This isn't anything but noise. There's lots of funds, some of them go up, some go down. The fact Ray Dalio is famous doesn't matter a whole lot, 6% isn't a huge amount either.

<comment><AUTHOR> I agree, it's useful to look at these types of funds over time. Thought it would be useful to post since there was some context in the piece.

</comment></comment><comment><USER4> I read the headline and thought it was improbable (thinking of the famous All- Weather Fund).

Then I read further, seeing AWF is a 'bright spot'. All those bonds are doing their job!</comment>


SpaceX Launch Livestream: CRS-8 Dragon Hosted Webcast - <AUTHOR> https://www.youtube.com/watch?v=7pUAydjne5M#t=27m15s <comment><USER2> That was so cool. If you feel like launching one yourself, they have a user's guide: [http://www.spacex.com/sites/spacex/files/falcon_9_users_guid...](http://www.spacex.com/sites/spacex/files/falcon_9_users_guide_rev_2.0.pdf)

And pricing information: [http://www.spacex.com/about/capabilities](http://www.spacex.com/about/capabilities)

(edit: added pricing info which might be helpful)

<comment><USER3> Where's the call to action? Who designed the page?

> SpaceX offers open and fixed pricing for its Falcon 9 and Falcon Heavy > launch services. Modest discounts are available, for contractually > committed, multi-launch purchases. SpaceX can also offer crew transportation > services to commercial customers seeking to transport astronauts to > alternate LEO destinations.

With such big ticket items, I wouldn't have imagined there is a price list available. I would think these things are negotiated over expensive dinners. You almost expect to see a "Buy Now" button on the page.

<comment><USER4> > Where's the call to action? Who designed the page?

Assuming that that wasn't tongue in cheek...

Their target audience is "people who want to launch something into orbit". They don't need a call to action, they already have a _rather_ well-defined need.

> I would think these things are negotiated over expensive dinners.

That sort of shit is _exactly_ what Musk has been complaining about every time he talks about how fucked-up the existing space delivery industry is.

Think of it this way: You don't negotiate the price of delivery for something you're gonna ship via FedEx over a dinner.

One of the goals of SpaceX is to make the space delivery industry as much like every other delivery industry as is humanly possible.

<comment><USER3> It was tongue in cheek.

And I am completely on board with the open pricing model. It's incredible and probably makes their competitors very nervous.

<comment><USER5> That's the point. Space-X's pricing has terrified the industry. Now the question is whether you get a discount on used boosters.

What Space-X doesn't give you is a firm launch date. Spaceflight Now listed today's launch as "Delayed from Aug. 13, Sept. 2, Jan. 3, Feb. 7, March 20 and March 29. [March 16]" This is Space-X's biggest problem. They're about a year behind on their launch manifest. They don't even put dates on future launches any more. Customers don't like this; some have switched to Arianespace or ULA or Russia for their satellite launches.

Space-X is trying to catch up. Next launch date is April 28th, and there are two launches a month scheduled for the next few months. First Falcon Heavy launch is scheduled for November, but that may slip.

<comment><USER6> "We are backed up in how much stuff we have to deliver to space" certainly seems like one of the better problems have.

<comment><USER7> Sounds similar to Tesla's Model 3 "problem" (>375K preorders).

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Reminds me of one of the most inspirational interviews by him after three failed Falcon 1 launches: [http://www.wired.com/2008/08/musk- qa/](http://www.wired.com/2008/08/musk-qa/)

> Musk: Optimism, pessimism, fuck that; we're going to make it happen. As God > is my bloody witness, I'm hell-bent on making it work.

<comment><USER9> Wasn't that at a point where Tesla was under a huge capital crunch as well? Can't imagine what pressure he was under.

<comment><USER10> Yes, I think 2008 was a very hard year for Elon. The issue with Tesla was that something like 200 Roadsters were manufactured incorrectly and all had to be fixed at immense cost and time delay. He was also going through a divorce at the time. And all SpaceX launches had exploded off the Pacific island that they were forced to use since their competitors successfully lobbied for it to be illegal for SpaceX to launch from the USA. Rough year.

<comment> james-watson His wife also decided it was a convenient time to divorce him in 2008.

His current wife also recently decided to announce a divorce. At least he is on a big winning streak with his businesses this time.

<comment><USER11> Maybe they'll make it the third time he marries _the same woman_. He obviously _is_ hellbent on making it work.

</comment></comment></comment></comment></comment><comment><AUTHOR> The SpaceX subreddit has an excellent megathread with lots of information about this launch. [https://www.reddit.com/r/spacex/comments/4dtoly/rspacex_spac...](https://www.reddit.com/r/spacex/comments/4dtoly/rspacex_spacex_crs8_official_launch_discussion/)

Here is a link to the technical webcast: [https://www.youtube.com/watch?v=sh8V0COrrzE](https://www.youtube.com/watch?v=sh8V0COrrzE)

This is SpaceX's first ISS cargo mission since their last attempt last summer, which ended in an explosion and loss of all cargo. They will also be attempting a barge landing of the first stage, which they have not yet successfully completed. They will likely stream the landing attempt, but live video is no guarantee as there is usually too much interference.

</comment><comment><USER12> Count degrees of freedom that have to be zeroed out in that landing: three coordinates of position, three coordinates of motion, two axes of tilt, rates of yaw, pitch, and roll.

That adds to 11 dimensions of control. And their flight computer nailed it, without even zeroing one at a time! Only roll rate around the axis of the rocket was zeroed well before touchdown. Impressive!

<comment><USER13> If you're zeroing in the position, you don't have to worry about the motion.

The number of degrees you have to take car of is 6: X, Y, Z, yaw, pitch, and roll.

<comment><USER14> Heck, I'll just be pedantic and say you have 7 DOF since you really should use a quaternion to avoid the gimbal-lock singularity when using Euler angles :P

<comment><USER15> To a layman the two are nearly identical, however the Von Hiesen is an older model of Neutrino Compressors and thus shares many aesthetic components as the contemporary hypercarbolators (I tend to use the American spelling for that word) due to the placement of the backfeed tube.

<comment><USER16> gimbal and quaternions are two different ways of describing an object's rotation in 3d.

gimbal is very intuitive, you just write down three angles: pitch, roll, and yaw. to imagine the objects rotation when I give you the three angles, you just apply them one after the other.

however, there is an issue. When the object's rotation is large enough that say, roll becomes 90, suddenly pitch and yaw correspond to the same 'thing '. which means one axis of rotation can no longer be realized.

in practice this can be seen with physical gimbals (three concentric rings, one per axis) or in numerical gimbal representation, where values might end up being unworkable.

quaternions eliminate this problem by using four values instead of three (quater, quattro, quad bike - the prefix stands for 4) 3 values are the components of a 3d vector, and the 4th is how much rotation to apply around it.

The above post argue that this 4th value seems like an extra degree of freedom, it isnt. it simply is a matter of representation if coded correctly.

</comment></comment></comment></comment></comment><comment><USER17> First successful landing on the drone ship

Also, primary Dragon deployment appears successful as well.

<comment><USER18> Footage of the landing starts at 35:47, taken from nearby flying drone.

[https://youtu.be/7pUAydjne5M?t=35m47s](https://youtu.be/7pUAydjne5M?t=35m47s)

Absolutely surreal footage, a 25 storey rocket just drifts into shot at a crazy angle and plants itself.

<comment><USER19> Not sure what to make of the chanting of 'U-S-A U-S-A' after that. That sound just reminds me of a Trump rally these days.

But otherwise: that was really fantastic.

Edit:

It's actually quite a sweet display of patriotism. I sound more negative than I mean to be. Perhaps it was just funny to realize that the context I'm most familiar with the sound of that chant is from reporting on the current campaign.

<comment><USER20> Since when did being patriotic become offensive behavior? I for one am proud of the accomplishment and realize that it took many people from lots of different countries, but the reality is SpaceX, Tesla, Google, Microsoft, Facebook, Twitter the list goes on are all American companies. American and proud.

<comment><USER21> It's not that offensive, but it did have a bit of a jarring effect. I was all happy with the success and saw it as a human achievement. [1] The cheering was wonderful. But then the USA chants made me feel left out, because I'm not a US citizen. I guess I just wished these people would share my view of it being a human achievement and not limited to USA with its 4% of humans. It's likely plenty of them do think that, but the USA chanting sure sends a different emotional signal and diminishes the moment a bit.

\--

[1] I probably wouldn't think much of a USA chant during a Facebook or Google product launch. While these companies do plenty of wonderful things, I view space travel as several tiers of importance higher.

<comment><USER22> That's kind of funny that you would find a USA chant at a Google product launch less "jarring".

In this context it didn't phase me at all (I am a US citizen though...), but at a Google press event, it would be really unsettling.

<comment><USER23> It's probably a cultural thing. From my vantage point outside of America, chanting support for your country like a sports team feels awkward and myopic. It's not something most other civilised countries do — I associate it more readily with failed/fascist/dictatorial regimes.

<comment><USER22> I think it is a cultural thing, but thinking about it now it would sound really similar to how you describe if they were chanting "America" instead of "USA".

I don't know, but the point is that I can see where you are coming from. I think that the "USA" thing has become "normalized" to me because of other things in the media (sports, wartime, etc...) that it doesn't phase me, but changing the wording makes it pretty clear.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> That was pretty impressive, and while I love that New Shepard has flown three times, putting something into orbit and having the booster land on a drone ship is pretty freakin' awesome.

For me, the _really_ amazing thing is that if SpaceX has been pricing their launches to cover their costs (and I realize that is a big if), they have been developing the re-usable tech on the back of those flights. And now they have 5 (or 6) test flights where two were successful that is moving that tech forward. Developing it on top of an already profitable space flight business, that is pretty amazing.

Really impressed.

<comment><USER25> I'm pretty sure the launches are actually profitable, so more than cover their costs.

<comment><USER26> Various SpaceX execs have said they need to launch somewhere around 12 rockets/yr to be profitable in the long term (they likely have plenty of cash on hand right now, as most of their contracts pay quite a bit up front, and they have gotten a lot of funding from a couple NASA sponsored development programs).

So yes, the launches themselves are profitable.

</comment></comment></comment><comment><USER3> I've watched several times now and seeing things like this make me optimistic about the future of humanity. The commercial space industry is literally being born before our eyes (not the utility space industry of lift/transport, but the one where private companies begin to capitalize on the resources of space).

My only problem with this whole thing: Weyland-Yutani Corporation sounds so much cooler than SpaceX.

</comment><comment><USER27> A rocket lands like it's done it 1000 times from space, and my company can't even code a simple microservice or use containers.

<comment><USER28> To be fair, I doubt the rocket is running microservices either :)

<comment><USER29> Embedded systems like this is normally coded (on top of an RTOS) as individual services each running on one thread exchanging messages with other services. Pretty much like microservices (just not over http)

(Take a look at e.g. [http://flightsoftware.jhuapl.edu/files/2012/FSW12_McComas.pd...](http://flightsoftware.jhuapl.edu/files/2012/FSW12_McComas.pdf) which is NASAs approach to reusing the typical architecture for flight software)

<comment><USER30> So like a small version of erlang? Once you've started programming in erlang you start to look at concurrency and reliability in a certain way. Especially after you've done some server which took too many hours to stop hanging and crashing on interthread issues.

</comment></comment></comment></comment><comment><USER31> To put this in perspective, they just landed a supersonic toothpick upright on a turbulent matchbox.

<comment><USER32> It was a unnervingly close to the edge of said matchbox. Can't they build a bigger drone ship? Seems a lot cheaper than losing one over the side.

<comment><USER33> Couldn't they make the landing pad a bit more forgiving? Like have two big ring-halves pop-up around it when it lands and "catch" it if it tips. I know they'd want to eventually master landing without it, but not having the whole thing explode seems like a good way to quickly run new flights.

<comment><USER34> No point in spending big on small optimizations like that while they are still working on the part of the process that contains 99% of the difficulty. So far the recovered rocket parts probably have little more value to SpaceX than a very interesting log file. Even if they already send this one up again, it will be more to show off (which is perfectly fine) than for direct monetary reasons.

Once they have an economically meaningful recovery rate, advanced landing pad features might still become a tool to get some margin of error or to reduce the rocket mass overhead necessary for landing. But right now, just tipping over instead of dropping like a meteor (or stopping in mid-air like a cartoon animal, then dropping) is still the goal, not the most pressing danger.

<comment><USER24> I did a bit of research on that after a comment by Josh here on HN, basically when the first stage isn't pressurized by all of the propellant it is more like an empty beer can. (ok a really really tall beer can :-). Once it is on the barge it has the gas thrusters on top (you can see them in the video) which are well positioned to provide maximum torque to the rest of the structure, but they have limited amounts of reaction mass.

The next step would be some way to secure the booster, post landing, in a structurally supportive way, on the barge. I can't wait to see how they pull that off.

<comment><USER35> They have clamps that they were planning on welding to the deck to keep the rocket attached.

<comment><USER24> That would be interesting. I was thinking perhaps a set of explosive bolts on the landing legs which punched into the deck once it was stable.

I was also quite pleased that they had solid video of it coming into land with a drone that was hovering off barge. That was a brilliant move on SpaceX's part.

<comment><USER34> In the new field of vtoL rocketry, you want to have as much of the landing gear as possible on the pad and as little as possible on the rocket. An expensive array of mass produced "autograpples" embedded in the platform would be preferable over any solution that adds mass to the rocket.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER36> Successful landing on the autonomous drone ship. Awesome to be witnessing the amazing progress.

<comment><USER37> Holy cow, congratulations to everyone involved. This almost made me cry.

<comment><USER38> Watched this in public with my coworkers, so I controlled myself. Had I been alone I would have wept with joy. This is so incredible.

<comment><USER39> I wept like a little baby in front of all my coworkers when the first iPhone came out. Such a beautiful accomplishment.

<comment><USER40> Bbeing emotional is key to being human

</comment></comment></comment></comment></comment><comment><USER8> History in the making. Successful landing on 'Of Course I Still Love You'.

Very, very inspirational.

<comment><USER41> I'm hoping that the drone ship name is an Iain Banks tribute - if so, it's hard to think of anything more fitting

<comment><USER42> It is, Elon Musk has mentioned the Culture novels in a bunch of interviews, he was a massive sci-fi fan growing up.

[http://www.space.com/28445-spacex-elon-musk-drone-ships- name...](http://www.space.com/28445-spacex-elon-musk-drone-ships-names.html)

</comment></comment></comment><comment><USER43> I'm very conflicted about SpaceX.

On one hand, I can appreciate the technical performance like everyone, and I do believe this may have a great impact for sending things to space, including humans.

On the other hand, SpaceX's main goal of having men living on mars to me sounds completely insane. No matter how cheap is the trip to mars, I would not live there as I could not afford to, and I doubt anyone on Earth currently can. Maybe a scientific base with public funding would make some sense but it would still be so insanely expensive that it'd be tough to sell to the tax payer. And it's clearly not what SpaceX has in mind, anyway. Also I don't share the fear of an upcoming cataclysm that would make Earth worse a place where to live than mars. I just don't get it.

For reference: [https://youtu.be/3YDnGHaXdxw](https://youtu.be/3YDnGHaXdxw)

<comment><USER44> As Dr. Zubrin once said "I think societies are like individuals, we grow when we challenge ourselves, we stagnate when we do not." \- [https://www.youtube.com/watch?v=j2Mu8qfVb5I](https://www.youtube.com/watch?v=j2Mu8qfVb5I)

I truly believe the whole point of going to Mars is to challenge ourselves. New skills will be required; new passions will be planted in future generations. The benefits will dwarf the cost of the program.

But above everything, humans are wired to explore. Obviously we're exploring things in many other fields, but "exploring other planets" is a different kind of exploration.

<comment><USER45> I agree with this, but I don't understand people who look at Earth and see no interesting challenges of this class.

Climate change? Widespread torture of thousands and thousands of marginalized classes of humans all over the world? Healthcare? Those are vastly more challenging than Mars.

I think the appeal of Mars is that it's somewhat challenging, but it's not messy at all. It appeals to people who can't stomach chaotic systems. They need a clear goal and they need "dumb" opponents, i.e. the laws of physics, materials science, etc. In the face of an intelligent opponent, the challenge becomes too high and they lose interest.

The idea of putting together a solution to a problem with known constraints, and then finding out those constraints changed, or worse yet there was active interference from another human is soul crushing to these people, so they retreat to difficult engineering problems where they will be challenged but not surprised.

</comment></comment></comment><comment><USER46> I'm embarrassed to say I was screaming and cheering like a little school girl upon landing.

<comment> bjelkeman-again Nothing to be embarrassed by. I was too, and I was high-fiving my wife, who I made watch it. :)

<comment><USER47> Wifey not into space tech, but when I explained what this meant, she was like "Wow! I didn't think that it would be even possible to have a stick rocket go up, turn around and land on a little pad in the ocean". That's crazy.

</comment></comment></comment><comment><USER48> Not wanting to be overly dramatic, but as someone who wasn't around in the sixties this feels like our moon landing!

<comment><USER49> Not even close. Impressive nonetheless.

<comment><USER50> In a way it's even more important. Apollo was an amazing achievement, but it wasn't set up to be sustainable. Spending billions just to beat the Russians doesn't last.

If you want to see more interesting space activity than a bunch of comsats, some probes, and the ISS, you need to make space a lot cheaper. That's been stagnant for a very long time, and what we saw today is the second step towards something that promises to cut the cost of space by an order or magnitude or more. We're finally seeing something that might make space something more like aviation, not just a bunch of national prestige projects with a handful of commercial uses.

If people are living on Mars in 50 years (which looks more and more likely now) then it'll be because of this, far more so than the legacy of Apollo.

<comment><USER51> Ok, I'll bite. What was the first?

<comment><USER52> Landing first stage on land.

<comment><USER50> Yes, that's what I meant. The first landing was a huge step, proving the whole crazy concept can work. This was another huge step, proving that the whole crazy concept can work out at sea, where it needs to happen most of the time.

</comment></comment></comment></comment></comment></comment><comment><USER53> Here's a video of the landing: [https://www.youtube.com/watch?v=7pUAydjne5M&feature=youtu.be...](https://www.youtube.com/watch?v=7pUAydjne5M&feature=youtu.be&t=2144)

<comment><USER54> Seems like something has changed. Landing is at about 27:15

</comment></comment><comment><USER55> That really felt like watching history being made. And damn, that ship is getting some waves.

</comment><comment><USER56> Gorgeous success! Fascinating to hear chants of USA USA USA in the background. [https://www.youtube.com/watch?v=7pUAydjne5M&t=37m13s](https://www.youtube.com/watch?v=7pUAydjne5M&t=37m13s)

</comment><comment><AUTHOR> Gifv of landing: [http://i.imgur.com/lH4qRaK.gifv](http://i.imgur.com/lH4qRaK.gifv)

Fascinating how it seems to bounce or slide at the end. Also: WOW!

<comment><USER57> Quite unreal.

</comment></comment><comment><USER57> Watching the webcast feels like being at some blockbuster movie premiere. There's a largish crowd following the launch and applauding on every launch stage completion. Not that it's a bad thing per se, it's rather the opposite, it however, feels quite weird and staged as opposed to launches done by ESA, Roscosmos or even NASA.

<comment><USER58> The NASA people seemed pretty happy when Curiosity landed on Mars: [https://www.youtube.com/watch?v=svUJdzMHwmM&t=3m10s](https://www.youtube.com/watch?v=svUJdzMHwmM&t=3m10s)

<comment><USER59> I cried like a baby that night. I wish my son had been a bit older to be able to stay up and have watched it with me.

<comment><USER3> That was a memorable night. I remember feeling like I was going to pay for it in the morning, but it was worth every bit.

</comment></comment></comment></comment><comment><USER60> Honestly that's the most amazing thing, besides watching my daughter be born, that I've ever witnessed.

<comment><USER26> My three year old daughter watching the launch, in the hospital room where we await the birth of our twins:

[https://www.dropbox.com/s/2fyff902tpfn7mu/2016-04-08%2016.43...](https://www.dropbox.com/s/2fyff902tpfn7mu/2016-04-08%2016.43.49.jpg?dl=0)

<comment><USER61> We had twins when our first was three.

Best of luck to you, my friend. The first year or two will be unlike anything you've endured in your life, but you will make it through.

</comment></comment></comment><comment><USER62> Maybe this is a stupid question but why do they land that thing on floating vessel vs. fixed target on land? Seems like it will be more difficult to manage this in the ocean given that the vessel itself is moving around with the ebbs and flows of the waves..

<comment><USER63> I don't think this is a stupid question, and the Verge came up with a very similar response to what I would think. Having a barge that can be compensating for current wind conditions could enable SpaceX to launch at more times than previous - expanding their launch windows AND launch points. Let's see what the Verge says:

[http://www.theverge.com/2016/4/8/11392138/spacex-landing- suc...](http://www.theverge.com/2016/4/8/11392138/spacex-landing-success- falcon-9-rocket-barge-at-sea)

The main part that they point out that I wasn't thinking of is fuel. They're saving on putting fuel into the rocket because they are now putting that fuel in the place that weight doesn't matter - in the sea. Literally. Weight doesn't matter there - they can create a larger platform (preferable) to put even more fuel into! ..pretty brilliant if you ask me.

:)

</comment></comment><comment><USER64> Hello, Of Course I Still Love You, nice to land on you.

[I love that SpaceX has the Falcon and the Dragon, and that the autonomous landing drones are named for starships in Ian M. Banks' Culture series. Cool technology _should_ get cool names.]

</comment><comment><USER65> That's so freakin' cool!

Does anyone know how the rocket meets the drone surface at landing so precisely especially when the drone is pitching and rolling? Is it processing on the rocket or some other mechanism?

<comment><USER66> F9 is not believed to have any information from ground sources during descent, based on FCC filings. The altitude of the barge only changes by a meter or so in decent seas, and the legs can withstand a drop of several meters, so probably they target sea level +N, where N is the maximum expected height of the deck.

<comment><USER67> Wait, really? They just punch in the coordinates and that's it? Cameras or radar or anything?

<comment><USER50> The ship can hold position to within less than a meter. It's easier to just plan the position beforehand than try to have the rocket receive the ship's position in realtime somehow.

It's interesting to consider how much more difficult this stuff would be without the GPS satellites already in space.

<comment><USER67> You'd think they'd want some redundancy though. Do they really do it only based on GPS, or do they have other optical/radar/radio systems?

Also does the US government give SpaceX access to the military GPS signals?

<comment><USER66> It has very good inertial guidance as well. The GPS is probably the best available; considering they launch GPS satellites, I'd expect they aren't restricted. However, civilian GPS use isn't really much different anymore; intentional degradation was turned off in 2000, though certain dynamic limits still apply on the receiver side.

</comment></comment></comment></comment></comment></comment><comment><USER68> Amazing, well done Space X. Watching the live feed gave me goosebumps and was more exciting than the any blockbuster I have ever watched.

</comment><comment><USER69> Does anyone know how do they "secure" it to the drone?

<comment><USER26> They weld "shoes" onto the deck that hold the tips of the legs.

<comment><USER70> Is it an instantaneous weld that happens on landing?

<comment><USER71> No, they probably fly several people out on a helicopter.

<comment><USER72> And land it where? It's easier to just use a boat.

</comment></comment></comment></comment></comment><comment><USER73> It's crazy how they can do this in real life and I still can't land this in the game[1].

[1] - [https://scratch.mit.edu/projects/76866912/](https://scratch.mit.edu/projects/76866912/)

</comment><comment><USER74> Sensors, control systems, software, hardware and of course the weather. So many things can wrong despite your best efforts. Just think about it, the entire rocket goes through multiple cycles of extreme temperature/pressure variations in a very short span, the different materials used in the vehicle expand and contract at different magnitudes. You have got to get your calculations absolutely right. It is mind boggling to even think about it. Kudos to all the Engineers, Scientists and the support staff for pulling off such a feat. I feel lucky to be able to witness history in the making.

<comment><USER75> Like launching a pencil over the Empire State Building only to have it land upright inside a shoebox during a windstorm, or some such analogy. ;-)

</comment></comment><comment> tom-_- Onboarding view of the landing: [https://twitter.com/SpaceX/status/718605741288894464](https://twitter.com/SpaceX/status/718605741288894464)

</comment><comment><USER76> Live Press Conference: [http://nasatv- lh.akamaihd.net/i/NASA_101@319270/master.m3u8](http://nasatv- lh.akamaihd.net/i/NASA_101@319270/master.m3u8)

</comment><comment><USER77> That landing was amazing to see. The landing they did on land was more spectacular, but having seen their failed landings on the barge earlier it feels so good they succeed at last. Godspeed SpaceX!

</comment><comment><USER78> Video: [https://twitter.com/mirikramer/status/718545053732446209](https://twitter.com/mirikramer/status/718545053732446209)

</comment><comment><USER79> After main engine cut-off(MECO-1), 1st stage turns around and fire it's engine to zero out all it's lateral velocity.

Wish there was a video of that!

<comment><USER80> Here's ground video from last year with the boostback burn.

[https://www.youtube.com/watch?v=_EXPH4iI6FM&t=2m50s](https://www.youtube.com/watch?v=_EXPH4iI6FM&t=2m50s)

<comment><USER79> Did the 1st stage fire in the video? I don't see any visible re-ignition.

</comment></comment></comment><comment><USER81> This is my kind of Super Bowl. A win for humanity.

</comment><comment><USER82> The SpaceX Reusable Rocket Story and other attempts [https://medium.com/lazy- collections/trying-to-land-a-rocket-...](https://medium.com/lazy- collections/trying-to-land-a-rocket-the-story-b73fadb430ef)

</comment><comment><USER83> Self driving electric cars, virtual reality, now this. I think 2016 is the future you guys.

</comment><comment><USER84> Tuned in just in time to see stage 1 sitting happily on the drone ship. Not as much data about what can go wrong, but hey, they got an intact stage 1 back and going over that is going to provide them with mountains of data. Looking forward to more.

</comment><comment><USER85> I literally tuned in 5 seconds before it touched down. So glad I caught that - feels like it's bit of a step forward for mankind actually. Huge congrats to the SpaceX team. We're all very proud of the awesome work you're doing!!!

<comment><USER86> > I literally tuned in 5 seconds before it touched down.

No, you probably didn't. The link in this post is to a youtube recording bookmarked to the point a few seconds before touchdown.

</comment></comment><comment><USER87> Amazing stuff! BTW, can we buy those "Occupy Mars" T-shirts somewhere? :-)

</comment><comment><USER88> Elon is having a very good week!

</comment><comment><USER89> Here is footage of the Falcon 9 stage 1 landing and the celebration that ensued... (if you missed it)

[https://www.youtube.com/watch?v=wKDr7YwRR7Y](https://www.youtube.com/watch?v=wKDr7YwRR7Y)

</comment><comment><USER90> So annoyed my alarm didn't wake me this morning to watch this live, glad it didn't explode this time and made an awesome landing. Huge congratulations to SpaceX!

</comment><comment><USER91> Musk is having the week of his life.

</comment><comment><USER92> It came down at quite the angle.

<comment><AUTHOR> This is intentional. I think the plans are that SpaceX would be directing the first stage to de-orbit and enter the atmosphere with an "incorrect" trajectory, so that if the landing burn fails the rocket will be safely sent out to sea. Part of the landing burn is a redirect maneuver, so that the rocket will always have a crazy angle when it comes in, but will also keep land/people safe.

<comment><USER79> I don't think that's the correct explanation.

<comment><AUTHOR> Perhaps that's not what happened here - it sounds like Elon later explained that there were high winds at the landing site that might have caused the heavy lean. However, what I said about the last minute divert maneuver is possible/probable for future landings. Here is a recent discussion about it: [https://www.reddit.com/r/spacex/comments/3xzn7s/my_previous_...](https://www.reddit.com/r/spacex/comments/3xzn7s/my_previous_spacex_falcon_9_vs_blue_origin_new/cy98n0b)

<comment><USER93> Here's the NASA press conference where he says it: [https://youtu.be/EmN9IJyzBG0?t=23m30s](https://youtu.be/EmN9IJyzBG0?t=23m30s)

</comment></comment></comment></comment></comment><comment><USER94> Wow!! Wow!!! Wowww!!!! That is SOOO COOL!!! >.<

</comment><comment><USER95> Missed it by five minutes :) Is there a replay?

<comment><USER96> You should be able to rewind the YouTube stream.

<comment><USER95> Shows my age - I'm so used to live streams being non-rewindable that this didn't even occur to me.

</comment></comment></comment><comment><USER70> Just seeing the first stage come in for a landing was amazing. Being able to stream that video was a wonderful surprise.

</comment><comment><USER97> Can somebody please remind me again why we have to land this thing on a barge on water instead of land?

<comment><USER98> It's because there's not enough fuel to make it back to a landing pad.

<comment><USER99> And they actually explained that in the video: [https://youtu.be/7pUAydjne5M?t=23m37s](https://youtu.be/7pUAydjne5M?t=23m37s)

<comment><USER97> Thanks guys.

</comment></comment></comment></comment><comment><USER100> WooHoo! NAILED IT AGAIN!

</comment><comment><USER101> Somebody tweeted last week that Elon Musk is the new Steve Jobs.

I think he's the new Tony Stark.

<comment><USER102> You may have that backwards.

[http://www.todayifoundout.com/index.php/2011/08/robert- downe...](http://www.todayifoundout.com/index.php/2011/08/robert-downey-jr- modeled-his-portrayal-of-tony-stark-after-elon-musk-one-of-the-founders-of- zip2-paypal-tesla-motors-and-spacex/)

</comment></comment><comment><USER28> Can't wait to see this first stage land again! (and again and again...)

</comment><comment><USER103> Is there anyone here who doesn't drink the SpaceX Kool-Aid?

<comment><USER104> Why don't you? Serious question.

<comment><USER103> It's not a worthy character trait. Jesus.

</comment></comment></comment><comment><USER105> Very nice, congrats SpaceX!

</comment><comment><USER106> Wow simply amazing.

</comment><comment><USER69> Woohoo!

</comment><comment><USER9> Max-Q, looking good!

</comment><comment><USER107> Yesss! They landed it!

</comment><comment><USER108> Wowwww, amazing. Congrats!

</comment><comment><USER9> They did it! On the ground!

</comment><comment><USER109> Wow! Mind blowing stuff today

</comment><comment><USER110> Woohooo. It landed back safely.</comment>


The Alpha Geeks - Tim O'Reilly [MP3] - <AUTHOR> http://www.itconversations.com/shows/detail197.html <comment><AUTHOR> I've been recently relistening to the best interviews and talks from the last few years that I remember, and this one really stuck out (both in memory, and when I listened to it again).</comment>


How the Internet killed porn - <AUTHOR> http://www.smh.com.au/entertainment/movies/how-the-internet-killed-porn-20120606-1zv8h.html

<comment><USER2> First it giveth and then it taketh away.</comment>


An Awesome Book - <AUTHOR> http://veryawesomeworld.com/awesomebook/inside.html <comment><USER2> I can't help but notice this tends to paint 'ordinary' people as somewhat sad and deficient. Imagine the story was written in the same manner, but in praise of physical coordination/agility instead, and you can see what I mean. Perhaps it is an understandable reaction to the historical under-appreciation of imagination in society and educational environments. But I'm not sure how much sense it makes for a child that doesn't face this environment or is more practically minded. It does look pretty cool though.

<comment><USER3> > But I'm not sure how much sense it makes for a child that doesn't face this > environment or is more practically minded.

Is there such a thing as an unimaginative child (or a practical one, for that matter)? As a child I seem to recall that all my friends and classmates were imaginative and creative, and my child and his friends are just the same in that way. Lego is universally popular, as is playing "pretend", and so on.

Obviously these traits are present in children to different degrees, but I think the point of this book is to emphasize that the lack of imagination and creativity in adults and its replacement by banality and commercialism is the product of socialization and choice.

> Imagine the story was written in the same manner, but in praise of physical > coordination/agility instead

We'd probably be offended if, in that case, the uncoordinated people were drawn as obese (although the same effect could be achieved by simply displaying them as immobile). What's interesting, though, is that the book actually could be written that way. Children are far more active than adults and, because physical coordination and agility can be improved through practice, are often faster and more nimble than adults (I'm speaking anecdotally here, but if you visit a playground and watch a kid evade their parent and the point is made.)

Just as imagination and creativity are often lost or suppressed on the journey to adulthood, many people also shed their love of physical activity, with unfortunate results.

Perhaps the point, ultimately, is that there's lots we can learn from children, and much that is in them innately that we can help nourish.

</comment></comment><comment><USER4> Here is the author's blog:

<http://dallasclayton.com/>

Warning: contains awesome poetry.

It makes me happy that people like this exist.

<comment><USER5> > _It makes me happy that people like this exist._

i find people like this extremely unnerving. this kind of oceanic "awesomeness" enthusiasm comes across as someone struggling to convince themselves that just the opposite isn't the case.

<comment><USER6> Do you have kids? The oceanic awesomeness of this book is no match for thhe boundless optimism and enthusiasm of my two-year old daughter or any child for that matter. I'm all for being a realist, but with children it pays off in spades to fill them up with hope, optimism, and fearlessness.

<comment><USER7> totally agree -- i have three: 6,5 and 1. The joy on a young one's face at the sight of a balloon ... or bubbles ... is simply mind boggling. If anything could make me that happy ... <sigh>. Kids come with hope, optimism, and fearlessness - its up to us not to ruin it.

</comment></comment></comment></comment><comment><USER8> Just to be a contrarian, why are we always encouraging kids to think ridiculous things? Shouldn't we be encouraging our kids to think about interesting things? Beige furniture and giant cars woven out of spaghetti are both pretty boring thoughts from my point of view.

<comment><USER9> Agreed. There's something slightly condescending about the book -- about an adult trying to think of awesome `childlike' things, and only coming up with outlandishness.

I've tried encouraging my children to remember and write down their dreams, and my impression (they might disagree!) is that the ones which struck them the most are those which were unlike reality in some small, but important way; not those which were simply bizarre.

</comment></comment><comment><USER10> I would love to see his sales history after this stint on HN's front page.

devinfoley, you say this guy is your friend. Tell him to write a post-mortem on sales of the HN effect.

Also tell him, that will likely get him more sales :)

<comment><USER11> I was thinking the exact same thing.

He can at least count me down for one copy. Just bought it can't wait to show it to my little dreamer.

<comment><USER12> Same here. I have a six year old boy who will love the book. The first 5-7 pages will get him laughing and into it while the final bits will hopefully help him stay unique.

Thanks to the author and OP for posting this!

</comment></comment></comment><comment><USER4> I'm not a fan of kids, but this makes me want to have kids just so I can make them read it.

<comment><USER13> There are simpler ways: nieces and nephews for example

<comment><USER4> only child unfortunately.

<comment><USER14> There has been a continuous replication and mutation of your gene pool since the first prokaryotes came into existence several billion years ago. So you planning to put a halt to it?

<comment><USER15> There has been continuous suffering and pain since the first prokaryotes came into existence several billion years ago. I can't speak for the grandparent, but yes, _I_ am planning to put a halt to it. There is all the reason to do so, and no reason not to.

<comment><USER5> YES A THOUSAND TIMES OVER.

i post a comment with this sentiment a few days ago, and predictably it got down-voted below -4: <http://news.ycombinator.com/item?id=1902911>

we live in a world full of tremendous suffering. our attachment to survival is the result of a mindless and meaningless processes of selection.

no one can do better for their children than to take a stand against this nonsense and never subject them to this world to begin with.

<comment><USER15> I saw that post and was going to ask why people were downvoting it, but then I figured it was borderline offtopic, so I didn't bother. If you're looking for some rarely like-minded people, come live the good life at <http://www.antinatalism.net/>. :-)

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> The simplest message in the most creative manner. I thought it was perfect to post to HN!

<comment><USER16> I really enjoyed the illustrations. Really brought back memories of the picture books I loved as a kid.

</comment></comment><comment><USER17> Weird to see this on HN. My friend wrote it and published it himself.

<comment><USER17> He also has a new one out if anybody is interested. <http://veryawesomeworld.com/awesomebookofthanks/inside.html>

They are well made and a good purchase for anybody has has or knows kids.

<comment><USER18> Limiting this to people that have kids seems to be missing the point :)

<comment><USER19> Grown up kids count too ;)

<comment><USER20> Thought it was squarely aimed at adults. We age and sometimes our dreams get jaded or our friends and family shatter and ridicule them.

</comment></comment></comment></comment></comment><comment><USER21> I'm a skater & love theberrics.com - he's been on there often, heres the backstory: <http://theberrics.com/dailyopspost.php?postid=2440>

warning: an ad will roll before you see the real content.

</comment><comment><USER22> I want my future children to read this.

<comment><USER23> I want mine to not have too.

</comment></comment><comment><USER24> and a man who has a Million dreams that Roar is called an artist or an Entrepreneur.

</comment><comment><USER25> Djshah:

Thanks for posting this on Hacker News. Both of Dallas's books are simply wonderful and his blog is amazing.

<comment><AUTHOR> My pleasure!

</comment></comment><comment><USER26> Obviously a great read for kids and adults alike. The only thing to add is that I love its message of cultivating that sort of mental playfulness, which allows you to explore the fantastic, unknown territory where great ideas can be found.

</comment><comment><USER27> I will read this to my kids on the iPad tomorrow night (they are already asleep)

<comment><USER28> Oooooh i get it. Right don't have an iPad and haven't spent more than 5 minutes on one so didn't recognize the formating.

Clever.

</comment></comment><comment><USER29> I just bought it. They nailed the title! It's probably the most awesome book I've ever read. My daughter needs it in her library.

</comment><comment><USER30> I share a washing machine with this dude; _Way to go Dallas!_

Y'all [the HN community] have great taste.

</comment><comment><USER31> I would really like to have this in a Swedish translation, so I can read it to my kid.

</comment><comment><USER32> img { display: block; }

<comment><USER33> Or remove the

      <DIV style=" width:32000px;...

Goofy markup aside, it's a beautiful book. :)

</comment></comment><comment><USER34> Thank you Dallas.

</comment><comment><USER35> error: aren't (midway through)

</comment><comment><USER36> Yes, very Quirky. "Do what you want - not what you're told".

</comment><comment><USER37> CLICK TO PURCHASE

<comment><USER38> So? How is this different from any other person posting their creation here? Both the illustrations and story are great. Thanks for posting.

<comment><USER37> The book has an implicit anti-commercial message:

 _Instead they dream of furniture_

 _of buying a new hat_

 _of owning matching silverware_

 _could you imagine that?_

 _Instead they lay awake at night_

 _wishing for a car_

 _not one that runs on jellybeans_

 _but one that's reg-u-lar_

etc. I just thought it was a bit (too) ironic to end with a big BUY NOW link.

<comment><USER39> A man's still gotta make a living.

Also, for every book sold he's giving away a copy to a child somewhere in the world: <http://veryawesomeworld.com/foundation.html> which seems like a pretty decent thing to me.</comment></comment></comment></comment>


Recycling memory buffers in Go - <AUTHOR> http://blog.cloudflare.com/recycling-memory-buffers-in-go <comment><USER2> Buffer caching, the technique that never goes away.

GC does not mean your memory management is solved. It means that your memory management works well enough for development and sometimes for undemanding tasks. That said, generational GC can be like mediocre buffer caching "for free." But this still doesn't make all explicit buffer caching go away.

Given that buffer caching is "the techique that never goes away," why isn't some facility for handling this built into the runtimes of languages with GC? You could tell the GC that this particular type of object needs to be cached, with a cache of this size and growth policy, and then programmers never have to write and debug code that does this.

EDIT: Another way to think abut this: because GC is designed to be universal and foolproof, it's easy to get GC into a corner case where its behavior is very suboptimal. In the case of "memory pressure" you can think of this as the GC having to scan the graph of references way more often than it really needs to. However, the optimization techniques for many of these are fairly generic. What if optimization techniques could be built into languages and runtimes, then instrumentation could be used to empirically determine what optimizations are actually needed, then these could be simply "switched on" for particular classes or types.

<comment><USER3> That shouldn't usually require any explicit support from the runtime; it can exist as library code (and does - for instance Apache Commons: [http://commons.apache.org/proper/commons- pool/](http://commons.apache.org/proper/commons-pool/) ).

<comment><USER2> _> That shouldn't usually require any explicit support from the runtime; it can exist as library code_

Well, of course. People writing their own logically implies that such can exist as library code. But if you build in support from the runtime, then it might be possible to squeeze out a bit more performance. For example, perhaps it's possible to tell the GC that certain objects don't have to be considered as roots. (And to the extent that this is possible with current libraries, it's because there is support built into the runtime.)

EDIT: Also, having these mechanisms as library code probably opens up more opportunities for introducing implementation errors.

<comment><USER4> Generic buffer caching support looks an awful lot like generational GC. It's faster when you hand-roll it because you know how you're going to use the buffers and which buffers are going to be reused.

<comment><USER2> I'm proposing something that's not quite as foolproof and automatic as generational GC, but more optimal and a lot quicker and safer than hand- rolling. Also something for which profiling is enough to "know how you're going to use the buffers and which buffers are going to be reused."

So basically, take something that's a programming problem and reduce it to "profile, then throw some switches."

<comment><USER4> I guess I'm just not seeing how that's going to result in anything different than a userspace freelist library.

<comment><USER2> If you do everything correctly, not too much. But you can't assume the former. Also, having the thing baked into the language/runtime will encourage use. It's along the lines of what happens with refactoring facilities that aren't part of the browser/editor/ide. They stay "that esoteric thing over there" and don't get used that much.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Maybe I didn't read the code right but where does it check whether a retrieved buffer is the right size? The makebuffer() routine appears to generate random size buffers but that length then doesn't get checked.

My experience from embedded systems is that buffer rings are great if you can predict two or three common sizes that cover your typical allocation needs.

I think even for people that work mostly in GC environments it's a good idea to read through the basic mechanism of heap management and allocation strategies. This article is a good intro to the basic idea and I like the charting and analysis being done.

<comment><AUTHOR> The sample code does not check the buffer size. This is a slightly artificial example to show the technique and have some interesting graphs to back it up.

</comment></comment><comment><AUTHOR> There's a proposal to add something like this in Go itself: [https://code.google.com/p/go/issues/detail?id=4720](https://code.google.com/p/go/issues/detail?id=4720)

<comment><USER6> unfortunately, it looks like it isn't going anywhere right now:

[https://groups.google.com/d/topic/golang- dev/QtSIOFsNFrQ/dis...](https://groups.google.com/d/topic/golang- dev/QtSIOFsNFrQ/discussion)

</comment></comment><comment><USER7> This is nice, but I can't help but feel it's a little wrong that we're still making free-lists like in the olden days.

<comment><USER8> You absolutely don't need to do any of this to write Go programs that outperform Ruby or Python.

<comment><USER7> Generally, sure. But it's still pretty easy to write garbage-generating Go applications that exhaust memory because the GC isn't compacting. In some applications this is a nobrainer: use a free list. In some others, like when you don't actually know what kind of buffer size you'll need, it's not so easy (although you could argue you should just fixed-sized chunks for whatever you're doing, and recycle those, but that's a lot of work.)

What I'm saying boils down to: Free lists are definitely useful, but the GC could be better.

<comment><USER9> "Could be better" is of course true for every single situation, no matter how good.

But even Java, which has what is generally regarded as the most advanced GC ever written, still has lots of applications doing the free-list of ByteBuffers or even better, the free-list of off-heap-allocated DirectByteBuffers which don't have to be moved during tenured generation compactions.

It seems pretty reasonable to me to have one or two freelists at the spots you're frequently allocating 64kb buffers, along with using the GC for the other 5,000 allocations in your project.

<comment><USER7> Sure. No disagreement.

Let me put it another way: Go's GC is still in its infancy compared to those in most other languages. It's perfectly fine to use, but there are some big things (e.g. no compaction) that stick out when using the language, whether you're working with free-lists or something else.

<comment><USER8> I think you're going to find that even with no attention to allocation at all, your Golang programs are going to outperform their Ruby and Python equivalents.

That's a dicier assertion to make versus other languages, notably Java, but if you're coming to Golang from a high level language like Python, you're probably going to be happy with the performance you get out of naive code.

<comment><USER7> You're right (except for some cases like crypto and regex where other languages "cheat" by using C bindings or unstable versions), but that isn't where it has bit me. In general all my Go programs have been more than fast enough, but on several occasions I've had memory starvation problems that I would not be having in other languages (even if there _is_ a way to do it without doing a lot of allocation and fragmentation in Go.)

I love Go, but "it's fast" isn't a good reason not to improve a subpar GC. (Which fortunately isn't a position the Go team is taking. I know everyone there would like to see a lot of interesting things happen with the GC. It just hasn't been one of the more pressing issues so far, and I've agreed. It's also a very difficult and "boring" thing to work on for most people, so it's not surprising that somebody hasn't just added an Azul C4-style concurrent GC in their spare time.)

<comment><USER10> Azul C4 requires a kernel module or a specialized kernel to support all the MMU tricks that it relies on to achieve maximum performance. I don't think it's really an appropriate choice for general purpose GC in a language that's designed to be easy to deploy.

Java HotSpot's collector makes the most sense IMHO: stop the world compacting in the young generation, mostly concurrent in the tenured generation. It achieves better throughput than Azul C4 too, according to the C4 paper.

<comment><USER11> I vaguely remember reading somewhere that they figured out a way to run their collector on stock Linux; I think the price they paid in exchange was (even) lower throughput (trying to track down reference so I know I wasn't daydreaming) (yes, I daydream about GCs).

A while ago, I read through the kernel patch they provided, and it was basically adding batch APIs for mremap so you don't have to have a TLB flush for every call. Also because all mutator threads needed to be paused at a safepoint while the remaps happen, so the batch API has much shorter pause time.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> This technique puts a lock in your serving path which will necessarily limit parallelism. Go channel operations are not "non-blocking" in every sense. Even if you have them in a select block your thread has to take the mutex to find out if the buffer is empty (on receive) or full (on send).

</comment><comment><USER13> FWIW: Node.js uses a buffer cache like this by default: [https://github.com/joyent/node/blob/master/lib/buffer.js](https://github.com/joyent/node/blob/master/lib/buffer.js)

<comment><USER13> Would the down-voters care to explain? I've pointed out how another platform deals with allocating raw memory buffers as it's relevant to the discussion.

I've made no claims of it being superior, and in fact, am largely using Go myself these days.

<comment><USER7> Using a shared buffer list isn't very efficient in a language with concurrency since you have to synchronize to take from/add to the list.

<comment><USER14> All heap access must be synchronized. Using pooled buffers may actually be faster because you can ensure that only one thread is accessing a specific pool. Just create a new pool, when a new thread is created.

<comment><USER7> Or, you know, each thread could allocate only when it needs something and handle its own recycling. Node.js has a particular advantage in that it isn't concurrent in any way (which, of course, has many other downsides.)

<comment><USER15> You can certainly build concurrent systems on top of Node, what it doesn't have is preemptive multi-threading, which sucks IMHO, but speaking of Go I also don't like that it does M:N multi-threading instead of 1:1 like the JVM, as the scheduling done is suboptimal.

<comment><USER16> Oh man, I'm pretty keen to write many types of subsystems, but thread scheduling?

I'll take stuff I don't want to mess with for 300, Alex.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> coincidentally …. this is how we pooled the buffers on Vine for Android to make Camera initializations efficiently.</comment>


Revisiting the XML Angle Bracket Tax - <AUTHOR> http://www.codinghorror.com/blog/archives/001139.html

<comment><USER3> As a lisp weenie, I feel it is my duty (yes, I have a strong sense of entitlement ;P) to ask:

Does XML ever have anything over s-expressions, anytime?

As one point, I sometimes struggle with the attribute/nested-tag dichotomy of XML. Sometimes any of them would make sense. Other times, it really looks like it should be an attribute but since the value is more complex than a string I have to use a nested tag.

With s-expressions those issues just don't seem to come up.

<comment><USER4> Yes, XML syntax is better for writing and editing structured human-readable documents. eg. something like XHTML. The attribute/element dichotomy also makes a lot of sense in that context.

Regarding structured machine-generated data (which is where XML actually is used most today), s-expressions are arguably simpler.

<comment><USER3> "Yes, XML syntax is better for writing and editing structured human-readable documents. eg. something like XHTML."

      (:html
       (:head (:title "I like s-expressions better to read and write XHTML."))
       (:body
        (:h1 "Some advantages of s-expressions")
        (:ul (:li "Not having a redundant end tag is a " (:strong "HUGE") " improvement.")
             (:li "Parentheses are nicer than angle brackets " (:acronym :title "in my humble opinion" "IMHO") "; they're also easier to type on most keyboard layouts.")
             (:li "You have more room to extend the language, for example having complex attributes."))))

        <title>I like s-expressions better to read and write XHTML.</title>

Some advantages of s-expressions

Not having a redundant end tag is a HUGE improvement.

Parentheses are nicer than angle brackets <acronym title="in my humble opinion">IMHO</acronym>; they're also easier to type on most keyboard layouts.

You have more room to extend the language, for example having complex attributes.

<comment><USER4> The redundant end tag is a feature which makes it easier to write and edit by hand. E.g. imagine you have a
 of text more than a screenfull - <USER2> do you see when the section ends? Which closing parenthesis is it? This is an important feature because document are often large, deeply nested structures.

Parentheses may seem nicer than angle brackets if you are used to Lisp (C programmers probably think curly brackets are clearly nicer), but note that you are replacing the angle brackets with parentheses _and_ quotes, both which have to match. So it is at least twice as tricky and error-prone to write by hand, and the quotes are less visually helpful since they don't have "direction".

Of course any of these problems can be alleviated by a fancy editor, but XML was intended to be writable and editable without special software.

XML is of course just as extensible, since you use elements for complex structures, not attributes.

S-expressions work fine in Lisp, but programming code is differently structured than documents. For example, in code you typically (hopefully!) don't have several screens of code deeply nested.

<comment><USER3> In most documents, the number of tags that fit in a screenful __completely __dwarfs the number of tags that don't. So it makes sense to optimize for the former case. And I don't think forcing redundance everywhere is a proper way to "make it 'easier' to edit".

You seem to worry about counting closing parentheses but with s-expressions you don't count parentheses. You just look at indentation and the structure emerges.

I just don't buy the "XML should be writable without a proper editor" argument. Why optimize for the couple clueless fools that will try to edit it in NotePad if it hampers the work of the tons of people who actually need to edit lots of XML and actually use a proper editor? Using a proper editor also fixes the undirected quotes problem. Besides, s-expressions might even work better than XML in NotePad because you don't have to indent the end tag because it's just a closing parenthesis that you don't indent.</comment></comment></comment></comment></comment>


Ask HN: Have you ever upgraded your hard drive's firmware? - <AUTHOR>

I've just been bitten by a firmware bug in an old hard drive. (I had backups, and it's an old drive, but still it's annoying).
That made me wonder: do you upgrade the firmware in your HDs? Do you do it for all of them, or only if the changenotes are scary?
Do companies with very many HDs upgrade the firmware? (EG Backblaze, Google, Amazon, etc etc).
(I was able to fix the bug by using the Seagate diagnostic port; a USB to serial adapter, and instructions linked in this years old SE answer http://superuser.com/questions/365999/how-do-i-recover-data-from-my-presumably-dead-hard-disk ) <comment><USER2> SSDs I do, because for whatever reason SSDs often contain buggy firmware or the updates provide performance improvements.

HDDs I do if I have a specific issue. But often HDD firmware updates wouldn't be available which I put down to how mature that technology was, at some point they just run out of stuff to add or break.

I do have a laptop HGST drive right now with a bug in it and no firmware update. I'd happily apply it if I could.

</comment><comment><USER3> updates are meaningful only if you are affected by a bug, as you described. (security updates are mandatory because each security bugs are affecting your code)</comment>


Are your add-ons e10s compatible? (Firefox Electrolysis multi-process) - <AUTHOR> http://arewee10syet.com/

<comment><AUTHOR> This is the next big leap for Firefox:

[https://wiki.mozilla.org/Electrolysis](https://wiki.mozilla.org/Electrolysis)

[https://developer.mozilla.org/en-US/Add- ons/Working_with_mul...](https://developer.mozilla.org/en-US/Add- ons/Working_with_multiprocess_Firefox)</comment>


Show HN: Modern OpenGL Windows Demo - Const-me https://github.com/Const-me/GL3Windows <comment> Const-me I did OpenGL programming for Windows on my first job, in 2000. For the last decade however, I've only used OpenGL on Nintendo Wii, but for Windows I mostly used Direct3D.

Recently some company asked me to demonstrate my OpenGL programming skills. I could do that using the 15 years old OpenGL I knew, with glBegin/glEnd and fixed function pipeline.

But I knew this way is very suboptimal. First, modern hardware just no longer supports fixed function pipeline — it's emulated. Second, I wanted to calculate stuff on GPU.

I decided to learn modern OpenGL instead. Found surprisingly few articles on the web. Most tutorials are for old OpenGL and/or are focused on some third- party toolkits.

That's why I have created this demo. Hope the source code will be useful to someone.</comment>