7.12.11

Chuẩn hóa xâu nhập họ tên

public static string FormatProperCase(string str)
        {
            CultureInfo cultureInfo = new CultureInfo("vi-VN");
            TextInfo textInfo = cultureInfo.TextInfo;
            str = textInfo.ToLower(str);
            // Replace multiple white space to 1 white  space
            str = System.Text.RegularExpressions.Regex.Replace(str, @"\s{2,}", " ");
           //Upcase like Title
            return textInfo.ToTitleCase(str);
        }

4.10.11

Tạo key

Visual Studio Command Prompt
makecert -r -pe -a sha1 -n "CN=KeyName" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -ss My

24.3.11

Row footer trong Xtragrid

1- Gridview/OptionView: ShowFooter = true
2- Columns/SummaryItem: Xác lập displayformat, summaryType

20.7.10

Tên của các cơn bão

Tên của các cơn bão được Tổ chức khí tượng thế giới (World Meteorological Organization) đặt trước, tùy các vùng khác nhau mà có các danh sách khác nhau, cách sử dụng các danh sách cũng khác nhau.
Riêng đối với vùng Tây bắc Thái bình Dương danh sách bão được đặt như sau :

Western North Pacific Names

Contributor I II III IV V
Cambodia
China
DPR Korea
HK, China
Japan
Lao PDR
Macau
Malaysia
Micronesia
Philippines
RO Korea
Thailand
U.S.A.
Vietnam
Cambodia
China
DPR Korea
HK, China
Japan
Lao PDR
Macau
Malaysia
Micronesia
Philippines
RO Korea
Thailand
U.S.A.
Vietnam
Damrey
Haikui
Kirogi
Kai-Tak
Tembin
Bolaven
Sanba
Jelawat
Ewiniar
Malaksi
Gaemi
Prapiroon
Maria
Son-Tinh
Bopha
Wukong
Sonamu
Shanshan
Yagi
Leepi
Bebinca
Rumbia
Soulik
Cimaron
Jebi
Mangkhut
Utor
Trami
Kong-rey
Yutu
Toraji
Man-yi
Usagi
Pabuk
Wutip
Sepat
Fitow
Danas
Nari
Wipha
Francisco
Lekima
Krosa
Haiyan
Podul
Lingling
Kaziki
Faxai
Peipah
Tapah
Mitag
Hagibis
Neoguri
Rammasun
Matmo
Halong
Nakri
Fengshen
Kalmaegi
Fung-wong
Kanmuri
Phanfone
Vongfong
Nuri
Sinlaku
Hagupit
Jangmi
Mekkhala
Higos
Bavi
Maysak
Haishen
Noul
Dolphin
Kujira
Chan-hom
Linfa
Nangka
Soudelor
Molave
Goni
Morakot
Etau
Vamco
Krovanh
Dujuan
Mujigae
Choi-wan
Koppu
Ketsana
Parma
Melor
Nepartak
Lupit
Mirinae
Nida
Omais
Conson
Chanthu
Dianmu
Mindulle
Lionrock
Kompasu
Namtheun
Malou
Meranti
Fanapi
Malakas
Megi
Chaba
Aere
Songda
Sarika
Haima
Meari
Ma-on
Tokage
Nock-ten
Muifa
Merbok
Nanmadol
Talas
Noru
Kulap
Roke
Sonca
Nesat
Haitang
Nalgae
Banyan
Washi
Pakhar
Sanvu
Mawar
Guchol
Talim
Doksuri
Khanun
Vicente
Saola


Việc sử dụng được diễn ra tuần tự Ví dụ cơn bão cuối cùng của năm trước là Utor thì cơn bão đầu tiên của năm sau là Trami. Sau vài năm các danh sách có thể được đặt lại

14.6.10

Hot WorldCup 2010















8.3.10

Người phụ nữ cô đơn

Mùa hè nọ tôi có dịp làm quen với một khách du lịch người Pháp, là một người đàn ông Paris. Chúng tôi nói chuyện với nhau về chính trị, về văn hóa Đông – Tây… Thế rồi, theo bản chất đàn ông, lại quay về phụ nữ. Cùng nhau trò chuyện mới vỡ lẽ ra là vẫn còn quá nhiều điểm khác biệt trong quan niệm về những chuyện dở và hay…
– Người phụ nữ hay – người đàn ông Pháp nói – là người có chồng và có người tình.
– Thế à? Tôi ngạc nhiên. – Thế mà tôi nghĩ rằng đấy là người phụ nữ dở.
– Không phải. Người phụ nữ dở là người chỉ có người tình.
– Còn tôi thì lại nghĩ rằng đấy là người phụ nữ hư hỏng.
– Người phụ nữ hư hỏng là người không có ai cả.
– Thế mà tôi lại nghĩ rằng đấy là người phụ nữ cô đơn.
– Không phải. Người phụ nữ cô đơn là người chỉ có chồng.
Ta hãy cạn chén mừng, chúc cho những người phụ nữ cô đơn!

12.1.10

Cấu hình 1 Network Card nối WAN, 1 Network card nối một Network khác

1. Cấu hình 1 card mạng như bình thường, chọn default gateway cho card mạng này.
2. Đối với card mạng nối WAN dùng lệnh(Giả sử mạng WAN này có IP dạng 192.168.x.x, gateway ra WAN là 192.168.1.250):

route add 192.168.0.0 MASK 255.255.0.0 192.168.1.250

22.12.09

Điên thế

9.10.09

Độc ẩm

Rượu nồng,
độc ẩm trong đêm
Vơi bình rượu,
đã đầy thêm bóng người
Nhìn trăng,
trăng lẻ bên trời
Dưới này,
ta lẻ,
một đời yêu em...

17.8.09

Dataset To XML và XML to Dataset, Object To XML và XML to Object

Khi cần chuyển dữ liệu qua webservice, do yêu cầu bảo mật dữ liệu, ta có thể mã hóa dữ liệu cho từng trường, nhưng như vậy cấu trúc dữ liệu vẫn có thể bị lộ. Giải pháp là chuyển dữ liệu về dạng XML (chuyển hẳn về dạng string) và sau đó convert lại. Sau đây là các hàm convert cực đơn giản để phục vụ việc này:

Dataset To XML và XML to Dataset

public static string DataSetToString(DataSet ds)

{

StringWriter stringWriter = new StringWriter();

ds.WriteXml(stringWriter);

return stringWriter.ToString();

}

public static DataSet StringToDataSet(string str)

{

DataSet ds = new DataSet();

try

{

XmlDocument doc = new XmlDocument();

doc.LoadXml(str);

ds.ReadXml(new XmlNodeReader(doc));

}

catch { }

return ds;

}

Object To XML và XML to Object

public static object Xml2Object(string xml, System.Type objType)

{

StringReader stream = null;

XmlTextReader reader = null;

try

{

// serialise to object

XmlSerializer serializer = new XmlSerializer(objType);

stream = new StringReader(xml); // read xml data

reader = new XmlTextReader(stream); // create reader

// covert reader to object

return serializer.Deserialize(reader);

}

catch

{

return null;

}

finally

{

if (stream != null) stream.Close();

if (reader != null) reader.Close();

}

}

public static string Object2Xml(object obj)

{

MemoryStream stream = null;

TextWriter writer = null;

try

{

stream = new MemoryStream(); // read xml in memory

writer = new StreamWriter(stream, Encoding.Unicode);

// get serialise object

XmlSerializer serializer = new XmlSerializer(obj.GetType());

serializer.Serialize(writer, obj); // read object

int count = (int)stream.Length; // saves object in memory stream

byte[] arr = new byte[count];

stream.Seek(0, SeekOrigin.Begin);

// copy stream contents in byte array

stream.Read(arr, 0, count);

UnicodeEncoding utf = new UnicodeEncoding(); // convert byte array to string

return utf.GetString(arr).Trim();

}

catch

{

return string.Empty;

}

finally

{

if (stream != null) stream.Close();

if (writer != null) writer.Close();

}

}

5.8.09

Cầu Mirabeau - Le pont Mirabeau

Tác giả:Guillaume Apollinaire
Người dịch: Phan Cẩm Thịnh

Dưới cầu Mirabeau êm đềm trôi dòng Seine
Trôi cả tình yêu của anh và em
Không biết anh có còn nên nhớ
Niềm vui sẽ đến theo sau nỗi ưu phiền

Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh

Mặt đối mặt và tay trong tay nhau
Vòng tay ta như cầu
Dưới cầu dòng nước chảy
Ánh mắt rã rời vì li biệt dài lâu

Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh

Tình ra đi như dòng nước trôi nhanh
Tình yêu của em và anh
Cuộc đời ơi, sao mà chậm rãi
Hy vọng sao mà dữ dội cuồng điên

Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh

Vẫn trôi đều ngày tuần, tháng năm
Quá khứ và tình yêu quay trở lại không còn
Chỉ một điều không bao giờ thay đổi
Dưới cầu Mirabeau êm đềm trôi dòng Seine

Giờ cứ điểm, đêm cứ đến gần
Tháng ngày trôi, đây vẫn còn anh

Binding DateTime with CultureInfo

Khi binding các trường có kiểu datatype là datetime thì thường báo lỗi không convert được kiểu string sang kiểu datetime. Cần convert theo CultureInfo tại sự kiện item updating

protected void DetailView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)

{

e.NewValues["ExpireDate"] = DateTime.Parse

((string)e.NewValues["ExpireDate"]).ToString(CultureInfo.InvariantCulture);

}