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

DragonFly BSD

| Friday, June 11, 2010
DragonFly belongs to the same class of operating system as BSD and Linux and is based on the same UNIX ideals and APIs. DragonFly gives the BSD base an opportunity to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.

The DragonFly project's ultimate goal is to provide native clustering support in the kernel. This involves the creation of a sophisticated cache management framework for filesystem namespaces, file spaces, and VM spaces, which allows heavily interactive programs to run across multiple machines with cache coherency fully guaranteed in all respects. This also involves being able to chop up resources, including the cpu by way of a controlled VM context, for safe assignment to unsecured third-party clusters over the internet (though the security of such clusters itself might be in doubt, the first and most important thing is for systems donating resources to not be made vulnerable through their donation).

Read more: DragonFly

Posted via email from .NET Info

Terminal Services Gateway (TS Gateway)

|
Terminal Services Gateway (TS Gateway) is a role service in the Terminal Services server role of Windows Server® 2008 that allows authorized remote users to connect to resources on an internal corporate or private network, from any Internet-connected device. The network resources can be terminal servers, terminal servers running RemoteApp programs, or computers with Remote Desktop enabled.

TS Gateway uses Remote Desktop Protocol (RDP) over HTTPS to establish a secure, encrypted connection between remote users on the Internet and the internal network resources on which their productivity applications run.

What does TS Gateway do?

TS Gateway provides many benefits, including:

  • TS Gateway enables remote users to connect to internal network resources over the Internet, by using an encrypted connection, without needing to configure virtual private network (VPN) connections.
  • TS Gateway provides a comprehensive security configuration model that enables you to control access to specific internal network resources.
  • TS Gateway provides a point-to-point RDP connection, rather than allowing remote users access to all internal network resources.
  • TS Gateway enables most remote users to connect to internal network resources that are hosted behind firewalls in private networks and across network address translators (NATs). With TS Gateway, you do not need to perform additional configuration for the TS Gateway server or clients for this scenario.
  • Prior to this release of Windows Server, security measures prevented remote users from connecting to internal network resources across firewalls and NATs. This is because port 3389, the port used for RDP connections, is typically blocked for network security purposes at the firewalls. TS Gateway transmits RDP traffic to port 443 instead, by using an HTTP Secure Sockets Layer/Transport Layer Security (SSL/TLS) tunnel. Because most corporations open port 443 to enable Internet connectivity, TS Gateway takes advantage of this network design to provide remote access connectivity across multiple firewalls.

Read more: Technet

Posted via email from .NET Info

Using Dynamic Languages to Develop Microsoft Silverlight Applications

|
Learn how to use the Microsoft Visual Basic/C# DLR integration to test a statically-typed application with IronRuby. See how to develop a Silverlight application end-to-end with IronRuby, and how programming with dynamic languages helps improve the dev experience.

Read more: .NET Software Development Videos & Tutorial Directory

Posted via email from .NET Info

HTIA 2010 וידאו: yoUfounder

|
איך יודעים שהשותף (Co-Founder) שאתה רוצה לצרף למיזם מתאים לך? השיטה המקובלת היום לבחינת מידת ההתאמה בין שותפים היא להיעזר בשירותי חברות מיון והשמה או יועצים ארגוניים. אך לרוב, יזמים חוסכים ומסתפקים בכישורי המיון שלהם.

YouFounder הינו מיזם אינטרנטי העוזר ליזמים בתהליך מיון השותפים ובניית צוות המיזם.   איך זה עובד? היזם ושותפו הפוטנציאלי ממלאים שאלון אינטרנטי הכולל 38 תפיסות יזמיות שהינן למעשה דילמות או צמתי החלטה אשר היזמים עשויים להיתקל בהם לאורך חיי המיזם. לדוגמא, "האם להכניס משקיע אסטרטגי ולהיות מדוללים באופן משמעותי" או "להסתפק במשקיע "שקט" ולהידלל פחות". המודל הסטטיסטי של המערכת מפיק דוח המציג את הפערים בין תשובות שני היזמים לתשובות של יזמים מצליחים והמלצות לפעולה. זהו למעשה תהליך של תיאום ציפיות בין שני שותפים פוטנציאליים אשר עשוי למנוע חיכוכים בעתיד ולשפר את סיכויי המיזם להצליח. YouFounder נוסדה בשנת 2008 על ידי 3 שותפים: עינב ליבני – פסיכולוג ארגוני וקליני לשעבר פסיכולוג בתוכנית תלפיות בצה"ל, אורן בר יזם ובעלים של חברת התוכנה BVTECH וגדעון כהן יזם ושותף בחברת רנסיס. מוצר הדגל שהינו שירות הערכה ומיון שותפים עדיין בפיתוח, בשלב זה יזמים יכולים לבדוק את הפרופיל היזמי שלהם בהשוואה ליזמים מצליחים.

Read more: newsGeek

Posted via email from .NET Info

FBI Investigating iPad E-Mail Leaks

|
The Federal Bureau of Investigation has opened an investigation into the leak of an estimated 114,000 Apple iPad user e-mail addresses. Hackers belonging to a group called Goatse obtained the e-mail addresses after uncovering a web application on AT&T's website that returned an iPad user's e-mail address when it was sent specially written queries. After writing an automated script to repeatedly query the site, they downloaded the addresses, and then handed them over to Gawker.com. Now the FBI is trying to figure out whether this was a crime. US law prohibits the unauthorized accessing of computers, but it is unclear whether the script that the Goatse group used violated the law, said Jennifer Granick, civil liberties director with the Electronic Frontier Foundation. 'The question is, when you do an automated test like this, [are you] getting any type of unauthorized access or not,' she said. If it turns out the data in question was not misused, it is unlikely that federal prosecutors will press charges, she added.

Read more: Slashdot

Posted via email from .NET Info

CLR Security

| Wednesday, June 9, 2010
lcome to the CLR security team's Codeplex site. On this site you'll find a set of projects that extend the security APIs shipped with the .NET framework to provide additional functionality. We also have some tools to help in debugging security related problems in your code.

The latest rollup package of all of the assemblies on this site can be found here: CLR Security June 2009 Release

Project Description: Security.dll
Security.dll provides a set of extension methods to ease working with the Code Access Security system in the .NET Framework. Within this project you will find:
Methods to create partially trusted instances of objects
Methods to determine the grant set of an assembly or AppDomain
Methods to help in creating and examining simple sandbox domains
Methods to make working with classes like Evidence and SecurityElement easier
Download Security 1.1

Project Description: Security.Cryptography.dll
Security.Cryptography.dll provides a new set of algorithm implementations to augment the built in .NET framework supported algorithms. It also provides some APIs to extend the existing framework cryptography APIs. Within this project you will find:
A CNG implementation of the AES, RSA, HMACSHA2, and TripleDES encryption algorithms
A CNG implementation of a random number generator
A CNG implementation of authenticated symmetric encryption.
A class that allows dynamically creating algorithms both from this library as well as all of the algorithms that ship with .NET 3.5
An enumerator over all of the installed CNG providers on the current machine
Extension methods that allow access to all of the keys installed in a CNG provider, as well as all of the algorithms the provider supports
Extension methods to access X509Certificates that store their key with CNG, as well as create self signed X509Certificates.
Other utility types and methods

Read more: Codeplex

Posted via email from jasper22's posterous

Using Mono Cecil Decompiler within Windbg to decompile

|
I have been hacking Mono lately and one of the coolest projects I have seen is the Mono Decompiler. It’s like Reflector but no UI and an API to decompile. Guess what, even reflector is built on top of Mono Cecil.  Most of times when I have to debug I would end up using  !dumpil  sos command to get  the IL  of the method desc.  I am not an IL guru, I am much comfortable reading C# than IL. I could have used reflector to do the same thing, but here are couple of reasons for doing this.

I don’t have to open another application and I am comfortable with cdb.exe
I like to understand this library , which I could use in the future.
Here is a simple app that would return C# code.  I could have written a windbg extension, but I am lazy

using System;
using System.IO;
using System.Linq;
using System.Text;
using Mono.Cecil;
using Cecil.Decompiler.Languages;

namespace Conosole
{

class Decompiler
{
static void Main(string[] args)
{
var function = args[1].Split(new[] { '.' });

//MethodName
var methodName = function.Last();

//Typename
var typeName = function.ElementAt(function.Length - 2);

//Namespace
var ns = function.TakeWhile((c, i) => i < function.Length - 2).Aggregate(new StringBuilder(),(sb,s) => sb.Append(s+".")).ToString().Trim(new [] {'.'}) ;

Console.WriteLine((from module in AssemblyFactory.GetAssembly(args[0]).Modules.Cast<ModuleDefinition>()
from type in module.Types.Cast<TypeDefinition>()
from method in type.Methods.Cast<MethodDefinition>()
where type.Namespace == ns && type.Name == typeName && method.Name == methodName
select method.SourceCode()).First());
}
}

public static class Extensions
{
public static string SourceCode(this MethodDefinition methodName)
{
var writer = new StringWriter();
CSharp.GetLanguage(CSharpVersion.V3).GetWriter(new PlainTextFormatter(writer)).Write(methodName);
return writer.ToString();
}
}
}

Read more: Naveen's Blog

Posted via email from jasper22's posterous

Sqlite-Csharp and NHibernate

|
Taking a brief  interlude from my RavenDB series, I was doing some work on an internal project tonight with the build scripts and test-runner and I finally got bored of having to deal with un-managed SQLite dependencies with a project which other than that was platform agnostic.

The problem with having un-managed dependencies in a managed project is that Visual Studio quite frankly sucks at it, you can set up certain projects (in this case the tests) to be x86 only, and remove their Any CPU configuration – but as soon as you add a new project to the solution it decides to re-add the old configuration and potentially break things again.

This doesn't really rear any problems until you write a build script and things start falling over as your test runner tries to run as an x64 process and tries to load in the x86 dependency, or any number of combinations where this kind of thing can blow up. If it can happen, it will happen and it’s just something I’d rather not deal with.

So I had a look at Sqlite-Csharp, the code is atrocious as far as natively written C# libraries go (that’s not the point though, it’s a *port*), but it looks to be a superb direct-port of a C project (Sqlite) and passes most of the tests that it needs to in order for it to be viable for use in at least our in-memory tests.

Anyway, you can’t download binaries, so you have to build it – but no changes are required so just do it.

I’m not going to cover the process of setting up in-memory databases for testing with SQLite as that’s an easily Google-able topic, but there are a few differences between doing it with the unmanaged libraries and with the pure managed libraries.

This is what my FluentNHibernate configuration looks like:

  1:  Fluently.Configure()
  2:              .Database(
  3:                   SQLiteConfiguration.Standard.ConnectionString(
  4:                        x => x.Is(mConnectionString)).Driver<SqliteDriver>());

I’ve had to create a driver to make this work properly as there isn’t one provided as stock in NHibernate, the code for this is as simple as this:

Read more: Rob Ashton

Posted via email from jasper22's posterous

USB devices and Hyper-V – remote client yes, host no

|
At TechEd in New Orleans, Microsoft has announced that the version of Hyper-V in Windows Server 2008 R2 Service Pack 1 – a typical Microsoft mouthful – will include support for generic USB devices. That is, you can remote into a Hyper-V VM, plug in your USB camera, scanner or bar-code reader, and it will be re-directed to the remote desktop.

It’s a welcome feature, and removes one of the annoyances of working on a remote desktop. However, there is another scenario that Microsoft has not addressed, which is support for USB devices on the Hyper-V host. For example, USB drives are often used for backup, but if you plug a USB drive into a Hyper-V host, it is not easy to use it for backup from within a Hyper-V guest. Well, there are ways, but you are not going to like any of them – mount the drive in the host, mark it as offline, attach it to the guest using pass-through, and so on.

So will Hyper-V ever support USB devices in the host as well as on remote clients? I asked about this, and was told that it is not a priority, because although the topic comes up regularly, it is “not in the top ten feature requests”.

Read more: Tim Anderson’s ITWriting

Posted via email from jasper22's posterous

Writing to an XML File With Attributes

|
This prior post demonstrated a very simple technique for writing to an XML file that has a set of elements. This post extends that example showing how to write an XML file that has both elements and  attributes.

Here is the XML file created by this example:

<?xml version="1.0" encoding="utf-8"?>
<Employee>
 <LastName>Baggins</LastName>
 <FirstName>Bilbo</FirstName>
 <PhoneNumber PhoneType="Work">(925)555-1234</PhoneNumber>
</Employee>

This XML file has an Employee root node and LastName, FirstName, and PhoneNumber elements. The PhoneNumber element has a PhoneType attribute.

There are several ways to write this file in C# or VB as shown below.

In C# (adding individual nodes):

var doc = new XDocument();

var emp = new XElement("Employee");

emp.Add(new XElement("LastName", textBox1.Text));
emp.Add(new XElement("FirstName", textBox2.Text));

var phone = new XElement("PhoneNumber", textBox3.Text);
phone.Add(new XAttribute("PhoneType", comboBox1.Text));
emp.Add(phone);

doc.Add(emp);

doc.Save("Employee.xml");

This code creates an XML document and adds an Employee root node. It then creates the three elements.

Since the Add method does not return a value, the code needs to create the phone element separately. This provides a reference to that element that can be used to add the attribute.

The Employee element is then added to the XML document and saved.

In C# (using functional construction):

var emp = new XElement("Employee",
   new XElement("LastName", textBox1.Text),
   new XElement("FirstName", textBox2.Text),
   new XElement("PhoneNumber",
       new XAttribute("PhoneType", comboBox1.Text),
       textBox3.Text));

emp.Save("Employee.xml");

Functional construction allows you to create an XML string in a single statement leveraging the XElement and XAttribute constructors. See this msdn link for more information on functional construction.

This example also demonstrates how you can build an XML file without explicitly creating an XDocument object as was done in the prior example.

In C# (using the Parse method):

var emp = XElement.Parse(@"<Employee>
             <LastName>" + textBox1.Text + @"</LastName>
             <FirstName>" + textBox2.Text + @"</FirstName>
             <PhoneNumber PhoneType='" + comboBox1.Text + "'>" + textBox3.Text + @"</PhoneNumber>
         </Employee>");

emp.Save("Employee.xml");

Read more: Deborah's Developer MindScape

Posted via email from jasper22's posterous

‘Hidden’ ETW Stack Trace Feature – Get Stacks All Over the Place!

|
I’ve heard Mark R. say that “sometimes Microsoft gave me a gift” when coming across an interesting feature not in mainstream documentation.  How true that often the odd find can prove ultimately very valuable.  Such was the case when I read Bruce Dawson’s Stack Walking in Xperf blog entry.

Here’s the excerpt that blew me away:

You can also record call stacks for manifest-based ETW (Event Tracing for Windows) events, but the syntax is quite different, and it only works on Windows 7 and above. When you specify your ETW provider to xperf after “-on” you can specify extra parameters after the provider name, separated by colons. These are flags, a level, and, for manifest-based providers, a list of extra data to record, which can include call stacks. You can leave the flags and level fields blank and just specify ‘stack’ (in single quotes) after three colons like this:


    xperf -on Latency -stackwalk profile -start browse -on Microsoft-IE:::'stack'  
    rem Your scenario goes here...      
    xperf -stop browse -stop -d mytrace.etl
This sounds rather ordinary at first,  but looking at the syntax you may realize that this means for just about every manifest based provider (Microsoft-*) one can generate a stack trace on all ETW events therein.  This is really cool because if you are only interested in stacks, you don’t have to monkey around with any other trace level or flags which is often the most frustrating part about manual ETW tracing.  Recall from Ivan’s blog that there are over 600+ inbox providers to explore so we can go crazy here exploring components!  Let’s demonstrate.

First, remember to use the Win7 SDK version of XPerf.  The XPerf(WPT) install *.msi files are found in the Bin directory after installing Win32 Development Tools, so you have to do a two-step at present to get the tools installed.

Let’s list all the providers…

C:\utils\xperf7sdk>xperf -providers | findstr "Microsoft-"
     .
      .
      .
      93c05d69-51a3-485e-877f-1806a8731346:0x0001000000000000:0x4       : Microsoft-Windows-LUA
      9580d7dd-0379-4658-9870-d5be7d52d6de:0x0001000000000000:0x4       : Microsoft-Windows-WLAN-AutoConfig
      959f1fac-7ca8-4ed1-89dc-cdfa7e093cb0:0x0001000000000000:0x4       : Microsoft-Windows-HealthCenterCPL
      96ac7637-5950-4a30-b8f7-e07e8e5734c1:0x0001000000000000:0x4       : Microsoft-Windows-Kernel-BootDiagnostics
      96f4a050-7e31-453c-88be-9634f4e02139:0x0001000000000000:0x4       : Microsoft-Windows-UserPnp
      98583af0-fc93-4e71-96d5-9f8da716c6b8:0x0001000000000000:0x4       : Microsoft-Windows-Dwm-Udwm
      a50b09f8-93eb-4396-84c9-dc921259f952:0x0001000000000000:0x4       : Microsoft-Windows-Diagnosis-MSDE<
      ad5162d8-daf0-4a25-88a7-01cbeb33902e:0x0001000000000000:0x4       : Microsoft-Windows-WPDClassInstaller
      ae4bd3be-f36f-45b6-8d21-bdd6fb832853:0x0001000000000000:0x4       : Microsoft-Windows-Audio
      af2e340c-0743-4f5a-b2d3-2f7225d215de:0x0001000000000000:0x4       : Microsoft-Windows-Netshell
      b03d4051-3564-4e93-93db-3c34f1b5b503:0x0001000000000000:0x4       : Microsoft-Windows-Diagnosis-TaskManager
      b1f90b27-4551-49d6-b2bd-dfc6453762a6:0x0001000000000000:0x4       : Microsoft-Windows-PowerCpl
      b2a40f1f-a05a-4dfd-886a-4c4f18c4334c:0x0001000000000000:0x4       : Microsoft-PerfTrack-IEFRAME
      c89b991e-3b48-49b2-80d3-ac000dfc9749:0x0001000000000000:0x4       : Microsoft-Windows-Documents
      c9bdb4eb-9287-4c8e-8378-6896f0d1c5ef:0x0001000000000000:0x4       : Microsoft-Windows-HomeGroup-ProviderService
      dbe9b383-7cf3-4331-91cc-a3cb16a3b538:0x0001000000000000:0x4       : Microsoft-Windows-Winlogon
      de513a55-c345-438b-9a74-e18cac5c5cc5:0x0001000000000000:0x4       : Microsoft-Windows-Help
      ded165cf-485d-4770-a3e7-9c5f0320e80c:0x0001000000000000:0x4       : Microsoft-Windows-DeviceUx
      e978f84e-582d-4167-977e-32af52706888:0x0001000000000000:0x4       : Microsoft-Windows-TabletPC-InputPanel
      ed6b3ba8-95b2-4cf5-a317-d4af7003884c:0x0001000000000000:0x4       : Microsoft-Windows-Sidebar
      f3f14ff3-7b80-4868-91d0-d77e497b025e:0x0001000000000000:0x4       : Microsoft-Windows-WMP
      fbcfac3f-8459-419f-8e48-1f0b49cdb85e:0x0001000000000000:0x4       : Microsoft-Windows-NetworkProfile
      ffdb9886-80f3-4540-aa8b-b85192217ddf:0x0001000000000000:0x4       : Microsoft-PerfTrack-MSHTML

Read more: ntdebugging

Posted via email from jasper22's posterous

Windows Live ID Client 1.0 SDK

|
The Windows Live™ ID Client 1.0 software development kit (SDK) provides a managed API for Windows Live sign-in from within desktop client applications. Included in the release is a sample application together with its source code so that you can build your own client applications.

Read more: MS Download

Posted via email from jasper22's posterous

Building an InfoSec lab, on the cheap

|
So, you want to experiment with the latest pen-testing tools, or see how new exploits effect a system? Obviously you don't want to do these sorts of tests on your production network or systems, so a security lab is just the thing you need. This article will be my advice on how to build a lab for testing security software and vulnerabilities, while keeping it separate from the production network. I'll be taking a mile high overview, so you will have to look into much of the subject matter yourself if you want a step by step solution. I'll try to keep my recommendations as inexpensive as possible, mostly sticking to things that could be scrounged from around the office or out of a dumpster. The three InfoSec lab topologies I'll cover are: Dumpster Diver's Delight, VM Venture and Hybrid Haven.

Dumpster Diver's Delight: Old hardware, new use

       The key idea here is to use old hardware you have lying around to create a small LAN to test on. Most computer geeks have a graveyard of old boxes friends and family have given them, and businesses have older machines that are otherwise condemned to be hazardous materials waste. While what you will have to gather depends on your needs, I would recommend the following:

1. A NAT box: Any old cable/DSL router will work, or you can dual home a Windows on Linux box for the job and set up IP Masquerading. The reason you want to set up a separate LAN with a NAT box is so that things you do on the test network don't spill over onto the production network, but you can still access the Internet easily to download needed applications and updates. Also, since you will likely have un-patched boxes in your InfoSec lab so you can test out vulnerabilities, you don't want them sitting on a hostile network and getting exploited by people other than you. You can punch holes into the test network by using the NAT router's port forwarding options to map incoming connection to SSH, Remote Desktop or VPN services inside of the InfoSec lab. This way you can sit outside of the InfoSec LAN at your normal workstation on the production LAN, and just tunnel into the InfoSec lab to test things.

2. A bunch of computers/hosts: Whatever you want to test, be it computers, print servers or networking equipment. Boxes for a security lab do not have to be as up to snuff as production workstations. If you are doing mostly network related activities with the hosts, speed becomes less of an issue since you aren't as annoyed by slow user interfaces.

Read more: Irongeek.com

Posted via email from jasper22's posterous

Office is now live on SkyDrive!

| Tuesday, June 8, 2010
Over the last few months, we've gotten incredible feedback from the hundreds of thousands of users in our Office Web Apps Technical Preview.  We’ve been busy incorporating much of that feedback, and today, Office Web Apps on SkyDrive are now available to everyone in the US, UK, Canada, and Ireland. We’ll have more to share next week when Office 2010 is released to consumers, including how Office 2010 + SkyDrive + Office Web Apps give you the best productivity experience across the PC, phone, and browser.

In the meantime, if you live in the US, UK, Canada, or Ireland, you can head over to Office.live.com today to start viewing and editing Word, PowerPoint, Excel, and OneNote documents right in your web browser – and share them with your friends.

If you don’t live in one of those regions, you can still get access – just click here. You might not get the Web Apps in your favorite language yet, as we are still rolling out updates to different regions. Note that people you share documents with may also need to visit the link above before they can access the documents you share with them.

Read more: Bink.nu

Read more: Office online

Posted via email from jasper22's posterous

Apple Announces iPhone 4

|
iphone-4-top-new-1.jpg

In a keynote presentation today at WWDC, Steve Jobs officially unveiled the iPhone 4. It's powered by an A4 chip, has a glass front and back, and has stainless steel around the edges, which turns out to be part of the antenna system. The new iPhone uses what Jobs called a "Retina display," running at 960x640, or 326 ppi. The battery is also bigger, with a corresponding increase in battery life. The iPhone 4 supports 802.11n, has two mics for noise cancellation, and a three-axis gyroscope, which allows rotation and precision that accelerometers can't match. The iPhone 4's camera is using a 5-megapixel backside illuminated sensor, which Jobs said does better at low-light photography. It also records 720p video at 30 frames per second, with tap-to-focus. In addition to this, they've created an iMovie app, which allows users to easily edit videos on their phone. Several live blogs of the event, with pictures, are available. The device ships in the US on June 24. Apple's product page has been updated with specs and a video. Read on for more details.
Update: 06/07 18:34 GMT by S : Steve's "One More Thing" this time around: FaceTime, live video chat from one iPhone 4 to another. It is Wi-Fi only at the moment, but they're working with carriers to expand that in the future.
Jobs says the iPhone 4 OS is being renamed "iOS4," since it isn't just focused on phones anymore. The release candidate will be made available to developers today. He demonstrated multitasking, a unified email inbox, and folders for apps. In the App Store, you can expect to see an iPhone version of Netflix soon, as well as Guitar Hero and FarmVille. Jobs also announced that iBooks, the ebook application for the iPad, would be getting a few upgrades. Users will soon be able to make notes, and a bookmark button is on the way. It will put bookmarked pages into the book's table of contents. iBooks is also gaining support for viewing PDF files. On top of that, it won't be just for the iPad anymore; it's coming to the iPhone and iPod Touch as well, and it will sync between devices.

Read more: Slashdot

Posted via email from jasper22's posterous

Microsoft Desktop Player is a Valuable Tool for IT Pro’s

|
If you are an IT Professional, a new education tool introduced by Microsoft is the MS Desktop Player. Today we take a look at what it has to offer, from Webcasts, White Papers, Training Videos, and more.

Microsoft Desktop Player

You can run the player from the website (shown here) or download the application for use on your local machine (link below). It allows you to easily access MS training and information in a central interface.

4webcasts.png

Read more: How-to-geek

Posted via email from jasper22's posterous

Quick tips: Kernel Dumps, Blue Screens and !Analyze -v

|
This time I’m going to address something that most times is somewhat straight forward to analyze yet many people I deal with don´t know how to proceed when a blue screen appears. In this blog post I assume the server is already configured to generate kernel dumps or mini dumps. (this is something I always advice. Configure your servers to generate memory dumps if something goes wrong)

Usually I get emails like “my server just got a BSOD (blue screen of death). I´ve got a minidump and I need to understand what happened”. My approach is always the same (and most of the times it is enough to find the root cause).

First Step
Open windbg and make sure the symbol server is properly configured – more info at http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx

Second Step
Open the memory dump on windbg. Below is the output when opening a kernel memory dump

(…)
Loading Kernel Symbols
...............................................................
................................................................
......................
Loading User Symbols
Loading unloaded module list
....................................
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 50, {d44cdde4, 0, 818ed8b3, 0}
(…)

As you can see above the debuggers states “Use !analyze –v to get detailed debugging information”. Let’s follow the expert J (the debugger) and issue !analyze –v

1: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except,
it must be protected by a Probe.  Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: d44cdde4, memory referenced.
Arg2: 00000000, value 0 = read operation, 1 = write operation.
Arg3: 818ed8b3, If non-zero, the instruction address which referenced the bad memory
                   address.
Arg4: 00000000, (reserved)


Read more: Deviations

Posted via email from jasper22's posterous

Managing Index Fragmentation and Compression

|
For today, I recycle bits from a couple of excellent authors in the SQL community.  The first script is for optimizing compression.  I “borrowed” this from Paul Nielson, author of the SQL Bible.  You can visit his SQL Server bible site at http://www.sqlserverbible.com/.   It includes a link for sample scripts, which is where I pulled this from.  I’m also including a script for defragmenting indexes, which I borrowed from http://sqlfool.com/2010/04/index-defrag-script-v4-0/.  These scripts can be used together.  What I am doing is on a monthly basis running the compression script to make adjustments to my compression options based on data, and then doing the defragmentation weekly.

Based on my testing and testing on several other sites, compression should be the norm rather than the exception.  Unless you have heavy OLTP processing, most of the time the savings in memory, cache, and ultimately disk I/O because more data is stored in less space is greater than the CPU costs.  Along the same lines, backup compression should almost always be used as it will run faster than non-compressed for both backup and restore purposes.  They really got compression right in SQL 2008.

Below is the script almost as originally written, but with a couple of modifications.  Paul’s version had only 1 threshold, rather than separate for page and row, which I’ve added.  In his version, he uses page compression if it is more effective than row and row compression if it is more effective than page.   However almost always page is better than row because it incorporates row.  I’ve decided to take a slightly different approach and allow a threshold for row and another for page.  Page requires more CPU processing than row, so the idea is that we only want page if the compression benefits are significantly better than row.   On the other hand, row has a lower CPU cost.  By default, I am using 15 and 25%.  By default, I’m employing page compression if it has a benefit of 25% savings and row if it has a benefit of 15%, you can pass in different values if you want to be more conservative or aggressive.

Read more: Microsoft Bob

Posted via email from jasper22's posterous

Eloquera Database 2.7.0 is released (native .NET object database)

|
Eloquera ( www.eloquera.com ) originally designed and developed for use in the Web environment and it’s designed as native .NET application in C#.

Eloquera wasn’t ported from Java as many other databases.Eloquera natively as part of architecture supports:

Save the data with a single line of code

// Create the object we would like to work with.
Movie movie = new Movie()
{
   Location = "Sydney",
   Year = 2010,
   OpenDates = new DateTime[] { new DateTime(2003, 12, 10), new DateTime(2003, 10, 3) } };

// And here is where the magic begins...
// Store the object - no conversion required.
db.Store(movie);

Read more: ASP .NET
Read more: Eloquera

Posted via email from jasper22's posterous

Visual Studio [Ultimate] 2010 Visualization & Modeling Feature Pack RTM now available on MSDN Subscribers Download

|
image_thumb%5B5%5D.png?imgmax=800

Feature Packs are like Power Tools in that they are being released “out of cycle” from Visual Studio, but different in that they are “official” and supported. If you can remember back when, think “NT4 Option Pack”. Per Jason Zander, “Feature Packs are a new concept we are introducing with VS2010.  Like Power Tools these releases are designed to run on top of the existing core bits (no modifications allowed) using extensibility.  Unlike Power Tools, Feature Packs are ideas we fully intend to incorporate into the core product in the future (consider it a head start on v-next).  Because of this a Feature Pack is of higher quality:  localized, fully tested, and formally supported.  Feature Packs are available through your MSDN subscription

Read more: Greg's Cool [Insert Clever Name] of the Day
Read more: Announcing: VS2010 Productivity Power Tools and Modeling Feature Packs

Posted via email from jasper22's posterous

DirectX Software Development Kit (June 2010)

|
Download the complete DirectX SDK, which contains the DirectX Runtime and all DirectX software required to create DirectX compliant applications.

Read more: MS Download

Posted via email from jasper22's posterous

Open source Visual Studio plugins

|
Here is the list of open-source Visual Studio plugins

Ankhsvn
AnkhSVN is a Subversion Source Control Provider for Microsoft Visual Studio 2005, 2008 and 2010. AnkhSVN provides source code management support to all project types supported by Visual Studio and allows you to perform the most common version control operations directly from inside the Microsoft Visual Studio IDE.

PhatStudio
PhatStudio is a Visual Studio plugin which lets you quickly navigate to any file in your project in just a few keystrokes, even for very large projects. It also includes a header flip/switch to related file feature, bound to Alt+S by default. Header flip will switch between a .cpp file and corresponding .h/.hpp file. It will also switch between other related file types, such as aspx/aspx.cs and ascx/ascx.cs.

VisualNunit
Visual Nunit is NUnit integration for Visual Studio 2008. Provides convenient view to test cases and enables debugging tests easily inside development environment. Implemented as Visual Studio Integration.

Visual-DDK
The VisualDDK is a plugin for Microsoft Visual Studio allowing debugging device drivers right from the IDE. Additionally, a simple Driver Project Wizard is provided.

Read more: Best Open Source

Posted via email from jasper22's posterous

SQL Server lifecycle and the compatibility level settings

|
I've had several people ask how the compatibility mode/level fits in with the SQL Server lifecycle. For example, the question might be: once we no longer support SQL Server 2000, does that mean we don't support databases restored/attached to later versions of SQL and still set to 80 compatibility mode for example? The answer is that each version of SQL Server has a set of compatibility levels it supports. That support does not change based on the lifecycle. So for example, SQL Server 2008 R2 supports compatibility levels 80 (SQL 2000), 90 (SQL 2005), and 100 (SQL 2008). When you restore a SQL Server 2000 database to SQL Server 2008 R2 it remains in 80 compatibility mode until you issue ALTER DATABASE {dbname} SET COMPATIBILITY LEVEL = 100 (in older versions use sp_dbcmptlevel). When extended support for SQL Server 2000 ends in 2013, Microsoft will not support SQL Server 2000 any more. But we will still support a database on SQL Server 2008 R2 that is in 80 compatibility mode because that is a supported level/mode for R2. So the lifecycle refers to the actual instance, not the database level.

Read more: Cindy Gross - Troubleshooting, tips, and general advice

Posted via email from jasper22's posterous

Debugging .NET 2.0 Assembly from unmanaged Code in VS2010?

|
I’ve run into a serious snag trying to debug a .NET 2.0 assembly that is called from unmanaged code in Visual Studio 2010. I maintain a host of components that using COM interop and custom .NET runtime hosting and ever since installing Visual Studio 2010 I’ve been utterly blocked by VS 2010’s inability to apparently debug .NET 2.0 assemblies when launching through unmanaged code.

Here’s what I’m actually doing (simplified scenario to demonstrate):

I have a .NET 2.0 assembly that is compiled for COM Interop
Compile project with .NET 2.0 target and register for COM Interop
Set a breakpoint in the .NET component in one of the class methods
Set debugging to point at unmanaged application (Visual FoxPro dev environment in this case)
Instantiate the .NET component via COM interop and call method with breakpoint
The result is that the COM call works fine but the debugger never triggers on the breakpoint.

If I now take that same assembly and target .NET 4.0 without any other changes everything works as expected – the breakpoint set in the assembly project triggers just fine. So it appears the debugging failure is specific to .NET 2.0 debugging.

The easy answer to this problem seems to be “Just switch to .NET 4.0” but unfortunately the application and the way the runtime is actually hosted has a few complications. Specifically the runtime hosting uses .NET 2.0 hosting and apparently the only reliable way to host the .NET 4.0 runtime is to use the new hosting APIs that are provided only with .NET 4.0 (which all by itself is lame, lame, lame as once again the promise of backwards compatibility is broken once again by .NET). So for the moment I need to continue using the .NET 2.0 hosting APIs due to the application requirements and runtime availability.

I’ve been searching high and low and experimenting back and forth with the hosting options, posted a few questions on the MSDN forums but haven’t gotten any hints on what might be causing the apparent failure of Visual Studio 2010 to debug my .NET 2.0 assembly properly when called from un-managed code. Incidentally debugging .NET 2.0 targeted assemblies works fine when running with a managed startup application – it seems the issue is specific to the unmanaged code starting up.

Curious if anybody has any ideas on what could be causing the lack of debugging in this scenario?

Read more: Rick Strahls Weblog

Posted via email from jasper22's posterous

My favorite Expression 4 features

|
Today at Internet Week in New York, we launched Expression Studio 4.

Expression 4 is a suite of professional design tools for building immersive user experiences for the desktop, mobile devices and the web.  

There are a lot of new enhancements and exciting features in this release.  Here are some of my favorite features of Expression 4.

1. Publishing SketchFlow Prototypes to SharePoint

Publishing your SketchFlow projects that are Silverlight-based to SharePoint provides an easy way to share your prototypes with your team. And the best thing is, once a prototype is published, reviewers can post their feedback right back to SharePoint, making it visible not just to the designers, but also to all other reviewers. Designers can also see feedback from many reviewers concurrently. Collaborative reviews of working, interactive prototypes just got a whole lot better.

SharePointSmall.jpg

Read more: Somasegars weblog

Posted via email from jasper22's posterous

Microsoft Launches Expression Studio 4

|
Microsoft today at the Internet Week Conference in New York City announced the official release of Microsoft Expression Studio 4, the latest version of the company's Web design and rich user interface (UI) development tool. Targeted at digital designers and at Visual Studio developers designing rich application UIs, Expression Studio 4 adds more robust visual tools that eliminate the need to work with Extensible Markup Language (XAML) code and provide enhanced SketchFlow functionality for enabling interactive, prototype apps.

The latest release comes just nine months after Microsoft launched Expression Studio 3. Microsoft is allowing current owners of version 3 to upgrade to Expression Studio 4 at no charge.


Dave Mendlen, senior director of Developer Marketing at Microsoft, said the company is anxious to get the message out with this version of Expression Studio.

"We think of it as a suite of professional design tools to enable designers and developers to create and enable amazing user experiences," said Mendlen. "I think we haven’t done the right level of communication to the critically important audience of developers."

The Expression Studio 4 suite consists of four modules. Expression Blend is a visual UI builder for XAML-based WPF and Silverlight apps, and includes the SketchFlow app prototyping module. Expression Web is a site designer and HTML editor, while Expression Design is a graphics design application. Expression Encoder is a digital video encoding application.

Of these, Expression Blend 4 is of greatest interest to Visual Studio developers, enabling them to manipulate working XAML code using rich, visual interfaces.

Developer Experience

Mendlen said Expression Studio appeals to two classes of developer experience: those who are working with a professional design department and must provide prototype software to kick start the design process, and those without design support and are left to create application UIs themselves. In the former instance, developers in Visual Studio and designers in Expression Blend can work on the same XAML code, passing it back and forth between them without the need for translation or conversion. Mendlen said the process is far superior to the status quo, where designers mock up interfaces as static images, which they "throw over the wall" for the developers to work against.

Read more: Microsoft Online

Posted via email from jasper22's posterous

Out of memory errors with the Windows Media Format SDK

|
Over the last few years I’ve worked with a number of engineers that have reported out of memory errors when encoding high definition (HD) video using the Windows Media Format SDK. This issue typically only occurs on 32 bit systems. As we know on a 32 bit Windows OS the maximum memory that your application can allocate is 2 GB. If we try to allocate more than this we get an out of memory error. Out of memory error can also occur because of heap fragmentation. I’ll go into heap fragmentation in detail below.

The Format SDK will use up to the available memory. Internally the Format SDK creates its own heaps. It carefully monitors the memory usage of its heaps. This careful management of its internal heaps should prevent us from ever reaching the 2 GB limit. We might get close but we should never go over. Unfortunately it’s not a perfect world.

Most encoding applications tend to be rather large by their very nature. These large and complex video encoding and editing applications host the format SDK. With the main footprint of the encoding application taking up in the neighborhood of 500 MB to begin with, it’s easy to see how we could quickly hit the 2 GB limit. The Format SDK doesn’t manage the other heaps in the system such as the CRT heap. Because of this the other heaps grow and shrink dynamically. The Format SDK checks to see how much memory is available before it starts encoding. Allocates the heaps and then starts the encoding process.

When dealing with HD video, the amount of memory that must be allocated is substantial. Most people don’t realize that due to the “look ahead, look behind” nature of the VC 1 codec, more than one frame of data must be held in memory at a time. Depending on the encoding settings we can sometimes hold seconds of data in memory. Keep in mind that this is uncompressed data in addition to compressed data. As I’m sure you are aware an uncompressed HD video frame is on the order of 8 MB or more. If we have 5 seconds of cached data at 30 frames per second we’re looking at 1.2 GB. If our application footprint is already at 500 MB we only have 200 MB to work with. This doesn’t offer much breathing room. Factor in heap fragmentation and we start seeing out of memory errors.

Read more: Windows Media and DirectShow tips, gotchas and code

Posted via email from jasper22's posterous

RIA Services Samples Project on CodePlex

|
This is a brief post to share a CodePlex project I have set up, called RIA Services Essentials. It will host various samples and extensions I've shared out in the past on the blog and at various presentations.

The initial sample I've published is my Book Club app, as a reference application of sorts. I wrote the application at MIX10, and since then it has appeared in various other presentations. The bits I published include some bug fixes, updated login UI and other new features. I'll be publishing a second post detailing what is demonstrated in this application.

Read more: Nikhilk.net

Posted via email from jasper22's posterous

Microsoft, Novell Develop Cross-Platform HPC Widgetry

|
The unholy alliance of Microsoft and Novell says it's got some HPC supercomputing cross-platform widgetry developed in their joint Interoperability Lab in Massachusetts that's good for customers deploying server workload management across SUSE Linux Enterprise Server and Windows HPC Server. It should tickle their infrastructure efficiency and cost savings by simplifying systems management through dual-boot and hybrid cluster solutions. They can balance server workloads using both SLES and Windows HPC Server and switch between the two environments. The pair has got a list of highfalutin brand name customers already using the stuff.

Read more: .NET Journal

Posted via email from jasper22's posterous

BCryptTool

|
Developer tool that calculates BCrypt hash codes for strings. BCrypt is an implementation of the Blowfish cipher and a computationally-expensive hash function recommended for password hashing.

Getting Started

The reason for writing this WPF application was just to simply calculate the BCrypt hash code for a given string (e.g. a password).
The application itself is pretty much straightforward (as you can see in the following screenshot) and there is not so much to explain:

FileDownload.aspx?ProjectName=bcrypttool&DownloadId=108426

Read more: Codeplex

Posted via email from jasper22's posterous

Watch your CREATE CERTIFICATE *_DATE clauses syntax order!

|
I just noticed that given the way SQL Server parser parses the CREATE CERTIFICATE statement, the order in which you specify START_DATE & EXPIRY_DATE clauses really matters.

If you specify the EXPIRY_DATE clause first, whatever value you specify is set as the expiry date attached to the certificate, but if a START_DATE clause is encountered afterwards then the start date is set to whatever value you provide in that clause AND the expiry date is updated with whatever value comes in the START_DATE clause plus one year.

Since the documentation doesn’t mention it is expected to work that way it is considered a defect which, by the way, has been fixed already in the code base for next major release. In the meantime, just have it in mind.

CREATE CERTIFICATE WhatYouExpect

ENCRYPTION BY PASSWORD = 'AAABBBCCC123!'

WITH SUBJECT = 'WhatYouWouldntExpect',

START_DATE = '05/12/2010', EXPIRY_DATE = '05/22/2010'

CREATE CERTIFICATE WhatYouWouldntExpect

ENCRYPTION BY PASSWORD = 'AAABBBCCC123!'

WITH SUBJECT = 'WhatYouWouldntExpect',

EXPIRY_DATE = '05/22/2010', START_DATE = '05/12/2010'

select name, start_date, expiry_date FROM sys.certificates

name                                                                                                                             start_date              expiry_date

Read more: La bodeguita de Nacho

Posted via email from jasper22's posterous

Apple's HTML5 and Standards Gallery Not Standard

|
Apple has created an HTML5 Showcase that presents its vision for the next generation of the WWW. The fact that this page is only accessible using the Safari browser, while Apple advocates about web standards, has caused many to criticize the company's lack of broader platform support. The showcase demonstrates several HTML5 capabilities and features that have to do with video, typography, transitions, audio, etc. Further, on the front page the company states that 'Standards aren't add-ons to the web. They are the web. And you can start using them today.' The latter statement falls short by the fact that the featured examples only work with the Safari browser, and in the case of the CSS 3D transforms demonstration, require Mac OS X Snow Leopard (Safari PC or plain Leopard won't do).

Read more: Slashdot

Posted via email from jasper22's posterous

Google Labs All-Stars: 8 Must-See Projects

|
Have you checked out Google Labs lately? If not, it's worth a peek. The area, reserved for application and tool prototypes not yet ready for primetime, houses some cool (and crazy) ideas. Past alumni include Google Alerts, the Google Docs suite and Google Reader. Check out these eight Google Labs experiments that we'd like to see go mainstream. Which ones are on your radar?

Read more: CIO

Posted via email from jasper22's posterous

Netkit

|
Understanding computer networks without performing practical experiments is really difficult, not to say it is almost impossible. Unfortunately, setting up a networking lab can be very expensive.

Netkit has been conceived as an environment for setting up and performing networking experiments at low cost and with little effort. It allows to "create" several virtual network devices (full-fledged routers, switches, computers, etc.) that can be easily interconnected in order to form a network on a single PC. Networking equipments are virtual but feature many of the characteristics of the real ones, including the configuration interface.

Emulating a network with Netkit is a matter of writing a simple file describing the link level topology of the network to be emulated and some configuration files that are identical to those used by real world networking tools. Netkit then takes care of starting (emulated) network devices and of interconnecting them as required. Alternatively, networks can be described by using an XML-based language known as NetML. Starting from a network description in NetML, it is possible to automatically obtain configuration files which can be used with real routers, or Netkit scripts which can be used to emulate the described network.

Netkit exploits open source software (mostly licensed under GPL) and is heavily based on the User Mode Linux (UML) variant of the Linux kernel. The purpose of this project is to solve many of the difficulties and technicalities that a user could have in using UML for networking. We offer the users an easy-to-use-and-install package, which at the same time implements effective network emulation. Further, we provide a corpus of teaching material that can be used for courses at different levels.

Read more: NetKit
Read more: Visual Netkit

Posted via email from jasper22's posterous

OMNESTTM - The R&D Simulator

|
OMNEST is used by researchers and R&D engineers worldwide to investigate various scenarios and design alternatives: architectural designs, wireless and wired protocols and networks, queueing-based and other systems. OMNEST lets you build and evaluate simulations in a world-class integrated Simulation IDE, and you can also embed simulations in your own software products.

OMNEST is the commercial version of the OMNeT++ simulation environment, which is well known and widely used in academic and research communities. What's the difference between OMNeT++ and OMNESTTM?

Read more: OMNEST

Posted via email from jasper22's posterous

GNS3

|
dmvpn_lab_min.png

What is GNS3 ?

GNS3 is a graphical network simulator that allows simulation of complex networks.

To allow complete simulations, GNS3 is strongly linked with :

Dynamips, the core program that allows Cisco IOS emulation.
Dynagen, a text-based front-end for Dynamips.
Qemu, a generic and open source machine emulator and virtualizer.
GNS3 is an excellent complementary tool to real labs for network engineers, administrators and people wanting to pass certifications such as CCNA, CCNP, CCIP, CCIE, JNCIA, JNCIS, JNCIE.

It can also be used to experiment features of Cisco IOS, Juniper JunOS or to check configurations that need to be deployed later on real routers.

This project is an open source, free program that may be used on multiple operating systems, including Windows, Linux, and MacOS X.

Features overview

Design of high quality and complex network topologies.
Emulation of many Cisco IOS router platforms, IPS, PIX and ASA firewalls, JunOS.
Simulation of simple Ethernet, ATM and Frame Relay switches.
Connection of the simulated network to the real world!
Packet capture using Wireshark.

Read more: GNS3

Posted via email from jasper22's posterous

GINI

|
running-linux.png

What is GINI?

GINI (GINI is not Internet) is a toolkit for creating virtual micro Internets for teaching and learning computer networks. It provides an easy to use graphical user interface (GUI) called gBuilder for creating network instances. Using gBuilder, the user can create small to moderate sized networks. Once the network is built, parameters such as subnet addresses are assigned by the user to different components of the network. gBuilder provides support by automatically computing routing tables and automatically assigning IP and MAC addresses.

Using the gBuilder interface, the user can start the network. The starting process creates virtual instancess of each network element and connects them as specified in the network. For example, User-Mode Linux instances are started for machines and custom user-level routing programs are started for routers. By default, all elements of a network run within the machine from where gBuilder was started. However, gBuilder provides facilities to run the elements on a remote server.

Read more: GINI

Posted via email from jasper22's posterous

Google Android tutorial

|
Android tutorial part 1 - Conway's Game of Life

Content

Day One - Why build Conway's Game of Life for Google Android?
Day Two - Starting to build the application
Day Three - First run
Day Four - Wiring the initial UI together
This tutorial has a second part: Android tutorial part 2 - Conway's Game of Life.

Day One - Why build Conway's Game of Life for Google Android?

Basically, my initial motivation to write this tutorial was one of self-interest, that is, when you are forced to document something that you are in the process of learning, it helps to reinforce said learning experience.

As a developer, I am always looking out for new and interesting technologies and it takes no real leap of faith to see that mobile computing (in all its forms) is going to outright dominate the field of software development for the foreseeable future - mobile is going to be big... really, really BIG!

Furthermore, in my opinion, the writing is on the wall, that is, Google's Android platform will be established as a major player if not the player within the mobile market within the next couple of years, eventually overtaking both Apple and RIM within the smartphone market. We're not there yet (and perhaps we shouldn't ever 'get there' completely - competition is good), but I do see it happening sooner or later.

Hence, this tutorial is aimed at developers that know how to download and install SDKs, have a reasonable level of experience with Eclipse and specifically Java (the language) but at the same time do not have any real experience (like me) at building applications targeting Google Android.

Why Conway's Game of Life? Well, Conway's Game of Life is a very simple cellular automaton (for a more in-depth overview of the game, check out the article at Wikipedia for Conway's Game of Life) - the problem space is small enough to allow me to only focus on Google Android while still including sufficient elements to make for both an interesting and valid learning experience. For example, the application includes:

a 'game' loop (in its own thread):
update state
update input
update calculations
update animations
GUI components with binding
a custom GUI component

Read more: Quesucede.com

Posted via email from jasper22's posterous

Common Open Research Emulator (CORE)

|
core-logo-275x75.gif

The Common Open Research Emulator (CORE) is a tool that allows you to emulate entire networks on one or more machines. You can connect these emulated networks to live networks or to additional emulated networks. CORE consists of a GUI for easily drawing topologies that drives lightweight virtual machines, and various utilities. CORE uses virtualized network stacks in a patched FreeBSD kernel, or Linux virtual machines.

Read more: CORE

Posted via email from jasper22's posterous

ContainerOne - C# application server

|
An OSGi like application server completely written in c# (.net 4.0) which enables easy designing of a component oriented architecture - for developers and architects...

Please refer to the documentation for further information

Read more: Codeplex

Posted via email from jasper22's posterous

Aquaria Goes Open Source

|
A post on the Wolfire blog yesterday announced that the source code for Aquaria has now been released. Aquaria, an action-adventure, underwater sidescroller from Bit Blot, was part of the Humble Indie Bundle, which was so successful that the developers of four games pledged to release them as open source. This marks the final release, following Lugaru, Gish, and Penumbra: Overture. The source code is available from a Mercurial repository.

Read more: Slashdot
Read more: Aquaria

Posted via email from jasper22's posterous

RESTful WCF Architecture – Hosting RESTful WCF Services in IIS

|
Hosting in IIS [managed hosting] offers the following advantages:

Process setup and shutdown.
Process pooling and recycling.
Application restart [recycle] when configuration changed.
Enhanced security model.
Management tools.
Caching management.
Proven hosting platform written, debugged by A-team @MS.
Officially supported MS product/technology.
Hosting WCF in IIS – Quick & Dirty

Following are quick steps to expose WCF service via IIS and svc file using Visual Studio.

Create ASP.NET Empty Web Application. The application will provide a container for RESTful WCF services – files with svc extension. When IIS receives a request to resource with svc extension it routes to WCF handler. Look for *.svc extension as a path and its corresponding handler which is System.ServiceModel.Activation.HttpModule in IIS manager under Handler Mappings.
Add WCF Service. Visual Studio creates three files. For example, if you create RESTfulWCF service these files are created:
RESTfulWCF.svc – the file that glues the request routed by IIS and the service implementation. This is a simple text file that should look similar to this:

<%@ ServiceHost Language="C#"
               Debug="true"
               Service="RESTfulWCFHostedInIIS.RESTfulWCF"
               CodeBehind="RESTfulWCF.svc.cs" %>

IRESTfulWCF.cs – service’s interface with contract attributes decoration. It’s a common WCF practice to separate the interface and the implementation when building WCF services.
RESTfulWCF.svc.cs – the code behind file that implements the service based on the IRESTfulWCF.cs.
Configure web.config.
Hosting WCF in IIS – Componentaized Approach

Another approach is to componentize the service into separate assembly. The main benefit of the approach is complete separationg or componentization of the service and how it’s exposed to the external world. Another huge benefit is this approach eliminates the need of messing with web.config.

Following are the steps needed to expose the WCF component that implements RESTful WCF service via svc file hosted in IIS:

Summary of steps:

Step 1 - Create class library project.
Step 2 - Implement RESTful resource.
Step 3 - Define RESTful WCF service interface.
Step 4 - Implement RESTful WCF service based on the interface.
Step 5 - Create empty web project.
Step 6 - Create new svc file.
Step 7 - Edit web.config file.
Step 8 - Test RESTful WCF service hosted in IIS.
Rest of the post is the detailed walkthrough of the above steps.

Read more: Alik Levin's

Posted via email from jasper22's posterous

Lord of the Rings Online To Go Free-To-Play

|
bmf sends word of Turbine's announcement that Lord of the Rings Online will become a free-to-play game this fall. 'The move is another validation of the free-to-play business model, where gamers can play for free and pay real money for virtual goods such as better weapons or decorative gear for their game characters. The business model has been popular in Asia but only recently took off in the US. This move shows the pressure is building on game publishers to shift to the new business model or face declining audiences.' According to a post on the official website, LotRO's micro-transaction system will be "very similar" to how Turbine's DDO store works, and current subscribers will maintain all of their privileges.

Read more: Slashdot
Read more: Lord of the Rings Online

Posted via email from jasper22's posterous

Project “Hilo”, A Complete C++ / Windows 7 Sample Application

|
7635.image_5F00_thumb_5F00_7479B026.png

The C++ team has introduced a new sample series designed to demonstrate building a rich Windows 7 application for working with pictures, from scratch.  Each step will add new features including touch, animation, etc.  You can read more about the sample series and download full source code from the main site.

The first version builds a carousel control for displaying pictures and includes browsing support

Read more: Jason Zanders Weblog

Posted via email from jasper22's posterous

Hyper-V for Developers – Part 1 – Internal Networks

|
Over the last year, we’ve been working with Microsoft to build training and demo content for the next version of Office Communications Server – code-named Microsoft Communications Server “14”.

This involved building multi-server demo environments in Hyper-V, getting them running on demo servers which we took to TechEd, PDC, and other training events, and sometimes connecting the demo servers to the show networks at those events.  ITPro stuff that should scare the hell out of a developer!

It can get ugly when I occasionally have to venture into ITPro land.  Let’s leave it at that.

Having gone through this process about 10 to 15 times in the last year, I finally have it down.  This blog series is my attempt to put all that knowledge in one place – if anything, so I can find it somewhere when I need it again.

I’ll start with the most simple scenario and then build on top of it in future blog posts.

If you’re an ITPro, please resist the urge to laugh at how trivial this is.

Internal Hyper-V Networks

Let’s start simple.  An internal network is one that intended only for the virtual machines that are going to be on that network – it enables them to communicate with each other.

Create an Internal Network

On your host machine, fire up the Hyper-V Manager and click the Virtual Network Manager in the Actions panel.

Read more: Clarity Consulting

Posted via email from jasper22's posterous

Android Rootkit Is Just a Phone Call Away

|
Hoping to understand what a new generation of mobile malware could resemble, security researchers will demonstrate a malicious 'rootkit' program they've written for Google's Android phone next month at the Defcon hacking conference in Las Vegas. Once it's installed on the Android phone, the rootkit can be activated via a phone call or SMS message, giving attackers a stealthy and hard-to-detect tool for siphoning data from the phone or misdirecting the user. 'You call the phone, the phone doesn't ring, and when the phone realizes that it's being called by an attacker's phone number, it sends him back a shell [program],' said Christian Papathanasiou, a security consultant with Chicago's Trustwave, the company that did the research.

Read more: Slashdot

Posted via email from jasper22's posterous

Microsoft Visual C++ Static and Dynamic Libraries

|
This article is intended to be a basic introduction to the Microsoft Visual C++ Static and Dynamic Libraries. This article assumes that you have a basic understanding of the C language and are familiar with the Microsoft Visual C++ IDE. I will show you how to compile and reference dynamic and static libraries so that you can share and distributed your own libraries. You will need to have a version of Microsoft Visual C++. If you do not own a copy you can download the express edition here.

This tutorial will cover step-by-step how to compile and reference your libraries with plenty of visuals. This article is intended to be repetitive to help beginners grasp and develop their own libraries with Microsoft Visual C++. I strongly recommend you read my previous article about compiling libraries with MinGW. The article provides a comparison between static and dynamic libraries. In general I find GCC compiler easier to comprehend and easier to develop libraries, this will assist beginners in developing their own libraries.

The Static Library  

The code for a static library is identical to my previous post on compiling libraries for MinGW, found here. This is a over simplistic library to emphasis the process  of creation not the concept of a library. The library is pretty standard, in that the function is declared in the header and defined within the 'c/cpp' file.

Read more: Codeproject

Posted via email from jasper22's posterous

Google's Chrome OS To Launch In Fall

|
chrome-os-screenshot-1-500x375.jpg

On Wednesday Google's vice president of product management said that this fall Google will launch Chrome OS to compete with Microsoft Windows. More than 70 million users already use the Chrome Browser, and Google expects at least 1 million users of the OS by day one of release.

Read more: Slashdot

Posted via email from jasper22's posterous

test

|
test message - please delete

Posted via email from jasper22's posterous

Using FormatMessage

| Sunday, June 6, 2010
The FormatMessage API call is very powerful, and particularly useful for issuing all kinds of messages. This is not intended to be a full tutorial on using FormatMessage, but simply an example of one of the most effective uses of the the call. There is nothing more offensive than being presented with a message like the one below:

This is incomprehensible. The file cannot be opened. Why? For that matter, what file? The name the user types in is only part of the filename context; the rest relies on the current directory, which may not be what the user thinks it is. Errors like this generate unnecessary support calls to tech support departments, and consume a lot of time of the technical support people trying to determine what has gone wrong. A muchbetter example of an error message is the next one. It tells what the application-level error is, what file was being considered, and the description of the error code.

In this case, I had created a read-only file junk.txt to induce the error on a Save command.

CString ErrorString(DWORD err)
   {
    CString Error;
    LPTSTR s;
    if(::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
           FORMAT_MESSAGE_FROM_SYSTEM,
           NULL,
           err,
           0,
           (LPTSTR)&s,
           0,
           NULL) == 0)
   { /* failed */
    // Unknown error code %08x (%d)

    CString fmt;
    CString t;
    fmt.LoadString(IDS_UNKNOWN_ERROR);
    t.Format(fmt, err, LOWORD(err));
    Error = t;
   } /* failed */
    else
   { /* success */
    LPTSTR p = _tcschr(s, _T('\r'));
    if(p != NULL)
       { /* lose CRLF */
        *p = _T('\0');
       } /* lose CRLF */
    Error = s;
    ::LocalFree(s);
   } /* success */
    return Error;
   } // ErrorString

Read more: Codeproject

Posted via email from jasper22's posterous

FLV Video conversion library for .Net 3.5

|
This is a component created to call the ffmpeg tool to convert various video formats to the Adobe Flash FLV output format. The component also takes care of server resources usage, by lowering the priority of the process, so the machine can perform as other tasks as possible.

Read more: Codeplex

Posted via email from jasper22's posterous

15 Great Content Management Systems for Designers

|
One of the first questions a client will ask you when you are tasked to develop a website is “how can I maintain it myself”.  It used to be a very daunting prospect to build in functionality allowing a novice to update their own website.  Today, the only difficult part is deciding which CMS you want to use.  When it comes to content management systems (CMS) and publishing platforms, there are more than enough to choose from and it all depends on what exactly you are looking to do.   While many CMS’s are overly complicated and require a certain level of technical expertise you may not have, there are a growing number of light, scalable and intuitive content management systems that will help you develop a dynamic website your client can update themselves.
Today, lets take a look at 15 (now 16) great content management systems that are rich in features, flexible enough for designers, highly customizable and won’t break your budget.

Expression Engine

Probably one of the most popular CMS’s among web designers, and for good reason. It’s extremely powerful but easy to use, adapting to your design process whilst still being easy for your end user. It’s also modular so you can add and remove features with ease.

Read more: designtutorials4u

Posted via email from jasper22's posterous

Debugging kernel objects using windbg & kd

|
One of the most common issues I deal with are related to blocking. Some of this are pretty straight forward to identify, Others not that easy, especially if you have a process with many threads. When I have to troubleshoot blocking on WaitHandles (e.g Mutex) I usually find the need to use both user mode and kernel mode debugging to identify the guilty thread.
For demonstration purposes I’ve built a simple sample where a process appears hung.

The first thing to do is to attach the debugger to the process. My sample was built with CLR 4.0 so no more mscorwks (now it´s called clr.dll). Let’s start by loading the SOS extension.

0:007> .loadby sos clr

After looking at the threads stack with !clrstack we can see a thread blocked on WaitOne.

(managed stack)
0:007> !clrstack
OS Thread Id: 0x1b18 (7)
Child SP IP       Call Site
04fbf4f4 76fc00fd [HelperMethodFrame_1OBJ: 04fbf4f4] System.Threading.WaitHandle.WaitOneNative(System.Runtime.InteropServices.SafeHandle, UInt32, Boolean, Boolean)
04fbf59c 6a4b6eff System.Threading.WaitHandle.InternalWaitOne(System.Runtime.InteropServices.SafeHandle, Int64, Boolean, Boolean)
04fbf5b8 6a4b6ebd System.Threading.WaitHandle.WaitOne(Int32, Boolean)
04fbf5d0 6a4b6e80 System.Threading.WaitHandle.WaitOne()
04fbf5d8 002006c6 BlockingQueueWithManualResetEvents`1[[System.__Canon, mscorlib]].Enqueue(System.__Canon)
04fbf610 00200666 ThreadsManaged.Program+<>c__DisplayClass4.<Main>b__3()
04fbf61c 6a4d0bea System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
04fbf628 6a500b6c System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

Read more: Deviations

Posted via email from jasper22's posterous

6 important uses of Delegates and Events

|
Introduction
Abstraction problems of methods and functions
How to declare a delegate?
Solving the abstract pointer problem using delegates
Multicast delegates
Simple demonstration of multicast delegates
Problem with multicast delegates – naked exposure
Events – Encapsulation on delegates
Implementing events
Difference between delegates and events
Delegates for Asynchronous method calls
Summarizing Use of delegates
Difference between delegates and C++ pointer
Source code
In case you do not want to read my complete article , you can watch the below video for the same.


Introduction

In this article we will first try to understand what problem delegate solves, we will then create a simple delegate and try to solve the problem. Next we will try to understand the concept of multicast delegates and how events help to encapsulate delegates. Finally we understand the difference between events and delegates and also understand how to do invoke delegates asynchronously.

Once we are done with all fundamentals we will summarize the six important uses of delegates.

This is a small Ebook for all my .NET friends which covers topics like WCF,WPF,WWF,Ajax,Core .NET,SQL etc you can download the same from here
or else you can catch me on my daily free training @  from here  

Abstraction problems of methods and functions

Before we move ahead and we talk about delegates let’s try to understand what problem does delegate solve. Below is a simple class named ‘ClsMaths’ which has a simple ‘Add’ function. This class ‘ClsMaths’ is consumed by a simple UI client. Now let’s say over a period of time you add subtraction functionality to the ‘ClsMaths’ class, your client need to change accordingly to accommodate the new functionality.

Read more: Codeproject

Posted via email from jasper22's posterous