In this post, the poster is asking whether or not you can increase the size of a hardware RAID 1 array by installing larger drives in half of the array, rebuilding the array, installing larger drives in the other half of the array and rebuilding again. The answer seems to be no, you can't.
Rather, after googling around, the answer seems to be that you need to create a image of your system; replace all of the drives in the array with larger ones, create an new, larger and empty array on the new drives; and restore your image expanded it to fill the larger array.
Thursday, December 23, 2010
Tuesday, December 7, 2010
Web Design Tips and Tricks
Over at Six Revisions, you can find "100 Exceedingly Useful CSS Tips and Tricks" and "250 Quick Web Design Tips (Part 1)" and "250 Quick Web Design Tips (Part 2)". Check them out.
Thursday, December 2, 2010
Tooltips With Just CSS
Over at Six Revisions, Alexander Dawson has posted an article to how to create tooltips inside the browser using nothing but CSS. There is a debate in the comments about whether or not this is correct usage of HTML and/or CSS. Check it out.
CSS Resets
Prior to reading Michael Tucker's post at Six Revisions, I had not heard of a 'CSS Reset' before. If you haven't either, Tucker explains the concept:
Edit: Part 3 now posted as well.
When you use a CSS "reset," you’re actually overriding the basic stylesheet each individual browser uses to style a web page. If you present a website with no CSS whatsoever, the site will still be styled, to a very limited extent, by the browser’s default stylesheet.Edit: Part 2 has now been posted.
Edit: Part 3 now posted as well.
Wednesday, November 24, 2010
Visual Studio 2010 Resources
Microsoft's Clint Edmonson posted the "Ultimate Guide to Visual Studio 2010 Resources".
New Code Sample Repository from Microsoft
In this post, Microsoft's Clint Edmonson introduces MS's new code sample repository "All-In-One Code Framework".
Tuesday, November 23, 2010
MVVM Guidance and Training in Visual Studio
In a recent post, Josh Smith points out that there is "Free MVVM Guidance in Visual Studio". Helpful if you are looking to learn the pattern or need a reference manual. Said material was authored by Karl Shifflett.
Friday, November 19, 2010
.NET Multi-threading
To date, I have not had to write multi-threaded code in .NET. With my last project, that has changed. In the course of learning to do so, I found the articles "Multi-threading in .NET" (old but good) and "Threading in C#" helpful.
Friday, October 15, 2010
Single Page Web Sites and Designing Web Sites
Alexander Dawson has an interesting article on "The Science Behind a Single Page Website" over at the Six Revisions blog. In addition, Jacob Gube posted an article titled "Information Architecture 101: Techniques and Best Practices", in which Gube discusses how to structure the pages and information on those pages.
Monday, September 13, 2010
MVVM
MSDN has recently published an article titled 'Problems and Solutions with Model-View-ViewModel.' The article asks the questions
When is the MVVM design pattern applicable to RIA and desktop apps? When is it unnecessary?
SQL Server Performance Tuning
Buck Woody offers up a virtual cornucopia of links on SQL Server Performance Tuning in this post.
Friday, September 10, 2010
Visual Studio Scrum 1.0
Obviously, Agile Development and Scrums are hot topics these days. Microsoft has introduced Visual Studio Scrum 1.0, a new process template for Team Foundation Server 2010.
ASP.NET MVC Training Links
If you are looking for some training or a introduction to ASP.NET MVC, here are some links:
http://www.asp.net/mvc/videos/aspnet-mvc-for-the-rest-of-us-part-1
http://www.asp.net/mvc/videos/aspnet-mvc-for-the-rest-of-us-part-2
http://www.asp.net/mvc/videos/aspnet-mvc-for-the-rest-of-us-part-3
More on ASP.NET MVC
Migrating from ASP.NET MVC 1 to 2
ASP.NET MVC for Web Form Programmers
Get ASP.NET MVC 2
http://www.asp.net/mvc/videos/aspnet-mvc-for-the-rest-of-us-part-1
http://www.asp.net/mvc/videos/aspnet-mvc-for-the-rest-of-us-part-2
http://www.asp.net/mvc/videos/aspnet-mvc-for-the-rest-of-us-part-3
More on ASP.NET MVC
Migrating from ASP.NET MVC 1 to 2
ASP.NET MVC for Web Form Programmers
Get ASP.NET MVC 2
Friday, July 2, 2010
Having Trouble With Windows Search
If you are having trouble using the newer versions of Windows Search, this article on Windows Search syntax may help. If that doesn't help, here is a list of technical resources, or try WindowsNetworking.com's articles on Windows 7 Search. If you just want to get rid of the whole thing, consider Google's Desktop.
IIS Express and SQL Server Compact Edition
Scott Guthrie has announced IIS Express--depending on how you look at it, its either a light weight IIS or an advanced ASP.NET development server (otherwise known as Cassini). The objective is to meet ASP.NET developer's wish: “I wish I could have the ease of use of the ASP.NET Development Server, but still have all the power and features of IIS”
Secondly, he also announced a new version of SQL Server Compact Edition (SQL CE). To quote Guthie:
Secondly, he also announced a new version of SQL Server Compact Edition (SQL CE). To quote Guthie:
SQL CE works with existing .NET-based data APIs, and supports a SQL Server compatible query syntax. This means you can use existing data APIs like ADO.NET, as well as use higher-level ORMs like Entity Framework and NHibernate with SQL CE. Pretty much any existing data API that supports the ADO.NET provider model will work with it.The intention of both seems to be to simply the development and/or deployment of ASP.NET based applications.
This enables you to use the same data programming skills and data APIs you know today.
Friday, June 18, 2010
Windows 7 and Sysprep
I needed to build some Windows 7 images and as I've used sysprep previously on XP and Vista, it seems like the way to go. Turns out Win 7 sysprep is pretty close to Vista's, although some of the components have changes. In short, I used the same options/configuration from my Vista unattend.xml file to build a Win 7 one, and it works fine (you do need to install the newer Win 7 AIK though). More details here (I didn't do everything that Brian did, but its a good starting point).
Edit: Mark Minasi has several posts about Sysprep in his Windows Networking Tech Page newsletter. Specifically "Hands-Off Vista Installs with Answer Files and Windows System Image Manager" in Issue #60, "Using and Automating Vista's Sysprep" in Issue #62 and "You Can Sysprep More Than Three Times... Here's How" in Issue #7. Lastly, this thread from Minasi's forums may be helpful.
Edit: You may well be downloading the OS from your MSDN subscription as your starting point, as I did. In my case, that raised a few questions.
1) There are different types/editions of many product in MSDN's subscriber downloads ('N', 'K', 'KN', etc). This page explains the differences for Windows 7:
Edit: Mark Minasi has several posts about Sysprep in his Windows Networking Tech Page newsletter. Specifically "Hands-Off Vista Installs with Answer Files and Windows System Image Manager" in Issue #60, "Using and Automating Vista's Sysprep" in Issue #62 and "You Can Sysprep More Than Three Times... Here's How" in Issue #7. Lastly, this thread from Minasi's forums may be helpful.
Edit: You may well be downloading the OS from your MSDN subscription as your starting point, as I did. In my case, that raised a few questions.
1) There are different types/editions of many product in MSDN's subscriber downloads ('N', 'K', 'KN', etc). This page explains the differences for Windows 7:
Is there any special SKU version of Windows 7 that exists? (Windows 7 N, Windows 7 K, Windows 7 KN, Windows 7 E)2) There are different types of keys as well, as explained by this page:
Yes, there is Windows 7 N, Windows 7 K, Windows 7 KN and Windows 7 E, where each editions of Windows 7 will also have in these flavors other than standard version.
Windows 7 N: Windows 7 N is meant for European market, and includes the same functionality as Windows 7, except that it does not include Windows Media Player and related technologies such as Windows Movie Maker.
Windows 7 K: Windows 7 K is meant for Korean market, and includes the same functionality as ordinary Windows 7, except that it includes links to a Media Player Center Web site and a Messenger Center Web site.
Windows 7 KN: Windows 7 KN is meant for Korean market, and includes the same functionality as Windows 7 K, except that it does not include Windows Media Player and related technologies such as Windows Movie Maker, links to download Windows Live Messenger, or links to a Media Player Center Web Site and a Messenger Center Web site.
Windows 7 E: Windows 7 E is meant for European Commission countries, including UK, and includes the same functionality as ordinary standard flavor of Windows 7, except that it does not include Internet Explorer 8 (IE8).
Key Type Description Not Applicable No key is needed to install this product. Retail This key allows multiple activations and is used for retail builds of the product. In many cases, 10 activations are allowed per key, though often more are allowed on the same machine. Multiple Activation You can use the same key to activate multiple copies of the software. MAKs are generally used with Volume Licensing builds of a product. Typically you will only be provided one MAK for a given edition of a product. Static Activation Key A key is required for installation of the product, but the key does not require activation, so it can be used for any number of installations. Custom Key This custom key provides special actions to activate or install. VA 1.0 This is a multiple activation key. OEM Key This is an Original Equipment Manufacturer key that allows multiple activations. AA Retail Key This retail key is for Academic Alliance programs and allows one activation. These keys are issued in batches. AA Lab Key This lab use key is for Academic Alliance programs and allows multiple activations. AA MAK Key This is a multiple activation key for Academic Alliance program customers. AA VA 1.0 This volume license key (VA 1.0) is for Academic Alliance programs and allows multiple installations.
SQL Server and Row-Based Security
Here's an interesting article on how one company implemented row based security in SQL Server. I'm considering using this technique (or some variation) to replace our application's implementation of 'partitioning', 'roles' and 'data synchronization to hardware'. It would have the great benefit of replacing 3 different patterns, each of which has its own unique complexities with just one pattern.
Precompiling LINQ Queries
Julie Lerman has posted an article on MSDN on the hows and whys of precompiling LINQ queries. Worth reading, as the hows aren't necessarily as obvious as you might think.
Dynamic SQL Can Be Good
Right or wrong, I've always believed dynamic SQL was a bad idea, both because the SQL can't be saved to the execution plan cache, but more importantly, it opens the door to SQL injection attacks. While those concerns are valid, Jonathon Roberts posts an article demonstrating the good (and in this case, arguably necessary) use of dynamic SQL.
The State of HTML5
Jacob Gube posted recently on the state of HTML5 and about developing HTML5 apps. Check it out.
OT: KRAs (Key Result Areas)
A previous company I used to work for used the KRA concept successfully. Something to think about.
Monday, June 14, 2010
NoSQL, Non Relational Databases and Object Databases
If you haven't yet encountered NoSQL, it's about non-relationship databases. Here is a guide to many links on the subject. Also, here are some links on 'db4o', an object database: http://db4o.com/; http://versant.com/; http://www.codeproject.com/KB/database/LINQ_for_db4o.aspx.
Server Side Data Paging Using SQL Server
Paul White is writing a series of articles on various ways to do server side paging--that is retrieve the total count of rows in a result set, as well as a single 'page' (or subset) of that same data. Part I, Part I Discussion; Part II, Part II Discussion;
Additionally, Robert Cary has written an article (article, discussion) on the same topic, and so has Lawrence Moore (article, discussion).
Additionally, Robert Cary has written an article (article, discussion) on the same topic, and so has Lawrence Moore (article, discussion).
Thursday, June 10, 2010
Using Try-Catch Blocks to Handle T-SQL Errors
Bill Graziano has an article on using 'Try Catch' blocks in SQL Server 2005 and above to handle errors.
Using SQL Server Schemas
Alexander Kuznetsov has a post on how he uses schemas to organize and control access to his databases.
Wednesday, June 2, 2010
SQL Server and Google-like Text Searchs
If you need to perform Google-like text searches against your SQL Server databases, here is an article on doing so in SQL Server 2008 using Full Text Search.
Friday, May 14, 2010
Mouse Cursor is a Dot in a Hyper-V Session
I created a new Hyper-V session with Windows 7 as the guest OS the other day. After installation was complete, even though Win 7 has integration services already available, the mouse cursor rendered as a very small dot, not the usual error. I googled and found this thread (See the post by Kent Nordstrom near the bottom). It turns out if you delete the "Microsoft Virtual Machine Bus Input Device Miniport" and reboot, the problem goes away--at least it did for me.
Friday, May 7, 2010
ASP.NET, ASP.NET MVC and Visual Studio 2010 Links
Scott Guthrie has a post listing various links to articles/posts on ASP.NET, ASP.NET MVC and Visual Studio 2010. Its part of his "link-listing series"--from each post, you can link to the previous one.
Tuesday, April 27, 2010
Learning About WPF
Here are some links/posts to get you started on WPF:
Josh Smith: A Guided Tour of WPF – Part 1 (XAML); WPF.JoshSmith (Control Library)
Sacha Barber: WPF: A Beginner's Guide - Part 1 of n; List of Other Articles
Karl Shifflett: WPF Business Application Series Part 1 of n - Application Structure, Skinning & Custom ToolBar Button Control
Josh Smith: A Guided Tour of WPF – Part 1 (XAML); WPF.JoshSmith (Control Library)
Sacha Barber: WPF: A Beginner's Guide - Part 1 of n; List of Other Articles
Karl Shifflett: WPF Business Application Series Part 1 of n - Application Structure, Skinning & Custom ToolBar Button Control
Getting Started on ASP.NET MVC
If you are wondering about ASP.NET MVC, here are a couple articles to get you started:
Dr. Dobbs: Web Development Renewed
www.asp.net: What is ASP.NET MVC?
Dr. Dobbs: Web Development Renewed
www.asp.net: What is ASP.NET MVC?
Why is Software Engineering So Hard?
I've often thought that calling ourselves 'Software Engineers' and describing what we do as 'Software Engineering' implies that building software should be more like other engineering disciplines. For example, why is it so hard to accurately plan/predict/estimate what it takes to accomplish building some piece of software? Why do so many projects fail? Not that I am an expert on other engineering disciplines, but they don't seem to suffer the same problems we do, at least not too the same extent. Why is that?
Martin Folwer, in a post completely unrelated to the above, quotes Alistair Cockburn:
Martin Folwer, in a post completely unrelated to the above, quotes Alistair Cockburn:
...[who] explained that since people are the central element in software development, and people are inherently non-linear and unpredictable - such an effort is fundamentally doomed. Or at least it is until people become predictable agents that can be described with tractable mathematics.Perhaps that is at least part of the answer to my above questions--people play a much bigger role in software engineering efforts. Particularly in that it is often impossible to know upfront precisely what needs to be done and what the requirements are, leading to changes as the project moves along. In short, much more unpredictability.
Visual Studio 2010 and C# 4.0
With the release of Visual Studio 2010, Microsoft's Clint Edmonson offers a load of links on Visual Studio 2010 and C# 4.0.
Friday, April 9, 2010
New in VB 2010
Andrew Troelsen lists three of VB 2010's new features:
- Line continuation characters are no longer needed.
- Multi-statement lambdas are now supported.
- A lambda no longer requires a return value--in other words, lambdas which represent Subs are now allowed, not just lambdas representing Functions as was true previously.
Tuesday, March 30, 2010
Free .NET Development Tools
On Intertech's blog, Andrew Troelsen lists some useful .NET development tools that also have the great benefit of being free.
Friday, March 26, 2010
iPhone App Development Without Objective-C
Here's an interesting way to develop iPhone apps without resorting to Objective-C: build it in HTML5 and cache.
Thursday, March 25, 2010
The State of Various Technologies--Adopt/Abandon/Consider
Here's link you may want to read. It's a quick 8 page read on the state of various technologies and whether they may be worth adopting/abandoning. A lot of these types of things aren't worth much, but this one is by Thoughtworks, which is Martin Fowler's place. If you aren't familiar with him, suffice it to say he's well respected on the forefront of software engineering, which is why I consider this worth the time and thought. I'll also point you to this, which covers one of the tidbits in the doc that might otherwise easily be missed. Last, I'll point you to this, which while old (seems to date from Google's announcement on Chrome/Chromium), is an interesting take on Chrome/Chromium, its true competitors, and its possible impact on them.
Wireless Networking
Supposedly, this company offers better Wireless Networking products. They have some interesting antenna technology that forms 'beams', instead of just the basic omnidirectional model.
Friday, March 19, 2010
.NET Asychronous Sockets Server
I've been starting work on designing a scalable TCP/IP sockets server in .NET. Not having done anything like this before, I did some digging around on the web, googling for '.net asynchronous sockets heap fragmentation'. Here, here, here, here, here, here and here are some posts that were highly worth reading.
Not suprisingly, .NET wraps Win API calls, for instance AcceptEx. With that in mind, this article provides some good background.
Also, in the course of absorbing the above, references were made to Jeffery Richter's Power Threading Library, as a great way to learn about multithreading, locks and so on. Said library is available here.
Last, I'm not sure if this one is still relevant, so I need to read again.
Edit: As .NET uses IOCP under the hood, this introductory article and this more technical one may be useful reads. The second link in turn references other articles:
Not suprisingly, .NET wraps Win API calls, for instance AcceptEx. With that in mind, this article provides some good background.
Also, in the course of absorbing the above, references were made to Jeffery Richter's Power Threading Library, as a great way to learn about multithreading, locks and so on. Said library is available here.
Last, I'm not sure if this one is still relevant, so I need to read again.
Edit: As .NET uses IOCP under the hood, this introductory article and this more technical one may be useful reads. The second link in turn references other articles:
- Len Holgate's series on writing a reusable, high performance socket server class: Part 1, Part 2 and Part 3 (this part in particular discusses how many worker sockets to create at startup).
- "A high performance TCP/IP socket server COM component for VB" by Len Holgate
- "Scalable Servers With IO Completion Ports and How to Cook Them" by rtybase
- An article on Winsock2 I/O methods
Design Patterns
.NET Memory Leaks
Since .NET applications run in the CLR as managed code, inexperienced developers may make the assumption they no longer need to be concerned with memory usage--after all, it's managed code and the garbage collector will take care of it, right? Unfortunately, that isn't true. Here's a StackOverflow post and here's another post discussing the issue. Here is a detailed MSDN article. The article notes these are the most common causes of memory leaks in the .NET world:
- Static references
- Event with missing unsubscription
- Static event with missing unsubscription
- Dispose method not invoked
- Incomplete Dispose method
Thursday, March 18, 2010
Martin Fowler on RESTful Web Services
Martin Fowler posted this to his blog on RESTful web services and the 'Richardson Maturity Model'. Worth reading.
Friday, March 12, 2010
Object Relational Impendance Mismatch
Here's a good post discussing the problems that happen when using relational databases to stores objects.
Tuesday, February 23, 2010
Subscribe to:
Comments (Atom)