Italian Ruby - <AUTHOR> https://github.com/Pluvie/italian-ruby <comment><USER2> There's this absolutely mind bending idea that is - every single function should have a unique identifier. Which is to say:

def square(x: Int): Int = x * x

should get hashed (and if it has dependencies, they should get hashed in there, too), and your programming language should track the unique identity of this function, and keep a list of names separately from the hashes.

This totally solves the localization problem: you can just write localizations in one place, and whenever you need to represent them, use the hash to look up your representation. This lets everyone (compatibly) name their functions/variables whatever they want.

Less intuitively, it also basically removes the need for builds. Every function has a verifiable unique identity, so your compiler can tell with 100% certainty whether or not something needs to be rebuilt. When you modify a function, it changes the hash, so you end up with both the old and the new function. Any code which requires the old function can still access it.

This has been implemented in the Unison programming language ([https://unisonweb.org/](https://unisonweb.org/)) which is very much in alpha. I don't know if there are other platforms implementing it.

It is so elegant and freeing. I am really stoked for the future of programming languages, when localization is just a matter of translating some words.

<comment><USER3> > I am really stoked for the future of programming languages, when > localization is just a matter of translating some words.

My experience with localised codebases (in my native language) have been horrifying - like it or not terminology is developed in EN, you either get unnatural sounding "borrow" words and the translation is pointless or worse you get people coining new terminology nobody but them understands. Not to mention fragmented communities, knowledge bases, etc.

IMO localised codebases would be a regression not progress and I dread every time I see Chinese in a codebase (simply because they are a large enough market to split the dev community)

<comment><USER4> > I dread every time I see Chinese in a codebase (simply because they are a > large enough market to split the dev community)

They aren't going to split it, the rest of us will adapt. English was arbitrary, so was French and Latin and Greek before it. Probably in the form of some Romaji-like equivalent (ideograms are too high a bar) but we will start to adopt it. The largest economy dictates the lingua franca because they produce the most output.

<comment><USER5> It's a pretty amazing coincidence how it just so happens that English is (one of) the most convenient languages to encode into bytes.

<comment><USER6> How is that? I don't know about Chinese, but surely Japanese has much better entropy in bytes? As would other languages with more expressive character sets.

<comment><USER5> That's the issue. English can be represented with 7 bits. Good luck doing that for any logographic language.

And that doesn't even take into account that since English (and a lot of alphabet based languages) use spaces to mark where words begin and end. In Japanese, you can have a word that consists of a kanji plus a few hiragana characters as a grammatical marker. But there's no space between that word and the next. How do you know decide where to insert a line break?

</comment></comment></comment></comment></comment></comment><comment><USER7> Also, sometimes, translations have a different (perceived) meaning.

A pet peeve of mine is "by default".

In Italian it is translated (correctly) "per difetto", and it is "fine" when other people already know the term, but otherways "difetto" is also the translation of "defect", and you will have a tough time explaining to a layman that it is not a "defect" in that other sense.

Another "queer" word (I found it in the Italian version of some database tools) is "ometti" (which is the correct translation of "omit") but that actually I normally read as "little men".

In Excel there is "MODE" (statistical function) that is translated into "MODA" which I read as "fashion" and "MOD" (modulo operation) which is translated into "RESTO" (which has a more common meaning of "change" in the sense of what a cashier gives you back when you pay besides that of "remainder").

<comment><USER8> A fun one is: "throwing an error", which can be translated in "lanciare (launch) un errore" or "tornare (return) un errore" or "causare (cause) un errore".

<comment><USER9> tornare is probably more likely unless you caused the error on purpose.

<comment><USER10> I would not use that: a common programming idiom is that of "returning an error code", and "ritornare un errore" may be confused with this. As in "return error;" where "error" is some error code, against "throw error;" where "error" is whatever exception class.

</comment></comment></comment></comment><comment><USER8> The thing is most Italian schools don't do a great job at teaching English [1]. Students either pay for courses, self-study, or forget.

I'm Italian and I don't agree with the author's premise that non-native speakers have an additional translation layer (e.g. Italian -> English -> Ruby). It depends on your knowledge of the English language. As you master the language your brain becomes better at context switching; you don't even notice it anymore (Myers and Cotton, 2002).

We should fix our schools, not translate programming languages. The technology sector speaks English. You can't escape this language.

[1] [https://www.ilsole24ore.com/art/conoscenza-dell-inglese- alta...](https://www.ilsole24ore.com/art/conoscenza-dell-inglese-alta-ue-ma- italia-e-francia-sono-ultime-AErQAzYG)

<comment><USER11> You simply can't be effective in programming without knowing English. Having few words translated in your language wouldn't help much. Moreover it is much easier to learn English than learning how to code.

<comment><USER12> > Moreover it is much easier to learn English than learning how to code.

I know many, many people who would disagree.

<comment><USER11> Human languages are intuitive, share some aspects and we have centuries of knowledge on how to learn them. Programming is still a relatively new activity in comparison and requires a set of knowledge that you don't already get in your youth like speaking does. I also know basic Greek and I can swear it was easier to learn than coding at a professional level.

<comment><USER12> You can't compare basic Greek to professional coding, learning Greek well enough to make a living from it (translation/writing/etc) is what you should compare to. Learning basic Greek is definitely harder than basic coding, and a language's difficulty also depends on where you're coming from (Portuguese is going to be much easier for Spaniards than for Greeks).

</comment></comment></comment></comment></comment><comment><USER13> There have been some attempts for localized programming languages. In fact, e.g., MS Excel Macros are localized (e.g., "SUMME()" in german instead of "SUM()"). There is even a Wikipedia page: [https://en.wikipedia.org/wiki/Non- English-based_programming_...](https://en.wikipedia.org/wiki/Non-English- based_programming_languages)

I'm a bit conflicted. On the one hand, I am all for language diversity and empowering local languages. It may also help novices and very young learners. On the other hand you are already learning an unfamiliar formalism and it hinders interoperability, sharing and collaborating. Hm..

<comment> saint-loup Are there any attempts to have it both ways?

Like, the source code stays in English but my IDE translates keywords to and from my language.

<comment><USER14> If you made all keywords fit one character or so and allow selective installation of dictionaries, that would probably also decrease source code form size significantly! That would be great even if you never were to use any language other than English. I've played with APL a bit and found out that one can configure Emacs to replace APL's cryptic symbols with English words using this: [https://www.emacswiki.org/emacs/PrettySymbol](https://www.emacswiki.org/emacs/PrettySymbol)

APL is however not a language that one would consider using seriously.

<comment><USER15> Emacs also has prettify-symbols-mode, which by default replaces lambda with λ, but can do a lot more - it can make Python look like this! [http://www.modernemacs.com/img/spacemacs/python- code.png](http://www.modernemacs.com/img/spacemacs/python-code.png)

</comment></comment></comment></comment><comment><USER14> Related stuff:

* Claim that word order in Japanese suits ST-style message-passing OOP better than English: [https://thoughtbot.com/blog/learning-japanese-the-rubyist-wa...](https://thoughtbot.com/blog/learning-japanese-the-rubyist-way)

* APL, a language that uses symbols instead of keywords: [https://en.wikipedia.org/wiki/APL_(programming_language)](https://en.wikipedia.org/wiki/APL_\(programming_language\))

* Non-English-based PLs on Wikipedia: [https://en.wikipedia.org/wiki/Non-English-based_programming_...](https://en.wikipedia.org/wiki/Non-English-based_programming_languages)

* How does English proficiency correlate with programming mastery: [https://www.researchgate.net/publication/277097932_A_CORRELA...](https://www.researchgate.net/publication/277097932_A_CORRELATION_BETWEEN_STUDENTS%27_ENGLISH_PROFICIENCY_AND_THEIR_COMPUTER_PROGRAMMING_MASTERY)

<comment><USER16> > * How does English proficiency correlate with programming mastery: > [https://www.researchgate.net/publication/277097932_A_CORRELA...](https://www.researchgate.net/publication/277097932_A_CORRELA..).

I find this conceptually wrong, at least, based on the abstract.

They're looking for a correlation:

> This research is conducted to find out whether the learners' English > proficiency correlates or affects the learners' ability or mastery in > writing a computer program

which is appropriate, but their conclusion:

> The result of this study can be used as a consideration in improving the > teaching of English for Informatics Engineering learners

implies causation, which contradicts their intent.

My point is - there are a lot of variables at play, the simplest being that people who are good in spoken languages, are naturally inclined to learn a computer language (d'oh).

I think a very interesting way to make the research more rigorous, would have been to test with a non-english programming language (although, based on their approach, that would require a whole semester).

Am I missing something?

<comment><USER17> > implies causation, which contradicts their intent.

"affects", as stated in the intent, is the same as causation, so, no, it doesn't "contradict" the intent.

You may believe that their results only properly support correlation and not causation, but causation was clearly within the stated intended scope of the research.

</comment></comment></comment><comment><USER18> ah, this reminds me of how much JOY I am having using my localized Microsoft Excel. All formulas have been translated to my native language and it's just BLISS to work with. This makes it MUCH easier to search the interweb for my specific formula question.

We obviously need much more localization. Particularily in error messages.

<comment><USER19> I honestly can't tell if you're being sarcastic or not. I can think of ways going for specific formula could be both better and worse. The localised error messages are also a double edged sword - if you can solve your own problem based on the message, they're better, but if you need to Google it your chances of finding a solution go down due to fewer hits.

<comment><USER20> They're definitely being sarcastic.

<comment><USER19> Well, here's the thing: I heard the same thing from some people I studied with and they were 100% serious.

<comment><USER20> It's not just what they're saying that gives it away, but how they're saying it. The way they used ALL CAPS in particular is a tell.

</comment></comment></comment></comment></comment><comment><USER21> Finally, a spiritual successor to Lingua::Romana::Perligata.

[https://metacpan.org/pod/Lingua::Romana::Perligata](https://metacpan.org/pod/Lingua::Romana::Perligata)

<comment><USER12> And how fitting that the language is the descendant of Latin.

</comment></comment><comment><USER22> I spent a few years in Italy but never learned the language properly(my only Italian friend there happened to speak my language - Polish), still it strikes me as odd that Italians should have issues with learning English when the two languages are grammatically much closer than English or Italian is to e.g. any Slavic language.

Thing is, the way I speak Italian is I use English as an intermediary language, because at least the tenses are somewhat similar.

Of course this strategy falls flat on its face in a more complex conversation, because spoken Italian is chock full of phrases - my favourite being "in bocca al lupo" \- which taken literally translates to "in the wolf's mouth!" (note the lack of predicate here) and to me sounds no different than "Darmok and Jalad at Tanagra".

One other thing is that during my time in that country I was surprised to note that the IT job market there is actually a little _smaller_ than in my native Poland. Weirdly enough the salaries are roughly the same - especially after taxes. I can't explain this, because I met a lot of smart and passionate about their work people in Italy.

</comment><comment><USER23> OT, sorry, but related (well, related only in the language):

[https://github.com/esseks/monicelli](https://github.com/esseks/monicelli)

(humorous PL based on a cult movie)

</comment><comment><USER24> And this is the perfect illustration of why I find ruby's obsession with attempting to make code read like natural language abhorrent. Imagine you're told to pick up a project written like this. This is what it's like for non- native-english speakers every day.

Natural language is weird, vague and quirky.

</comment><comment><USER11> No intention to be rude but the Readme page doesn't seem written by somebody native. I understand that English is basically the only language for technical writing but writing that bad in Italian defies the purpose of this Gem altogether.

<comment><USER25> It seems fine to me, there is nothing in it that makes me think it was written by a non native speaker.

<comment><USER26> _" l'idea, praticamente, è la stessa di Italian Ruby solo che in filippino."_

This is just horrible Italian. It's a slang form and technically incorrect. I honestly don't know how people can write this sort of thing without fear of being seen as ignorant fools.

 _" la gemma RubyParser che parsa codice Ruby" [...] "patchando il Ruby parser"_

"parsare" and "patchare" are anglicist slang terms (ab)used in programming circles. It's the sort of thing that (and I say that as an Italian living in England) just sounds grating. I understand language evolves, but there are Italian words already there for those concepts: to parse can be "analizzare", to patch can be "modificare", "aggiustare", "rimpiazzare".

Italian geeks used to poke fun at the '80s managerial classes and their pointless anglicisms....

 _" La velocità di processazione e traduzione del sorgente è aumentata di molto."_

"processazione" is just not an Italian word - it's the first time I see or hear it, I cannot find it in any dictionary, I guess it's another recent depravation of an English word ("processing"?). In Italian one would use "elaborazione" or "procedimento".

 _" sappiate che verranno su un sacco di classi e di alias nuovi"_

"venire su" (coming up) is, again, slang that you're not supposed to use in writing.

So yeah, the text is likely from a native speaker, but not one particularly well-versed in the language. Which makes the project even more bizarre.

</comment></comment></comment><comment><USER27> Ruby is great for these kind of shenanigans: [https://github.com/searls/emoruby](https://github.com/searls/emoruby)

I worry about the cultural hegemony of the English language. Projects like this are interesting, but I don't see a world where they overcome the inertia of English-based programming.

Ruby itself is a great example - created by a Japanese guy, but entirely with English keywords.

Maybe if China makes a concerted effort they could do it. ¯\\_(ツ)_/¯

</comment><comment><USER28> I created something like this when I was first learning to code in C++. A horrible Swedish variant of the language based on massive abuse of the pre processor, good times.

</comment><comment><USER29> I'm having Vietnam-style flashbacks right now, courtesy of Excel's localization.

Please don't ever use it in production, ever.

</comment><comment><USER30> I had filled a relevant issue [1] a while ago in Ruby issue tracker. I also thought that teaching Ruby language in children, in their native language, would be so cool.

[1] [https://bugs.ruby-lang.org/issues/12722](https://bugs.ruby- lang.org/issues/12722)

</comment><comment><USER31> Love the idea. There is something about using the language I associate with Calcio, Art, Moda, Renesanse, Culinary experience that goes well with programming. That being said and someone pointed out italian has a lot of synonyms and double (close) meanings but then again so does English. According to some study, German is the most precise language. Since I recon not many people would like to write their algorithms in German, the next best neutral(ish) language with high precision is Latin! It is still taught in many schools with classical education and most of European languages are based on it.

</comment><comment><USER32> In itself this seems like a ton of fun. But for interoperability it seems horrible to me and is pretty much a nightmare. Working with codebases from different companies in different countries, the ones that lag behind in on way or another are often written in the local language (i.e. German or Dutch) which essentially cuts a lot of it off from the common knowledge pool on the internet.

While English isn't the biggest or the best language, it's the language with the must useful body of information regarding technology.

</comment><comment><USER33> I remember many years ago when MooTools (yes, that long ago) announced localised APIs as an April Fools joke. At the time I thought it was an interesting idea!

I do wonder if there's still something to it. I can imagine that in the not too distant future we won't check in text code files any more, instead checking in ASTs that represent the code. That would end all the silly debates about code formatting: everyone would check out their preferred format then check in something standard. Maybe languages could be treated the same way.

</comment><comment><USER34> Seems like a better version of [https://github.com/pushmatrix/fikascript](https://github.com/pushmatrix/fikascript)

<comment><USER14> Better because of Italian, Ruby or actual technology behind it?

<comment><USER34> Well, it seems more complete for one. Probably a bit because of Ruby but also that more effort went into it.

</comment></comment></comment><comment><USER35> At my last job (at a company in California), half of the development team was contracted out of a firm in Russia.

I once asked the Russian developers how they felt about programming in English as opposed to Russian. They all said they strongly prefer programming (both keywords and identifiers) in another language, because it feels more like a "computer language". And there really aren't that many words to memorize, anyway.

Just an interesting perspective in the discussion.

</comment><comment><USER10> Noting that "accessore" is not an Italian word was on the tip of my tongue (or, rather, fingers), when I realized that not even "accessor" is an English word.

Terms used in programming languages are probably much more awkward in an English mother tongue's ears than in those of a foreigner.

I wonder if "by default" had any meaning in English before it was adopted in the IT context.

<comment><USER17> "Accessor" is an English word. Sure, it originates in computing, but that doesn't make it any less part of the language.

<comment><USER10> I'll rephrase, Your Honor:

Even in English, "accessor" is a word that was rarely, if ever, used, before it was picked up in the programming languages jargon. So much that it has not made its way into some dictionaries, like Cambridge and Merriam-Webster.

<comment><USER36> Checking the Oxford English Dictionary (2nd Ed.), they have accessor only as a form of accessory (as a noun). So yeah, the programming use is "new".

fwiw, they have "default", in the computing sense of the preselected option, from 1966, while "by default" (in a legal context) has an example from 1764, "Where a defendant makes default, judgement shall be had against him by default."

</comment></comment></comment></comment><comment><USER18> I think my next project will be to localize befunge. [https://en.wikipedia.org/wiki/Befunge](https://en.wikipedia.org/wiki/Befunge)

</comment><comment><USER37> I just got back into ruby after a while and I must say it feels so zen.

<comment><USER38> Indeed. I recently re-decided to default to Ruby for side projects. If you don't need to squeeze the very last drop of performance, I can't think of a more comfortable language.

</comment></comment><comment><USER39> Finally! The perfect language for my spaghetti code!

</comment><comment><USER40> This could work very well when teaching programming.

<comment><USER19> That approach was very popular in LOGO, which was aimed at teaching coding. I believe that's where turtle graphics originated.

It had many translations and there were many more built-in keywords.

</comment></comment><comment><USER41> This is a "fun" idea. Being able to write Ruby code, using Italian instead of English.

Not practical. Not useful. But fun. I like that.

</comment><comment><USER42> Bravo

</comment><comment><USER43> Only ~5% of Earth speaks English natively. Another 15% speak it as an _nth_ language.

I think English based programming is an anomaly that came out of the post-WWII US/UK cultural world order, and from that sustained economic boom came modern computers, languages and the internet to a mass market.

20% of the world speaks Mandarin Chinese (not all as a first language tho). And, about the same % as speak English natively, speak Hindi (+ dialects) natively, and again about the same amount speak Arabic, and again about the same amount (all above 300 million) speak French, tho a greater % of those have le français as an nth language.

HN, and programming, shouldn't get carried away with the myopic, "fish in the fishbowel" view of English primacy. It's really not. Not globally. Just like "white people" are not a majority. Only in a very narrow, very opinionated and specific corner of the globe are those things true. It's a big world out there, much bigger, it seems than many of you imagine from your keyboards.

Even tho HN is in English, many HNers are not native English speakers. I see people associating programming languages with English and thinking it's simply natural (if just by convention), but for most of the world, this simply isn't true, and it could have been another way. In the future it might be another way.

So I really feel it's not accurate to say there's some "problem" with people on Earth creating languages that are founded in Chinese, or Japanese, or Italian, or Russian, or Hindi, or any of the many other languages people speak. For a large corner (or even a small corner) of the world, it would not be a "problem", it would be perfectly natural.

I just don't think it's that accurate, or that useful, to think of programming and English as being somehow a natural match.

When people speak about "representation" in the "tech industry" they ought to consider this factor as well. I'm not just talking about SV, I mean "global representation in engineering". Of course, if Japanese people decide to embrace a language that somehow uses Japanese letters or characters then, there's probably not much you can do about it.

I'm just saying, don't assume it's a bad thing and don't think somehow English and programming has to go together. Certainly at the level of logic, and CS, programming is completely independent of English (tho interesting to think about how the grammar of English maybe constrained and drove initial language structures, concepts and flow control and do a comparative study of differences to languages that emerged from cultures and used other human languages.)

<comment><USER20> Programming and English a natural match, no. Programming and a global language, or _the_ global language as a natural match, maybe.

There's nothing super special within English itself that makes it particularly well suited for programming, but the fact that it's _the_ global language of business, tourism, air travel, diplomacy, etc. makes a good case for it. English has far, far more non-native speakers than any other language.

<comment><USER8> Taking aside the difficulty of learning the language, which language would be a good replacement?

I don't mean it to be provocative, I'm genuinely curious.

<comment><USER20> You're asking the wrong person. I don't know _that_ much about languages, and from what I do know, there isn't really an obviously better language, other than maybe a constructed one like Esperanto (but then you get into the whole thing where it's hard to go off a language with so few native speakers).</comment></comment></comment></comment>


Show HN: Responsive Multi-Device Screen Refresh for 5x Front-End Dev Speed - <AUTHOR> https://manojvivek.github.io/responsively-app <comment><USER2> The idea seems really sweet, but I can't help but wonder why this is a standalone application, not a browser extension. You're targeting developers, but making it a standalone Electron application means I won't be able to use all my regular extensions, only the standard browser devtools. The concept is really neat, but at the moment it would take away more tools than it offers.

<comment><AUTHOR> For anyone that has a hot reload in their development process - it's worth seeing how the UI refresh with several screen containers can keep you aware of responsiveness versus coming back to it later.</comment></comment>


Show HN: The Sales For Founders Podcast – learn sales from successful founders - <AUTHOR> https://salesforfounders.com/podcast/ <comment><USER2> Perfect - just followed on Spotify. Thanks for sharing!

</comment><comment><USER3> I see you doing your thing! This is great stuff!</comment>


A rich python console and more in Kate editor - <AUTHOR> http://kate-editor.org/2013/04/22/a-rich-python-console-and-more-in-kate-editor/

<comment><USER2> nice, although i'm still sticking with sublime text for now it's good to have a wide range of options</comment>


Ask HN: Why will my startup fail? - <AUTHOR> Why will my startup fail?
Hi HN,
I am creating my first online startup and would greatly appreciate your input.
ONE LINE PITCH:
Outfyts.com is the easiest way to create, share and purchase outfits from your favorite retailers and fashion bloggers
LONG WINDED SUMMARY:
Purchasing clothing online is cumbersome and unintuitive. Lets say you want to buy an entirely new outfit for the weekend. You will need to find a pair of shoes, pants and a top but doing so will most likely take you to multiple website and you will have to click back and forth between clothing categories and your shopping cart, constantly checking if your items create the look you want.
Outfyts simplifies the above process by creating content "streams", clothing categories arranged vertically so that you can see the entire outfit as you build it. Clothing is aggregated from around the web from your favorite brands and stylists and can be filtered by price, style, brand, color, etc.
Please check out my site at Outfyts.com (http://outfyts.com/#/screens/d12245cc-1680-458d-89dd-4f0d7fb22724) where you can try a simple demo of this new method of outfit creation.
I am in the "validation" stage of my startup, therefore ALL feedback is appreciated.
-Do you think Outfyts will make online shopping better and simpler? Why or why not? -Do you think you would use this service? Do you think your wife/daughter/friend would use this service? -Imagine the one thing that you wish you could change about shopping online. Is there anyway that Outfyts can solve it? -Polyvore.com has a free outfit creator here: http://www.polyvore.com/cgi/app -Do you like it more than Outfyts? Whats better, whats worse?
--Your input is priceless, thank you!-- <comment><USER3> People have contributed lots of words. Ask a sorority president if you can give beta access to all of their members, send them all an email and see how 100 new girls use the app.

If you rely on HackerNews for your feedback exclusively, that is why you will fail.

<comment><USER4> I used to work at a big fashion e-commerce site, and this is the best advice in the thread. Don't rely on nerds for feedback on anything related to fashion. Try to get it in front of people who will actually be using it.

</comment></comment><comment><USER5> I can't see myself using this as a service for casual wear, or even office wear.

In line with BobbyH's point 2 - I'd suggest looking into formalwear and weddings markets. In the "not wearing a white/ivory/champagne gown", it's really hard to find a way to match gown, hair accessories, shoes, bags etc, and then add in bridesmaids.

If you can find a way to select matching gowns - that would be hugely popular in both wedding and formalwear markets (going to prom with your besties with gowns that look awesome together I'd bet would get people in the door to your service, and if you can convert that to loyalty...)

Weddings and formal events are times when people spend more than they otherwise might on matching clothes and accessories, and for many will be the only occasions where they'd indulge themselves in a completely new outfit from head to toe.

</comment><comment><USER6> It's refreshing to see someone validate their idea like this and asking why it won't work. Too many times I've seen start ups jump right in and go for broken without careful validation.

Ultimately, I would not use your product because it's rare I buy a whole outfit at once and I like to try on my clothes before I buy them. Usually when I buy clothes it's more of an impulse buy and planning a whole out fit would give me time to think about the purchase and by then the impulse is gone. These reasons seem to be shared with the 2 low 20's females I asked.

<comment><AUTHOR> Thanks for your input (and that of your friends)ConceitedCode!

I realize that at this point one of my major faults is the confusion or lack of information in the video. You mentioned that its rare for you to buy an entire outfit at once. Once an outfit is created it is saved and displayed on the website for others to see, comment, and puchase. Each article of clothing could be purchased individually or as a whole. Discounts for purchasing whole outfits come to mind but that's an entirely different topic.

</comment></comment><comment><USER7> I like the demo!

Why I think you may fail:

* Shopping is still an in person, social experience - I only ever buy clothes online when I cannot find what I want in store (mainly for reasons of sizing and color).

* While there is definitely a market for online clothes, I do not believe it intersects much with the group of people who are willing to pay $700 for a pair of shoes (it is as much the experience of the store and the purchase as it is about the shoe) - I have paid $100-200 on a dress online, and it took me a long time to come to a decision (considerations of dealing with the hassle of sending it back, getting a new size etc. in the event it didn't fit.) Anything over that price range I would visit a store, the customer service element is valuable to me, I know I am going to leave the store with exactly what I want (and probably some extras...)

* For me outfits are nearly always a mesh of old and new, unless it's a dress then generally tights and some accessories are all that is needed. I don't think I have ever bought a complete outfit, just bits and pieces that may go together and with my other clothes.

* As others have said, a one-click buy everything would make this more attractive, having to buy each from a separate store and pay separate s/h would kill this idea for me completely.

* Another of my pain points of shopping online is delivery times. Having lived in the UK, where I can get next day delivery from certain stores (even shopping as late as 9PM) it was a culture shock when I moved to Canada to be faced with week long delivery times even if I get express delivery! My understanding is it is very similar in the states. When I buy clothes I generally want them ASAP!

All the best with the idea though!

</comment><comment><USER8> >>Imagine the one thing that you wish you could change about shopping online.

I think it's about time we (consumers) can test out clothing online. Upload our picture, or better yet 3-d render us. Make sure we can move around, to see how the clothing looks like when sitting, walking, whatever.

If you're selling a car, let us drive it in your virtual space, let us drive up to some other cars, and take a look how our car looks like compared to others.

Since you're letting users match outfits, will there be an option to match current items of clothing? Lets say user has a skirt and shoes, but not a matching top. Would they be able to find matching top using same mechanism for skirts+shoes your site sells?

Personally I never bought clothing online. To me the most important thing is if it fits, and if it's a shirt than how it feels (I don't care how pants feel). If you can take my measurements over built-in-camera, find matching pants, and send them to me for a low price, I might use the service. If you send it to me with a return-bag (just in case pants don't fit), I will use the service. You don't have to target me though. Good luck.

</comment><comment><USER9> I'm really, really impressed. This is one of the best implementations I have seen of "visual-based" online shopping. My biggest questions are: 1) How seamless will the purchasing experience be? Can you purchase the entire outfit from the website, or do I have to go to each individual retailer's website to make the purchase? This could make or break the website, and I would highly encourage you to find a way to be able to allow customers to purchase outfits directly on your website and have the orders forwarded to the retailers. 2) How customizable will the website be. I almost had a heart attack (metaphorically, of course) when I saw how expensive the shoes were in your demo video. I would suggest that you have options to put a price cap on the outfit and to launch with many different customization options (such as choosing outfit type by occasion, only showing clothes available in your size, etc.) -I really liked how it said "Don't worry, I'm only 40 seconds long" on the video.

</comment><comment><USER10> > Do you think Outfyts will make online shopping better and simpler?

I don't know. It looks very slick. I'm just unsure whether many people actually buy outfits as a whole.

> Do you think you would use this service?

Probably not, I don't buy my outfits all in one go.

On the other hand the ability to quickly compare a variety of different combinations of things with your scrolling mechanism is a plus. I might buy a skirt because I can see it goes well with a _variety_ of tops similar to the ones I already have. You might want the ability to stick things in the basket individually to cater for people who like to mix and match in that way.

> Imagine the one thing that you wish you could change about shopping online. > Is there anyway that Outfyts can solve it?

I'm never entirely sure that something's going to fit. If I could just enter my measurements on one site and it could handle the working out for me, that would be good.

> [Polyvore] Do you like it more than Outfyts? Whats better, whats worse?

No, I don't like it more. The main thing that's worse is that it doesn't run properly in my browser (Opera). Firing up IE however....

Making me load the next page to see the next set of clothes is annoying.

Having the filters for tops and so on as tags that I have to manually take off rather than just being able to click a larger button to return to the root of the interface is non-intuitive. I may like a top and want to compare it with one of the skirts I've been looking at very quickly and then go back to the jeans I was just looking at and see them with another top. The ability to jump back and forth between different categories like that isn't really there for them.

It does let you sort by price and by colour. Which is nice.

Considering its drag and drop nature, it should let you dress up a doll - <USER2> an outline or something like that so that there's something visual to put the clothes onto. Not having the outfits all in the same scale so that you have to drag about resizing the things by hand is tiresome.

</comment><comment><USER11> Have you ever watched people shopping? Buying the clothes is part of the whole experience. Abstracting it away removes a big part of it. You buy trendy clothing in trendy stores so that people can see you buying there. Why do you think clothing stores have such big and attention grabbing bags? People want to be seen walking down the mall with the bag.

Also, validate by taking a laptop to a clothing store and standing in front of the fitting rooms. Have people use the system. Realize how different it is from reality. Adjust accordingly.

<comment><USER12> Case in point - I saw a vanity plate this weekend that said "Shopper" on it. That's probably an extreme case, but it may provide insight into what influences a heavy shopper.

</comment></comment><comment><USER13> If you can buy the whole outfit at one store. Also, be able to click on items to see them closer up. a tooltip that has size and availablity. a little left and right arrow that allowed it to scroll automatically. Also, people need to be able to tag or pin or share on facebook pintrest. Maybe even let friends comment on the outfit you arranged. Also, be able to scramble the combinations.

</comment><comment><USER14> Have you considered working with the retailers or manufacturers? I suspect retailers would love something like this if you could bring their past customers back into their store.

My second thought is that I hope you are spending most if your energies talking to your potential customers/channels. I suspect the feedback here will be of limited value give. How far we are from your target.

Good luck!

</comment><comment><USER15> Good luck! In the spirit of your post, here are four reasons that I think the opportunity you are currently pursuing will fail.

First, you are not making something that people want. The primary customer you have to satisfy here are fashion bloggers (as once you get them, you will get access to end consumers). However, I would speculate that the ability to easily create "outfits" is not the #1 pain for fashion bloggers. In general, customers want to solve their #1 pain. If you solve a problem that is NOT your customers' #1 pain, you will find it very hard to get the attention of those customers.

To address this issue, I would call fashion bloggers and ask them what their problems are. I would speculate that "easily making outfits" is not their #1 problem.

Second, fashion bloggers aren't a very profitable customer to pursue, so a business that targets that market will find it hard to make money. By contrast, if you targeted an industry that makes money, your customers would have more revenue to share with you. On a related note, many fashion bloggers are not making enough to make a full-time living, so they don't think of their fashion blogs as a business. Thus, even if you create a product that makes them money, they may still not adopt your product.

To address this issue, I would find a more profitable customer to pursue that makes at least $50,000 a year. Also, I would make sure that those customers consider what they do to be their main source of income. This would exclude hobbyists.

Third, I would be concerned that it's hard to reach fashion bloggers to market your product to them. Yes, you can pitch them by email or Twitter. However, fashion bloggers are innudated with pitches, and often ignore them.

To address this issue, I would target a market that wants to be reached, so you can easily reach them to pitch your product.

Fourth, fashion bloggers aren't used to paying for software. Thus, you would have a harder time convincing them to pay you for your software. Compare this to, say, a salesperson, who is used to paying for a CRM and all sorts of software.

To address this issue, you would have to find a way to make money without directly charging your user (the fashion blogger). One way to do this is to require your product be linked with your third-party affiliate codes, and then do a revenue-share on those affiliate earnings. However, this would be hard for fashion bloggers to accept, and would require policing on your part.

In conclusion, I would urge you to switch your focus to (1) solving the #1 pain for (2) a lucrative market that (3) you can reach easily and (4) that is used to buying software.

Good luck!

<comment><USER16> One one hand you say fashion bloggers are a small market because there are not a lot of them, and on the other hand you say you have to cater them to get to a bigger market; this does not compute.

To the original poster: I don't think you have to market to fashion bloggers at all. It helps if they see value in what you do and they promote it, but they are not your final customer: pay attention to your end customer's needs instead.

</comment></comment><comment><USER17> I think I am extremely bad at matching clothes. If this website can really solve this problem for me, I would use it in a long run. So in short, I would try and if it works for me, I would continue using it. If the result is not too great, I won't.

</comment><comment><USER13> Make sure people can share the whole outfit with friends and you won't have a problem. Your's is better than polyvore.com. Adding filters would help though.

</comment><comment><USER18> Sounds like something I'll use once or twice - and if it's particularly good, maybe once or twice every one or two years.

Corresponds to my frequency for clothes shopping.

</comment><comment><USER19> Just seems like a gimmick and not exactly useful. I just don't think it's a big pain problem.

<comment><AUTHOR> Hi timmm thanks for your reply. The long term goal is to translate this into a mobile app. Have you used netflix or pulse on your phone or ipad? Both have implemented a side scrolling UI which makes it easy to navigate. Assuming you are accustomed to online shopping would it be easier to create and purchase outfits this way?

<comment><USER19> I don't see the value of comparing consumer device navigation techniques to the idea/gimmick of designing a whole outfit on a website.

Sure the navigation strategy is good for mobile/tablet browsing - no question there. But I'm not sure the designing an outfit in this way is something people will want.

But hey, give it a shot. Who knows.

</comment></comment></comment><comment><USER16> The two big reasons startups fail are:

a) They don't provide benefit to the customer b) Their product isn't directed towards the right customer

In context of your product, here's how I think each of those may apply.

        a) They don't provide benefit to the customer

Here you have an interface to help create whole outfits. This is ostensibly valuable because most agree that a complete outfit is generally a better fashion choice that unrelated pieces of clothing. However, does this provide benefit to the customer? Well, I am not sure. For example, myself, personally, I pick out six outfits at a physical store and buy maybe one or two of them. Some of the clothes just don't fit well, others must don't quite go together (this shirt is too long for these pants). It is sort of hard to say if you have a market that would love this; if you do, I am not it. I feel there are two types of shoppers, those who want to pick out the whole outfit, and those who would rather have their entire outfit chosen for them by people with trusted fashion taste. I am actually the first one, but I still don't want this. My suspicion is that you may have built a feature and not a benefit.

Conclusion: if you haven't done market research DO IT. Run a Google Consumer Survey if you want to get something done quickly. Troll fashion forums. Question customers on their process of picking an outfit. How do they do it? What is important to them? You might find most people do not want to buy total outfits online for the reasons I mentioned above (or others). Or you may find I am an outlier.

        b)   Their product isn't directed towards the right customer

So, it could be that your product has value but it isn't directed at the right customer. To riff off of above (and to use examples others in this thread have noted), what if you turned the idea on its head and only had precompiled outfits (cater to men/busy professionals). Alternatively, someone mentioned price...do people really buy $700 shoes online? (Cater to market that is possibly more likely to buy outfits online).

Conclusion: Again market research can solve this for you (Q: How much do you normally spend on a pair of shoes when you buy them online? $0-50, $50-100, $100-200, $200-400, $400+).

The validation stage of your startup should happen before you've built anything. If you've done this, great! If not, get on that before you type one more line of code.

Now, smaller reasons it might not work:

        a)  The name

Yes, you can overcome screwy names with a great product, but it is best to try not to. I know you may have actually paid a lot for the domain, but if you did consider it lost money and move on. The real problem with it is that everyone who actually wants to use your service will go to outfits.com instead, get frustrated it isn't what they wanted (it just times out, looks like someone has been sitting on the domain for 15 years), then give up on your service. The only way cute names work is if they are both easy to say and cannot possibly be confused with another domain (i.e, not a real word, like Quora) or spelled quite different but easily distinguishable from the word they are replacing (Boxee).

        b) The demo doesn't work

For me, it doesn't behave like the video--I don't see prices as I shuffle outfits. This may be intentional at an early stage but that video sets my expectations it works already. Aslo, right and left clicking don't work for me either as the instruction below the outfits suggest and get in an inconsistent state where I can't reselect. Sure, this would never make it front of customers as-is, but unless you are bootstrapping this you'll want somthing far better than this to show to investors.

        c)  Revealing lack of traction

Only 15 people like this on facebook? Reddit famously padded their service with fake comments and articles when they started. I am not suggesting you do that, but fashion is a trendy business and unless 1k people like this no one else is going to hit that button. My friend is a SHITTY photographer and she still has 80 pity likes from her friends for her photography business page on FB, you can get at least a couple hundred (or not show the number). Play the fashion trend game: know your audience and appear in fashion yourself.

Now some things you've done right!:

        a) design

It looks good. The logo is great, the animation makes sense. It is clean, functional. Great job!

        b)  Gathering feedback from others

This is good you're asking us. Asking customers questions is better, but this is good. So many startups just go, hey, let's launch this thing with no questions asked and a bunch of assumptions.

<comment><AUTHOR> sudoscience I really appreciate your detailed input!

As it turns out the video is confusing viewers about some of the features of the site and will have to be changed asap.

a) They don't provide benefit to the customer

You mentioned that users may not want to buy total outfits and that other users prefer to have an outfit chosen by someone else. The outfits that shoppers create are saved on completion and displayed on the website (think pinterest) for others to comment on, save or purchase. Each item could be purchased individually or as a whole outfit. If buying the entire outfit is not required would the website appeal to you?

If a casual shopper does not want to create an outfit but instead is looking to buy a certain item or maybe change his/her style she will be able to follow other users (think lyst.com) based on the outfits that they create and make purchases then.

b)Their product isn't directed towards the right customer

You are right about the cost of items vs. purchasing them online. The $600 Jimmy Choo does not reflect the type of user that I would expect to have. On the flip side there are online luxury retailers that serve up items well over 1k (net-a-porter) but that is a smaller market.

b) The demo doesn't work

Bootstrapping. The demo is not intended to work as you see in the video and I understand that a viewers expectations may be broken after giving it a try. I did not want to use one of those someones-hand-draws-explanation-of-website videos. When I created the video I wanted it to be flashy and enticing, encouraging the viewer to sign up for the future service. Would you recommend that I change the video to someones-hand or remove the try me section entirely? Which was more attractive to you, the video or being able to get it a (very limited) try?

Thanks again for taking the time to offer your insight!

<comment><USER20> My two cents:

Isn't one of the stereotypical first world problems, from before the term even existed, finding out you're wearing the same outfit as someone else? Why is the ability to copy an outfit a desired feature?</comment></comment></comment>


On the semantics of pseudo-code - <AUTHOR> http://www.plsadventures.com/2009/09/on-semantics-of-pseudo-code.html

<comment><USER2> I'm flattered...I've never been the subject of a blog post before (even anonymously).

<http://news.ycombinator.com/item?id=802803>

<comment><AUTHOR> You were one of 5 or 10 people who used the phrase "I think in pseudo-code", so it definitely wasn't targeting you specifically!</comment></comment>


Adobe Animate CC, a New Era for Flash Professional - <AUTHOR> http://blogs.adobe.com/flashpro/welcome-adobe-animate-cc-a-new-era-for-flash-professional/ <comment><USER2> Regarding the state of web graphic standards for animation, I would like to know where SVG animations[0] are going.

With SMIL animations being pushed into deprecation[1] by chrome devs while CSS animations are a inferior replacement, web animations are still a draft[2] and SVG 2 with SMIL 2.1 not being released anytime soon?

[0] [https://developer.mozilla.org/en- US/docs/Web/SVG/SVG_animati...](https://developer.mozilla.org/en- US/docs/Web/SVG/SVG_animation_with_SMIL)

[1] [https://groups.google.com/a/chromium.org/forum/#!topic/blink...](https://groups.google.com/a/chromium.org/forum/#!topic/blink- dev/5o0yiO440LM%5B101-125%5D)

[2] [http://www.w3.org/TR/web-animations/](http://www.w3.org/TR/web- animations/)

<comment><USER3> The last I heard was that SMIL is due to be removed from SVG 2 and replaced with an Animations spec separate from SVG.

</comment></comment><comment><USER4> That's nice, but the word "script" was nowhere on that page. It supports ActionScript? That is what made Flash special, the union of code and art. I'm unaware of a complete authoring environment for artistic coders to produce things like they could with Flash. In Flash it wasn't all graphics, or all code, you could mix and match any way you wanted. You could right-click right on a visual object, and put script directly on it, along with its own more typical video-like animation keyframes, and along with separate complete code documents to control everything at once. It was really powerful.

Also, it says CC. I've thus far managed to protest the forced subscription model, which Adobe can only get away with by flexing their near-monopoly position. If it is subscription-only, and especially if it doesn't support ActionScript, I won't be paying them any money.

<comment><USER5> This is very true, and kinda makes this product already seem obsolete if I can code in my favorite IDE instead starting this massive load of crap up. I don't think HTML5 needs an IDE such as this.

Flash was a wonderful way to learn about object oriented programming because you could literally draw an object and add code to it, as you described.

However, I think controlling objects appearances with CSS instead of the IDE or direct code that is mixed with other ActionScript is what finally converted me away from Flash.

The new CSS3 features were too good to pass up especially if I could use them for free and with any text editor.

</comment></comment><comment><USER6> Good they updated and see the value in the animation side rather than let it languish in uncertainty.

They were losing ground to Toon Boom[1] and new tools like Spine 2D[2] that takes into account all formats and mobile dev.

As far as animation for shows, Toon Boom really took over that front including most recently Rick & Morty.

[1] [http://www.toonboom.com/](http://www.toonboom.com/)

[2] [http://esotericsoftware.com/](http://esotericsoftware.com/)

</comment><comment><USER7> TLDR : This is a rebranding of Flash into Animate CC. A bit confusing since another product is called Edge Animate CC. Or will they merge both products ?

<comment><USER8> 'Note: As of November 2015, Edge Animate is no longer being actively developed.' Source: [http://www.adobe.com/be_en/products/edge- animate.html](http://www.adobe.com/be_en/products/edge-animate.html)

Flash has been capable of exporting html animations for quite some time now, so I can't say this is unexpected. This seems like a large step in deprecating the Flash name and player in general.

<comment><USER9> Edge Animate is great, it's really a bummer they're deprecating it.

(Who knows, maybe Animate CC will be Edge Animate more-or-less.)

</comment></comment></comment><comment><USER10> It would be nice if Adobe ditched or deprecated SWF in favor of HTML5 / SVG etc. Flash player has been a huge attack vector for malware and the situation hasn't improved. One thing that continues to irritate me is the extra step required to fool websites into thinking that I am accessing their videos from an iPad before they start streaming over HTML. In normal mode, they force you to install Flash and the associated risk.

<comment><USER11> I think it will happen eventually and the name change might help slightly. Companies will still use flash for advertising in most cases, but hopefully slowly shift out of flash. I usually have flashblock if I have flash installed and noscript setup, really helps block ads as a side effect.

</comment></comment><comment> at-fates-hands This has been around since 2011 as part of their Adobe Edge platform. I saw this a few years ago when parallax was still a big deal.

It certainly makes it nice and easy to do animations with Animate, but the code it creates is horrific.

Here is one of the examples from the Animate page: [http://html.adobe.com/edge/animate/showcase/interactive- marq...](http://html.adobe.com/edge/animate/showcase/interactive-marquee/)

And the underlying code: [http://imgur.com/g33rfUy](http://imgur.com/g33rfUy)

</comment><comment><USER12> One of the strengths Flash had from the beginning was a good GUI for content creation. It is good that they are separating this from the platform, which is hitting end of life.

</comment><comment><USER13> Just when I think I'm out, they pull me back in.

</comment><comment><USER14> New era of remote exploits.)

</comment><comment><USER15> We know you asked for more support for technology that everybody loves, so yeah! FLASH FLASH FLASH NEVER DIES ALL THE WAY!!11

<comment><USER15> Damn people, ever heard of sarcasm?

<comment><USER16> I did not vote you down, but your comment doesn't really add much. It's a common sentiment that could have been posted on any article about Flash.

And it makes even less sense on this particular article, since, if you read between the lines, Adobe is acknowledging that Flash is a tainted brand and that SWF is on its way out.</comment></comment></comment>


Herman Cain's verified twitter account shares posthumous attack on Biden/Harris - <AUTHOR> https://www.newsweek.com/hermain-cain-tweet-posthumous-ad-joe-biden-kamala-harris-1524804 <comment><USER2> Sure seems like Twitter should lock verified accounts of individuals once the individual is deceased

<comment><USER3> There could be some legitimate value in having accounts continue to operate. This situation is a bad example, but suppose a famous person dies and the deceased's family or attorney wants to give updates to existing Twitter followers on the deceased's last wishes, funeral arrangements, circumstances of their death, etc.

Some possible approaches:

(1) Leave the account open but take away Verified status.

(2) Update accounts to a new state like Verified-Estate or Verified-Family to indicate the account is official, but in a different way. (Or add a separate Deceased status, orthogonal so that an account could be marked as both Verified and Deceased.)

(3) Allow certain specific people (deceased's lawyer, spouse, executor of their estate, etc.) to create a dedicated memorial account, and automatically make the followers of deceased's account followers of this new account.

I think any of these approaches could handle the current situation. #1 would leave it as a ghost account. A political organization shouldn't meet the criteria for #2 or #3.

</comment></comment><comment><USER4> I believe they've since changed the name on the account to "The Cain Gang", although the handle is still "@THEhermaincain". Still disrespectful when you consider the meaning of chain gangs in American history.

<comment><USER5> Disrespectful to whom?

<comment><USER6> Can you elaborate? The parent didn't say it was disrespectful toward individuals, though they may have meant Cain, since he was black. But regardless of whether that intention is true, the parent's point (that making a pun explicitly about chain gangs to label your social/political group is disrespectful) seems like a reasonable opinion, that you may challenge specifically.

<comment><USER3> I have no opinion on whether it _actually is_ disrespectful, and I'm not weighing in on that.

However, as a point of conversational order, if someone states that something is disrespectful, it's better if they say who they think is being disrespected. Otherwise, the statement is so vague and ill-defined it's hard to know whether to agree or disagree.

In other words, if you don't know what is actually meant, how can you challenge it specifically? The only way I know is to guess at all the possible meanings, then address all of them case by case, which seems a little silly.

</comment></comment></comment></comment><comment><USER7> Whats to stop someone from getting a verified account for someone and them selling it to the highest bidder? Should Twitter now require that an account no longer from the verified person/org be reverified?

<comment><USER8> I mean, yes? If you're going to offer a feature that officially marks accounts that have proven their identity, then you need to revoke that marker when the identity changes. If that seems overly complicated, maybe the idea of officially verified accounts is problematic and complicated in other unaddressed ways?

</comment></comment><comment><USER9> Do the terms of service cover this?

</comment><comment><USER10> Why is this on HN?

<comment><USER11> It's a story about technology using the social capital of someone who is deceased. If someone wrote a posthumous editorial in the NYT and signed it with their name, or released an album of new music (not newly discovered or remastered works) we might similarly want to talk about what it means to have a dead person somehow still presenting content.

</comment></comment><comment><USER12> I mean, his name was Cain...</comment>


Scismic – A skill-based job matching platform for scientists - <AUTHOR> https://scismic.com/beta <comment><USER2> To me, it seems that the bigger problem is lack of good jobs for trained scientists, rather than any inefficiencies of matching them to each other. Academia, on the one hand, is replete with positions like postdocs and adjunct professorships that are low-paying career dead ends. And on the other, many industry jobs listing Ph.D. as a requirement don't utilize research skills, so someone with a Masters or an undergraduate degree can do them just as good. Such people are usually hired ahead of scientists.

I don't know about biomedicine in particular though. Maybe, something is different there.

<comment><USER3> As someone that never did a PhD I wonder why it is assumed that it is needed for research. Usually a PhD just seems to be a low paid position with a bit of academic freedom these days.

<comment><USER2> The undergraduate and Masters degrees typically don't have the research component; that's why PhDs are necessary. At the same time, I completely agree about their poor pay and not a lot of freedom.

</comment></comment></comment><comment><USER4> By "for scientists" they seem to mean "for biomedical scientists".

</comment><comment><USER5> Unfortunately, no jobs were found/available for this neuroscientist on Scismic.

Is this in demo phase still?

<comment><USER6> /beta in the URL</comment></comment>


Ubuntu One Basic renamed Ubuntu One Free and storage space increased to 5GB - <AUTHOR> http://voices.canonical.com/ubuntuone/?p=1023 <comment><USER2> I tried out Ubuntu One when it had just started, and was unimpressed. There were lots of bugs and it didn't seem feature complete. I went back to Dropbox.

Unfortunately I think Canonical has garnered a bit of a reputation for pushing alpha- and beta-quality software as stable to unwitting end users--PulseAudio, Unity (and the latest Compiz), etc.--and Ubuntu One was no exception. I would never, ever trust that kind of release mentality with my mission-critical files. I'm sticking with Dropbox all the way. Though congrats to their reaching 1 million despite that!

<comment><USER3> You really shouldn't be trusting Dropbox with mission critical files either, but if you want something stable and non-beta, you should be going with LTS releases of Ubuntu. They're very stable and polished, I find.

<comment><USER4> You mean Ubuntu LTS releases become stable after six months or a year, right? When they're new they're as unstable as any other new Ubuntu release, I find.

<comment><AUTHOR> I am yet to see a rock-solid OS that's been in the market for less than 6 months.

zOS, perhaps. Solaris, HP-UX and AIX too, but don't expect having the latest version of Ruby on them.

</comment></comment></comment></comment><comment><USER5> Just to ground the 1M figure in reality: how many users does Dropbox have? How many of those are Linux users?

<comment><USER6> I'd be more interested in knowing how many Ubuntu installs there have been since Ubuntu One was released to see the uptake rate.

<comment><AUTHOR> It's installed by default. I am not sure about how many of those get activated and receive continuous usage.

</comment></comment></comment><comment><USER7> Canonical is starting to rock again. If they can make Unity launcher adjustable or switch from the Unity roadmap and get some decent Gnome 3 in the next release then it will be back on track.

</comment><comment><USER8> Per the FAQ, files are not encrypted on their servers. Sorry, that's a showstopper.

<comment><USER9> Even if they were, don't trust such statements and encrypt yourself before sync'ing.</comment></comment>


Autocomplete from Stack Overflow - <AUTHOR> https://emilschutte.com/stackoverflow-autocomplete/ <comment><USER2> It still astounds me that we haven't solved reusable modules in 2016.

Sure, we have libraries, apis, package managers etc. but every time I read a code base, there is always a utility function reinventing the wheel.

Someone wrote it because it is still difficult to discover modular code and reuse it easily.

It's pretty nuts when you think about it. Imagine mechanical engineers having to recreate the same CAD file because they can't find a component with the same functionality (which does happen but for other reasons e.g intellectual property).

But we don't have the same intellectual property challenges and yet the best tools we have to discover and reuse code are 90s search engines that treat code as raw text with zero contextual understanding and often outdated code snippets.

PS: I love your project btw.

<comment><USER3> Haskell has Hoogle[1], which allows you to search for functions using a type signature. This is surprisingly effective.

Let's say you want that `contains` function from the original post. You'd search for `(Eq a) => a -> [a] -> Bool`, which describes a function that takes two parameters and returns a boolean. The first result[2] is the `elem` function, which is exactly what we wanted!

This is a bit of a contrived example, but I have honestly been surprised by how effective searching by type signature is in Haskell. I wonder if it is possible for a language with a weaker type system, like JavaScript.

[1] [https://www.haskell.org/hoogle/](https://www.haskell.org/hoogle/)

[2] [https://www.haskell.org/hoogle/?hoogle=%28Eq+a%29+%3D%3E+a+-...](https://www.haskell.org/hoogle/?hoogle=%28Eq+a%29+%3D%3E+a+-%3E+%5Ba%5D+-%3E+Bool)

<comment><USER4> Does the order of the parameters matter? It's been a while since I've touched Haskell, so maybe it's obvious that this isn't [a] -> a -> Bool for some idiomatic reason. I guess that would be `isContained` instead of `contains`, so it probably wouldn't be the first thing I search for, but there's at least some potential for ambiguity.

<comment><USER5> It's almost a convention in Haskell. The idea is, since currying functions is easy and common, you stick the argument that you'd want the least in a curried version last. So if you wanted to find out if x was in ten lists, you'd just:

      map (elem x) [list1, list2, ..., list10]

or, for folds, the function is the one least likely to change, so you put it first, and the list is most likely to change, so you put it last:

      foldl (+) 0 [1,2,3]
      map (foldl (-) 100) [[1,2],[2,3],[4,19]]

Of course, it's always debatable if you can find some situation where you wanted to curry in a different order, but generally you pick in order to reduce forced named lambda parameters. As far as I can tell, that's how it's done.

Edit: if you saw the sneaky edit, you'll know that this particular convention isn't easy to follow!

<comment><USER6> There are a bunch of rules of thumbs that help you decide faster. Like `needle before haystack'.

</comment></comment></comment></comment></comment><comment><USER7> Stackoverflow is an invaluable resource when you are a newbie or learning a new stack.

That said, the real value of stackoverflow is not only in the code but the surrounding explanation and the following comments which discuss the merits and demerits of each solution. So you get to read multiple solutions to the same problem and realize why the top answers standout from the others. In a way, you learn to smell good code and bad :)

So searching on StackOverflow can be a learning experience!

But these kind of developments might be the next step and who are we say?

One problem I foresee is, the highly rated solution could be for a specific version of the stack/software ( the latest stable or the obselete, unmaintained one). In which case, you might end up with an error amplifying the mess.

</comment><comment><USER8> I had a conversation with a coworker a few days ago where I jokingly suggested building an AI system that you give a failing test suite and it uses stackoverflow answers to make your tests pass. Sounds like we are one step closer to making that happen.

<comment><USER9> Have you heart of StackSort?

[https://gkoberger.github.io/stacksort/](https://gkoberger.github.io/stacksort/)

<comment><USER10> Original credit goes to the hovertext of [https://xkcd.com/1185/](https://xkcd.com/1185/), I believe.

<comment><USER11> Yup, I stole the idea from there :)

</comment></comment></comment></comment><comment><USER12> Rather than indexing StackOverflow, why not do this by indexing all the open source code out there? Sure StackOverflow answers are good, but they usually skip error checking for focusing on the question at hand. Code used in production applications surely is more sound.

<comment><USER13> A good start would be for Github to host a package that contains the latest versions of each repo. However even they may not have that right (depends on TOS).

<comment><USER14> What they really need is a way to rank github code by quality - so that a tool like this pulls in the good code (as opposed to code of lesser quality)

<comment><USER15> Perhaps instead of using StackOverflow "correct" answers, someone could create a site that has example of anti-patterns and code smells, which you could then use to analyze the code on Github and link to possible alternatives.

<comment><USER16> That's basically what linters do.

</comment></comment></comment></comment></comment><comment><USER17> Great idea, nice thinking!

I guess we as programmers should seriously think about the future of our craft.

If, for example, we feel we are basically using the same building blocks over and over again, we should seriously think about organizing libraries and code snippets and questions asking for such snippets in an organized way and provide ways to transpile 1 solution in different languages etc..

We should not accept the current state of our craft as final and rather think about how to improve in general.

If for instance something like StackOverflow has become the Wikipedia of Code then let's think hard about how to make into a full blown tool, with all the features and semantics we need. It was a nice project the way it started and grew but it doesn't have to stay like that forever!

</comment><comment><USER18> This isn't working at all for me...Either I don't get what it's supposed to do, or the common functions I'm typing aren't common enough. On a related note, 50 StackOverflow points seems like a high number for something like this, and may reduce the results significantly enough that the example doesn't work for most common problems.

<comment><USER19> I only have 50 stack overflow points /total/ (although I only very rarely post) so I would absolutely agree that it's way too high.

<comment><USER20> Accepted answers are also included.

<comment><USER21> My understanding is that it's only using code from accepted answers with 50+ points tagged JS.

So an accepted JS answer with 49 points would not be included, nor would a JS answer with 500 points that was not marked accepted.

<comment><USER20> Oh, you're right. That's crazy!

</comment></comment></comment></comment></comment><comment><USER22> If it's a joke "Ahah", if not it's just depressing. SO is a valuable resource to confront and understand concepts. Let's not encourage this copy/paste culture

<comment><USER23> The OS/SDK/Browser/Protocol/Firmware which you used to type this comment is a compiled copy/paste of a zillion lines of code, of which you probably typed none.

If we encourage the DRY paradigm in the whole development cycle, copy/pasting a function is just a further reach of such paradigm. Now, if a programmer decides whether or not study and understand the pasted code has nothing to do with the quality of the final product.

Furthermore, IDEs by design encourage copy/pasting to speed development, most offer functionality to store code snippets. In that sense SO is like a web extension of IDEs.

<comment><USER22> > Now, if a programmer decides whether or not study and understand the pasted > code has nothing to do with the quality of the final product.

I deeply disagree with this and for such obvious reasons.

<comment><USER23> Why? A widely accepted answer(many points) is most likely correct/best practice/bug-free.

<comment><USER24> It may be bug-free, but it may not be the correct solution for the specific problem the programmer was trying to solve. It may also not do what is expected under different circumstances.

It may be a hammer when you're looking for a screwdriver.

</comment></comment></comment></comment></comment><comment><USER25> Boss never wants a function, boss wants a solution to a problem, and your job is to know how to express that in functions. If you have the signature, 99% of your job is done.

I know you know, I know they know, and I know you know they know. I just wanted to say it, ok?

</comment><comment><USER26> Haha, I love this. We're getting closer and closer to the ultimate conclusion of our industry: where we'll just type in a few keywords and generate full applications from StackOverflow code examples!

<comment><USER27>
      Siri, make me a facebook clone.

<comment><USER28> ...12 hours of involuntary surgery later:

        There, now you're a facebook clone.

<comment><USER29> This is close to a real pun it would do, and nearly just as dire. It's fixed in recent versions, but it used to not understand emergencies. If you said "Siri, call me an ambulance," it would come back with "OK, I'll call you 'an ambulance' from now on."

<comment><USER30> That's both tragic and hilarious.

</comment></comment></comment></comment></comment><comment><USER31> If we put this in front of 1 million monkeys, would it generate the next killer app?

Anyway, this gave me a little laughter today.

<comment><USER32> Glad to hear it. That was my hope :)

</comment></comment><comment><USER33> I have a good feeling about this:

[https://vimeo.com/76141334](https://vimeo.com/76141334)

This is exactly the direction we should be going. We build the world's most sophisticated engines for predicting human social behaviour, why are we stuck in the 1990s when it comes to autocomplete for a tightly scoped domain like writing software?

Bravo!

</comment><comment><USER34> There was some research from Stanford a few years ago with a similar idea [http://hci.stanford.edu/publications/2010/blueprint/brandt_c...](http://hci.stanford.edu/publications/2010/blueprint/brandt_chi10_blueprint.pdf)

</comment><comment><USER35> i did something similar one night a few months back, using python as a sublime plugin, but scrapes the live site. it eventually gets blocked tho as doesn't use the official API.

[https://github.com/byteface/chode](https://github.com/byteface/chode)

I considered hooking into a variety of other resources but haven't really bothered with it as have other things going on.

</comment><comment><USER36> Seems to work very well for that one example, but I can't get it to work for anything else.

<comment><USER37> It's not obvious, but because of the way it's programmed, you have to remove the example function, since it parses the entire code block for similarities.

</comment></comment><comment><USER38> Cool idea, but kind of ironic that the example you used produces unnecessarily complicated stack overflow solutions. A JavaScript "contains" function is as simple as:

var contains = function (needle, haystack) { return haystack.indexOf(needle) !== -1 }

<comment><USER39> Older IEs don't have Array.indexOf(). So you either have to extend the Array prototype or, you know, just implement it in a more compatible way.

<comment><USER40> Or just not support older IEs.

[http://browserupdate.org/](http://browserupdate.org/)

</comment></comment></comment><comment><USER41> Someone please make this for eclipse, vim, intellij, emacs, sublime, etc

</comment><comment><USER42> A great way to increase your liability in an automated fashion!

Sure, the code on Stack Overflow is licensed as MIT... but what assurance is there that the code which was posted is original property that the poster owns copyright to? What assurance is there that the posters won't claim patents on the methods being used?

The risk is low, but it's certainly not 0. Big companies caution their software developers to not even read code in SO answers to avoid lawsuits... how much risk do you bring to your company by copying and pasting (not to mention autocompleting) from SO?

I am not a lawyer, etc. etc.

<comment><USER16> It's fortunately not _that_ easy to get a software patent. It'd be quite difficult to patent something that's the length of an average stackoverflow answer. There's also a lower limit on the length (and originality) for copyright which I doubt many answers reach.

<comment><USER42> I can fit the concept of mp3 decoding and a sample decoder in a few dozen lines of text and code. This is a patented technology (for another year or two, at least).

<comment><USER43> I severely doubt that. Would love to see it though!

<comment><USER6> falcolas might not be able to fit a full mp3 encoder and decoder in the couple of lines, but falcolas can probably come up with enough in these lines to violate the mp3 patents.

</comment></comment></comment></comment></comment><comment><USER44> Similarly: 2014 Springer volume ([http://www.springer.com/us/book/9783642451348](http://www.springer.com/us/book/9783642451348)) and conference series that spawned it ([https://sites.google.com/site/rsseresearch](https://sites.google.com/site/rsseresearch)).

</comment><comment><USER45> This should exist for Wikipedia. Would be great to autocomplete sentences as well as code.

</comment><comment><USER46> Interesting. I was working on something similar [0] last year. Are you planning on publishing the code?

[0] [https://news.ycombinator.com/item?id=9954059](https://news.ycombinator.com/item?id=9954059)

</comment><comment><USER47> Pretty neat, although the "training set" probably doesn't comprise what most people would need.

I'd like to see a version of this based, say, on React examples. Might save me some time :)

</comment><comment><USER48> Can't really see this being useful if I'm honest. Here you are simply showing the code suggestions based on what the user is writing. You are completely ignoring both the context of the code being written by the user and of the code being suggested.

These are key functionalities in order to actually be usable. With this you simply get hundreds/thousands of suggestions that are not related to what you are coding. And if by chance the suggested code is exactly what you want, then the variable names wouldn't even match. This is assuming that the suggested code is complete and functional.

<comment><USER27> I don't think the point was to for it to be useful, it was something fun to do.

</comment></comment><comment><USER49> We can feed the SO data to a ml algorithm and pretty soon we won't even need software engineers. Go today self coding computers tomorrow.

<comment><USER50> Of course we still need software engineers troll SO :).

</comment></comment><comment><USER51> hahah :) someday we will say "Computer make me a program" and it will make it from SO posts

</comment><comment><USER52> Is there an atom extension for searching stack overflow snippets? if not, let's build one!

<comment><USER52> it exists! [https://atom.io/packages/ask-stack](https://atom.io/packages/ask- stack)

</comment></comment><comment><USER53> I don't understand how it works? It's just matching the function name?

<comment><USER32> No, but I realize the demo doesn't make it very clear. It inspects the structure of the code up to the cursor position, based on the syntax tree, along with nearby variable and function names, and matches to similar constructs from SO. It could be greatly improved, but I haven't had a lot of time lately.

</comment></comment><comment><USER54> Can somebody please make an Atom plugin for this? Oh wait...

</comment><comment><USER55> It works great until it does something you don't want.

</comment><comment><USER56> yes, but will this help a million monkeys smashing keyboards write the next great AI

</comment><comment><USER57> Awesome project! Nice work.

</comment><comment><USER58> [http://i.imgur.com/7SiQSD1.jpg](http://i.imgur.com/7SiQSD1.jpg)

<comment><USER59> Where can you buy this book? I want it!

<comment><USER60> No need to buy it, it's free:

[https://www.gitbook.com/book/tra38/essential-copying-and- pas...](https://www.gitbook.com/book/tra38/essential-copying-and-pasting-from- stack-overflow/details)

Found yesterday in this HN Story: [https://news.ycombinator.com/item?id=11333448](https://news.ycombinator.com/item?id=11333448)

<comment><USER59> Oh, wow, thank you very much.

It's funny because I thought "you can't just copy and paste SO, there's a number of things to think of to be able to do it correctly". Guess I'm not the only one who thought that.

Anyway, most intellectual work is just applying known recipes (copy-paste, renaming a few variables), so it's just a matter of granularity and sources. The hate for SO copy-pasters owes a lot to the few beginners who don't understand that yet and take copy-paste literally.</comment></comment></comment></comment>


Fix your vision with this app - <AUTHOR> http://visionblocks.me

<comment><USER2> For some reason I couldn't leave feedback on the Kickstarter page so I will leave it here:

1- Get a nicer landing page, use [https://www.strikingly.com/](https://www.strikingly.com/) Or [http://www.weebly.com/](http://www.weebly.com/)

2- It's good to talk about more specifics, because when you over-generalize your product, specially something related to health, it will sound sketchy!

3- Give an example, to at least get initial interest of those people who have that specific eye-sight issue can resolve it.</comment>