Sunday, April 5, 2009

[Linux] Synchronizing directories in both directions using unison

[Referred from http://textmode.at/2008/4/21/data-synchronization-with-rsync-and-unison]

Unison allows you to create profiles for different tasks, in this example I want to synchronize my opera configuration. A profiles goes into a file ending in .prf in the ˜/.unison directory, for example ˜/unison/opera.prf:

times=true
prefer
=newer
root
=/home/solars/.opera
root
=ssh://slave//home/solars/.opera
ignore
=Path images*
ignore
=Path *cache*
ignore
=Path mail*

  • prefer = newer means newer files should always be preferred
  • root = lines indicate the directories to synchronize (note the SSH path)
  • ignore = Path .. ignores the given path

Now you can run it simply with unison opera.

_________________________________________________

My experiment:

I use unison to synchronize data from server to my desktop. So, the program unison must be installed on that server. We can download source file of unison at http://www.seas.upenn.edu/~bcpierce/unison/. Fortunately, the required package, ocaml, is installed before in the server, and the unison is compiled completely. After that, we copy unison to "~/bin" and re-export the PATH enviroment (in server). Note that, all of these works can be done with a normal user permission.

Tuesday, February 10, 2009

Ideas

1. YM, Pidgin,...
- When someone logs on to YM or Pidgin, our status will change to be visible for him/her.
2. Tool for supporting to write a kind of paper
For example, when writing a scientific paper, we usually base on some key questions. The format of paper is also a problem to a novice. We can develop a tool to support that information, and it reduces the time of writing papers. Sound good.
3. Virtual brain.
I'm thinking about this, because I don't want to remember too much, but I also don't want to miss any important events. So, a solution is using a service to remember them for us. Our brain will be free for creation. The question is where's our "virtual brain"? If these data is stored in one or several servers, what will we do if the connection to them is lost? What's about security?. The small devices like rings, glasses or electrical clocks seem to be suitable. In these devices, a software is embedded to support users. The wireless technology is applied here to make a connection to other digital devices, such as computers, mobiles,etc. With this device, we've just remembered a few actions: charging its power (feed it) and always bringing it beside us.
In the past, we use paper to save the important things. Now or in near future, we use electrical devices to do that, but with an extension of embedding actions associated with the saved data.
"An old pot but new wine"
4. Multi-kernel operating systems for Multiprocessor machine

5. Multi-user on one computer (funny idea).
We have multi-processor system. We can plug some keyboards, mouse devices, screens, etc. to our computer. But only one user can use all of these devices at the same time. I'm thinking about Operating system that supports multi-user on this system. For example, at the present, only one window is activated. Why are two or more windows activated? If it happens, some users can use this system at the same time :D. Let's imagine some people sitting front of a computer, they are sharing screen, but working in different windows, textbox; they're typing at the same time, play the same game,... I think it's great and funny in some cases. Funny things sometimes are "stupid" things.

6. Tagging Filesystem
.
Traditionally, we often organize and categorize files based on naming and locating them in directories. This is considered as one-tag Filesystem. Now, we extend to multi-tag Filesystem (or Tagging Filesystem) for easily searching, storing files in the system. By doing this, users have to remember tags (similar to remembering names of directories), but we can make connections or relationships among files in a particular topic.

7. Supporting phase-scheduling strategy to prioprity scheduler for parallel computing problem.

8. Building flexible control flow in OS (Linux as an example).

Wednesday, June 25, 2008

Idea on embedded OS

When I build Linux for embedded system, there are problems related to size of built-in kernel image. Linux image is often large. So, I think about idea of reducing the size of kernel dynamically at runtime depending on applications.