About LockeVN Nguyen

Đang trên đường đi tìm ánh sáng cho sự nghiệp. Đốt đuốc tìm thầy... SOA Scalar, scale out software software design web mashup online service

How to close duplicated tabs in your Chrome browser

Open a New Tab
Press F12 to open Web Developer Tool
Open Console tab
Paste these code, and press ENTER to run:

chrome.tabs.query({}, function(tabs) {
    var firstSee = [];
    for (var i = 0; i < tabs.length; i++) {
        var url = tabs[i].url;
        var id = tabs[i].id;
        if (firstSee.indexOf(url) >= 0){
            chrome.tabs.remove(id);
        } else{
            firstSee.push(url);
        }
    }
})

Bonus: you can create a Bookmarklet to do it:

javascript:chrome.tabs.query({}, function(tabs) {var firstSee = [];for (var i = 0; i < tabs.length; i++) {var url = tabs[i].url;var id = tabs[i].id;if (firstSee.indexOf(url) >= 0){chrome.tabs.remove(id);} else{firstSee.push(url);}}})

Then open a New Tab, click that Bookmarklet. Done!

Timezone of Response of Silverpop API datetime

After some hours debugging, I found out:

The datetime return from Silverpop API is set in timezone of the login user. Why?

- login user has 1-1 relation with the refresh token (Want to change? Go to Org Amins, Oganization Settings, Application Account Access)
- refresh token has 1-1 relation with the oauth-key
- and we use oauth-key to make API call

So if we use user@examplecom/somepassword to login to https://engageXX.silverpop.com/settings.do?action=userProfile

then change the Localization/TimeZone to GMT

 

 

And then:
For example, if we call API to get all MailingTemplate, then LastModified Date of each MailingTemplate in the Response is in GMT timezone

Tản mạn, ghi chép thông tin vụ Facebook mua WhatsApp

mua hết 19 tỷ USD

nhưng nếu tính xổi thì Facebook sẽ có khoảng 4 tỷ USD doanh thu từ Whatsapp, đấy là trong trường hợp xấu nhất, Whatsapp vẫn giữ nguyên lượng người dùng cho tới cuối 2014. Do vậy, FB ko phải lo lỗ nặng.

Sao FB phải mua WhatsApp?

WhatsApp ko thực sự cần thiết với FB, về mặt chức năng ứng dụng
WhatsApp quá to, quá nguy hiểm
WA ở nước ngoài Mỹ
FB thì core lại ở trong US

đối đầu với Google Hangouts và Apple iMessage
FB chính là ecosystem tương đương với Android và iOS device
MS hiện đang nằm ngoài cuộc chơi, Skype ko đáng tính tới
bước tiến mạnh, tăng hiện diện trên mobile, trong kỷ nguyên mobile mà FB và Messenger là chưa đủ
chưa kể tới OTT là các ứng dụng nuốt user của FB, lôi kéo user rời xa FB

chạm vào giới teen, lũ bắt đầu ghét FB, thứ mà FB rất thèm (và đã cố gắng tiếp cận nhưng thất bại khi mua hụt SnapChat)
mua con chiến thuyền nguy hiểm nhất (đang đe doạ họ), to nhất, để lướt sóng mobile và OTT
đè bẹp, ngăn chặn bọn còn lại như LINE, Kakao Talk, Tango, Wechat
Whatsapp đang đè bẹp Facebook Messenger ở các thị trường ngoài Bắc Mỹ.

WhatsApp’s 450 triệu users (70% hoạt động), 1 triệu tăng trưởng mỗi ngày
phần lớn con số 450 triệu users đó là ở ngoài US! nơi mà FB rất cần và chưa có cách chiếm lĩnh hiệu quả
mua WhatsApp, lập tức FB có porfolio toàn cầu trong thị trường OTT
tăng trưởng ko tốn một dollar marketing nào

WhatsApp tăng trưởng user hiệu quả hơn FB Messenger
FB sẽ mua cách tăng trưởng đó

32 siêu kỹ sư tài năng,
xử lý 27-50 tỷ tin mỗi ngày (nhiều hơn lượng SMS toàn cầu) bằng erlang
99.9% uptime, tin cậy như điện thoại cố định
và họ ko chạy đi đâu cả trong 3 năm (vì món thưởng 3 tỷ $)

Mua rồi sao?

để yên cho hoạt động, giống case Instagram (mà FB tự cảm thấy là phương pháp tốt)
quảng cáo văn hoá FB, các bạn ngon lành cứ về đây, chúng tôi hỗ trợ bằng nguồn lực của FB để các bạn hoạt động tiếp

FB sẽ ko nhồi ad vào WhatsApp, thậm chí Messenger cũng (học điều đó) ko có ad, Mark tin như vậy.

FB sụt 5% CP vì investor ko hiểu nổi sao lại tiêu lắm tiền như vậy cho một app ko kiếm đc nhiều tiền lắm

việc mua này có thể giúp WhatsApp tiếp tục mục tiêu 1 tỷ users
ko bị áp lực tiền nữa (FB sẽ lo)
Với dòng tiền khổng lồ từ Facebook, Whatsapp sẽ lấp vào những chỗ mà Facebook Messenger còn kém để giành thị phần với các ứng dụng còn lại. Cuộc chiến hiện tại là “ăn thịt lẫn nhau” thị phần giữa các ứng dụng miễn phí, chứ không còn là thời gian mỗi ứng dụng phát triển tự do như trước kia

WA tập trung hơn, app sạch, nhanh, thông suốt (thay vì phải lo nhồi nhét vào app, game, ads như các đối thủ)
kiên định hơn với mô hình subscription hiện tại

Cách sử dụng thông tin user

WhatsApp ko khai thác thông tin user
đăng ký đơn giản
message sau khi gửi đi là xoá khỏi server

vs FB
đào bới mọi thứ về user

Chặng đường mua lại WA

Còn chặng đường thuyết phục Jan Koum, CEO WhatsApp, bán ứng dụng cũng không hề dễ dàng và kéo dài tới 2 năm.

Mùa xuân năm 2012, Mark Zuckerberg lần đầu gọi cho Koum. Một tháng sau, họ gặp nhau trong một quán cafe ở Los Altos nhưng dù Zuckerberg thể hiện rõ mong muốn sáp nhập, Koum vẫn từ chối. Tuy vậy, cả hai vẫn giữ liên lạc, thường xuyên đi ăn tối và giải trí. Zuckerberg tin tưởng vào tương lai của WhatsApp vì ứng dụng này có tốc độ tăng trưởng còn nhanh hơn Instagram, Skype, Gmail và hơn cả chính Facebook. Có tới 70% trong số 450 triệu người dùng WhatsApp đang sử dụng ứng dụng này hàng ngày (tỷ lệ của Facebook là 62%).

Cuối cùng, ngày 9/2/2014, Zuckerberg thuyết phục Koum trong một bữa tối tại chính nhà mình rằng: Chúng ta hãy cùng nhau kết nối thế giới. Tỷ phú trẻ khẳng định đó không phải là một vụ thâu tóm bình thường mà là một cuộc hợp tác. Vào đúng ngày Valentine, Koum đồng ý.

Rakuten mua Viber liệu có rẻ?

nhưng gã khổng lồ Thương mại điện tử của Nhật này lại chưa có mô hình kinh doanh rõ ràng nào trên di động để áp vào Viber. Tất cả đều rất mù mờ và biết đâu Rakuten có thể sẽ lỗ trong thương vụ này?

See more

http://www.tinhte.vn/threads/ceo-mark-zuckerberg-cua-facebook-da-mua-lai-whatsapp-nhu-the-nao.2263013/

Xu hướng thiết kế 2013

1. Giao diện phẳng (flat)
– đơn giản, dễ thực hiện
– dễ thấy trong UI của Win8 và các dòng sản phẩm của Microsoft. HTC cũng có xu hướng này.

2. Càng ít nút bấm càng tốt
– tăng diện tích nhìn cho user
– tránh rối, app buộc phải đưa những gì hay dùng nhất ra ngoài
– dùng nhiều hơn các cử chỉ (gestures) thay vì bấm nút (quẹt trái quẹt phải để xem chat list và channel list trong app FB)

3. Dùng các hoạt hoạ (animation) để gợi ý
– trực quan, dễ xem
– dễ thấy khi refresh feed của FB, hiệu ứng nảy lên khi hết list

4. Menu xổ xuống dạng hamburger
– icon hamburger đã thành một dạng chuẩn, hầu hết người dùng đều hiểu bấm vào đó là có menu xổ ra
– tương tự như context menu trên Windows

5. App native được chú trọng hơn Web

6. Khi không thể viết app native, hãy cố gắng để nó Responsive
– tận dụng tốt hơn không gian màn hình
– ẩn giấu những phần ko cần thiết khi hiển thị trên màn hình nhỏ

7. Làm cho trang web rộng hơn
– hầu hết màn hình ngày nay là dạng màn ảnh rộng (wide screen)
– tận dụng không gian tốt hơn, tránh khoảng trống quá nhiều trên các màn hình to, rộng
– tăng độ rộng lên 960px hay 1000px

8. Sử dụng cỡ font lớn hơn
– tăng khả năng đọc cho nội dung (nhất là premium content)
– hiển thị tốt hơn trên màn hình nhỏ

9. Màu xanh: #00A0D1

10. Đồ hoạ vector
– nét hơn
– các browser hỗ trợ tốt hơn, dễ tương thích với các độ phân giải và mật độ dpi khác nhau

From: http://theindustry.cc/2013/01/07/13-design-trends-for-2013/

FASTFOOD: Use relative font-sizing for responsive web design

When developing with Responsive web design (RWD), you should use these CSS3 feature

  • reset padding, margin of body and container element. Set max-width to have no horizontal scrollbar.
  • set font-size for your body
  • use relative font-sizing unit
    • VERY IMPORTANT: use rem (relative to root element). Note: em is relative to parent element, so it is difficult to debug sizes on complex pages. With rem, we are always have font-size-relate-to root (e.g.: your body)
    • use vh, vw, vmin for sizing your box
    • 1vw is 1% of the viewport width, 100vw = 100% viewport width
    • 1vh is 1% of the viewport height, 100vh = 100% viewport height
    • 1vmin is the smallest of 1vw and 1vh

See more here

FASTFOOD: 2013 sẽ là năm cất cánh cho web

Vì sao?

Một số công nghệ web đã trưởng thành và sẽ được triển khai trên nhiều trang web, mang lại nhiều ấn tượng cho user, giảm công sức cho lập trình viên khi phát triển và phân phối ứng dụng

CSS filters, mang sức mạnh đồ hoạ 3D

Cho phép thực hiện nhiều hiệu ứng đồ hoạ phức tạp (làm mờ, đổ bóng, bóp mép, đổi hình dạng của đối tượng, thay đổi mật độ màu, …) bằng các khai báo đơn giản.

Cho phép thực hiện các thao tác đồ hoạ phức tạp như đổ bóng vertex (như dùng GLSL, được ứng dụng phổ biến nhiều năm nay trong các xử lý đồ hoạ 3D)

Xem ví dụ tại CSS Filter

Lợi ích lớn cho các game nền web, các ứng dụng cần những hiệu ứng gây shock về đồ hoạ, xử lý ảnh

 

Google Chrome Apps

Google ko đối đầu trực tiếp với Windows, Mac, Linux, mà họ tạo ra Chrome,  cố gắng làm cho Chrome có mặt tại nhiều nơi, nhiều thiết bị như TV, laptop, điện thoại

Với Chrome, Google mang lại cho các lập trình viên khả năng viết chương trình bằng JS HTML CSS (là đơn giản hơn nhiều so với việc viết bằng C# Java PHP), chạy chương trình trong Chrome.

  • Phát triển nhanh chóng, thuận tiện
  • Rất dễ phân phối (vì có WebStore)
  • Có nhiều khả năng tương tác phần cứng (cổng serial, usb, bluetooth, webcam, mic, loa, âm thanh, …)
  • Vẽ thêm “cánh” (tương tác, tính năng) cho  ”hổ” (các trang web sẵn có)

Hiện tại, viết extension/app cho Chrome là dễ nhất, nhanh nhất và thuận tiện nhất (so với việc viết cho Firefox, IE, Opera)


ECMAScript 6, cải tiến Javascript

ECMAScript 6 (ES6), là cải tiến của JavaScript, sửa các vấn đề “chíu khọ” trong ngôn ngữ JavaScript, cung cấp tính năng mới thuận tiện hơn, dễ bảo trì mã nguồn hơn.

  • thêm class, kế thừa, mixins (lai ghép, tương tự như đa kế thừa trong C++)
  • Hệ thống tải/nạp module (giúp tổ chức mã nguồn gọn gàng, nhanh, dễ quản lý hơn)
  • proxies
  • cải tiến việc gọi hàm bất đồng bộ (asynchronous), vứt bỏ sự rối rắm của các hàm callback

Web Components

Web Components cho ta khả năng thêm tag mới cho trình duyệt, tương tự như những tag gốc sẵn có. VD:

  • Tạo ra thẻ mới (VD mydiv)
  • Tạo style và tính năng cho thẻ đó
  • người dùng khác chỉ cần khai báo thẻ, tương tự như thẻ gốc (div)

Web Components sẽ thay đổi cách viết, sử dụng và phân phối các thư viện JavaScript hiện có theo hướng dễ dàng hơn nhiều.

Tương lai

Các tính năng mới, API mới sẽ được (tự động) đưa vào trình duyệt mới ngày càng nhanh hơn

  • Vì phần lớn các trình duyệt sẽ tự động cập nhật phiên bản mới
  • Với Chrome, cứ 4 tháng là sẽ có một bản mới sẽ được đưa tới 350 triệu người dùng
  • Thị phần của các trình duyệt Webkit đủ lớn, để các trình duyệt khác (như IE, Opera, Firefox) phải chạy theo và đưa tính năng tương đương vào.

Tôi đi dự Microsoft Techday 2012 ở Hà Nội

Rào trước:

  • background của người viết là dân công nghệ lâu năm, có nhiều kinh nghiệm, cũng đã theo dõi nhiều diễn thuyết cũng như đã đi, xem, nắm bắt cách trình diễn của nước ngoài nên muốn ngưỡng chất lượng sự kiện cũng phải như Tây, nên dùng để so sánh có phần hơi khắt khe
  • hiểu biết của người viết về sản phẩm của MS nói chung và Windows, WinPhone nói riêng, cũng như các thiết bị phần cứng, di động, giải pháp phần mềm … là tốt
  • người viết đi xem và viết với tư cách một người bình thường đi sự kiện. Thông tin ở dưới là “coi như” lấy từ sự kiện, thực chất thì sự kiện này ko đem lại thông tin nào “mới” đối với người viết.
  • người viết hơi có ngạo khí một chút, xin lỗi nếu làm các bạn khó chịu
  • văn phong bỗ bã, đan xen lẫn lộn Việt Anh

Sao tôi lại viết bài này?

  • thường tôi cũng ko chăm viết các article ngoài vấn đề công nghệ, nhưng hôm nay đi xem Techday là một nhiệm vụ (tôi đăng ký Hackday ở công ty là đi dự hội thảo Techday 2012), nên tôi cần viết report.
  • muốn góp ít sức nhỏ, tăng chất lượng trình diễn, tổ chức sự kiện, giới thiệu sản phẩm công nghệ để lần sau đi xem hứng thú hơn
  • đang rỗi rãi, lâu rồi ko viết, và cũng ngứa tay

Phốt,

mình chỉ nhắc tới những điểm làm thiệt hại lớn nhất cho MS và cho các hãng đối tác:

  • các em PG và tiếp tân phục vụ túm tụm nhau, nói chuyện. Bàn lễ tân thì tiếp khách không chủ động và niềm nở, chưa coi đấy là nhiệm vụ. Tiếp tân chỗ tốt nhất lại là của Daewoo Hotel, tươi cười, chào trước, chủ động ra hỏi khách, chỉ dẫn tận tình vào khu hội thảo (dù cách đó có 10m).
  • các bạn PG tại khu trưng bày thiết bị thì chưa chào mời khách xem, thậm chí còn dùng máy để lướt web, dùng tablet để chơi game, … PG chiếm chỗ dùng máy làm khách xem ngại ngần ko tiện vào trải nghiệm sản phẩm mới của các hãng
  • máy chiếu dùng để trình diễn cho màn hình ở giữa có chất lượng kém, hiển thị nửa trên và nửa dưới hình ảnh bị lệch pha nhau ==> hình ảnh chất lượng kém, video bị cắt làm đôi ở những khung hình động (và phần lớn slide hay video là khung hình động). Các bạn tưởng tượng như là có 1 em bé chạy trong khung hình, thì nửa trên đi trước, nửa dưới đi sau, lệch pha là như vậy.
  • - công cụ dùng để trình chiếu là máy Mac của các bạn Táo (và thi thoảng hiển thị cả UI của Mac, UI của app trình chiếu của Mac lên màn hình lớn luôn). Lỗi này mà ở bên Tây nghe đồn là mất việc như chơi. Đầu tư bao tiền để nhét hình ảnh vào đầu khách hàng, lại cho đối thủ xen vào.
  • - khu thiết bị lại thiếu tablet Surface, ko hiểu là do M$ muốn chơi đẹp với các đối tác hay là thiếu hàng để trình diễn thật. Thậm chí có rất ít tablet, có mỗi 1 con của Acer????
  • - các diễn giả có một số (hoặc phần lớn) là các bạn sales manager (!?!) nên khả năng diễn thuyết chưa tuyệt lắm,
    • slide quá nhiều chữ và số, hoàn toàn ko thích hợp với một hội nghị có khán giả là techgeek như thế này.
    • nói là chính, diễn với sản phẩm là phụ (dù toàn giới thiệu thiết bị)
  • - diễn giả có vẻ chưa thích hay chưa biết gây ấn tượng về sản phẩm của mình. Chỉ nói và cho xem video thì chưa xứng tầm manager của các hãng lớn hàng đầu thế giới. Giờ mà nói chay như vậy đâu có hút được khán giả nữa, ai cũng làm được. Nếu là mình, ít nhất mình cũng bê sản phẩm thật giơ lên chứ ko cho khách xem ảnh qua slide. Nếu là mình cầm con Lumia, mình sẽ ném nó vào bục, quăng nó lên trần chứ ko chỉ giơ nó lên, vì Lumia rất bền, màn hình lại cứng, dao chém ko sao. Bỏ phí các điểm gây ấn tượng về thiết bị là cực kỳ đáng tiếc.

Ưu

toàn ưu điểm đúng chỗ cần ưu, tốt:

  • - Windows 8 cực kỳ ấn tượng. Mình đã dùng thử trên máy ảo ở công ty vài tháng nay rồi, nhưng trải nghiệm trên máy thật thì tốt gấp đôi.
  • - Trải nghiệm Windows 8 trên máy thật (laptop), với màn hình cảm ứng thì ấn tượng tốt tăng lên gấp 4. LiveTiles, Start Panel mới, các ô màu to, rõ ràng, dễ touch, cực kỳ hữu dụng.
  • Thiết kế và bán sản phẩm laptop hay desktop có màn hình cảm ứng thì về phần cứng đã có lâu rồi, nhưng với hệ điều hành mới, focus tới chuyện touch chứ ko chỉ “giả cầy” như trước kia thì trải nghiệm cho người dùng cuối là rất tốt.
  • - Chất lượng điện thoạiWindows Phone 8 (WP8) của các hãng mang đến Techday là tốt.
    • Màn hình đều long lanh rực rỡ, phản hồi cực nhanh (truyền thống của WP8 rồi), thao tác mượt và ko có lag. Cấu hình phần cứng không còn tụt hậu quá xa so với binh đoàn Android nữa.
    • + Các chú dế WP8 nay đã có camera khủng
    • + thậm chí camera trước cũng có chất lượng rất cao (VD như của HTC là được quảng cáo khẩu 2.0, góc tương đương 25mm)
    • + CPU Quancomm S4
    • + xạc không dây
    • + màn hình IPS, Full HD
    • + NFC
  • - Hệ điều hành WP8 trên các điện thoại của HTC, Nokia là rất tốt. Ngoài chuyện mượt, nhanh, nuột như trên thì khả năng tuỳ biến cũng đã được tăng lên ở mức cho phép đổi màu tông xuyệt tông với màu quần áo của khổ chủ :D
  • Children Mode của WP8 là rất tiện, phù hợp với đại đa số các ông bố bà mẹ có trẻ con, phải cho các tiểu quỷ mượn điện thoại tablet để nghịch, nhưng luôn lo ngay ngáy nó xoá danh bạ, huỷ phần mềm hay nhắn tin cho bồ nhí của mình.
  • - Phần mềm Office trên các điện thoại WP8 này chỉ có thể nói bằng 2 chữ: “tuyệt vời”.
    • Nếu bạn cần duyệt, xem, chỉnh sửa văn bản Word Excel hay trình chiếu PPT trên điện thoại thì hãy nói với mấy bạn WP8: “Shut up and take my money!”.
    • Duyệt bảng tính Excel hay file docs hay ppt là cực kỳ nhanh, nhanh đến không ngờ.
    • Mình có dùng thử 1 bảng tính xls trên Lumia 920 và cảm thấy nó còn tốt hơn Excel trên máy tính nữa.
    • Lấy ngón tay để pan, zoom, click để edit ô công thức, thay đổi vài con số, … đúng là tuyệt đến không ngờ. Con đẻ của M$ có khác. 10 điểm.
  • - Các laptop màn hình cảm ứng chạy Windows 8 là rất tuyệt, ko trễ, phản hồi tốt, tiện dụng. Không biết là việc sờ sờ vào màn hình với tư thế dùng laptop thì như nào, nhưng dùng trong thời gian ngắn thì thấy rất ấn tượng.
  • - một số diễn giả tương tác cũng khá tốt, ví như của Nokia và HTC (chắc tổ chức off nhiều rồi :D)
  • - vé mời sự kiện rất đẹp, phong cách metro (Modern)
  • - tổ chức + contact với khách mời tốt, điện thoại, hỏi han, confirm địa chỉ đầy đủ, nhân viên nhã nhặn.

PS: các trình diễn ở khu Hyper V, CRM, ERP, DevZone mình ko theo dõi kỹ nên ko nắm chắc.

Run Dropbox as Service on Windows 2008 Win 7

- Remote desktop to your server (e.g.: with username = YourUserLockeVN)

- On server, download dropbox.exe to C:\
- Start command prompt (with “YourUserLockeVN” please, the idea is dropbox will be installed under this account credential and its role/right)
- Install dropbox by command prompt:

"C:\dropbox.exe" /D=C:\Program Files\Dropbox

- Run through DropBox setup, login to dropbox, use advanced install, determine local folder for sync, …
- (very important) Start Dropbox, Preferences -> uncheck “Show desktop notifications” and “Start Dropbox on system startup
- Exit dropbox (right click tray icon, Exit)
- Check StartMenu/Startup folder, remove the Dropbox shortcut (if any)
- Download Windows Server 2003 Resource Kit Files (Win2003, 2008 can use)
- Install it into your server (don’t worry about conflict, they are all M$ stuff, and they just extracts to folder)
- on command prompt, create Service by:

"C:\Program Files (x86)\Windows Resource Kits\Tools\instsrv" DropBoxService "C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"

- Start/Run, “Regedit”, go to

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DropBoxService

- Create KEY Parameters
- Create String value name “Application“, value C:\Program Files\Dropbox\Dropbox.exe /home
- Create String value name “AppDirectory“, value C:\Program Files\Dropbox


- Go to Administration Tools / Services -> DropBoxService -> Properties -> Log on -> Use “YourUserLockeVN
- Change the service startup type to “Automatic
- Start service

That’s fine. Now you can logoff, disconnect from the server and Dropbox still up and running, sync your file.

Set Remote Desktop of Windows 7 to 256 colors for faster speed

Before Windows 7, I was able to set Remote Desktop client Display at 256 Colors. That option is missing in Windows 7 ( The lowest option is “High Color 15 bit” )
It is very important to have it back specially if when using a slow network connection.

- Save all the remote desktop settings for the connection and save it to a RDP (.rdp) file by choosing Save As in the General tab.
- Open that .rdp file in a text editor (Notepad)
- Find the line that begins with session bpp:i:
- Change this line to session bpp:i:8
- Use (double click) that .rdp file to open a RDP session to the remote computer.

Setup and Using RAM Disk in daily development

I have quite strong QuadCore computer with 8GB RAM. Normally, my daily working basis uses nearly 6GB RAM. So 2GB more are waste. I often have to write installer script, try/test the setup, installer … which read/write a lot of files (7000 files, WTH)

So idea about RAM disk (from DOS era) come up!

Software to create RAM disk

1. ImDisk. TESTed on Win7

http://www.ltr-data.se/opencode.html/#ImDisk

2. http://www.ocztechnologyforum.com/forum/showthread.php?63273-*-Windows-7-Ultimate-Tweaks-amp-Utilities-*&s=fed9149ad42cb34e6e914b94fa7a3232&p=442160#post442160

3. I use this DataRAM RamDisk

Install it is very simple.


Create/Start new disk in DataRAM
go to Computer Manager, Disk Management, format it and assign drive letter, Fix the drive character to R: for easily reference later.

Settings/DiskSize set to your need
Load and Save/Load Disk Image at Startup, Filename = C:\RAMDISK.img
Load and Save/Save Disk Image on shutdown, Filename = C:\RAMDISK.img
Option/Do not compress image file on NTFS filesystems

Using your ram disk

Redirect Chrome cache dir

Change your Chrome shortcut, change the Target to

C:\Users\ngng\AppData\Local\Google\Chrome\Application\chrome.exe –user-data-dir=”D:\LockeVN\ChromeLockeVNWorkProfile” –disk-cache-dir=”R:\Google\ChromeDev”

Change Win7 temp path

Go to environment of OS, redirect TEMP and TMP folder to ramdisk

.
.
.
.

Javascript sleep(), will block browser, block setTimeout either

I found this Javascript sleep function here and it works in FF9, Chrome 14 (tested).

function sleep(ms) {
 ms += new Date().getTime();
 while (new Date() < ms){}
}

This function will block browser from doing anything, even setTimeout()
E.g.:

/*BEGIN*/
setTimeout(alert('stupid'), 1000); 
sleep(2000); 
// after sleep completed, setTimeout has its turn to run. 
// The alert() will be shown after 3 seconds from /*BEGIN*/

This might be a stupid thing but sometimes you have to do stupid work and it’s required.

Free online private repositories for source code control management

I have some pet projects but so shy to show off ;)

I share with my close fellow only, that why I need an online free private source repository (stable, hosting, free, private, is it too much?). The small list below is carefully made on the time (updated in July 2011) I write this post (because the SCM service providers’ plans are subject to change)

 

Assembla

  • free plan has private repos with
  • Unlimited Users. Unlimited Projects
  • 1GB Storage
  • with Git and SVN

 

bitbucket

  • Free plan
  • has unlimited public repos
  • and unlimited 5 user private repos
  • with Git and Mercurial

 

Unfuddle

  • free plan has private repos
  • 200MB
  • 2 users, 1 active project
  • with Git and SVN

 

xp-dev

  • 200MB of basic Subversion & Trac space
  • 2 projects
  • No backups
  • No secure SSL access
  • Advertisements

 

 

Bonus: Client to access

I use eclipse as open source SCM client

Git: I use eGit

SVN: I use Subclipse

Mercurial: MercurialEclipse (formly HgEclipse)

 

More bonus: conversation on StackOverflow about this free private source repository

NodeJS quick sum up July 2011

This is my sum up about NodeJS on July 2011, base on some slides (of geeks in my list from BarCamp Saigon 2011). Just a fastfood of what NodeJS is, why is get buzz at the moment.

 

specs

  • JS and C++ code
    + and commonJS module mechanism 
    ——–> on NodeJS binding (http socket IO …)
    ——–>——–> on JS engine V8 + ThreadPool-libIO + EventLoop-libEV + …
  • programming style: evented with callback function, no thread
  • non blocking IO
  • DB support: mongodb couchdb mysql redis
  • package (module of NodeJS) is NPM (not available on Windows?)
  • IDE support: bad, no great debugger, can use cloud9 online IDE
  • hosting: joyent heroku cloudfoundry dotcloud

 

when to use it?

  • chat/messaging
  • real-time applications
  • intelligent proxies
  • high concurrency applications
  • communication hubs
  • coordinators

 

something bad

  • so young, immature
  • lots of stuffs to look at, must lookup API from internet, and remember yourself (function name, parameter, …)
  • retro compatibility, API is (frequently) subject to change
  • hard to find organized (and centralized) and authoritative information

what is .NET delay signing?

Signing

Signing an assembly basically certifies that assembly by the manufacturer and prevents tampering and hi-jacking of that assembly.

The signing is accomplished by using public key/private key encoding of parts of the assembly.

 

Delay signing

Delayed signing refers to a technique of partially signing assemblies while they are in development (embedded the public key in the assembly but still secures the private key).

 

Why?

An organization can have a closely guarded key pair that developers do not have access to on a daily basis. The public key is often available, but access to the private key is restricted to only a few individuals.

When developing assemblies with strong names, each assembly that references the strong-named target assembly contains the token of the public key used to give the target assembly a strong name. This requires that the public key be available during the development process.

So, after delay signing, the public key is embedded in the assembly and will be used by third-parties who want to reference (you can place a shared assembly (as if strongly named) in the GAC by signing the assembly with just the public key).

powershell script to open web address URL with default browser

After install a website, we used to open the start page in web browser.

There are at least (not 2) 4 ways to open web address URL with default browser in Powershell.

1. Run a exe file with parameter is our url.

How to get exe filepath of default browser? define and use this function (thanks to Ravikanth Chaganti):

Function GET-DefaultBrowserPath {
#Get the default Browser path
New-PSDrive -Name HKCR -PSProvider registry -Root Hkey_Classes_Root | Out-Null
$browserPath = ((Get-ItemProperty ‘HKCR:\http\shell\open\command’).’(default)’).Split(‘”‘)[1]
return $browserPath
}

call

Get-DefaultBrowserPath

in my computer Powershell console will return D:\Program Files (x86)\Mozilla Firefox\firefox.exe

2. Simple way:

call

start ‘http://www.gurucore.com’

in Powershell.

Thanks Dac Thach, I tested your solutions and it works on Windows 2008 + Powershell 1.0

3. One another is we use Invoke-Expression

to lend the Windows’ CMD hand (like you open Windows Run / cmd / then type start)

 

Invoke-Expression “cmd.exe /C start http://gurucore.com
Invoke-Expression “cmd.exe /C start http://some-thing.com.net/~en/my-site/gurucore.com#thach
Invoke-Expression “cmd.exe /C start /b http://gurucore.com?ab=abb’&’thach=2+g~

4. Use .NET static function

[Diagnostics.Process]::Start(‘http://gurucore.com?a=-b&c=~d#abc’,’arguments‘)

Disable Attach Security Warning in Visual Studio 2010

 

When debugging/attach to a process in Windows 7 from Visual Studio 2010, VS displays a warning message confirming if you want to attach to the process you just asked VS to attach to.

Of course I don’t click No Attach! because I do want to attach.

 

So, to save one mouse click and disable the warning,

1. go to windows Start/run, regedit

2. Go to HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger

3. and set DisableAttachSecurityWarning to 1

DisableAttachSecurityWarningVisualStudio2010

 

For VS 2008 the path should be

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Debugger

 

4. Restart Visual Studio

 

Thanks to: abjbhat

 

Troubleshoot:

if you cannot alter the key HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Debugger, DisableAttachSecurityWarning to 1, then

Delete it

Go to HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\Debugger

Create new DWORD, name it DisableAttachSecurityWarning , set value to 1

 

Adding Client-Side Script Blocks with RegisterStartupScript() and RegisterClientScriptBlock()

The System.Web.UI.Page class contains two methods for emitting client-side script code into the HTML rendered by the ASP.NET Web page:

  • RegisterStartupScript(key, script)
  • RegisterClientScriptBlock(key, script)

Both of these methods take two strings as input. The second parameter, script, is the client-side script—including the opening and closing <script> tags—to insert into the page. The first parameter, key, serves as a unique identifier for the inserted client-side script.

The only difference between these two methods is where each one emits the script block. RegisterClientScriptBlock() emits the script block at the beginning of the Web Form (right after the <form runat="server"> tag), while RegisterStartupScript() emits the script block at the end of the Web Form (right before the </form> tag).

From http://msdn.microsoft.com/en-us/library/aa478975.aspx

Fatal error and cannot boot after install Windows 7 SP1 RTM

After installing Windows 7 SP1 RTM, your computer probably cannot boot, and it shows

fatal error c0000034 (*) applying update operation 282 (**) of 115544 (***)

(*) (**) (***) can be different in your case.

 

I found a solution from here http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/1c9a7151-b48c-4a98-aae7-a4b82682ea8e/#bcabda57-7338-499f-aee2-d708e76df315

Thanks to thiswoot. His method works without Safe Mode, without backups, without System Restore, without DISM, and without a Windows 7 DVD repair disc.

Step

  • Reboot (or turn off/turn on) your computer
  • Try to go to Command Prompt (the step may be different, but it always exists a button to go to Command Prompt):
  • When your computer’s starting up, choose the option "Launch Startup Repair"
  • When the Startup repair starts, click cancel.
  • Click the link "View advanced options for recovery and support"
  • In the new window click Command Prompt at the bottom.

 

  • (Optional): if your computer using VHD image to load Windows, please mount the VHD file first, then change to that drive
  • type bcdedit, enter, to get the VHD file path, copy it (E.g.: c:\win7.vhd)
  • type diskpart, enter
  • type select vdisk file="c:\win7.vhd" , enter (use the VHD path in previous step)
  • type attach vdisk, enter
  • type list volume, enter. You will see you "real" Windows volume drive ————> (E.g.: I:)
  • exit diskpart

 

  • In Command Prompt type this and press enter: notepad C:\Windows\winsxs\Pending.xml (or whichever drive Windows is installed on. E.g.: if you mount VHD image and list volume, your Windows drive can be I:, replace C: with I: ———-> the command will be notepad I:\Windows\winsxs\Pending.xml). It can be very slow (because that file is very big)
  • Save as Pending.xml to another location (E.g.: save as Pending.OLD.xml), close Notepad.
  • Re-open pending.xml again with command notepad C:\Windows\winsxs\Pending.xml (It can be very slow (because that file is very big))
  • Press CTRL+F and search for the following exactly: 0000000000000000.cdf-ms
  • Delete the following text (yours will be a little different):

<Checkpoint/>
<DeleteFile path="\SystemRoot\WinSxS\FileMaps\_0000000000000000.cdf-ms"/>
<MoveFile source="\SystemRoot\WinSxS\Temp\PendingRenames\e56db1db48d4cb0199440000b01de419._0000000000000000.cdf-ms" destination="\SystemRoot\WinSxS\FileMaps\_0000000000000000.cdf-ms"/>

 

  • Save the file (very slow), close notepad
  • Exit command prompt, restart your computer.

 

  • Do a normal startup, Service Pack installation process can be continued or reverted, it depends, but let it be. Your computer can boot to Windows again

Mua bàn bóng bàn – rồi chơi bóng bàn

 

Công ty đầu tư cho cái bàn bóng bàn, mình kể ra là thể thao nhất bọn ở đây + hay lăng xê thể thao –> đi chọn bàn. Lượm lặt được một số thông tin sau:

(Chú ý: Ván MDF tốt hơn, khó thấm nước /hút ẩm + cong vênh hơn, nếu chọn ván OKAL phải từ 30mm trở lên)

 

Xịn

Double Fish (song ngư) 323 chân cong, chuyên dùng tại các CLB

tầm 9 10tr

http://www.vatgia.com/1299/929557/b%C3%A0n-b%C3%B3ng-b%C3%A0n-double-fish-323.html

 

Trung bình

Đức Long TĐ 01 MDF 25mm (5tr5)

http://www.vatgia.com/1299/751449/b%C3%A0n-b%C3%B3ng-b%C3%A0n-%C4%91%E1%BB%A9c-long-t%C4%91-01.html

Đức Long TL 04 (MDF 18mm) (4tr2)

http://www.vatgia.com/1299/704100/b%C3%A0n-b%C3%B3ng-b%C3%A0n-%C4%91%E1%BB%A9c-long-tl-04.html

 

Xoàng (2tr đến 3tr)

Vinasport 30mm

http://www.vatgia.com/TDshop&module=product&view=detail&record_id=84442

Động Lực 30mm

http://www.vatgia.com/1299/681548/b%C3%A0n-%C4%91%C3%A1nh-b%C3%B3ng-b%C3%A0n-30mm.html

 

Bóng

Mua bóng tập cho rẻ và tiện, đằng nào toàn newbie cũng không có khả năng phân biệt.

100 quả bóng tập 370k http://bongbanviet.com/bongbanviet.asp?module=41&cid=98&subid=24&sid=0&nid=308

 

Bảo quản bàn bóng

  • 1/ Nếu bàn để cố định thì nên chằng chống các chân bàn kỹ vào. Có thể lắp thêm các thanh giằng để bàn cố định không bị lung lay hay bị sụp bàn (đối với bàn do VN sản xuất, bàn nhập ngoại có lẽ không cần)
  • Nếu bàn hay xếp ra-vào thì nên cẩn thận trong lúc xếp, kẻo các thanh giằng bị quẹo. Có thể độ lại các thanh giằng mới cứng hơn các thanh giằng của nhà sx.
  • 2/ Mặt bàn tuyệt đối không để dính nước lâu. Nếu có nước thì phải lau ngay.
  • Lau chùi mặt bàn thường xuyên, không nên lau bằng giẻ thấm nước mà lau bằng giẻ khô hay thấm tí dầu hỏa hay vecni.
  • 3/ Hạn chế chặt chém vào mặt bàn.

 

Thông tin thêm (bonus):

Điều chủ yếu làm mọi người không có cảm tình với Trường Huy là thái độ với khách hàng. Giá cả ở đây thì thường đắt hơn 10% đến 30% so với bên ngoài, nhưng thấy nhiều người quả quyết rằng Trường Huy không bao giờ bán đồ giả, đồ kém chất lượng.

Tuy vậy nếu nói về uy tín thì cửa hàng 160 Nguyễn Thái Học, số 2 Nguyễn Biểu hoặc số 2 Hàng Than cũng chẳng kém.

Theo kinh nghiệm của rất nhiều anh em box "Bóng bàn" TTVNOL thì ở đó rất hay lừa newbie cả về giá cả lẫn chất lượng…….

Hình như ở Nguyễn Thái HỌc có shop của 1 thành viên TTVNOL box "Bóng bàn" đấy

Vợt

Bác nào mới học đánh thì nên mua cốt gỗ, dễ đánh, dễ tập và rẻ hơn cốt dùng carbon và sợi thuỷ tinh rất nhiều.

Mazunov là một cây đáng bỏ tiền ra mua, tầm 350K-390K. Dán thêm 2 mặt ghép 100K/ cái hoặc 1 mặt ghép giá 100K 1 mặt 729 70-90K là yên tâm chơi được rồi.

Với cốt vợt thì dùng đồ 729 rẻ hơn nhưng không thấy bán ở VN. Chất lượng của mấy hãng Trung Của như 729(LKT) , Double Fish, Double Happiness…cũng rất là tốt.

 

hoặc là mua vợt second hand cũng có nhiều cái rất tốt

theo kinh nghiệm của bản thân tôi, dưới 300k thì ko có vợt brand new nào đánh hay bằng 3 loại sau:- Cao su đường sắt: 15k

- Song ngư: 45k

- 729 hình như 80-85k gì đó

nếu bạn định mua vợt mới thì nên mua từ off+ trở lên