more fui hacking, ncurses, precious stones and reptiles abound

21Nov08

I was a bit surprised to find out that Nautilus is unable to undo its cut/copy/paste actions. It gave me an idea for implementing an undo command in fui. I got a bit bored with hacking fui, probably because my ideas for improving it had dried up. So far, I have added a logging function where fui keeps a temporary file recording all its copying and moving actions. The next step is to properly write an undo function to delete copied files or move files back to whence they came. Oh, and I did forget about exception handling with regards to duplicate files–currently, fui will just fail if you try to copy a file to a directory with a file of the same name. Perhaps I should include an option for replace/skip?

Before I became interested in Ruby (more on that later) I had been playing around with the ncurses module in Python. Uselesspython.com has a good starter script which I played around with a bit. I had a look in this area a few months ago, except I was reading this old tutorial which is rather more difficult for one’s mind to digest. I could write something ncurses-based for fui, but I don’t really see what can be done for it. It is the Fake User Interface, after all. 😉 If I keep adding more to it, it will end up as just another ncurses file manager, which, although nice, is probably not the most useful of applications to write when plenty of good alternatives exist.

So, what happened to Ruby… well, I think I’m just lazy–too lazy to learn something new. I read a lot more tutorials and the concepts in Ruby seem rather neat to me but I miss the familiarity I have with Python. I tried to write a function to detect primes in Ruby, but I don’t think I’ve fully grasped the implications of an object-oriented approach…. I avoid it whenever I can in Python.

Having said that, I’m happy to say that the difference in speed between Ruby and Python is not so great as to make me shirk from Ruby. It’s mostly the same, really.

Advertisements


%d bloggers like this: