Overview
Microsoft® Hyper-V™ Server 2008 R2 is a stand-alone product that provides a reliable and optimized virtualization solution enabling organizations to improve server utilization and reduce costs. With the addition of new features such as live migration and expanded processor and memory support for host systems, it allows organizations to consolidate workloads onto a single physical server and is a good solution for organizations who are consolidating servers as well as for development and test environments.
By having the ability to plug into existing IT infrastructures Microsoft Hyper-V Server 2008 R2 enables companies to reduce costs, improve utilization and provision new servers. It allows IT professionals to leverage existing patching, provisioning, management and support tools and processes. IT Professionals can continue to leverage their individual skills and the collective knowledge of Microsoft tools, minimizing the learning curve to manage Microsoft Hyper-V Server 2008 R2. In addition, with Microsoft providing comprehensive support for Microsoft applications and heterogeneous guest operating systems support, customers can virtualize with confidence and peace of mind.
Download it here: http://www.microsoft.com/downloads/details.aspx?familyid=48359dd2-1c3d-4506-ae0a-232d0314ccf6&displaylang=en&Hash=Y%2bmJ/ja3HGhAN3IGb8L6SgqzdiDu9yP708EWaRKu98lRaUh0PG/WrR/nHFmbViB9FxzmNOGVA2s%2bObnwoAGf1Q%3d%3d#filelist
Monday, August 31, 2009
Microsoft Hyper-V Server 2008 R2 Released
Posted by
Denis
at
3:20 PM
0
comments
Labels: Hyper-V, Virtualization
Saturday, August 29, 2009
Fluent NHibernate 1.0 Released
Fluent NHibernate offers an alternative to NHibernate's standard XML mapping files. Rather than writing XML documents, you write mappings in strongly typed C# code. This allows for easy refactoring, improved readability and more concise code.
Download it here: http://fluentnhibernate.org/downloads
Read more including the Getting Started Guide here: http://wiki.fluentnhibernate.org/Main_Page
Posted by
Denis
at
5:58 AM
0
comments
Labels: NHibernate ORM
Friday, June 26, 2009
Microsoft Windows 7 Home Premium Upgrade for $49.99 on Amazon
You can preorder Windows 7 on Amazon for $49.99. This is a good deal because you know the price will go up very soon after
Microsoft Windows 7 Home Premium Upgrade
Posted by
Denis
at
8:15 AM
0
comments
Labels: Windows 7
Wednesday, April 15, 2009
Troubleshooting Performance Problems in SQL Server 2008 white paper
Microsoft made available the Troubleshooting Performance Problems in SQL Server 2008 white paper on their site. This white paper is 102 pages long, the scope of this white paper is limited to the problems commonly seen by Microsoft Customer Service and Support (CSS).
Here is is what is covered
Introduction
Goals
Methodology
Resource Bottlenecks
Tools for Resolving Resource Bottlenecks
CPU Bottlenecks
Excessive Query Compilation and Optimization
Detection
Resolution
Unnecessary Recompilation
Detection
Resolution
Inefficient Query Plan
Detection
Resolution
Intraquery Parallelism
Detection
Resolution
Poor Cursor Usage
Detection
Resolution
Memory Bottlenecks
Background
Virtual Address Space and Physical Memory
AWE, Locked Pages, and SQL Server
Memory Pressures
Detecting Memory Pressures
Tools for Memory Diagnostics
New DMVs in SQL Server 2008
Resource Governor in SQL Server 2008
External Physical Memory Pressure
External Virtual Memory Pressure
Internal Physical Memory Pressure
Caches and Memory Pressure
Ring Buffers
Internal Virtual Memory Pressure
General Troubleshooting Steps in Case of Memory Errors
Memory Errors
I/O Bottlenecks
Resolution
tempdb
Monitoring tempdb Space
Troubleshooting Space Issues
User Objects
Version Store
Internal Objects
Excessive DDL and Allocation Operations
Resolution
Slow-Running Queries
Blocking
Locking Granularity and Lock Escalation
Identifying Long Blocks
Blocking per Object with sys.dm_db_index_operational_stats
Overall Performance Effect of Blocking Using Waits
Monitoring Index Usage
Extended Events
Data Collector and the MDW
Appendix A: DBCC MEMORYSTATUS Description
Appendix B: MDW Data Collection
Download it here: http://msdn.microsoft.com/en-us/library/dd672789.aspx
Posted by
Denis
at
10:08 AM
0
comments
Labels: Performance, SQL Server 2008, troubleshooting, white paper
Wednesday, March 25, 2009
SpicIE: The Simple Plug-In Creator for Internet Explorer
SpicIE is a framework which allows you easily to extend Internet Explorer 7/8 with your own plugins. SpicIE wraps/hides the IE COM extension interfaces and makes it easy to develop browser extensions in managed programming languages.
SpicIE is designed for simplicity. The initial creation of an Internet Explorer plugin with SpicIE takes only minutes until you have a runnable, debuggable code base which you can extend with your own functionality. There are lot of scenarios where browser plugins could be useful. SpicIE lets you develop your own browser functionality comfortable with minimal technical efforts.
With SpicIE you can develop your own:
IE browsing event handlers
IE toolbar buttons
IE menu entries
IE context menu entries
IE explorer bars
IE toolbars.
SpicIE is designed for managed plugin development. You can develop SpicIE plugins in any managed development language. You will have Visual Studio 2008 project templates for C# and VB.NET plugins.
SpicIE is tested with Internet Explorer 7/8. You can develop SpicIE plugins with all Visual Studio 2008 versions. SpicIE plugins can be executed by .NET 2.0, .NET 3.0, .NET 3.5.
SpicIE is published unter MICROSOFT PUBLIC LICENSE (Ms-PL).
More can be found here: http://code.msdn.microsoft.com/SpicIE/
Posted by
Denis
at
10:10 AM
0
comments
Labels: IE8, Internet Explorer 8, SpicIE
Wednesday, March 18, 2009
Microsoft Web Technologies Unveiled at MIX09
Today at MIX09, Microsoft Corp. announced a set of platform investments to help companies more efficiently and affordably engage with their customers through a rich, interactive presence on the Web. This includes the release of Microsoft Silverlight 3 Beta and Expression Blend 3 Preview, and continued progress in the cloud with updates to the Azure Services Platform. The company also pointed to strong momentum in platform adoption and demonstrated a number of solutions from key partners including Netflix Inc., Bondi Digital Publishing, StackOverflow.com and KEXP. In addition, building on the success of Silverlight during the Beijing Games, NBC Universal has again chosen Silverlight to deliver the 2010 Vancouver Olympic Winter Games on its official Web site, NBCOlympics.com.
The Business Imperative of a Return on Experience
Organizations that create more intuitive, more engaging experiences on the Web are able to reduce costs and increase sales. Their visitors find the information they want faster, their customers make fewer calls to support help desks, and the number of impulse purchases made by customers generated grows dramatically. The integrated and interoperable offerings from Microsoft, composed of software and services for desktop, datacenters and the cloud, help organizations deliver richer, more compelling experiences that they require both in and out of the browser, and give them enhanced “return on experience” that the current economic climate demands.
Silverlight 3 Beta Released
Silverlight 3 empowers Web developers and designers to build the best experiences for their customers through the creation of cutting-edge Web applications. Silverlight 3 helps rich Internet application (RIA) developers work faster with new graphics, animation and 3-D features, and more than 60 controls. Silverlight 3 also ushers in a new generation of high-quality and high-definition video experiences with true high-definition video in full-screen mode, with stutter-free live and on-demand video. Silverlight 3 also gives users more video format choices than ever before, including H.264, along with enhancements such as deep linking, to improve navigation in Silverlight content and automate search engine optimization (SEO) tasks. Finally, Silverlight 3 enables developers to create lightweight Web application experiences that can exist outside the browser. This enables Web sites to deliver more persistent relationships with their customers.
Microsoft also announced Expression Blend 3 Preview, designed to dramatically improve designer and developer workflow and productivity. In the MIX09 keynote address, Microsoft demonstrated SketchFlow, a new capability that allows designers to quickly prototype the flow and composition of applications. Now, for the first time, designers can easily receive annotated feedback on prototypes from stakeholders and rapidly iterate on a project from concept to completion. In addition, Expression Blend directly supports the import of Adobe Photoshop and Illustrator files (including layers and paths), integration of live preview sample data, and a comprehensive set of rich behaviors.
“In the short time since we launched Silverlight and Expression Blend, Microsoft has rapidly introduced new features and functionality that enable customers to deliver outstanding Web sites,” said Scott Guthrie, corporate vice president of the .NET Developer Platform at Microsoft. “We are working closely with the community to deliver software that helps businesses provide customer experiences on the Web that go beyond ‘good enough’ and drive real business results.”
Microsoft also announced that Soyatec, a France-based IT solutions provider and Eclipse Foundation member, is making available a community technology preview (CTP) of Eclipse Tools for Silverlight (Eclipse4SL) support for Macintosh. With this Eclipse plug-in, Mac developers can create RIAs for the Silverlight platform. This project is funded by Microsoft as part of Microsoft’s continued commitment to openness and interoperability.
Silverlight Customer Adoption
Silverlight has made significant progress since it was launched at MIX07. Hundreds of thousands of developers and designers are using Silverlight, and leading organizations such as AOL LLC, eBay Inc., BSkyB Ltd., Netflix Inc., CBS Sports Online, the European Commission, CareerBuilder.com, Samsung Electronics Co. Ltd. and Yahoo! Japan are building their next-generation rich applications and media experiences using Silverlight.
“Netflix chose Silverlight because it makes a faster and more agile development environment possible, allowing Netflix to quickly deliver a superior instant watching experience to our subscribers,” said Steve Swasey, vice president of corporate communications at Netflix. “When Netflix deployed Silverlight last fall, Netflix members realized a richer experience of access and quality to instantly watch movies and TV episodes from Netflix on their PCs and, for the first time, were able to instantly watch the same content on their Intel-based Macintosh computers.”
At Microsoft, more than 200 products and Web sites are now using Silverlight, including Microsoft.com, MSN, Live Search, Windows Live, Microsoft Office Online, Virtual Earth and the live preview release of the Silverlight-based WorldWide Telescope application.
Easier Access to Developer Tools, Platforms, and Applications
Today, Microsoft also released several components of the Microsoft Web Platform, an integrated set of tools, servers and frameworks that work seamlessly together and interoperate with popular open source applications and products that are used in the community. Included in the Microsoft Web Platform vision is the Web Platform Installer 2.0 Beta, a tool that simplifies the installation and update of Microsoft’s free Web products and other free Web components. This release allows users to download both PHP and the final release of ASP.NET MVC 1.0. Microsoft also launched the Windows Web Application Gallery, which allows developers to discover, explore and download applications and components that will help them build Web applications. Developers can submit free applications into the Gallery, offering communities, partners and independent software vendors access to millions of Windows developers worldwide for promoting their Web solutions. The Gallery includes links to popular applications such as Acquia Drupal, DotNetNuke and WordPress.
Finally, Microsoft also announced the availability of Microsoft Commerce Server 2009, which allows businesses to create improved user experiences across e-commerce channels.
Deepening Cloud Investments With the Azure Services Platform
Posted by
Denis
at
12:21 PM
0
comments
Labels: Azure, mix09, Silverlight, Silverlight 3
Collection Of Puzzles For Programmers
Did you know that they have a nice collection of puzzles on less than dot? Some are harder than others so there is something for everyone. You can pic any language you want, you will see that there are solutions in Ruby, Python, Visual Basic, SQL, JavaScript, C++ and other.
Here is a partial list of what they have
Friday the Thirteenths
The goal is to identify all friday the thirteenths for a given timeframe
Regular Pentagon
Given a grid co-ordinate (x,y) as the centre point of a regular pentagon, and the sum of the length of the sides, return the co-ordinates of each point as: "Top", "MidLeft", "MidRight", "BottomLeft", "BottomRight" and the distance from the centre to each of the points.
ASCII Art Shapes
Create some ASCII art in the shortest code possible
Finding Prime Numbers
Find every prime number between 0 and 1,000,000
Calculating the Fibonacci Sequence
Calculate 'X' numbers in the Fibonacci Sequence, which is essentially adding the previous 2 occurring numbers together to make the next
split a filepath
Let's say you have the following 4 items:
C:\data\old\one.jpg
C:\data\old\one.two.jpg
C:\data\new\newer\three.wav
C:\Documents and Settings\My Music\Amazon MP3\The Doors\Gloria.mp3
You have to split this data and also show how many folders are in the path
format bytes and add postfixes
Given a numerical input of bytes, create a function to format the output to two decimal places along with the relevant postfixes
Convert Between Roman and Arabic Numerals
Write a program to convert to (and from) roman numerals. So your program should be able to take the input of 27 and return XXVII, and take MCMLXXXI and return 1981. And of course any other values.
Find it
Given an array of 1001 elements which contains integers from 1 to 1000 inclusive. The numbers are randomly stored in the array. Only one number repeats itself
First create the array randomly and the one number randomly. But use 10 million integers plus one of course. Do this 10 times and show the times it takes to find the number and then the average time
Weekends between two dates
Write a program that will take two dates as inputs, and output the number of weekends between them.
Hello World! For Hackers
Create the most unique way of writing "Hello World" - the more fantastic, cryptic, oddball the better
Calculate the moon phase
Calculate the phase of the moon as accurately as possible.
We all know that a moon month is not as long as a normal month. It is about 29.53 days long, but that is an average and not very accurate
reverse the order of words
Given an array of characters that form a sentence, give an efficient algorithm to reverse the order of the words (not characters) in it.
Zip me up, Buttercup
Reduce the size of the text in a single transportable file. Then inflate that same file to reproduce the original string exactly (e.g. lossless compression)
Fraud Detection
The challenge is to identify falsification of data sets. Given a set of numbers of natural source (e.g. naturally occuring like credit card payments, not machine/human generated like a telephone number), the program needs to identify the probability of that data being naturally occuring vs. being falsified.
Take numbers between 1 and 100
Take numbers between 1 and 100 and do the following
if the number is a prime mark it
if the number is divisible by 5 mark it
if the number is divisible by 7 mark it
if the number is divisible by 7 and 5 mark it
A simpler calendar
Making a simple calendar, I find that all these months with a different number of days is confussing. So I would like to have a calendar with 30 days per month from now on and 12 months a year. The only problem is that It will no longer be going with the sun. The sun being a 365 day/year cycle the new calendar has 360 days/year. So I need to compensate but only by adding a 13 month at certain years. Write me a program that calculates when to add a month to keep in synch more or less
counting the money
You should give all the possible combinations to pay for the given amount of money.
knowing that you have the following currency
1 chrissiecent
2 chrissiecent
5 chrissiecent
10 chrissiecent
20 chrissiecent
50 chrissiecent
1 chrissie
2 chrissie
also give the solution with the least amount of pieces.
Beers per day
A man earns a certain amount of chrissies a month he has to pay 15% taxes and every year he has to pay 0.5% taxes more than the year before. The man's income is indexed each year by 1%. When will that man's net income be 200% of his begin income
Distance to line segment
Given the coordinates of the line segment, calculate the shortest distance to a given point. The distance that you are to calculate is represented by the red line. If the point is 'outside' the line segment, meaning, you cannot draw a perpendicular line to it, then you should return the distance from the given point to the closest end point
Keep an eye on Programmer Puzzles because every 2 weeks or so they post a new puzzle
Posted by
Denis
at
10:23 AM
0
comments
Labels: Puzzles
ASP.NET MVC 1.0 has been released and is ready for download
ASP.NET MVC 1.0 has been released. A couple of day ago ASP.NET MVC Release Candidate 2 was released but this is the real deal.
You can download ASP.NET MVC 1.0 here: http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&displaylang=en
Overview
ASP.NET MVC 1.0 provides a new Model-View-Controller (MVC) framework on top of the existing ASP.NET 3.5 runtime. This means that developers can take advantage of the MVC design patterns to create their Web Applications which includes the ability to achieve and maintain a clear separation of concerns (the UI or view from the business and application logic and backend data), as well as facilitate test driven development (TDD). The ASP.NET MVC framework defines a specific pattern to the Web Application folder structure and provides a controller base-class to handle and process requests for “actions”. Developers can take advantage of the specific Visual Studio 2008 MVC templates within this release to create their Web applications, which includes the ability to select a specific Unit Test structure to accompany their Web Application development.
The MVC framework is fully extensible at all points, allowing developers to create sophisticated structures that meet their needs, including for example Dependency Injection (DI) techniques, new view rendering engines or specialized controllers.
As the ASP.NET MVC framework is built on ASP.NET 3.5, developers can take advantage of many existing ASP.NET 3.5 features, such as localization, authorization, Profile etc.
System Requirements
Supported Operating Systems: Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP
.NET 3.5 SP1. Visual Studio 2008, Visual Studio 2008 SP1 or Visual Web Developer 2008 SP1 are required to use certain parts of this feature.
Posted by
Denis
at
10:21 AM
0
comments
Labels: ASP.NET, ASP.NET MVC, MVC
Monday, December 15, 2008
SQL Server 2005 Service Pack 3 has been released
Service Pack 3 for Microsoft SQL Server 2005 is now available. SQL Server 2005 service packs are cumulative, and this service pack upgrades all service levels of SQL Server 2005 to SP3. You can use these packages to upgrade any of the following SQL Server 2005 editions:
* Enterprise
* Enterprise Evaluation
* Developer
* Standard
* Workgroup
Note: To upgrade SQL Server 2005 Express Edition, obtain the SP3 version of Express Edition or Express Edition with Advanced Services.
Download SQL Server 2005 Service Pack 3 here: http://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4&displaylang=en
Posted by
Denis
at
8:01 PM
0
comments
Thursday, December 11, 2008
CHESS: An Automated Concurrency Testing Tool
CHESS is an automated tool from Microsoft Research for finding errors in multithreaded software by systematic exploration of thread schedules. It finds errors, such as data-races, deadlocks, hangs, and data-corruption induced access violations, that are extremely hard to find with current testing tools. Once CHESS locates an error, it provides a fully repeatable execution of the program leading to the error, thus greatly aiding the debugging process. In addition, CHESS provides a valuable and novel notion of test coverage suitable for multithreaded programs. CHESS can use existing concurrent test cases and is therefore easy to deploy. Both developers and testers should find CHESS useful.
Posted by
Denis
at
3:45 PM
0
comments
Labels: CHESS, Concurrency, MS Research, Parallel Computing, Programming, rise, Software Engineering Research, Testing, Tools
The Ten Most Asked SQL Server Questions And Their Answers
Check out this blogpost titled The Ten Most Asked SQL Server Questions And Their Answers
Here is what is in that post
1) Selecting all the values from a table for a particular date
2) Search all columns in all the tables in a database for a specific value
3) Splitting string values
4) Select all rows from one table that don't exist in another table
5) Getting all rows from one table and only the latest from the child table
6) Getting all characters until a specific character
7) Return all rows with NULL values in a column
8) Row values to column (PIVOT)
9) Pad or remove leading zeroes from numbers
10) Concatenate Values From Multiple Rows Into One Column
So check it out here: The Ten Most Asked SQL Server Questions And Their Answers
Posted by
Denis
at
2:40 PM
0
comments
Labels: Database, SQL Server 2000, SQL Server 2005, SQL Server 2008
Monday, November 10, 2008
Visual Studio 2010 and the .NET Framework 4.0 Week, 12 videos on Channel 9
Visual Studio 2010 and the .NET Framework 4.0 Week, 12 videos on Channel 9
The week of November 10th is Visual Studio 2010 and the .NET Framework 4.0 week on Channel 9! They will have 12 videos going live this week featuring interviews with various members of the Visual Studio and the .NET Framework product teams, including several screencast demonstrations of the latest bits.
Stay tuned to http://channel9.msdn.com/VisualStudio/ for all of the action. Here's the lineup:
Monday, November 10th:
- Visual Studio 2010 Overview with Jason Zander
Languages Day (Tuesday, November 11th):
- C# 4.0 Implementation and Design Questions
- VB 10
- C++ 10: 10 is the new 6
The IDE (Wednesday, November 12th):
- Being Code-Focused with Visual Studio 2010
- Test-Driven Development and Visual Studio 2010
Concurrency and Parallelism (Thursday, November 13th):
- Parallel Extensions in the .NET Framework 4.0
- Parallel Patterns Library (Native Parallelism)
- Parallel Debugging Tools in Visual Studio 2010
Web Tools (Friday, October 3rd):??? (probably a typo)
- Sharepoint Development with Visual Studio 2010
- Web Development and Deployment with Visual Studio 2010
Posted by
Denis
at
10:15 AM
3
comments
Labels: .NET 4.0, C# 4.0 SharePoint Server, VB 10, Video, Visual Studio 2010
Monday, October 27, 2008
Microsoft Announce The Azure Services Platform
The Azure Services Platform is in CTP right now, here are some details about the Azure Services Platform:
What is the Azure Services Platform?
The Azure Services Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together. Azure’s flexible and interoperable platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. Its open architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises.
Azure reduces the need for up-front technology purchases, and it enables developers to quickly and easily create applications running in the cloud by using their existing skills with the Microsoft Visual Studio development environment and the Microsoft .NET Framework. In addition to managed code languages supported by .NET, Azure will support more programming languages and development environments in the near future. Azure simplifies maintaining and operating applications by providing on-demand compute and storage to host, scale, and manage web and connected applications. Infrastructure management is automated with a platform that is designed for high availability and dynamic scaling to match usage needs with the option of a pay-as-you-go pricing model. Azure provides an open, standards-based and interoperable environment with support for multiple internet protocols, including HTTP, REST, SOAP, and XML.
Microsoft also offers cloud applications ready for consumption by customers such as Windows Live™, Microsoft Dynamics™, and other Microsoft Online Services for business such as Microsoft Exchange Online and SharePoint® Online. The Azure Services Platform lets developers provide their own unique customer offerings by offering the foundational components of compute, storage, and building block services to author and compose applications in the cloud.
Windows Azure
Windows® Azure is a cloud services operating system that serves as the development, service hosting and service management environment for the Azure Services Platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage internet or cloud applications. Windows Azure supports a consistent development experience through its integration with Visual Studio. In the early stages of CTP, .NET managed applications built using Visual Studio will be supported. Windows Azure is an open platform that will support both Microsoft and non-Microsoft languages and environments. Windows Azure welcomes third party tools and languages such as Eclipse, Ruby, PHP, and Python.
Learn more about Windows Azure.
Live Services
Live Services is a set of building blocks within the Azure Services Platform for handling user data and application resources. Live Services provides developers with an easy on-ramp to build rich social applications and experiences, across a range of digital devices that can connect with one of the largest audiences on the Web.
Learn more about Live ServicesMicrosoft SQL Services
Microsoft SQL Services extends the capabilities of Microsoft SQL Server into the cloud as a Web-based, distributed relational database. It provides Web services that enable relational queries, search, and data synchronization with mobile users, remote offices and business partners. It can store and retrieve structured, semi-structured, and unstructured data.
Learn more about SQL ServicesMicrosoft .NET Services
Microsoft .NET Services make developing loosely coupled cloud-based applications easier. .NET Services includes access control to help secure your applications, a service bus for communicating across applications and services, and hosted workflow execution. These hosted services allow you to easily create federated applications that span from on-premises environments to the cloud.
Learn more about .NET ServicesMicrosoft® SharePoint® Services & Dynamics® CRM Services
In the future, developers will have access to SharePoint & CRM functionality for collaboration and building stronger customer relationships. With the flexibility to use familiar developer tools like Visual Studio, developers will be able to rapidly build applications that utilize SharePoint and CRM capabilities as developer services for their own applications. Developers can expect a breadth of SharePoint & CRM capabilities across the spectrum of on-premises, online & the Azure Services Platform.
Register for the Azure Services Platform here: http://www.microsoft.com/azure/register.mspx
Posted by
Denis
at
11:33 AM
0
comments
Labels: Azure, Cloud Computing, Computing in The Cloud
Sunday, October 26, 2008
Wednesday, October 15, 2008
New Transactional Memory Blog On MSDN
There is a Transactional Memory Blog On MSDN.
Here is an excerpt
If you have been using the Parallel Extension CTP or simply writing multi-threaded code yourself, you probably have run into situations where you needed to share data between multiple threads. So long as the data is read-only, this isn’t a problem, but what about mutating data?
The easy answer is to use a lock. There are a lot of blog entries and white papers talking about how to use locks correctly, how to avoid deadlocks, or what are the best locks for the particular scenario, or even how to correctly write lock-free code. You could read all of these and still run into trouble using locks. You see, the problem isn’t sharing one piece of data; it’s when you are sharing multiple pieces of data – for instance data that has a complex schema involving multiple complex objects such as trees or lists.
So, locks are a basic tool in your arsenal. From the simple lock, you can build synchronization mechanisms that hopefully protect your data, correctly, and don’t impact your scalability.
Ah, I hear you sigh. Yes, hope is eternal, software has bugs and multithreaded software has race conditions, deadlocks, and scalability problems. Why? Well, because many find it is hard and fraught with peril to correctly use anything more than a single lock or at most some really small set of course-grained locks. As code matures, locking hierarchies to provide fine-grained-locking often morph from elegant to clumsy. You may also find that as your project grows, lock depth blossoms, unnecessarily, or alternatively race conditions are introduced simply because programmers were unaware that it necessary to lock a specific resource. The end result is code that simply doesn’t scale or your application’s reliability plummets without some of your best and brightest spending time tuning, fixing, “right-sizing” and eliminating locks. Even after all that work, are you confident that your code is bug-free? Do race conditions exist in it?
Subscribe to this blog here: http://blogs.msdn.com/stmteam/default.aspx
Posted by
Denis
at
9:13 AM
0
comments
Labels: Deadlock, Parallel Extensions, PLINQ, Transactional Memory, Transactions
Friday, October 10, 2008
Microsoft Announces Conference Call With Scott Guthrie
Microsoft Corp. will hold a teleconference with Scott Guthrie, corporate vice president of the .NET Developer Division at Microsoft. Guthrie will make a significant announcement related to Microsoft Silverlight. A recording of the call and additional information will be available for 30 days on the Microsoft Silverlight PressPass Web site: http://www.microsoft.com/presspass/presskits/silverlight/default.mspx
When:
Monday, Oct. 13, 2008, at 9 a.m. PDT
Special Instructions:
Participants will need to speak the passcode “Silverlight” when prompted after dialing into the call.
Domestic participants: 888-617-1526
Argentina: 0800-777-0466
Australia: 1-800-098-380
Austria: 0800-677-286
Belgium: 0800-4-9718
Brazil: 0800-8911991
Chile: 1230-020-0323
China: 10800-712-1296 or 10800-120-1296
Colombia: 01800-9-156436
Czech Republic: 800-700-224
Denmark: 8088-5430
Finland: 0-800-1-12828
France: 080-510-0983
Germany: 0800-12-6809
Greece: 00800-12-6809
Hong Kong: 800-908-208
Hungary: 06-800-17568
India: 000-800-852-1228
Indonesia: 001-803-011-3651
Ireland: 1800-932-053
Israel: 1-80-9214710
Italy: 800-906-460
Japan: 0034-800-400651
Malaysia: 1-800-81-2060
Mexico: 001-866-839-3438
Netherlands: 0800-343-4364
New Zealand: 0800-441-333
Norway: 800-11118
Panama: 011-001-800-5072132
Poland: 00-800-1211774
Portugal: 8008-60134
Russia: 8-10-8002-0074011
Singapore: 800-120-4247
South Africa: 080-09-92283
South Korea: 00798-14800-6607
Spain: 800-099-387
Sweden: 0200-893-409
Switzerland: 0800-001-214
Taiwan: 00801-137-661
Thailand: 001-800-1206-65426
United Kingdom: 0800-279-9630
Uruguay: 000-413-598-3416
Venezuela: 0800-1-00-3211
Posted by
Denis
at
12:15 PM
0
comments
Labels: Silverlight
Thursday, October 9, 2008
Nice collection of VB.NET Programming Hacks
A nice collection of VB.NET Programming Hacks
Here is what is available
General
* Aliassing a namespace
* Memory usage for all processes
* Get the commandline parameters
* Get the computername
* Getting text from the clipboard
* Saving text on the clipboard
* Getting the freespace on a drive
* Getting memoryusage of one process
* Get the total space used by a drive
* Path to UNC
* Impersonating an administrator
* Programaticaly changing the Ignore addresses in the proxy settings
Strings
* Use StringBuilder to concatenate strings
Dates
* Add day, month, year to date
* Add time to a date (hours, minutes, seconds)
* Substract Time from a date (hours, minutes, seconds)
* Substract from a date (days, months, years)
* What day of the week is a certain date
* Is this year a leapyear?
* Difference in days between 2 dates
ADO.NET
* Use commandparameters instead of string concatenation
Forms
* Opening a form on a specified monitor
* Show a form in a form
* Open a form as modal
* Open a form
* MDI
* Hide a form on closing
Controls
* Use TextBox.AppendText instead of concatenating strings
LINQ
* Using Linq to Order directories by creation datetime
Reflection
* Getting a property using reflection part 1
* Getting a property using reflection part 2
* Getting a property using reflection part 3
* Getting a property using reflection part 4
* Create an instance of class from a string using reflection
* Set a readonly property via reflection
* Setting a private field using reflection
* Getting a private field using reflection
Patterns
* Use Singletonprovider instead of the Singleton pattern
* Invoke Singletonprovider giving a string as classname
Network
* See if the network is available
* Pinging another computer
* Getting the current computer's IP-Address
* Determining if an IPAddress is IPv4 or IPv6
* Creating an IPv6 address the correct way
* How to create an IPv4 address the correct way
* Sending a mail with attachements
File handling
* Checking if a file exists
* Deleting a file
* Checking if a directory exists
* Deleting a directory
* Get all the files from a certain directory
* Get all the files with a certain extension from a directory
* Getting a file's extension from a string
* Getting a file's filename from a string
* Getting a file's filename from a string without the extension
* Combining two strings to make a path
Posted by
Denis
at
10:28 AM
0
comments
Labels: Hacks, LINQ, Tip, Tips and Tricks, VB, Visual Basic, Wiki, XLINQ
Friday, October 3, 2008
Help me win this bet
You might know that some friends and myself have launched a site named LessThanDot, this is a site where users can collaborate via the wiki, ask questions in the fora and can read out blogs. It is a technical site but we do have a forum where you can post pretty much anything you want(not vulgar or offensive). Here are some examples
The Rage of the Previously Rich
We're In Ur Bank, Bailing It Out
Girls Habanero Eating Contest
Of course we do have our technical forums, some examples
Microsoft SQL Server
ASP.NET
Tech Rants
So I made a bet with the other owners of this site that I will have the most people sign up until November 1st. So please sign up and let your coworkers/friends know and let them sign up too, after all you don't want me to lose or do you?
Don't be scared to participate in the forums :-)
My username is SQLDenis
Posted by
Denis
at
9:37 AM
0
comments
Labels: ASP.NET, Blog, Forum, SQL Server, Wiki
Sunday, September 28, 2008
jQuery to ship with ASP.NET MVC and Visual Studio!
jQuery to ship with ASP.NET MVC and Visual Studio! (intellisense FTW)
Microsoft is looking to make jQuery part of their official development platform. Their JavaScript offering today includes the ASP.NET Ajax Framework and they’re looking to expand it with the use of jQuery. This means that jQuery will be distributed with Visual Studio (which will include jQuery intellisense, snippets, examples, and documentation).
Additionally Microsoft will be developing additional controls, or widgets, to run on top of jQuery that will be easily deployable within your .NET applications. jQuery helpers will also be included in the server-side portion of .NET development (in addition to the existing helpers) providing complementary functions to existing ASP.NET AJAX capabilities.
http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/
and here
http://www.hanselman.com/blog/jQueryToShipWithASPNETMVCAndVisualStudio.aspx
Posted by
Denis
at
6:34 PM
0
comments
Labels: ASP.NET, ASP.NET MVC, jQuery
Monday, September 22, 2008
Interview With Louis Davidson Author of Pro SQL Server 2008 Relational Database Design and Implementation
I interviewed Louis Davidson in 2005 about the 2005 edition of his book. I did another one today about Pro SQL Server 2008 Relational Database Design and Implementation. You can check out the interview at the link below, you will enjoy it
Interview With Louis Davidson Author of Pro SQL Server 2008 Relational Database Design and Implementation
Posted by
Denis
at
9:18 AM
0
comments
Labels: Book, data modeling, database design, Interview, SQL Server 2008