Pages

Sunday, January 11, 2009

Disk Cleanup: WER Files

While running JkDefrag I noticed that there are many WER report files. Windows Error Reporting files are located in your profile folder (C:\Users\<user>\AppData\Local\Microsoft\Windows\WER). There are Gigabytes of these files that noone really needs. To remove them, use DiskCleanup utility in Windows so that they are deleted properly.

The same utility can be used to delete older restore points and free some additional space provided you need the later and not the former.

Forced dismount of an USB drive

The operating systems I use seem to like my USB external drive so much that they hardly want to let go of it once it is attached. Hence, I'm looking for a nice way to force them to release the handles on the drive and allow proper disconnect.

The only way I found so far is to use chkdsk /f on the drive, which seems to call some API that does what is required.

Error installing Expression Web 2

"Installation of the "Microsoft Expression Web 2" product has reported the following error: -2147024873."

I can not install Expression Web 2. Some people in the forums mention different causes and solutions.
My first try is to remove Office 2007 Enterprise and try installing Expression Web 2 again. That did not change anything. After this, I went into "installer" folder under Windows and manually removed all the remains from Office 2007. Still no progress. Expression Web 2 installation fails.
Then I installed Office 2007 Ultimate and, after that, Expression Web 2 installed successfully. Weird.

Saturday, January 10, 2009

PerfectDisk 2008 Boot-Time Defragmentation Not Working

When attempting to perform a boot time or offline

I tried to perform a boot-time defragmentation of the system drive with PerfectDisk 2008 but it failed complaining about non-compatible driver and being unable to lock the system drive.
Fortunately, software has an option of scanning the system to find known incompatible issues and help in fixing them. In my case it reported sptd.sys. Using that as a keyword I was able to find the above page in the Support section. Reading through that, I realized I had more than one issue...
  1. SPTD is a driver used by Daemon Tools. Updated driver, that does not lock the system drive during boot-time, can be downloaded from here.
  2. Comodo Firewall. Registry entry "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\inspect.sys\Start", contrary to the support article, contained 3. This one is changed manually using RegEdit.
Unfortunately, handling both of these issues did not help at all. Still can't do boot-time defragmentation.

Update:
I finally found some time to fix this issue. The resolution is listed in a new post - here.

Thursday, January 08, 2009

Live Mesh Community

In order to fix things with Live Mesh, as it is still in beta stage, it is necessary to be a part of community. So, hereby are the links to important places related to Mesh...

  • Connect site, used to submit bugs and report issues directly to development team.
  • Forum, used for discussion about Live Mesh. Some help can be received here, too.
  • Blog, used to announce developments and issues by the development team.
There are other sites and blogs related to Mesh, usually maintained by development team members. When I run into one of those again I will post the links here.

Wednesday, January 07, 2009

Mesh Conflict Resolution - A Tip

Here's a golden tip if you have many conflicts in Live Mesh: Go offline! Simply set Mesh client to work in offline mode and save yourself a ton of time. Mesh client tends to send changes you make in conflict resolution back to the server. But, right after that it retrieves the feed with changes back and does something to it. Whatever it is, it is taking a lot of processor power and is slowing the whole process significantly.
Many hours have been wasted before this realization. Use it. :)

Mesh Synchronization Issues - Won't Download

Update 2009-01-20:

A tip from Microsoft states that attached drives (USB, network, etc.) are treated differently than the physical ones. As I was using a TrueCrypt virtual drive this was causing the problem. Files and folders synchronize if attached to a physical drive!

Original post:

I'm having strange issues with Live Mesh today. There are a couple of folders where I noticed different problems.

- One folder, containing keepass database does not synchronize at all. No matter what I do (stop synchronizing and start again, uninstall Mesh and install again) it does not download files from the Live Desktop onto the computer I'm currently using. The synchronization used to work but is now acting strange.
The only thing I notice is that the folder is marked with attribute R, for Read-Only. That is funny because this is how the folder is marked when Live Mesh creates it. Even if I stop synchronizing and delete this folder, then create it automatically by subscribing to that folder through Mesh, it still gets the R attribute. Manually removing the R attribute does not change a thing and files are still not synchronized.
I have to say that Mesh DOES download the files but it does not create them in the folder. I checked the permissions and could not find anything wrong. The Moe runs under my account credentials and it is a member of administrators.

I also uploaded file through browser directly to Live Desktop. The file gets downloaded, technically, which can be seen as the progress bar for download activates after a few seconds. But, the file is not created in the local folder.

Must be something with permissions or UAC, unless it is a service and client change at Microsoft again.

Update:
Checked through the log. The error reported is the following:

ErrorDescription=System.IO.IOException: Failed to move the file with TxF C:\Users\siljaka\AppData\Local\Microsoft\Live Mesh\GacBase\Assembler\97bc5936-399e-4998-92fc-3c233039a2ac-d1f9284d-be0d-4da8-999b-ddca4e02bae2.fnl to I:\Alen\devel\Windows Sidebar Gadgets\blah.txt! Error = 6801
at Microsoft.Live.Moe.Synchronization.Platform.FileSystemRealizer.TxFFileSystemRealizer.CreateFile(String path, String downloadedPath)

Tuesday, January 06, 2009

WCF and Linq to SQL

Since Linq to SQL creates a nice data model, there is no point in re-creating the entities again as DataContract objects that can be serialized and sent to clients. Linq entities can be used directly, saving you some time. But, this is not the default behavior.
To enable this behavior open the data model (dbml) in designer and then go to Properties. Adjust Serialization Mode to Unidirectional as in the image below



That is all. The entity objects are now serialized and can be returned directly from a web service call. They can be sent either individually or as a part of a collection/list. Wonderful.

Linq Deferred Execution

Linq defers the execution of a query until either of the following is encountered:
  • .ToList()
  • foreach
This means that the query is sent to the data source (i.e. SQL Server) only once the code reaches one of the above statements - when the query results are actually needed to be used.

Friday, January 02, 2009

memcached: distributed memory caching system

memcached: a distributed memory object caching system

This solution has been recommended somewhere as the solution to reduce the load on database. It is another distributed memory caching system, similar to NetScaler or Velocity.
It's focus in on alleviating database load in web server applications environment. The magic it does comes from its scalability. It utilizes multiple servers and distributes load to their memory and CPU power.
There is a story of caching that, in an interesting way, explains how memcached works.