Logs for #nikola for 2015-05-19

01:17:41 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to master: http://git.io/vTGV5
01:17:41 -GitHub[nikola]:#nikola- nikola/master 7550c74 Roberto Alsina: Fix yapsy version for #1730
01:20:24 <Aeyoun> Wrote up some more docs and examples for the recent_posts_json plug-in, if anyone is interested. https://www.aeyoun.com/devel/nikola-recent-posts-plugin.html
01:30:35 -travis-ci:#nikola- getnikola/nikola#5051 (master - 7550c74 : Roberto Alsina): The build passed.
01:30:36 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/f6cce1138f2e...7550c7448d27
01:30:36 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63106198
01:31:00 <ralsina> Aeyoun: can you confirm that if you use auto -b things actually rebuild?
01:31:18 <ralsina> livereload sometimes feels like it works out of pure chance
01:48:44 <Aeyoun> ralsina: y
01:49:01 <ralsina> blah
01:49:22 <ralsina> I am tempted to debug it further but fear I would end reimplementing that thing out of pure disgust
01:49:40 <Aeyoun> ralsina: it does, assuming there are no problems. if any file ever has an issue (tag or task collision, template breakage, etc) it dies and stays dead
01:49:50 <ralsina> Aeyoun: it doesn't die here
01:50:00 <ralsina> it fails to build but it will fail to build again as many times as needed :-)
01:50:11 <Aeyoun> "dies" as in, pretends to be dead. no updates.
01:50:24 <ralsina> if I touch a file, it rebuilds and fails again, here
01:50:27 <Aeyoun> for me I have to kill and restart it to get it going again.
01:51:06 <Aeyoun> speaking of killing and restaring things; I should have been asleep four hours ago. :O
01:51:44 <ralsina> go to bed
09:30:21 -GitHub[nikola]:#nikola- [nikola] Kwpolska pushed 1 new commit to requires-io-master: http://git.io/vTnGO
09:30:21 -GitHub[nikola]:#nikola- nikola/requires-io-master 25bb39e requires.io: [requires.io] dependency update
09:38:30 -travis-ci:#nikola- getnikola/nikola#5052 (requires-io-master - 7550c74 : Roberto Alsina): The build was fixed.
09:38:31 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/requires-io-master
09:38:31 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63143445
09:45:15 -travis-ci:#nikola- getnikola/nikola#5054 (requires-io-master - 25bb39e : requires.io): The build has errored.
09:45:16 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/7550c7448d27...25bb39e75caf
09:45:16 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63143522
10:19:37 <ralsina> Argh! livereload INTENTIONALLY doesnt trigger rebuilds if there is no browser watching.
10:20:26 <gour> hmm...pretending to be smarter than required :-)
10:21:49 <gour> ralsina: btw, being from croatia, how did you arrive at nikola's name?
10:22:15 <ralsina> gour: static -> sparks -> tesla -> nikola :-)
10:22:31 <gour> nice ;)
10:22:48 <ralsina> I will freaking rewrite livereload today at lunch
10:24:17 <gour> i thought i'd have to possibly learn some go (for hugo), but it seems nothing wil come out of it and i'll try to become (more) familiar with python :-)
10:27:13 <gour> just wonder what is your secret of having nikola runs well with both py2k and py3k
10:33:56 <ralsina> gour: there is a subset of the language that is valid python 2 and 3
10:34:14 <ralsina> so, just use that. The tricky part is strings/unicode
10:34:41 <Aeyoun> ralsina: how is "watching" defined?
10:35:02 <ralsina> Aeyoun: connected to the tornado thing, somehow
10:35:35 <Aeyoun> ralsina: I always use it with "-b"
10:35:51 <ralsina> Yes, me too
10:36:08 <ralsina> but suppose you start it with -b, stop it and then start it again
10:36:21 <ralsina> bah, anyway, I hate it and it breaks all the time
10:37:28 <Aeyoun> ralsina: too bad it’s such a useful feature. ;-P
10:37:41 <ralsina> Aeyoun: I will keep the feature, just remove the dependency
10:37:42 * Aeyoun could live with reloading the browser if only auto would actually build the damned thing
10:38:17 <ralsina> Aeyoun: I can make a dumb version in less than one hour
10:38:36 <Aeyoun> ralsina: do you inject a javascript to auto-reload?
10:38:53 <ralsina> I don't have the details of that side yet, but I intend to just copy that part ;-)
10:39:13 <ralsina> but yes: https://github.com/lepture/python-livereload/blob/master/livereload/vendors/livereload.js
10:39:41 <Aeyoun> ralsina: just reload every five seconds using <meta http-equiv="refresh" content="5; url=$permalink">
10:39:53 <ralsina> nah, that's ugly
10:40:05 <Aeyoun> ralsina: … but it works. ;)
10:40:14 <ralsina> I can do better
10:40:26 <ralsina> I have reverse-engineering skillz
10:40:28 <Aeyoun> sometimes you don’t need better.
10:41:03 <ralsina> I don't want the feature to go in the wrong direction
10:41:25 <ralsina> it's one of the things people try and go wow
10:41:30 <ralsina> so, let's keep the wow there
10:42:32 <Aeyoun> ralsina: an aside but, redirect bugs.getnikola.com => github.com/getnikola/nikola ? I always start typing bugs.getn… before remembering that this doesn’t work for this project. So many projects use this URL for their bug tracker that it’s juts become habit.
10:42:42 <ralsina> sure
10:42:52 <ralsina> after I take my son to school
10:43:26 <Aeyoun> ralsina: also "nikola check -r" doesn’t tell me the URL of the broken link nor the page that link is on. :(
10:43:35 <Aeyoun> INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): plus.google.com     [2015-05-19T10:38:26Z] ERROR: check: Error with: output/index-7.html ('Connection aborted.', gaierror(-2, 'Name or service not known'))
10:43:41 <ralsina> Aeyoun: ITERATIONS :-)
10:43:59 <ralsina> but hey, index-7.html :-)
10:44:31 <Aeyoun> ralsina: ah, I saw it now :P
10:45:28 <Aeyoun> ralsina: the problem actually seems to be that every page contains a link to plus.google.com and that "check -r" will repeatedly check the exact same link for all pages. causing plus.google.com to go "wow! slow down, coboy" and drop connections.
10:45:50 <Aeyoun> I’ll go hide in the bug tracker for a while. Make some new entries there. :P
10:51:52 <gour> Aeyoun: 8.0 features?
10:52:12 <Aeyoun> hm, it also don’t understand redirects
10:54:08 <Aeyoun> oh. it reported _every single link_ as broken.
11:05:41 <Aeyoun> oh. okay. it’s just missing a continue after checking remote links.
11:09:11 * Aeyoun will fix it
11:31:39 -GitHub[nikola]:#nikola- [nikola] Aeyoun pushed 1 new commit to master: http://git.io/vTnd4
11:31:39 -GitHub[nikola]:#nikola- nikola/master c09c93c Daniel Aleksandersen: Remote links all returned warnings when checked...
11:39:26 -travis-ci:#nikola- getnikola/nikola#5056 (master - c09c93c : Daniel Aleksandersen): The build was broken.
11:39:27 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/7550c7448d27...c09c93cf7229
11:39:27 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63156852
11:41:40 -GitHub[nikola]:#nikola- [nikola] Aeyoun pushed 1 new commit to master: http://git.io/vTnNC
11:41:40 -GitHub[nikola]:#nikola- nikola/master 7553b5a Daniel Aleksandersen: flake8
11:51:04 -travis-ci:#nikola- getnikola/nikola#5057 (master - 7553b5a : Daniel Aleksandersen): The build was fixed.
11:51:05 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/c09c93cf7229...7553b5af23af
11:51:05 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63158007
11:54:39 <ralsina> Aeyoun: hmmm that can be fixed with a nice little cache. If you file the bug I can fix it.
11:54:54 -GitHub[nikola]:#nikola- [nikola] Aeyoun pushed 1 new commit to master: http://git.io/vTnhR
11:54:54 -GitHub[nikola]:#nikola- nikola/master cb316c3 Daniel Aleksandersen: Don’t recheck the same remote address more than once...
11:55:21 <Aeyoun> ralsina: think it’s fixed already
11:55:23 <Aeyoun> :)
11:55:26 <ralsina> awesome
11:56:11 <ralsina> Aeyoun: if you want to report it again, you would have to make checked_remote_targets a dict and save the result
11:56:49 <ralsina> or maybe just save the failures and a list of pages that contain them and report http://foo broken, found in pages bar, bat, baz
11:57:03 <Aeyoun> https://youtu.be/9cQgQIMlwWw
11:57:52 <Aeyoun> ralsina: hm, I thought about it but … I assume you want to always fix all broken URLs? or not?
11:58:31 <ralsina> I assume yes, and that if there are broken URLs you don't want fied you will whitelist them
12:02:38 -travis-ci:#nikola- getnikola/nikola#5058 (master - cb316c3 : Daniel Aleksandersen): The build passed.
12:02:39 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/7553b5af23af...cb316c312867
12:02:39 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63159560
12:07:47 -GitHub[nikola]:#nikola- [nikola] Aeyoun pushed 1 new commit to master: http://git.io/vTcJr
12:07:47 -GitHub[nikola]:#nikola- nikola/master 34f02ad Daniel Aleksandersen: Report already checked but broken remote links on all pages
12:16:51 -travis-ci:#nikola- getnikola/nikola#5059 (master - 34f02ad : Daniel Aleksandersen): The build passed.
12:16:52 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/cb316c312867...34f02adbd89e
12:16:52 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63160883
12:27:31 <gour> '-r' option in nikola check is not functional?
12:28:33 <ralsina> gour: it was slightly broken
12:48:08 <Aeyoun> gour: it reported everything external link as broken. now it only reports broken links. also much faster because it only checks the same link once.
12:50:27 <gour> so, i'd have to use master/trunk?
12:52:32 <Aeyoun> gour: it’s only listed under "new in master" :) https://raw.githubusercontent.com/getnikola/nikola/master/CHANGES.txt
12:52:51 <Aeyoun> gour: if you scroll up, you'll see it was fixed like an hour ago.
12:58:26 <gour> Aeyoun: ok. ta
14:33:25 <ChrisWarrick> gour: also, you can just copy over the changes you want to your ~VIRTUAL_ENV/lib/python*.*/site-packages/nikola
16:09:01 <gour> ChrisWarrick: maybe i should just start using master :-)
16:09:43 <ChrisWarrick> gour: that is a good idea, too.
16:10:03 <ChrisWarrick> we are not really good at regular releases
16:41:54 <ralsina> ChrisWarrick: this is ~50% of livereload reimplemented http://hastebin.com/umeditecuh.py
16:42:14 <ralsina> By learning the protocol I now know we can send build errors to the client
16:42:36 <ralsina> only missing is the detection of on-disck changes which is rather simple
17:40:54 <ralsina> And this is about 75% http://hastebin.com/hizirapine.py
17:45:35 <ChrisWarrick> ralsina: are you hooking into doit auto, or writing something yourself?
17:45:45 <ralsina> ChrisWarrick: writing myself, it's easier
17:46:11 <ralsina> doit auto only watches file_dep of existing task
17:46:26 <ralsina> so adding new files or changing conf.py will do nothing for it
17:46:33 <ChrisWarrick> https://github.com/pydoit/doit/pull/51
17:47:09 <ralsina> well, it's not merged is it?
17:47:49 <ralsina> and AFAICS it would not fix that problem
17:49:44 <ChrisWarrick> I meant to suggest a nice solution for the watching problem.
17:51:49 <ralsina> I am doing a simple 1st iteration
17:52:01 <ralsina> if better ways to do things appear, then there will be a 2nd one :-)
18:12:15 <ralsina> Almost done
18:12:23 <ralsina> just need to turn it into a reasonable plugin
19:07:26 -GitHub[nikola]:#nikola- [nikola] ralsina created new-auto (+2 new commits): http://git.io/vTlrv
19:07:26 -GitHub[nikola]:#nikola- nikola/new-auto aec80b4 Roberto Alsina: Auto plugin that doesn't use livereload
19:07:26 -GitHub[nikola]:#nikola- nikola/new-auto 45124f2 Roberto Alsina: no more livereload dep
19:09:24 -GitHub[nikola]:#nikola- [nikola] ralsina opened pull request #1734: [WIP] New auto (master...new-auto) http://git.io/vTlr5
19:13:54 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to new-auto: http://git.io/vTlKr
19:13:54 -GitHub[nikola]:#nikola- nikola/new-auto 24676f9 Roberto Alsina: use snippet better
19:17:19 <ralsina> There, removed livereload at the cost of ~100 LOC
19:17:23 <ralsina> ánd it works better
19:17:27 <ralsina> and has more features
19:18:31 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to new-auto: http://git.io/vTlic
19:18:31 -GitHub[nikola]:#nikola- nikola/new-auto 977aa62 Roberto Alsina: client side of livereload
19:18:44 <NGuerrero> hi guys 
19:19:08 <ralsina> Hola NGuerrero 
19:19:52 -travis-ci:#nikola- getnikola/nikola#5060 (new-auto - 45124f2 : Roberto Alsina): The build failed.
19:19:53 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/aec80b4522a3^...45124f28b45e
19:19:53 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63222275
19:22:34 <NGuerrero> I've been having some issues with my virtualenv, I create a new virtualenv with virtualenvwrapper, when I do this I have an exception
19:22:37 <NGuerrero> Hola ralsina 
19:22:40 <NGuerrero> http://linkode.org/ScxQVjsqdUSZF5ePPo2l77
19:23:19 <NGuerrero> The import doesn't matter, I'm wondering why its calling python2 when I setup virtualenv with python 3
19:24:06 <NGuerrero> I should declare an environment variable to specify which python should execute?
19:28:17 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to new-auto: http://git.io/vTl1A
19:28:17 -GitHub[nikola]:#nikola- nikola/new-auto f8fe7e5 Roberto Alsina: misc fixes
19:28:30 <ralsina> let me see
19:29:07 <ralsina> NGuerrero: that doesn't look nikola-related at all
19:29:20 <ralsina> NGuerrero: you will have better luck asking in #pyar :-)
19:29:38 <NGuerrero> Ok, I'll check my setup
19:29:39 <NGuerrero> thanks
19:29:43 <NGuerrero> ok
19:29:47 <NGuerrero> :D
19:29:53 <ChrisWarrick> NGuerrero: not a Nikola issue, your venvwrapper might be botched
19:30:31 <ChrisWarrick> ralsina: how is the bugs.gn.com redirect and coil demo site going?
19:30:44 <ralsina> not even started
19:31:39 <ChrisWarrick> the redirect should take two minutes, tops
19:31:46 <ralsina> decided reimplementing the wheel was more fun
19:31:51 <ralsina> Ill do the redir now
19:32:22 <ChrisWarrick> livereload was crazy anyway
19:33:41 -travis-ci:#nikola- getnikola/nikola#5063 (new-auto - 24676f9 : Roberto Alsina): The build failed.
19:33:42 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/45124f28b45e...24676f9d1df4
19:33:42 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63223137
19:37:06 <ChrisWarrick> ralsina: aren't we missing n/p/commands/auto/__init__.py?
19:37:15 <ralsina> ChrisWarrick: hmmm no
19:37:20 <ralsina> it works anyway
19:37:25 <ralsina> AFAICS :-)
19:37:35 <ralsina> ChrisWarrick: I did a redirect but I get "site is not available"
19:37:45 <ralsina> ChrisWarrick: maybe we need to put it up in DNS?
19:37:56 <ralsina> although it resolves
19:38:16 <ralsina> it may need to be set to cloudflare-enabled because of the crazy https stuff
19:38:21 <ChrisWarrick> ralsina: you have to add it in cloidflare
19:38:32 <ralsina> I don't have the creds handy :-P
19:38:37 <ChrisWarrick> ralsina: follow entry for themes.getnikola.com
19:39:27 * ChrisWarrick looks up CF creds
19:39:48 -travis-ci:#nikola- getnikola/nikola#5064 (new-auto - 977aa62 : Roberto Alsina): The build failed.
19:39:49 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/24676f9d1df4...977aa62df73b
19:39:49 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63223778
19:40:44 * ChrisWarrick needs to migrate from Chrome's password manager which loves to forget thingd
19:43:21 <ChrisWarrick> DNS done, gotta love responsive webpages (on mobile)
19:43:58 <ralsina> hey, works and everything
19:44:09 <ChrisWarrick> Aeyoun: ^
19:44:29 <ChrisWarrick> Aeyoun: bugs.getnikola.com is now a thing
19:47:54 <Aeyoun> ChrisWarrick: take it from someone familiar with Chromium: don't use their pwm.
19:49:29 -GitHub[nikola]:#nikola- [nikola] Kwpolska pushed 1 new commit to new-auto: http://git.io/vTl5m
19:49:29 -GitHub[nikola]:#nikola- nikola/new-auto 8691da6 Chris Warrick: add __init__.py for imports and installability...
19:49:44 <Aeyoun> ChrisWarrick: woho! Practical. I can now type "bugs." and choose Nikola from the browser drop down showing all projects I work on.
19:49:52 <ChrisWarrick> Aeyoun: migrating to keepass whenever I will have time
19:51:00 <ChrisWarrick> which will be Sat 2015-05-30
19:51:17 <Aeyoun> ChrisWarrick: http://www.passwordstore.org/ ;-)
19:51:38 <Aeyoun> bash+pgp+git
19:52:07 <ChrisWarrick> amusing
19:52:39 <ChrisWarrick> though I can live without unix philosophy
19:53:27 -travis-ci:#nikola- getnikola/nikola#5066 (new-auto - f8fe7e5 : Roberto Alsina): The build is still failing.
19:53:28 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/977aa62df73b...f8fe7e535424
19:53:28 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63225198
19:54:40 <Aeyoun> ChrisWarrick: regarding the user-agent choice, http://www.commitstrip.com/en/2015/05/19/data-wars/ :D
19:55:52 <ChrisWarrick> Aeyoun: is this the user agent evolution history ending with Cr=Moz+Gecko+KHTML+Safari?
19:56:15 <Aeyoun> ChrisWarrick: I like that it doensn’t use a db and that git will checksum and offer versioning for free. pass is actually a good application of many technologies.
19:56:43 <ChrisWarrick> Aeyoun: im wondering how the android app works
19:56:58 <ChrisWarrick> Aeyoun: android support is a must
19:57:01 <Aeyoun> you forgot "opr yx" (opera yandex)
19:57:15 <Aeyoun> ChrisWarrick: I use the pass app on android. syncs via git.
19:57:37 <ChrisWarrick> will see tomorrow
19:57:42 * ChrisWarrick goes to sleep
19:59:55 -travis-ci:#nikola- getnikola/nikola#5068 (new-auto - 8691da6 : Chris Warrick): The build is still failing.
19:59:56 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/f8fe7e535424...8691da6e044c
19:59:57 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63228095
20:07:44 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to master: http://git.io/vTlhJ
20:07:44 -GitHub[nikola]:#nikola- nikola/master abdc591 Roberto Alsina: Merge pull request #1723 from getnikola/prettier-html...
20:09:05 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to new-auto: http://git.io/vTlhE
20:09:05 -GitHub[nikola]:#nikola- nikola/new-auto 30c56a9 Roberto Alsina: fix host default
20:09:54 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to fix-1688: http://git.io/vTlhH
20:09:54 -GitHub[nikola]:#nikola- nikola/fix-1688 39b7d31 Roberto Alsina: merged master
20:10:04 -GitHub[nikola]:#nikola- [nikola] ralsina deleted fix-1688 at 39b7d31: http://git.io/vTlhd
20:11:32 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to refactor-scanposts: http://git.io/vTlj4
20:11:32 -GitHub[nikola]:#nikola- nikola/refactor-scanposts ac2c766 Roberto Alsina: merged master
20:13:27 -GitHub[nikola]:#nikola- [nikola] ralsina pushed 1 new commit to refactor-scanposts: http://git.io/vT8e3
20:13:27 -GitHub[nikola]:#nikola- nikola/refactor-scanposts 3b08b41 Roberto Alsina: merged master
20:19:41 -travis-ci:#nikola- getnikola/nikola#5071 (new-auto - 30c56a9 : Roberto Alsina): The build is still failing.
20:19:42 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/8691da6e044c...30c56a96767c
20:19:42 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63231109
20:22:45 -travis-ci:#nikola- getnikola/nikola#5070 (master - abdc591 : Roberto Alsina): The build passed.
20:22:46 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/34f02adbd89e...abdc591eb9d3
20:22:46 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63230937
20:37:56 -travis-ci:#nikola- getnikola/nikola#5074 (fix-1688 - 39b7d31 : Roberto Alsina): The build has errored.
20:37:57 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/12a23efbbb5d...39b7d3157dca
20:37:57 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63231310
20:41:46 -travis-ci:#nikola- getnikola/nikola#5077 (refactor-scanposts - ac2c766 : Roberto Alsina): The build was broken.
20:41:47 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/422e0e1abfba...ac2c766e0ec1
20:41:47 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63231568
20:52:00 -travis-ci:#nikola- getnikola/nikola#5078 (refactor-scanposts - 3b08b41 : Roberto Alsina): The build was broken.
20:52:01 -travis-ci:#nikola- Change view: https://github.com/getnikola/nikola/compare/ac2c766e0ec1...3b08b41e1f12
20:52:01 -travis-ci:#nikola- Build details: http://travis-ci.org/getnikola/nikola/builds/63231834
20:55:44 <Aeyoun> ChrisWarrick: android app is just a searchable list and a minimal texteditor. they use your gpg key to unencrypt and encrypt your passwords which it can sync to other clients over git. git, text editor, gpg is all in one package.
21:26:22 <Aeyoun> "Have you remembered to apply this one weird SEO trick to your website? You wouldn't believe what happen to our traffic the very next day!"
21:26:41 <Aeyoun> I get really weird yet oddly targeted spam.