Profile

Click to view full profile
Hi, I'm Veerapat Sriarunrungrueang, an expert in technology field, especially full stack web development and performance testing.This is my coding diary. I usually develop and keep code snippets or some tricks, and update to this diary when I have time. Nowadays, I've been giving counsel to many well-known firms in Thailand.
view more...

Saturday, May 31, 2014

Rename Network in Windows 8

Take a look on:http://superuser.com/questions/550178/how-can-i-rename-a-network-in-windows-8.

Open regedit and edit the following of these registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Nla\Cache\Intranet
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged

Wednesday, May 7, 2014

Get video thumbnail using MediaPlayer class

Normally, in order to get a thumbnail from a video file we may use well-known software like FFMPEG. But now we can do it natively in C# using MediaPlayer class in WPF (which need to import PresentationCore.dll). We can use the following solution for both web and windows form application as described: Getting Thumbnail from Video using MediaPlayer Class in WPF.

Saturday, March 8, 2014

Access denied when starting a Windows service (error 5)

When installing a Windows service, sometimes we can install it but cannot run it. One of the problem I found access denied. It may be caused by the folder that used to install the service does not have a permission to access the folder. Then, we need to check that NETWORK SERVICE account is allowed to access that folder because the Windows service using this account to execute services.

Friday, February 28, 2014

Access shared network from Windows Command Prompt

To access network shared folder from Command Prompt, it cannot use cd command. In order to access shared folders, we need to mount it as a new drive by run the following command:
// Method 1
net use [drive letter]\\[machine]\[folder]
// Method 2
pushd \\[machine]\[folder]

// Example 1
net use z: \\machine_name\shared_folder_name
// List folders on shared drive
dir net use z:

// Example 2
pushd \\machine_name\shared_folder_name
Both methods can do the same things, but the different is the second method will allocate and change current directory to the new drive automatically by the allocated drive is started from unused reversed alphabetical order.
To remove mounted drive, we can use the following command to delete it.
net use [drive letter] /delete

// Example
net use z: /delete

Monday, January 27, 2014

Static method behavior in multiple threads (Java / C#)

Static method behaviors in multiple threads is the same to normal method that used from a class instance. The difference is that we can call it from class directly. Static method will create its own copies for its local variables because each thread has its own stack. The only things concerned in multiple threads are static fields, static objects. If the objects can be accessed from multiple threads, it need lock or synchronize.

References:

Tuesday, January 21, 2014

Python Tools for Visual Studio

Recently, I have tied to get back to Python. One problem when I get back into it is IDE. I did not mean that Python IDEs are not good but I am really get familiar to Visual Studio. Now, there is a good new for Visual Studio user that now it has an extension on Visual Studio support for Python. Link: http://pytools.codeplex.com/.

Friday, January 10, 2014

Calculate Indexes size in SQL Azure

Why need to calculate size for indexes? It's simply because in Azure management portal show only the size of raw data not for indexes which indexes size is also included to count them as total storage used. I faced this problem during spamming data on 1GB size of SQL Azure. In my management portal show around 600MB is used but when updating the indexes, it show message like 'The database has reached its size quota' and receive an error code 40544. This problem may occurred depends on your indexes size growth rate. So, in order to track the size of our indexes use the following command to check:
SELECT (SUM(reserved_page_count) * 8192) / 1024 / 1024 AS DbSizeInMB
FROM    sys.dm_db_partition_stats
To track the size for each indexes, use the command below instead:
DECLARE @SizeInBytes bigint
SELECT @SizeInBytes =
(SUM(reserved_page_count) * 8192)
    FROM sys.dm_db_partition_stats

SELECT idx.name, SUM(reserved_page_count) * 8192 'bytes'
FROM sys.dm_db_partition_stats AS ps
    INNER JOIN sys.indexes AS idx ON idx.object_id = ps.object_id AND idx.index_id = ps.index_id
WHERE type_desc = 'NONCLUSTERED'
GROUP BY idx.name
ORDER BY 2 DESC
References:

Friday, November 22, 2013

Debugging a Published Cloud Service with IntelliTrace and Visual Studio

Take a look at this link: http://msdn.microsoft.com/en-us/library/windowsazure/ff683671.aspx. It contains the steps to enable and download IntelliTrace files back to diagnosis log files in Cloud Service on Windows Azure.

Wednesday, November 13, 2013

Saving and Restoring State in a Windows Store App (C#/XAML)

Walk to this link: http://blogs.msdn.com/b/robertgreen/archive/2013/01/30/saving-and-restoring-state-in-a-windows-8-xaml-app.aspx.

He already show how to drive down step by step and make me clear where to configure the code for how to save and restore state in Windows Store App.

Thursday, October 24, 2013

Web Test Recorder on Internet Explorer 11

Recently, I have got a problem about using Web Test Recorder after upgrading to Windows 8.1. It has come with the new version of internet explorer i.e. version 11. That doesn't compatible with current Web Test Recorder version (we have to wait until new release to support IE11). However, there is a workaround for this problem. Try to disable Enhanced Protected Mode, then it should work. If not, follow this link: http://blogs.msdn.com/b/visualstudioalm/archive/2013/09/16/using-internet-explorer-11-and-not-able-to-record-a-web-performance-test-successfully.aspx. It contains information to disable something new which doesn't support on Web Test Recorder.