Tech and Academic things for Chianshin

Wednesday, July 27, 2005

How can cvs belifit computer simulation work?

How can cvs belifit computer simulation work?

We definetly need it


We definetly need it, and we need it to behave in a different way as general software development.

How to use the cvs features


Brounch


if we want to test a new phyiscal idear, we can use braunch.

Because it is a tempery development. If the idear is OK, then merge the braunch into main tree. If the idear is unvalid, then just discard the braunch.

To distinguish the two different parament simulation case, we can just use MACRO to identify them in compling time. we have no need to maintein two braunch just because the different parament cases. And in genral, these kind of parament case is permenent delepment case, they will exist from the beginning of the work to the end, such as a test case and a turely computational case. So it is not suitable for braunch.
The work that should use brounch is the work has perment property.

tag


In general develpment, we use tag to indicate a version. so at first we discuss something about version in numerical simulation.

versions in numerical simulation


Here is a exmple of a version define in simulation work.

Devided into VRBD four levels



V Version
- implemention method and technology

R Release
- physical goal

B Build
- foot stone in implemention plan of the physical goal

D Debug
- neccesary test build


version plan



V01

purly fortran edition

V02

using OOP method method, implemented in C++

R01

2D simulation

B01

construct the frame work, no detail log and ignore scheme, other things OK. test parameter input and result output

D01

implement the frame work

D02

init distribution

D03

fix xxx bug



B02

detail log and full scheme, it can produce full 2D result




R02

3D simulation




So as to version V02R01B01D02 or 2.1B01D02 is a version for 2D simulation. it can only get the initial distribution, and it still have the xxx bug.

And in numerical simulation, the tag feature should be used much more frequently than general software development work. Beacause it can also used to indicate the important simulation case.

Tuesday, July 19, 2005

How can I worked with the softwares?

How can I worked with the softs?

Brief Discribtion



I worked on Windows. Windows is easy to use, but it is too easy for me to waste time on browsing internet or music on it, not work on it. I have to force myself to work , when working on Windows, but when working on linux, I have to work because it is not convinient to play on it.



And I always use two machine, one LinuxBox one Windows, sit down before the windnows machine, using windows to code and Read&Write documents. The linux box is always acted as a server: CVS server is placed on it, and linuxBox also do compiling and computational work.



Detail Software List


Windows2000/WindowsXp:



Prgraming Tools:


C++ Coding: Visual Studio, Slickedit; //I have already swith to Visual Studio Visual C++ Express Edition, it is free and can fullly satify my requiment; and it has even get some sourceInsight feature, like call grach. But it is not very beautiful. But finally I still switch back to old visual studio 6.0, buy a expensive visual studio 2003 to act as a editor is too expensive. I am trying eclipse, but i still think it is not so good. And visual assistant is a good tool for C++ coding. And now i am trying to switch to Emacs, the only reason is that it is free, and I can used it on almost all the plateform. The new Visual studio is slow on old computer, but it is still very good, but the Visual studio 6.0 plus visual assistant is very good. I think I will acted on it for a very long time. After I buy a new computer I think I will try to use new Visual Studio2005.

Java Coding: Net Beans, Eclipse, Visual Age for Java; // I like Visual Age for Java. It's the second Programming Tools(The first is Turbo Pascal 6.0) I used. Though, it has finished. But I can say without hesitation, until now no Programming Tools can compare with it. OOP/RAD/VersionSystem... So many techlonogy has been implemented in it. And it is easy to start, not so complex. Now I am using Eclipse, the GUI design, UML2 and Model design tools and the software update feature makes me more and more like it.

Fortran Design: Compaq Visual fortran; Emacs+G95; I used to use the first one, but because it is not free, and I do no computation on windows. So now I am in the process of switching to Emacs+G95. But I do not know the exist of the GNU fortran 90/95 for a long time, it is so regret. And I use G95 as the compiler test on windows
UMl digram: Together; //I used to use Rose, but it is not good at code generate and get diagram from code. Rose will insert some Junk-Comment into code while do code generation, maybe it has been improved in late version, but i am using together now; I plan to change to a free UML diagramer. Then I can work entirely on free software, I did not pay for together and use it unlegally, I hope borland would not try to see me befor the iudge before I find a good free soft. Eclipse is still not good at C\C++, But I have to work on C\C++. But maybe the UML2 in Eclipse is also a good choice.

CVS GUI: WinCVS; //it also tell me how to use cvs. I start to notice Subverstion system, and its GUI software on Win32. I guess this kind of client software will all be replaced by Java, because not very complex, no concurrent process.

Compare&Merge: WinMerge, Beyond compare still seems more professional; //Beyond compare is OK, but WinMerge is Free.

DataLang: Matlab/IDL; // Malab is free in our university, In our field IDL is very popular, but i still did not get a lisence to use it.

Algebra: Mathematica; //I am using mathematica. But it is said that Maple is also good.

FTP server: FileZilla Server, warftpd; //warftp is also OK, but i did not like its homesite, so i switch to fileZilla. Project on SourceForge give us confidence to the project.


NetWork:


WWW: Internet Explore, Mozilla; //I like the netscape communicator style navigating interface.

Offline: WinHTTrack; //it provide a index page to navigate all the website that have been downloaded.

FTP/SFTP: WinSCP;//it's free.

SSH: PuTTY;//it's good, SecretCRT is good and can support script lang, but cannot display color.

Download: flashget.

X server: X-win32/Xming; // X-win32 is not free, but it have a feature StarNetSSH, I like it. Xming is very good software.

Virus: McAfee /Norton; //McAfee is free in our university, but i like to use symantec AntiVirus Corporation.

Doc:


Text : notepad++ // it is really easy to use, nothing to worry. And it is beautiful.
Common Doc: Office 2003// it is necessary, we have to use it; and we have to say office2003 is a great version. easy to use and beautiful. Now I often use open office, I like its auto complete feature. I was not good at spelling. This auto completing feature helps much, and the other feature like good performance and friendly interface also make me like it. And open office is free. I like it.

Tex IDE: TeXnicCenter/Emacs // it is good, but it also cannot support all the feature of Latex. I am also trying to swith to Emacs

Latex: MiKTeX // though the final compiling work is done on linux box, but on windows we also has a compiling enviroment.

Reference: JabRef,EndNote; JabRef is very good, and entirely written by Java. It is the first Desktop software the I(a Java funs) really like. But either MS Offie nor starOffice can work with the bib system in Latex, so the result in JabRef cannot be shared in Office software. But endNote can be used in MS office, what's regret is that it is not free.

PDF: Acrobat 7.0 // the full version of acrobat is usefully. but in lab I only use acrobat reader. because it is free.

Linux:


WidnowsManager: Fluxbox, mwm, kde&Gnome // using fluxbox is very easy. Kde is used in native envioment on RH7 sytem. But in later Fedora system I prefer Gnome. FVWM maybe better for professional user, but I think it is hard to use. And windows Enviroment like kde has prepared a good enviroment for us, and we can use it freely, efficient. We do not need to reconfig fvwm to make it work well and efficient.

Text EditEmacs, Vi //by and by I more and more found emacs is a good enviroment.

Common Usage: Wget, gcc 4.0.

MPI: LAMMPI/MPICH/OpenMPI // i am mainly using LAMMPI.

Version Control: CVS, subversion System; // i haved used CVS, but I now I am also look at Subversion system.

Conclution/Rules in software working enviroment


1, spend time to learn the tools, it will save time in future.

2, Now I did not working on large software designing. I am using slickedit on linux and windows to do the coding work. When I doing little modification on the code, I am using emacs, which is really a nice/smart tool.


3, Just as Language, we should not use all the features of one software. Just use the features we need, and get familiar with these features.

4, As to develop tools, using enterprise level soft, it will help us to get good working style.

5, As to uilities, using free software(GNU/GPL). They are easy to get from network and no boring cracking process.


TodoList in working enviroment improvement:



Completed Task



  1. emacs display a very beautiful face on linux: gray-green backgroud, and gray-yellow forgroudn font. But on windows, emacs still display a black-white face. How can I get a linux style face on windows? -- I have got it. Thanks for Li, Dahang to reply in groups. -- But i switch back becaue I found that my define of the colore always make me confusing when use the default colore from Emacs to highlight the program source code.



  1. gcc, gFortran; I want to use gGfortran, then i avoid compiling fortran code on my own linux machine, instead of logon to others machine and compile fortran by pggroup soft. I cannot install a gFortran on alpha machine, but the linux i am using is a Alpha machine. how can i do?-- now i compile it on windows uisng G95.

Friday, July 08, 2005

target of space plasma physics

What will space plasma to?

How to resolve the physical property of a system composed of many parts like dust, particle, atom... ? Connectting the Micro and Macro physical property of the objects is the task of statisic physics, but until now, it can only tell us the property in stable-equivilem status. As to unstable, nonequivelence system, the process of a system change from one stable status to another stable status according to the change of the enviroment, which always include some the unstable status, or the tiny shiftment from the stable status that can have critical effect in macro scopic, nowdays stastic physics can not help us. It can not discribe unstable system and the tiny shiftment fromt the stable status always been ignored. Now people are working in these two directions, developing some method to discrible nonlinear dynamic problem, which is critical to discrible unstable system, and indentifying important tiny shiftment from the stable status and take it into account. These method are new method to couple the micro and macro scopic problems, which can help people to understand some natural phenomenon which has puzzled people long time.

Space plasma physics should be a filed that can produce some excited discovery in these field. Space Plasma has many puzzle phenomenon concerning to the coupling of the micro scopic and mocro scopic, and we can have satelllite to observe these phenonmenon in detail, unlike some other field probe will destroy the phenomenon itself. Though the sapce program is expence, it give scientist great chance to understand it and reveal the puzzle behind the phenomenon. So space sci. may be a field that help people develop new stastic physical method.

That's why we do research in field: space plasma physics.
-----------------------------------------------------
the above is somtthing not matual; but i just write it and i will improve these ideas and implemente the ideas in research. I hope good luck.