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

.
.
.
.

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‘)

Microsoft Windows Phone 7, all in one (release) day (tổng hợp)

English

Windows Phone 7 unveiled: First impressions
http://blogs.techrepublic.com.com/smartphones/?p=1710

What’s inside the first Windows Phone 7 devices?
http://news.cnet.com/8301-13924_3-20019249-64.html?part=rss&subj=news&tag=2547-1_3-0-20

Video: Windows Phone 7 launches in New York
http://news.cnet.com/1606-2_3-50094368.html?part=rss&subj=news&tag=2547-1_3-0-20

Video: Ballmer talks WP7, iPhone, Android, and Microsoft tablets
http://blogs.techrepublic.com.com/hiner/?p=6427

Already Planned: Copy/Paste Support for Windows Phone 7
http://news.cnet.com/8301-13860_3-20019176-56.html?part=rss&subj=news&tag=2547-1_3-0-20 (how to)
http://www.slashgear.com/windows-phone-7-getting-cut-paste-in-early-2011-11107106/ (early 2011)
http://mashable.com/2010/10/11/windows-phone-7-copy-paste-2/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Mashable+%28Mashable%29

Windows Phone 7 Ads Save Us From Our Phones [VIDEO]
Read more (How Microsoft plans to sell Windows Phone 7 ) http://news.cnet.com/8301-13860_3-20019111-56.html?part=rss&subj=news&tag=2547-1_3-0-20#ixzz126dhFPbD
http://mashable.com/2010/10/11/windows-phone-7-ads/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Mashable+%28Mashable%29

Windows Phone 7 debuts: One phone won’t rule them all
http://news.cnet.com/8301-1035_3-20019173-94.html?part=rss&subj=news&tag=2547-1_3-0-20#ixzz126dK53Sb

Windows Phone 7 official: Oct 21 in Europe, Nov 7 in North America
http://www.slashgear.com/windows-phone-7-official-oct-21-in-europe-nov-7-in-north-america-11106942/

Around the world, release plan
http://www.cnet.com/8301-17918_1-20019213-85.html?part=rss&subj=news&tag=2547-1_3-0-20

Video: http://www.slashgear.com/lg-quantum-hands-on-video-11107226/ (LG Quantum Hands on)

Video: http://www.slashgear.com/samsung-focus-hands-on-video-11107228/ (Samsung Focus Hands on)

http://www.slashgear.com/orange-htc-7-mozart-and-samsung-omnia-7-priced-11107038/ (HTC 7 Mozart and Samsung Omnia 7)

http://www.slashgear.com/htc-hd7-for-o2-launching-october-21st-11107083/ (HTC 7, on October 21st)

http://www.engadget.com/2010/10/11/meet-the-new-atandt-windows-phone-7-family/ (AT&T Windows Phone 7 family)

Vietnamese

(Cập nhật) Tổng hợp toàn bộ về Windows Phone 7

http://www.tinhte.vn/tin-tuc-gioi-thieu-11/tong-hop-toan-canh-ve-he-dieu-hanh-windows-phone-7-a-498852/

10 chiếc Windows Phone 7 ra mắt cho bạn chọn
http://www.tinhte.vn/tin-tuc-gioi-thieu-11/10-chiec-wp7-moi-moi-anh-em-chon-498351/

Dân chơi Windows Mobile tản mát dần
http://vietcntt.com/news/sys.php?name=News&act=showarticle&sid=17365&utm_source=twitterfeed&utm_medium=twitter

HTC tung ra tới 5 mẫu điện thoại thông minh chạy hệ điều hành Windows Phone 7 mới
http://sohoa.vnexpress.net/SH/Dien-thoai/Smartphone/2010/10/3B9B31FA/

Samsung, LG và Dell cũng tung ra các mẫu di động chạy Windows Phone 7
http://sohoa.vnexpress.net/SH/Dien-thoai/Smartphone/2010/10/3B9B31FB/

Dùng C# viết windows service

Các bài hướng dẫn bằng tiếng Anh có vẻ có nhiều, nhưng phần lớn các bạn post những bài tiếng Anh ấy lên các diễn đàn đều không giải thích cũng như dịch lại, mà thuần là copy paste, cho nên LockeVN mỗ cảm thấy nếu viết một bài hướng dẫn nhanh bằng tiếng Việt thì vẫn hữu ích.

Viết bằng VS2008 và C# rất tiện, rất nhanh, dễ hiểu, gọn, chỉ cần làm theo vài bước đơn giản là được.

OK, rào trước đón sau đủ rồi, giờ bắt đầu, ngắn gọn.

1. Mở Visual Studio ra (dùng bản VS2008 cho tiện),
Tạo một Project mới, chọn C#, chọn windows, chọn Windows Service, đặt tên project “MyService”, OK.
2. Chỉnh vài setting nho nhỏ
Chuột phải vào project, chọn Startup Object là MyService.Program nhé
Nhìn vào Solution Explorer, chuột phải vào Service1.cs, chọn Rename, cho nó một cái tên mỹ miều hơn nhé “FirstService”, nhấn Yes để nó tự thay đổi các file khác.
Nhìn vào Solution Explorer, Nhấn vào FirstService.cs, Nhấn Shift F7, mở ra màn hình Design, chuột phải vào màn hình Design (ở giữa ấy) chọn Properties, chỉnh các thông số của nó trong khung Properties nhé, quan trọng nhất là cái ServiceName, đặt tạm là “mysvc”

3. Nhớ là dùng System.Threading.Timer, đừng dùng các Timer khác (kẻo bạn sẽ hối hận và tốn thời gian vô cùng)

4. Thêm bộ Installer
Sửa các thuộc tính sau

5. Cài đặt
mở Visual Studio 2008 Command Prompt
Để cài đặt, Gõ installutil /i “MyService.exe”
Để gỡ bỏ, Gõ installutil /u “MyService.exe”

Đôi khi việc gỡ bỏ service không hề dễ dàng (nhất là khi code lỗi, code lỗi phần installer, chỉnh sửa project setup), không thể uninstall đc, mà không uninstall được thì bạn sẽ không cài lại được, không thử tiếp được :D . Cho nên ta vẫn phải cần tới cách gỡ bỏ windows service bằng tay.

  • Vào menu Start, Run, gõ regedit, enter
  • Chuyển đến nhánh key (bên trái) HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
  • Xoá nhánh service nào bạn thấy bị lỗi.
  • Khởi động lại.

Chú ý: đừng làm việc gỡ bỏ bằng tay này nếu không hiểu rõ ràng bạn đang sửa cái gì, hoàn toàn tự chịu trách nhiệm đấy nhé.

Tham khảo

http://www.grinn.net/blog/dev/2008/01/windows-services-in-c-part-1.html

http://www.codeproject.com/KB/system/WindowsService.aspx

http://www.aspfree.com/c/a/C-Sharp/Timer-Objects-in-Windows-Services-with-C-sharp-dot-NET/

Hide system tables in SQL Server’s Enterprise Manager

Many people don’t like the clutter provided so graciously by the existence of all the system tables, objects and stored procedures in SQL Server’s user interface. To get rid of the system objects, just right-click the server in question (in MMC), choose “Edit SQL Server Registration properties…”, and uncheck “Show system databases and system objects” … hit OK and that clutter should disappear, making direct manipulation of your data much easier. This will work in both SQL Server 7.0 and SQL Server 2000.

In SQL Server 2005‘s new tool called Management Studio, go to Tools / Options / Environment / General and choose “Hide system objects in Object Explorer.” Unlike Enterprise Manager, where this setting takes effect immediately, you will need to restart Management Studio to get rid of the clutter.