WLWPlurk 2.0 installer release

這幾天弄了好久~ 好不容易把Windows Installer XML (WIX) 3.6給搞懂。
等等寫另外一篇來記錄詳細資料,在這裡先請有需要安裝檔的去下載吧。

http://wlwplurk.codeplex.com/releases/52834/download/342411

有任何需要改進的麻煩留言告訴我!!

WLWPlurk 第二版發布

欠了好久~ 總算一口氣把它寫完:
請到這裡下載: http://wlwplurk.codeplex.com/

  1. Upgrade code with VS2010.
  2. Add login page for change account. Using registry to save your login information.
    WLWPlurk_1.jpg
  3. Add post content page to let you modify your plurk before post it.
    WLWPlurk_2.jpg

How to use it:
Just download this binary, extract it and put on your Windows Live Writer plugin folder such as C:Program FilesWindows LiveWriterPlugins

This project implement base on two major component:

  1. Json.net (http://json.codeplex.com/)
  2. NPlurk (http://nplurk.codeplex.com/)
    You need plurk API key from http://www.plurk.com/API/ to use this source code.

MICROSOFT WINDOWS 8 BUILD STUDY NOTE (4)

HW-59T - Improving performance with the Windows Performance Toolkit

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/HW-59T

Note:

  • Motivation for performance analysis:

    • Performance related to multiple layered impact such as : hardware, OS, other application and process impact.
  • Stage of performance improvement:

    • Preception –> Measurement –> Analysis.

    • It will be back and forth after analysis and re-preception.

  • Tool list:

    • Trace Capture: Windows Performance Recorder

    • Tacce Analysis: Windows Performance Analizer

  • Things to look out:

    • Don’t assume you know what’s wrong.

    • Don’t enable too much instrumentation

    • Don’t trace longer than you need.

PLAT-203T Async everywhere: creating responsive APIs & apps

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/PLAT-203T

Note:

  • Async only support on some API:

    • XAML, Tile on UI

    • GPS and portable debice on Device

    • All network and communicate

    • Applifetime, Authentication, Crytography on Fundamental

  • Await

    • Await is a simple way to against async API.

    • Await will make the async highest priority and let the compiler know here need to wait the result come back. Code will run as sequencial.

  • Error handling

try { FileOpenPicker p = new FileOpenPicker(); p.FileTypeFilter.Add(".jpg");ry var operation = p.PickSingleFileAsync(); operation.Completed = (IAsyncOperation f) => { MyButton.Content = f.GetResults().FileName; }; operation.Start(); catch(...) {}</blockquote> * try catch will only cover RED one, it need refine code to cover whole scope
try { FileOpenPicker p = new FileOpenPicker(); p.FileTypeFilter.Add(".jpg"); MyButton.Content = (await p.PickSingleFileAsync()).FileName; } catch(Exception e) {}
* It will separate into “RED” and “Green” one but still cover on try catch. * 5 top tips from presenter. * Don’t worry about the COM apartment. * Remember to start your operation. * File picker cancel != Async Cancel * It will complete but return NULL. * “use exception for exceptional things” * Don’t worry about Dispatcher.Invoke… * Don’t worry about the concurrency Refer: [http://blogs.msdn.com/b/ericlippert/archive/2010/10/29/asynchronous-programming-in-c-5-0-part-two-whence-await.aspx](http://blogs.msdn.com/b/ericlippert/archive/2010/10/29/asynchronous-programming-in-c-5-0-part-two-whence-await.aspx)

MICROSOFT WINDOWS 8 BUILD STUDY NOTE (3) ABOUT touch

APP-186T - Build advanced touch apps in Windows 8

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-186T

  • Major point of touch app design:

    • Unify pen and touch into PointerPoint

    • Get mouse and pen for free

    • performance performance and performance

  • Touch and Gesture support in framework

    • Metro app with HTML or XAML—> Gesture event

    • ICoreWindow –> Using point (touch simulate mouse click)

    • Windows Runtime –> PointerPoint with GestureRecognizer

  • PointerPoint:

    • Whole related point implement is here, HID data also can get using PointerPoint.
  • GestureRecognizer:

    • It just like the Win7 multiple touch support on MSFT, it support kind of gesture such as:

      • Tap, Hold, rotate and Scale
    • But more support on Win8 such as:

      • HoldWithMouse?

      • RightTap

        • To simulate with right click on mouse, such your finger about right click here.

        • mmmm….. it should be MSFT patent here for right click.

  • For desktop developer, MSFT also support full Windows Runtime about Gesture support –> Great!

    • WM_Point –> the same as usual

    • InteractionContexts –> mirror GestureRecognizer. Don’t forget WM_TOUCH and WM_GESTURE still support here.

    • Pointer device –> identify source device (touch panel, mouse or other.)

Web browser for Windows 8

It need note that Windows 8 has two version of IE (it should say, one application but two entry for different mode)

  • Desktop IE

  • Metro IE

But it is very tricky, if you type “open http://Web” on desktop explorer will open “Metro IE

When you try to use this command to open web side, please note metro browser will be default option, not desktop browser.

ShellExecute(NULL,TEXT(“open”), TEXT(“http://msdn.microsoft.com”), TEXT(“”),NULL,SW_SHOWNORMAL);

To specific using desktop browser, it should specific command on [HKEY_CLASSES_ROOThttpshellopencommand]

MICROSOFT WINDOWS 8 BUILD STUDY NOTE (3) About ListVIEW

APP-209T Build polished collection and list apps in HTML5

refer: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-209T

  • Collection: A set of related user content.

  • This session talking about how to write customized list view by WinJS by uing

    • Data Source

    • Item Render (CSS)

    • Layout (WinJS.UI.GridLayout)

  • It could be easy to select image list view import your data source and put basicc control on your list view.

  • Multi-select already support just add one propoties on it. (selectionMode = ‘multi’)

  • ListView is easy to grouping if you could provide detail data of each item, group rule and group render (to descript how to group).

  • Symantic Zoom:

    • It is a way to zoom out/zoom in by semantic  (such of “category”, “date”). It look like “Group By”.

    • ListView also provide semantic zoom.

    • Easy to implement to change <div id> to “zoomOutView” and related data control.

  • If app is snapped (snapped on side).