China's Cell Phone Pirates Are Bringing Down Middle Eastern Governments - <AUTHOR> http://www.fastcompany.com/1758927/how-chinas-cellphone-pirates-are-toppling-governments-in-india-and-the-middle-east <comment><USER2> Um, these are not counterfeit phones. They are just cheap phones.

"some analysts believe China's bandit phone makers may now be targeting the GCC region,"

What exactly makes them bandits? Sounds to me like they are totally legit. The "Pirate" in the headline makes it sound like they are stealing bandwidth or something, or perhaps hiding from the "Middle Eastern" government, when they are doing no such thing.

It's just cheap phones. There is no law that says only Nokia is allowed to make phones.

"Established players like Nokia were soon crying foul"

So only established players are allowed to make phones?

Does an otherwise good article really need "bandit" as bait to get people to read it?

Retitle to it: "Cheap Chinese Cell Phones Are Bringing Down Middle Eastern Governments".

<comment><USER3> I think any phone with the words "Nkia" or "Blockberry" on could reasonably be called counterfeit.

At the same time, I imagine that the buyers of these phones know exactly what they're getting, so whether the companies in question have really lost out is another question.

<comment><USER2> Actually no, it needs to say the name properly to be counterfeit. (i.e. you have to claim to actually be the company, not merely imitate their goods).

Messing up the name makes it a knockoff. Basically if you can easily tell by looking who really made it then it's not counterfeit.

And either way it's certainly not "pirate" or "bandit".

<comment><USER4> I think the problem is that they don't own or have a license for the patents.

<comment><USER2> If that were the case, then they would sue MediaTek.

Unlike the small manufacturers MediaTek is easy to find and it's a pretty large company.

</comment></comment></comment></comment></comment><comment><USER5> _"[...] the strange way India's mobile spectrum was auctioned off in 2008. A last-minute rule change in the auction declared that licenses would be granted on a first-come, first-served basis to anyone with completed paperwork and $355 million in cash. [...] a haphazard process that netted only $2.7 billion in licensing fees and may have left $39 billion on the table, according to outside auditors."_

This is billed by the FastCompany article as corruption, and is apparently being investigated as such, but it's not necessarily the case that the country would have been better off if the government had collected that extra $39 billion. A proper auction will end up selling spectrum to those rentiers who expect to get the most profits from the spectrum out of the public, and (likely) can convince banks etc. to borrow enough to buy it. That in turn will set a cost floor, and winners of the auction aren't able to reduce prices below the cost of the capital. But by selling the spectrum cheaply, telecommunication benefits have potential to be spread more widely, because the cost floor is lower.

<comment><USER6> You're assuming the companies who got the spectrum did something with it. From what I've heard, most of them just grabbed the spectrum and are sitting on it, to collect the $39 Billion that would otherwise have gone to the government. Imagine, a 1344% ROI!

<comment><USER5> That's actually a separate issue: lack of genuine competition.

</comment></comment></comment><comment><USER7> I don't see Android anywhere on there, but it's acknowledged that Android's massive numbers are due in part to chinese manufacturers like Huawei and ZTC and Android-derived OSs (OMS, Tapas: <http://www.asymco.com/2011/02/01/google- as-android-vendor/> )

Hardware is cheap and commoditized in China due to the lack of IP restrictions. However, smartphone software isn't so easy.

Are some or all of these "pirate phones" running a version of Android?

<comment><USER8> Most accounts of OMS and Tapas (including Asymco) seem to do their best to talk up their share in an attempt to downplay Android's success, and Google's ability to profit from it.

However, OMS appears to be a failure as their fork couldn't keep up with mainline Android, they missed their sales targets and accounted only for 0.3% of Android sales last year rather than the 1% they hoped for.

But having said that, Mediatek have already announced a couple of revisions of Android based boards including tablets. I'm sure they'll play an important part in the Android story in future.

Also, Huawei and ZTE are amongst the biggest telecoms companies in the world. You may not be familiar with the names (yet) but they probably built any network branded 3G dongle you own as well as provide the equipment used to run that network. They're a different thing from these "white-box" manufacturers that are building phones like people built PCs from commodity parts.

</comment></comment><comment><USER9> This could be a huge opportunity for any aspiring entrepreneur with a background in electrical engineering. Get hold of some mediatek kits and start producing phones in africa.

<comment><USER10> There are 2 problems with that strategy. First, its unlikely that the locally produced phone will be at a price advantage. There's not much of a difference between importing components and assembling the phone on-site and importing a pre-assembled phone.

Second, the Chinese phone scene, in terms of innovation, is bigger than the software scene in Silicon Valley. Its unlikely that any African manufacturer would be able to match the Chinese hardware community in terms of innovation.

</comment></comment><comment><USER11> Indian telcos are not affected much by handset prices per se. Carrier-locked phones are getting rarer, as even providers who were CDMA-only are supporting unlocked GSM handsets.

So, it's baffling why there is any link between the glut of cheap Chinese phones and the spectrum scam !! Or why the availability of cheap handsets should start a price war between carriers ?!

</comment><comment><USER12> I wonder if this caused the demise of Nokia?

<comment><USER8> The "burning platforms" leaked email specifically named this company as a problem on the low-end and developing nations:

 _"Let's not forget about the low-end price range. In 2008, MediaTek supplied complete reference designs for phone chipsets, which enabled manufacturers in the Shenzhen region of China to produce phones at an unbelievable pace. By some accounts, this ecosystem now produces more than one third of the phones sold globally – taking share from us in emerging markets."_

Mediatek now have complete Android reference platforms, and seem set to do the same to the low-end of the smartphone market as all phones become smartphones.

<comment><USER12> Of historical note - the IBM PC was a de facto reference platform and the Taiwanese were there too.

</comment></comment></comment><comment><USER13> This is not the link to the article. It shows a "Skip Ad" and then goes to the homepage.

<comment><USER14> It showed me a "Skip Ad", which when clicked on took me to the article.

</comment></comment><comment><USER15> This is getting ridiculous - Facebook, Twitter and not cheap cell phones aren't bringing down governments - discontent people do.

<comment><USER16> Discontent people; communicating with each other, and the wider world.</comment></comment>


Option and Null in Dynamic Languages - <AUTHOR> http://www.rntz.net/post/2014-07-02-option-in-dynlangs.html <comment><USER2> Common Lisp can return multiple values from functions. Thus it returns two values from a hash-table lookup:

        CL-USER 45 > (gethash 'foo (make-hash-table))
        NIL
        NIL

The first value is the stored value in the hash table. If there is no key, the first value is NIL. The second value indicates whether the key is present in the hash table.

<comment><AUTHOR> I list Common Lisp & its behavior in Appendix C at the end of the article. Multiple-return-value is definitely better than just returning NIL, but I still dislike it; it doesn't actively prevent you from confusing NIL with absence, so "the obvious way to do it" can still be the wrong way. A good CL programmer won't fall into this trap, but the article is in large part about how some languages/interfaces _default_ you into good programming by requiring you to distinguish success from failure, and others don't.

Another way of seeing the same thing is: Type-theoretically speaking, MRV is using a product type (two values) to emulate a sum type (one value of two possible forms); why not just use a sum type?

<comment><USER3> The optimistic type theoretician says that since dependent products are sums then it's perfectly fine to use a product to emulate a sum... except since the dependence in the projections isn't reflected in the type system it's totally up to the programmer to ensure that the providence is maintained.

</comment></comment></comment><comment><USER4> Correctness can often arise naturally when the implementation reflects the function's intent by composing "correct" functions. E.g.,

      (defn values-in [m ks]
        (vals (select-keys m ks)))

<comment><USER5> Furthermore, I've found that absent keys degrading to _nil_ is actually a very useful feature that makes a lot of code really composable and simple. I can't think of any Clojure code I've written recently where a value of _nil_ actually should be distinguished from an absent value - I just write my code so that semantically they mean the same thing, because this makes the code much easier to compose and much easier to think about.

</comment></comment><comment><USER6> A more sane* way to implement the single lookup behavior is:

      def values_in(keys, d):
          ret = {}
          for key in keys:
              try:
                  ret[key] = d[key]
              except KeyError:
                  pass
          return ret

which works much more quickly in cases where keys is nearly all of d.keys, and doesn't force you to reinvent monads in Python, which is arguably unsuited for them.

* Sanity values may vary for people who haven't gotten into the habit of using Python exceptions for little things.

<comment><USER7> The article is looking at returning a list, while your option returns a dict, but that's an easy fix. And even for an Option-like approach, the article tries way too hard: Option can be viewed as a constrained cardinality list, and regular lists work just fine to implement them.

      from itertools import chain

      def getOpt(d, k):
          return [d[key]] if key in d else []

      def values_in(keys, d):
          return list(chain(*[ getOpt(d,key)
                               for key in keys ]))

Or Ruby:

      def values_in(keys, d)
        keys.flat_map {|k| d.has_key?(k) ? [d[k]] : []}
      end

<comment><AUTHOR> Author of the article here. The Python solution using lists-as-options is actually even simpler:

        def values_in(keys, d):
            return [x for key in keys for x in getOpt(d,key)]

Using lists as options is a neat trick I hadn't thought of when writing the article. Unfortunately, no dynamic language uses this idiom (or really any other non-exception option-like patterns) natively.

<comment><USER8> Actually, at least in PHP, I find myself using arrays and other iterables as pseudo-Options quite a lot; eg. when checking the existence of a DB value, xpath element, etc.

        // Using if/then/else
        function foo($x) {
          $results = look_up_something($x);
          if (count($results) > 0) {
            $val = $results[0];
            return do_something($val);
          }
        }

        // Same as above, but with a foreach loop
        function foo($x) {
          foreach (look_up_something($x) as $val) {
            return do_something($val);
          }
        }

Of course, the nice thing about Options (other than being able to distinguish between "None", "Some None", "Some (Some None)", etc.) is the availability of combinators to lift and compose non-Option functions with optional functions. Sometimes we can map and fold ("reduce"), but sometimes we can't (eg. PHP's "array_map" doesn't work on iterable objects, which many APIs use in lieu of arrays).

</comment></comment></comment></comment><comment><USER9> > In Lua, it's impossible to have a dictionary that maps a key to nil: setting > a key to nil removes it from the dictionary!

Wait is he really trying to say, "Setting a VALUE to nil removes the entry from the dictionary!"? If so, that sounds terrible.

I can imagine barking up the wrong tree wondering why my map is missing fields when the real problem is an object I passed into it is unexpectedly nil.

<comment><USER10> Yes, that's true. It does have drawbacks, but overall I think it is better than say, JavaScript. In JavaScript, a key can be not present in an object, be undefined, be null, be set to some other value, or be present in the prototype. The difference between these can cause very subtle bugs.

            //Let's define some object
            var obj = {a: true, b: true, c: true, d: true, hasOwnProperty: true}

            //Now let's make them falsy in different ways
            obj.a = undefined; //set to undefined
            obj.b = null; //set to null
            obj.c = false; //set to false
            delete obj.d; //delete key
            delete obj.hasOwnProperty //delete key, but present in prototype

            console.log(obj.a) //--> undefined
            console.log(obj.b) //--> null
            console.log(obj.c) //--> false
            console.log(obj.d) //--> undefined
            console.log(obj.hasOwnProperty) //--> [Function]

            console.log('a' in obj) //--> true
            console.log('b' in obj) //--> true
            console.log('c' in obj) //--> true
            console.log('d' in obj) //--> false
            console.log('hasOwnProperty' in obj) //--> true

            console.log(obj.a == null) //--> true
            console.log(obj.b == null) //--> true
            console.log(obj.c == null) //--> false
            console.log(obj.d == null) //--> true
            console.log(obj.hasOwnProperty == null) //--> false

            for(var key in obj) {
              console.log(key) //--> prints a, b, c
            }

In Lua, the only data structure is a hashtable, which maps any non-nil value to any other non-nil value. It can also be set in the objects __index metamethod/table

            local tab = {a = true, b = true, c = true}

            -- by default there are none, but we can defined a fallback metatable similar to a prototype method like js's obj.prototype.hasOwnProperty

            setmetatable(tab, {__index={c='meta c', d='meta d'}})

            -- if it is important that a key is explicitly set to false, do so, otherwise simply remove it
            tab.a = false --set to false
            tab.b = nil --set to nil
            tab.c = nil --set to nil, present in fallback table
            tab.d = false --set to false, present in fallback table

            print(tab.a) --false
            print(tab.b) --nil
            print(tab.c) --meta c
            print(tab.d) --false

The rules for Lua are simple: Look for the key in the table, if it's not there, check the fallback defined in the metatable, if not, then return nil.

This is especially important in Lua, because any value can be a key, you would have to be sure to delete the key otherwise it could not be garbage collected. local tab1 = {1,2,3,4,5} local tab2 = {} tab2[tab1] = true for k,v in pairs(tab2) do tab[k] = nil end

If this worked like JavaScript, then tab2[tab1] would return nil, but tab1 could not be garbage collected until tab2 is. Because JavaScript objects can only have strings for keys, this is less of an issue.

</comment></comment><comment><USER11> Java 8 does more type-system work to help with the same unlike its previous versions.

[http://www.oracle.com/technetwork/articles/java/java8-option...](http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html)

<comment><USER12> Sadly, until they get around to adding value types (maybe Java 9?) that just adds another layer that can be null.

<comment><USER13> A null Optional sounds like a cross between Murphy's law and a Zen riddle. You achieve enlightenment, but wish you hadn't.

</comment></comment></comment><comment><USER14> Null, empty string, empty value, Undefined etc. are the biggest causes of crashes,edge case bugs and a big time sink programming and data handling. Wish languages had better support to handle straightforward cases instead of just crashing.

<comment><USER15> This is close to saying that lack of oxygen is the number one killer in drownings. That is, when you are in that situation there is a lot going wrong.

So, sure, you got rid of null from the language. Does your program handle the case where it was handed a negative number correctly? All positive values? All unicode?

Consider, in the Ariane Rocket incident, they were using a dependently typed language. Didn't magically prevent errors in assembly.

So, fine, we'll make our programs where they handle all cases... Rapid prototyping probably just flew out the window. As did worrying about actual honest to goodness use cases.

A great quote by Knuth I saw once was where he acknowledged that tex would choke on mile wide documents. But who cares?

<comment><USER3> As far as I know Ada doesn't have dependent types.

<comment><USER15> Apologies, I had thought it was. (This goes to everyone that corrected me on this.)

I can only guess that I got confused over reading about Agda at some point. Again, apologies.</comment></comment></comment></comment>


Barnes & Noble releases Nook update - <AUTHOR> http://www.crunchgear.com/2011/05/24/live-at-the-barnes-noble-event-in-new-york/

<comment><USER2> This just goes to show how Apple and Amazon have their act together so much more than everyone else in the industry.

From the article and pictures, this thing looks really neat. I'm especially impressed by the size of it. I want to know more, so I go to <http://bn.com> and I'm greeted with the equivalent of chirping crickets. Nowhere on their main page is this new Nook mentioned. The Nook Color is displayed front and center though.

So I click on the Nook link from the side menu. You get the Nook Color and the old Nook side by side. Not even a link to a press release suggesting a new version even exists. I scoured their site and couldn't find word one about the new Nook.

If this were Amazon, the new Nook would be plastered front and center on their main page with a personal letter from Jeff Bezos about how excited he is. They'd prominently display the price, availability dates and be taking pre- orders right this second. Apple does the same thing with new product: front and center and (usually) available now.

But I have no idea when the new Nook will be available, or the full details on weight and measurements. And I'm probably not going to keep checking back to see when they eventually update the site. BN basically just lost an impulse sale.

<comment><AUTHOR> Just had to give it some time. It is up there now.

But I know what you mean... the MyNook.com still isn't live. Really puts a damper on the excitement.</comment></comment>


The Relationship Between High-Quality Startups and Geography - <AUTHOR> http://www.citylab.com/work/2016/03/map-geography-america-entrepreneurship-startups/474597/ <comment><USER2> Insightful article, but the tl;dr is:

"The highest quality entrepreneurship is heavily concentrated in a select few metros on the East and West Coasts."

<comment><USER3> ahahhaha agreed with you, And it is a fact because it is in line with many factors ranging from the state to society , culture personality mindset

</comment></comment><comment><USER4> Is there a reason to prefer "the next big thing" high growth companies over incremental growth companies? With incremental growth new workers can predict what industries to get into as they enter uni whereas if you have high growth companies, the lucky kids will experience demand and the other kids will feel left behind as they chose a major which ended up not having as much demand because it's difficult to predict demand (ahead of time) when you have high growth.</comment>


How I Made $150k from my Bedroom - <AUTHOR> https://medium.com/the-post-grad-survival-guide/how-i-made-150-000-from-my-bedroom-8784c2f85df3 <comment><USER2> [http://archive.is/tAlWl](http://archive.is/tAlWl)</comment>


Ask HN: Should I build my product or my portfolio? - <AUTHOR>

I asked this in a thread about something else yesterday and could use some advice. It's about where I should focus my time to start bringing in some cash.
Should I focus on the product I want to build and possibly fail months later with nothing to show for the effort and no budget left to live on (I'm still recovering from the last one)?
Or should I build several smaller demo projects as portfolio pieces I can shop to get client work to fund the part-time development of my eventual product? Especially considering that my walled-off enterprise projects are inaccessible and built with tools other than the open source ones I'd prefer to be working with.
It's almost like starting from scratch.
For example, Rails ads usually specify "2 years experience with high-traffic production apps" or something like that. Should I build a bunch of small demos, free and consumer apps?
I'd be interested in reading any success stories here. <comment><AUTHOR> Help a brutha out? :)

Depressing that I couldn't even get an upvote. I thought for sure that I could get an answer on HN. I suck.

<comment><USER2> The answer you're looking for will not come from others.</comment></comment>


How To Muzzle Yelp Critics - <AUTHOR> http://restaurant-hospitality.com/trends/how-to-muzzle-yelp-critics0112/index.html

<comment><USER2> Why not simply address the complaints and eliminate all of the problems that people complain about?

Oh, right. That'd be the _right_ thing to do. This is about silencing criticism, not maximizing customer satisfaction. Never mind.

</comment><comment><USER3> #Bashtag ... funny how many companies swallow their advertising copy as if it were truth and are then surprised when it crashes against the rocky cliffs of popular opinion online.</comment>


SEL4: Mathematically Verified Software Kernels (2014) [pdf] - <AUTHOR> http://sel4.systems/Info/Docs/GD-NICTA-whitepaper.pdf <comment><USER2> If you're reading this, there's a decent chance you'll be interested in Robigalia, which is an OS that couples SEL4 with a Rust userland:

[https://robigalia.org/](https://robigalia.org/)

Aside from the security approach of the OS design, I believe the plan is to formally verify the Rust code once tools for verifying Rust are ready for production use.

[https://robigalia.org/blog/2016/11/15/verfication.html](https://robigalia.org/blog/2016/11/15/verfication.html)

<comment><USER3> Very promising looking project. I was looking into it last week and read through some code, but it seems somewhat fragmented. They're undertaking a lot but don't appear to have a large active community.

Still there are a number of projects and they look to have a full GUI running. Impressive, perhaps it speaks to the productivity of Rust.

All in all, hopefully the project continues forward. It'd be great to try!

<comment><USER4> "Create a highly reliable persistent capability OS, continuing the heritage of EROS and Coyotos".

That's nice, but the long, long history of EROS and its successors makes Gnu HURD look like a fast-moving project. Get Rust onto SEL4 for embedded systems and you'll have something. Get a router on that and you'll have a business.

</comment></comment></comment><comment><USER5> I would bet pretty good money that automated theorem proving is better than the best humans within 10 years.

There's still not a lot of good research in combining machine learning and theorem proving, and intuitively it seems feasible. It's clearly somewhere between beating Go and general AI, and probably closer to Go since it's basically just a tree search with heuristics.

If this happens, it would radically change the software industry. High level application development might not change that much since the problems are usually poorly specified. But it might dramatically reduce the cost of writing system software. We'd see innovation in that space we haven't seen since the 70s. Unix and its abstractions that dominate the whole market might look as antiquated as punch cards.

Additionally, professional mathematicians might become more like philosophers, guiding the procession of mathematics and deciding what is interesting to prove.

<comment><USER6> Do you have any good resources for someone wanting to understand that a bit more? I'm super interested but this all seems a bit hard to get my head around..

<comment><USER7> If you want to have a look into the state of the art of axiomatic systems that can be (and have been) used for proofs that can be checked by a computer, it surely is not a bad idea to read the Homotopy Type Theory (HoTT) book, which is freely available at

> [https://homotopytypetheory.org/book/](https://homotopytypetheory.org/book/)

If you prefer a more "established" way:

Common systems for computer-checked proofs are Isabelle/HOL, Coq and Agda (the latter is often commonly "only" called a programming language, but also has been used for this purpose).

For Isabelle/HOL ([https://isabelle.in.tum.de/](https://isabelle.in.tum.de/)) I only know the official documentation as a resource: [https://isabelle.in.tum.de/documentation.html](https://isabelle.in.tum.de/documentation.html)

For Coq ([https://coq.inria.fr/](https://coq.inria.fr/)) a good book book is "Coq'Art: The Calculus of Inductive Constructions" by Yves Bertot and Pierre Castéran. Unluckily it is not (legally) freely available.

Finally for Agda ([http://wiki.portal.chalmers.se/agda/pmwiki.php](http://wiki.portal.chalmers.se/agda/pmwiki.php)) I recommend reading Ulf Norell's PhD thesis "Towards a practical programming language based on dependent type theory" and the more introductory paper "Dependently Typed Programming in Agda". Both texts are available at [http://www.cse.chalmers.se/~ulfn/](http://www.cse.chalmers.se/~ulfn/)

<comment><USER8> The best resource for getting started with Isabelle/HOL is [http://www.concrete-semantics.org/](http://www.concrete-semantics.org/). Freely available.

</comment></comment></comment></comment><comment><USER9> I didn't read through the linked PDF, but in relationship to work on SEL4, I found [1], it builds on the work that has been done for SEL4, and improves the tools further. As a first example they they implement verified file systems. They managed to implement two file systems: ext2fs and BillyFS. These file systems can be deployed in Linux. Their aim is reduce the cost of verified systems software.

[1]: [https://ts.data61.csiro.au/projects/TS/cogent.pml](https://ts.data61.csiro.au/projects/TS/cogent.pml)

</comment><comment><USER10> The $200-400 per LOC really puts it out of reach for any non-trivial project. Like additional millions of dollars in cost.</comment>


Ask HN: What workloads would this VPS config be good for? - <AUTHOR>

I'm considering starting a VPS hosting company with an emphasis on speed, and I've got some gear on the drawing board which would provide just 2 instances, or tenants- and that's fine for my purposes, which are small to begin with.
I was wondering what kind of workloads the configurations I'd be providing would be good for, so I could get a handle on the target market for who would want this kind of VPS.
So I'm writing in to HN tonight to see if anyone here would care to advise as to what these configs would be good for. What workloads would these VPS' attract?
Each VPS:
4x vCPU @ 3.5 GHz (4GHz Turbo)
16GB Memory
100GB 6Gb/s Intel X25-E SSD-based disk in RAID0
Free 1st NIC/IP, 500Mbps Link, 10TB Bandwidth @ 0.10/GB Overage
+$5/month per NIC/IP Pair >1
-or-
4x vCPU @ 3.5 GHz (4GHz Turbo)
16GB Memory
1.5TB 12Gb/s HGST Ultrastar SSD800MH SSD-based disk in RAID10
Free 1st NIC/IP, 500Mbps Link, 10TB Bandwidth @ 0.10/GB Overage
+$5/month per NIC/IP Pair >1
Thanks in advance.
-c <comment><USER2> I can't imagine what these would be used for. You're most likely looking for business clients that are going to be hard to find. The lowend market is much larger.

The most important factor is cost. Most VPS hosts will sell several dozen instances per machine. At $1-10 each, it takes several months to even make a profit. With just 2 instances on a $500+ box, you'd have to charge $50-100 per month and still be in debt for a while.

Resources:

<http://www.webhostingtalk.com/forumdisplay.php?f=45>

<http://lowendbox.com>

<comment><AUTHOR> Ok, so these guys would have to be over allocating their boxes to put that many instances on what could only be so many cores per box. I wouldn't be doing anything that might slow down the instances so there are only 2 since I only have 8 cores available. Otherwise there could be slowdowns, which would be counter to the emphasis of the company. This would add to the value and price point. I certainly don't want to be part of the race to the bottom & get a mention on lowendbox.com- on the contrary, I prefer the harder battle to find the high end clients & cater to them. I just want to rent more than 1 per box- so 2 is good for me. Thanks for taking the time to reply.

<comment><USER3> The problem is that high-end clients would want somebody with stability, resources, and above all HISTORY.

There are too many people who setup hosting companies because it is comparatively cheap to get started; buy a box, fill it, buy another.

But doing it right involves having spare hardware, on-site access to pull out failed drives etc, etc. If you're one person and you have a single machine then I can't even rent two guests/machines from you and do load-balancing which rules you out entirely.</comment></comment></comment>


Should We Limit Web Development to JavaScript? - <AUTHOR> http://www.elevatesoft.com/blog?action=view&id=why_limit_web_development_to_javascript&2 <comment><USER2> _There 's definitely something amiss with a language if there's a list that long of compilers/transcoders whose sole purpose is to avoid writing code in the target language._

I don't think that's the reason why JS transpilers for so many languages exist. The reason isn't to avoid writing JS; it's to leverage JS's "runs in a browser" advantage. In fact, I don't believe _anyone_ out there is writing code in one language and then compiling it to JS to run in production.

<comment><USER3> See typescript, coffescript and dart. They do exist only to avoid js and go around its issues. And a lot of people use them in production.

<comment><USER2> What you say is a very reasonable comment, there certainly are companies writing in one language and compiling to JS to run their code in production if you consider those languages to be separate to JS. I took the remark in the article to mean languages that have their own compiled (or interpreted) output that can _also_ be transpiled to JS through mechanisms like emscripten. In my opinion TypeScript and CoffeeScript are effectively extensions to JS that pile on some sugar to fix what their respective authors see as JS's problems rather than being different languages per se. Not sure about Dart.

<comment><USER3> Well, if you language works on js interpreter designed for js only, its hard to create very different language, so we fix what we can, hover small it is. For now tools like emscripten are incredibly unpractical and come with high cost that eats most of potential benefits. When we will have webassembly and ability to ignore js entirely, we will probably see explosion of significantly different languages being used. On the backend there is more and more functional ones, and formal verification is slowly getting traction, so probably this will propagate to frontend too.

</comment></comment></comment></comment><comment><USER4> Title: Why Limit Web Development to JavaScript ?</comment>


India turned off mobile internet for 63M citizens amid protests in Ahmedabad - <AUTHOR> http://thenextweb.com/in/2015/08/26/india-just-turned-off-mobile-internet-for-67-million-citizens-amid-protests-in-ahmedabad? <comment><USER2> I'm in two minds regarding this. This reminds me of the clampdown in many of the middle-eastern countries during the Arab spring. On Principle I don't believe that the state should be allowed to place such restrictions on civilian freedom. However, I can't deny that the measures worked. The protest had become extremely violent and needed to be defused instantly. This measure possibly saved lives.

<comment><USER3> You may not always want peace. Could Americans have "peacefully" convinced the Brits to turn back and leave them alone?

<comment><USER4> Oh please. This isn't the same. What these guys were trying to do, was to bully the state into placing their community above the rest.

<comment><USER5> Could the revolt have been defused by Britain granting more voting power to American colonial authorities? Or would they continue to demand placing their community above the rest by being completely autonomous?

</comment></comment></comment></comment><comment><USER6> Not a freedom of speech issue. whatsapp messages spread quite virally. A large number of users of such services who have got access to mobile internet quite recently are susceptible to take a spam/hoax message as an authentic piece of information, specially the ones which can directly affect the person. Also, you need to keep in mind that services like whatsapp have become a significant source of information for many people.

A large number of such messages that I have come across are photoshopped images, mix it with the ease of sending bulk messages and you get an explosive mixture.

One way to tackle such situation will be, IMO, to make bulk messaging an expensive (computationally) operation, something of the nature of HashCash.

<comment><USER7> No, no government should ever be able to do this. Why? Because when you track it down to the person getting the switch flipped, it is always someone with an interest not serving the whole, a.k.a. private interest. And the government should serve the whole, otherwise it is oppressing a part.

And in regards to your argument — the longer you keep the immune system from exposure to a threat — the longer you allow the threat to evolve and become even more dangerous. Let the people learn what is hoax and fake. Yes, they are perfectly able to do that.

<comment><USER8> The threat is a large mass of illiterate people being riled up by inflammatory rumors they see on their phone. They aren't the kind of people who know what the words "fact check" means.

Add to that a semi-educated police force and you end up with 3 people dead and a whole bunch of public infrastructure burning.

If you are in government, you don't really have the option to call the protesters in to have a nuanced debate.

<comment><USER9> I look forward to Gujarat experiencing, like Punjab, the tender mercies of AFSPA (sarcastic, I don't wish that law upon anyone)

</comment></comment></comment></comment><comment><USER10> It's amazing how many people on this thread are keen to go for the easy, rights-restricting solution (just turn off the internet locally for a bit!) rather than the harder question: why are people primed to riot? Like Ferguson, it's usually a combination of longstanding grievance and trigger event.

<comment><USER11> > it's usually a combination of longstanding grievance and trigger event

That's because riots and such protests are rare in the US; and Ferguson brought _new_ issues to light, not the same old issues.

That's not the case in India. The concept of a "bandh" (close the city and shops, if your shop doesn't comply, you might get beaten up by party thugs) is a common one used by political parties for various reasons. If someone told me that there was a bandh in Mumbai tomorrow, I'd not be surprised, not even really annoyed. One gets used to this stuff.

Riots are a few steps above this, but aren't too uncommon either. Many of them have legit motivations. India is a country of many, many communities and many, many views and it's common for some community to feel aggrieved by something; often rightly so.

This one, I don't think it has a legit motivation either, but I'm not so sure. The reservation system is a rather broken one -- not that I'm saying it should be removed (affirmative action can be quite effective) -- but that it could be improved quite a bit, checking against income and with more safety nets for students/etc who are boosted by this but don't do well. This case seems to be one of people from a non-suppressed community clamoring for reservation, motivated by other non-suppressed communities who got reservation due to a political move (ICBW here).

Thing is, fixing the overall reservation system is a really, really hard problem in practice. There's a lot of politics involved -- anything perceived to weaken it will severely affect your image, and besides, most of these laws need a majority of folks from the relevant minority group to approve them, and due to the way folks vote here, politicians from a minority group depend on that minority group for votes, and if they were portrayed as weakening the reservation system, their political career would be doomed. So the reservation system is something that can only monotonically get worse. Most folks have resigned themselves to this fact.

On the other hand, in Ferguson, the issue is something which the minority group was very aware of, but not the majority group. Many people are _now_ realizing that African Americans look at the police very differently due to the way the police treats them. There's a lot of new information in the system, and there are many proposed solutions, most of which do not qualify as political suicide. It's not the case here, everyone already knows about the issues here, and most if not all solutions are political suicide.

<comment><USER12> > checking against income

Schools do that, and it heavily favors whites. (alumni/donor preference)

Maybe not exactly what you were suggesting

<comment><USER11> I meant the other way around. If you are using affirmative action to benefit minorities[1], try not to benefit folks who are already well off (for a reasonably high definition of "well off"). This issue would be a _lot_ less contentious then. I don't know the stats on this, but anecdotally speaking (this also seems to be a commonly held belief), the majority of the folks who benefit from these things are much, much better off than many of the folks who don't benefit. (Note that the total reservation of seats is around 50% in most places, often more).

Of course, it's not as easy as simply filtering by income by setting a threshhold. In some cases you may want a income-agnostic reservation, too, to prevent caste-based discrimination (not so common in cities, but it still exists), in cases where there are strong human elements in the selection process (i.e. it's not just based on the results of a test, but where there are people in the pipeline who may discriminate). This is something that may need to be handled in a nuanced way.

(Not that I'm saying that reservation is the only solution, just saying that if we want to stay within the confines of this system, it can be improved a lot)

[1] FWIW, in India, _everyone_ is technically a minority, though of course not all minorities have been downtrodden. In this specific case a possibly-non- downtrodden (as far as public opinion goes, this group is in general quite well off) minority is requesting special treatment, which is receiving opposition.

</comment></comment></comment></comment><comment><USER13> This is very common in India, for the government to take bizarre actions and then retreat shamefully when they figure they're exposed. The porn ban is just one example — for those of you who don't follow, the Indian government tried to ban porn and did it, albeit half-heartedly, and then were forced to undo and lift the ban.

Even the story in reference here isn't an uncommon sight. In Jammu & Kashmir (A state which has a disputed status, yet is claimed to be an "integral part" of India by the ruling political party) it is very common for the government to shut down mobile internet and all mobile facilities on 14th and 15t h August (Which are the countries independence day)

Heck they had even banned text messaging here until 2013. Some "freedom of speech", eh?

<comment><USER13> Update — I expected a lot of downvotes, and I have not been disappointed! :D

"You cannot change the truth, but the truth can change you"

<comment><USER9> Look, as a Pakistani descent person, I am sympathetic to you, but this issue of the Pandits is a bleeding wound on international credibility that pretty much destroys any chance of Kashmir seceding. Maybe you were around in 1989, what the hell was going on? Why did you allow your Hindu neighbors to be driven out? All the expatriate Muslim Kashmiris start calling me a boot licking traitor when I ask this (and all the Pannu Kashmir people look like they are about to kill me)

<comment><USER13> So you're saying, since the Hindu neighbors felt unsafe and left it is justified to oppress the people who stayed?

<comment><USER9> No, of course not, but is the only way they're going to feel safe by oppressing you? When these masjids broadcast threats why were they allowed to be used as an arena in the conflict? Why give the Indian Army an excuse to turn those into a battleground too ( a la Golden Temple)

<comment><USER13> There are never threats broadcasted from mosques here.

<comment><USER9> No, I know that, but there were in 1989 (hence the "were allowed" as opposed to "are allowed")

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> This is something that speaks to the need for rumor dispelling engines [http://www.unahakika.org/](http://www.unahakika.org/)

Instead of cutting off information it should be directed and rumors dispelled through disseminating the truth.

</comment><comment> jor-el In first look it doesn't speak well of a democratic country. But loads of false information is spread using SMS, other messaging services (like watsapp) and social platforms. If lives can be saved and bring back things to normal by doing so, then it is very much justified. The people who are being killed or facing inconvenience because of the protests are also citizen of the same democracy. Right to live is more important than right to have internet.

<comment><USER15> Loads of "false information" which happens to be true is also spread using SMS, other messaging services, and social platforms. This is the excuse of every authoritarian state.

</comment></comment><comment><USER16> India turns off mobile internet, calling and SMS facility in the state of Jammu and Kashmir multiple times a year.

India turned off SMS facility for ~4 years from 2009 to 2014 in the state of J&K.

</comment><comment><USER17> This is exactly what mesh networks are for.

<comment><USER3> I haven't heard much about FireChat in a while.

</comment></comment><comment><USER18> Well this was done as a precautionary move so that people stop spreading rumours and videos of affected areas.

Also to stop mobs to communicate in mass with each other.

<comment><USER19> Such "precautionary" moves are putting the cart before the horse; they value the state over the freedoms of the people. They are incompatible with any honest representative government.

<comment><USER20> I say this as an Indian and with sadness: The notion and importance of free speech is at worst alien and at best a concept with little or no respect in India. If you exercise your right to free speech (you can only do so when you indulge in speech not welcome by anyone who holds influence) you seriously risk physical harm. This is the reason you dont have Jon Stewart show in India, wont have in the near future.

If someone drops his pants, or more accurately does something much worse (multi-homicide level worse) and claims "I did because BTNM said so", no one will seriously question his/her judgement or responsibility of listening to BTNM but will fall over themselves in their eagerness to blame BTNM exclusively and put a blanket ban on anything that is deemed unpopular by the people who have influence: think of the women and children that may be harmed.

I am _sick and tired_ of waiting for us to behave like adults and treat people like adults with the full set of responsibilities that comes with it. But no, we want to be treated like kids incapable of taking responsibility of our own actions and elect such people to high places.

I expect this to be downvoted if there is a large Indian audience hanging out here. This is definitely a minority view here, going by multiple conversations I have had on this topic.

<comment><USER21> You are correct, however the problem is with the large % of illiteracy/poor education. I hope things will improve once the society is better educated.

<comment><USER20> I wish I could bury it under that rug, but such views are held quite strongly by the apparently educated and "literate" class. Those who do not hold on to such beliefs are typically labelled "communist", "unpatriotic" or some such.

<comment><USER21> My experience is on the contrary. I have seen people being branded right wing extremists just for having a different point of view. So I think both sides are guilty of this crime.

</comment></comment></comment></comment></comment></comment><comment><USER22> While Indian PM addresses people on Twitter, the countrymen can't even access basic Internet. Cry for Freedom of speech? Irony!

</comment><comment><USER23> mmm so the digital world will also be part of bans/strikes going forward. So parties will now call for bundh will ensure online shops are also closed. <joke>If telephone booth and post office is closed why should the 2g/3g/4g and land line should work they should also stop..</joke>

</comment><comment><USER24> The Egyptian government did the exact same thing during the January 2011 revolution. And they even took it a step further by cutting all mobile communications (calls and texts) and cutting landline internet (ADSL). Surprisingly, not a single person was asked or blamed till now.

Very sad to see the same situation happen again!

</comment><comment><USER25> I'm from Ahmedabad.

Background information:

What is happening is not a religious issue or in any way related to the communal riots 15 years ago.

From Wikipedia:

 _In India, the Other Backward Castes (OBC) status invokes affirmative action which provides reserved quotas in education and government jobs. In Gujarat, 27% of seats are reserved for OBC (Other Backward Castes), 7.5% for Scheduled Castes and 15% for Scheduled Tribes for a total of 49.5% of all seats. The Supreme Court has capped the maximum reservation at 50% in their 1992 judgement._

What decides if you are OBC, SC, or ST? Your surname, and the community your family belongs to. Note that membership to one of these segments used to strongly correlate once with lower economic status (and therefore opportunities), but in recent years this correlation is significantly weaker.

The agitation is a result of the unsustainable caste politics quoted above. 49.5% of people getting in through a quota is _absurd_. Now I think that elevating downtrodden sections of society (through economic incentives, or even a reasonable quota) is a good thing. but when _half_ of all seats in universities and stable government jobs are tied to a quota, the playing field for the "general category" is significantly shrunk, and people are going to get frustrated.

The community that is protesting are the Patels. They are huge in Gujarat; they're all over the strong middle class spectrum, and parts of the upper class. What I mean to say is that they are not even remotely an oppressed downtrodden segment of society. They happen to be an entrepreneurial and dynamic class; if you're in the UK or the US, you probably are aware of Patels because they constitute a huge percentage of Indian immigrants/expats. My point being: Patels asking for reservation is ridiculous. I guess only in India can a community _demand_ to be labelled as "backward".

But when the playing field is so small, is it a surprise that everyone now wants their own space carved out?

I hope this protest will die, because animosity between such a large segment of society and others can become a source of problems in the future. But I also hope that it will force the government to rethink the crazy huge reservation system.

People in Ahmedabad are feeling scared and angry right now. Just outside my parents' home, protestors/vandals lit three buses and a bus terminal on fire yesterday. Then there's the police, here's a video of the them going on a power trip: [https://twitter.com/ndtv/status/636808983131525120](https://twitter.com/ndtv/status/636808983131525120)

PS: Not all Patels are asking for reservations, there are a number of dissenting factions as well.

<comment><USER26> Are there a lot of patel's outside the creamy layer ? [https://en.m.wikipedia.org/wiki/Creamy_layer](https://en.m.wikipedia.org/wiki/Creamy_layer)

The forward castes are 30% of the population and can still get 50.5 % of the seats, and actually even more in practice. So, the numbers are not absurd, but quotas are reviewed every ten years, and not permanent. And the quotas don't apply to the rich backward caste members. See creamy layer.

<comment><USER25> I'm not sure of the proportion of the Patel community within/outside that, but the creamy layer is a bit of a joke. :/

1\. It applies only to OBC (not even SC/ST)

2\. You need to declare your family's total gross income to be entered into the creamy layer. If you declare such an income, you need to pay taxes. And we know how rampant tax fraud is everywhere... The incentives are all wrongly aligned.

</comment></comment></comment><comment><USER27> Thats why India should have more communities like [http://battlemesh.org/](http://battlemesh.org/) for creating decentralized adhoc networks

</comment><comment><USER28> PATEL population is less than 1% in India; Tell PATEL to take 1% CasteShareOfLand from India and go build their own nation;

<comment><USER10> Because partitioning India worked so well last time?

</comment></comment><comment><USER29> The website [http://thenextweb.com/](http://thenextweb.com/) accesses your FB credentials without asking for your consent. The headline can't be more misleading by the way. It was done to contain spread of violence, not to stop discussions.

<comment><USER30> How would their website accomplish that? That seems to be an interesting first post, especially considering people communicating openly seems a way to prevent violence and rumors.

It seems you might want to provide more detail or justification behind your words, or people may consider you an astroturfer.

</comment></comment><comment><USER31> India has quite a history of communal riots[0], and Gujarat is a state where violence tends to become really wacky. As a kid I've lived a few years in Rajkot, Gujarat, during and after the Ayodhya riots and violence spread easily based on rumour. But it also has a long history of censorship.

I can understand why the Indian government shuts down a service like mobile internet, they have had a great number of casualties due to these communal riots. But it seems far from the right thing to do.

But the root of the problem is so much a social problem, and the current government (as well as the past governments) have done way too little to introduce more social equality. The backward class programs have not fixed the problem of the caste society, and the country still benefits largely of the enormous cast differences. Modi and his BJP have used the caste system, both for their businesses (Gujarat mainly is a booming business state) and political benefit (it is way easier to get your election going through the system of castes).

Modi and his group had a strange role during the Muslim-Hindu riots of Ghodra, and his stance towards Muslims is highly doubtful [1].

I wonder what more will come up on this story in the following days.

[0] [https://en.wikipedia.org/wiki/Religious_violence_in_India#Gu...](https://en.wikipedia.org/wiki/Religious_violence_in_India#Gujarat_communal_riots_.281969.29) [1] [http://www.nytimes.com/2014/04/19/opinion/being-muslim- under...](http://www.nytimes.com/2014/04/19/opinion/being-muslim-under- narendra-modi.html?_r=0)

<comment><USER32> Nice, carry on the FUD. You are conveniently ignoring UP, Bengal and several other states where violence is a daily norm. But because Modi is closely related to Gujarat, so it is the one singled out.</comment></comment>


Is Twitter Seriously Removing Share Counts? Why Would They Do This? - <AUTHOR> http://warfareplugins.com/is-twitter-seriously-removing-share-counts-why-would-they-do-this/ <comment><USER2> Ha ha, Twitter just can't help but shoot themselves in the foot. Someone is getting paid a lot of money over there to make bad decisions! It's as if they never used their own product.</comment>


Show HN: We Got Sick of Giving Out 'Ballpark Estimates' So We Built This - <AUTHOR> https://buildmymvp.com/ <comment><USER2> Looks very similar to [http://howmuchtomakeanapp.com/](http://howmuchtomakeanapp.com/) and appears to exist primary to upsell the user at the end to the paid service.

<comment><USER3> Weirdly enough, both websites use this exact same quote: "This means you'll need to make an API (application programming interface). It's how all your friendly apps talk to each other."

Either plagiarism was involved, or there's some underlying library that's the same for both, or they both hired the same company to build their MVP ;)

HowMuchToMakeAnApp is by "Commite, a digital studio specialized in driving ideas from inception to launch" based out of "Seville, San Francisco & New York".

BuildMyMVP is made by "ProductDone a digital studio based in Auckland, New Zealand".

The two sites side by side: [https://imgur.com/a/e7OVYVa](https://imgur.com/a/e7OVYVa)

<comment><USER4> If you do a search on the second sentence: "It's how all your friendly apps talk to each other." You'll find at least 10 other cost calculator websites that all use that exact sentence to explain the term API. It also shows how flooded the web is with sites like this.

</comment></comment></comment><comment><USER5> These things never work out well. Picking out options for an app the same way you'd pick options for an automobile implies the work is fairly well siloed and commoditized. So it should be cheap and fast, but then the price and timeline at the end is not what you expect, so you take your newly created list of requirements and go elsewhere. People going through these things want instant gratification.

It also implies that if you want something that does not fall neatly into the categories given then you're going to pay even more.

Giving estimates is just part of sales. If you're tired of it, then don't work sales.

Edit: Ok I decided I should probably give some constructive advice with every teardown I do, so here's a tip: If you really want to do things this way, instead of instantly giving a price at the end, create the illusion that the info will be sent to a human and you'll send a quote by email after they've had a chance to review. Then just set up a cron job to go through your list of emails at certain strategic times of the day and send personalized messages with the quoted price and time frame. This way you start a conversation with the potential client and keep them on the hook.

<comment><USER6> Regarding the quote by email, that's also one way to quickly loose people.

They give out a number and if you click the it's too expensive option, then they tell you that it could be cut by up to 70% if you contact them. Not bad but maybe it could somehow be added to the page. Ideally with a big on info on why.

Right now it feels to me like they're just quoting you high and then swapping that out for the real price they want to charge you. Usually when stuff like that happens, it's still inflated.

That's the feeling I got when I saw that.

</comment></comment><comment><USER7> Lots of negative comments, but whatever you think of the prices, this is very well done:

      - Clean, intuitive UI.
      - Clear, *short* copy.
      - A complex process broken down
        into easily digestible chunks.

</comment><comment><USER8> This is a clear sales pitch - inflate cost estimates, obscure any source datasets and then pitch a 70% cheaper solution?

Lipstick meets pig.

<comment><USER9> Seriously...$21k and 6-9 months for an Android-only Tinder with no login, no profiles, no ratings, no external APIs or payment methods, no branding, and barebones design? At that point you may as well just download the CardStackView sample off GitHub.

</comment></comment><comment><USER10> Momentum scrolling isn't working on iOS. Add -webkit-overflow-scrolling: touch to whatever element is overflowing. You're welcome.

</comment><comment><USER11> Aren't the estimates a bit on the higher side? Moreso in terms of time than costs. A barebones mobile app shouldn't take 6-9 months to develop.

<comment><USER12> Yes and no. A barebones mobile app is fast to develop when you're working with experienced people who know what they want.

If you're working with first-timers, you have to account for 3 - 5 major redesign decisions along the way.

There are valid techniques for mitigating this: educating the client, setting clear expectations, delineating desired outcomes, having an iron-clad contract, charging for modifications, etc.

Each of those approaches is arguably good/bad in terms of project management on consulting work.

But at the end of the day, if you work on tech projects with first-timers, there's going to be a learning curve, and that learning curve is going to 2x or 3x your dev time, if you're smart about it. Or 10x your dev time if you're not.

</comment></comment><comment><USER13> Super cool. Would be awesome to to see a price breakdown in the results view.

<comment><USER14> They won't do that because it's an advertisement for their service.

</comment></comment><comment><USER15> Mobile web feedback: something on that page is breaking vertical scrolling on iOS (there is no scroll momentum — the page stops dead the instant you lift your finger, and it appears to be scrolling at maybe 10fps)

</comment><comment><USER16> I went through it with some of the ideas I have but it never asked me "Is there a special technical challenge included that needs to be solved?

So I feel like this missed it a bit.

</comment><comment><USER17> Nice idea. One issue is that most users will think that you have responded to the incentive to inflate the prices and make yourself look better by comparison. Some ways you can make your estimates more credible include:

      - 1) give ranges of price estimates

      - 2) communicate the uncertainty around different parts of the estimate

      - 3) show what size team you are estimating will be working on your project

      - 3b) have a slider so that people can play around with the team size (and explore the team-size / price / time tradeoff)

      - 4) show an estimate of what kind of volume the finished mvp can handle

      - 5) show real-life estimates you've gotten on a set of projects. possibly include how much it would have cost to build this very website at both a large institutional design agency and a well-regarded boutique agency.

</comment><comment><USER18> Another "guerilla marketing" project by some random studio/agency trying to get new project (don't' blame you for that) but please, at least open source the goddamn thing.

</comment><comment><USER19> I wonder what do they mean by "Hybrid MVP build process" for 70% cost reduction. Does it only refer to a mobile app being non-native or what else could it imply?

</comment><comment><USER20> Fantastic. I'm sure this has them lose out on many opportunities that shops with less integrity will sell them on. And, that might mean they won't survive.

<comment><USER21> They're claiming to be able to cut the displayed time and cost by up to 70%.

</comment></comment><comment><USER22> I really like the UI/UX in this. How was it built?

</comment><comment><USER23> Agree with the other comments on price breakdown; would allow to hit a different number based on understanding implications.

</comment><comment><USER24> Love it! <3

When I'm on [https://www.productdone.com/contact/](https://www.productdone.com/contact/) and I click 'about' in the nav bar it doesn't seem to take me anywhere.

</comment><comment><USER25> That's a bad website. Hijack scrolling and back button.

</comment><comment><USER26> be nice if they broke the costs down a bit. bit yeah cool idea.

</comment><comment><USER27> i'll cap costs to match estimates from this tool at 1/3 the timeframe, email me to see if it's a fit

</comment><comment><USER28> Fun idea. Just wanted to point out the typo with the word startup on page 3:

statup</comment>


The X-15, the fastest manned aircraft ever made - <AUTHOR> http://sploid.gizmodo.com/the-best-photos-of-the-x-15-fastest-manned-aircraft-ev-1675268839

<comment><USER2> From the book Ignition! ([http://library.sciencemadness.org/library/books/ignition.pdf](http://library.sciencemadness.org/library/books/ignition.pdf))

 _" But something more potent than alcohol was needed for the X-15 rocket- driven supersonic research plane. Hydrazine was the first choice, but it sometimes exploded when used for regenerative cooling, and in 1949, when the program was conceived, there wasn't enough of it around, anyway. Bob Truax of the Navy, along with Winternitz of Reaction Motors, which was to develop the 50,000 pounds thrust motor, settled on ammonia as a reasonably satisfactory second best. The oxygen-ammonia combination had been fired by JPL, but RMI really worked it out in the early 50's. The great stability of the ammonia molecule made it a tough customer to burn and from the beginning they were plagued with rough running and combustion instability. All sorts of additives to the fuel were tried in the hope of alleviating the condition, among them methylamine and acetylene. Twenty-two percent of the latter gave smooth combustion, but was dangerously unstable, and the mixture wasn't used long. The combustion problems were eventually cured by improving the injector design, but it was a long and noisy process. At night, I could hear the motor being fired, ten miles away over two ranges of hills, and could tell how far the injector design had progressed, just by the way the thing sounded. Even when the motor, finally, was running the way it should, and the first of the series was ready to be shipped to the West Coast to be test-flown by Scott Crossfield, everybody had his fingers crossed. Lou Rapp, of RMI, flying across the continent, found himself with a knowledgeable seat mate, obviously in the aerospace business, who asked him his opinion of the motor. Lou blew up, and declared, with gestures, that it was a mechanical monster, an accident looking for a place to happen, and that he, personally, considered that flying with it was merely a somewhat expensive method of suicide. Then, remembering something he turned to his companion and asked. "By the way, I didn't get your name. What is it?". The reply was simple. "Oh, I'm Scott Crossfield."_

</comment><comment><USER3> NASA published a comprehensive (if a bit dry at times) ebook, _X-15: Extending the Frontiers of Flight_ [1] that covers the development and test program. If you're ever near Dayton, Ohio, the National Museum of the USAF has X-15A-2 [2] and an XLR99 [3] on display.

[1] [http://www.nasa.gov/connect/ebooks/aero_x15_detail.html](http://www.nasa.gov/connect/ebooks/aero_x15_detail.html)

[2] [http://www.nationalmuseum.af.mil/factsheets/factsheet.asp?id...](http://www.nationalmuseum.af.mil/factsheets/factsheet.asp?id=556)

[3] [http://www.nationalmuseum.af.mil/factsheets/factsheet.asp?id...](http://www.nationalmuseum.af.mil/factsheets/factsheet.asp?id=890)

</comment><comment><USER4> Very cool. Also if you want a wider view of the content, fire up the web inspector console and enter the following:

$(".main-column").attr('class', 'large-12 columns main-column');$(".hide-for- medium-down").remove();

</comment><comment><USER5> That reminds me, earlier this month I saw a great PBS Nova episode about Neil Armstrong's life: [http://www.pbs.org/wgbh/nova/space/first-man-on- moon.html](http://www.pbs.org/wgbh/nova/space/first-man-on-moon.html) It talked a bit about the X-15 and some crazy situations Neil got into flying them, like skipping off the top of the atmosphere at supersonic speeds.

</comment><comment><USER6> A good movie about aerospace and the origins of the U.S. space program (it's also a book) is "The Right Stuff".

I don't think the X-15 is in it, but it can give you an idea of what the times were like [http://www.impdb.org/index.php?title=The_Right_Stuff](http://www.impdb.org/index.php?title=The_Right_Stuff)

It's still worth a watch today.

</comment><comment><USER7> The X-15 was also a milestone in the development of flight control systems -- in some phases of flight, the aircraft was too unstable to be easily controlled by a human pilot, and on most flights, it had machinery massaging the pilot's control inputs.

"Digital Apollo", by David Mindell, has a chapter on this, before it gets into the space program proper.

</comment><comment><USER8> Spot on comment: [http://sploid.gizmodo.com/jesus-what-happened-to-america- our...](http://sploid.gizmodo.com/jesus-what-happened-to-america-our- grandparents-where-1675272285)

</comment><comment><USER9> Besides the space shuttle?

<comment><USER10> Yeah, the terminology isn't well defined by the article. The X-15 is the fastest, manned, suborbital craft ever built.

<comment><USER11> Some of the X-15 pilots got astronaut wings.

<comment><USER12> They got astronaut wings for Shuttle/Apollo/Skylab/Gemini(?) missions though, not specifically for their X-15 flights right?

</comment></comment></comment></comment><comment><USER13> I had always though the SR-71 was the fastest airplane, and it turns out I'm right (sorta). The X-15 isn't an air _plane_ , apparently (hence why it's only referred to as an air _craft_ ). I'm not sure why but probably because it's just a rocket and it doesn't actually "breathe air", nor does it seem to be able to take off on it's own?

</comment><comment><USER14> Some videos here: [http://www.dfrc.nasa.gov/Gallery/Movie/X-15/index.html](http://www.dfrc.nasa.gov/Gallery/Movie/X-15/index.html)

</comment><comment><USER15> Must have been utterly terrifying to pilot that thing... the entire aircraft is basically one gigantic fuel tank with a tiny space for a seat at the front.

<comment><USER16> I imagine the danger of faster airships is like falling out of successively higher windows. After you reach the 3rd storey it'll kill you, so it quits having any meaning.

</comment></comment><comment><USER17> What did we* need such hypersonic rocket planes for and why did we stop improving them?

*we as a species

<comment><USER11> Vietnam? The belief that low, slow and stealthy would win the day vs high and fast? Look at how many people claim that SAMs won out against the B-70 Valkyrie (basically, a heavy bomber analogue to the SR-71).

<comment><USER18> More likely high and fast is the answer, it's just ICBM's are faster and go higher than hypersonic rocket planes...</comment></comment></comment>


Aspell and Hunspell: A Tale of Two Spell Checkers - <AUTHOR> http://penguindreams.org/blog/aspell-and-hunspell-a-tale-of-two-spell-checkers/ <comment><USER2> I'm using the open source LanguageTool for my spell checking service [https://www.spellboy.com/check_spelling/](https://www.spellboy.com/check_spelling/) Unlike aspell and hunspell it is capable of finding grammar mistakes.</comment>


Planned Economic Crisis. Friedman Wrote about India in 1963 - <AUTHOR> http://www.outlookindia.com/article/planned-economic-crisis/211653

<comment><USER2> [http://www.lietaer.com/2010/03/the-worgl- experiment/](http://www.lietaer.com/2010/03/the-worgl-experiment/) could be the solution</comment>


Ask HN: Do we still need FLV? - <AUTHOR>

As Flash started to support MP4 back in 2007, does somebody still see any advantage (compatibility reasons?) in converting videos to .flv in parallel to .mp4?<p>I just wonder why the majority of html5/flash players (http://praegnanz.de/html5video/) still suggest/support .flv as a fallback format. <comment><USER2> FLV is a holdover from a less civilized time.

The new regime requests the following in at least 3 different bandwidths (mobile, standard, HD) each:

* MP4 (h.264 Main Profile w/AAC audio) * OGG (Theora with Vorbis or MP3 audio) * WEBM (WebM with Vorbis audio)

This is from memory, so I could be mistaken about the specific codecs used for those last two, but those three file types combined with a player (or JS library) that detects bandwidth capabilities should let you play a video back on virtually any modern device (ie. most phones, tablets and browsers), and fall back to Flash using MP4 for browsers without HTML5 video element support.

I've used VideoJS and JWPlayer in the past (and recently!) with great success. There is no need for an FLV version of the video unless you expect your users to be using Flash before version 9 (or was it 8?).

</comment><comment><USER3> FWIW, we do not convert to FLV anymore for Facebook video.</comment>