Some tech article (YATA?)
No, not really, but bear with me for a second. So there's the taskwarrior(.org) command line program that is, IMHO, a brilliant todo manager. Especially since it calculates an "urgency" factor based on priority, lifetime of task, whether it belongs to a project, etc. Now, I have also taken a look at the Matrix network. Setting up your own internal small matrix server is pretty simple on Ubuntu:
apt install matrix-synapse Now it doesn't do much yet and only listens on localhost, which is pretty limited if running in a vm on your system.
If you like you can take a look at /var/log/matrix-synapse/homeserver.log. The default and pretty empty SQLite3 database is at /var/lib/matrix-synapse/homeserver.db
If you would do the following: sqlite3 /var/lib/matrix-synapse/homeserver.db
SQLite version 3.22.0 2018-01-22 18:45:57 Enter ".help" for usage hints. sqlite> select * from users; sqlite> As you can see, an empty response. Not even a "zeroo records found" to help a little bit. (talking about user friendliness, just don't get me started...). Anyway...
Edit /etc/matrix-synapse/homeserver.yaml:
Make "bind_address: 127.0.0.1" empty so it will bind to all interfaces "bind_address:" or put in another IP address. Change "enable_registration: False" to "enable_registration: True".
Restart the server: systemctl restart matrix-synapse Now register a first user from the command line. You need the option "-k" because the installation uses a self-signed certificate:
curl -k -XPOST -d '{"username":"yourdesiredusername", "password":"yourverysecretpassword", "auth": {"type":"m.login.dummy"}}' "https://localhost:8448/_matrix/client/r0/register" And see a lovely JSON reply appear together with an access token.
You can redo the sqlite query to see a user record has been created: sqlite3 /var/lib/matrix-synapse/homeserver.db SQLite version 3.22.0 2018-01-22 18:45:57 Enter ".help" for usage hints. sqlite> select * from users; @jeroen:mtw.home.local|n0th1s1sl33t@ndn0tmyh@ndl3:-)!|167|0||0| sqlite> .quit Now it's time to use that registration to a login from the command line:
curl -k -XGET "https://localhost:8448/_matrix/client/r0/sync? access_token=a-very-long-string-of-random-characters-here Now you can try to connect other clients to it, change the self-signed certificate for something better, etc. More ideas can be found here.
Now, about my idea...I was thinking, would it be possible to create project/task/todo management functionality into the matrix network?
Something like: - Define project (aka Matrix room?) - Invite friend into project - Send task request to friend - Friend accepts task requests. - I see list of tasks with status (pending, accepted, done?) - Friend sends task done signal back thus changing my status. - Or friend sends back estimated completion date?
Now combine that with local task urgency calculation as done by Taskwarrior, so I would see what task I should work on next (if I like of course), wouldn't that be nice?
Or bundle tasks into projects? Allow tasks to be payable or non-payable?
Show Gantt graph of project?be found here Manage people into resource bundle? I don't care who does the work as long as somebody from that group does it? Add an attribute with someone's hourly rate? What could this mean for our UBports community?
Anyway, this opens up a whole can of ideas in my head. What about yours? Tell me, as usual, at jeroen@ubports.com!
|