Tag: diaspora

diaspora pod update wiedermal

nur mal so gepostet, damit ichs irgendwo niedergeschrieben habe.. fuer die meisten leser eher unbrauchbar 😉

nach ein paar tagen war wiedermal ein update des diaspora pods faellig. da laeuft ja kein update wie das andere. und ich stehe mit ruby und java nicht wirklich in einem guten verhaeltnis. naja..

normalerweise ging das update so (in meinem fall…):

erstmal die laufende pod instanz killen, dann

cd /home/diaspora/diaspora
git pull origin master
DB="mysql" bundle install --without development,test
RAILS_ENV="production" DB="mysql" bundle exec rake db:migrate
RAILS_ENV=production DB="mysql" bundle exec jammit
chown diaspora.diaspora /home/diaspora/diaspora/ -R

und die pod instanz wieder starten.

diesmal brachte das

DB="mysql" bundle install --without development,test

folgenden fehler:

Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    bundler (~> 1.1.0) ruby

  Current Bundler version:
    bundler (1.0.21)

This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

also erstmal

gem install bundler

… ausgefuehrt. dann eins weiter in der “normalen” update liste

RAILS_ENV=production DB="mysql" bundle exec jammit

brachte diesen fehler:

/var/lib/gems/1.8/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in `gem': jammit is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
	from /var/lib/gems/1.8/bin/jammit:20

also jammit ins gemfile eingetragen.
danach ein:

bundle install

…ausgefuehrt und nach einem wiederholten

RAILS_ENV=production DB="mysql" bundle exec jammit

kam dann das:

/var/lib/gems/1.8/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
	from /var/lib/gems/1.8/gems/execjs-1.3.0/lib/execjs.rb:5
	from /var/lib/gems/1.8/gems/uglifier-1.2.4/lib/uglifier.rb:3:in `require'
	from /var/lib/gems/1.8/gems/uglifier-1.2.4/lib/uglifier.rb:3
	from /var/lib/gems/1.8/gems/jammit-0.6.5/lib/jammit/dependencies.rb:22:in `require'
	from /var/lib/gems/1.8/gems/jammit-0.6.5/lib/jammit/dependencies.rb:22
	from /var/lib/gems/1.8/gems/jammit-0.6.5/lib/jammit.rb:221:in `require'
	from /var/lib/gems/1.8/gems/jammit-0.6.5/lib/jammit.rb:221
	from /var/lib/gems/1.8/gems/jammit-0.6.5/bin/../lib/jammit/command_line.rb:2:in `require'
	from /var/lib/gems/1.8/gems/jammit-0.6.5/bin/../lib/jammit/command_line.rb:2
	from /var/lib/gems/1.8/gems/jammit-0.6.5/bin/jammit:3:in `require'
	from /var/lib/gems/1.8/gems/jammit-0.6.5/bin/jammit:3
	from /var/lib/gems/1.8/bin/jammit:21:in `load'
	from /var/lib/gems/1.8/bin/jammit:21

das verlangte

gem install execjs

ausgefuehrt.. brachte mich aber kein stueck weiter. auf eine empfehlung hin dann node.js installiert. leider gabs kein debian 6.0 package, also musste ich zur manuellen installation greifen. die hab ich hier gefunden.

git clone https://github.com/joyent/node.git
cd node
# 'git tag' shows all available versions: select the latest stable.
git checkout v0.7.7
./configure --openssl-libpath=/usr/lib/ssl
make
make test
sudo make install

und der naechste versuch…

RAILS_ENV=production DB="mysql" bundle exec jammit

brachte dieses ergebnis:

Could not find the asset configuration file "/home/diaspora/diaspora/config/assets.yml"

auf rat von denshub im diaspora irc channel ein

bundle exec rake assets:precompile

ausgefuehrt, was auch wieder nen fehler spuckte:

rake aborted!
/var/lib/gems/1.8/gems/heroku_san-2.1.1/lib/tasks.rb:112: syntax error, unexpected ':', expecting kEND
          puts stage.push_config RACK_ENV: stage.name

er meinte dann, dass ich doch lieber ne neuere rube version verwenden sollte. gibt mittlerweile auch ein howto fuer squeeze.

es ist taktisch unklug, die ruby version dem system package manager zu ueberlassen, weshalb man doch besser rvm benutzen sollte. die wesentliche installation von rvm und ruby 1.9.2 ist laut dieser anleitung:

bash <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) stable
echo "[[ -s '$rvm_path/scripts/rvm' ]] && . '$rvm_path/scripts/rvm' # Load RVM function" >> ~/.bashrc
source ~/.bashrc
rvm install ruby-1.9.2-p290
rvm use ruby-1.9.2-p290@global

danach kommt beim wechseln in das diaspora verzeichnis diese meldung:

==============================================================================
= NOTICE                                                                     =
==============================================================================
= RVM has encountered a new or modified .rvmrc file in the current directory =
= This is a shell script and therefore may contain any shell commands.       =
=                                                                            =
= Examine the contents of this file carefully to be sure the contents are    =
= safe before trusting it! ( Choose v[iew] below to view the contents )      =
==============================================================================
Do you wish to trust this .rvmrc file? (/home/diaspora/diaspora/.rvmrc)
y[es], n[o], v[iew], c[ancel]> y

welche mit ja zu bestaetigen ist. dann noch ein freundliches:

bundle install

mein naechstes update wird verrmutlich so aussehen:

su - diaspora
git pull origin master
DB="mysql" bundle install --without development,test
RAILS_ENV="production" DB="mysql" bundle exec rake db:migrate
bundle exec rake assets:precompile

und diese geschichte ging noch gefuehlte stunden lang weiter. nach dem starten hatte ich nur noch 500er fehler. die shell, in der ich den server gestartet hatte, war noch mit der alten ruby version verheiratet. die netten leute im diapsora irc channel haben mich aber noch ein bischen supportet. logfiles wurden ueber pastebin ausgetauscht usw… ohne die jungs waere ich hoffnungslos aufgeschmissen gewesen. danke nochmal an DenSchub und MrZYX fuer die kompetente hilfe.

letztendlich wars noch ein fehler im source, der behoben wurde, als wir noch an der fehlersuche waren. ein freundliches git pull mit allem was dazugehoert brachte dann abhilfe.

kurze gedankenstuetze, damit ich mich irgendwann noch dran erinnern kann:

assets=javascript, bilder & css
jammit=js&css kompilieren (wir benutzen ne meta sprache für css: sass) und komprimieren
rails 3.1: asset pipeline: neuer weg um den gesamten kram zu handlen
dadrin: neuer weg zum zusammenstöpseln und komprimieren von dem ganzen kram
diasporas upgrade auf rails 3.1: die bildchen sind in der neuen verzeichnisstruktur verloren gegangen
aber halt im quellcode noch benutzt worden
das war der fehler den du gesehn hast (eh, mir fehlen die bilder)

ja, diaspora ist noch alpha. aber fuer jemanden, der sich zwar mit linux auskennt, aber mit ruby, java und dem ganzen kram nichts am hut hat, ist es echt nicht einfach, solch einen pod in diesem entwicklungsstadium zu betreiben. ich werde erstmal die mailingliste abonnieren, damit ich gravierende aenderungen vielleicht vorher mitbekomme. vorausgesetzt, ich finde ueberhaupt die zeit dazu, mich intensiver damit zu beschaeftigen. man hat ja noch genuegend andere mailinglisten etc. zu lesen.

endless diaspora loops

wha.. kurz vorm ins bett gehen wollte ich “noch schnell” den diaspora pod mal wieder updaten. geht ja schnell… und dann geht nix mehr. der firefox sagt:

Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

da haben die mal wieder was geaendert und ich habs nicht mitbekommen, weil ich zu faul bin, die release notes zu lesen. ich unterstelle jetzt einfach mal, dass das da drin gestanden haette. die installationsanleitung hat im abschnitte Configuring SSL zumindest ein update bekommen. ein kurzer besuch im deutschen diaspora irc channel brachte mich auf die richtige faehrte, dass die reverse proxy configuration angepasst werden muss. fuer den nginx lautet die entsprechende zeile:

proxy_set_header X-Forwarded-Proto https;

und fuer den apache2:

RequestHeader set X_FORWARDED_PROTO 'https'

desperados und diaspora

gerade toent es hinter mir:

“bist ja doch wieder auf facebook und nicht auf desperados… äh.. nee… diaspora, oder?”

die gedanken fuer unters kopfkissen

grad auf einer d* mailingliste gelesen:

[..] But my conception is little bit different. I think, a real decentralized social network doesn’t need pods. My idea is a network from personal wordpress blogs which can communicate through diaspora protocol as minimal (1 person) pods. This is something real decentralized thing. You have not trust any pod provider, cause you really own all of your data in your personal wordpress instance. [..]

yes. genau den gedanken hatte ich auch schon. ok, das mit dem vertrauen in einen provider hat man auch bei ner simplen wordpress installation. die geschichte koennte man noch paaren mit xmpp statt http. das wiederspraeche zwar der “einfachheit”, so dass es jeder auf einem shared hosting ding installieren kann, aber wuerde der “realtime communication” eher dienen als alles ueber irgendwelche webserver abzuwickeln. das “message queue’ing” bei xmpp duerfte einfacher (und fertig und standardisiert) sein und ausserdem braucht man xmpp ja sowieso zum chatten. facebook, google, gmx usw machen es vor.

da drueber schlaf ich jetzt mal.

d* pod geht weiter…

so… der meinige diaspora pod (btw ist die abkuerzung fuer diaspora ist “d*”) kriegt gerade sein erstes backup verpasst. man weiss ja nie. ausserdem ist er nun bei podupti.me gelistet. die schlechte antwortzeit kommt daher, dass der genutzte monitoring anbieter seine serverchen wohl in kanada stehen hat.

und! achtung… *trommelwirbel* ..naja.. nicht ganz so spektakulaer: es sind schon sieben user auf dem pod 😉

im irc channel auf freenode hab ich mich mal umgeschaut, auf der mailingliste bei google groups bin ich angemeldet, diverse blogs und wikis durchstoebert, viele neue sachen auf meine “spaetervorbeisurf-liste” gelegt wie z.b. friendica.com oder das wiki auf github, wo jemand mal protokoll details niedergeschrieben hat (1,2).

ein haufen neues zeug. megabytes an input fuers hirn. ich brauche vielleicht jemanden, der sich mit mir zusammen ein bischen um den pod kuemmert. schliesslich muss der kram momentan eigentlich taeglich aktualisiert werden.

ums mit volkers worten zu sagen: “man brauch ja noch projekte”.

diaspora pod map

hmm.. auf podupti.me sind inzwischen 74 diaspora server gelistet. interessant ist die geographische verteilung:

in einigen laendern gibts wohl mehr leute, die es fuer notwendig halten, eine alternative zu kommerzialisierten social networks zu schaffen.

diaspora server pod.sd.vc

mag denn jemand mit mir ein bischen rumtesten? bei diaspora is ja echt noch keine sau (die ich kenne). so alleine auf dem eigenen server hat zwar den mega vorteil, dass die kiste (im gegensatz zu den oeffentlichen) sauschnell ist, aber irgendwie fehlt halt was. vor allem die pod uebergreifenden geschichten wuerde ich gerne mal ausgiebbig testen. schliesslich ist ja einer der angepriesenen vorteile von diaspora die dezentrale struktur. wenn du, liebe/r blogleser/in bereits irgendwo einen diaspora account hast oder besser noch einen eigenen server betreibst, dann lass uns doch mal zusammen spielen. klar koennte ich mir auch selbst irgendwo accounts anlegen.. aber das ist doch doof.

ein kleines, um den faktor 37284 vereinfachtes schaubildchen hab ich gefunden:

die sache mit der dezentralen struktur hat folgenden… naja.. ich nenne es erstmal “haken”, der nach kurzem nachdenken natuerlich einleuchtend ist:

“Sollte die Person noch nie Bekanntschaft mit deinem Pod gemacht haben, also z. B. noch nie gesucht worden oder noch kein Kommentar von ihr eingegangen sein, so muss das Profil erst heruntergeladen werden. Das heißt, man kann nicht nach dem Namen der Person suchen sondern muss das sogenannte Diaspora-Handle benutzen (z.B. testperson@beispiel.com). Da diese Aufgabe zurzeit im Hintergrund bearbeitet wird, schlägt die erste Suche generell fehl. Nach kurzer Zeit sollte sie dann aber erfolgreich sein. Auch über den Namen sollte die Suche danach möglich sein, natürlich vorausgesetzt die Person ist suchbar, was im Profil deaktiviert werden kann.” (via)

my own little diaspora pod

ja.. geil.. ich hab mir einen eigenen diaspora server installiert. wem diaspora noch gaenzlich unbekannt ist, der kann sich erstmal schlau googeln und wird dabei webseiten wie z.b. diese von dsiw finden, die einen kurzen ueberblick ueber die funktionen und philosophie gibt.

das konzept basiert u.a. auf dezentraler datenhaltung. man kann sich bei einem x-beliebigen diaspora server anmelden oder aber auch seinen eigenen betreiben. ich hab mich fuer letzteres entschieden, was fuer die meisten “normalen” social network nutzer wohl eher nicht in frage kommt. die installation ist nicht ganz trivial und so ein serverchen braucht ja auch pflege.

ich bin immernoch am rumspielen und hab bei weitem noch nicht alles ausprobieren koennen. die software an sich hat noch alpha stadium, weshalb man sich nicht wundern sollte wenn mal was nicht so funktioniert, wie man es erwartet.

der groesste vorteil, den facebook hat: gott und die welt sind bei facebook. bei diaspora ist “noch nix los”, was wir aber schnellstens aendern sollten…

der gedanke ist einfach herrlich, dass es ein social network gibt, dass meine daten nicht verkauft und mich nicht mit werbung belaestigt.

wer nicht irgendeinen diaspora server verwenden will, sondern meinen: einfach ein kommentar hinterlassen oder eine mail schreiben.