Thứ Ba, 26 tháng 7, 2011

A glimpse at our developer community: Oracle tops on dev contribution

http://blog.documentfoundation.org/2011/07/26/a-glimpse-at-our-developer-community/

Ngược lại với phỏng đoán của mọi người,
Oracle vẫn là *công ty* đóng góp nhiều nhất vào LibO.
Như vậy, có lẽ Apache OpenOffice sẽ tự tiêu tự hủy.
Trong danh sách dưới đây, "Unknown" nghĩa là người đóng góp tự do.

Employers with the most developers (total 300)

    (Unknown): 205 (68.3%)
    Oracle: 54 (18.0%)
    SUSE: 20 (6.7%)
    Known contributors: 9 (3.0%)
    Canonical: 4 (1.3%)
    Redhat: 2 (0.7%)
    SIL: 2 (0.7%)
    CodeThink: 1 (0.3%)
    Bobiciel: 1 (0.3%)
    Lanedo: 1 (0.3%)
    Tata Consultancy Services: 1 (0.3%)

Chủ Nhật, 24 tháng 7, 2011

Quản lí process trong Linux

Do gặp lỗi khi sử dụng vncserver, yêu cầu phải tắt process manually, em đã tìm hiểu về cách manage process trong linux.
Tham khảo tai trang web: http://www.cyberciti.biz/faq/show-all-running-processes-in-linux/

1. Kill process của vncserver bằng tay (áp dụng khi kill theo 2 cách đã liệt kê không thành công)
- Tìm pid (process id) của vnc đang chạy:ông
[thamht@MHST11-08 ~]$ pgrep vnc
4093
4101
25560
32083
- Xem thông tin của pid (để chắc chắn process này là process cần xử lí):
[thamht@MHST11-08 ~]$ ps 4093
PID TTY STAT TIME COMMAND
4093 ? S 0:00 Xvnc :4 -desktop MHST11-08:4 (tatung) -httpd /usr/share/vnc
- Kill process
[thamht@MHST11-08 ~]$ sudo kill 4093

Thứ Bảy, 23 tháng 7, 2011

Tổng hợp Easy Hack

Tính tới hiện tại thì team đang chạy 3 Easy Hack
1. Bug 34697 - [EasyHack] no option Print Current Page on dialog Print --> Tùng
https://bugs.freedesktop.org/show_bug.cgi?id=34697

Easy Hack này đã được giải quyết để LibreOffice hoạt động đúng như OpenOffice từng làm là cho luôn trang hiện tại vào text box của Page Range. Hiện tại đang thử để cho thêm một radio button kiểu Current page vào nữa.
--> Đã cho được radio button nhưng đang bị lỗi bắt event khi check radio button.

2. Bug 36800 - EasyHack: [Calc] "Find & replace" does not search single cell --> Hà
https://bugs.freedesktop.org/show_bug.cgi?id=36800

Hiện tại đã tìm được code pointer của easy hack và đang tiến hành điều tra nguyên nhân gây lỗi để sửa.

3. Bug 37775 - [EasyHack] Recent Documents not updated by Save & Save As...
https://bugs.freedesktop.org/show_bug.cgi?id=37775


Hiện tại chưa làm j được khác ngồi đọc source code và chạy debug để tìm ra module cần sửa. Có thể phải chạm đến code java (theo như em đọc source code thấy vậy)

Thứ Năm, 21 tháng 7, 2011

config VNC (Virtual Networked Computing)

A. Config VNC trên server.
1. Check xem đã cài vnc & vnc server chưa.
[thamht@MHST11-08 sysconfig]$ rpm -qa | grep vnc
vnc-server-4.1.2-14.el5_6.6
gtk-vnc-python-0.3.8-3.el5
gtk-vnc-0.3.8-3.el5
vnc-4.1.2-14.el5_6.6
Nếu chưa có thì dùng yum để cài.

2. Thêm vào file /etc/sysconfig/vncservers như sau (cứ 2 lines set cho 1user)
VNCSERVERS="1:mhst1108"
VNCSERVERARGS[1]="-geometry 800x600"
VNCSERVERS="2:thamht"
VNCSERVERARGS[2]="-geometry 800x600"

Setting như trên tức là server sẽ lắng nghe user mhst1108 tại cổng 5901, user thamht tại cổng 5902 (tự động cộng thêm 5900).

3. Đặt passwd
[thamht@MHST11-08 sysconfig]$ vncpasswd
Password:
Verify:

4. Để có thể view bằng graphical desktop thay vì terminal, có thể làm như sau:
sudo vi /etc/.vnc/xstartup
- thay "twm &" thành "startkde &"
- uncomment 2 dòng dưới đây:
# Uncomment the following two lines for normal desktop:
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
thành
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

6. Start vnc server
[thamht@MHST11-08 sysconfig]$ vncserver :2

B. Trên client computer
1. check xem đã cài vnc chưa
[thamht@thamht]$ rpm -qa | grep vnc
2. Start vnc viewer
[thamht@thamht]$ vncviewer 119.15.161.28:5902
Lúc này, cửa sổ yêu cầu nhập passwd hiện ra. Nhập passwd vào là xong.

C. Stop vncserver.
Có 2 cách:
[thamht@MHST11-08 sysconfig]$ vncserver -kill :2
Killing Xvnc process ID 3961
Hoặc
[thamht@MHST11-08 sysconfig]$ /sbin/service vncserver stop
Shutting down VNC server: 2:thamht [OK]

Để tắt trên client, chỉ cần đơn giản là Ctrl + C trên terminal hoặc tắt cửa sổ vncviewer.

Thứ Ba, 19 tháng 7, 2011

Build Error

cd bootstrap
./g pull -r
sh mhst-config.sh

Lỗi như sau:

 it seems you are using a threaded build, which means that the
 actual compile error is probably hidden far above, and could be
 inside any of these other modules:
     setup_native vcl
 please re-run build inside each one to isolate the problem.




Cách sửa: cd vào từng folder và build (make -r hay build) lại

Thứ Hai, 18 tháng 7, 2011

Code editor

Mấy hôm nay thấy team dùng chủ yếu 2 text editor chính là vim với gedit. Nhìn chung cả 2 đều có ưu điểm, nhược điểm riêng. Nhân đang ngồi chờ make clean, mình viết cái này hướng dẫn tùy biến 2 text editor này sao cho thuận tiện (đối với việc code)
1. Vim


Một trong những điểm mạnh của Vim so với gedit chính là hầu như khi dùng vim, ta ko cần phải dùng chuột do hệ thống phím tắt của Vim là quá đủ dùng rồi :D Tuy nhiên, mặc định Vim không hỗ trợ mở file theo tab, dẫn đến phải mởi nhiều cửa sổ Vim một lúc. Để mở thêm file theo dạng tab, ta có thể gõ ":browse tabnew" (ko có dấu ngoặc kép), rồi sau đó tìm đến file cần mở. Cái này dùng cho GVim, còn dành cho Vim thì hình như chỉ cần gõ :tabnew. Mọi người đọc thêm ở link này về cách sử dụng tab trong Vim
http://www.quantrimang.com.vn/hethong/linux/35173_Meo-nho-voi-Vim-su-dung-cac-tab.aspx


Ngoài ra, vim cũng hỗ trợ save các file trong một session bằng lệnh:
:mksession ten_file_session.vim


Khi muốn mở lại thì trước hết ta mở vim lên, rồi gõ
source ten_file_session.vim


Các file của session trước đó sẽ tự động được mở ra.


2. Gedit




Gedit khá thân thiện với người dùng. Bên cạnh đó Gedit cũng hỗ trợ nhiều plugin rất hay:
sudo yum install gedit-plugins

Sau khi cài xong cái kia thì vào edit/preference/plugin. Check vào các plugin cảm giác là cần thiết. Có thể là cái Session save, hỗ trợ save session --> ko hiểu sao chưa chạy được :))

Ngoài ra, Gedit còn có nhưng cái kiểu như left panel chuyên hiển thị cây thư mục, bottom panel thường dùng là Terminal --> make trên terminal này luôn :D

Vào View để tìm hiểu thêm nhé :x

Lines of code in LibreOffice

Tính đến thời điểm này, LibreOffice có 5.4 triệu dòng code, phần lớn là C++, cụ thể như sau:

cpp,        4657231 ,86.43%)
java,        393364 ,7.30%)
ansic,       113417 ,2.10%)
pascal,      102596 ,1.90%)
perl,         66205 ,1.23%)
sh,           16848 ,0.31%)
python,       16289 ,0.30%)
yacc,          7970 ,0.15%)
cs,            6644 ,0.12%)
asm,           2941 ,0.05%)
objc,          2113 ,0.04%)
lex,           1582 ,0.03%)
awk,            845 ,0.02%)
php,            254 ,0.00%)
csh,            253 ,0.00%)
lisp,           115 ,0.00%)
sed,              9 ,0.00%)

htop khi build LibreOffice

Có vẻ như khi build LibreOffice, make chỉ ăn nhiều CPU chứ không ăn RAM :)

                                                                     
                                             
  $htop
  
  1  [||||||||||||||||||||||||||||||||||||||||||||||100.0%]     Tasks: 180, 26 thr; 10 running
  2  [||||||||||||||||||||||||||||||||||||||||||||||100.0%]     Load average: 8.94 4.36 2.87 
  3  [||||||||||||||||||||||||||||||||||||||||||||||100.0%]     Uptime: 15:20:21
  4  [|||||||||||||||||||||||||||||||||||||||||||||||99.3%]
  5  [||||||||||||||||||||||||||||||||||||||||||||||100.0%]
  Mem[|||||||||||||||||||||||||||||||||||       480/3034MB]
  Swp[                                               0/0MB]

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command                                                        
 3311 vuhung    25   0 70696 65956  5712 R 56.0  2.1  0:02.26 /usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1plus -quiet -I../st
 3330 vuhung    25   0 68148 63108  5732 R 33.0  2.0  0:02.00 /usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1plus -quiet -I../st
 3289 vuhung    18   0  971M 39100  8492 S 27.0  1.3  0:01.18 /bin/sh /usr/bin/ant -Dbuild.label=build-350m1(Build:0) -Dant.b
 3493 vuhung    17   0  971M 39100  8492 R 22.0  1.3  0:00.79 /usr/lib/jvm/java-1.6.0-openjdk/bin/java -classpath /usr/share/
 3540 vuhung    15   0  971M 39100  8492 S  5.0  1.3  0:00.36 /usr/lib/jvm/java-1.6.0-openjdk/bin/java -classpath /usr/share/
 3023 vuhung    21   0 31776  1376   868 S 19.0  0.8  0:00.04 sh ../configure --disable-debug --enable-optimize --with-dist-p
32751 vuhung    15   0  9568  1272   920 R 18.0  1.0  0:00.34 htop
 3540 vuhung    15   0  971M 31680  8364 S 15.0  1.0  0:00.28 /usr/lib/jvm/java-1.6.0-openjdk/bin/java -classpath /usr/share/
 2809 vuhung    15   0 86268 80460  5756 R 13.0  2.6  0:03.08 /usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1plus -quiet -I../st
32751 vuhung    15   0  2568  1272   920 R  1.0  0.0  0:00.33 htop
 3023 vuhung    24   0  2776  1372   868 S  0.0  0.0  0:00.02 sh ../configure --disable-debug --enable-optimize --with-dist-p
 3306 vuhung    25   0 44808 38688  5580 R  0.0  1.2  0:01.01 /usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1plus -quiet -I../st
 3523 vuhung    25   0 24152 16344  3452 R  0.0  0.5  0:00.12 /usr/libexec/gcc/i386-redhat-linux/4.1.2/cc1plus -quiet -I../st
 2226 root      RT  -5     0     0     0 S  0.0  0.0  0:01.80 bzip2 -cd /libo/vuhung/000.git/bootstrap/src/b4cae0700aa1c2aef7

Chủ Nhật, 3 tháng 7, 2011

FOSS posting style

Chú ý khi email cho libo - đây cũng là luật chung của các nhóm FOSS

1. Plain text email
2. Bottom post
3. Trim
4. Quote

Xem: http://en.wikipedia.org/wiki/Posting_style