Intelligent and Interactive Systems

User Tools

Site Tools


misc:n9

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
misc:n9 [2012/01/27 22:22]
c7031007 created
misc:n9 [2018/09/03 19:35] (current)
Line 4: Line 4:
  
  
-===== Synchronizing Contacts ​and Calendars =====+===== Synchronizing ContactsCalendars, To-Dos, Notes =====
  
 If you do not want to entrust your data to //The Cloud//, you can sync the N9 directly to the desktop. ​ Here is the most functional way I found: If you do not want to entrust your data to //The Cloud//, you can sync the N9 directly to the desktop. ​ Here is the most functional way I found:
  
-  * On the N9, install [[http://​people.debian.org/​~ovek/​harmattan/​|syncevolution_*_armel.deb]].+  * On the N9, install ​the latest ​[[http://​people.debian.org/​~ovek/​harmattan/​|syncevolution_*_armel.deb]].
   * On the host PC, run ''​syncevo-http-server -q %%http://​localhost:​9000/​syncevolution%%''​.   * On the host PC, run ''​syncevo-http-server -q %%http://​localhost:​9000/​syncevolution%%''​.
  
-This allows ​synchronization of the contacts and of multiple calendars. Todos and notes cannot currently be sync'​ed in this way, but this may [[http://lists.syncevolution.org/​pipermail/syncevolution/​2012-January/​003289.html|follow]] at some point.+This allows [[http://​syncevolution.org/​wiki/synchronizing-evolution-http-howto|synchronization]] of the contacts, multiple calendars and to-do lists, and notes.((Contacts sync appears to require a login shell on the N9. Thus, my sync script fires it up with
  
-There does not currently seem to be a straightforward way for SyncEvolution to sync over [[http://​lists.syncevolution.org/​pipermail/​syncevolution/​2012-January/​003291.html|Bluetooth/​OBEX]]. One can use the N9 built-in SyncML client to sync with a desktop Evolution server over Bluetooth, but this solutions apparently has its [[http://​lists.syncevolution.org/​pipermail/​syncevolution/​2012-January/​003279.html|weaknesses]].+  ssh user@192.168.2.15 "sh -l -c 'syncevolution -q client-for-laptop addressbook'"​ 
 +))
  
 I do not miss Bluetooth sync much, as I need to keep the USB cable around for recharging anyway. I do not miss Bluetooth sync much, as I need to keep the USB cable around for recharging anyway.
  
-===== Synchronizing Notes =====+==== Other Options ​====
  
-Notes can be sync'ed both ways as follows:+  * There does not currently seem to be a straightforward way for SyncEvolution to sync over [[http://​lists.syncevolution.org/​pipermail/​syncevolution/​2012-January/​003291.html|Bluetooth/​OBEX]]. 
 +  * One can use the N9 built-in SyncML client to sync with a desktop Evolution server over Bluetooth, but this solutions apparently has its [[http://​lists.syncevolution.org/​pipermail/​syncevolution/​2012-January/​003279.html|weaknesses]]. 
 +  * OpenSync is another promising route ([[http://​opensync.org/​wiki/​trunk/​syncmlConfig|SyncML]] facing the N9, [[http://​opensync.org/​wiki/​plugins/​akonadi|Akonadi]] or [[http://​opensync.org/​wiki/​trunk/​syncing/​evolution|Evolution]] on the host). Presumably this would be subject to the same alleged limitations of the N9's built-in Bluetooth sync as noted above. We have not tried this comprehensively (partially because of package dependency problems; OpenSync is under heavy development),​ and would be delighted to learn more. 
 +  * There are several options for installing your own, open-source //cloud// services locally, and sync with them, but this adds a third, intermediary data store.
  
-  ​* On both the N9 and on the host system, install ''​git''​.+===== Synchronizing Plain-Text Notes ===== 
 + 
 +Notes stored in plain text files can be sync'​ed both ways as follows: 
 + 
 +  ​* On both the N9 and on the host system, install ''​git''​. ​On the N9, create a bare git repository.((The need for ''​git''​ on the N9 can be avoided entirely by ''​sshfs''​-mounting the N9 and doing all of the following on the host system.))
   * Place all your notes in flat files, one file per note.   * Place all your notes in flat files, one file per note.
-  * On the N9, place a couple of scripts that ''​git push''​ and ''​git pull''​ your Notes directory.+  * On the N9, place a couple of scripts that ''​git push''​(( 
 +  PATH=$PATH:/​usr/​libexec/​git-core 
 +  cd $1 
 +  git status | grep '​nothing to commit (working directory clean)'​ 
 +  if [ $? != 0 ] ; then 
 +    git add -A 
 +    git commit -m "sync commit"​ 
 +    git push 
 +  fi 
 +)) and ''​git pull''​(( 
 +  PATH=$PATH:/​usr/​libexec/​git-core 
 +  cd $1 
 +  git pull 
 +)) your Notes directory.
   * A full sync is then done by something like the following sequence:   * A full sync is then done by something like the following sequence:
     - ''​push''​ on the N9     - ''​push''​ on the N9
Line 31: Line 52:
 Voilà. Much better than conventional solutions, since notes are sync'​able even if they are simultaneously edited on both sides. And you get to keep your entire history. Voilà. Much better than conventional solutions, since notes are sync'​able even if they are simultaneously edited on both sides. And you get to keep your entire history.
  
-The drawback is lack of integration with the N9. Editing notes can be tedious. You can alleviate this a bit by [[http://harmattan-dev.nokia.com/docs/platform-api-reference/xml/​daily-docs/​libcontentaction/​index.html#​xdgmimehandling|configuring]] the N9 to open text files inside ''​nano'' ​instead of the document viewer.+The drawback is lack of integration with the N9. Editing notes can be tedious. You can alleviate this a bit by configuring((To ''​/home/user/.local/share/applications/defaults.list'',​ to the ''​[Default Applications]''​ section, add the line 
 +  text/​plain=nano.desktop 
 +or create this if it does not exist.)) ​the N9 to open text files with an editor ​instead of the document viewer
 + 
 +**Warning:​** I have not yet tried what happens in case of a merge conflict. In any case, they will require manual fixing.
  
-===== Synchronizing Encrypted ​Data =====+===== Sensitive ​Data =====
  
-Many people carry encrypted ​data around with them, such as passwords. ​ There are various //​keyring//,​ //wallet// etc. programs out there to maintain these, but I did not find a good solution for the N9, at least none that allowed any straightforward way of sync'​ing such data with the desktop. But here is a simple solution that covers most use cases:+Many people carry sensitive ​data around with them, such as passwords. ​ There are various //​keyring//,​ //wallet// etc. programs out there to maintain these in an encrypted fashion, but I did not find a good solution for the N9, at least none that allowed any straightforward way of sync'​ing such data with the desktop. But here is a simple solution that covers most use cases:
  
   * On both the N9 and on the host system, install ''​gpg''​.   * On both the N9 and on the host system, install ''​gpg''​.
-  * Write little scripts for encryption and decryption of files. 
   * Keep all your encrypted data in a subtree of the file system, one record per (encrypted) file.   * Keep all your encrypted data in a subtree of the file system, one record per (encrypted) file.
-  * Sync this file from the desktop to the N9 using ''​rsync''​. +  * Sync this directory subtree ​from the desktop to the N9 using ''​rsync''​. 
-  * [[http://​harmattan-dev.nokia.com/​docs/​platform-api-reference/​xml/​daily-docs/​libcontentaction/​index.html#​xdgmimehandling|Configure]] the N9 to associate with ''​.gpg''​ files the action of running, ​inside the Meego Terminal, a script that decrypts it to ''​stdout''​.+  * [[http://​harmattan-dev.nokia.com/​docs/​platform-api-reference/​xml/​daily-docs/​libcontentaction/​index.html#​xdgmimehandling|Configure]] the N9 to associate with ''​.gpg''​ files the action of decrypting to ''​stdout'' ​inside the Meego Terminal.((Here is my ''​/​usr/​share/​applications/​decrypt.desktop'' ​on the N9: 
 +  [Desktop Entry] 
 +  Name=Decrypt 
 +  Comment=Display GPG-encrypted text/plain files 
 +  Exec=/​usr/​bin/​meego-terminal -e sh -c "/​usr/​bin/​gpg --decrypt %U ; read"​ 
 +  Type=Application 
 +  MimeType=application/​pgp-encrypted;​ 
 +))
  
-Voilà. ​ Much better than any keyring/​wallet program, at least for Emacs users. To consult a password on the N9, simply open the file in a file manager ​(I recommend Filebox), and it will pop up the terminal, ask for your passphrase, and dump the record to the screen.+Voilà. ​ Much better than any keyring/​wallet program, at least for Emacs users. To consult a password on the N9, simply open the file in a [[http://​store.ovi.com/​content/​204982|file manager]], and it will pop up the terminal, ask for your passphrase, and dump the record to the screen.
  
 +Drawbacks:
 +  * Encrypted files can only be edited on one of the two machines, not on both.
 +  * This solution is much more **vulnerable to local malware attacks** than well-written keyring/​wallet programs.
 ===== Offline Reading ===== ===== Offline Reading =====
  
-I have a little script that pulls a URL with prerequisites using ''​wget'',​ cleans the pulled HTML files with ''​tidy'',​ and strips out all ''<​script>''​s with a tiny XSLT transformation (I do not know of a way to turn off Javascript with the stock Web browser). The whole batch is then moved to the N9 by my sync script, and I always have a bunch of online ​reading material with me.+I have a little script that pulls a URL with prerequisites using ''​wget'',​ cleans the pulled HTML files with ''​tidy'',​ and strips out all ''<​script>''​s with a tiny XSLT transformation (I do not know of a way to turn off Javascript with the stock Web browser). The whole batch is then moved to the N9 by my sync script, and I always have a bunch of offline ​reading material with me.
misc/n9.1327699361.txt.gz · Last modified: 2018/09/03 14:57 (external edit)