22 Nov

syncing and bots

Been a while. I took two weeks off work after I got married, to just relax and play some geetar (practicing my speed soloing with some classical riffs and a metronome).

So, I was just reading through my daily blog list today and noted someone talking about kde.org and opensync.org collaberating to help reduce personal data redundancy.

I have a big problem with personal data redundancy. I use five computers on a regular basis. My laptop, my home server, my work machine (this one), my robot, and the office server. Forget about the bot, as I don’t do any personal computing on it, but on all of the others, I run programs such as Firefox, IE, Konqueror, Thunderbird and Kontact on a regular basis (as well as many others – vim, etc).

Sharing email is not a problem, as I use IMAP. However there are a number of itches that I’m tired of scratching:

  • Only yesterday, I was wishing that Firefox and Konqueror could share the same bookmarks file, as I have a well-categorised list of personal bookmarks on my laptop which I would not like to have to rebuild every time I move to a different browser or machine. Okay, I can share the same bookmark file between various Firefoxes on separate machines, by using NFS or something (which is insecure, slow, and can cause locking problems), but it’s a shame that there does not seem to be a simple way of sharing bookmarks between two browsers on the same machine without having to manually export and import it every time something changes!
  • In work, I do my coding in vim, on the office server, in KDE, viewed via vnc. I used to use Synergy for it, when I was sitting right next to the office server, but we moved everything around here and removed the monitor from teh server, so I need to use VNC. One crap thing about VNC is that I can’t seem to copy from outside it, and paste inside it. This means that if, for example, I am debugging some JavaScript for IE, and need to copy something from the output and paste it into what I’m working on, then I can’t do it! I need to either do a complex notepad and ftp dance, or write it out by hand. It would be nice to just select, copy, and paste. The same applies the other way around. If I come across an interesting blog post in Akregator in the VNC window, I can’t just copy the link and paste it in Firefox or IE on the main workstation.
  • The only other example I can think of is the preferences I have for vim – I have customised PHP and JavaScript folding commands, which I use on all four of my linux boxes, and the three production servers that I manage. That’s seven copies each of two files. That’s a pain to keep uptodate…
  • The only thing I can think of that would work for keeping the files uptodate is to keep those specific files in an exported NFS directory on a trusted computer (trusted not to go bye-bye in the middle of an important job). Unfortunately, NFS is not secure for a list of reasons, and I cannot think of a better way. Anyone?

Aaaanyway… I also spent some time working on my bot.

As people may know, my goal is to build a bot that can do my gardening for me. While many people just point and laugh (in the building here, I’m known as “Luke Skywalker” (actually, it was Anakin that built C3P0, but correcting the misnomer would prove that I’m a little geeky)), I am of the absolute and firm belief that this is possible, and inevitable.

So, what have I done already? Nothing much, I guess. I build a shell which holds an Epia ME6000 Mini-ITX mainboard. This board has a Netgear WG311 wireless card attached, as well as two generic webcams. The whole lot is powered by a 12V acid-lead battery, connected through a PW200M power convertor.

What that means, is that I have a working computer which does not rely on any cable connections for power or networking. At the moment, I guess the coolest thing I can do with it is to plonk it down somewhere in the garden, then go inside and do some bird-watching via the cameras, on a different computer.

I guess the next thing to do is to attach some wheels to it so it will be an actual moving robot! For that, I will need some tank tracks (feel free to buy them for me 😉 ).

Once the tank tracks are attached and working, I will have a remote control robot that I can move with my laptop, and see exactly what it sees.

After that, thinks get difficult… but I’ll get to that!

4 thoughts on “syncing and bots

  1. I have the same bookmarks problem, but havent figured out what to do with it (working a custom solution ATM, but its not very pretty). Theres del.icio.us which I think sucks personally (the labelling / tagging idea is nice but the site itself and its users are a joke).I use VNC (XP at work to w2k at home) and can copy and paste text just fine). Maybe its an OS thing? Or the particular breed of VNC that you’re using?

  2. Hi Kae,Your perception of NFS is naive.I’ve never heard NFS described as slow before, that’s not even a common NFS myth. NFS is pretty fast, and can get close to wire-speed throughput. You’re pretty much bounded by your network wrt latency and throughput, NFS does a pretty much good job of making good use of whats there. So it isn’t slow – you’re unlikely to find other netfs’s which do better – unless you compare to local disk (which isn’t quite apples to oranges). And even then, it is quite possible to have NFS be faster than slow disks (at least in terms of throughput).Regarding security. It’s not actually fair to call NFS insecure. It’s actually RPC upon which the job of security falls NOT NFS. But from a user POV they are indistinguishable I guess. However, it’s still not fair to brand NFS as universally insecure, because secure RPC has been available in at least one implementation for quite a while. Note that with secure RPC you *can* encrypt all traffic, including the data. There is obviously a performance overhead for this though. The truth is: Common implementations (eg Linux) simply have not bothered to provide secure RPC support until recently. AUTH_GSS is mandatory for NFSv4, Linux now supports it finally, though it’s difficult to setup (and only Kerberos v5 is suppoorted for GSS, so you have to setup a kerberos KDC).The paper you link to is misguided in several ways.  Some of the disadvantages it lists are actually advantages of NFS (caching). Others are *very* specific to a certain NFS server implementation (eg the .nfs* files and Linux knfsd), or are generally to do with poor implementation. Further, it is quite old, implementations may have improved since then.  – locking: Naive programmes can cause data corruption if they get their locking wrong, news at 11! Further, locking protocols are widely implemented for NFS, use them.-  UID/GID syncing: This is fixed in NFSv4. For v3, you have to keep accounts synced across hosts somehow (rsync, LDAP, NIS, whatever).- Time synchronisation: If two computers disagree on time, then the time on files will be wrong from the POV of one the hosts, news at 11. Run NTP, or ntpdate/rdate regularly. – NFSv4 is a *standards track* It’s fashionable to bash NFS, however note that the bashers rarely go and implement something better. ;)–pauljPS: This editor thingy on your blog really sucks. 

  3. I’ve changed the editor thingy 🙂

    on the NFS Is Slow issue, I am most definitely not alone in this. run a search (here’s one) and you will see that. I am using sync mode because async tends to crap out and break my files. Note this quote visible on the results page "async nfs is not reliable and sync nfs is slow" – pretty clear, I think…

    maybe I should try out NFS4 then… (I’m using NFS3 server and client) – from your comment, I guess it would be lightyears better

Comments are closed.