Thứ Hai, 14 tháng 12, 2009

Prezi – The zooming presentation editor

Thứ Hai, 14 tháng 12, 2009
Just a little new thing I got when I attended BarCamp Saigon 2009. Prezi is a online presentation tool. It’s fancy, but maybe you need spend more time on learning how to use it.



Link : http://prezi.com/

Thứ Bảy, 17 tháng 10, 2009

Touch - Chạm

Thứ Bảy, 17 tháng 10, 2009

7818_1258053893593_1297016886_762212_5966194_n

Chạm – giữa đống cập nhật tin tức hỗn loạn của facebook, email trong Inbox facebook bỏ quên lúc nào không hay, bạn viết cái thư dài hỏi thăm, thư gửi từ tuần trước.
Chạm – đêm khuya lắc, 3 người ngồi nói về mình như thể đã quen lâu lắm rồi, tới lúc về nhận được tin nhắn của nhau “khoe” bị la như thế nào, phì cười vì còn lên lịch sẵn cho ngày mai, vẫn chưa chừa : ))
Chạm – khoác tay nhau, nhảy cùng 1 nhịp, gào cùng 1 nhịp, loạng choạng đứng không vững, ngày hôm đó không nói nhiều nhưng đồng cảm nhiều, cùng Ển và Rau Răm.
Chạm – em gái mới quen, nói chuyện hồ hởi, nắm tay mình, khẽ siết tay đáp lại, em nắm chặt hơn tí nữa, lần đầu gặp mà có cảm giác như chị em vậy.
Chạm – ngày chở thầy đi ăn, đàm đạo chuyện kiếm hiệp , bb MTH đi du học , thầy vỗ vỗ vai : “Đi từ từ thôi em, ai chà chà, anh hùng xa lộ hả” – “Em đi chậm mà thầy T.T” –“Cộc, cộc, cộc”- thầy gõ vào mũ bảo hiểm mình: “Giá tui có đứa con gái giống vầy hen”…
Chạm – “Ôm mày một cái tạm biệt coi” – “Tao cũng muốn ôm nữa” - “Đi mạnh giỏi nha mày” – 3 con chuột xí xọn.
Chạm – Làm cái quiz của bạn, thấy nó hỏi tên hoa màu xanh tìm thấy sau dãy phòng học hồi cấp 2 mà 3 đứa đặt tên cho là j, thấy vui lạ (mà sao hồi đó đặt cái tên “khác người” vậy ta ;))
Chạm – lớp học thêm Lý cấp 3 , vừa tới nhà xe thì trời mưa, đứng ngấp nghé ngoài chỗ mái hiên, có người chạy ra, cởi áo khoác cái rẹt, kiu cầm đi, rồi đội mưa chạy vô cái xẹt, chưa kịp nói câu nào , rằng có mang dù trong balo
…………………..
Chậc, ngồi hồi toàn nhớ ra chuyện xa lơ xa lắc từ hồi nào, mấy cái này sau này có khi nào “bộ nhớ chính” đầy bị cái khác chép đè lên ko nhỉ, viết ra coi như lưu vào bộ nhớ ngoài back up vậy, "dữ liệu" quí nên ko muốn mất tí nào (^ ^)
Việc thì vẫn tè le, ngồi đây viết nhảm, thôi dẹp : ))

Chủ Nhật, 30 tháng 8, 2009

Cười

Chủ Nhật, 30 tháng 8, 2009

6408_1224266688934_1297016886_651827_6974609_a

"Sao cười hoài vậy?"
"Thích cười nên cười :)"
" Bộ không biết buồn hả?"
"Ủa, bộ cứ cười thì vui sao?"
"Vậy làm sao biết lúc nào buồn?"
"Thiệt là không biết không?"
..."Uh, không biết."
..."O`, vậy thì chịu thôi."
....

Thứ Tư, 15 tháng 7, 2009

Bánh tráng

Thứ Tư, 15 tháng 7, 2009

Chiều tối, mama kiu đi công vụ, phóng xe vèo đi lấy đồ, tự nhiên thấy thèm bánh tráng quá thể, thế là phóng vèo típ ra trường cũ. Chậc, bỏ hoài ko đc cái tính hứng bất tử này, người vẫn còn dư âm của vụ dị ứng mấy hôm về quê nhưng tự nhiên nhớ món xưa quá, dẫu bik ko nên nhưng ko cưỡng lại được, đúng là cái thói ham ăn bẩm sinh (^ ^)
Vòng vèo đi chậm chậm mới kiếm thấy lại cái xe bán bánh tráng cũ quen thuộc, nó chuyển chỗ bán mà ko hay, nhỏ bán bánh tráng ko nhớ mặt mình. Vừa ngồi ăn vừa nghe tiếng nhạc sân khấu bên kia vọng lại, tối nay khu phố này phát động “Mùa hè xanh”, hè rồi, nên thấy màu áo tình nguyện tràn ngập, ra đường, xem tivi, và cả trên mạng nữa. “Ngon ko chị?”. Nhỏ bán bánh tráng hỏi. “Ờ, ngon, cũng lâu lắm rồi mới ăn lại”. Ờ, mà bao lâu roài mình mới ăn lại nhỉ, ko nhớ nữa.
Cái xe bánh tráng này cách đây 2 năm là chốn định cư lâu dài sau mỗi buổi chiều tan học của 2 con nhỏ lách chách, ham ăn, nói nhiều và tưng tửng với đặc điểm nhận dạng 1 mẩu khó có thể nhầm lẫn, hay ca cho nhau nghe cái điệp khúc: “M còn tiền lẻ ko?”-câu hỏi đc lập trình sẵn sẽ tự động đc hiểu là “Đi măm măm ko?”. Những buổi chiều ngồi tám, chả bik là nói j mà nói lắm thế, từ chuyện học hành đến những chuyện như “ân oán tình thù” hồi nhỏ của “Rau Răm” với mẹ con bà bán bánh tráng như thế nào. Toàn chuyện tầm phào, nhưng sao nhớ hoài dzậy ta (^ ^)
Nhắc bánh tráng, nhớ cả cái cảnh con “Ển” ngồi đằng sau măm măm trong giờ học, với cái triết lý ăn như vậy thấy ngon hơn bình thường. Ờ, theo như kinh nghiệm đc đúc kết của cái lớp A1, thì ăn chùa, ăn vụng, và ăn của cướp đươc của đứa khác ngon hơn là ăn bình thường. (^ ^). Thế nên giờ ra chơi chỗ xóm nhà lá tấp nập, xôm tụ, la chí chóe vụ tranh cướp xoài, ổi, mận, bánh tráng,… phải đấu tranh dữ dội để đc miếng ăn, bảo vệ tới cùng vì nhiều khi đưa lên tới miệng roài vẫn bị hớt tay trên. (cái vụ này thì bị “Khủng Long nữ” xuất chiêu vài lần, chỉ bik ngậm ngùi khóc ròng vì ko nhanh miệng hơn). Còn bi jo, thèm đc đi “cướp bóc”, “giành giựt” quá mà ko đc.
Nhắc bánh tráng, nhớ thằng bạn ghiền ăn khô bò, ghiền luôn cả bánh tráng. Ko hiểu sao nhớ tới nó là thấy tức cười, liên tưởng cái mẹt nó tới khô bò và trứng vịt lộn, chậc, trường phái siêu tưởng. :D. Nó cũng sắp về rồi, ko bik có còn ghiền mấy món xưa ko, thèm đc gặp mặt để “sỉ vả” nó quá, lâu rồi không “chửi” nó, ko nghe nó “chửi” tự nhiên thấy nhớ.
Nhớ cả cái lớp luyện thi đại học, măm măm bánh tráng trước giờ chiều để học, ăn cả trong giờ học, roài giờ nghỉ, …. Bi jo nhìn thấy mấy em tấp nập đi thi ĐH, thấy nhớ nhớ những ngày cày cuốc hồi trước, năm đó cũng lạ 1 điều là thường thì thời gian đó người ta xuống kg, mình lại mập ú, con “Rau Răm” khoái cái gối ôm di động này lắm ah.
…..
Chậc, ăn có 1 bịch bánh tráng mà nói lắm thế ko bik, đúng là nhiều chuyện, đa sự quá đi mất. Mừ bánh tráng dạo này cũng leo thang theo xăng dầu, tăng giá dữ.(^ ^)

Lỗi Disk Corrupt trong Windows 7 RC

Sử dụng Windows 7 RC cũng được một thời gian trên cái máy tính cổ của mình, thấy mọi chuyện đều suôn sẻ. Mấy hôm nay có dịp cài lại Windows 7 cho một máy tính mới, thì gặp lỗi này, post lại đây để bạn nào có gặp phải thì dùng (^ ^)
Quá trình cài đặt diễn ra bình thường, cài Windows 7 song song với Windows Vista. Sử dụng lúc đầu rất suôn sẻ, tuy nhiên sau đó thì bắt đầu phát sinh lỗi : windows 7 báo corrupt disk, yêu cầu chạy checkdisk (chkdsk) để sửa lỗi. Sau khi chạy checkdisk xong, khởi động lại, vẫn tiếp tục checkdisk và sửa một đống lỗi phát sinh,  checking index và delete. Vào vẫn nhận được thông báo về lỗi cấu trúc file và yêu cầu run check disk, công thêm không cài đặt được phần mềm mới và một số phần mềm bị tưng tưng. Tình trạng này kéo dài, trong khi chạy Vista vẫn bình thường, tuy nhiên lúc vào Vista vẫn checkdisk và sửa lỗi trên partition cài đặt windows 7.
Loay hoay không biết làm như thế nào, đã thử vào vào property của partition của windows 7, vào tools, check now, click automatically fix file system error và scan for and attemp recovery of bad sector, rồi khởi động nhưng vẫn gặp tình trạng cũ. Rồi sau đó restore lại vào thời điểm lúc đầu, khi chưa cài thêm phần mềm nào vẫn bị, repair windows 7 cũng không đem lại kết quả.
Lang thang lên mạng thì mới biết cũng khá nhiều người gặp tình trạng tương tự, và để khắc phục lỗi trên thì chỉ cần cài đặt lại windows 7, và khi cài thì phải format bằng đĩa cài Win7 hoặc là các tool của Win.
Nguyên nhân sâu xa thì mình không rõ như thế nào. Theo một topic bên technet (đúng với trường hợp của mình), thì là do dùng phần mềm phân vùng của third-parties, ở đây là Acronis Disk Director để phân vùng ổ đĩa để cài Windows 7, có thể do NTFS types của Acronis không tương thích với NTFS của hệ điều hành Windows 7, bảng phân vùng của Acronis không phù hợp với bảng phân vùng mà hệ điều hành đang dùng, gây ra lỗi. Vì thế nên khi format lại bằng đĩa cài Windows 7, phân vùng được format lại, phù hợp với hệ điều hành nên không gây corrupt disk nữa.
Link topic :
http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/92ef9f2d-0bb0-407d-96cb-04261536b7f6

Chủ Nhật, 28 tháng 6, 2009

XAML

Chủ Nhật, 28 tháng 6, 2009

XAML là gì?

  • XAML (viết tắt của cụm từ Extensible Application Markup Language, phát âm là "zammel") là một ngôn ngữ đánh dấu được sử dụng để tạo ra các đối tượng trong .NET.
  • Ta có thể tạo ra các phần tử đồ họa (UI) với những khai báo thông qua thẻ trong XAML. Sau đó ta có thể dùng file mã lệnh tách biệt của nó (code-behind) để trả về những sự kiện và điều khiển những đối tượng mà ta đã định nghĩa trong XAML.
  • Mặc dù XAML là một công nghệ có thể ứng dụng trong nhiều lĩnh vực khác nhau nhưng vai trò chính của nó là để xây dựng giao diện trong các ứng dụng WPF. Nói cách khác, XAML định nghĩa sự sắp xếp các Panel, Button, Label,… để tạo nên một window trong các ứng dụng WPF. Giống như HTML, có khá nhiều công cụ hỗ trợ việc viết XAML một cách trực quan.Để xây dựng các ứng dụng có yêu cầu cao về giao diện thì phương pháp hiệu quả nhất là tách riêng phần thiết kế giao diện và phần viết code cho ứng dụng. Với phương pháp này, Designer và Developer có thể làm việc song song và khi hoàn thành sẽ tích hợp lại với nhau.
  • Trước khi WPF xuất hiện thì việc tách biệt giao diện ra khỏi code là vô cùng khó khăn. Điều này rất dễ hiểu vì với Windows Form, mọi thứ bạn tạo ra đều được định nghĩa trong code C#, VB.NET,… trong khi Designer lại thường không có kiến thức về các ngôn ngữ lập trình phức tạp này. Rất may, mọi thứ đã thay đổi khi WPF xuất hiện. Với WPF, Designer và Developer có thể làm việc hoàn toàn độc lập. Chìa khóa cho sự cộng tác giữa Designer và Developer trong các ứng dụng WPF chính là XAML.

Tại sao lại sử dụng XAML – một dạng ngôn ngữ đánh dấu?

  1. Trước XAML đã có một số ngôn ngữ đánh dấu dùng để thể hiện giao diện như: HTML, XUL, SVG, WordML,… Những ngôn ngữ này đặc biệt là HTML thể hiện việc dùng ngôn ngữ đánh dấu để xây dựng giao diện là rất hợp lý. XML có cái tên khá giống XAML nhưng lại là một ngôn ngữ đánh dấu để thể hiện dữ liệu có cấu trúc.Điểm cốt yếu cho thành công của các ngôn ngữ đánh dấu là máy tính có thể đọc được và cũng rất dễ hiểu với con người. Các ngôn ngữ đánh dấu dễ học hơn ngôn ngữ hướng đối tượng hay hướng thủ tục rất nhiều. Ngoài ra, các công cụ soạn thảo trực quan cho các ngôn ngữ đánh dấu rất quen thuộc với các Designer.XAML cũng là một ngôn ngữ đánh dấu nên nó thừa hưởng tất cả những điểm mạnh trên.
  2. Ngoài ra,thêm một điều đáng chú ý là mọi thứ có thể biểu diễn bằng XAML thì cũng có thể biểu diễn bằng code C#. Ví dụ: <Button Background="Red">No</Button>

    Mỗi phần tử XAML lại tương ứng với một lớp WPF, và mỗi thuộc tính của phần tử đó lại tương ứng với thuộc tính hay sự kiện của lớp này. Chẳng hạn, nút bấm màu đỏ trong ví dụ trên có thể tạo bằng C# code như sau: var btn = new Button(); btn.Background = Brushes.Red; btn.Content = "No"; Vậy câu hỏi đặt ra là XAML có ý nghĩa gì ? Câu trả lời là việc xây dựng các công cụ sinh và sử dụng các đặc tả bằng XAML dễ dàng hơn nhiều so với xây dựng một công cụ tương tự làm việc với đoạn mã. Điều đó giải thích vì sao có sự ra đời của bộ công cụ Microsoft Expression Studio, bộ công cụ hỗ trợ trong việc thiết kế giao diện xây dựng trên nền tảng XAML. Expression Studio kết hợp cùng với Microsoft Visual Studio hỗ trợ phần code-behind của XAML để xử lý sự kiện cho các đối tượng UI mang đến sự hợp tác chặt chẽ cho Designer và Developer.

Sự khác biệt của XAML so với các ngôn ngữ đánh dấu khác?

XAML không những kế thừa những điểm mạnh của ngôn ngữ đánh dấu mà nó còn có các tính năng mới nổi bật so với các ngôn ngữ đánh dấu cũ được thể hiện ở:
  1. Khả năng thể hiện giao diện

    Sự thể hiện giao diện của XAML là rất tốt. XAML có thể thể hiện các control cơ bản như Button, Label, Textbox,… trong các khung như Panel, Grid,… Bảng 1.1 cho thấy sự khác nhau giữa HTML và XAML khi thể hiện một Button và một Label.

<html xmlns="http://www.w3.org/1999/xhtml"> <body> <input type="button" value="Click Me" /> </body> </html>
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Button Width="100" Height="50" Content="Click Me" /> </Page>
Bảng 1.1: XAML và HTML thể hiện các Control cơ bản.

Không chỉ thể hiện được các Control cơ bản, XAML còn thể hiện được các nét vẽ phức tạp hơn mà bảng 1.2 thể hiện. Nhìn vào bảng 1.2, ta thấy XAML khá giống với các ngôn ngữ thể hiện ảnh vector khác. Điều này rất hữu ích cho việc convert từ các định dạng cũ sang định dạng XAML, việc tái sử dụng sẽ trở nên tốt hơn rất nhiều.

<rect x="1" y="1" width="398" height="398" fill="none" /> <path d="M 100 100 L 200 100 L 200 300 z" fill="#A3A993" stroke="A8806C" stroke-width="3" />
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Width="398" Height="398"> <Path Data="M100, 100L200,100 200, 300z" Fill="#A3A993" Stroke="#A8806C" StrokeThickness="3" /> </Canvas>
Bảng 1.2: XAML và SVG thể hiện các nét vẽ vector

Đặc biệt, XAML còn có thể thể hiện được các cảnh 3D nhờ sự hỗ trợ của các góc nhìn khác nhau, phương chiếu sáng, mắt lưới và ma trận chuyển đổi.

  1. Tình toàn diện:

    Khả năng thể hiện giao diện của XAML là rất tuyệt vời, tuy nhiên điểm đáng chú ý nhất của XAML lại không phải nằm ở đó mà nằm ở khả năng hỗ trợ: style, trigger, template, data binding và animation. Chính những khả năng này mới giúp Developer và Designer làm việc song song với nhau một cách hiệu quả nhất trong cùng một ứng dụng.
    1. Style: Kỹ thuật sử dụng style trong phát triển web từ trước tới nay chính là để tách việc thiết kế giao diện của các Web-Designer ra khỏi việc lập trình chức năng của các Web-Developer. Phát triển ứng dụng WPF cũng như vậy, Designer thiết kế style rồi tích hợp vào ứng dụng do Developer phát triển. Quá trình tích hợp rất dễ thực hiện do sự thống nhất của XAML.
    2. Template: Trong WPF, có hai loại template:
      • Control template: Designer thiết kế giao diện trực quan của các control mà không làm thay đổi các behavior do Developer định nghĩa.
      • Data template: Designer sẽ định nghĩa cách thể hiện cho một loại data nào đó. Ví dụ như một số nguyên trong một Textbox sẽ có màu đen, cỡ chữ 12 và canh giữa.
    3. Data binding: Vì trong XAML có hỗ trợ data binding nên Designer có thể thực hiện các thao tác binding cơ bản giữa giao diện và dữ liệu nhận được từ Developer.
    4. Animation: Hệ thống animation của WPF khá đầy đủ và có thể gọi từ các trigger trong XAML. Điều này giúp Designer có thể tạo ra các hiệu ứng cho Control ví dụ như khi người dùng di chuyển chuột lên một Button thì Button đó sẽ phát sáng.

Vai trò của XAML trong quá trình cộng tác giữa Designer và Developer

XAML đã đập tan bức tường ngăn cách giữa Designer và Developer. Một ứng dụng có sự kết hợp giữa Designer và Developer đều có bước tích hợp kết quả làm việc của đôi bên. Để thấy được vai trò của XAML ta hãy cùng nhau phân tích quá trình tích hợp này trong ứng dụng WPF và ứng dụng cũ trước đây:

Ta có thể thấy với ứng dụng theo lối truyền thống cũ thì công việc của cả Developer lẫn Designer đều rất nặng, yêu cầu cả 2 bên phải có hiểu biết về nhiều công cụ. Hai bên làm việc lại không có một sự thống nhất chung, chính vì vậy khi tích hợp sẽ rất khó khăn, mất thời gian và có thể phải làm lại. Còn trong quá trình phát triển ứng dụng WPF, công việc của Designer và Developer đều được giảm nhẹ. Ngoài ra, giữa Developer và Designer còn chia sẻ với nhau đoạn mã XAML chung, chính vì vậy trong suốt quá trình xây dựng phần mềm, cả hai bên luôn có sự thống nhất cần thiết.

Thứ Ba, 7 tháng 4, 2009

First entry – Twitter

Thứ Ba, 7 tháng 4, 2009
Chuyển qua sử dụng Window Live được vài tuần, sau khi add Window Live team’s network thì hay nhận được update thường xuyên từ Twitter, ban đầu ko để ý lắm nhưng hôm nay tò mò vào thử, phát hiện ra Twitter khá thú vị.
Twitter là 1 dạng Micro-blogging, dịch vụ này cho phép phát những tin nhắn ngắn tối đa là 140 kí tự (giống SMS hay status của Yahoo Messenger, Window Live Messenger, … chỉ khác là các status này đươc tập hợp và lưu lại trên trang Twitter của bạn).  Chẳng hạn như http://twitter.com/windowslive ở trên là một VD. Hay bạn có thể vào xem và add những người nổi tiếng như Bill Gates (http://twitter.com/billgates) , không thích người nổi tiếng thì add các tổ chức, công ty hay bạn bè của bạn. Sau khi add, mỗi lần họ cập nhật status thì trang Twitter của bạn sẽ hiện lên.
Như các mạng xã hội khác, để có một account Twitter, vào http://twitter.com/ để sign up, sau khi đăng ký mình có được địa chỉ trang giống như thế này: http://twitter.com/huong_tran

 
untitled 

Có một số khái niệm mới trong Twitter mà người sử dụng cần làm quen. Chẳng hạn như Following (người mình quan tâm, được nhận update từ họ), Followers ( ngược lại, người quan tâm mình).
Một điều đáng lưu ý là Twitter chỉ giới hạn 140 ký tự 1 lần post, nên khi copy paste link vào status, nó sẽ tự động chuyển link qua dạng rút gọn như: http://tinyurl.com/… (click vào sẽ dẫn tới link gốc). Cũng do giới hạn ký tự nên nội dung trên Twitter khá cô đọng, cung cấp thông tin cần thiết,, tiết kiệm được thời gian=> khóai cái này, được cập nhật thông tin nhanh chóng (^ ^).
Thêm nữa là khi post, nếu muốn reply thông tin lại chính xác cho một người, thì type: “@username:”…..
Hiện nay Twitter có các rất nhiều plugin và add-in hỗ trợ, VD như:
http://messenger.yahoo.com/plugins/view/11214/ (update status trên yahoo messenger sẽ automatic copy sang twitter, và ngược lại)
http://blogs.msdn.com/giorgio/archive/2008/05/11/windows-live-messenger-twitter-addin-with-setup-and-source-code.aspx (add in cho Windows Live Messenger, do 1 nhóm phát triển có member là MSP(^ ^), chỉ có điều add-in này vẫn chưa tương thích với WLM 2009)
….
Tóm lại là Twitter khá thú vị, một dịch vụ web 2.0 được xem như là bước tiến mới của các mạng chat cũ, tuy nó vẫn chưa phổ biến ở VN, nhưng có lẽ trong tương lai sẽ mau chóng phát triển.
Chỉ có mỗi 1 trục trặc nhỏ là ko hiểu do mình chọn lên giờ thiêng hay sao mà hay nhận đc thông báo này:  over capacity (T T)
P/s: Trong quá trình add Twitter vào Window Live Web activities, phải để chế độ public, vào setting->account, untick protect my updates. Nếu chọn protect my updates, thì chỉ có followers mới có thể đọc được.


untitled1