Geeks With Blogs
Blog Moved to http://podwysocki.codebetter.com/ Blog Moved to http://podwysocki.codebetter.com/ Windows
Singularity - C# OS Released on CodePlex
Update: If you want the .iso I used for the VPC, check it out here on my SkyDrive. During my research and posts about Design by Contract and Spec# and my interactions with folks from Microsoft Research, I came across Singularity OS, an operating system written in an offshoot language based upon C#. In that time, I realized that the Singularity team extended Spec# and the Design by Contract and static verification pieces of it into a new language called Sing#. Fast forward to last Tuesday. Almost ......

Posted On Tuesday, March 11, 2008 8:03 PM

Visual Studio 2008, SQL Server 2008 & Windows Server 2008 Launch Event Coming to a City Near You!
As noted today, you can now register for the Launch of Visual Studio 2008, SQL Server 2008 and Windows Server 2008. You can find the closest event to you from here. For all you DC folks like me, our event is March 25th and you can find that registration information here. Here is the basic information: Take a test drive Come to an event and test drive Windows Server® 2008 operating system, Microsoft® SQL Server® 2008, and Microsoft Visual Studio® 2008. Meet the experts Enjoy hands-on labs, face-to-face ......

Posted On Monday, January 14, 2008 6:22 PM

Microsoft Free Tools - Best Practice Analyzer for ASP.NET
Microsoft has released a new tool called Microsoft Best Practice Analyzer for ASP.NET. This tool scans the configuration of an ASP.NET 2.0 application. The tool can scan against three mainline scenarios (hosted environment, production environment, or development environment) and identify problematic configuration settings in the machine.config or web.config files associated with your ASP.NET application. This tool is current in alpha right now and Microsoft is counting on your feedback on how to ......

Posted On Monday, July 3, 2006 12:19 PM

Microsoft Identity Integration Server (MIIS) Resources
Well, I survived giving a presentation of some of the coding that you can do with MIIS last night at the MICSUG meeting. Overall, it was a great meeting and it was good to see some new faces there. Joe Francis from Microsoft gave a presentation of the current functionality and future plans for MIIS. He also briefly went over other Identity solutions at Microsoft. Paul Laudeman of TCSC presented a case study of an MIIS implementation which included some very valuable lessons learned, some high points ......

Posted On Friday, June 23, 2006 8:59 AM

Day 10 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
Update: Put a comment in if you want the C# version of this code and I will get it to you In the previous installment, I actually gave the source code which is available if you go to the Day 9 post. Anyhow, what we're going to cover today is setting up your IIS to allow for BITS upload functionality. Several things must be done in order for uploads to be supported on your machine. First, we need to install the BITS Extensions for IIS. In order to do so, you must do the following: Go to Add/Remove ......

Posted On Sunday, June 18, 2006 8:05 PM

Why Vista Slipped
Phillip Su of Microsoft posted a great rant called Broken Windows Theory about why Microsoft Vista shipment date slipped. It's a very heated topic that caught the attention of Robert Scoble on his blog. Lately, Vista's dates have kept slipping and people have started to notice. In there, he named the usual suspects of why Windows shipments are delayed, such as: * Windows code is too complicated * Windows has gone thermonuclear when it comes to process He also claims that it is cultured to slip and ......

Posted On Thursday, June 15, 2006 9:17 PM

Day 9 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
Update: Put a comment in if you want the C# version of this code and I will get it to you Well, I was having troubles connecting to CVS on my Managed BITS Sourceforge Project over my VPC, so while I figure it out, I decided to upload the source code plus binaries to SaveFile for the time being. Let me know if you have any questions or problems regarding this. Now that I got that out of the way, let's get back to where we left off. In the previous lesson, we talked about implementing the IBackgroundCopyCallback ......

Posted On Thursday, June 8, 2006 3:34 PM

Day 8 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
Update: Put a comment in if you want the C# version of this code and I will get it to you Well, I finally managed to get a spot for the Managed BITS Wrapper on SourceForge.net. I have not uploaded any files just yet, as I am cleaning up one or two things as well as trying to add some test cases to it. I will let people know when I actually have a release out there available. The first available release will be in Managed C++ and then the second release will be in C++/CLI. I left off last time looking ......

Posted On Friday, June 2, 2006 11:44 AM

Day 6 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
UPDATE: See Day 9 of the Background Intelligent Transfer Service (BITS) Managed Wrapper for the source code plus binaries. In previous lessons, I covered the BackgroundCopyManager and how I wrapped the IBackgroundCopyManager in Managed C++. Today, I'll go a step further to look at the BackgroundCopyJob wrapped class. The BackgroundCopyJob wraps the following interfaces: * IBackgroundCopyJob * IBackgroundCopyJob2 * IBackgroundCopyJob3 As we are dealing with unmanaged types, we must also take into ......

Posted On Wednesday, May 24, 2006 6:47 PM

.NET Security - Exception Management
In previous days, I talked about many other ways to write a secure application. Today I will cover exception management and handling as it pertains to application security. When dealing with Exceptions, it's a best practice to hide the implementation details of your applications from the user. This includes hiding information regarding implementation, any secure data, and system configuration. To provide a secure application with regards to exception handling: * Use a structured exception handling ......

Posted On Monday, May 22, 2006 11:10 AM

.NET Code Access Security - Class Design Considerations
As secure developers, we must take into account our class designs. We need to reduce the attack surface available to potential to attackers. We can do this by limiting inheritance, and limit users or groups or even code that can call the secure code. Today we will concentrate on five major topics: * Limit class or member visibility * Seal non-base classes * Restrict callers of your code * Restrict inheritance with keys * Limit the set modifier on properties Limit class or member visitbility When ......

Posted On Saturday, May 20, 2006 8:17 PM

Day 5 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
Update: Put a comment in if you want the C# version of this code and I will get it to you Sorry about the delay about getting back to this, but I have been rebuilding a clean build environment for this tool for both Visual Studio 2003 and Visual Studio 2005 which required a little bit of work. I'm in the process of getting some sort of hosting so that I can share the source code, but if you need or want it in the mean time, please do not hesitate to contact me. Anyhow, we left off with the total ......

Posted On Monday, May 15, 2006 3:08 PM

Windows Communication Foundation Labs
After attending the MSDN event in Washington, DC for not only the morning session, but also the afternoon session, I decided to give the MSDN Virtual labs for the Windows Communication Workflow.  They can be found here:  http://msdn.microsoft.com/virtuallabs/wcf/
 
Once you are there, look around for other great virtual labs.

Posted On Friday, May 12, 2006 3:09 PM

.NET Code Access Security - SqlClient
In previous posts, I covered what you can do with strong names and the new features in Visual Studio 2005. My perspective regarding security is that it is way overlooked with our programming and needs to be reinforced in all day to day operations. Today, what we're going to cover is the SqlClientPermission and the SqlClientPermissionAttribute. We can use this attribute to restrict how the database can be accessed. I'm always of the mindset is to restrict most permissions unless specifically granted ......

Posted On Friday, May 12, 2006 9:53 AM

Day 4 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
UPDATE: See Day 9 of the Background Intelligent Transfer Service (BITS) Managed Wrapper for the source code plus binaries. In previous lessons, I laid out the basic API for BITS. Now I think it's time for us to start doing the actual planning on how to wrap this API. Let's start by mapping out the BITS types and then creating our own wrapped types. Below, I have a table of those native types and what the wrapped types will be: Enumerations Unmanaged BITS Type Wrapped Type BG_AUTH_SCHEME AuthenticationScheme ......

Posted On Wednesday, May 10, 2006 7:37 AM

Day 3 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
Update: Put a comment in if you want the C# version of this code and I will get it to you In the previous lesson, I left off with the basic understanding of the IBackgroundCopyManager. Today, we're going to dive a little deeper into what exactly the IBackgroundCopyManager creates, the IBackgroundCopyJob. There are many methods in the IBackgroundCopyJob and so much so that it's really difficult to talk about each one in detail. As the versions of BITS evolved, more interfaces were added to support ......

Posted On Wednesday, May 10, 2006 7:34 AM

Day 2 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
Update: Put a comment in if you want the C# version of this code and I will get it to you In my previous lesson, I gave a brief overview of the Background Intelligent Transfer Service. Today we will dig a bit deeper into some of the API as well as give reasons why I chose Managed C++ over a C# implementation. First off, there was plenty of reading to do from the last time. If you want to read more about the uses of BITS as well as the key technologies behind it, please check out this link: http://msdn.microsoft.com/l... ......

Posted On Wednesday, May 10, 2006 7:33 AM

Day 1 of the Background Intelligent Transfer Service (BITS) Managed Wrapper
Update: Put a comment in if you want the C# version of this code and I will get it to you A large client of mine wanted an automated way of delivery large files picture files throughout their network. After listening to their initial solution of FTP, I realized after some research that the Background Intelligent Transfer Service (BITS) would be a good alternative. I could programatically use BITS to transfer files automatically to the other computer using upload job types. BITS has an advantage over ......

Posted On Tuesday, May 9, 2006 12:47 PM

Free Tool - Process Explorer
Lately, I have been doing rather large data migration to and from SharePoint Portal Server 2003 using the API and was running into performance issues (Not a surprise really). Anyhow, I needed to find out some basic information about memory usage as well as some of the .NET related information. I found the solution with Process Explorer, written by Mark Russinovich. The tool is available via this link: http://www.sysinternals.com... When you first launch the application, ......

Posted On Thursday, May 4, 2006 4:58 PM

Copyright © Matthew Podwysocki | Powered by: GeeksWithBlogs.net