Tue 11 Feb 2014

Node.js: fork - yes or not?

[deactivated account] Public Seen by 407

I think use Node.js is much better than RoR. (IMHO)
Changing the language will be famous news.
But i think this is not loved thema.
Changing anything big will take many time and financies.
Diaspora hasn't any financies (i think) and time can be used for other features/improvements.
But when will somebody fork this project and rebuild it to Node.js what will say the crew?
Do you accept forks of your project or will you continue with justice?

Thank you for any answers


Sean Tilley Tue 11 Feb 2014

No. The amount of effort to shift from one platform to another does not justify the result. We would basically have to rewrite all of Diaspora from scratch.

Instead, I think a better motivation would be to ensure that Diaspora can be set up and deployed easily.

While it's true that currently most Rails apps run on cloud services such as Heroku and Amazon, the Flynn project intends to take the capabilities of a Heroku-like service and put it on any Linux server you have, making application deployment that much easier.


Steffen van Bergerem Tue 11 Feb 2014

diaspora* is free software so everyone is allowed to create forks.


Erwan Guyader Tue 11 Feb 2014

As @steffenvanbergerem said it, diaspora is a free software.
As long as you respect the terms of the license, you can fork it, modify it, change the language if you want.

You can find more about the license and the copyrighted content (like the name) here: https://github.com/diaspora/diaspora/blob/develop/COPYRIGHT


[deactivated account] Tue 11 Feb 2014

In me opinion the big brake for diaspora is installation, updating and administrating.
I have one installation on me own server, but installation wasn't as easy as i think.
I don't have idea to update or setup autoupdate.
Administrating and changing design is one big nightmare there.

Anyway, when will be there solved updating, administrating and customize design it will be famous software.

When I sad about administrating i have idea about administrating area with possibilities do the updates, delete users, create design changes etc...


David Thompson Wed 12 Feb 2014

Ah, another manifestation of shiny-new-shit syndrome. Now that Rails has become older and more stable, web developers look for the new bleeding edge language/framework and seek to rewrite the universe once again. Even if it were true that node.js and JavaScript were technically superior, which is not true, the amount of work required to rewrite an established codebase would only ensure that diaspora makes no real progress towards its actual goals. You're free to fork, of course, but I wouldn't expect any contributors to follow you.


Christian Giménez Wed 12 Feb 2014

Node.js is fast, yes, is the last up-to-date thing, yes, but what about JavaScript? Well, the little I saw is not so good: it seems (at least for me) that that language wasn't created for big projects...

I feel more comfortable using Ruby, and Ruby on Rails is a big and nice framework to start and continue a project like this, not to mention that is also Free Software (as in freedom). Also, there are lots of tools that make everything a bit more easier (like modifing the database and templates for controls and view).

Well, I prefer that we concentrate in things like an easy and fast install instead of using our efforts to rewriting all from scratch.

I still remember all the headaches that identi.ca had when the site migrates, Evan promised three months before it really started to work! Later, it had lots of errors and, maybe there still are more. I think he was very enthusiastic but he couldn't accomplish what he said and, in my opinion, it was because all the tools he used including the JS language. However, I like what identi.ca achieves: a great federational feature, but it did thanks for the relatively easy install (it tooks me only 20 minutes + download time!).

That's my point of view about this...


goob Wed 12 Feb 2014

I think one of the reasons for choosing Ruby on Rails for this project was that Ruby is considered a very easy language to learn, which lowers the barrier to contributing to the project. Very important in an open-source project like this...


[deactivated account] Wed 12 Feb 2014

Ok, thanks for all suggestions.
And one little information for me:
Is it on plan: customizing design (for example use self css or scss in case update), administration area and updating the project with updater or autoupdater.

Thank you all


Jason Robinson Wed 12 Feb 2014

Once the federation is in it's own gem, outside the diaspora server code, anyone can port the federation as a node module and create a server in node. Who says diaspora* has to always be just RoR servers?


Jason Robinson Wed 12 Feb 2014

I mean, we already have Friendica talking with diaspora* servers.


Sean Tilley Wed 12 Feb 2014

@jasonrobinson While your point is valid, it wouldn't really be Diaspora, just some Diaspora federation-compatible application. ;)


Jason Robinson Thu 13 Feb 2014

@seantilleycommunit in a way true, if you talk about diaspora* as the server software. I'd rather talk about it as a network ;)


Christophe Thu 13 Feb 2014

@maxsamael you should check out Libertree!


Sean Tilley Thu 13 Feb 2014

That's fair, but Diaspora's definition as a network has traditionally been mostly a network of Diaspora pods and Friendica servers. The groundwork we use to make this network communicate is sort just a bunch of partial implementations of standards and rubber bands duct-taped together at the moment.

It works, but I suppose it's worth asking ourselves whether we should improve the foundations for federation and data before encouraging people to build apps and sites that are a part of our network. We do, after all, want to offer a congruent experience for everybody on the network. Especially when you consider how many decentralized social platforms still don't federate with each other.


[deactivated account] Thu 13 Feb 2014

@christophe I don't want use anything else as diaspora project.
There is many negatives.
I want support the diaspora with new modules (plugins), improvements, servers, bug fixes, donations, etc...
In all means there is much to work and I don't waste me time with X other projects. I <3 diaspora and I want use it :)


goob Thu 13 Feb 2014

whether we should improve the foundations for federation and data before encouraging people to build apps and sites that are a part of our network.

Yes! Definitely.

I realise I'm saying this, knowing that I won't be able to help at all with this task...


RAM518 Thu 13 Feb 2014

Node.js is meant to be run as client-side javascript. RoR is a server-side technology. It doesn't make sense to run D* in a javascript layer, and if you have much experience with javascript, you would cringe at this thought. That's not what javascript was built to do. I vote no.


Christophe Fri 14 Feb 2014

@ram518 Please check Wikipedia: "Node.js is a software platform that is used to build scalable network (especially server-side) applications."


[deactivated account] Sun 16 Feb 2014

@ram518 You don't have truth at all.
Node.js can be used as server side only. Alternatively you can use Angular or other infrastructure. In this case is there client side javascript.
Anyway you can check some comparsions about speed.
Node is excellent software for API, you can divide the user area and API.
In case speed is RoR now good, but not brilliant.

Next point, i think decentralization and security is in all means answer to this type of network. (IMO)


lnxwalt Sun 16 Feb 2014

I do not believe that the Diaspora project's time is well spent re-implementing the already-existing server in YASPLE (Yet Another Shiny Programming LanguagE). However, if you have the skills to write a Node implementation, go ahead. In the process, you will expose some of the weaknesses in federation, private messaging, tags, etc and you may gain new insights of how to fix them.


[deactivated account] Mon 17 Feb 2014

I don't want write new shitty fork, I don't have enough people to participate in project.
Maybe is better improve this project with good mined things.
Example: autoupdater, real and usefull admin area, "Login with D*" button, etc...
PS I think the Node.js is on good way, maybe is it now young, but very interesting.
I'm programing always with it + Express + Angular.js and maybe other plugs.
With this can be developing fun, not as hard as rock in ruby.
I do there many things, but skeleton will be in all means rock hard skeleton... (IMO)
Maybe when is there some people work in Node.js we can group together and made something based on diaspora network, but I'm alone lost.
Do you understand me ideas? And thank you for comment.


Nicholas Juntilla Thu 31 Jul 2014

Diaspora was a good idea with horrible execution. You never attracted developers because you wrote it in Ruby. Ruby is ugly. Ruby on Rails is cumbersome and ALWAYS broken. The community is HORRIBLE with agreeing. You have to use a BILLION different versions. You spend all day getting versions to AGREE! NodeJS is perfection. It's clean and consistent with the internet. It unifies the back and the front end. It's MUCH easier to look at. It UNIFIES the front end and the back. JavaScript is older, better managed, more consistent. Node is stronger, faster, easier to work with, cleaner, faster (faster), more flexible. Node is the future of the internet for the next few years. Ruby on Rails makes me want to vomit. It's a re-imaging tangent of the internet that caused everyone to have to reinvent everything from scratch and now of course it's unmaintainable. JavaScript is backed BY THE ENTIRE WORLD. It's not going anywhere and EVERYONE already knows it. You want developers? You want support? You want anything from Diaspora to last? You will take it to Node and You'll love it. As such I may skim through your code and see if there are any well thought out algorithms I can use to recreate a decentralized social network in NodeJS, which happens to be on the main brain of the evolution of the internet, while Ruby on Rails withers away and all the avant guard hipsters go back to painting maybe something can be salvaged. Thanks for all the work. Too bad you could never even host your own server on joindiaspora.com. What a massive indication of failure.


Sean Tilley Thu 31 Jul 2014

Hey kids, let's play "Dissect the hyperbolic rant!" The argument above is inherent in just about any debate of language vs language, framework vs framework, as it is ultimately an argument about mindshare rather than technological merits.

Diaspora was a good idea with horrible execution. You never attracted developers because you wrote it in Ruby. Ruby is ugly. Ruby on Rails is cumbersome and ALWAYS broken.

That's largely subjective; many people would argue that Rails is just as good if not better than node for many things, depending on what you're using it for. People have complained about Diaspora not being in PHP, Node, Go, Java, C++, and other languages before. You can't please everybody.

Semantically speaking, Rails and Node are not all that different from one another.

NodeJS is perfection. It’s clean and consistent with the internet.

There are inherent security problems in trying to write both the frontend and the entire backend in just JavaScript. Oh look, the thing you have tied directly into your database is joined at the hip with the thing you use users to log in and perform POST functions with! Hope you're a brilliant JS coder and never accidentally leave a huge gaping security hole open! Then your whole app is screwed!

Node is stronger, faster, easier to work with, cleaner, faster (faster), more flexible.

Subjective, subjective, subjective, subjective, subjective, subjective. For a real-world example of what a decentralized social application on Node looks like, go play with Pump.io and cry about it.

JavaScript is backed BY THE ENTIRE WORLD.
Even Joe Blow the Illiterate, my Grandma, and tribal children who know nothing about technology whatsoever? Uninformed consensus does more harm than good.

You want anything from Diaspora to last? You will take it to Node and You’ll love it.
We've been doing just fine on Rails and Backbone, thanks.

What a massive indication of failure.
Don't let the door hit you in the ass on your way out.


[deactivated account] Thu 31 Jul 2014

and all the avant guard hipsters go back to painting

Lol :D


Jason Robinson Thu 31 Jul 2014

@nicholasjuntilla - Want a Node.js fork? Do it! Just don't tell others they should do it, if you're not doing it yourself.

There is already a Python fork - maybe Node.js just isn't very popular as no one has started a Node version....


Jason Robinson Thu 31 Jul 2014

Ps. I love Node - but saying it's gold and ruby is shit is just stupid.


Juan Santiago Thu 31 Jul 2014


I do not understand enough to say if nod. It's better than ruby, but I'm sure you do not need to ask permission to fork or supplement Diapsora .

I like what you propose: improving management area, css, api, aplicaiones, auto update, etc..And if you make an easy pack to install, you would make a god to peopple with engout knowledge!

Adelante don Quijote!!!


Augier Sat 2 Aug 2014

@juansantiago : I already evoked with another dev the possibility to use Capistrano which is a deployment tool made by the rails community to easily deploy D* pods.

It seem like @joebew is already working on.

I don't know much about deployment tools. I use Glu @ work which is a groovy framework made by LinkedIn but which is very difficult to use...


Brent Bartlett Mon 4 Aug 2014

Don't get me wrong. I love JavaScript. It's my favorite language right now. (Also, not coincidentally, the one I'm most experienced in.) It definitely has its detractors, though. Even Douglas Crockford, the high guru of JS, can give you a laundry list of its flaws.

Or, look at PHP. If you do a quick web search, you can easily find dozens of articles complaining about the "inherent flaws" of PHP. And yet...what's written in PHP? Facebook and Wikipedia! I'm not going to say that the choice of language isn't important (because it is), but the choice of language does not indicate success or failure for a project.

Wasn't RoR the hotness at the time D* began development (2010)? And now Node.js is? Obviously, you can't rewrite your entire codebase every time something new and shiny comes along. A few days ago, I was daydreaming about a social network written for Node. It could be very cool. I don't know enough about Node to say whether or not it's up to the task, but it seems like it could be an awesome project. Not for Diaspora, of course. Somebody would have to start all over from scratch. BUT, if somebody wanted to do this, I certainly wouldn't disparage them for it!


Balasankar C Sun 10 Aug 2014

I still don't understand what the big noise is about. You want a node.js fork of diaspora? Just go ahead and fork it. If you are successful and there are similar-minded out there, the project will develop eventually.
You just can't force someone to code for you. :)


PS : Node is great and RoR is shit? I agree with the former. But latter? Sorry but that statement is pure crap buddy.


Brent Bartlett Sun 10 Aug 2014

I should've read this thread closer before replying. There already is a social network for node.js --- pump.io. So, if that's where your interest lies, I think it would make more sense to help out that project.


Michael Dagn Sun 3 Jan 2016

has anyone managed to get npm to work on an android minipc?

thats the problem with most things these days - too much dependency on package managers that don't work properly or take too much control away from the user!