Rexiology::Work

Microsoft, Information Technologies...

Community

News

  • From Taiwan, living and working at Tokyo, Japan.




Recent Posts

Tags

Microsoft Sites

Other Sites

Blog pools

Bloggers

Archives

Site Info



Locations of visitors to this page




Logos & Chicklets


GeoURL


Rex's Certifications
Rex's Certifications


Creative Commons授權條款
本 著作 係採用
Creative Commons 授權條款



May 2007 - Posts

TechEd 2007 is coming (6/4~6/8)...

crosspost from http://blogs.msdn.com/rextang

The annual Microsoft pilgrimage TechEd 2007 is starting next week. From 6/4~6/8 at Orange County Convention Center of Orlando, Florida , USA.

The main topics of this year's TechEd, at I.T. side should be:

  • Windows Server 2008
  • The 2007 Microsoft Office System
  • Microsoft Windows Vista
  • Exchange Server 2007
  • etc...

The main topics of Developer side should be:

  • Visual Studio codename "Orcas"
  • ASP.NET / AJAX / IIS7
  • The 2007 Microsoft Office System
  • .NET Framework 3.0
  • LINQ
  • etc...

The keynote speaker this year will be Microsoft Senior VP Bob Muglia. This year's attendee party will be at Islands of Adventure of Universal Studio Orlando at day 3, which is little bit different from the Theme park I've been at TechEd 2005.

There is Virtual TechEd 2007 site features webcasts, blog rolls for the upcoming information, people attending TechEd usually update blogs in real time so you can get latest news even if you can not attend the events. TechEdBloggers.net is another TechEd blog roll site for information.

Although I am not able to attend this event this year, I am looking forward those of you who will be there to update the info on the internet. Have a good time at sunny Florida!! :)

Some .Net Blog Framework references...

crosspost form http://blogs.msdn.com/rextang

Just did a quick search on CodePlex about open source .Net blog framework, and here are some blog frameworks that I am watching:

Also found BlogML project that can convert blog contents in different blog systems to unified formatted content to enable transferring between blog systems.

Also found Screwturn Wiki system on BlogEngine.Net doc page, which is another nice open source wiki system other than FlexWiki by Craig Andera.

FYI.

Soft reset your ipod video...

crosspost from http://blogs.msdn.com/rextang

My ipod video just freezed the other day and since there are not many buttons I can not even turn it off . since it's also a software system I thought there must be a way to soft reset it instead of just leaving it there until the battery runs out.

Just found this post for reset ipod video by:

1. Toggle the Hold switch on and off. (Slide it to Hold, then turn it off again.)
2. Press and hold the Menu and Select buttons until the Apple logo appears, about 6 to 10 seconds. You may need to repeat this step.

I did it only one time and my ipod reset itself and back to normal.

FYI.

Technorati tags: , , , , ,
Posted: 2007/5/30 13:02 by rextangtw | with 1 comment(s)
Filed under: ,
So Google is buying FeedBurner...

crosspost from http://blogs.msdn.com/rextang

According to TechCrunch report at 2007/05/23, Google is buying RSS management company FeedBurner at a $100 million deal.

I believe that many bloggers are using FeedBurner to manage rss feeds and distributing traffic from self-own site (including me). and FeedBurner had proved that it's a good platform to do this job. Congrat. to FeedBurner to get more fund that should be able to provide better services in the future.

Just found interesting info about the acquisitions of Microsoft , Yahoo!, and Google those years. at Google side, Blogger, Picasa, Keyhole (for Google Earch), Where2 (for Google Maps), Youtube, and coming DoubleClick and FeedBurner are having impacts on the internet. at Yahoo! side, Flickr (photo management), Konfabulator (widgets), del.icio.us (social bookmarking) also having big impacts on internet. at Microsoft side, although still not having much impact on internet, Groove Networks (for Microsoft Groove 2007), Connectix (for Virtual PC), Winternals (for SysInternals tools) should still mark a good point for client and developer side software.

Looking at Great China and Taiwan's dominations, Google got 2.7% stock share of China's major searching engine Baidu, Yahoo! got 40% stock share of major China B2B site Alibaba, also got Taiwan's major photo-sharing and blog platform Wretch.cc . At Microsoft side seems currently no major acquisitions on those major influence site in China and Taiwan.

Maybe Microsoft should buy Technorati or Newsgator to get into the field of major web sphere... well, just a suggestion...

FYI.

FullText Search Provider for CommunityServer 2007...

crosspost from http://blogs.msdn.com/rextang

So people in Asia that using CommunityServer for forum or blog system should know that the search function will not work for asian languages like Chinese, Japanese, as well as Korean. the reason is that CommunityServer had built-in hashcode-indexed keyword search mechanism that will only work for languages like English that using space as seperator, but won't work in language like Chinese since there are no spaces to seperate words.

Also by using this indexing mechanism the index table will grow in a timely basis. usually result in big database size and sometimes will cause issues in a web-hosting environment because the disk space is limited.

Since CommunityServer 1.1, I've been solving this problem by modifying CS source code to change the search mechanism back to traditional fulltext search on post's title and body. At CS2.0 era, I didn't catch up the trend to upgrade my system but my friend Jeffrey at Taiwan upgraded his blog system to CS2.0 also digged into the source code and had a modified fulltext search engine for CS2.0.

As I didn't upgrade my blog system to CS2.0 but instead to the latest version of CommunityServer 2007 (CS3.0), the last task behind the whole upgrade is to re-write a fulltext search provider to be able to search Chinese / Japanese / English content in my box. As I figured out that by forcasting my work-load later I won't have time to do this anymore, I decided to use this weekend to finish this task. and finally it's done!!! (although it's now Monday morning at 6:30am while I am writing this post and I am going to work soon without sleeping today... orz).

Thanks to CS 2007's provider model, now the modified search provider can be provided in binary form with easy installation by just copy the dll and modify the communityserver.config file. I also provided source code for reference. you can do a test in my personal blog site, it's now able to search English / Chinese / Japanese without problems.

Be caution that don't use this provider in big traffic site since every search will go against the content (cs_Posts) table and since it used a "like '%...%'" search, you can imagine the load to your SQL server and the performance...

Download the FullText Search Provider for CommunityServer 2007 here.

Enjoy~

 

ASP.NET ViewState Decoders...

crosspost from http://blogs.msdn.com/rextang

As I mentioned in my post couple days ago that I am doing some web application performance evaluation recently and found couple tools to use for getting perfomance data. Recently had found that actually there is one of perfomance bottlenecks that's due to huge ASP.NET ViewState content transmission during page requests (POST request) and responses, which cause big size result HTML and rendering time, not to mention the network traffics for delivering the contents. In order to find out what is contained in ViewState to target objects for code modification, it's necessary to have a ViewState decoder to help the work.

By digging the internet, some good tools were already there.  just make a list for reference here.

Articles to read:

Decoding Tools:

ViewStateAnalyzer 2.0.0 will not install on Windows Vista. Binary Fortress Software's stuffs just out couple days ago which is free and pretty easy to use (can run on Vista). the standalone version ASP.NET ViewState Helper can decode ViewState also have a ViewState tree for reference, while the Fiddler 2 extension version only decode the ViewState in the Session Inspector window and didn't parse the ViewState to tree. Since all my data is captured using Fiddler, the Fiddler 2 extension did a good job for me to have an integrated place to analyze data.

Although the ViewState content I am invesgating can not be parse / decode by those tools (been encrypted / compressed / etc) and I am still tracing the source code, those are pretty much of what I found on this ViewState topic. FYI.

TFS Guide Beta 1 available...

crosspost from http://blogs.msdn.com/rextang

[via J.D. Meier]

Just saw from J.D.'s blog that he just released beta 1 of Team Development with Visual Studio Team Foundation Server Guide, which should be a very good guidence for TFS.

Forward the contents index from J.D.'s blog as follows:

Contents at a Glance

  • Part I, Fundamentals
  • Part II, Source Control
  • Part III, Builds
  • Part IV, Large Project Considerations
  • Part V, Project Management
  • Part VI, Process Guidance
  • Part VII, Reporting
  • Part VIII, Setting Up and Maintaining the Team Environment

Chapters

  • Introduction
  • Ch 01 - Introducing the Team Environment
  • Ch 02 - Team Foundation Server Architecture
  • Ch 03 - Structuring Projects and Solutions
  • Ch 04 - Structuring Projects and Solutions in Team Foundation Server
  • Ch 05 - Defining Your Branching and Merging Strategy
  • Ch 06 - Managing Source Control Dependencies in Visual Studio Team System
  • Ch 07 - Team Build Explained
  • Ch 08 - Setting Up Continuous Integration with Team Build
  • Ch 09 - Setting Up Scheduled Builds with Team Build
  • Ch 10 - Large Project Considerations
  • Ch 11 - Project Management Explained
  • Ch 12 - Work Items Explained
  • Ch 13 – MSF Agile Projects
  • Ch 14 - Process Templates Explained
  • Ch 15 - Reporting Explained
  • Ch 16 - Team Foundation Server Deployment
  • Ch 17 - Providing Internet Access to Team Foundation Server

This should be a good practice guidence if you are managing team projects using TFS and Visual Studio, see what people at Microsoft using TFS on works.

FYI.

Minimize Office 2007 Ribbon toolbar by Ctrl-F1...

crosspost from http://blogs.msdn.com/rextang

[via Jensen Harris]

If you are a ThinkPad X60 user, you'll realize that your max screen resolution is only 1024x768 and that's pretty not enough when you are editing some large office documents like a big excel sheet. Especially after Office 2007 there was new UI interface called Ribbon Toolbar that normally occupied like 100 pixel on height of screen, plus the menu bar and the rulers, the working area will left only around 600 pixels height to use. pretty narrow!!

So, one thought is that if there is way to minimize or hide the Ribbon bar. and luckily the Office team do considered about this already.

Simply just press Ctrl-F1 to toggle the Ribbon bar on and off. and then I can get around 1024x100 pixels for the working area. well, still small, but better~

FYI.

Technorati tags: , , , , ,
Longhorn = Windows Server 2008...

crosspost from http://blogs.msdn.com/rextang

[via Win@Br]

So, as you may know from media or press, that the long waiting Longhorn Server is going to have the final product name: Windows Server 2008...

Technorati tags: , , , , , ,
Fiddler 2 (2.0.8.8) released

crosspost from http://blogs.msdn.com/rextang

Since recently my work is primarily related to Web Application Performance Tuning, some tools are needed to work efficiently.

Talking about web debugging / performance tuning tools, at Microsoft side the "Fiddler" tool should be a must one. recently it just released 2.0.8.8 version at 2007/04/12, which is as same as the "Fiddler version 2" group originally from 2006/08/09.

Fiddler and new Fiddler 2 can be installed side-by-side in the same box without problems, which Fiddler 2 provides HTTPS traffic debugging abilities. also the scripting ability is a plus for customizing debugging web applications.

While installing Fiddler, also noticed that IE Developer Toolbar seems also got new update at 2007/05/09 (version 1.00.2188.0), which is also a nice tool for debugging HTML DOM documents.

I wrote about another tool "WebDevelopmentHelper" couple months ago and today also found its documentation to read.

Since there is plug-in programming model existed in FireFox, there are many good tools to use for debugging web applications. what I am using now are:

you can find more web debug tools at this post (in Japanese).

FYI.

Technorati tags: , , , , ,

CommunityServer 2007 SP1 Available...

crosspost from http://blogs.msdn.com/rextang

[via Scott Watermasysk]

Just saw post from Scott that CommunityServer 2007 SP1 (build 3.0.20510.895) is available for download now.

I just downloaded it and used the SDK upgrade that:

  1. Overwrite original source with updated SP1 source code
  2. Doing a clean re-build of source code
  3. Update CommunityServer DB to SP1 using sql scripts provided
  4. Upload web's bin folder Dlls that was just re-compiled
  5. Upload modified Web files provided

and now my personal blog site is running CommunityServer 2007 SP1 without problems.

FYI.

CAPTCHA for CommunityServer 2007

crosspost from http://blogs.msdn.com/rextang

[via Thomas Freudenberg]

While my personal blog site was still in CS1.1 system, I used ReverseDOS to act as underlying spam filter also used Dan Bartels' CAPTCHA control for second level spam prevention tool.

While my blog site upgrading to CommunityServer 2007, I am still using ReverseDOS as the underlying spam filter. thanks to the HttpModule design of this application, the installation was pretty smooth by just adding the module to web.config file also copy the dll file to bin folder, and the spam filter config file I used in CS1.1 can be used in new version without modifications.

Then I am trying to find CAPTCHA control for using in CommunityServer 2007. It seemed pretty good while reading Jeffrey's post that Timothy Humphrey's CAPTCHA control for CS2.1 should be a choice but when I tried to recompile the source with CommunityServer 2007, found that the SubDomain module contained in Timothy's control can not build due to the reason that in CommunityServer 2007, the source code of class "CommunityServer.Components.SiteUrlsData" (at source code file ~\source\Components\Components\SiteUrlsData.cs)were all commented out and the class can not be found anymore. Also this CAPTCHA for CS2.1 required modification of skin ascx files to make it work but in the new skin architecture there were no ascx file anymore, means the whole skin rules that worked for CS2.1 may not work in CS2007, by those reasons I gave up using it as CAPTCHA in my blog site.

Later found that Brendan Tompkins had just done a CHAPCHA control exactly for CommunityServer 2007 (with source code published), I just downloaded it and use it as the CAPTCHA control on my blog site. as this control used ASP.NET 2.0 Control Adapter Architecture in the design, it had no need to modify skin file to let it work but just to add the CAPTCHA image generation http handler at web.config file, also add the control adapter definitions to default.browser file under App_Browsers folder, only those 2 steps the control worked for the entire CommunityServer site, pretty elegant and convenient.

Just one simple notice that (thanks to Yama's feedback), while testing this control one have to be in anonymous (not logged in) mode to see this control appears. in a user-logged-in state the control will not show up (since a logged-in user considered not spammers).

For more info about ASP.NET 2.0 Control Adapter Architecture, refer to this post.

Disable Windows Built-in Zip functionality

crosspost from http://blogs.msdn.com/rextang

Before Windows got Zip functionality included into system ones, WinZip was my zip tool. After Windows started including Zip functionality, it was also no problems for me using WinZip for usual operations, until someday while I was using CuteFtp to ftp files.

It happened while I was ftp-ing files using CuteFtp, at local folder pane, when I enter into a directory with zip files existed, the local pane acts so slow to display the folder tree and the CPU goes 100% during its processing.

Did a search via Google and found that there seems problems when using external zip programs that coexist with built-in zip functionality. to solve this, simplely diable Windows built-in zip functionality and let external zip program associated to zip files. to do this, simply do a dll unregistration of the built-in dll file:

regsvr32 /u %windir%\system32\zipfldr.dll

and simply when wants to re-enable it back, just register it again:

regsvr32 %windir%\system32\zipfldr.dll

after doing that, remember to re-open the external zip program and let the program associate zip file extension. By doing those steps my problem in CuteFtp was solved.

Technorati tags: , , ,
Windows Live Writer (Beta) stuffs...

crosspost from http://blogs.msdn.com/rextang

As I've upgraded my personal blog site to CommunityServer 2007, I decided to change my blog writting experience to totally use Windows Live Writer (Beta), the offline blog writing tools for various popular blog systems, including CommunityServer.

I wrote sevel blogs and found that using Windows Live Writer is pretty convenient to manage my writings among blog sites. also the offline writing experience is much better then writing using online web authoring form. expecially since CommunityServer 2.1 , most of the user interface was changed to using AJAX stuffs, which is good but when in a slow networking environment, it causes more time to deal with those fancy UI interactions, even the simple ones like adding a url link in posts or upload an image to CS photo gallery, the roundtrip is annoying.

It took me some time to get used to the new writing environment. and I did utilize some Live Writer plugins to smooth my writing operations. here is some plugins I like to document here for further references.

For the most of Windows Live Writer plug-in galleries, visit official Windows Live Gallery, or Windows Live Writer Plugins site, or search Codeplex site for them with source code.

Since I am not getting into posting source code for now, the most urgent one is to smoothly upload and post images while I am writing posts. and here are some image posting plugins I am using now:

#Flickr4Writer: Search and insert images from Flickr site, no photo uploading functions.

#Picture Post Plugin: Post pic from local drive and it upload the pic to Flickr and add image to post for you.

#CommunityServer Gallery Plugin: Post pic from CommunityServer photo galleries, also can upload pics back to server.

CommunityServer Gallery plugin is exactly the one I need since I store my post images in CS Galleries. But not sure if it's compatible with the latest CS 2007, 2 of my galleries were working well but I got problems while getting images from one of my CS Gallery and exception occured:

Unexpected Error Occurred
An unexpected error has occurred within the application.

System.InvalidOperationException: There is an error in XML document (1, 3663958). ---> System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 3663958.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Int32 pos, Char invChar)
at System.Xml.XmlTextReaderImpl.ParseNumericCharRefInline(Int32 startPos, Boolean expand, BufferBuilder internalSubsetBuilder, Int32& charCount, EntityType& entityType)
at System.Xml.XmlTextReaderImpl.ParseCharRefInline(Int32 startPos, Int32& charCount, EntityType& entityType)
at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
at System.Xml.XmlTextReaderImpl.ParseText()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlTextReader.Read()
at System.Xml.XmlReader.ReadElementString()
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderGalleryService.Read4_GalleryPost(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderGalleryService.Read24_GetAlbumPicturesResponse()
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer37.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at CSGalleryPlugin.CommunityServer.GalleryService.GetAlbumPictures(Int32 albumID)
at CSGalleryPlugin.CSGalleryCache.LoadAlbumPictures(Int32 albumId)
at CSGalleryPlugin.GalleryPanel.albumsTreeView_AfterSelect(Object sender, TreeViewEventArgs e)
at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
at System.Windows.Forms.TreeView.WmNotify(Message& m)
at System.Windows.Forms.TreeView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

also, the plugin is pretty designed but since CS Gallery got some default sizes to use via url (pic-id/original.aspx , pic-id/500x375.aspx, etc), this plugin was not provided those options for choosing and since I usually using 500 width images, it became not that useful for me while now.

While at CS1.1 age, Dan Bartels' plugin of FreeTextBox.CSImageGallery was my favorite one for doing image operations in CommunityServer. simple and elegant pop-up browser of one UI for select and upload images from local, no fancy AJAX stuffs, easy and efficient to get image ready in post and continue the whole writing. See if Dan will do a WLW plugin with the same usage and I'll be very happy to test it.

Since CS Gallery Plugin is not well working in my site and I didn't have time to dig into the source code to fix my problem right now, what I am doing is to upload images to CS Gallery via CS Photo Admin panel, get the url and then past back to Live Writer.

There is also another trick while post images when writing post using Live Writer. Live Writer's editing UI is different from web-based FreeTextBox UI, when adding url link to text it's easy to be done like usual, but when one wants to add url link to the image, it's not as intuitive as doing it in FreeTextBox.

First of all, there is no icon in the right Insert toolbar to simplely insert html image tag, only that Insert Picture icon appeared (this is to insert local image file). one have to go to Insert menu at the menu bar to find that "Insert Picture from Web" function to use. After insert the picture from an url, to add a link on the image, click the image and see the image property window on the right side, select the Image tab and add the url link there. for details refer to this post.

That's pretty much of what I found for now about image operations while posting blog using Windows Live Writer. will update more when I find any thing new.

Overall, I think Live Writer is good to use, and of course, this post is written using Windows Live Writer (Beta)!!

CommunityServer: Auto Name Posts setting...

crosspost from http://blogs.msdn.com/rextang  

Saw Jeffrey's posts (written in Chinese) couple days ago while my blog site system upgrading to CommunityServer 2007, about recently the trend that to name post in title name for easy identification, but when the title name is not written in English (in this case, Chinese), the system will strip non-English words thus cause highly chance to have duplicate post urls.  Jeffrey's workaround was to modify CS2.1 source code to add the logic that when the title name contains non-English, will change back to post-id naming rule.

Actually I do think that it's pretty good to using post-id style urls for posts, to avoid those potential duplications. and actually it doesn't have to modify source code to let CommunityServer acting back in this way.

Found in CS2.1 (the blogs.msdn.com site) also in CS 2007 site (my blog site) that at the blog control panel under Global Settings / Default Settings for new Posts , at the last option, there is an "Auto Name Posts" choice for user to set if you want the old fashion post-id style (choose No) or the title-name-url style (choose Yes).

I just set the option to No for the post-id style url for all my blog sites since I do have post titles written in Chinese as well as Japanese.

FYI.

Technorati tags: , ,
More Posts Next page »