2008/10/30

Kernel compiling speed(up)

/home/vuhung/usr/src/linux-2.6.18

make randconfig
time make
real 9m2.849s
user 8m11.189s
sys 0m57.763s


Intel(R) Xeon(TM) CPU 3.80GHz x 2
2GB RAM

2008/10/23

Thanh pho Aizuwakamatsu( Nhat Ban ) chuyen 840 may tinh sang OpenOffice

Chào cả nhà,

Thành phố Aizuwakamatsu( Nhật Bản ) chuyển 840 máy tính sang OpenOffice (
OOo).

Aizuwakamatsu đã để ý tới OpenOffice từ năm 2003. Sau nhiều lần thử nghiệm,
tính đến hết tháng 8 năm 2008, đã có 840 máy tính được chuyển thành công
sang OOo.
Dự tính đến tháng 10, sẽ chuyển tiếp 240 sang OOo.

Tất cả những tài liệu, schedule, báo cáo đều được công khai[1],
đây là một tài liệu tham khảo rất tốt cho Việt Nam.

Dưới đây là một số điểm đáng chú ý từ case study này.

1. Quá trình kiểm nghiệm OOo kéo dài 5 năm. Đây là thời gian tương đối dài
ngay cả đối với
Nhật Bản là nước có cơ sở ICT cao. Với Việt Nam, có lẽ cần thí điểm và
kiểm chứng chặt trẽ hơn.
Cụ thể xem ở dưới.

2. Lý do Aizuwakamatsu chuyển sang OOo, như họ nói: là lý do tài chính.
Theo dự toán, nếu sử dụng OOo trong 5 năm, kinh phí tiết kiệm được là
$150,000.
So với một thành phố, số tiền này chỉ bằng lương trong một năm của 2
hoặc 3 người, không phải là quá nhiều.
Nhưng nếu nhân rộng mô hình này trong cả tỉnh, hay toàn quốc. Nó sẽ là
con số đáng kể.
Con số $150,000 mặc dù không đáng kể so với Nhật, nhưng nó là số tiền
rất có ý nghĩa với một nước nghèo như VN.

3. Kinh phí chuyển sang OOo bao gồm: 3a) Huấn luyện, 3b) hỗ trợ người dùng,
3c) cài đặt+version up,
3d) huấn luyện nâng cao( cho user cao cấp ), 3e) chuyển đổi format
MS->OOo

Theo cá nhân tôi, với VN, 3a cần nhiều thời gian. 3b ở VN sẽ ít vì người
dùng ít thói quen đi hỏi!,
3c thực tế không tốn thời gian, 3d hiếm trong khi 3e sẽ là vấn đề lớn
nếu số lượng file
cần chuyển đổi nhiều.

4. Phản ứng của người dùng[2]
Đây là phần quan trọng và rất đáng tham khảo( mặc dù bằng tiếng Nhật)
74% người dùng trả lời có đủ tự tin dùng OOo.
2% nói "không thể điều khiển OOo".
24% còn lại bỏ phiếu trắng.

5. Aizuwakamatsu vẫn bỏ ra 15% kinh phí để mua những phần mềm thương mại.
# Cụ thể là những phần mềm nào không được đề cập đến.


[1]
http://www.city.aizuwakamatsu.fukushima.jp/ja/shisei/torikumi/ooo/info_index.htm
[2 ]
http://www.city.aizuwakamatsu.fukushima.jp/ja/shisei/torikumi/ooo/info_response.htm



--
Best Regards,
Nguyen Hung Vu ( Nguyễn Vũ Hưng )
vuhung16plus{remove}@gmail.dot.com , YIM: vuhung16 , Skype: vuhung16dg
A brief profile: http://www.hn.is.uec.ac.jp/~vuhung/Nguyen.Vu.Hung.html

2008/10/22

13 Awesome Javascript Animated Flash Like Menus

So why use flash for Web Menus when javascript has enough power to achieve similar effects.

Every web designer tries to be creative when it comes to designing the main navigation of the website. Today we would like to present you 13 awesome Javascript CSS menus that will be very handy and easy to modify to suit your needs. Popular javascript libraries are used: jQuery, Scriptaculous and Mootools.

Lets take a look at recent examples of these …

1. Vertical Animated Menus

1. Nice animated menu using CSS and Mootools

animated menu

This tutorial illustrates how to implement a nice animated menu using Mootoolsand some lines of CSS and HTML code ready to reuse in your project.

2. jQuery iPod-style Drilldown Menu

jQuery Plugins

A jQuery iPod-style drilldown menu to help users traverse hierarchical data quickly and with control. It's especially helpful when organizing large data structures that don't translate well into traditional dropdown or fly-out menus.

Demo can be found here.

3. MenuMatic

jQuery Plugins

MenuMatic is a MooTools 1.2 class that takes a sematic ordered or unordered list of links and turns it into a dynamic drop down menu system.

Download {Code} | Demo can be found here.

4. BDC DrillDown Menu

jQuery Plugins

The BDC DrillDown Menu is a compact, hierarchical drilldown menu implemented as a jQuery plugin. A drilldown menu takes up constant space like an accordian menu but offers the deep hierarchy of a flyout menu at the same time.

Download {Code} | Demo can be found here.

2. Horizontal Animated Menus

5. Mootools animated sidebar menu

animated menu

This tutorial explains how to implement an animated menu using mootools. You can see how it works directly from mootools site.

6.Simple Animated Menu for Mootools 1.2

animated menu

A really nice animated menu created using Mootools, with a flash hover effect of an arrow.

7.Sliding JavaScript Menu Highlight

animated menu

This sliding hover effect script is an easy method to add some flavor to your navigation. Using the CSS you can easily customize the navigation to fit your "look and feel".

8. Fancy Sliding Menu for Mootools

animated menu

The menu is developed in Mootools with a nice sliding effect on each tab.

9. UvumiTools Dropdown Menu

animated menu

A simple and lightweight menu that can be easily updated by simply editing a <ul> HTML element. Created using Mootools.

10. Superfish

animated menu

Superfish is an enhanced Suckerfish-style menu jQuery plugin that takes an existing pure CSS drop-down menu and adds Suckerfish-style hover effect. Features include: Timed delay on mouseout, Animation of sub-menu reveal, Supports the hoverIntent plugin, drop shadows for capable browsers and more…

11. AJAX Dropdown Tab Menu

animated menu

e24TabMenu is a plugin written for Scriptaculous. It is a tab menu that expands collapse smoothly.

12. Using jQuery for Background Image Animations

jQuery Plugins

Snook wrote a straignforward script to produce a nice menu background image animation. The animation needs to run when the user moves their mouse over and out of the navigation. The key thing to note is that any animation is stopped before attempting to animate again. This avoids animations queuing up from repeatedly moving the mouse in and out of the element.

13. A Sliding Menu

Animated menus

It is a very simple sliding menu using the effects provided by Interface. The defauly behavior of the menu is to hide after 1000ms (1 sec.) and to display when your mouse hovers over the "menu" label. The menu will also auto-hide after 1000ms when the mouse leaves the menu area. Most of these values, including the sliding effect, can be customized.

2008/10/15

create and export shape data to csv file


#!/usr/bin/perl

#
# an attempt to create a polygon shapefile
# ref http://lists.osgeo.org/pipermail/mapserver-users/2005-March/005414.html
#

use strict ;
use warnings;
use Geo::Shapelib ;

# points of the polygon
my @lat = (45.0, 45.0, 55.0, 55.0, 45.0) ;
my @lon = (-75.0, -85.0, -85.0, -75.0, -75.0) ;

my @verts = (
[$lat[0], $lon[0]],
[$lat[1], $lon[1]],
[$lat[2], $lon[2]],
[$lat[3], $lon[3]],
[$lat[4], $lon[4]]
) ;
my $shape = new Geo::Shapelib;
$shape->{Shapetype} = 5;

$shape->{MinBounds} = [20,-100] ;
$shape->{MaxBounds} = [80,-10] ;

$shape->{FieldNames} = ['ID', 'SPD','DIR'];
$shape->{FieldTypes} = ['Integer','Integer','Integer'];

push @{$shape->{Shapes}}, {
SHPType=>5,
ShapeId=>1,
Nparts=>0,
NShapes=>0,
NVertices=>5,
Vertices=>\@verts
};
push @{$shape->{ShapeRecords}}, [1,13,250];
$shape->dump();

$shape->save('./test.shp');

#!/usr/bin/perl

use strict;
use Geo::Shapelib qw/:all/;

my $shapefile = new Geo::Shapelib {
Name => 'stations',
Shapetype => POINT,
FieldNames => ['Name','Code','Founded'];
FieldTypes => ['String:50','String:10','Integer:8'];
};

while () {
chomp;
my($station,$code,$founded,$x,$y) = split /\|/;
push @{$shapefile->{Shapes}},{ Vertices => [[$x,$y,0,0]] };
push @{$shapefile->{ShapeRecords}}, [$station,$code,$founded];
}

$shapefile->save();



***Standalone skia***


***Standalone skia***

Skia( as known as Graphics Engine) is the graphics engined used in Chrome[1] , a technology that Google has aquired[2].

It comes as a part of Chrominum but I want to taste it as a stand-alone.
So I tried.

You need scons[8] to build skia. scons 1.1.0 is known to work.
You also need to install cairo[9]. cairo version 1.8.0 is known to work.

Just download skia standalone for linux[10], then

tar xvzf skia-standalone-2008-10-15.tar.gz
cd skia
scons -c # clean the build ( equivelent to make clean )
scons # to build ( equivelent to make )
cd examples # vi SConstruct to ensure that you have correct cairo build settings
scons # build the example.
./helloworld #run the example.
vi helloworld.cpp #for more information [12]

If now have examples/snapshot.png[11] which is an .png ping.

[1] http://gigaom.com/2008/09/02/google-open-sources-skia-graphics-engine/
[2] http://gigaom.com/2007/09/03/google-phone-facts/
[3] Skia original code http://src.chromium.org/viewvc/chrome/trunk/src/skia/
[4] Chrome is out http://www.satine.org/archives/2008/09/02/skia-source-code-released/
[5] Chrome website http://www.google.com/chrome
[6] http://www.satine.org/archives/2007/03/05/the-skia-source-code-dilemma/
[7] http://www.atoker.com/blog/2008/09/06/skia-graphics-library-in-chrome-first-impressions
[8] http://www.scons.org
[9] http://cairographics.org
[10] http://aoclife.ddo.jp/~vuhung/foss/skia/skia-standalone-2008-10-15.tar.gz
[11] http://aoclife.ddo.jp/~vuhung/foss/skia/snapshot.png
[12] http://aoclife.ddo.jp/~vuhung/foss/skia/helloworld.cpp