Esperanto as an Asian language - <AUTHOR> http://blogs.bl.uk/european/2017/07/esperanto-as-an-asian-language.html <comment><USER2> The problem with invented languages is that it is almost always possible to find some easy criticism of it (e.g., inherent sexism in vocabulary), and since it's invented, you can't shrug it off with "historical baggage" like you can with natural languages. When trying to design it for an international audience, and trying to avoid tying it to a specific language or language family, it's basically impossible to find sufficiently universal constructs.

Phonetics is the easiest thing to find a universal subset for--there's basically only so many ways you can physically structure your mouth to make sounds (although it does operate rather on a continuum basis). We can also objectively say that some sounds are easier to produce than others. Even then, the intersection of all languages' phonemic inventories is probably empty. The basic structure of a dozen or so consonants (m, n, b, p, j, s, z, k, g, d, t, w, h, say) with 5 basic vowels structured in a strict CV syllable format, with no diphthongs and vowel length, aspiration, and tone all being non-phonemic is the basic outline for how to design the phonotactics of a universal language.

Moving beyond phonemes is virtually impossible, however. Trying to design a basic lexeme for the language obviously runs into problem of where you source the lexemes (particularly since borrowing from several different languages tends to make it completely incomprehensible to everybody, although you may find that more tasteful than prejudicing one language's speakers as having an easier time mastering the lexeme). But even choosing which words to make root lexemes and which ones to make compounds is difficult. Should blue and green be separate lexemes? What about blue and azure? Should right be "not-left" but south not be "not-north"? Languages often attach multiple meanings to the same word, and these meanings don't always match up across languages.

Grammar is even worse. It's hard to find any grammatical structure that's truly universal across languages; maybe the separation of function between nouns and verbs, but the proclivity to verb nouns is so common in languages that it's questionable how fundamental the distinction actually is. Even the basic meaning of things like mood, aspect, and tense can be hard to settle, since the forms that exist in languages can partially overlap certain combinations (past/present+future versus past+present/future forms being the most well-known). Having to mark cases that don't exist in your native language can be difficult; English users' trouble with the subjunctive is well-known.

<comment><USER3> > (although it does operate rather on a continuum basis)

Actually, consonants are pretty discrete. You can move your tongue further and further back and it is still perceived as the same fricative (for example), but move it just a bit further back and the quality of the sound changes completely to another fricative.

Vocals, on the other hand, are continuous, so that miniscule changes in your jaw-tongue configuration makes it sound differently.

That's why you usually recognize non-native speakers by their vowels. It takes many years to get vowels right.

<comment><USER4> They aren't wholly discrete, or you wouldn't have groups like m/n or b/p/f/v trading places.

</comment></comment></comment><comment><USER5> Interesting to see this on HN. I'm actually at the congress right now in Seoul, I can answer any questions people might have (though this is only my second congress).

In general I find that the speakers from Asia have to try harder to be understood because of the reduced shared vocabulary and different phonetics. It seems much easier for a speaker of Spanish or Italian.

<comment><USER6> What is the general feel on "Esperanto vs English as a world language" there?

<comment><USER7> This. In particular: what's the purpose of Esperanto now that anybody either speaks English or wishes they did and will make sure their children do?

<comment><USER8> English does not fulfill the neutrality ideal of Esperanto, which many people that speak Esperanto think it's very important. Currently, if you are born in an English speak country, you have such a great advantage over everybody else (starting with you don't have to spend lots of money to learn English, and few people attain native speaking levels later in life).

But it is true that the current purpose of Esperanto is more ideal than practical. I study Esperanto because I really like its internal ideals. I study English because I want to eat.

<comment><USER9> Esperanto fails at being neutral because it's inherently oriented towards the subset of European languages Zamenhof based it off of. Someone who speaks German or Czech would have an easier time learning it than someone who speaks Mongolian or Korean or Mandarin Chinese.

<comment><USER5> I find that spanish/italian speakers pick up esperanto the easiest, followed by I suppose french speakers and english speakers. Harder for any speakers who don't already speak a latin-derived language.

</comment></comment></comment></comment></comment></comment><comment><USER10> One interesting influence of Chinese on Esperanto is that you now have two ways to use adjectives as predicates. To say "Anna is beautiful" you can use the copular verb est:

      Anna est bela.

Which is like English and most European languages. But you can also say

      Anna belas.

That is, you turn the adjective to a verb and use it as a predicate directly. This mirrors the syntax of Chinese.

<comment><USER11> I think it's mostly an influence of Russian/Belorussian:

verb form:

        Анна красива.

adjective form:

        Анна красивая.

<comment><USER12> Wait, where's the verb in the first form?

<comment><USER11> красива is predicate (or сказуемое)

</comment></comment></comment></comment><comment><USER13> >Although the proposal for the League to accept Esperanto as their working language was accepted by ten delegates, mainly from Asian countries, the French delegate used his power of veto to block the issue.

What an odd thing to veto. Was there a good reason for it, or was it just to preserve the "lingua franca" over a new contender?

<comment><USER14> French here. French politicians, and a big part of the population also, are weirdly defensive about using any international language other than French.

French is actually used in some international organization: international post (and aviation I think?) as well as diplomacy. That latter one may make some politicians blind to the fact that the game is set: English won as the de facto international language.

France could dispute the status of superpower to UK in the time of colonial empires but this time is definitely over, but some are deluded into thinking that we could still dispute the status of English as the predominant language.

It is a combination of pride and laziness that makes so many people consider that we should not accept English as an international language. I find it stupid, but it is not a thing that is specific to the far-right nationalists.

<comment><USER15> I mostly agree but I think it's a bit simplistic. Languages aren't just a neutral tool, they come with a culture. English is the modern lingua franca not because of some inherent quality of the language but because it's the language of the USA, by far the greatest economic, military and cultural superpower of our times.

Do you realize how much power and influence this gives the USA? We have Captain America in theaters, but Captain China and Peru are nowhere to be seen. When's the last time you've seen a company motto in Spanish or Italian? English, I'm Loving It, Just Do It, Think Different.

Does it make sense to make English the de-facto standard language for the EU when Ireland is the only country left in it which uses it natively?

I'm all for people learning English to facilitate the dialogue between countries and cultures but I think it's very noble and important to strive to preserve diversity, linguistically and culturally.

D'un français à un autre, en anglais, sur un forum anglophone.

<comment><USER16> I entirely agree with you about the value of maintaining diversity but Iv was pretty much pointing out that Esperanto was vetoed in order to prevent an increase in diversity. French was the diplomatic lingua franca and the French delegates were working very hard to maintain that.

English is now the lingua franca in many fields due to US hegemony as you say. Even though it's not due to any inherent virtue it's not, of itself, a bad thing. I'm not a big fan of Americanization (sic) but that's a slightly different thing from a common means of communication. The latter may well mean we have to suffer some of the former but I personally think it's worth it (don't tell my daughter I, like, said that OK?).

Obviously this will never happen but now would be great time for the EU to adopt English as a common tongue, precisely because of Brexit. It'd clearly not be because of a cultural dominance within the EU and it would save a ton of money and a lot of wasted effort. I await the response of the Académie française with bated breath.

<comment><USER15> Yeah I agree with you. There's a difference between preserving diversity and trying to push your language down other people's throat. Clearly some of our laws and official posturing has more to do with the latter than the former.

And obviously I won't oppose English becoming the language of the EU since the other obvious contender would be German and I can barely speak a lick of Deutsch!

<comment><USER17> Also English is easier to learn than German. As a geographically spread-out language without central control all the bits that are hard to learn has gone away. The only problem is that it has accumulated a lot of crufty spelling and prononciation, but that's easier to fix than grammar.

</comment></comment></comment></comment></comment></comment><comment><USER18> A symbolic language, such as Bliss[0][1][2], avoids cringe-worthy issues with accents and comprehension, at the cost of being written only. Sign languages do the same.

International Sign Language[3] + Bliss are in theory the perfect combination for intergalactic communication. Blind people, unfortunately, would have to continue to suffer English until such time that direct brain stimulation becomes feasible.

EDIT: Key point in all seriousness: the Bliss language has enabled thousands of cerebral palsy sufferers to communicate with a full range of expression. Sadly curbed in recent years by the much more limited pre-phrased, Hawking- like computer voices. Alternatives exist. Listen to the radio shows in [1] to find out more. The BBC one I found particularly moving. The Radiolab one starts at 5min, goes on for some 30mins.

[0] - [https://en.wikipedia.org/wiki/Blissymbols](https://en.wikipedia.org/wiki/Blissymbols)

[1] - [http://www.bbc.co.uk/programmes/b08y26qf](http://www.bbc.co.uk/programmes/b08y26qf), [http://www.radiolab.org/story/257194-man-became- bliss/](http://www.radiolab.org/story/257194-man-became-bliss/)

[2] - [https://archive.org/details/mrsymbolman](https://archive.org/details/mrsymbolman)

[3] - [https://en.wikipedia.org/wiki/International_Sign](https://en.wikipedia.org/wiki/International_Sign)

<comment><USER19> Another fascinating chapter in the history of perfect languages.

" _... McNaughton's team might often interpret a certain symbol in a way that Bliss would later criticize as a "misinterpretation". For example, they might interpret a tomato as a vegetable —according to the English definition of tomato— even though the ideal Blissymbol of vegetable was restricted by Bliss to just vegetables growing underground. Eventually the OCCC staff modified and adapted Bliss's system in order to make it serve as a bridge to English. (2009, p. 189) Bliss complaints about his symbols "being abused" by the OCCC became so intense that the director of the OCCC told Bliss, on his 1974 visit, never to come back. In spite of this, in 1975 Bliss granted an exclusive world license, for use with disabled children, to the new Blissymbolics Communication Foundation directed by Shirley McNaughton (later called Blissymbolics Communication International, BCI). Nevertheless, in 1977 Bliss claimed that this agreement was violated so that he was deprived of effective control of his symbol system._ "

</comment></comment><comment><USER20> Thanks for posting this. I'm hoping now that Esperanto is on Duolingo, we will see an uptick in Esperanto speakers.

<comment><USER21> Genuinely curious - why are you hoping to see an uptick in Esperanto speakers? I'm not sure I see the advantage of Esperanto, although I do find constructed languages fascinating.

<comment><USER22> It is a much easier and possibly the easiest language to learn especially for those who already speak a latin-based language. In some cases, people can be thought of as fluent with a couple months of learning the language.

It's also not tied to any particular nation which makes it easier for people to adopt without feeling like they are just being taken over by another culture.

This is all to say that Esperanto is genuinely better as a second language for Europe and the Americas if not the world.

<comment><USER23> The fact that it's much easier for those who already speak a Romance language means that it's still is tied to particular nations.

>This is all to say that Esperanto is genuinely better as a second language for Europe and the Americas if not the world.

English is as close to a global lingua franca as we've ever had. There's just so much momentum behind it, that it would take something world shaking to change that. I think we'd be better off trying for an artificial language that is mostly mutually intelligible with English if the goal is really widespread adoption.

<comment><USER24> Zamenhof had a famous ethical argument about this (it begins "Ofte kunvenas personoj de malsamaj nacioj kaj komprenas unu la alian", 'People of different nations frequently encounter and understand one another', and you can find a lot of copies of it online, although I didn't immediately find an English translation). He felt that it was unfair that native speakers of a language that's used in international communication will have an advantage in fluency (and learning effort) compared to non-native speakers, and argued that these were reasons that the eventual international language should not be any community's native language.

However, he was also fighting (and is still fighting) very significant economic or incentive issues. Even before the era of English as an international language, there was always an obvious incentive to learn the most widely spoken or prestigious language or languages in one's region -- such as the language of a nearby large, rich country. People still feel that incentive today and the benefits of learning specific languages of wider communication or languages of prestige can be very tangible. And there are definitely people who feel that it's unfair that they have to learn English rather than English-speakers having to learn their language (and it is!), but many of them learn English anyway because they can clearly see the benefits.

Having a really apparent worldwide Schelling point of "everyone in the world in going to learn this" or "enough people already know this that it's clearly useful for international communication" would help Esperanto tremendously, and Esperanto did have momentum of that kind at one point, but according to the Esperanto Museum in Vienna it seemed to lose it in the course of the World Wars.

<comment><USER23> If Esperanto ever became the dominant international language people would start making blockbuster movies in it, kids would start learning it, and younger people in smaller countries would use it more than their native tongue.

Then it would start to displace a few native languages until it became some community's native language.

After that it would start to fragment and evolve and lose all the simplicity that comes from it being an artificial language.

<comment><USER25> I don't think it would fragment that quickly. In times past travel was slow, there was no telephone, or news papers. The few books were mostly reserved for the elite.

600 years ago (before the printing press) most people lived either on or near their farm. You went to the nearby village for things you couldn't make on the farm. Traveling to the next village was as far as most people could go: they needed to get back to the farm to milk the cow again, or otherwise care for the farm. As such there was no way to know your language was fragmenting, much less any reason to care.

Today we have printing presses, telephone, TVs, movies. All give us ways to find out about fragmentation and reasons to care. While languages will still change and fragment over time, the above pressures will help to keep the changes in check.

<comment><USER23> Language in a literate society changes more slowly. But it still changes, given enough time it will fragment.

There's also no reason to think Esperanto would evolve or fragment any slower than English once it's actually in use. Which negates many of the arguments that we need Esperanto as a global lingua franca because English will fragment once America declines.

<comment><USER24> English speakers traditionally hate the idea of language planning, at least if it's an overt governmental program, but it's had some powerful effects elsewhere.

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

Some world language scenarios might include an idea of a language regulator for the world language

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

and some kind of mechanism to enhance the language regulator's influence (although I don't know exactly what that would be).

I don't think that Zamenhof thought this aspect through in much detail, because he thought that people would continue to use Esperanto exactly as described by the _Fundamento de Esperanto_. See paragraph 4 of the Boulougne Declaration:

> [...] The only single, perpetually obligatory foundation of the language > Esperanto for all Esperantists is the work, _Fundamento de Esperanto_ , to > which no one has the right to make changes. If someone deviates from the > rules and models from the above-mentioned work, he or she cannot ever excuse > himself/herself with the words: "so desires or advised the author of > Esperanto". Every idea that cannot be conveniently expressed by the contents > of the _Fundamento de Esperanto_ , all Esperantists can express in a manner > which they deem the most correct, as is done in any other language. But for > reasons of unity all Esperantists are recommended to imitate, as much as > possible, that style which is found in the works of the creator of > Esperanto, who has worked more that any other for and in Esperanto and who > knows its spirit better that any other.

[https://web.archive.org/web/20140506075349/http://aktuale.in...](https://web.archive.org/web/20140506075349/http://aktuale.info/en/biblioteko/dokumentoj/1905)

[https://eo.wikipedia.org/wiki/Deklaracio_pri_Esperanto](https://eo.wikipedia.org/wiki/Deklaracio_pri_Esperanto)

However, I don't think this has worked out exactly as Zamenhof intended, because I think there have indeed been unofficial changes and divergences, as well as slang (maybe smaller than those you'd expect to see in a non- constructed language, but still some). Also, I think there are ultimately grammatical and usage questions that the _Fundamento de Esperanto_ didn't address, because Zamenhof wasn't quite a linguist in the modern sense, didn't know about certain grammatical issues, and didn't conduct user testing with speakers from different linguistic backgrounds.

<comment><USER24> I didn't realize it, but there's already an Esperanto language regulator endorsed by the UEA:

[http://www.akademio-de-esperanto.org/](http://www.akademio-de-esperanto.org/)

I don't know how readily and consistently Esperanto speakers follow its rulings.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> I don't get the philosophy behind the Esperanto language. Why didn't the inventors pick a popular language like English or Spanish, and fixed their inconsistencies, rather than invent a whole new language? Were there political reasons?

<comment><USER27> This is kind of a let-me-google-that-for-you situation, but the nickel explanation is that Zamenhof saw a culturally-neutral international language as being important for building peace, furthering humanism and combating nationalism. If you look at the historical context, it makes more sense.

Most of the criticism aimed at Esperanto today is about how badly executed the language itself is, but it unquestionably got further towards the larger goals than any other constructed language.

</comment></comment><comment><USER28> It's fascinating to read about how Esperanto got adopted so much by people in the "counter-culture", for lack of a better term. What enabled that? It is hard to imagine an artificial language being met with so much enthusiasm today.

<comment><USER22> In my own experience, people who speak Esperanto are more likely to be against the status quo of nationalism and tend to be against the imperialist nature of their own or other large governments. They tend to be for the free travel of people and against strict immigration laws. Those ideologies square well with political movements of communism, anarchism, libertarianism, etcetera which are usually on the fringes of society.

<comment><USER29> This is true, in the left circles I'm in, Esperanto is a popular suggestion for language learning.

</comment></comment></comment><comment><USER30> " _Linguists are undecided about Esperanto_ "

Indifferent would be a better word.

In any case, Esperanto has no feature which set it apart from other European languages, whether in lexicon (obviously) or in grammar, it is thoroughly european (as demonstrated in great detail here : [http://jbr.me.uk/ranto/](http://jbr.me.uk/ranto/) )

<comment><USER31> > Esperanto has no feature which set it apart from other European languages.

Do you know why it was created? To have one language for communication for the whole world unencumbered by historical baggage of politico-cultural domineering (e.g., prevalence of english due to British imperialism). (among other reasons).

That right there is a feature that sets it apart from all natural languages (other than the created ones like Klingon, Lojban, etc) not just European.

<comment><USER2> > Do you know why it was created? To have one language for communication for > the whole world unencumbered by historical baggage of politico-cultural > domineering (e.g., prevalence of english due to British imperialism). (among > other reasons).

Which is actually quite a farce. Esperanto is largely a language that's vaguely Slavic in grammar and strongly Polish in phonology, with vocabulary largely derived from Slavic, Romance, and Germanic languages. In other words, Esperanto is a "world language" that comes from a time where "world" meant "Europe", and it largely assumes that Indo-European language peculiarities are fairly universal in languages (they're not).

<comment><USER32> From John Cowan's list of "Essentialist Explanations", credited to Kapitano Eglefino ([http://vrici.lojban.org/~cowan/essential.html#Esperanto](http://vrici.lojban.org/~cowan/essential.html#Esperanto)): "Esperanto is essentially English, French, German, Spanish, Italian, Russian, Latin, and Greek, invented by someone who speaks English, French, German, Spanish, Italian, Russian, Latin, Greek...and Polish." \--

</comment></comment></comment></comment><comment><USER33> Here is a good article about the language family of Esperanto:

 _Esperanto: european or asiatic language?_ (1981)

[http://claudepiron.free.fr/articlesenanglais/europeanorasiat...](http://claudepiron.free.fr/articlesenanglais/europeanorasiatic.htm)

</comment><comment><USER7> Television standardized the language of nation-states. Now even the most backward of countrymen speaks or at least understands the common language used on TV, and the local inflections get less and less prominent with each passing generation. (Granted, this was more of a problem in older countries.)

The Internet will do the same on a global scale, in the long run, with English being that language, obviously.

So what's the purpose of Esperanto, again?

<comment><USER34> There isn't a purpose. It's a contrived language with the historical and cultural relevance of pig latin.

The purpose is likely to provide its enthusiasts with a quirky hobby. It's not any more serious a language as Klingon.

Why Duolingo/etc wastes resources supporting such a useless language when they could perhaps support any of the number of dying languages that actually have cultural and historical significance (such as Yiddish, Navajo or any number of African or Asian languages) seems to be a waste.

<comment><USER35> You could almost say the same thing about those cultural languages though. If me, as a white American, wanted to learn Navajo... what's the point? I'm not Native American, I'm very unlikely to adopt their culture, and my knowing the language isn't really going to further the spread of their culture. So I'd just be learning it as an enthusiast with a quirky hobby and have no one to talk to.

The problem with trying to save dying languages is that you need to save their dying culture, too. Otherwise the language is useless, just as useless as Esperanto. If there's no point in Esperanto because it's a language without a culture, there's no point in learning a language without learning their culture. And culture is often a very tricky, very closely guarded thing.

What we have with Esperanto is a brand new culture that's been created, one that's a lot more relatable to a wider audience than Kasanga or Iñapari.

</comment></comment></comment><comment><USER36> One thing that makes Esperanto popular in Asia is that the Asian languages are much more dissimilar than European languages. For example, the effort for a Japanese person to learn Korean is much more than to learn Esperanto.

<comment><USER37> The Japanese -> Korean example is quite unfortunate as it is one of the big exceptions to the rule you put forth.

<comment><USER38> How is it unfortunate? Korean might have some features that sound familiar to a Japanese speaker -- e.g. word order and morphology of Sinitic vocabulary -- but phonology is quite challenging and non-Sinitic vocabulary is completely different. Overall it's far, far harder than Esperanto for Japanese speakers.

</comment></comment></comment><comment><USER39> I think there are two counterproductive forces around Esperanto: a) Attachment to bizarre communist political ideology (I've seen this a lot in online and offline Esperanto groups) and b) slightly deficient phonotactics for an IAL (some sounds used are incredibly difficult to teach to e.g. Japanese speakers).

Third to those is maybe the accusative, the grammar of which is the subject of an entire pamphlet.

It's otherwise super easy to learn if you can manage to pronounce the sounds. I encourage you to give it a shot either through Duolingo or through Kurso de Esperanto

<comment><USER40> I think you are confusing anti-nationalism/world republic idealism with communism. Certainly the former is part of the traditional Esperanto culture -- Zamenhof's "interna ideo" and all that. The relationship of Esperanto to communism is more antagonistic given that the Soviet Union jailed and executed many Esperantists (see Ulrich Lins' "La Danĝera Lingvo").

</comment></comment><comment><USER41> Can anyone recommend any books or essays written in Esperanto by Asian authors? I'm very interested in experiencing these cultures with a non-English skew.

Please, only recommend things you have read and liked!

</comment><comment><USER26> Here is a youtube video of a man teaching his child to speak Esperanto: [1]

I'm not sure what to think of it. On the one hand, it is a nice experiment that probably wouldn't hurt. On the other hand, what is the real benefit?

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

<comment><USER42> There are already around ~2000 native Esperanto speakers: [https://en.wikipedia.org/wiki/Native_Esperanto_speakers](https://en.wikipedia.org/wiki/Native_Esperanto_speakers) Actually, there even exist third generation native Esperantistas already: [http://blogs.transparent.com/esperanto/3rd-gen-native- espera...](http://blogs.transparent.com/esperanto/3rd-gen-native-esperanto- speaker-nicole/)

</comment></comment><comment><USER43> I just want to say I wish there were more interest in Idiom Neutral.

</comment><comment><USER44> It is not Asian in the slightest. If it were Asian, it would be Chinese or Malay-Indonesian.

<comment><USER45> Have you read the article? It's rather interesting.

<comment><USER44> Lu Xun also advocated for romanized Chinese instead of characters, citing time wasted for students in achieving literacy, however this part of his character (as well as no doubt his support for Esperanto and the apparent anarchist affiliations alleged here) have been airbrushed from history by the Chinese government, who praise him and have a government audited version of his life taught in schools while removing these politically unfortunate aspects of his character.

In short, a collection of superfluous historic tidbits does not make a regional affiliation for a language fundamentally grounded in the etymology of another.

</comment></comment></comment><comment><USER46> Esperanto isn't an asian language. It has nothing to do with asia or asian languages ( however you define "asia" ). Just because a meeting about esperanto is being held in asia or that there were some fans of esperanto in asia doesn't make it "asian".</comment>


The Tiny Designer – End the conflict between non-designers and designers - <AUTHOR> http://thetinydesigner.com

<comment><USER2> This doesn't feel like Show HN material. The biggest problem is that there's nothing for people to "play" with. Please read the rules for Show HN here: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

Probably better to be just a regular submission to HN.</comment>


Boring code is tbe best code - <AUTHOR> http://programmingisterrible.com/post/102153932958/how-i-write-software <comment><USER2> Boring code is the best code, because it pays the bills.

On the other hand, boring code reminds you that most programming is soulless paint-by-numbers scutwork.

But it's probably still better to be a cowboy on your own time. _Certainly_ more fun.

</comment><comment><USER3> Programming is awesome. I noticed your domain says porgrammingisterrible.

Aren't you tired of being wrong all the time? Why are you bothering people who enjoy programming?

Classic troll.

<comment><AUTHOR> Are you aware that the person who posts a link is very rarely the person who wrote the original post?

If you want the writer of the original article to read your comment you should contact them directly.

</comment></comment><comment><USER4> I think css is the most boring code. can't stand it. GET Me back on PHP AND SQL!!!</comment>


Harvard student loses Facebook internship after pointing out privacy flaws - <AUTHOR> http://www.boston.com/news/nation/2015/08/12/harvard-student-loses-facebook-internship-after-pointing-out-privacy-flaws/zASZFdUjn6PoliUiR9kVHJ/story.html <comment><USER2> Yeah, this is hardly surprising.

Facebook and Zuckerberg honestly are a good example of "Do as I say not as I do".

Facebook doesn't track your location constantly so you can know where your wife or sister is when you message them - they track you so they can serve you ads.

It's good to hear that he got a job somewhere else, but honestly I would question the morals/ethics/human decency/whatever you want to call it, of anyone that would go to work for Facebook, given how user-hostile the company is when it comes to privacy.

<comment><USER3> I wouldn't question their ethics since Facebook isn't exactly invading your privacy, you're giving away your privacy by using them. This isn't like Lenovo or the NSA spying on you since in those instances there was a reasonable expectation of privacy. Facebook is a platform designed around you sharing as much information as possible, so it should be assumed they're tracking your location to advertise at you.

<comment><USER2> Facebook don't invade my privacy because I don't use it.

However there are _numerous_ cases where people have been caught out because Facebook was sharing information they expected to be private or limited to their friends.

Yes there is an aspect of personal responsibility here, but there is also a strong aspect of basic human decency which is pretty much at odds with Facebook's business model.

Good companies don't ask "what information can we get from users and how can we make money from it?"

Good companies ask "what is the minimum amount of information we can collect to provide our product/service. OK, are we sure we need that much? How do we protect that information?"

</comment></comment></comment><comment><USER4> >this mapping tool scraped Facebook data in a way that violated our terms, and those terms exist to protect people's privacy and safety

Really? They're not even trying at Facebook anymore. Terms mean jack shit to a malicious attacker, which is exactly who would exploit such appalling code.

<comment><USER5> It's hardly an exploit. All it really is is a feature that this guy happened to disagree with, and he demonstrated his disagreement by showing how it could be used to track your location on a map. To "exploit" this, _you the user_ would have to proactively send chat messages over a prolonged period of time to the "attacker," so I hardly call this an attack.

</comment></comment><comment><USER6> A bit ironic given Zuckerberg's own actions at his University.

<comment><USER2> This isn't irony, it's hypocrisy.

<comment><USER6> Agreed

</comment></comment></comment><comment><USER7> Can you really call it a flaw when they did it on purpose?

</comment><comment><USER8> The moral of the story is never upset your employer. Being right doesn't matter.

<comment><USER9> FB wasn't his employer, yet.

Actually, the moral of the story, as I see it, is these days you can upset whoever you want as long as you are a good engineer. He got another job; probably less boring than a random internship offered to hundreds of people. _Do the right thing.[1]_

[1]: [http://paulgraham.com/good.html](http://paulgraham.com/good.html)

<comment><USER5> Yes, which is why they didn't fire him, they only rescinded his offer.

Also, "probably?" We have no idea. It sounds like you're just trying to justify the intern's actions.</comment></comment></comment>


Fred Wilson: Travis Kalanick is 'wimping out', needs to take Uber public - <AUTHOR> http://uk.businessinsider.com/fred-wilson-criticizes-uber-ceo-travis-kalanick-for-waiting-to-ipo-2016-2 <comment><USER2> Fred Wilson: My VC buddies are in desperate need of cash.

<comment><USER3> Uber's driver-partners are in desperate need of cash too. I wonder how the uber brand gets valued at $62 billion - all the company owns is code, all the transportation assetts belong to the drivers...

<comment><USER4> The brand is what makes the brand valuable. Customers like their service, and go to the Uber app first when they want to buy a ride. On the supply side, Uber has relationships with many drivers. Both of these would cost a lot of money to attempt to replicate. The code is a small piece of it.</comment></comment></comment>


Ask HN: How can I become a flight software engineer? - <AUTHOR> I've been a software engineer for about 10 years now. I've always worked on things that the usual CS grad works on: some server software, a little front end, and right now working for one of the big tech companies in the US (one of A, F, G or M, won't say which).
For years I've been dreaming of working on a different kind of position though. I'd like to be on of the guys that writes code that runs on airliners, fighter jets, spacecraft, satellites and whatnot. I've read quite a bit about it and I'm fascinated by the idea of a much controlled development process, where every line of code has to be checked for correctness and where strict guidelines have to be followed (e.g. the JPL guidelines for C, or MISRA C).
It is my impression that most people working on such positions are Electrical Engineers or CS people who focused on embedded development. I have no experience in either field, unfortunately.
How would I go about making such a career change? I really don't know where to start. <comment><USER2> I work on software for a product used mainly on fighter jets. I just fell into the industry.

The main barrier to entry is to know C. I don't mean that you've written a few basic programs in it, or had a one semester class with it. You need to know C front and back. Be able to identify undefined behavior, complete large programs unsupervised. Several people I work with keep copies of the ISO standard at their desk.

Most of the people I work with have an education in computer engineering, but my background is in CS and math.

Embedded programming isn't really difficult as long as you're using it appropriately. I wouldn't want to use a micro-controller to do a bunch of heavy math, but they're easy to work with basic peripherals that communicate over I2C and SPI. It's actually fairly fun to work on that stuff.

As far as your dream of working on software checked for correctness. I don't know what industry that would be. Military software doesn't have to meet the requirements set by the FAA (civilian stuff). Most do require you to code "towards" DO-178, but there's no CA.

MISRA and JPL guidelines are things that can mostly be checked by PC-Lint and the like. They will help you catch corner cases of writing bad C code. They won't make the code correct.

DO-178 tends to remind me of ISO-9001. They do mandate a few programming practices, but largely you write a set of documents about how you intend to write software, and you make sure you produce artifacts showing you followed your procedures. It doesn't actually verify the correctness of code.

The one thing that I have been amazed about is traceability. It's the one thing mandated by DO-178 that appears to work, and work incredibly well. I think more than any other aspect it traceability explains the excellent track record of avionics software.

We of course do everything we can to make sure the code is correct. I think more than anything, working in this industry creates a company culture of safety. That culture allows for schedules with a proper chunk of time put in for making sure the software is quality.

My advice for getting into the industry would be to learn C really well. Demonstrably well. Grab an dev board for a micro and do a basic project. Then apply to jobs at all the major defense industry contractors. You might not be working on aerospace the first few years, but it'll be a stepping stone to getting your foot in the door.

I'd suggest reading a book on writing safety-critical software before you go too far. Just to make sure it's something you really want to do. I think you'll find the book spends much more time explaining how to write required CYA documents than it does giving you advice on how to write highly-reliable software.

<comment><USER3> Do you have any book recommendations in safety critical software?

<comment><USER2> The only one I've ready cover to cover is: "Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance"

It's on par with everything else I've seen. I've skimmed through a few other books on the same area. They all appear to cover the same stuff.

I'd recommend the above book to see what most of safety-critical software is (documentation).</comment></comment></comment>


Selected questions from Quora and Stack Overflow regarding JavaScript - <AUTHOR> http://blog.rmontanaro.com/2011/01/02/selected-questions-from-quora-and-stack-overflow-regarding-javascript

<comment><USER2> The Stack Overflow discussion points out that the patent hitting rollover menus was going to soon be (and is now) expired: "A long, legal way to say this patent is public domain on 10/5/2010 and these guys are probably trying to snag a nickel before it goes out."

[http://stackoverflow.com/questions/2609936/javascript-css- ro...](http://stackoverflow.com/questions/2609936/javascript-css-rollover- menus-are-patented-and-subject-to-licensing)</comment>


Algorithm Development is Broken - <AUTHOR> http://blog.algorithmia.com/post/75680476188/algorithm-development-is-broken <comment><USER2> The "{area/field/business} is broken" template is broken (well, I don't know if ever worked). Algorithm development is not broken - it's specialized work and it's largely done by people with specialized backgrounds. Maybe that's not ideal, and maybe you can improve it, but saying "it's broken" is lazy and false.

<comment><AUTHOR> Based on my experiences in grad school, I'm not sure it is an exaggeration to say that it's "broken". So much work done solving hard problems, that ends up in academic journals and never seen again. And there's no real incentive for that to change. I think that's broken.

<comment><USER3> _So much work done solving hard problems, that ends up in academic journals and never seen again_

Is this really the case? When I have to solve a particularly unusual or tricky problem, I often have a look at relevant academic papers and go from there – either finding existing solutions, or basing one on the contents of the paper. I kind of assumed most developers did the same.

<comment><USER4> Yeah, this seems bizarre. There is better access right now to cutting-edge algorithms than ever, as well as building blocks that make it easier than ever to implement the algorithms described. I've been doing this for years, and I've noticed it get progressively easier. Honorable mention to [http://thepaperbay.com/](http://thepaperbay.com/) for making it easier to get around those occasional papers stuck behind paywalls.

<comment><USER5> Another honorable mention: [http://www.reddit.com/r/scholar](http://www.reddit.com/r/scholar)

And: [http://gen.lib.rus.ec/scimag/index.php](http://gen.lib.rus.ec/scimag/index.php)

</comment></comment></comment></comment></comment><comment><USER6> What's the monetization strategy here? It would be a major step backwards for the industry if it turns out the plan here is to try to make money off of what is currently a public resource. I'd hate to see researchers having to decide if they want to publish their results or just make some cash by creating a closed source API with your service. You guys should make it clear if source code will always be available or if this is basically going to be a land-rush for people to provide an API for all the standard CS algorithms with you monetizing access to them.

<comment><AUTHOR> We are algorithm developers ourselves and our goal is just to make these awesome algorithms that are being developed more widely available.

We are not trying to monopolize basic algorithms. In fact in a free market I don't see how that could happen, since anyone else could come along and implement the same basic CS algorithms and offer a lower price.

The thing that makes us different from say Wikipedia or Github is that we don't provide just source code, but live infrastructure delivering the algorithms as a service. So rather than uploading code to github, and putting the burden on a user cloning the algorithm, setting up virtual servers, deployment systems, load balancers, etc. We handle all that. That way algorithm developers are free to focus on algorithm code, and the infrastructure is taken care of. This infrastructure needs to be paid for however, so our general plan is to charge for using algorithms through the API. It will be up to the developers whether to share source code or not, since they own the IP.

<comment><USER6> The status quo now is not broken: developers who want to share IP are encouraged to incorporate their work into open source libraries so they can be used by everyone and be made robust and evolve over time. In various domains these libraries are more or less agreed upon, and the patches go through extensive review to get incorporated.

This type of system will encourage these folks to release their source code in a form compatible with _your_ API, and 3rd parties who want to leverage their work will need to either cut-and-paste it to incorporate it into their own system (a nightmare), or access it through a slow network API, likely paying for it along the way. Libraries have solved the problem of code re-use of algorithms for the last several decades. You're basically proposing that LAPACK and BLAS and Mahout and all these great algorithmic libraries would have been best served up without any centralized coordination or binary distribution, but with each individual algorithm behind a separate API with each author publishing each one individually. I don't see how if the goal is really to enable wider distribution of good algorithmic work that you can't see that an heterogenous API-centric approach to this problem (while one that would certainly make you a pile of cash if it catches on) wouldn't really be a great step forward for the industry compared to the centralized open source library model we have now. Good algorithmic work is _hard_ , and the model we have now results in battle hardened, robust, agreed-upon implementations of well understood algorithms.

If you really want to make me a believer, all algorithms that your API supports that have public source code should also be integrated and built into a binary library that a user can download instead. At the very least, the path for a contributor to take what they have written and additionally publish it as a appropriate binary package themselves should be minimal. For example, if I implement something in Ruby that uses your service, I should be able to push it as a un-coupled, reusable gem in a straightforward manner.

<comment><AUTHOR> I agree that the existing libraries are great, and if anything that success is what we to encourage even more of. We want to build a community around algorithm development, and have a central place for developers to share their work, and collaborate with other developers to make Huge library of algorithms so that everyone can benefit.

The first language we implemented was Java/Scala, largely because of the excellent libraries like Mahout and Weka easily available in Maven Central. But even though the code is there in maven, it is still not trivial to deploy those algorithms as a service. We are trying to make that easier, while at the same time supporting the developers of those libraries in the process.

Being able to run the code locally is in the plans. For the most part, the algorithms in our system are already simply maven packages, or ruby gems, npm packages, etc. Being able to distribute them in binary form is definitely possible. We're still figuring things out right now, but our focus is always on doing right by the algorithm development community.

<comment><USER7> This doesn't make sense to me. You display Dijkstra as an example on your homepage. Imagine I want to use Dijkstra in an app that needs critical performance and calls the function 1000000 times per minute, making this an API rather a library just breaks the whole point of centralizing the algorithms.

<comment><USER8> Plus, the choice of Dijkstra algorithm implementation depends on the graph size, type, and even CPU. See [http://www.cs.sunysb.edu/~rezaul/papers/TR-07-54.pdf](http://www.cs.sunysb.edu/~rezaul/papers/TR-07-54.pdf) , with 10 different implementation variations and several different benchmarks.

The 9th DIMACS Implementation Challenge from 8 years ago (see [http://www.dis.uniroma1.it/challenge9/](http://www.dis.uniroma1.it/challenge9/) ) served as a way to gather the best algorithms for the shortest path problem. I don't see how this project can be significantly better, or even close to, a traditional effort like that.

<comment><USER9> How many of those shortest paths algorithms can you run right now?

It doesn't have to be better at producing good algorithms. It just has to be better at making those algorithms implementations easy to use.

But I still don't think the business model is viable.

<comment><USER8> How many do I need to run?

The Boost Graph Library includes three different shortest path implementations, and I have that already downloaded. That library likely fits my needs.

In the DIMACS challenge papers at [http://www.dis.uniroma1.it/challenge9/papers.shtml](http://www.dis.uniroma1.it/challenge9/papers.shtml) you'll see "Single-Source Shortest Paths with the Parallel Boost Graph Library".

Indeed, the Parallel Boost Graph Library library is easily available, and contains two parallel shortest-path implementations.

The flip question is, what if it doesn't fit my needs? Well, then the question is "what do I need"?

The other DIMACS challenges include 1) pre-computation, which is useful for road-based graphs, 2) supercomputer parallelism to search billions of nodes, 3) out-of-core graph searches, for when you don't have enough RAM, and 4) k-shortest path search.

It's very unlikely that this proposed algorithm service provider will implement these alternate algorithms.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I first thought this is a Wiki for Algorithms with sample code in different languages.

Well, this site is apparently a marketplace for algorithms.

If anyone is more interested in open Wikis, I found what two sites using Google:

* RosettaCode.org (code in many languages): [http://rosettacode.org/wiki/Sorting_algorithms/Merge_sort](http://rosettacode.org/wiki/Sorting_algorithms/Merge_sort)

* Algorithmist.com: [http://www.algorithmist.com/index.php/Main_Page](http://www.algorithmist.com/index.php/Main_Page)

<comment><USER11> Not a wiki, but still incredibly handy is DADS: [http://xlinux.nist.gov/dads/](http://xlinux.nist.gov/dads/) or [http://fastar.org/dads/](http://fastar.org/dads/)

I can't tell you how many times I've looked up something there over the years (complete with links to sample code!).

<comment><USER12> Another good resource is Steven Skiena's Stony Brook Algorithm Repository [0].

It's not immediately clear on the linked page, but the "By Language", "By Problem", "Algorithm Links" targets will drop down with links to a specific page. The "By Problem" targets link to a page that is very similar to what is in "The Hitchhiker's Guide to Algorithms" part in Skiena's "The Algorithm Design Manual" textbook. They each lead with an image representation of the input and output of the general case of the algorithm, a problem description, some short text description, and then links to implementations. It's not as detailed as what is in the textbook, and I'm not sure how up to date it is these days, but it's a good place to browse about.

[0] [http://www.cs.sunysb.edu/~algorith/](http://www.cs.sunysb.edu/~algorith/)

<comment><USER13> Which is sort of a subpage of [http://algorist.com/](http://algorist.com/) , the page for his book.

People really need to be aware of this site. It's fantastic. His book is great as well.

</comment></comment></comment></comment><comment><USER14> Hm, sounds interesting but vague. I don't really understand how it will work.

How is data for the algorithms provided? A lot of times it is big. And messy, and proprietary. There seems to be an implicit assumption that you can just plug different algorithms to different data sets. But I can't think of a project where that has been the case.

I also doubt that "algorithms" are the bottleneck in a lot of projects. I'm not an expert, but I have some personal experience to back up what people say about "data trumping algorithms" (e.g. Peter Norvig and others have written about this)

I would like to hear about some more concrete examples / success stories. "Algorithms" is just too vague. I think if this becomes successful, it will be by first narrowing it to a particular domain, and then generalizing it again.

<comment><AUTHOR> Sorry for being vague, that wasn't our intention, so much as to focus on laying out the problem that we've experienced personally as algorithm developers. We will be posting more blog posts with much more detail about the system in the near future.

The data question is huge for us. We have built our system on top of Hadoop + Spark in order to handle large amounts of data, and be able to apply computations to it. You're absolutely right that data is very heavy, and often the limiting factor, so we are doing everything we can to both get data into the system (currently with a focus on streaming data, since that gets around the heavy data problem), and getting algorithms to where the data is.

As far as specific algorithms, there are many that could apply. My personal experience is in machine learning algorithms, so I'm personally biased toward those. There are numerous algorithms like Classification, Clustering, Optimization, Anomaly Detection, etc. which are very CPU-intensive. We will be doing a blog post soon with a demo of live algorithms already in our system to give more concrete examples.

<comment><USER15> Could you return the actual code of the algorithm that could be loaded and used during runtime (for some languages if the user wants it)? Seems like having the user send in the data and running an algorithm as a service would take a lot more time and effort for everyone involved.

</comment></comment></comment><comment><USER8> I can't figure out how such a system is supposed to work. Anyone have any ideas?

For example, a couple of years ago I worked on an algorithm to find the maximum common subgraph of a set of 2 or more molecular graphs. More specifically, I wanted the largest subgraph in M of N graphs (M<=N), I wanted to define the atom match criteria, and I wanted to require that rings not be broken in the subgraph. (Chemists love rings.)

I did it the old-fashioned way. I read papers, I investigated similar systems, I implemented various implementation details, and I did a lot of testing.

How would I find such an algorithm using this system?

There are only a few people who develop this sort of algorithm. Why might I expect that this system is a better resource than traditional means?

<comment><USER16> I have no idea how this would work, but I disagree with your statement. There are probably lots of people solving similar problems, but with different notations.

Lots of domains share the same mathematical abstractions, but we don't know because (almost) nobody is trying to discover them. We can know that it's common, because once in a while people do look, and always come back with new shared abstractions.

If somebody created an index that took different notations into account, that'd revolutionize research. But I don't think this system does that.

<comment><USER8> Which statement of mine do you disagree with? Do you mean that there are few people working on the maximum common subgraph problem as it applies to small molecule chemistry? [1] What forms the basis for your opposition?

Of course there are many different notations. One need only look to Newton and Leibniz notations for calculus, or Schrodinger's wave equations and Heisenberg's matrices for quantum mechanics, to know there's a long history of different mathematical abstractions for the same concept.

In my own field, I recently discovered (by reading the literature and getting feedback from conferences) that there appears to be a previously unknown connection between this maximum common subgraph problem and frequent subgraph mining, so it's not like connections are altogether rare.

Indeed, I'll argue that these occur all the time, and research libraries exist in part in order to help people find them.

Which is why I asked why this project might be better than traditional means, and I gave an real-world example to give a basis for discussion.

[1] There's plenty of MCS research, but since the problem itself is known to be NP-hard, most of the mathematical work shows that certain limit cases, like planar graphs or outerplanar graphs, is solvable in polynomial time. As the structures I deal with don't all fall into those categories, I can't use them as a general purpose solution. [2]

[2] I might be able to use them as a special purpose solution, and this project might help identify codes I can use for this case. I just can't figure out a way to make it easier than the current methods.

</comment></comment></comment><comment><USER17> Funny he mentions LDA. A company I founded and sold (Algo Anywhere, which started off as a Generalized Algorithms as a Service company) was a recommendation engine as a service business built on top of LDA. The papers out there are dense, but LDA is actually pretty easy to get information on. Check out Gensim in pythonland.

The thing with algorithms is that you really have to think. 200 lines of code might take two months to really grok. Especially because the people in the field make certain assumptions when they start, and sometimes even just one of those assumptions takes two weeks to understand and research.

You can't just jump into PhD level research and expect to understand it right away.

I don't know if algorithmia will help solve this problem, but I wish them all the best of luck. Getting actual code next to research is super important and useful.

<comment><USER18> Thanks for the best wishes. LDA was an interesting one since when we were investigating it it was our first exposure. Although the algorithm itself is well documented there was at least 3 or 4 libraries that could be implemented and we really didnt know where to go from there. We want academic papers to be accompanied by live code as you mentioned. We strongly believe this will not only increase the reach of developed algorithms but also significantly lower the bar of understanding for those who are not.

</comment></comment><comment><USER19> Yes algorithm development _is_ broken, but not quite in the way that the OP suggests.

People tend to focus on initial algorithm development, because that is the academically prestigious intellectually stimulating bit, but the job is really about how to turn algorithms into cash; a much broader problem than the narrow slice that people typically obsess over.

A huge (and frequently overlooked) part of that job is the communication and coordination role between business development and algorithm development. The volume of communication and level of detail required cannot be overstated.

Another huge part of the job is actually turning a piece of research into a functioning product. Whilst a large part of the OP's proposition is intended to address this problem, (kudos) I think that his solution falls short in a big way: It omits the largest part of the solution, which is where the business learns about the algorithm and how the behaviour and performance characteristics of the algorithm interact with the business' problem domain. I.e. how does the business build sufficient expertise and knowledge of their product to be able to effectively sell it. All of these are human problems, mainly oriented around communications and learning.

Having said all that, I would like to encourage the OP in his efforts. I think that it is something that is worth doing, and I really hope he is able to build a business around this idea. I think that technology can help support all of these activities, and this is actually something that I have wanted to do myself for very a long time, so Kudos to the OP for actually taking the chance, going out and doing it!

</comment><comment><USER20> This was (partly) solved in mathematical software with TOMS and Netlib:

[http://toms.acm.org/](http://toms.acm.org/)

[http://www.netlib.org/](http://www.netlib.org/)

However, if you want to do something non-trivial and you want it done right, hire a computer scientist or mathematician. No amount of crowd will help if no one in the crowd has a clue what they're doing.

</comment><comment><USER21> 1) Will there be limits on the size of data sets/ what size data are you optimizing for? Some algos focus on hundreds of records, some on billions, and the ideal system for either are quite different (small data works great by transferring data back and forth over http, data with hundreds of thousands of records and up... not so much).

2) Same question as above, but for processing times. Some algos are aimed at operating on the fly and might take ~1 second or less. Others (many that I deal with quite often), might run for days, or even weeks. What sort of processes are you optimizing for, and are long running procs on the radar?

It is an interesting idea, but there is a high bar when competing against my language's package manager, and the 10s of thousands of "algorithms" already out there. Best of luck!

<comment><AUTHOR> The data question is something we are taking very seriously. I talked a bit more about this in another comment, but we know that in many cases data is heavy and is often the limiting factor. We are building a robust data platform ontop of Hadoop + Spark, so be able to handle large amounts of data, and so that we can deploy code to where the data is.

That said, I think there are many algorithms that will work as standalone algorithms. Lots of machine learning type algorithms are mostly CPU-bound. There are companies like [http://www.kooaba.com](http://www.kooaba.com) that do image recognition as a service over HTTP. Also things like Siri and Google Now seem to work well enough, despite network latency. Thanks for the feedback!

</comment></comment><comment><USER22> The API is interesting but what I really want is to understand the algorithms. Clean, clear reference code in multiple languages with good explanations would be hugely helpful. Is that part of the plan?

<comment><AUTHOR> Yes definitely. The code is available for people to learn from, and you will be able to edit the code and see the results immediately. The goal is to all about making algorithms more accessible.

<comment><USER12> This is the most interesting part to me. I agree with the other people commenting in this thread that advanced algorithm design (as seen in journals) isn't broken. Interesting advanced algorithms do get spun out into open source implementations.

A non-academic community based around discovery, discussion and implementation of algorithms would be an interesting place to hang around. A MVP would be, basically, a discussion forum with an index of github repos for the implementations, but there are other values to be added on top.

Good luck. I'll be paying attention to what becomes of your project.

</comment></comment></comment><comment><USER23> Reminds me of the xkcd:

1\. There are 14 libraries for technical algorithms. 2\. We need a meta- library so that we don't need to worry about having so many libraries! 3\. There are 15 libraries for technical algorithms.

</comment><comment><USER24> How is the DeepMind purchase in any way a "record sum"? The linked article does not seem to make this claim. I didn't even get to your main point and already I don't trust you.

<comment><USER18> 450 million for a company that never shipped a product. Their entire value came from the algorithms and algorithm developers. That part is unheard of.

<comment><USER24> Thanks, that makes more sense.

</comment></comment></comment><comment><USER25> Contradiction at it's finest: [http://i.imgur.com/BwE2jmj.png](http://i.imgur.com/BwE2jmj.png) Good idea, but remove the god damn login wall.

<comment><AUTHOR> The irony is not lost on us :-) We are a small team actively building this site. We will be completely open as soon as possible.

</comment></comment><comment><USER26> I think it is a little disingenuous to say that algorithms get buried in academic literature and are _impossible_ to find. By the nature of research most of these things are made public when published, often times there is no implementation or just a research quality one (which I can guarantee you is almost never useful for the "real world").

For example one day I was interested in implementing HyperLogLog(a set cardinality measure that is useful in data analysis). In about 10m I had all the relevant papers on hand and after skimming them I had a pretty good sense of how to implement it.

Similarly if I want to know how to implement a program dependency graph for doing program analysis I can go read a few pages of a paper and get a good description on the algorithm I would need to construct such a thing. I can believe the argument that some of these things are poorly indexed but even a bare minimum of Google searching usually results in useful algorithms. I would argue that often times many of these research algorithms have a bunch of different design decisions that are best explored in the academic literature around them, and an implementation and a few notes is not sufficient exploration.

For example I was recently implementing Paxos and there were _tons_ of little details to be extracted from the papers around that had a big impact on the actual implementation we ended up with. The 'Paxos Made Live' paper from Google had many details that were only relevant/true because of engineering decisions made by the team. If one was presented you with an implementation derived solely from that paper there are multiple incorrect assumptions you could derive.

An instance of this is made apparent in Paxos Made Live. Google essentially fixes their proposer because the have used Google specific details about the number of participants and their availability. The result is that they direct _all_ traffic to a single node, and don't spend a much time talking about leader/proposer selection (which could be useful to _your_ needs).

I also don't buy that an important part is getting the algorithms running as a service. Most so called "algorithms" are nothing more than a subroutine that is need as a piece of a greater whole. I would venture most useful "algorithms" are most likely container data structures and algorithms that operate over them. It seems that these are probably most useful to have as a library. Many libraries have already taken this approach LLVM (algorithms for code generation, albeit not always everything you want), OpenCV for computer vision routines, BLAS for linear algebra, NLOpt for non-linear optimization, and I'm sure one could come up with many more examples of democratized algorithms.

</comment><comment><USER27> Two unsolicited suggestions, if I may:

1\. Make open source releasing of algorithms compulsory, not optional.

Think of it from your prospective clients' perspective: the upside of digging out an algorithm from academic journals and implementing it yourself is that you get to fully understand the source code (since you end up writing it yourself); you can attest its correctness; and you get to stand on the shoulders of giants by tweaking and extending it later, if you wish.

Admittedly this might not be seen as that much a benefit for business users, but for many actual users of advanced algorithms in the scientific computing community, having to use proprietary algorithms with restrictions on their use has been seen as a significant step backwards, as manifest during the controversy brewed over the "Numerical Recipes" controversy [1,2,3]. Even if the benefits are more a matter of principle than mere practicality, the palpable distaste for proprietary algorithms in the scientific computing community is something you should at least keep in mind, lest you risk alienating a core user base for your product.

2\. Formally verify the correctness of every algorithm submitted.

This is as crucial as large-scale deployment for many scientific computing users, and it is one of the banes of (and reasons why) implementing the algorithm yourself. Here your product then could really offer a compelling proposition to these users.

This would also be beneficial for ensuring the reliability of your API, even if you formally waive liability to the algorithm developers (as you surely do). Else you might find yourself on the other side of securities regulators for a multi-million dollar trading glitch caused by one of your algorithms [4], or something crazy like that.

[1] In fact, in the wikipedia article for Numerical Recipes, it is claimed that one of the motivations for the development of the GNU C library was precisely to come up with a free alternative to them! See: [http://en.wikipedia.org/wiki/Numerical_Recipes](http://en.wikipedia.org/wiki/Numerical_Recipes)

[2] [http://aufbix.org/~bolek/download/nr.pdf](http://aufbix.org/~bolek/download/nr.pdf)

[3] [http://www.astro.umd.edu/~bjw/software/boycottnr.html](http://www.astro.umd.edu/~bjw/software/boycottnr.html)

[4] [http://www.bloomberg.com/news/2013-10-16/knight-capital- agre...](http://www.bloomberg.com/news/2013-10-16/knight-capital-agrees-to- pay-12-million-fine-for-2012-errors.html)

</comment><comment><USER28> nice article! looks like a very promising platform.

cheers

<comment><AUTHOR> Thanks! Will be coming out with more details about the platform soon. Always interested to hear feedback though.</comment></comment>


I dont understand, how crackers can break into a PC that doesnt run any server? - <AUTHOR> excuse my innocence. <comment><USER2> They can't. Not the way we typically think of "cracking", anyway.

What they CAN do is try to trick the PC's user into putting a server of some kind onto the PC. If they succeed, then they can just use that. This is essentially what most malware does.

</comment><comment><USER3> The one I fix the most is "You need to update your flash to watch this video". -Clicks OK- -Types OS Admin password-

Now there is a server running.

</comment><comment><USER4> Some Intel boxes have a Management Engine which can boot a powered-off machine remotely and take complete control.

Wireless connected machines can be attacked using skip-level packets.

Some ethernet interfaces have controller boards that can be hijacked remotely.

If you're using a bluetooth keyboard it can be attacked remotely.

MS boxes have a dozen ways they can be attacked (e.g the remote management console, the printer, the shared folders, etc).

Here's the universal law: If the CPU can get at it, then anyone can get at it.

If you want reasonably secure records (e.g. employee data) then ONLY ever record that information on paper and keep it in a locked room. Oh, and don't use the copier because the copiers have hard drives that store image data.

</comment><comment><USER5> Because there are many OS services and user-installed programs that do send and receive data to the wider internet, even though they may not be web servers per-se. Also what @daly said.

</comment><comment><USER6> Services, basically. This is why system hardening is essential. You don't need all 148 services running on a windows 7 home edition machine.</comment>


KRAKsat Satellite Mission – Lessons Learned [PDF] - <AUTHOR> https://www.researchgate.net/publication/337874738_KRAKsat_Satellite_Mission_-_Lessons_Learned_EN <comment><AUTHOR> Students learn design and planning lessons the hard way. Brutally honest self- assessment, lots of good lessons learned.</comment>


The Rickshaw Puller - <AUTHOR> https://www.youtube.com/watch?v=-lkC8FByvAw <comment><AUTHOR> What is remarkable for me is how much attention Bill Gates pays to the details. Details of lives, problems and solutions. He's truly a one-of-a-kind billionaire who doesn't just throw money at problems in the name of philanthropy.</comment>


How we grew from 100K to 1M customers in 6 weeks - <AUTHOR> https://blog.gofynd.com/how-we-grew-10x-from-100k-to-1-million-in-6-weeks-8d6e06400c9d#.3vapci1og <comment><USER2> 1M customers or users?

<comment><USER3> Based on the previous article about the 100k customers it's users. They call customer anybody who likes to shop/browse on their app (or downloaded it), not a person who made a purchase. It's confusing. I'd call them shopper maybe.</comment></comment>


Colin Wilson, overpriced at nothing - <AUTHOR> http://www.the-tls.co.uk/articles/public/overpriced-at-nothing/ <comment><USER2> I'm not much of a fan of Wilson (have only read 3 of his books, Outsider included).

But this is an unbearable, typically provincial, English critique of his work, complete with class-based explanations and snobbery, attacks on him being an autodidact and so on.

</comment><comment><USER3> I'm not ashamed to admit it: I like Colin Wilson. He was a great synthesizer of knowledge. His books contain a wealth of ideas, and have introduced me to many authors and thinkers who I may have otherwise missed. I definitely recommend _" The Outsider"_ to anyone interested in philosophy in general and Existentialism in particular.

<comment><USER4> Wilson was a very uneven author. Some of his stuff is brilliant. Other works seem like something knocked out over the weekend to pay the bills (which they may well have been).

I don't think he deserves to be judged nearly as harshly as this article does. I strongly suspect that Wilson's gravest sin in the eyes of the author was his rejection of Marxism (which, of course, automatically makes him a "fascist" by the standards that seem to prevail in the "literary" community).

<comment><USER5> Wilson, despite his willingness to take on some really far-out stuff, really is something of a lesser light and a product of his time... his work seemed dated when i was interested in it, and that was a long time ago.

Wilson's persistent fascination with the occult and hidden potentials of "consciousness" (which he accepts as being a sort of fixed thing in all of history)--and his relative willingness to accept without much criticism the authoritarian elements of a huge swatch of that milieu--does lend itself to this explanation.

OTOH his tendency to resort to epicycles in explaining his theories (which are usually postulating, rather than explaining, something) is more the sign of an undisciplined thinker. On edit, Wilson seems like the hippie answer to J.G. Ballard, whose essay on the "half-educated man" seems relevant for what Wilson stumbles towards. Granted, in the wikipedia era, that's all of us.

Lifeforce is a great movie, though. Definitely better than the book.

</comment></comment></comment><comment><USER6> This echoes a conversation I have often with my girlfriend; how art and qualitative works are ranked in society.

An artist seems to have to be general enough to appeal and be understood by an audience while original enough to be compared to other genius on method but not content.

That is abstract but hopefully the point was there. The second piece is groupthink. For example, what would happen if the first 10 well respected critics said his follow on novel was so brilliant it outshined his earlier work. I don't know, but there as a degree of taste shaping, a degree of originality & and a degree of tradition that make up the "value" and it is interesting to think about.</comment>


What Does It Take to Keep a Classic Mainframe Alive? - <AUTHOR> https://spectrum.ieee.org/tech-talk/tech-history/space-age/what-does-it-take-to-keep-a-classic-mainframe-alive <comment><USER2> The museum 1401 is insanely cool, but a mainframe it is not.

The 1401 was more of a service processor for a mainframe. You could use a 1401 to order jobs and manage card sorters and things of that nature.

The 1401 was occasionally sold as a standalone accounting machine instead of a service processor, but never as a mainframe unto itself.

It's more of a minicomputer than a mainframe. Which should say everything about its era. "Mini" meant only like, six racks of gear.

<comment><USER3> Fond memories!

I learned FORTRAN on an IBM 1401. Our intro chemistry professor thought it was a good idea to incorporate IBM's FORTRAN programming coursework into our chemistry lab. I wasn't so good at chemistry but excelled in programming and so earned a decent chem grade. In the years that followed I used the FORTRAN for numerical analysis classes. It all led to a career in programming.

</comment></comment><comment><USER4> I've seen the demonstration and I go there all the time. I LOVE computer history, it's our legacy, we're standing on the shoulders of the real pioneers. Those people who had to start from punch cards and mainframe terminals... they're the ones who _really_ knew how to program.

What's crazy is it's so unknown to the general populace. Kids learn about George Washington and Bill Gates the businessman who gave us Windows, but they have no clue who Ken and Dennis are. Punch cards are meaningless to them. They wouldn't know an old hard disk from a vinyl record box. But one day they will. One day people will realize that this was the beginning of humanity. The real beginning. The PDP-11, the 1400 series, the ENIAC.

If you haven't been to the computer history museum, go!

<comment><USER5> > One day people will realize that this was the beginning of humanity.

It's important, but let's not engage in hyperbole.

<comment><USER6> He may be right. I don't think Gutenberg had any idea what he'd done, either.

</comment></comment></comment><comment><USER7> You can run classic and modern mainframe operating systems and software with hercules-390 emulator.

I suggest Jay Moseley's excellent site on MVS system generation [1] or get Jürgen Winkelmann and Volker Bandke MVS Turnkey installed system ready to go [2].

[1] [http://www.jaymoseley.com/hercules/installMVS/install.htm](http://www.jaymoseley.com/hercules/installMVS/install.htm) [2] [http://wotho.ethz.ch/tk4-/](http://wotho.ethz.ch/tk4-/)

</comment><comment><USER8> The closest I ever got to a real mainframe was one time when I took over a failing datacenter and brought it up to t2...

It had a Cray 2 just sitting there, gathering dust. I loved the look of it. I think eventually they sold it just to make room.

</comment><comment><USER6> When I was at college in the 70's, there was a surplus electronics store nearby. It was fun browsing it. They even had ferrite core memory modules. I wish I'd bought a couple of those.

</comment><comment><USER9> That's awesome!

I started programming professionally back in 1990 on IBM mainframes. I used to daydream about buying an old machine to run in the basement. (But shortly after the 386 and 486 machines started hosting emulators that allowed mainframe programming on the desktop. My burning desire for a home mainframe died out.)

Good times....

<comment><USER10> They give out free remote shell accounts to a number of their mainframes actually, or if you go in person they encourage you to write code on the machines they have. It's a "living" museum.

<comment><USER11> That's the Living Computer Museum in Seattle, this is the Computer History Museum in Mountain View (used to be in Boston).

Unless I'm mistaken and they both let you do stuff on the computers, which would be cool.

<comment><USER12> The Living Computer Museum, funded by the late Paul Allen, does indeed keep their computers running and offer accounts. You can request a login at the following link

[https://livingcomputers.org/Request-a- Login.aspx](https://livingcomputers.org/Request-a-Login.aspx)

The Computer History Museum in Mountain View California has a few old computers running, but is mostly a display museum.

At the Living Computer Museum I logged into a DEC-2060 on a VT100 terminal and amazed my younger friends by navigating around the system and firing up a few ancient text based games. Being of the hacker mindset, I also showed them all the information you could get about logged in users prior to logging in from which one could have used to guess account credentials back in the day...

Explaining and demoing the COMND JSYS was quite fun. The COMND JSYS provided command line parsing and completion, one of the predecessors to t-shell, bash, and other shells with completion. I had a great time revising the past and highly recommend you visit with an old-skool programmer.

For those who are curious you can read about the COMND JSYS on page 164 (chapter 3, pg 52) of the following document

ftp://bitsavers.informatik.uni- stuttgart.de/pdf/dec/pdp10/TOPS20/AA-4166E-TM_TOPS-20_Monitor_Calls_Reference_Ver_5_Dec82.pdf

</comment></comment></comment></comment><comment><USER13> Until about 1990, if you owned a mainframe or a mini, anything that needed chilled air and a raised floor, you knew the vendor field engineer. Because the computer itself, the disk drives, or the tape drives broke and / or required periodic maintenance. pdp 11 was an outlier, as it was highly reliable (and slow as a turtle).

removeable disk packs were always a problem due to head crashes.

my point is, every computer had downtime due to poor reliability, when evaluated against what we have today. and most things were not 'user serviceable', unless your user was highly skilled in electronics, test equipment and digital logic.

In my field, once we moved to SGI's you started to see the salesman a lot more than the FE because the machines were so reliable. And today it is all commodity parts that anyone can cheaply swap-tronix things back to operational.

</comment><comment><USER14> my old work gave me a microvax in the late 1990s. I rolled it out of work (security held the door open oddly didn't really check if I should be taking this thing), where it was used for cad. I got it working at home but honestly I didn't really have great software and buying anything additional was not easy at the compusa.. it ended up on the electronics scrap.

I give the computer museum credit for keeping this history in working order.

<comment><USER2> The microvax was two levels removed from mainframe land.

The original VAX systems, occupying 2 to 4 cabinets, were similar to the 1401. They were both "mini" computers -- smaller than a mainframe, but considerable and interesting unto themselves.

The microvax was a VAX re-implemented with much cheaper, cooler logic, so it could be sold as a desk-side or a single rack system.

</comment></comment><comment><USER15> I love computing history. For anyone in the UK, I recommend you visit the national museum of computing in Milton Keynes.

It has so many things to look and interact with.

Most notably the Colossus, Bombe, Acorn computers and BBC micros.

If you are visiting as a tourist it's not too hard to get there from central London by train or car.

<comment><USER16> Thank you for this tip: I saw your comment this morning and went today (am visiting London). Great stuff. Not as much vintage "modern" computing as the Computer History Museum in Mountain View but lots of amazing things, and of course lots about the Enigma and code breaking.

<comment><USER15> :D glad you liked it, I wish I could take commission for the amount of referrals I have given for it.

I take it you noticed the "politics" of Bletchely Park trust and TNMOC. Its sad that the two organisations fight over the heritage of that place.

</comment></comment></comment><comment><USER17> Does anyone know the history of how they coined the term "Mainframe"?

<comment><USER18> > _" The term originally referred to the large cabinets called "main frames" > that housed the central processing unit and main memory of early > computers."_

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

<comment><USER19> Interestingly, the term "mainframe" seems to have become exclusive to big iron only in the mid 1980's.

If you read computer magazines from the 70's, machines that we would call desktops were very often referred to as mainframes.

<comment><USER20> I respectfully disagree. In the 70's, IBM 360s / 370s and such were "mainframes", while PDP11s and the like were "mini computers". As 8080 / Z80 machines started to appear, they were always "microcomputers", eventually evolving into "desktops", with higher-end ones "workstations".

But "mainframe" was exclusively used for big batch and time-sharing iron sitting in a "machine room" that you weren't allowed into unless you were employed as an "operator" or the IBM serviceman doing scheduled weekly PM (preventive maintenance), during which time no jobs ran.

<comment><USER21> The term "mainframe" was also used for the part of microcomputer cases that held the expansion cards, but they weren't referring to the computer itself.

It seems to come from microcomputer hardware and accessory companies trying to throw the word "mainframe" into their ads somehow and make their stuff seem more important.

<comment><USER19> While the term "mainframe" was common in advertisements, it was also used in the article text of magazines.

For example:

"MERLIN (trademark of MiniTerm Associates) is a new concept in peripherals modules for mainframe microcomputer systems." (Merlin was a dumb terminal for IMSAI and Altair desktop comptuers) - Byte Magazine, November 1976, page 64</comment></comment></comment></comment></comment></comment>


Why isn't everybody rich? - <AUTHOR> https://money.stackexchange.com/questions/94671/why-isnt-everybody-rich <comment><USER2> Reasons people aren't rich:

1\. children

2\. hasn't developed an enriching skill

3\. network isn't rich and/or reinforcing

4\. bad financial planning

5\. addiction

6\. work ethic

I think each of these is more relevant than others to different individuals and at different times in peoples lives. but the stronger you score at all of these the better your chances. not in any order.

<comment><USER2> Also, this is just opinion I'm pulling out of my experience(my ass, if you prefer the colloquial expression)</comment></comment>


Ask YC: Small Business Email  - <AUTHOR>

I've acquired my hardware this morning (thanks to next-day shipping.  An extra $250 but it was well worth it).  All of our software is deployed, hackers are cracking away at code and everyone is happy.
We've got 4 hard drives going, 1 for production and testing, and the other is live.  The 3rd is for personal stuff, and the fourth is just sitting there doing nothing.
My co-founder suggested a rather interesting idea.  Offer small business email for local businesses, and use Google Apps for a front-end until we (either decide to or find another solution for) develop a front-end.  I think this is a great idea, the team agrees.  This may require upgrading our connection coming in to a T1 (running on a 10meg drop at the moment without a twitch).
This would be an expensive move, but if we get businesses on board that would be a very solid amount of passive income rolling in that we could put towards net profits.
Thoughts? <comment><USER2> My thought is that I've been in that world in the past, and it's generally a support nightmare. I don't know what your business/product is overall, but email hosting is such a cutthroat commodity item, I can't imagine why any startup would want to take on the overhead for small incremental revenue.

<comment><AUTHOR> On the topic of support, almost our entire model is built around support since we write software for local companies, so it would fit in very well with everything right now.

<comment><USER2> Again, not knowing your whole business model.

But, supporting software you created is much different than supporting all the headaches/overhead of a mail server. If you want to do this, I would look at a formal resale agreement with a place like Mailstreet (not I heartily do NOT recommend them, but their name popped (haha, get it, popped...) into my head as an example).

Use the benefit of THEIR support department and setup instructions when possible. You could also run your own mail server (what I do/did), then you have full control of uptime/downtime, version upgrades, etc.

But still, I don't think this alone is much of a business you want to be in.</comment></comment></comment>