This is a mirror of official site: http://jasper-net.blogspot.com/

Top 10 Silverlight Myths and the Facts to Bust Them

| Tuesday, March 2, 2010
Silverlight is a client side plug-in based technology that has been in production since late 2007. I've been a web developer for well over a decade now, and recently have focused almost exclusively on Silverlight since version 3.0 was released. It astounds me how many people still resist Silverlight because they either don't understand what it is or haven't taken the time to research the capabilities it provides. Silverlight is a strong, mature technology that is being used on production sites to deliver powerful applications right here, right now. It's not emerging and it's not experimental.

From my experience answering questions about Silverlight on both Twitter and various forums and discussion groups, I've come up with ten common myths that I hear of over and over again. My hope is this one post can serve as a central place to address those myths, provide the facts that bust the myths, and help potential Silverlight users and developers better understand and take advantage of what I consider to be amazing technology. Feel free to share your thoughts in the comments at the end of this post and share this link with anyone who will gain value learning about the truth!

Myth: "Silverlight is mainly for video."

Fact: Video is only the tip of the iceberg.

Silverlight is a cross-browser, cross-platform, and cross-device plug-in used for creating rich applications on the Internet. In addition to a powerful video stack that makes it easy to deliver video using most of the widely available codecs, Silverlight also boasts a powerful client networking stack (making it easy to connect to third-party services like Facebook and Twitter, using SOAP, REST, or even raw TCP sockets). It has a robust data access model that uses a concept known as data-binding to render data. This makes it ideal for line of business applications due to the relative ease of taking business classes and exposing the data through a rich, interactive user experience. Silverlight also boasts a very robust layout and styling engine and comes with literally hundreds of controls and behaviors ready to be integrated into your applications.

To see what's possible with Silverlight, take a look at the Silverlight Showcase. For an example of how Silverlight provides an effective "line of business" experience, check out Microsoft's Health CUI Patient Journey Demonstrator.

Myth: "Silverlight requires Microsoft web servers to run."

Read more: C#er: IMage

Posted via email from jasper22's posterous

MMORPG programming in Silverlight Tutorial: Animate the object

|
Now, there are so many articles to introduce how to create animation in XAML by Blend, so I don’t plan to say more on this topic. It make many people puzzled “Silverlight is just Microsoft’s Flash, no difference”. If you follow this style, it will make no sense.
   We must do something to show all the potential of the Silverlight in game domain. So in my tutorial, I will use C# rather than XAML as possible as I can. It is more flexible in game architecture than Flash; at last, all the tutorials will make up a game engineer, which is my purpose that I want to achieve.


   Let’s return to the topic of this article, “How to create animation on object?”


   In Silverlight, there are 3 methods to create animation.


   1) Storyboard
   This method is recommended by Microsoft, so I introduce it at first.
   Now I will do a demo to show how to use Storyboard in C#.

   1st, create a Silverlight project, open the MainPage.xaml, modify the xaml file as follows:

<UserControl x:Class="SilverlightTutorialApplication.MainPage"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
   >
   <Canvas x:Name="Carrier" Width="800" Height="600" Background="Silver" MouseLeftButtonDown="Carrier_MouseLeftButtonDown" />
</UserControl>

   In this snippet code, I create a canvas named Carrier, and set its dimension to 800 * 600. I set its background to Silver, donot remove the background color, otherwise, if there is nothing in the canvas, it’s MouseLeftButtonDown event won’t be hired.

   Why I use Canvas as my container? Because canvas can do absolute positioning, it is convenient to handle object’s moving on it.

Read more: Jianqiang's Silverlight Blog Part 1, Part 2

Posted via email from jasper22's posterous

עבודה עם קבצי Wim חלק א

|
כפי שכבר הזכרתי בבלוג שלי כאן Wim היא הטכנולוגיה של מיקרוסופט ליצירת קבצי image כאשר הראיון המרכזי הוא שניתן לבצע את יצירת האימ'ג בתהליך לכידה באמצעות כלים כגון : imagex ו dism .

בחלק זה אתייחס ל לעבודה עם Wim באמצעות הכלי של imagex

WIm – מה זה ? נתחיל מהראשי תיבות Windows Imaging Format(WIm) .

החל מגרסת מערכת הפעלה ויסטה שיטת ההפצה השתנתה למבנה של Images וגם סיפקה כלי נחמד שנקרא ImageX .

בואו נפרט מה מכיל ה image או למעשה ה WIM :

אז למעשה מדובר ב image שמבוסס על file based (קבצים ) להבדיל מ images הקודמים שהתבססו על sector based , כמובן ששימוש ב Image מבוסס file מאפשר לנו מספר יתרונות על שאר images :

1. Wim לא תלותי בחומרה – כלומר ניתן לייצר קובץ אחד שיתאים למספר מחשבים .

2. קובץ wim אחד יכול להכיל מספר images בתוכו , ניתן לאחסן Images עם או בלי תוכנות בתוך wim אחד ,במקביל ניתן לסמן image כ bootable מה שאומר שניתן לאתחל את המחשב מקובץ WIM .

3. מאפשר דחיסה ברמת הקובץ .

4. מאפשר עבודה על קובץ במצב offline ניתן למחוק מהimage דרייברים או תוכנות בלי ליצור Image חדש. במקום לבזבז שעות על יצירת image ועדכון שלו מה שהיה מקובל ב XP רק נזכיר למי ששכח ב XP אם רצית להוסיף עדכון ל image שהכנת היית חייב לאתחל את המחשב עם המאסטר image להוסיף את ה עדכון ואז להכין את ה Image מחדש , החל מויסטה ניתן להוסיף את העדכון ב offline .

5. ה wim מאפשר לך להתקין את ה image על מחיצות ללא תלות בגודל המחיצה ,שלא כמו ב image מבוססי sector היית צריך להפיץ את ה image למחיצה באותו גודל או גדולה יותר מהמקור .

אלו למעשה עיקר היתרונת של פורמט wim זכרו file based image לעומת sector-based-image .

Read more: shayamar

Posted via email from jasper22's posterous

Getting started with code signing for under $100

|
I recently jumped in and acquired an Authenticode code signing certificate & key pair. It’s great being able to sign my .NET executables, installers, and even Visual Studio 2010 extensions.

I’m documenting my efforts here in the hope that others would be able to follow the relatively straightforward process – there’s not much magic other than learning to export and work with the certificate mechanisms inside Windows. But I know a lot of devs see it as a black magic art, and really it’s just about time, money, and some quick learning.

Windows 7 is leaps and bounds ahead of Vista in terms of usability. The improved User Account Control experience is nice. I think that a lot of people are finally becoming more wary of unsigned software, especially installers.

With the net full of stories of mirror servers becoming compromised, or people blinding clicking yes on many dialogs, the assurance of the dialog without the scary orange warning banner is the one I think every software developer would like to offer their customers. It’s the professional thing to do.

So here we are, from start (no cert) to finish (signing a .NET app). It only took about two days to go through the identity verification process, but the time was well worth it – and the rest is easy given the nice signing tools in Windows and Visual Studio.

We’ll be getting a certificate & private key through a trusted root certificate authority (CA) provider, not test signing or self-signing. If you’ve ever purchased an SSL certificate for your web servers, similar process.

For a list of current program members, see this download on the Microsoft site – there are hundreds of businesses and governments in the program.

Some corporate IT departments will have their own internal CA, so although those companies can sign apps for internal use, using them on machines without that CA cert installed will yield the un-trusted publisher dialog.

Read more: Jeff Wilcox

Posted via email from jasper22's posterous

Microsoft Visual Studio Test Professional 2010 RC – ISO

|
Microsoft® Visual Studio® Test Professional 2010 is a specialized toolset for quality assurance professionals, which delivers a brand new experience for test planning and manual test execution. Help eliminate waste across the application lifecycle and embrace change through the use of Test Impact Analysis, rich actionable bug filing and Fast Forward for manual testing. Create transparency and allow for better decision making through reporting integration with SharePoint. Aligns test teams with the application lifecycle, break the silos across your development and testing teams and enable them to collaborate more effectively. When combined with Visual Studio Lab Management 2010, Test Professional 2010 allows you to extend its capabilities to virtualized lab environment management and help accelerate your development and test lifecycles.

For more information on Visual Studio 2010 and the .NET Framework 4 visit http://www.microsoft.com/visualstudio/products/2010/default.mspx

Read more: MS Download

Posted via email from jasper22's posterous

Desktop Dimmer

|
A simple application for dimming the desktop around windows, videos, or other media.

Read more: Codeplex

Posted via email from jasper22's posterous

Windows Debuggers: Part 1: A WinDbg Tutorial

| Monday, March 1, 2010
Table of contents

   * Introduction
         o Overview of Debuggers
         o Comparison of Debuggers
         o WinDbg
         o PDB files
   * Debugging Scenarios
         o Remote Debugging
         o Just-in-time Debugging
         o 64-bit Debugging
         o Managed Debugging
         o Debugging Services
         o Debugging Exceptions
   * WinDbg Features
         o Debugger Extension DLLs
         o Dump Files
         o Crash Dump Analysis
   * WinDbg Settings
         o Symbol Files and Directories
         o Source Code Directories
         o Breakpoints, Tracing
   * Commands
         o Basic Commands
         o More Commands
         o Handy Extension Commands
   * Example
         o Suggested Exercises
   * Epilogue
         o Points to Note
         o Q & A
   * References

Introduction

In my professional career, I have seen most of us use Visual Studio for debugging but not many of the other debuggers that come for free. You may want such a debugger for many reasons, for example, on your home PC which you do not use for development but on which a certain program crashes from time to time. From the stack dump, you can figure out if IE crashed because of a third party plug-in.

I did not find any good quick starters for WinDbg. This article discusses WinDbg with examples. I assume you know the basic concepts of debugging – stepping in, stepping out, breakpoints and what it means to do remote debugging.

Note that this is meant to be a Getting Started document, which you can read and start using WinDbg. To know more about specific commands, consult the WinDbg documentation. You can use the commands presented in this document with any debugger provided by Microsoft, e.g. from the Command window of Visual Studio .NET.

This article is based on WinDbg 6.3.

This is the first of a series of articles on debugging. In my next article, I shall explain how to write debugger extension DLLs.

Read more: Codeproject

Posted via email from jasper22's posterous

WinDbg / SOS Cheat Sheet

|

 

Starting, Attaching, Executing and Exiting

 

Start -> All Programs -> Debugging Tools for Windows -> WinDbg

F6

attach to process

Ctrl-Break

interrupt debugee

.detach

detach from a process

g

continue debugee execution

q

exit WinDbg

 

Getting Help

?

help on commands that affect the debugee

.help

help on commands that affect the debugger

.hh command

view the on line help file

!help

help on the extension dll at the top of the chain (e. g., SOS)

 

Issuing Commands

up arrow, down arrow, enter

scroll through command history

Right mouse button

paste into command window

 

Examining the Unmanaged Environment

lmf

list loaded modules with full path

lmt

list loaded modules with last modified timestamp

~

list unmanaged threads

~thread s

select a thread for thread specific commands

!token -n

view thread permissions

k

view the unmanaged call stack

!runaway

view thread CPU consumption

bp

set a breakpoint

.dump path

dump small memory image

.dump /ma path

dump complete memory image

 

Working with Extension DLLs (e. g., SOS)

.chain

list extensions dlls

.load clr10\sos

load SOS for debugging framework 1.0 / 1.1

.unload clr10\sos

unload SOS

.loadby sos mscorwks

load SOS for debugging framework 2.0

 

SOS Commands

!threads

view managed threads

!clrstack

view the managed call stack

!dumpstack

view combined unmanaged & managed call stack

!clrstack -p

view function call arguments

!clrstack –l

view stack (local) variables

!name2ee module class

view addresses associated with a class or method

!dumpmt –md address

view the method table & methods for a class

!dumpmd address

view detailed information about a method

!do address

view information about an object

!dumpheap –stat

view memory consumption by type

!dumpheap –min size

view memory consumption by object when at least size

!dumpheap –type type

view memory consumption for all objects of type type

!gcroot address

view which object are holding a reference to address

!syncblk

view information about managed locks

 

SOS 2.0 Commands

!bpmd module method

set breakpoint

!DumpArray address

view contents of an array

!PrintException

view information about most recent exception

 


Read more: David Douglass

Posted via email from jasper22's posterous

TreeView and XmlDataSource

|
נניח שרוצים לקשר בין TreeView לבין קובץ xml

נקח לדוגמא את קובץ שערי המטבעות מבנק ישראל (שאפשר גם לעבוד איתו מקוד)

ונרצה להציג אותו ב - Tree

כשנכתוב קוד כזה


<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1">

</asp:TreeView>

<asp:XmlDataSource ID="XmlDataSource1" runat="server"

   DataFile="~/currency.xml"></asp:XmlDataSource>


כלומר נקבל את המבנה ולא את המידע בעצמו.

Posted via email from jasper22's posterous

Mono, MonoTouch + C# vs. iPhone SDK + Objective-C

|
Так сложилось, что моя деятельность в качестве разработчика программного обеспечения связана как с iPhone, так и с .NET технологиями. Если говорить, что первично, то это, конечно, .NET и C#, поэтому информация будет подана с точки зрения дотнетчика.

В статье хочу рассказать о небольшом опыте разработки одного проекта одновременно на mono с использованием MonoTouch и на родном Objective-C.
Описание проекта

Необходимо было разработать красивый эффект перелистывания страниц для одного iPhone приложения. Хороший пример того, что нужно было сделать, был найден в интернете в виде Silverlight-приложения.
Вариант №1: Mono + MonoTouch

Думаю, не нужно говорить, что такое Mono.

MonoTouch позволяет писать приложения на C# и компилировать их для iPhone, а также использовать .NET библиотеки.

Полный набор программного обеспечения:

   * Apple Mac OS X
   * утановленный Mono для Mac OS X
   * MonoDevelop
   * MonoTouch

Read more: Блог Краковецкого Александра

Posted via email from jasper22's posterous

MoleBox - Software Virtualization and Protection Solution

|
Why Virtualize Your Software

Traditional software installation process frequently requires administrator privileges, includes installation and registration of many components, and takes minutes or even hours of time. Another application using different versions of the same components may corrupt your installation. Virtualization solves all these problems, making software portable and allowing it to run instantly, independent of user privileges.

MoleBox Virtualization Solution

Built on a new technology, MoleBox Solution offers improved virtualization and reliable protection for native and .NET applications.
MoleBox is a software virtualization and protection tool that allows delivering your application as a portable stand-alone secure EXE file which runs instantly with zero installation.
MoleBox packs all application files into a single efficient executable file that works without extracting packed files to the hard drive and creating temporary files. MoleBox also applies a number of protection techniques to packed files, including anti-crack protection for EXE and dlls, resource protection, protection from modification for data files, and many more.

Read more: MoleBox

Posted via email from jasper22's posterous

Программа из одного exe

|
Как правило, при написании .NET программ используются не только классы из .NET BCL, но и сторонние библиотеки. Во время выполнения программы все используемые библиотеки должны быть найдены. Для этого зависимые dll кладут в одну папку с exe файлом.

Однако существуют программы, использующие сторонние библиотеки, но при этом состоящие из одного единственного файла. Все утилиты от SysInternals, а также любимый мной LINQPad представляют из себя один файл в котором содержится все, что требуется для работы. Пользоваться такими утилитами одно удовольствие — они сразу готовы к использованию, их удобно передавать и хранить.

В статье рассказывается, как создавать такие автономные программы из одного файла. Разобран пример как со сжатием зашить библиотеку AutoMapper в программу и как ее потом достать и использовать.

Код программы использует стороннюю библиотеку AutoMapper. Чтобы убедиться в работоспособности библиотеки после ее зашития в ресурсы, в программе вызывается код из семплов к библиотеке. Этот код здесь не приведен, ибо это статья не об AutoMapper. Но сама библиотека интересная и полезная — рекомендую посмотреть, что же она делает в коде.


Подход

Чтобы .NET код мог работать, в использующий его AppDomain нужно загрузить сборку, содержащую типы, которые используются в коде. Если тип находится в сборке, которая еще не была загружена в AppDomain, CLR производит поиск этой сборки по ее полному имени. Поиск происходит в нескольких местах, где именно — зависит от настроек AppDomain. Для настольных приложений это обычно GAC и текущая папка.

Если CLR не удалось найти сборку, вызывается событие AppDomain.AssemblyResolve. Событие дает возможность загрузить требуемую сборку вручную. Поэтому для реализации автономной программы, состоящей из одного exe файла, достаточно зашить все зависимые сборки в ресурсы и в обработчике AssemblyResolve подгружать их.

Подробности про механизм нахождения сборок можно найти в книге Essential .NET, Volume 1: The Common Language Runtime (Don Box, Chris Sells) — 8 глава, AppDomains and the Assembly Resolver секция.

Read more: habrahabr.ru

Posted via email from jasper22's posterous

8 Tips To Create Complete Test Cases

|
How can you explain to a beginner tester the idea of writing, executing and reporting of test cases? It’s a tough job, I found this quite recently by training a new person in the team. Everything I had in my head but there was not one clear and consistent explanation on the paper. Many years of experience, unfortunately, has not helped me to verbally justify and explain this issue. This post will be an attempt to complete my own thoughts and these coming from the environment.

Starting from the end again, because it will be easier, I can write:

   * Test Step – specifies an action to perform, and the expected response of the test application. For example: Action : Type the password in the password box, Expected result: Your password should be dotted / hidden.
   * Test Case – a list of test steps. Also defines the environmental situation and may link to related bugs, requirements etc.
   * Test Scenario – usually comes directly from business requirements or userstory. Management tools often ignore test scenario for linkage with a list of the requirements. Scenario contains a list of test cases and often their sequence.

As you can see, varies between a test case scenario is significant, and often the two concepts are confused.
How to ensure the quality of the test cases are created? How to manage their life cycle? How to deliver them quickly and when developers need it ?

1. Template – need one and complete template for creating test cases. We can create it in a text editor, spreadsheet or buy or customize the tool. I have written about this in the context of the JIRA.

2. Descriptive and specific

Read more: Test and Try

Posted via email from jasper22's posterous

Get function return values and profiling information in .NET using Windbg

|
There have been times when we would like to the know function return value ,debug within the function and get profiling information like the duration of a function. VS.NET provides all these features, but in production environment we won’t have VS.NET. This is where Windbg comes in handy.  Here is the sample code that I am going to use.

using System;
using System.Collections.Generic;
using System.Threading;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Read more: Naveen's Blog

Posted via email from jasper22's posterous

Managed DXGI

|
Managed DXGI library is Fully managed wrapper writen on C# for DXGI 1.0 and 1.1 technology. It makes easier to support DXGI in managed application. Because it fully managed there is no need for unmanaged libraries - compile once, run everywhere!


The original DXGI documentation can be found: http://msdn.microsoft.com/en-us/library/ee418146(VS.85).aspx

Read more: Codeplex

Posted via email from jasper22's posterous

Where Google revenue comes from

|

Kayak

|
Kayak is a lightweight HTTP server for the CLR, and the Kayak Framework is a utility for mapping HTTP requests to C# method invocations. With Kayak, you can skip the bulk, hassle, and overhead of IIS and ASP.NET. Kayak enables you to do more with less syntax, and is easy to configure to work in any way you care to dream up.

Kayak consists of two DLL libraries: a request framework, and the HTTP server on which it depends. Unlike IIS, the Kayak server does not load your code into its process space. You write your own entry point, instantiate a KayakServer  object, set it up however you want, and start it when you're ready. Usually, you'll set it up to handle requests using the Kayak Framework.

The framework simply maps HTTP requests to .NET method invocations. Arguments to a method invocation can be generated from the HTTP request, and the return value of the invocation can be used to generate the HTTP response. By default, the Kayak Framework converts .NET objects to and from JSON. It automatically deserializes JSON in the body of an incoming HTTP request and passes the deserialized .NET objects as arguments to invocations of your methods. When your function returns, Kayak then serializes the return value of the invocation as JSON to the body of the HTTP response. Kayak makes it very easy to create those simple HTTP APIs which are all-the-rage these days.

By the following principles of REST (excuse the buzzword; I don't like it either), you eliminate the need for many of the features that bloat tools like ASP.NET, MonoRail, and ASP.NET MVC, as well as Django and other popular frameworks for dynamic languages.

Read more: .NET Slackers

Posted via email from jasper22's posterous

Scaling Up with STM.NET (Software Transactional Memory)

|
Every developer that spent enough time with concurrent applications must have learned that producing a reliable, high performance application that scales gracefully to many core hardware is extremely difficult to do.

In order for the application to scale and maintain high throughput, we have to design the threading model such that at any given time the application will produce the optimal amount of threads that will put the maximum number of cores to work with minimum contentions. In order to keep the amount of contentions low, besides of not over introducing threads, it’s crucial that we’ll find an efficient way to protect the data that is being shared among the threads from concurrent access.

In order to make parallel programming easier, .NET framework 4.0 introduced the TPL (task parallel library) together with new parallelism constructs that facilitated the process of adding concurrency to applications. However, although more and more code is tempted to run in parallel, we get no real help from the runtime with protecting the shared data from concurrent access. Applications that require coarse-grained isolation can get away relatively easy by utilizing techniques such as message passing, which deters sharing and eliminate the need for locks almost entirely. However, in order to achieve greater scalability there’s not escape from using fine-grained locks, and so the problems begin…as we’ll find in the next chapter.

Read more: Design Codes

Posted via email from jasper22's posterous

Code a Modern Design Studio from PSD to HTML

|
img1.jpg


Today we’re going to convert the Modern Design Studio PSD Template created by Tomas Laurinavičius a few days ago to a clean and working XHTML/CSS code. You can download free PSD from The Modern Design Studio PSD Template.

Read more: WebdesignFan

Posted via email from jasper22's posterous

Haze Anti-Virus

|
Haze Anti-Virus is a anti virus written in C# and has features such a realtime process watching and a Process Blacklist, and is able to download Database Updates and with Scanning of files with Signiture Checking


Welcome to the Homepage of Haze Anti-Virus, I started with Haze AntiVirus becuase I was in search of a Antivirus that was secure and did not always delete you work. Here is What I would like see in Haze Anti-Virus in the next few months
*Check For Registry Access
*UI Never Hangs
*Unknown Virus Detection
*Logging
*Backup of Self

Here are the Main Features of Haze Anti-Virus
*Process Watching
*Process Blacklisting
*File Scanning
*Database Updating
*Skinned UI


Read more: Codeplex

Posted via email from jasper22's posterous