Hacker News new | past | comments | ask | show | jobs | submit login
Announcing algorithm development support for Python 3, JavaScript, Rust, and Ruby (algorithmia.com)
61 points by felix_thursday on May 19, 2016 | hide | past | web | favorite | 19 comments

I said this in a reddit thread[1], but I really just have a philosophical aversion to this. The industry has moved forward because of open source code. If I come up with a great algorithm, it is in my best interest to share it with others, have it improved upon, and contribute to the community. What if something like quick sort were only available if I paid someone for the snippet/service?

I might pay to use a service that allowed an implementation not in my projects language (and it's faster, I can't be bothered to write it, etc), but close sourcing or licensing of algorithms seems to go against the entire ethos of the community.

Especially in the wake of Oracle v Google and the implications that it could have on APIs, I really think to purposefully close off algorithms is just another step in a really bad direction.

[1]: https://www.reddit.com/r/ruby/comments/4k4fpr/algorithmia_no...

This doesn't even look like pay-for-a-snippet (which I agree is a pretty audacious business model). They sell you a black box, which you interact with through REST.

As a firm believer that knowledge -- particularly theory -- should be free, Algorithmia is repulsive. As a developer their black-box model (and not simply giving me source) is a no-go.

While I also generally prefer to choose open source services over closed source ones, it seems to me there is a place for both....

That said, over 75% of algorithms on the site are open source. Perhaps that's not obvious enough?

[disclaimer: I'm an engineer at Algorithmia]

This feels a little like PR spam, and I noticed it received a lot of upvotes in a short amount of time without any comments.

Would anyone who upvoted this mind explaining the significance of Algorithmia in general? The marketing itself seems to misuse the idea of an algorithm.

I remember the last time they popped up on HN someone pointed out how the licenses Algorithmia uses are one-sided. Has this situation improved at all, so developers aren't at a legal disadvantage?


The idea behind algorithmia is to expose algorithms, functions and ML models through an API so that they can be adapted from any language you as the developer feel comfortable in. Today we added a number of different languages our platform supports - expanding the number of developers that can contribute to our platform. The larger the library the more you can do with it.

Regarding the licenses. We support 4 types of licenses currently 3 FOSS and 1 Algorithmia Platform. The Algorithmia Platform takes no rights other than giving us permission to run your code on our platform and provide it as a service. At no point do we take ANY ownership of your IP. The only thing that can be seen as a restriction is that once you put an algorithm in our platform that version will always be there - this is just to guarantee to anybody building on top of our API that the code will always be there for them.

Regarding upvotes - HN has serious voting ring detection behind it and this climbed the ranks naturally since posted this morning. We are avid participants in this community with no intention of manipulating what is of interest.

Thanks for responding. That makes it more salient. I see this as useful for cases where there is a niche need for some SaaS, but not enough demand to necessitate a full-blown startup around it requiring multiple developer salaries?

I'd just softly suggest to make sure that the problem you're solving doesn't get lost in the marketing. Often I'll visit the sites of startups and not be able to quickly discern what it is they're doing, even after clicking their "about" page. Don't feel like it's repetitive to keep explaining this when most people aren't your customers yet.

I appreciate you taking the time to give us feedback. At the core of Algorithmia we look to operationalize for scale. You can develop your own algorithms and use us as your infrastructure never having to worry about spinning up a machine again. You can mix and match work from others regardless of language. You can open source it all and make it available (caveat we still charge for running on our infrastructure) or you can make it closed source and share with no one. The algorithm developer is always in control, we just look to facilitate actually using these algorithms, libraries, ml models and functions vs reading about it in an academic paper or trying to resolve every dependency under the sun. The truth is that getting things up and running can take hours to days and Algorithmia turns it into seconds. This is how we beleive we are liberating knowledge... By making applicable and usable to developers in their day to day.

So can I write a sweet left pad algorithm and allow people to depend on it in a multitude of languages now?

As much as I like to make fun of node js and everything it stands for, the kik/left pad debacle materialized due to incompetence/malice on npm's part.

That being said, I agree with thee other posters here. If I could downvote article submissions I would downvote this one.

OP, the world doesn't need this. Please stop. Thanks!

Off topic: would it be insane for HN (or other platforms like it) to show publicly the users that up vote? To allow the crowd to assist in researching and identifying vote spam? I suppose there could be negative consequences from that ....

They could expose anonymized user names that can't be correlated with an account. Maybe just assign everyone a random secondary ID for aggregate reporting along with some coarse info on account age to make throwaways more obvious.

FWIW I upvoted this because I'm very curious what other people on HN will think of it.

I wonder why they chosed to support rust, ruby and scala.

Shouldn't they support c an c++ over rust ?Shouldn't they support c#, coffeescript and go before scala or ruby ?

All the latter programming languager are more mature, more used than the supported languages.

[As one of the developers in charge of this feature...]

That's a fair question.

Rust was a personal itch, but it also provided a good test for supporting native compilation while providing an excellent dependency management story. We learned a lot from Rust that will apply to C/C++ and we're talking about how we want to address the dependency management story of that ecosystem (and we still need to build a C/C++ client library).

Scala support came alongside Java (and because we're a Scala shop). Ruby was low-hanging fruit because the client already existed. Coffeescript support would be pretty easy to add on top of Javascript pending some demand and interest. C# (on mono) and Go are both interesting languages for us to reasonably land that didn't make this round.

We definitely have more to announce on this front soon. And by all means, we love hearing our users request their favorite languages. :-)

C and C++: All other languages they support have a nice property - they're not architecture/platform dependent in ways that are often exposed to the user. Basically with all of them they can migrate from big-endian 32b environment to little-endian 64b environment and applications are very unlikely to get affected.

For coffeescript: you can use JS, so just compile before uploading. C#: they'd have to start using mono, or host on windows with .net - neither one may be a good solution for them.

When they added Java, they get Scala "for free" in a way. I don't think there's much difference in supporting architecture.


> Shouldn't they support c an c++ over rust ?Shouldn't they support c#, coffeescript and go before scala or ruby ?

c/c++ are legacy. c# is an m$ thing, coffeescript and go are beginner languages. scala and ruby are used in production.

> All the latter programming languager are more mature, more used than the supported languages.

I wouldn't call c#/coffeescript/go more "mature" than scala. And popularism is unrelated to the topic.

That sharing bar covers the text if the browser width is less than 1290px and it's not closeable. Pretty annoying.

thanks for reporting - looking into this now.

It's still there, 4 days later.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact