Giving up on pump.io

For years I’ve been bravely maintaining a pump.io instance residing at https://p.1407.org/ even though the project has some unhealthy red flags, the most important of which are no development community and definitely not even great involvement from its own father.

I think Evan is an awesome guy, but sadly pump did not gain traction. I’m afraid of running web software that is so unmaintained.

I don’t believe it is secure, no software is, specially secure enough to go on for almost an year without patches (and let’s not dwelve on how few there had been previously):

Screenshot from 2015-05-03 14:59:27

It’s not lightly that I do this, and it’s actually with a lot of sorrow that I’m retiring it.

It’s html5 web interface means it’s very hard to make a static version, and I’ve never shared anything so significant in it that I’ll be sad to let it go.

I’ll keep a backup but, I’m sad to say, I simply can’t take it anymore and it’s time for much due housekeeping. 🙁

How to fix your pump.io site name

A newbie mistake that is quite easy to do on pump.io is to set a name for your instance, then decide to change and… oops, you changed /etc/pump.io.json but it doesn’t change! WTF!?

In my case I was particularly pissed off because there’s a bug on pump.io with certain characters, I had named my instance 1407’s Pumps but apparently pump.io doesn’t like that quote there… displayed instead 1407s Pumps. ANGRRRY!

After digging through all keys in my instance, I found out that mine was service:urn:uuid:b0f6e849-4a8b-4b8a-9f3d-1ee221d62d58 (faked uuid), but there may be a lot of service:urn:uuid: entries (234 when I did this)!

Here’s how you can fix it on your database as well (I’m using redis, you’ll have to adjust to your particular case if using another DB).

echo "keys service:urn:uuid:*" | redis-cli > uuids.txt
cat uuids.txt | while read KEY ; do
    echo "set $KEY '$(echo get $KEY | redis-cli)'" >> uuids-set.txt
done
grep "MISTAKEN TITLE" uuids-set.txt > title-fix.txt

So now you can edit title-fix.txt with your favorite text editor and fix the field displayName to your pleasure, and after saving your change you are now ready to apply it:

redis-cli < title-fix.txt

I doubt restarting is needed, but I did it anyway, you can try. 🙂

Forgot to set email in your pump.io? Fix it!

Pump.io is an awesome distributed/federated social network, but it’s still green software and has many rough edges. One boring one is that when you’re setting up your instance you may run into the pitfall of not setting your email, and then after you posted more than you’d want to loose by resetting it… you can’t enable requireEmail anymore because you’ll be kept out of your own instance.

Sucks, innit? But there’s a fix, all you need to do is add the email field to your user’s data. In my example I’ll be using redis so your millage may vary according to your choice of databank, but the idea is the same, just figure out what your particular case needs to do to implement the same idea.

You can get your user’s data and fix it like this (note, lines broken for blog display):

redis your.ip.addr.ess:6379> get user:RuiSeabra
"{\"nickname\":\"RuiSeabra\",\"updated\":\"2013-08-15T20:42:58Z\",
   \"published\":\"2013-08-15T20:42:58Z\",\"_passwordHash\":\"haha",
   \"profile\":{\"objectType\":\"person\",
   \"id\":\"acct:RuiSeabra@p.1407.org\"}}"

redis your.ip.addr.ess:6379> set user:RuiSeabra
"{\"nickname\":\"RuiSeabra\",\"updated\":\"2013-08-15T20:42:58Z\",
   \"published\":\"2013-08-15T20:42:58Z\",\"_passwordHash\":\"haha",
   \"profile\":{\"objectType\":\"person\",
   \"email\":\"my-rms-email@1407.org\",
   \"id\":\"acct:RuiSeabra@p.1407.org\"}}"

So now it’s fixed and you can re-enable requireEmail in your pump.io.json:

[rms@pump ~]$ sudo grep -i requir /etc/pump.io.json
    "requireEmail": true,

Identi.ca Updates for 2013-05-31

  • RT @hugoroy Looking forward to the move tomorrow. Hope it gets this community another boost 😉 #
  • Anxious to know whether impeller will work properly enough tomorrow onwards 🙂 #pumpio #
  • RT @ddevine It’s the 1st of June here in AU. Where the hell is my pump.io? #

Identi.ca Updates for 2013-05-27

  • @evan you realize your dream of federated social networks depends a lot of people with 1 IP only VPSs, right? #
  • RT @zack RT @balleyne Very impressed with how patient @evan has been with the anxiety and questions over the http://ur1.ca/1 migration. #
  • @zack @Evan is an awesome person. I’m extremely happy to have met him IRL, it’s truly an honor! #
  • @evan I agree. There should be a better way. But even though I could setup with ipv6 none of my 3 isps support it. 🙁 #
  • @evan I also tried via openshift but it was a no go. And they have Apache on port 80 as a front end as well. 🙂 #

Identi.ca Updates for 2013-05-26

  • Installed my own pump.io instance. June 1 will be a disaster if identica turns out as unstable. I hope @Evan has lots of uncommitted code. #
  • @evan not this way, I don’t think so. #
  • @evan I’m using wheezy. npm -g install pump.io ; using redis backend. 400 bad request for login in email is requested. #
  • @evan several times, the interface just freezes. I have to press reload on the browser URL #
  • @evan some URLs are built using values stored in db so when URL changes they build bad URLs #
  • @evan then I tried from git but it was even more unstable. #
  • @evan since I used the master branch it’s not entirely unexpected but… #
  • @evan sure, I’ll be one of them in the meanwhile but crickets might be heard 😉 #
  • @evan I’m using node 0.10.5 in usr local bin, not from wheezy #
  • @evan why not build URLs from the environment variables? Wouldn’t that solve the problem? #
  • @evan it was even worse when I required email. No mail sent, logged in and super unstable. #
  • @evan sure. #
  • RT @glynmoody needless to say, #BBC news has not one iota about the 2 million people marching against #monsanto yesterday; the mega-fail … #
  • @evan I also need to run it behind Apache because I only have one IP and I can’t waste it on one site alone… #
  • @jankusanagi I don’t mind a temp. loss of functionality while new stuff gets added to pump.io, it’s the stability of what’s there I worry. #
  • @jankusanagi you really need to check my latest dents exchanged with Evan… #
  • @evan first log: trying to register for the first time, behind a reverse proxy: http://ur1.ca/e1tl8 #
  • @evan second log: http://ur1.ca/e1tq2 there are reasons to change web sites, like working around the previous issue. #
  • In retrospection, all my instability issues might be due to the impossibilty to register behind the reverse proxy and working around that. #
  • It’s possible that more URLs are using the alternative port… #
  • Expecting stability regarding “other” servers in the Internet? Really? #
  • Unfair? They’re not at http://pump.io/ if anyone has “unfair” to shout out it’s me. http://ur1.ca/d6s5g more useful info #
  • Sorry. I think it’s unfair to cite documentation that’s not in plain sight, specially when what seems to me like a design flaw is at stake. #
  • Ok, urlport might help a lot for this setup, I’ll try again from master, and report back soon. #
  • “if you’re insisting on proxying behind Apache or whatever despite warnings not to, you can use this.” unfair to people with VPS and 1 IP #
  • Seems not to work. I get an infinite http 301 redirect loop. #
  • I realize you care about an URL that doesn’t change, but you shouldn’t impose that on a design. It should be a best practice, though. #
  • That configuration definitely results in a 301 redirection loop. GET / HTTP/1.1 Host: pump.1407.org -> Location: http://pump.1407.org/ #
  • And it’s amazing to see what look like bots already trying to abuse it 🙂 #

Identi.ca Updates for 2013-05-15

  • @Evan installed pump.io via npm but I can’t figure how to launch it… #
  • @ovigia isso de fixação de salários é muito ditatorial. Quase parece uma ditadura da europa de leste… #
  • RT @lxoliva ♻ @panaggio: Dream that will never come true: @google announcing on @googleio less (no more?) blobs on Android’s code base. … #
  • @ovigia e? Essa coisa do nivelar por baixo não me soa nada bem. Parece mais coisa das ditaduras da europa de leste. #