Firefox update policy: the enterprise is wrong, not Mozilla - <AUTHOR> http://arstechnica.com/business/news/2011/06/firefox-update-policy-the-enterprise-is-wrong-not-mozilla.ars

<comment><USER2> This article is right.

Firefox (and Chrome) updates should be seen in the same way as virus definition updates - something that can indeed cause chaos [1][2][3], but is too useful and sensible to do any other way. Similarly to virus definition updates, typically these updates don't get tested before being rolled out.

[1] [http://arstechnica.com/software/news/2010/03/bitdefender- upd...](http://arstechnica.com/software/news/2010/03/bitdefender-update- breaks-64-bit-windows-pcs.ars)

[2] [http://www.techgeekandmore.com/tag/ca-anti-virus-update- brea...](http://www.techgeekandmore.com/tag/ca-anti-virus-update-breaks- windows/)

[3] [http://simonedwards.blogspot.com/2010/04/mcafee-anti- virus-u...](http://simonedwards.blogspot.com/2010/04/mcafee-anti-virus-update- breaks-pcs.html)

<comment><USER3> What if a business on the edge goes bankrupt because their internal web apps stop working?

<comment><USER4> It's hard to blame the straw when the camel's back breaks.

<comment><USER5> I read that as "It's hard to blame the straw man when the camel's back breaks."

This probably applies as well.

</comment></comment></comment></comment><comment><USER6> _the enterprise is wrong, not Mozilla_

This isn't necessarily an either/or thing. They can both be right... it's all a matter of perspective.

 _So what can enterprises do?_

One option is to wait and see if some enterprising (no pun intended) young startup emerges, that offers long-term support for older versions of Firefox. If EnterpriseBrowser Inc. existed today, and sold a guaranteed support program (including backports of security fixes) for, say, Firefox 4, for, say, 5 years, they could probably make some nice coin from the corporate customers.

It doesn't even have to be a for-profit startup as far as that goes... a few $BIGCORPs might pool some resources and create a new open-source project to maintain older releases. Who knows?

<comment><USER7> I really, REALLY hope this does not happen. We don't need FF4 to be the next IE6!

<comment><USER6> Something's gotta be "the next IE6"!

<comment><USER8> From my experience, the next IE6 is IE7/IE8. They both have the _strangest_ quirks.

(as a random example, in IE7, try setting the hash of an iframe, from an iframe inside of that, and if they're on different domains. It... opens up a new window?! And the fix for this is to have another iframe inside that inner iframe which is the same domain as the iframe you want to set the hash on, and from that, do parent.parent.location='#whatever'; %^$^&$#@$&)

(and in IE8, WHY does postMessage not work properly across popups opened up from iframes? WHY.)

Bah.

<comment><USER9> It's obviously going to be IE8. Anyone can upgrade from 7 to 8, but to upgrade to 9 you have to be running something more modern than XP, which isn't going away anytime soon.

<comment> T-hawk Indeed. XP itself is a major reason IE6 hangs around so much. XP installation discs and images only ever came with IE6, never anything newer. And with the frequency that most corporate workstations get reassigned and recreated and reinstalled, IE6 comes out of its casket all the time. It's not that these corps are scared or ignorant of upgrading past IE6, it's that doing so across 100 or 10,000 machines is a huge task and not worthwhile from a cost-benefit standpoint.

<comment><USER9> Have you ever worked in that sort of environment? "doing so across 100 or 10,000 machines is a huge task and not worthwhile from a cost-benefit standpoint" contradicts my own experiences.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> _The major problem is testing. Many corporations have in-house Web applications—both custom and third-party—that they access through their Web browsers, and before any new browser upgrade can be deployed to users, it must be tested to verify that it works correctly and doesn't cause any trouble with business-critical applications._

Is this really necessary with Firefox or any WebKit browser? If your app is running in Firefox, presumably it's actually written properly to standards (as opposed to being written against whatever Microsoft shipped 10 years ago). Firefox 5 doesn't change that much, just like Chrome releases. (err, what version am I on? Who cares?)

<comment><USER11> Exactly. This "new browser version will break everything" argument applies very much to Internet Explorer, but IMO not so much to better browsers like Firefox and Chrome. There might be minor quirks here and there, but those are never going to be serious enough to require more than a couple of days of testing if the app is standards-compliant to begin with.

<comment><USER12> I am not sure that is true any more.

As an example. Run something like Test 262(<http://test262.ecmascript.org/>) which is the official test suite for JavaScript 5 and you'll see how many compatibilitiy issues there are just for this single spec in Firefox. It's in the hundreds.

Anyone of these could potentially break an app. And that is just for one of the many specs in Firefox.

<comment><USER13> And how many of those are things where ES5 changed behavior from ES3 and Firefox still implements the ES3 behavior?

Your problem there is really with the standard...

But more importantly, intranet apps are not coded to standards to start with, so the whole discussion is moot.

<comment><USER12> On the Mozilla technology page <http://www.mozilla.com/en- US/firefox/technology/> it specifically calls out ES5 support. There is no qualifier, so I am assuming that they believe they are fully supporting it.

Your argument about Intranet apps not coded to standards seems circular. If browsers (like Firefox) don't implement the standards properly, then how can Intranet apps code to standards? It has to start with browsers.

<comment><USER13> > it specifically calls out ES5 support.

Yep. Support for all the new ES5 features... Doesn't guarantee that it's all bug-free, sadly. That said, you may be interested in the graph shown in [http://blogs.msdn.com/b/ie/archive/2011/06/30/test262-indust...](http://blogs.msdn.com/b/ie/archive/2011/06/30/test262-industry- javascript-standards-test-available.aspx) (ignoring for the moment the "start at 50%" inanity).

You may also be interested to note that changes continue to be made to the ES5 specification; the most recent ones happened just a few months ago. The whole moving target thing makes it hard to comply with all the edge cases at all times, obviously. I would not be surprised if there are now test262 tests that are testing the old language, and will need to be fixed just like browsers will need to be fixed.

> Your argument about Intranet apps not coded to standards > seems circular.

I wasn't making an argument; just stating a fact.

But note that the non-standard assumptions that intranet apps make are not even in the sort of things that 262test shows as broken in browsers: the latter tend to be somewhat esoteric due to the obvious fact that browsers sort of agree on the JS used on the web. But intranet apps tend to be coded to particular DOM quirks (in areas where the standard often doesn't define behavior to start with), particular HTML parsing quirks (until recently there was no standard for parsing HTML), and so forth.

Or put another way, intranet apps have a tendency to find situations where there is no behavior defined by a standard and depend on behavior in those situations, when the smart thing to do would be to avoid those situations entirely.

</comment></comment></comment></comment></comment></comment><comment><USER14> There seems to be a consensus that enterprise wants one kind of browser and _everyone else_ wants another kind of browser.

Put another way, what does Firefox have to gain from catering to enterprise needs? Funding? They have plenty at the moment. Code contribution? I doubt they really want code from companies who seem dependent on crudware internal apps.

So, let them continue to write cruddy web apps that only work in IE. Perhaps their users will complain, and the IT guy will install Chrome, or Firefox. Then their employees will have to switch between browsers when they log into their HR portal or accounts billing or whatever. That doesn't seem so terrible a thing.

<comment><USER15> Although I'm not involved with enterprise software, I am worried by the direction Firefox and Chrome are taking: in addition to being a platform for deploying applications, the web is the most important way for readers and writers to share text on the internet, and I worry that rapidly improving the web's ability to deploy applications will make it less suitable for reading and writing. For example, if the web would have been used only for reading and writing, browsers would probably be a lot more stable than they actually are (since an application-delivery platform is a more complicated and consequently less stable thing than a text-delivery platform). And browsers probably wouldn't require half a gig of RAM like Firefox 5 does.

Note that it is not worth a writer's time to use an alternative to the web to deliver text over the net until a sufficiently large fraction of his potential audience is set up to use the alternative. Similarly, a reader cannot use the alternative to download or read a particular text unless a writer (well, owner of the text's copyright, to be more exact) chooses to publish in that alternative. And the existence of the web makes it hard for any such alternative to gain traction. So, readers and writers are stuck with the web for a number of years, until some alternative reaches critical mass.

So when I read about how the pursuit of the HTML 5 vision is causing pain for enterprise users, my first reaction is not to conclude that enterprise users are holding back the web, but rather to see the enterprise as a _potential ally_ in the important project of preventing the HTML 5 program or the enhanced-web-app program from making reading and writing online a lot more difficult than it needs to be.

<comment><USER16> I don't see how the web is getting worse at sharing text. If anything, HTML5 makes it possible to mark up text in a more semantic way, improving access for screen readers for the blind, for example.

The fact that people CAN embed movies and audio does not prevent them from posting text. Nor are increasing RAM requirements a problem if you consider the market. I just checked Dell's site, and you can't even buy a laptop with less than 1GB of RAM right now, but you can get more than 16GB.

<comment><USER15> >I don't see how the web is getting worse at sharing text.

I already gave some reasons, and here is one more: if the web had stayed a means of sharing text and images, it would not be one of the most popular ways for attackers to get control of a desktop computer.

</comment></comment></comment></comment><comment><USER17> Money quote:

"If a company really does need to perform extensive validation and verification of its software, perhaps using a browser to deliver that software just isn't appropriate."

<comment><USER18> _If a company really does need to perform extensive validation and verification of its software, perhaps using a browser to deliver that software just isn't appropriate._

First, any time you have software that is a key part of your line of business you have to do extensive validation and verification.

Second, rapidly upgrading browsers isn't something inherent in browsers. As enterprises have shown, you can stick with the same major version of a browser for years w/o any degredation in the core business.

At the end of the day for a lot businesses its just a runtime for deploying CRUD apps. The browser is a fine mechanism for that.

<comment><USER19> > As enterprises have shown, you can stick with the same major version of a > browser for years

As the article points out, it is only really true of IE -- the 'enterprise- friendly' browser -- that feature updates are accompanied by major version change. It's somewhat disingenuous to generalise that to 'a browser' when most browser makers have found that release model to be inadequate and their growing market share bears them out.

> w/o any degredation in the core business.

There's a conflation here, by enterprise, between browser-as-client for in- house apps and browser-as-web-browser. If your test for degradation is that the in-house apps continue to work then sure, that's verifiable. But if you acknowledge that the same program is used for both purposes then you would find it much harder to show that no degradation of user experience and productivity have occurred.

\---

I personally think the success or failure of the rolling release model with separate streams for early adopters depends entirely on the QA standards of the vendor. Google has shown that with stringent QA, this model can help greatly in catching bugs before the mainstream user is exposed to them. This is what inspires the confidence that allows people to accept silent push updates. If Mozilla can be as effective in quarantining bugs before general release then they will earn the same level of trust. But if they're not able to keep major bugs out of the limelight using this process, it's going to be extremely counterproductive. I worry that they're just not militant enough about QA to make this work.

<comment><USER18> _It's somewhat disingenuous to generalise that to 'a browser' when most browser makers have found that release model to be inadequate and their growing market share bears them out._

My point is that it's not inherent in the notion of a browser that enterprises have to upgrade. IE is simply the existence proof.

 _There's a conflation here, by enterprise, between browser-as-client for in- house apps and browser-as-web-browser. If your test for degradation is that the in-house apps continue to work then sure, that's verifiable. But if you acknowledge that the same program is used for both purposes then you would find it much harder to show that no degradation of user experience and productivity have occurred._

While most in the tech industry will not agree with me on this, but the inability to browse the general web would not be that grave of a detriment on the productivity of the enterprise.

 _I personally think the success or failure of the rolling release model with separate streams for early adopters depends entirely on the QA standards of the vendor._

This is necessary, but not sufficient. Another big thing they need to do is to not break code, even if intentional. Probably the bigget thing they can do here is to not introduce "experimental" features, and then tweak them over time. The way a lot of devs work, whether you like it or not, is to find a feature from the web that solves their problem, put it in their code and test it on their current browser. If it works then they're happy. Three months later when that feature changes, because the feature isn't finalized anyways, you now have a bunch of apps this guy wrote that just broke.

<comment><USER19> > The way a lot of devs work, whether you like it or not, is to find a feature > from the web that solves their problem, put it in their code and test it on > their current browser. If it works then they're happy.

It's not a matter of whether I like it, it's a matter of whether those people remain employed. It would be ridiculous to hold off on new features until they're fully supported just because of the unprofessionalism of some enterprise web devs.

> Probably the bigget thing they can do here is to not introduce > "experimental" features, and then tweak them over time.

See, what we're talking about here in practice is the web standards development process. Currently it is collaborative and driven by experimentation, dialogue and feedback from the field. It has proven to be immensely successful in assuring cross-browser compatibility. What you're suggesting instead is a traditional software development approach where any relevant standards are either already nailed down, proprietary or made irrelevant by monopoly. This may have worked for Microsoft in the past. It's not going to work now.

<comment><USER18> _it's a matter of whether those people remain employed. It would be ridiculous to hold off on new features until they're fully supported just because of the unprofessionalism of some enterprise web devs._

Of course they remain employed. Why? Because these browsers simply won't be used. It'a easier to fix the problem by not changing browsers than trying to hire the all-star enterprise dev team.

 _What you're suggesting instead is a traditional software development approach where any relevant standards are either already nailed down, proprietary or made irrelevant by monopoly._

Indeed I am. The enterprise isn't concerned with Mozilla doing something interesting with the web. That's not their business. That's up to Mozilla to figure out how to get it done right. GE could careless about Mozilla. If Mozilla ships a browser that works best for GE then they'll use it. If not, they won't. I think the answer is for the vast majority of enterprises now and in the future, they'll simply not use FF. Mozilla appears to actually want it that way. Everyone seems to be happy.

</comment></comment></comment></comment></comment></comment><comment><USER20> A note: I'm 10 years removed from the enterprise. It seems to me, organizations who respond to change are the ones best staffed, skilled and tooled to weather change.

The FF fighters are in a tough place. It seems the momentum shifted and is on the side of rapid and responsible products closer to what is a SaaS offering, but desktop software is beginning to deliver updates near SaaS pace. Yet a major version number isn't reflective of features/functionality these days. It's a schedule. Perhaps that's the most unnerving aspect -- shifting rev numbers. It's not difficult, but takes a leap of faith and sales to your manager.

I'm guessing the organizations will have to make a major IT expenditure to meet the One True Path -- not buying into a vendor's plan, but making your own. A vendor should get you closer to your vision, but not dictate it. Ten years ago, enterprises got burned on web apps. You bought into a vision. Now, you can pick the best of the best and relatively cheaply, integrate them. I remember a multi-year, multi-million dollar project to get Siebel and JD Edwards to play well. I dearly hope it's not the case. There are young billion dollar companies running on commodity hardware and software with profit margin inbetween.

</comment><comment><USER21> I haven't seen any commentary on the fact that Firefox's plugin system is completely based on browser version number when specifying compatibility in install.rdf.

Do they expect all developers to release a new version of their extensions every 6 weeks, or do they expect us to effectively say "my extension is compatible with every future version of firefox" which is impossible to guarantee?

There are very good reasons for the "major" version number to exist. Why would they ditch that? Just bump a minor number instead... I see no benefit to this approach.

<comment><USER22> Hello! I work for Mozilla. To address the problems with our extension versioning system, we've begun running an automated suite of tests against addons that will automatically make them as compatible with the next version of Firefox. The system performed well for the 4 -> 5 update, and we expect to tune it better. Additionally, if developers use the new set of extension APIs as opposed to the older ones, compatibility is a much simpler affair.

<comment><USER23> Is it safe to assume that every release is going to require binary XPCOM components to be rebuilt?

<comment><USER24> Yes. We make no guarantees _whatsoever_ on binary compatibility between versions.

<comment><USER23> Okay, thanks - has bundling an NPAPI plugin with an extension got a future? (js-ctypes can't do what I want so it seems like the next best thing.)

<comment><USER25> Curious what you want to do... Maybe extend js-ctypes so that it'll do what you want?

<comment><USER23> I use an API that you pass a callback into and get an fd in response. You then monitor the fd and invoke a process function when there's something to read which results in your callback being fired with results. I haven't checked js- ctypes for some time so I could be wrong about this type of thing not being possible with it.

I figure if I'm going to do a rewrite I might as well go down the NPAPI path (via <http://www.firebreath.org/>) as then I can pick up Chrome.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> Firefox isn't just killing their Enterprise customers. This is going to hurt all the users who like to use add-ons with Firefox.

I'm an Evernote premium user. New versions every 3 months means the Evernote add-on gets broken for a month every 3 months. That's not gonna work.

<comment><USER27> Evernote will hopefully learn to adapt to upcoming changes in advance.

<comment><USER27> Firefox is not developed in secret. It is possible to see which breaking changes will probably be included before it is actually released. Mozilla is probably also willing to discuss changes with extension developers.

I fail to see why it is offensive to suggest that extension developers use this time.

<comment><USER21> It's because it's a colossal waste of time. Instead of Mozilla using a rational versioning policy, whereby major versions mean major changes, you're wasting everyone in the ecosystem's time instead (thousands of people's time, as opposed to a handful).

</comment></comment></comment></comment><comment><USER28> I'd be really curious to know the frequency of IT departments reaching the conclusion that nope, FireFox x.y should NOT be installed. I have a suspicion that this is some ridiculously lengthy process that always gets a thumbs up at the end. However, I have zero experience in this so I am more than willing to believe that that's not the case.

<comment><USER23> Some years ago I asked one of the IT guys at a company I worked at about this. They had a laborious checklist to go through to make sure that no internal or external web apps broke.

This sounds like a small job, but the number of things to check when dealing with apps built internally and externally over the course of a decade or more is not insignificant. Factor in the failure case being potentially hundreds of staff answering phone calls with "Sorry, our system is broken" and you can understand the conservatism towards upgrades.

In the time he'd been at the company (18 months) two upgrades had been held back, one due to a bad stylesheet in an internal app and a second due to an incompatibility with a third-party site that used client SSL certificates.

</comment></comment><comment><USER29> Can't help but compare to Apple's recent Final Cut Pro update: screw one segment over (hard core niche users) for greater riches in others (larger prosumer market). Whether it turns out to be genius or the death of a great product, only time will tell for both FF and Final Cut Pro.

But when I considers how Ubuntu and Red Hat approach life cycle, I can't help but wonder why FF, also open source, couldn't find folks willing to support an enterprise long-life version. Perhaps that tells us something about how much the enterprises really value a stand-alone and open source browser vs. IE, Chrome, and Opera, all their whining aside.

</comment><comment><USER30> Isn't there a pretty obvious business here? Neatly package (MSI) and test Firefox + every single update to it, and offer to certify webapps (run a cucumber/selenium test suite against each patch level) as guaranteed to run on "Enterprise Firefox". Plus support. Then corporate IT has their backs free (they're not installing cowboy open source weirdness), and the business gets to use a sane browser.

</comment><comment><USER31> If enterprise web-app developers were to test capabilities rather than browser versions, this would be a moot point. This has been the advice from most browser vendors and js library builders for years.

The problem here is poorly written web apps, and not mozilla.

</comment><comment><USER32> If you coded the App correctly as per the HTML Spec would a browser upgrade cause such problems?

<comment><USER33> Assuming the HTML spec doesn't change and browser isn't buggy.

Neither of those claims have proved true in the past.

</comment></comment><comment><USER34> EOL'ing Firefox 4 after just three months does seem pretty abrupt. Many commercial products will support security fixes for the current and previous versions. Of course, Firefox 5 will presumably EOL'd in three months when Firefox 6 is released...

<comment><USER35> I think it's just the flip from doing N.X.Y updates for so long to making a major increment every 3 months. If you were running 4.2.1 and three months later they were running 4.5.2, would you necessarily say "Hey, you're EOLing 4.2.1 too soon!", or just click the "Update" button without thinking about it?

</comment></comment><comment><USER12> The core issue is this - enterprises can reduce testing and maintenance costs for their internal apps because they can control and standardize their browser enviroment. Sites that cater to users at large (like a yahoo) have no control over what browsers their users choose. So, they have to bear significantly higher testing costs.

I haven't heard a persuasive argument for enterprises to change their web development practice and bear significantly higher testing costs. So my expectation is that they will continue on the path that they have been on traditionally.

</comment><comment><USER36> For mission critical enterprise web apps you can always use the Citrix option. Run an obsolete, tested browser on an intranet server and let employees access it from their desktops (looks just like a local browser but runs remotely). Lock down the network access from that Citrix server to only authorized web apps to eliminate the security risk from unpatched security holes.

Then you can keep the main desktop browsers up to date without worrying about frequent regression testing.

</comment><comment><USER37> It's a fuss about _a number_. Ars has a good point – there was no backlash about EOLing 3.6.3 when 3.6.4 came out, but the actual changes in this version were probably just as risky as changes between 4.0 and 5.0.

</comment><comment><USER38> This new release policy just doesn't make any sense. Sure Chrome is flashy and their release cycle is fast but they're also consistent (also young). OSX and Ubuntu release like clockwork. People appreciate consistency.

Also, when 5 was announced the state of extensions support was uncertain (I finally got the Delicious add-on back working again without compatibility fiddling and definitely didn't want to mess with it).

Having said that, the unrealistic and bureaucratic IT policies of backwards companies are their problem and not for open source to solve (are they donating?). If they're so concerned maybe they should hire someone to contribute to the project full-time so they can stay abreast of changes and maybe have a say in the direction of development.

<comment><USER24> _This new release policy just doesn't make any sense._

Speaking as a Mozilla developer - sure it does! We release every 6 weeks, and don't hold new releases for features. In the past, we ran into far too many cases where new feature X that wasn't ready held up a release for all the other features that _were_ ready. Now, we'll just remove or disable that new feature and ship.

 _OSX and Ubuntu release like clockwork. People appreciate consistency._

Two things: 1) OS X releases at the whim of Apple, not "like clockwork." 2) Every 6 weeks _is_ "like clockwork"! :)

<comment><USER26> How are Mozilla developers like you going to keep my Evernote add-on working in Mozilla now? You guys will be breaking all the add-ons every 3 months, too.

Mozilla developers needs to be thinking about more than what is convenient for Mozilla developers. There's a whole of eco-system of add-ons, themes, etc that other people provide that makes for Mozilla you are going to be breaking every couple of months now.

<comment><USER39> It's 6 weeks, not 3 months. Still, addons that are hosted on addons.mozilla.org are now automatically tested. Ones that don't touch code that changed in that release timeframe have their max version automatically increased.

</comment></comment></comment></comment><comment><USER40> isn't the main benefit for deployment over browser a fast update process? So when you don't want to update often you miss the point

</comment><comment><USER27> Testing can be done on pre-release browsers, which would also allow problems to be fixed before the release.

</comment><comment><USER41> Firefox and Ubuntu: making sure that no-one ever again is confused whether or not FOSS might be usable for people who have other things to do than updating their software.</comment>


Reveal.js - <AUTHOR> http://lab.hakim.se/reveal-js/#/ <comment><USER2> For those of you wondering what we've changed in reveal.js since it was last on HN, have a look at [https://github.com/hakimel/reveal.js/releases](https://github.com/hakimel/reveal.js/releases) (everything since 1.2.0 is new). Changes include support for RTL, MathJax, Multiplexing, Leap Motion and much more.

I'm also working on making reveal.js available to folks who don't know HTML. Give it a go at [http://slid.es/](http://slid.es/)

<comment><USER3> Yay .stretch! I was resizing & using negative top margin to fit big elems onscreen- it really didn't work very well :p [http://sequoia.github.io/composer- talk/#/5/2](http://sequoia.github.io/composer-talk/#/5/2)

</comment></comment><comment><USER4> I looked at Reveal recently (the Google Chrome DevTools guys use it for all their demos) for a presentation but ended up using Bespoke.JS instead (which oddly enough the Mozilla folks have been using recently):

The following presentation gives a good overview of the differences between Bespoke and Reveal: [http://markdalgleish.com/presentations/bespoke.js/](http://markdalgleish.com/presentations/bespoke.js/)

(keep pressing forward...it gets more interesting as you progress)

I liked the plugins, the docs were simple, they include grunt so your style changes are applied live, and they linked to other people presentations so you could peak at what others were doing.

In particular, I was 100% willing to switch right back to Keynote the moment any JS based presentation tool made me work on the tool more than the content. That never happened, and I ended up finishing the slides in Bespoke.

<comment><USER3> I'm confused- you stuck with Bespoke, right? It looks cool, but what recommends it over reveal.js? Did you try reveal or just look at it? I'm a reveal.js user but I'm not married to it.

</comment></comment><comment><USER5> Reveal.js is great.

Up until recently, I was putting slides together using Google Docs (ugh!), and thought there had to be a different way so I started looking around. Reveal.js looked the best to me, but I wanted two things:

1) It running on a server reading new slideshows automatically, and

2) To write the slides in pure markdown (like how some others use `---` for slide separation).

I ended up hacking together a quick Erlang-based slideshow server called Sliderl[1] that lists all slideshows (showing a quick preview of the first slide), and has a simple text-search. And of course, all the slideshows are rendered with Reveal.js.

1) Make sure Erlang is installed

2) clone the repo

3) put your slideshows in its "slideshow/" directory (slideshows must end with .markdown)

4) make

5) make run

6) Open browser to [http://127.0.0.1:8000](http://127.0.0.1:8000)

I suppose it's simple if you have Erlang installed already, but if you don't have Erlang installed, you probably don't want to install it just to show some slides. A running example with some of my slide decks is at [http://slides.sigma-star.com/](http://slides.sigma-star.com/)

[1] [https://github.com/choptastic/sliderl](https://github.com/choptastic/sliderl)

<comment><USER6> Nice.

It looks like the "pure markdown" part is built into reveal.js now: [https://github.com/hakimel/reveal.js#external- markdown](https://github.com/hakimel/reveal.js#external-markdown)

Might this also address your requirement to read new slideshows (via browser refresh)?

</comment></comment><comment><USER3> +1 for reveal.js. In a talk I gave recently about a PHP dep management tool, I used reveal.js (+fragments) + `script` command + ansi2html.sh to create colorized, step-by-step terminal demos _without running it in the console._

Nice cuz a) no live coding, no risk there b) dep tool requires network access for most operations; bad wifi at conference = "oh no" c) ppl can follow along at home or go over the steps themselves d) not an image so you can select/copy text.

Here's an example: [http://sequoia.github.io/composer- talk/#/7/1](http://sequoia.github.io/composer-talk/#/7/1) (press spacebar to advance). I plan to write a blog post about my strategies for avoiding live coding in presentations... one of these days :p

</comment><comment><USER7> The recently-released pandoc 1.12 ([http://johnmacfarlane.net/pandoc](http://johnmacfarlane.net/pandoc)) supports reveal.js as an output format. I've been using it for some time to give talks, and it works well. The 2-D navigation structure makes it easier to find slides when there are questions.

</comment><comment><USER8> If you like whipping up quick, simple slideshows without any effort - I've been hacking away at Cleaver [0] for the past few weeks. You write a single markdown document and it parses into a single HTML document. I built it primarily for quick presentations at my Open Source club.

[0]: [http://jdan.github.io/cleaver/](http://jdan.github.io/cleaver/)

</comment><comment><USER9> For a cool example of using Reveal.js, check out my Haskell Lectures [http://shuklan.com/haskell/lec01.html](http://shuklan.com/haskell/lec01.html)

<comment><USER10> Not sure what's cooler — presentation itself or the topic.

</comment></comment><comment><USER11> Am I the only one who finds the concept of "vertical slides" a bit, errr, wrong?

A presentation is a linear process. The first time a skipped through someone's slides who had this concept (without being presented to) I missed half of the content.

Is it for "things I might not have time for"? or What am I missing here?

<comment><USER12> I recently used reveal for a conference talk, and structured it so that most of the slides are vertical. My talk had 5 horizontal slides: hello, topic 1, topic 2, topic 3, and then goodbye. I started off by saying "hi, i'm gonna talk about these three things:" and then scrolling right, then going back left and saying "Okay, topic 1" and then down.

Someone who didn't see the talk but looked at the slides found it VERY confusing.

</comment></comment><comment><USER13> Been around for a good while, but still awesome.

You should check out all his labs on [http://hakim.se/](http://hakim.se/)

Be ware that most of the stuff there is just PoC and you may have some issues trying to adapt them, but the showcases are awesome :)

</comment><comment><USER14> There is also a presentation hosting service, based on this at [http://Slid.es](http://Slid.es)

</comment><comment><USER15> "Hold down alt and click on any element to zoom in on it using zoom.js. Alt + click anywhere to zoom back out."

Alt+mouse is bound to "move window" by default in GNOME (and perhaps others), and your event handlers will never get fired. (Personally, I love this keybinding: IMHO, it's a every quick and efficient way to move windows, since it increases the "catchable" area to the entire window, not just the title bar.)

Also, did anyone else notice that progress bar at the bottom?

</comment><comment><USER16> Another framework for making presentation that I love is Impress.js : [http://bartaz.github.io/impress.js](http://bartaz.github.io/impress.js)

It's a bit different and more technical than Reveal.js but it allow you to create fully customizable and unique presentation.

</comment><comment><USER17> Being on the low end of computing power, every time I see a reveal.js based presentation I cringe. I'm not embracing the trend for fancy transition in presentation, content first I guess. Maybe there are ways to gracefully degrade slides to avoid lagging ?

</comment><comment><USER18> I wrote a cool little node application for reveal.js that lets you control the slideshow with your phone over websockets.

Reveal.js is great! :D

[https://github.com/wridgers/slide](https://github.com/wridgers/slide)

<comment><USER19> Just created an account here to say I downloaded this and gave it a go... Very cool indeed, and love the use of socket.io! :)

<comment><USER18> Awesome. Glad you like it. :)

</comment></comment></comment><comment><USER20> I am using impress.js for all my presentations: [http://bartaz.github.io/impress.js/](http://bartaz.github.io/impress.js/)

<comment><USER21> I use it here and there as well. I combined it with meteor to give a presentation without having to screen share. [https://github.com/phillc/meteor-impress](https://github.com/phillc/meteor- impress)

Example: [http://phillc-cd.meteor.com/](http://phillc-cd.meteor.com/)

Open in multiple tabs and click the following button in the top left and move around.

<comment><USER22> It's impressive. But I think it's too much and distracts from the content. Use animations wisely!

Use animations to explain concepts & context but don't make the animations your presentation!

</comment></comment></comment><comment><USER23> Is there anything new about this?

<comment><USER2> Don't think it has been on HN since around the 1.2.0 release, so a lot has changed: [https://github.com/hakimel/reveal.js/releases](https://github.com/hakimel/reveal.js/releases)

</comment></comment><comment><USER24> comments from last year [https://news.ycombinator.com/item?id=3383673](https://news.ycombinator.com/item?id=3383673)

</comment><comment><USER25> I still prefer Keynote to JS presentation tools since playing with layout is easier manually than with css (for me).

But one killer feature Keynote lacks is slide inheritance. I love using build- outs and I wish I could edit a parent slide and have the changes propagate to its children. This feature would be much easier to build out with a JS presentation framework.

<comment><USER26> Sounds like Slide Masters in PowerPoint. Have you given it a try lately?

</comment></comment><comment><USER27> I loved signing up to slid.es - for some reason it's just never that smooth, but my brain was completely on autopilot and before I knew it, I could start building slides.

As for the app itself, I'll have to play around a bit more, but initial impressions are that it's very responsive and something I wish was available years ago.

</comment><comment><USER28> For quick and dirty presentations, I created [http://glebbahmutov.com/slides- now/](http://glebbahmutov.com/slides-now/) \- just drag and drop .md file. Supports themes, timers, etc. Even does very nice jobs with code blocks, because I need to show code a lot.

</comment><comment><USER29> I've been using slid.es for a few things recently. It's really well-made, gives you a workable GUI with the option to edit HTML directly, gives you free cloud storage for your presentations, and is a nice change of pace and extra bit of glitter compared to Powerpoint. A job very well done.

</comment><comment><USER30> Protip: In addition to standard fullscreen, Chrome also has a "Presentation mode" that makes all the browser UI autohide at the top and makes the content full screen. Useful if you don't want the browser UI cluttering up your presentation.

</comment><comment><USER31> To people that want more classic style presentations which are exportable to PDF slides there's shower.

[https://github.com/shower/shower](https://github.com/shower/shower)

Used it for several presentations and I'm pretty satisfied.

</comment><comment><USER32> I've just "hacked" Reveal.js on my own prez to support some code injection and enter/leave support :-)

[http://greweb.me/webaudioapi-introduction/](http://greweb.me/webaudioapi- introduction/)

</comment><comment><USER33> The way this has been recently tied into `ipython notebook'[1] is surprisingly nice.

[1][http://www.youtube.com/watch?v=rBS6hmiK-H8](http://www.youtube.com/watch?v=rBS6hmiK-H8)

</comment><comment><USER34> shameless plug: reveal.js works great with onsnap.js ([http://miniqr.com/onsnap.r](http://miniqr.com/onsnap.r)) how-to: allow microphone, start snapping

</comment><comment><USER35> I ended up presenting my PhD with this and a mix of d3.js and inkscape- generated svg. You can do a lot with this, especially if you tune down the transitions, colors, and fonts a bit.

</comment><comment><USER36> I suggest that you make the alt-click shortcut something else. Many Linux users have alt-click/drag mapped to moving/resizng their windows.

</comment><comment><USER37> More of the same: [http://pineapple.io/tags/presentations](http://pineapple.io/tags/presentations)

</comment><comment><USER38> It was great and it looks like it's just steady as she goes. Good job.

</comment><comment><USER39> Everything Hakim makes is gold.</comment>


The Roomba for Lawns Is Really Pissing Off Astronomers - <AUTHOR> http://www.wired.com/2015/04/irobot-lawnbot/ <comment><USER2> I have pal who did sysadmin work for a radio telescope; they went to amazing lengths to avoid interference. The details escape me now (hopefully some of those folks will chime in with their stories), but I remember being impressed about how thoughtful and serious they were. So between the radio astronomers and corporate lawyers, I'm inclined to believe the astronomers.

</comment><comment><USER3> I'm all for robotics, but the thought of an unattended machine whirling around my yard with spinning blades (of death) worries me. Granted, my "lawn guy" races around my yard already like a NASCAR driver on crack, but part of me wonders what sort of mishaps this robotic vacuum might get itself into. Small animals, toys, sprinkler heads etc.

It's one thing if your vacuum sucks up a kid's toy, or harasses your cat. Imagine the potential liability if your robotic lawn mower left your yard and entered your neighbors.

<comment><USER4> Stiga has been making robot mowers for quite a while, and I haven't heard of drunken Swedes who would have been hacked to death by their mowers after passing out on their lawn.

Apparently animals will run away and sprinkler heads can be marked with perimeter wire so that the gadget avoids them.

[http://www.stiga.com/products/stiga_en/robot- mowers.html](http://www.stiga.com/products/stiga_en/robot-mowers.html)

<comment><USER3> I have sprinkler heads all over my lawn, if the lawn mower avoided them I'd have patches of long grass. My sprinkler heads will routinely get stuck in the "up" position due to sand/dirt that gets stuck in the sliding mechanism.

This actually seems solvable by robotics, but it's not a viable solution for beacons or markers as they are meant to be "passed over" by lawn mowers.

</comment></comment></comment><comment><USER5> Am I the only one who thinks that iRobot is actually doing a very poor job with the Roomba cleaning algorithm?

Why can't we have a robot that maps the surface and then cleans accordingly? I always get irritated when I look at my Roomba doing it's job.

<comment><USER6> Check out the upcoming Dyson 360 Eye - [http://www.dyson360eye.com/](http://www.dyson360eye.com/)

Disclaimer: I worked on it.

Edit: To answer your question directly, you have 3 choices:

1\. Don't map (or somewhat guess it) - Roomba.

2\. Map first, then clean - Neato.

3\. Map as you clean - Dyson 360 Eye.

This is obviously a crude explanation but they get harder going down the list. If you are interested to know more, read up on SLAM (Simultaneous Localisation and Mapping) algorithms.

<comment><USER7> How is it better than Roomba and Neato -- what's the cleaning algorithm? Does it map the space? etc.

Edit: thanks, you answered while I was asking. That's a very interesting use case for SLAM. Does it re-map every use (i.e. today there's toys on the floor, but tomorrow there's not)? Does it store the point cloud or convert it to something more manageable? Are you licensing someone's SLAM library or did you roll your own?

<comment><USER6> Unfortunately I'm not really able to go in to much more details, but this video explains what's public knowledge - [https://www.youtube.com/watch?v=oguKCHP7jNQ](https://www.youtube.com/watch?v=oguKCHP7jNQ)

Sorry!

</comment></comment></comment></comment><comment><USER8> Wow. That article took 8 paragraphs or so before it explained the issue that was irritating astronomers. Terrible writing.

<comment><USER9> Yep, completely contrary to everything I learned in journalism school.

TL;DR (from the seventh and _last_ paragraph) — "The frequency band proposed for the lawnbot (6240-6740 MHz) is the very same one several enormous radio telescopes operate on."

<comment><USER10> Depends on the goal I guess. What you might have been taught: inform your readers.

The writer's goal/task was probably something like "create content" in the broad sense.

My personal opinion: please keep doing what you learned in journalism school :)

<comment><USER11> > _The writer 's goal/task was probably something like "create content" in the > broad sense._

Yeah, in the so-called "content marketing" sense of the word, i.e. create whatever random stuff that will get people interested enough that we can monetize them (or get paid by whoever hired us to do the content marketing).

Source: I interact personally with content marketers on a daily basis.

</comment></comment></comment></comment><comment><USER12> Can we just get rid of grass lawns already... replace it with something that looks good and doesn't need water and weekly cutting

<comment> at-fates-hands Not sure if this was sarcasm or not, but having a lot of landscaping architecture friends it's an interesting idea.

In places where grass is hard to grow (Southwestern US) you see a lot of rock varieties and other materials that they substitute for grass and it looks great.

Just Google, "las vegas yards" and look at the image search.

The last place I lived, my neighbor was tired of his grass in his bakyard (about a 1/4 acre) so he created a huge concrete terrace in his back yard, along with a large rubber hard court for basketball and other activities for his and the neighborhood kids. He still kept his small front yard grass, but the entire backyard was now completely utilitarian.

<comment><USER13> Yay for (sub?)urban heat island growth! :(

Not sure where the last place you lived was, but I hope that if it were the desert, that there's some sort of aesthetically pleasing option that exists between a water hungry green grass lawn, and an asphalt or impervious concrete surface. Even if it's not the desert, permeable paving sounds like a win-win solution for aesthetics, functionality, and environmental impact.

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

<comment> at-fates-hands It was in North Dakota, and I wonder if this is what he was using. I remember him going on and on about how environmentally friendly these pavers were and how they could filter water and last a longer than normal concrete pavers have have virtually no maintenance costs.

Either way, it looked really nice and had me thinking about the maintenance and costs of my yard.

</comment></comment></comment></comment><comment><USER14> Husqvarna have been making robotic lawnmowers since 1995, do they work differently? [http://www.husqvarna.com/us/products/robotic- mowers/husqvarn...](http://www.husqvarna.com/us/products/robotic- mowers/husqvarna-robotic-mowers-for-homeowners/)

<comment><USER15> As the article says, you have to bury wire along the perimeter that is to be mowed by the robot, that's how it recognizes its limits.

</comment></comment><comment><USER16> So why can't they just use a different frequency?

<comment><USER17> Exactly. What makes the 6Ghz spectrum so attractive to iRobot? If they are asking the FCC for an exception anyway, isn't there another frequency they could use with the same method of location finding?

</comment></comment><comment><USER18> I'm not sure why they're so obstinate about using a very-high-frequency band of RF for this. Is GPS not accurate enough? How about a more mechanical method, or near-field communications?

 _the only way to get them to work is to dig a trench along the perimeter of a lawn and install a wire that creates the electronic fence needed to ensure the automaton don't wander beyond the property line._

If they really want to implement that method, shopping cart locking systems have done it before, and they don't need 6GHz+ RF:

[http://www.wired.com/2007/07/hack-remote- sho/](http://www.wired.com/2007/07/hack-remote-sho/)

<comment><USER19> GPS accuracy on its own is nowhere near good enough. _Differential_ GPS can give you 1cm accuracy: [http://www.blackroc- technology.com/technologies/gnss/dgps/](http://www.blackroc- technology.com/technologies/gnss/dgps/)

<comment><USER20> It seems like installing the base station for differential GPS would be _easier_ than installing the electronic fencing descried in the article.

<comment><USER21> Easier, maybe? But it would cost tens of thousands of dollars and be subject to even more regulations, so I don't think that is a good solution.

<comment><USER20> Why would it be subject to more regulations? You just need two GPS receivers and a way to link them (e.g. WiFi).

<comment><USER21> Sorry, but I don't think you know how differential GPS works. It is not just using two GPS devices and averaging their location. Wikipedia is a good place to start: [http://en.wikipedia.org/wiki/Differential_GPS](http://en.wikipedia.org/wiki/Differential_GPS)

</comment></comment></comment></comment></comment></comment><comment><USER22> It comes down to some engineer choosing a certain chip and antennae. iRobot, come on, choose a different vendor and end this silliness.

</comment><comment><USER23> The "internet of things" is just going to make this worse and there's really no fighting it. My question is considering how many billions are pissed away tossing men and women into the ISS for reasons not apparent to me, why don't we have a radio telescope on the far side of the moon yet? I keep hearing about all these manned missions, COTS money handed to SpaceX, etc but the one thing that would be a gamechanger for radio astronony is not even on anyone's radar.

I'd love to see the next POTUS make this a priority. Yeah, Orion and the SLS are impressive, but they're mostly fighting yesterday's battles - pretty much a souped up Apollo for similar big feel-good missions where men and women go into LEO/moon/asteroids/maybe-mars for a very short time and fly right back. Why can't we also fund a farside telescope that could work for decades 24/7 providing space science advantages we simply cannot get any other way?

<comment> g-clef The moon is a pretty bad place for any long-term base...lunar dust is really hard on equipment. The l4/l5 points, though, are very interesting and there's a bunch of projects putting probes at the various l4/l5 points in the solar system.

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

<comment><USER23> Perhaps I wasn't clear. This would be an unmanned telescope. We're talking a one time landing of a piece of equipment. Dust will be a non-issue after the initial landing.

<comment> g-clef Not necessarily. One of the interesting results from LADEE was that the measured lunar dust increased a few hours _before_ the probe landed (attributed possibly to the geminid meteor shower). There's lots of stuff that can kick dust off the lunar surface.

[http://en.wikipedia.org/wiki/Lunar_Atmosphere_and_Dust_Envir...](http://en.wikipedia.org/wiki/Lunar_Atmosphere_and_Dust_Environment_Explorer#Preliminary_results)

</comment></comment></comment></comment><comment><USER24> I'm curious why it needs beacons when we have things like self-driving cars and machine learning? Is it just a matter of cost?

<comment><USER25> Self-driving cars barely exist as prototypes. It's not production-ready tech.

<comment><USER26> Don't Tesla already have their autopilot tech released?

<comment><USER7> It doesn't steer. It augments the cruise control, accelerating and decelerating in stop-and-go traffic (see [https://www.youtube.com/watch?v=PcwObeGB_mU](https://www.youtube.com/watch?v=PcwObeGB_mU)). Which isn't nothing, but it's not driving you to work.

<comment><USER11> I've heard them claiming that it could indeed drive you from home to work using public roads and that it is capable of finding you and driving the car to you when you call for it (aka. "Batmobile mode").

</comment></comment></comment></comment></comment><comment><USER27> Why don't they just use the WIFI spectrum?

Have legitimate messages so that it doesn't mess up existing systems, and send periodic pings whose radio signals the lawnmower can track. As an added bonus, you'd have a full communications network to talk to it with.

<comment><USER28> How will the lawnmower know where it is with just WiFi?

<comment><USER27> The same way it would know where it is with the 6240-6740 MHz beacons.

<comment><USER21> The beacons probably output a continuous wave of a certain amplitude at that frequency. This would be classed as interference on at least the wifi spectrums so it is not allowed.

<comment><USER27> That's why you send actual 802.11 messages instead of a continuous wave.

<comment><USER21> And how do you determine your location based on an 802.11 message?

<comment><USER27> The same way you determine a location based on any regularly occurring radio signal (in fact, the same way they propose to determine location in their requested spectrum). The only reason to encode a proper 802.11 message would be so as not to interfere with other devices in range.

</comment></comment></comment></comment></comment></comment></comment><comment><USER29> It's nice that RFI is being taken seriously. In many, many cases it is not: Noisy utility transformers, plasma TVs, poorly designed wall-wart supplies, touch lamps, and broadband over power lines, just to mention a few troublesome sources.

</comment><comment><USER30> > In a later response, iRobot added that NRAO observatories usually are > surrounded by desert or forests, not environments where residential lawn > equipment is used—a claim the NRAO called "silly."

I don't get what's silly about this. Astronomers are already well known for hating nearby human residences, because they give off visible light that makes it difficult to see the sky. Radio communications are the exact same thing at a different frequency.

But we've got a strong system going of "astronomers can suck it, and if they want to look at the sky without our light getting in the way they can live up on a remote mountaintop where nobody else ever goes". And that's what they do, because imagine if someone could build a telescope near your house and then get laws passed saying you were prohibited from using electric lighting... ever. We like being able to see at night. Maybe we also like having automatic lawn maintenance. Why should astronomers get to stop us?

<comment><USER11> Because RF spectrum is big and there is really nothing forcing iRobot to use the same band radio astronomers need (who need that particular band because physics) - they're probably either too lazy to pick a different radio chip for their product or looking for a clever way to avoid the good solutions we have since like 70s, so they could patent something here.

<comment><USER31> iRobot really should use a different frequency. Radio Telescopes should have the prior claim and are more useful and valuable.

</comment></comment></comment><comment><USER32> I was wondering when this would come up. I led a team building autonomous lawnmowers for a major outdoor power equipment company.

To answer some questions:

Autonomous lawnmowers are remarkably safe - far safer than standard lawnmowers by a wide margin.

iRobot's potential solution isn't a new one by any means - but the requirement of getting FCC approval for transmission is a rough requirement to overcome.

GPS isn't sufficient and DGPS can't fix multipath problems. Bosch's lawnmower had GPS "straight line" algorithms in it and it had to be pulled because it was destroying people's lawns.

Decawave is an interesting technology, but not what they're using.

Fully autonomous lawnmowers have been around since the 1950's and haven't changed overmuch: [http://file.vintageadbrowser.com/tg2i5rpfzmy0yj.jpg](http://file.vintageadbrowser.com/tg2i5rpfzmy0yj.jpg)

</comment><comment><USER33> iRobot's waiver request: [http://apps.fcc.gov/ecfs/document/view?id=60001028220](http://apps.fcc.gov/ecfs/document/view?id=60001028220)

NRAO comment on waiver request: [http://apps.fcc.gov/ecfs/document/view?id=60001039394](http://apps.fcc.gov/ecfs/document/view?id=60001039394)

iRobot reply to comment: [http://apps.fcc.gov/ecfs/document/view?id=60001041441](http://apps.fcc.gov/ecfs/document/view?id=60001041441)

NRAO reply to reply to comment: [http://apps.fcc.gov/ecfs/document/view?id=60001042025](http://apps.fcc.gov/ecfs/document/view?id=60001042025)

I see nothing in the iRobot filings that indicate why they cannot operate in the 5.725-5.875 GHz ISM band. Their system is based on simple time of flight measurements of the signal, and that should work just as well at 5.7-5.9 GHz as it would at 6.2-6.7 GHz.

</comment><comment><USER34> It would be nice to crack down on the lawnmower and, especially, leaf blower emissions in the 40Hz - 10KHz band. Where's the outrage?

</comment><comment><USER35> Why can't we just manually "walk" the mower around the border so it knows where it's boundries are?

<comment><USER36> Because the hard part is figuring out where it actually is relative to these borders when it runs around later. If the border is actively detectable (beacons, buried wire, ...) that becomes easier.

</comment></comment><comment><USER37> I don't think lawn bots will take off. I live in a nice neighborhood. I am 100% certain that a $500 to $3,000 lawn bot would be stolen within a month.

Also, it is far cheaper and more efficient to pay a gardener for lawn maintenance. They take care of far more than just mowing the lawn.

</comment><comment><USER38> Not an expert, but isn't this the exact problem Bluetooth LE was designed to solve?

</comment><comment><USER39> They even refrained from the clickbait of mentioning methanol in the headline:

"... pissing off astronomers looking for a drink"

</comment><comment><USER40> Would GPS augmentation not work for this case? Don't airport runways use a system like that?

</comment><comment><USER41> Is this the same technology used by invisible fences intended to contain dogs in a yard?

<comment><USER42> Yes, but they are arguing that using the invisible fence wire is too costly/difficult for a lawnmower. I can see that argument. A basic consumer lawnmower is probably $200-600 right now. An installed pet fence is quite a bit more.

Also, installing a pet fence, e.g. across driveways and paths can involve asphalt/concrete cutting, and a bunch of trenching. That is the kind of thing that even if you're willing to pay may have you say that it is just not worth it, compared to sticking some stakes in the ground.

The market is interesting here; you have to have someone who will spend enough on a fancy lawnmower, but not so much that they would outsource it to a landscaper.</comment></comment>


Definitions of Mathematics - <AUTHOR> https://en.wikipedia.org/wiki/Definitions_of_mathematics <comment><USER2> I read once that "mathematics is the study of terms that have precise definitions". I wish I could remember where I read it...</comment>


GNU Emacs 24.3 Released - <AUTHOR> http://lists.gnu.org/archive/html/info-gnu-emacs/2013-03/msg00001.html

<comment><AUTHOR> What's New in GNU Emacs 24.3: [http://www.masteringemacs.org/articles/2013/03/11/whats- new-...](http://www.masteringemacs.org/articles/2013/03/11/whats-new- emacs-24-3/)

</comment><comment><USER2> Emacs is dead, and that's a fact.

Next to me there are four Emacs fans, but all of them are now on the Sublime Text.</comment>


How to Design a Better Pitch Deck (2015) - <AUTHOR> https://blog.ycombinator.com/how-to-design-a-better-pitch-deck/ <comment><USER2> I found this to also be great for sales pitch or any pitch in general, or to convince oneself for main life decisions (move to a new city, found a job, or buy a new expensive item).

</comment><comment><USER3> All great advice. The key to communication is brevity.</comment>


Ask HN: How do you do design-review at your company? - <AUTHOR> We're a product team of 6, in a company of 20 people. We've tried to implement design-review to be like code-review, but we're having limited success. We've talked about:
- Reviewing "every line" of a design - Assigning designs to named reviewers, who should request changes, and then approve - A checklist of criteria the design must meet
Problems we've hit: - Design review is missed entirely before coding starts. - Reviewer barely scratches the surface, and misses huge issues - Most tickets/designs don't say whether review was passed or not
How do you handle this at your company? What tools/processes do you use? <comment><AUTHOR> Thanks for the comments - they're already very useful.

To explain our process: We have a single designer, and when designs are reviewed it's usually by one of the devs

In the past we've done wireframes (Sketch) and interactive prototypes (InVision) We were frustrated that: 1\. Lots of issues didn't surface until we started coding, when a raft of problems/edgecases would appear. 2\. It was too easy to ignore existing UI components/css, so that each design featured new component styles and css.

For approx the last month our designer branches from `master` and hacks on top of that to create designs. He then creates a PR for design-review, alongside a spec with some screenshots in Dropbox Paper. Some advantages of this: 1\. We get visual diffs from Percy, so we can see what's changed easily 2\. We get versioning more easily built into designs (via git)

Then just before development we'll break a story down into tasks / subtasks and log those into JIRA for development. We have trouble with: 1\. Letting the designer make changes once the subtasks are created and development has started (devs sometimes chasing a 'moving-target' spec) 2\. Design not knowing the current state of development

</comment><comment><USER2> On your designs, is it just that the user reviews some comps or is it something they can interact with (e.g. InVision)?

In my experience, a lot of issues around a design doesn't actually come out until someone uses it.

The other side is that one reason why code reviews work is that a developer who reviews the code has incentive to pay attention as a bug introduced here may be something they have to fix later. A few minutes now might save a few hours down the line. If your design is only being reviewed by product people and a huge problem is missed, it isn't the reviewer who has to fix it.

</comment><comment><USER3> > "Reviewer barely scratches the surface, and misses huge issues"

Code reviewers sometimes miss huge issues. Automated testing, and load testing are designed to catch these issues, and even then sometimes things go live and turn into the flaming shit show that we have all lived through.

Review is only part of a full lifecycle.

\- Formal usability: This is the big reset. A day or more of sitting behind a one way mirror with an impartal moderator taking users through your app. Your going to find that 7 people will magically bitch about the same thing. The thing you didn't notice, or thought was a bad idea.

\- Informal usability: if your doing something risky, or questionable, don't be afraid to bring a few users into your office and run testing yourself. It isn't as clean as formal, but your going to get a lot of the same insights at a much lower cost.

\- Testing and behavior tools: find some and integrate them into your site. User testing.com, Crazyegg and good old google analytics funnels are you friends. These are the "automated tests" of UI design, and you need to take time to do good analysis of the results.

You have to build up the tools an infrastructure around reviews, have the hard conversations, where legitimate critiques are taken seriously. It isn't just one process your putting in place its a whole culture change.

</comment><comment><USER4> The company I am currently with is similar in size to yours, with the same ratio of product members vs others. We don't exactly do design reviews, instead, we have a very talented VP of Marketing. He is the one that approves or redesigns things that the product team creates. This is very helpful as he has been here since the beginning and always keeps up with the latest design and user experience trends.

Might look into having someone take ownership of the design on your team. I don't think this is the most efficient method of attack, but it does work while the company is small.

</comment><comment><USER5> To be able to help, it would be great to get to know a bit more about your aims and the current process:

\- What do you hope to achieve by the design-reviews? What would be, e.g., a huge issue which is missed?

\- In which form are the designs delivered? (Photoshop files, Specs, Interactive Prototypes…)

From what you describe, it seems to me that people might be unsure about what they should do and how they know that they did a "good" review.

</comment><comment><USER6> Not sure if this is what you are looking for, but both Usertesting.com and Userzoom.com seem to have relatively robust processes built in...</comment>


Ask HN: Crowd source an application to RFS 10 YC Summer 14 - <AUTHOR>

Let's try to crowd source some ideas for applying to RFS 10. This would be for YC summer 14. I think the energy and AI definitely have huge potential for breakthroughs and potential for to become the next Google of the world.<p>Energy is a pretty stagnant market with the exception of solar really. The next big thing could be more distributed generation and gathering energy from waste heat from homes, businesses and converting it to electricity. There is an immense amount of heat rejected to the environment that could be used for meaningful power. Another idea is wind: solar has been brought downmarket so home owner and not just utilities can afford it. Small scale wind could be next. Imagine turbines on building roofs, small ridges, backyards, and near parks and fields. <comment><USER2> At- least where we're at in time , being the next google in the world (when you're accused of spying on your users, is highly unfavorable)

that being said , i think generation of energy from waste from homes would be a pretty slick thing , esp in developing countries (Also where google makes most of it's money from )</comment>


Debuggex: Visually Debug Regex via NFA/DFA Construction - <AUTHOR> https://www.debuggex.com/r/_G6Mvw1eoYJF2Bgf <comment><USER2> This app is awesome, as are a couple of other regex apps. I noticed that they offer commercial licenses as well. Would the people behind this site be willing to share any paid subscription numbers? Not necessarily raw figures, even free vs paid proportions will be interesting.

I'm intensely curious about paid memberships for web apps such as these. On one hand, they are absolutely awesome. On the other hand, I'm too much of a programmer to see how this generates revenue.

I have an app which also serves as a tool for a small niche (much smaller than debuggex). A bunch of people use my tool daily but I've always assumed that if I created a 'premium' version, I won't make more than $5-$10 :)

<comment><USER3> Have you seen authors [0] tangentially related blog-post about initial funding campaign from 2013?

[0] [https://news.ycombinator.com/user?id=tsergiu](https://news.ycombinator.com/user?id=tsergiu) [1] [https://www.debuggex.com/blog/2013/how-my-crowdfunding- turne...](https://www.debuggex.com/blog/2013/how-my-crowdfunding-turned-into- singlefunding/)

<comment><USER2> Thanks, those posts are interesting.

</comment></comment></comment><comment><USER4> It's not the same, but it creates also nice graphs to understand the regex better

[https://regexper.com/#%5BhH%5Delle%20world](https://regexper.com/#%5BhH%5Delle%20world)

</comment><comment><USER5> This has been a great help to me lately. If the devs are reading this: Thanks!

</comment><comment><USER6> I like [https://regex101.com](https://regex101.com) because of the way it colors things. The maps seem like they'd get too complex to be super useful on more complex patterns, but I'll give this a shot too next time I need it. I also have an Jupyter notebook that I often use for testing Python regex and match groups.

</comment><comment><USER7> When I fix Regex related bugs, I use the permalinks for Debuggex generated graphs for comments, documentation, JIRA tickets, etc. Very useful.

<comment><USER8> What language are you fixing the bugs in? It's unfortunate that C# Regex is unique enough that this won't quite work for me.

<comment><USER7> I'm primarily a Java dev. It's very frustrating that Java doesn't support PCRE syntax, as a first-class language thing. I hate escaping quotes within strings and so forth.

</comment></comment></comment><comment><USER9> This looks extremely useful, thanks for sharing.

</comment><comment><USER8> "Python Engine free while in beta PCRE Engine free while in beta"

It's $5 a month for a "basic" account, which is about $80 AUD a year. I guess I just don't earn enough to be able to afford $5 * month * number of SaaS services I could use.

<comment><USER10> I guess devs don't make as much as the media would have you believe.

If you like a service, $5 is a trivial cost to bear.

<comment><USER8> Of course, but what if there are 10 such services?

</comment></comment></comment><comment><USER11> Is this still operational? Site copyright and most recent blog post both say 2013.</comment>


Building a Forex Trading Platform Using Kafka, Storm and Cassandra - <AUTHOR> http://insightdataengineering.com/blog/Building_a_Forex_trading_platform_using_Kafka_Storm_Cassandra.html <comment><USER3> This is a somewhat related question about MetaTrader, which is the most popular FX platform.

It could be considered paranoid and jingoistic, so I apologize in advance to all the great Russian hackers out there.

Does anyone know anything about MetaQuotes (the maker of MetaTrader)? They're a trusted solution provider to many of the biggest banks in the world, and yet in my experience it's difficult to find anything about them online (the company, not the software).

I know it's a broad stereotype, but many Russian companies don't have the best reputations when it comes to business ethics. It's an open secret that many of the top oligarchs formed more or less a kleptocracy with the Putin administration, and that the rule of law is pretty shoddy when it comes to Western companies or individuals seeking justice.

Traders all over the world plug in their algorithms in plain text right into MetaTrader. Realistically, do they have anything to worry about, or am I being completely paranoid?

I don't mean to disparage MetaQuotes. As I said, I don't know anything about them, and they partner with big financial institutions all over the world. Many of these companies provide customized versions of MetaTrader, so I would imagine they might have access to some or all of the MetaTrader source code. I guess I'm just looking to be reassured.

What steps could a trader take on any platform in order to reduce exposure to potential bad actors? Is using an API from a broker the only solution?

Anyway, again my apologies if I offended anyone.

Update: their Wikipedia page has a few more articles on them than I remembered. Also, technically they are registered in Cyprus, but were founded in and are primarily based in Russia. Still, I'd love to hear people's thoughts on this issue:

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

<comment><USER4> Just like Intellij! Omg the Russians own our codes

<comment><USER5> JetBrains (the company behind IntelliJ) is headquartered in Prague - <USER2> Republic.

</comment></comment></comment><comment><USER6> > It is a truly global marketplace that only sleeps on weekends.

Sure, there are 4 trillion reasons why this is enough and yes, I know it's very much about traders themselves, and that if there were an incentive to change it probably would change pretty fast, but anything that stops on the weekend seems very silly in the 21st century. (Even EVE Online's daily downtime is a bit ridiculous.)

<comment><USER7> You need liquidity on Saturday and the banks don't work.

<comment><USER6> Why is liquidity for settlement so strongly linked to making contracts (trading)?

<comment><USER8> Banks are also counterparties to effectively all large contracts, and there's an avalanche effect that keeps most traders out of the market.

</comment></comment></comment></comment><comment><USER9> I am no expert in forex platforms, but this statement seems a bit off:

"individual investors only have a few simple tools at their disposal, e.g., Meta Trader or Ninja Trader"

Both meta trader and Ninja trader have powerful event-based scripting languages (MQL5 [1] and NinjaScript [2]) with a solid library of charts, strategies, indicators and order execution. More than that, they have a huge community providing all kinds of services around those platforms[3][4]

Other than that, Wolf seems like a nice piece of software.

[1] [http://www.mql5.com/en/docs](http://www.mql5.com/en/docs)

[2] [http://www.ninjatrader.com/support/helpGuides/nt7/](http://www.ninjatrader.com/support/helpGuides/nt7/)

[3] [http://www.mql5.com/en/signals/mt5](http://www.mql5.com/en/signals/mt5)

[4] [http://www.metatrader5.com/en/automated- trading/mql5market](http://www.metatrader5.com/en/automated- trading/mql5market)

<comment><USER10> Lots of brokers also offer vanilla FIX connections to their systems as well, so a GUI isn't necessary.

<comment><USER11> Interactive Brokers offers a FIX interface to their system.

</comment></comment></comment><comment><USER12> i fail to see the point in using hadoop if your universe is limited to foreign exchange... you can probably fit all ticks of all pairs in existence since the 70s in less than a TB

<comment><USER13> Assuming 40 pairs, 2 ticks per second and 1kb to store a tick (including timestamps, indexes etc), I reckon that's about 70TB for 40 years worth of data, not counting weekends.

I've assumed only outright ticks, hence the 40 pairs - in reality most banks store the crosses as well, which can be up to 1,600 pairs (40 x 40), which will get you into the PB range for the 40 years.

<comment><USER14> One kilobyte per tick seems quite generous. All of the EURUSD tick data for 2013 from histdata.com (the source mentioned in the article) is only 515MB (~20GB for 40 years, ~824GB for 40 pairs).

<comment><USER15> I would say a "tick" comprises the timestamp (stored as a long int) and ten levels of the order book (bid price, ask price, bid size, ask size) each stored as a double-precision float or a long int, so that's

      (1 + 4 * 10) * 8 = 328 bytes

per tick, so 1KB isn't far off. Obviously not every level changes on every tick, so there are opportunities for compression, that can be significant.

Note that the "tick data" from histdata.com gives you prices sampled every 1 second (so not every tick) for the top level of the order book, and doesn't give you any size information at all.

</comment></comment></comment></comment><comment><USER16> The library definitely deserves attention considering the fact that the current MetaTrader and NinjaTrader platforms are like dinosaurs, they feel very old. In the article you said that the stream of information is essential to the operation of Wolf. I also think that this is the fundamental part of a forex platform - the data should be accurate because you have to validate the forex strategy as much as you can during the backtesting phase. Have you considered replacing the current data provider (HistData.com) with something better? Actually we are on the same track because I am also implementing a forex trading platform and I have experienced a lot of problems just because the HistData database is not accurate enough for backtesting - it has a lot of empty records, sometimes a whole day of tick data can be missing.

<comment><USER17> Thank you for the comment. I agree that having sound data is essential to building any trading algorithm. Probably that's why they are so expensive. I won't complain about HistData.com, it's a free service, they only charge a small fee for a convenient ftp access to their site. At the moment, that's the most you can get for free with a millisecond resolution. Despite it's drawbacks, works well for backtesting, IMHO.

A great alternative is finance.yahoo.com. It is reasonably rate limited, see [http://stackoverflow.com/questions/9346582/what-is-the- query...](http://stackoverflow.com/questions/9346582/what-is-the-query-limit- on-yahoos-finance-api). You won't be able to do any high-frequency trading anyway without dedicated hardware in a dedicated data center.

</comment></comment><comment><USER18> Were you actually able to get 1ms latency from Kafka? How long does it take an event to enter then exit Kafka?

<comment><USER17> No. I only had boxes with SATA drives. I don't see how you could get below 1ms latency with spinning disks. You would have to use in-memory queue to get this sort of latency. Secondly, I had Storm consuming off Kafka every millisecond, so in the worst case scenario a message would have to wait one millisecond in the queue anyway. Here's a great article about throughput/latency of Kafka [https://engineering.linkedin.com/kafka/benchmarking- apache-k...](https://engineering.linkedin.com/kafka/benchmarking-apache- kafka-2-million-writes-second-three-cheap-machines).

</comment></comment><comment><USER19> "The foreign exchange market, or forex, is the biggest and the most liquid exchange service in the world with over $4 trillion worth of trades made every day."

Yes, and you are shut out of that market unless you're on the interbank (which generally means you are an actual bank). Retail forex "markets" are bucket shops that get first look at all their customer bids. The actual forex market is OTC.

[http://www.ecnforex.co.uk/interbank-forex-markets- explained/](http://www.ecnforex.co.uk/interbank-forex-markets-explained/)

Trading retail forex is a mug's game.

<comment><USER20> I would disagree that it is entirely a mug's game.

There are some EAs for MetaTrader that will check if your broker is manipulating your SL/TP and stop the trade. Also if you're a medium/long term trader then it doesn't really matter what your broker does.

<comment><USER19> In that case: you should be trading futures.

</comment></comment></comment><comment><USER21> Anyone know how I can run this? I was into FOREX few months back and this tool looks very interestnig. I need to exchange large sum and want the most of the volatile FOREX market.

<comment><USER6> [https://github.com/slawekj/wolf#getting- started](https://github.com/slawekj/wolf#getting-started)

It suggests to deploy modules on different machines, but you could probably try this out on 3-4 VMs (use SSDs).

There are rather simple deployment scripts (it uses apt-get, so get Ubuntu VMs), for some of the modules.

Set up a Hadoop cluster (HDFS, Hive, Camus) use YARN, you can run Storm on it, but there is a deployment (install & run) script for running Storm standalone (with a standalone Zookeeper node).

So, it's a lot of work, but sounds really interesting, fun and immensely didactive!

<comment><USER17> A pilot installation of Wolf was made on 10 ec2 boxes, mainly m1.medium and m1.large if I remember correctly. 3 boxes for C*, 3 boxes for Hadoop, 1 for Kafka, 1 for Storm, 2 for everything else. You might be able to squeeze it in less machines as Amazon is upgrading specs all the time. Deployment scripts are very simple at the moment, just a bunch of shell commands. That might be upgraded in the future to some magic automation. Nevertheless, scripts were tested on Ubuntu 12.04, but are not specific to Ubuntu, other then the package manager (apt-get). Probably if you sed s/apt-get/yum the scripts, they will work on CentOS/Fedora. If you have a really strong machine you might even be able to squeeze everything in one box. I wouldn't recommend it though, keeping the state of all the clusters in one Zookeeper is a very risky business, plus reliability issues. Unfortunately, it's not so simple to get Wolf from nothingness to a working/trading system. To actually trade you will also need a data feed, and a brokerage account.

<comment><USER21> I'm not ultra tech savvy. Just getting into programming but I know bits and pieces. What the guy made, is it superior to metatrader 5 or 4? How is it different from them. I'm running Ubuntu 14.04 as a default machine. Also why is a huge cluster, Amazon servers required? Isn't it possible to run it on a home computer? I don't see any heavy computation. From what I understood, it harvests data from sources and displays them in a plot form.

<comment><USER6> And it's able to go and get any historic data. It can scale up to thousands of machines (petabytes range), it can scale up to simultaneously ingest thousands of data flows, and so on, and continue to do whatever you want based on event processing (Storm can watch for any strange rules you can come up and fire off events [triggers] to an other component to execute trades), without stopping the flow for even a second.

It's a proof of concept in distributed systems engineering.

</comment></comment></comment></comment></comment><comment><USER22> Because running a trading algorithm on a non-idempotent stack is such a good idea.

<comment><USER17> Very good remark! Storm by default implements at-least-once semantics. If a bolt process executed an event and failed right away without acknowledging, an execution would get replayed (so you would buy/sell twice). However, there's a remedy! By sacrifacing latency you can have exactly-once-semantics, see Trident, Summingbird.

</comment></comment><comment><USER23> Yes. Because that's what was missing in this world. Yet another foreign exchange lottery platform for the rich kids to gamble around.

Edit: Oh boy - the all-I-wanna-be-is-rich egotistical nerds downvoted me. My soul is crushed.</comment>


Coronavirus in Singapore: 45 cases as of Feb-10, local cases exceed imported - <AUTHOR> https://www.straitstimes.com/singapore/health/novel-coronavirus-cases-in-singapore <comment><AUTHOR> This link continues to be updated, case count now at 67 as of Feb 15. There is a lot of detail on the cases and I think Singapore is the best proxy for how well US / Europe may be able to manage nCoV-219. This is the gold standard for dissemination of useful information on an unfolding epidemic.

</comment><comment><AUTHOR> Key points:

On Jan 23, the Ministry of Health reported the first case of coronavirus in Singapore. As of Feb 10, there have been a total of 45 cases, of which 23 are locally transmitted.

The early patients were tourists from Wuhan. In the past week, local transmissions started appearing and now exceed imported ones.

As of Feb 10, seven patients have been discharged – six China nationals and one Singaporean, who had been evacuated from Wuhan. But seven patients are in critical care.

</comment><comment><AUTHOR> related also from Feb 10 [https://www.nydailynews.com/news/world/ny- coronavirus-cases-...](https://www.nydailynews.com/news/world/ny-coronavirus- cases-aboard-cruise-ship-in-japan-nearly- doubles-20200210-4jdwnym7tra3bc6joc7jlgulwq-story.html)

key points:

The number of coronavirus cases aboard a quarantined cruise ship off the coast of Japan nearly doubled on Monday, when officials announced that 65 new patients have been diagnosed with the deadly infection.

The new figures bring the total number of cases on the Diamond Princess vessel to 135, including at least 14 Americans, Japanese media reported on Monday. The ship, which has been under quarantine since Tuesday, was already the largest center of infections outside of mainland China.

Passengers diagnosed with the pneumonia-like illness will be taken to area hospitals for treatment while the vessel remains quarantined through at least Feb. 19, according to NHK, Japan's national broadcasting service.

The Diamond Princess is anchored at Yokohoma, just south of Tokyo.</comment>


International Day Against DRM Rails Tutorial discount - <AUTHOR> http://news.railstutorial.org/international-day-against-drm-rails-tutorial

<comment><USER2> awesome tutorials+videos but mixed feelings on your couponing strategy:

\- too many different discount coupons (20..30..50%)

\- in a very short time frame (2 weeks iirc)

So early adopters will be disappointed to see a much larger discount only a couple of days after purchase.

Also 30-50% discounts are probably not a good sign in the early days of a new release because you undervalue your product when it's still "fresh". If liquidity is the reason for this strategy, you may want to offer some recurring payment plans like 9$/month or something.

<comment><AUTHOR> Thanks for the feedback. The timing wasn't good on this, and I didn't know until today that this DRM thing was happening. I hate DRM so much, though, that I really wanted to do something. I may have gotten a little carried away.

By the way, the reason for the big initial discounts was mainly that the product isn't finished yet. At launch, people who already bought the 1st edition screencasts only got two new ones for their trouble. The problem was especially severe for people who _just_ bought the first edition, so I gave them a bigger discount. The discount for the final product will be much smaller.

<comment><USER3> As a counter-point to the grandparent, this discount convinced me to purchase. I hadn't heard about the previous discounts.

I bought the bundle. I didn't buy it before because I'm not yet certain when/if I'm going to learn Ruby on Rails. Currently learning Python and web programming with Udacity, and finishing up some other projects.

But I'd heard such good things about your book that I had already planned to buy if I ever committed to learning Rails.

This discount tipped me over the edge. Having the book + screencasts on hand is a strong inducement to work through them, and 40% is too good an offer to pass up.

In my mind it hasn't reduced the value of the book at all. A discount for a special occasion seems distinct from a discount for other reasons. I saw all the other discounts on the HN front page and mentally lumped them together with yours.

<comment><AUTHOR> Thanks for the data point (and for the purchase!). I hope you have a chance to learn Rails. Python is great, but Ruby is better (IMHO) at making DSLs, which is a big win in web development (among other places). Please let me know how it goes.</comment></comment></comment></comment>


How many of you are doing Facebook app only ala LendingClub? - <AUTHOR>

<comment><USER2> I'm hacking away as we speak. I'm taking the root of what I applied to YC with and trimming it down a lot. Mostly I just want to learn the API and I think that being able to link into an existing social framework provides great benefits. There is a definite trade off when it comes to doing something solely for Facebook and I'll be interested to see if it pays off.

At my current rate I should have a beta that people can try out in two or three days. I'll post something here to get feedback, comments, and hopefully users when that happens :)

</comment><comment><AUTHOR> How many of you are doing a startup for Facebook users only?</comment>


Ask HN: I own a VC fund that bought Twilio in the early rounds.  Now what? - <AUTHOR> Will I get shares? When will they arrive?
Can I short the stock or buy puts in the meantime?
I could obviously ask the VC, but I though the HN discussion might be interesting. <comment><USER2> Sorry to disappoint, it's likely you won't get any shares.

The VC invests on your behalf and is likely to sell them when the lock-out period expires and simply give you your returns when the fund closes down/rolls over.

I don't want to sound snarky but, If you didn't know it was going to be this way, I wouldn't advise involving yourself with puts and shorts.

</comment><comment><USER3> If you are in the VC scene, presumably you have a decent amount of investment capital. I think what you need to focus on is not so much the equity selection (i.e. short/buy Twilio), but on asset class allocation. You should pick up David Swensen's Unconventional Success to understand the details of why asset allocation is by far the most effective method to maximize returns in the long run.

So, instead of shorting Twilio, you should be thinking about the expected return from the VC fund, and how to re-allocate your investments. I'd assume that the VC funds are giving you outsized returns in the recent years, so you should try to balance your portolio by making investments in the real estate, natural resources, mutual funds space, etc.

</comment><comment><USER4> You can buy puts. Puts are a form of insurance. That is why in general they command a premium when compared to calls at the same level when theoretically calls can go much higher than puts since the lowest a stock can go to is 0. However if the VC fund is an index of many different assets, then you need to figure out what percentage of their assets are in twilio and buy puts for that amount.

</comment><comment><USER5> I bought Authy in a late round, then they were acquired by Twilio, then Twilio went public, then the structure I invested in sold the stock and I already received proceeds from sale of those shares.

So for you I would be asking: where is my money?

<comment><AUTHOR> I'm surprised your structure could already sell Twilio shares. I believe most investors were locked up for 6 months.

<comment><USER5> If you are locked up for 6 months and this is a life changing amount of money I highly recommend shorting the stock to lock in gains.</comment></comment></comment>


Shipping wind turbines is not a breeze - <AUTHOR> https://www.freightwaves.com/news/shipping-wind-turbines-is-not-a-breeze <comment><USER2> This is a good read. The difficulty of transporting large wind components over land is one reason that onshore wind turbines have lower maximum capacities vs. offshore turbines. The largest onshore turbine is 5.3 megawatts [1] while the largest offshore turbine is 9.5 megawatts [2]. Transporting super-large components by sea is easier -- no tunnels, bridges, or winding roads to worry about.

Very tall turbines tend to improve capacity factor and project economics by tapping steadier winds found further away from the ground. For onshore projects, at least, that benefit is in tension with the more difficult transport and assembly logistics noted in this article.

Solar has the logistics edge in that all of the components for a solar farm are much smaller and weigh less. Even the largest individual solar modules are under 40 kilograms each. Racking systems are also assembled out of smaller pieces. No oversized loads need to be transported to the solar farm site. There are more truckloads of components for a 400 megawatt solar farm vs. a 400 kilowatt farm, but the individual components and trucks need be no larger.

[1] [https://www.genewsroom.com/press-releases/ges-largest- onshor...](https://www.genewsroom.com/press-releases/ges-largest-onshore-wind- turbine-prototype-installed-and-operating-netherlands)

[2] [https://en.wind-turbine-models.com/turbines/1605-mhi- vestas-...](https://en.wind-turbine-models.com/turbines/1605-mhi-vestas- offshore-v164-9.5-mw)

<comment><USER3> Given the huge promise of terrestrial wind farms, it seems like someone is right now figuring out a way to either a) fabricate them on-site, or b) fly the parts in via drone or dirigible.

<comment><USER4> I have driven alongside trucks carrying single turbine blades on midwest highways many times and I can tell you many people would be very uncomfortable seeing something even larger flying across the countryside.

<comment><USER5> Once it's 200m up in the air it doesn't look so big anymore, especially if it's not right above roads.

<comment><USER6> Up close and personal with a large windturbine they look plenty big to me. 2/3rd of the Eiffel tower but moving.

</comment></comment></comment></comment></comment><comment><USER7> Y'all may be interested in [http://keystonetowersystems.com/](http://keystonetowersystems.com/)

They're a small company that uses a neat system to manufacture the towers onsite, cutting down the shipping for it.

(Disclosure -- they're friends of mine, but I have no direct experience with them)

</comment><comment><USER8> Someone on the site asks about helicopters and I wonder the same thing. I know helicopters are hellishly expensive to use, but they are used occasionally - eg for ski lifts.

Helicopter Installs Ski Lift Towers at a Private Ski Club: [https://www.youtube.com/watch?v=83MPTPNXhTs](https://www.youtube.com/watch?v=83MPTPNXhTs)

<comment><USER9> >The largest wind turbines can weigh up to 700,000 pounds fully assembled and typically require around 10 loads to transport.

so, average speaking the components are on the scale of 35t/each. The current helicopters top at about 20t payload, so could be used only for some smaller parts. That one [https://en.wikipedia.org/wiki/Mil_V-12](https://en.wikipedia.org/wiki/Mil_V-12) could have done more jobs here. Or it is a new and shiny market for airships (or some kind of hybrid with airship)

</comment></comment><comment><USER10> Watching wind turbines fail on youtube is kind of entertaining. Some of the videos are really quite spectacular.

</comment><comment><USER11> I wonder if the same technology used to make folder fight jet wings ( so they can store more on an aircraft carrier) could be applied here?

<comment><USER12> You end up with a weight and complexity hit for something that is essentially a single-use feature.

</comment></comment><comment><USER13> The show Outback Truckers did a little segment when one of the drivers had to deliver one [https://www.youtube.com/watch?v=TiRkiNh7VK0](https://www.youtube.com/watch?v=TiRkiNh7VK0)

</comment><comment><USER14> Stupid question but is there a market for lots of smaller wind turbines? What's the efficiency like vs. one big turbine? Is there something like a solar farm with modular panels, but for wind?

<comment><USER15> As I understand it the power is relative to the square of the diameter of the blades, so bigger is (nonlinearly) better. [http://xn--drmstrre-64ad.dk/wp- content/wind/miller/windpower...](http://drømstørre.dk/wp- content/wind/miller/windpower%20web/en/tour/wtrb/size.htm)

<comment><USER16> On their diagram 40m = 500kW, 80m = 2500kW. So the doubling of diameter is five-fold increase in power. That's even more than squared.

</comment></comment></comment><comment><USER17> A lot for a few MW: [https://www.youtube.com/watch?v=0Di9g3Lc474](https://www.youtube.com/watch?v=0Di9g3Lc474)

<comment><USER8> This has a strong propaganda smell - he fails to mention the use of fossil fuels in production of nuclear fuel; he also fails to mention the use of concrete and steel in the construction of nuclear power plants.

I wish you could magically get power out of a lump of radioactive metal that you found lying on the surface of the ground, in the real world you have to build infrastructure to harness it.

<comment><USER18> He shows wind energy has horrifically low energy density. He also shows the immense infrastructure required for one wind turbine.

A comparison with nuclear is left as an exercise for the viewer. Perhaps it is made explicit in the full video.</comment></comment></comment>