Here’s how. Strangely enough, it feels a lot like installing a Linux box some 15 years ago. Or Gentoo today :)
Tuesday, February 24, 2009
Installing Windows 7 to a virtual hard disk (VHD) file
Posted by Mário Romano at Tuesday, February 24, 2009 0 comments
Labels: Operating Systems
Sunday, February 22, 2009
History of the internet
Watch this cool 8 min video:
"History of the internet" is an animated documentary explaining the inventions from
time-sharing to file-sharing, from arpanet to internet. The clip shows a brief overview
of this history and shall animate to go on discovering the history of the internet.
Posted by Mário Romano at Sunday, February 22, 2009 0 comments
Labels: Education, Technology, Web
Windows Mobile 6.5: is this the one?
Microsoft has done some home work and it seems like it is heading to the right track. It is finally designed for finger use, let’s see if this is the first stylus optional Microsoft mobile OS.
Posted by Mário Romano at Sunday, February 22, 2009 0 comments
Labels: Operating Systems
Saturday, February 21, 2009
Where the hell is HyperTerminal?
Every now and then I have to fire an HyperTerminal session to setup an appliance. Last week I was testing a new RFID interrogator when I found out HyperTerminal was removed from Windows Server 2008.
To setup quickly the interrogator I bootstrapped an XP and solved the problem. I’m now looking for alternatives on Vista/W2K8. putty is on the top of my list, but here are others.
Posted by Mário Romano at Saturday, February 21, 2009 0 comments
Labels: Operating Systems
Thursday, February 19, 2009
Web Deployment with VS 2010 and IIS
Deployment is one of our worst nightmares. I’m watching a DevDays session where MSDeploy is being presented. Here’s a cool link about it.
Posted by Mário Romano at Thursday, February 19, 2009 0 comments
Labels: Development
WatiN: Web Application Testing in .NET
Here’s another open source library for automating web browsers: WatiN.
Here a sample usage:
[Test]
public void SearchForWatiNOnGoogle()
{
using (IE ie = new IE("http://www.google.com"))
{
ie.TextField(Find.ByName("q")).TypeText("WatiN");
ie.Button(Find.ByName("btnG")).Click();
Assert.IsTrue(ie.ContainsText("WatiN"));
}
}
Not that I find them real useful today. But maybe one day…
Posted by Mário Romano at Thursday, February 19, 2009 0 comments
Labels: Development, Tools
Monday, February 16, 2009
Using LINQ’s aggregate
A long time ago, on a far away galaxy, every time we fell need to aggregate let’s say a string of IPs comma separated, we had to write something like:
string ips = String.Empty;
foreach (var address in ipInterfaceProperties.UnicastAddresses)
{
if (ips != String.Empty)
{
ips += "; ";
}
ips += address.Address.ToString();
}
With a more functional approach we can now write it like:
string ips =
ipInterfaceProperties.UnicastAddresses
.Select(p => p.Address.ToString())
.Aggregate((acumulator, next) => acumulator + "; " + next);
Please, God, don’t ever throw me into a non LINQ project anymore, please!…
Posted by Mário Romano at Monday, February 16, 2009 0 comments
Labels: Development
Saturday, February 14, 2009
Restoring a wounded Team Foundation Server
A couple of weeks ago I’ve tried to start a new project on our main TFS 2k8, just to find out it couldn’t be provisioned because of some kind of reporting services error.
After some digging I’ve found out the reason: our IT people decided to move the databases from the TFS server into a DB server, and since then we couldn’t create new projects. Well the databases should have been there on the first place, but the result was not the best, to say the least…
We are a software development shop, so this is absolutely unacceptable. For the last weeks we’ve been using our old TFS 2k5 and even Source Safe! Argh!…
The logs stated:
EXECUTE permission denied on object 'xp_sqlagent_notify', database 'mssqlsystemresource', schema 'sys'.
After some googling I’ve manage to find what was wrong: the IT people moved the databases and set the configuration accordingly, but missed setting the roles! Here’s what I’ve done:
USE [master]
GO
EXEC sp_addrolemember N'RSExecRole', N'Domain\User Service Account' -- SSRS Service Running
GO
USE [msdb]
GO
EXEC sp_addrolemember N'RSExecRole', N'Domain\User Service Account' -- SSRS Service Running
GO
And there it is, we finally recovered our TFS 2k8! Thanks to this link.
Posted by Mário Romano at Saturday, February 14, 2009 0 comments
Labels: Tools
Sunday, February 08, 2009
LinFu: Language INdependent Features Underneath [.NET]
The LinFu Framework is a collection of things that Philip Laureano felt lacked in .NET. Though most of them are present on other frameworks, LinFu is interesting because of it's minimalist approach and above all because of the educational value of their terrible effective presentations. Here they are:
- Part I: LinFu.DynamicProxy: A Lightweight Proxy Generator - A fast dynamic proxy library with support for .NET Generics
- Part II: LinFu.DynamicObject – Adding Dynamic Language Features to Statically Typed Languages. Using LinFu.DynamicObject to add mixins, duck typing and multiple dispatch to your favorite .NET languages
- Part III: LinFu.Delegates-Lambda Arguments & Universal Event Handling. A library for currying delegates and for handling any event fired from any object instance
- Part IV: Simple.IOC – The Five Minute Inversion of Control Container. A minimalistic inversion of control container.
- Part V: LinFu.DesignByContract2 – Adding Transparent Design by Contract Features to Any .NET Language. A library that adds transparent DbC support to any .NET language. No Eiffel.NET or Spec# required.
- Part VI: LinFu.AOP – Pervasive Method Interception and Replacement for Sealed Types in Any .NET Language. Using MSBuild and Mono.Cecil to dynamically intercept static and final methods of nearly any type, including sealed types. No proxies required.
Heard about it at P&PGuidance. Thanks for the link, Cab_Ux.
Posted by Mário Romano at Sunday, February 08, 2009 0 comments
Labels: Development, Education, Tools
Wednesday, February 04, 2009
How to: Integrate the Installation of Team Foundation Server and Service Pack 1
Here it is, straight from TFS documentation:
This topic describes how to merge files from the installation DVD for Visual Studio Team System 2008 Team Foundation Server with the installation files for Service Pack 1 (SP1) so that you can install them at the same time. For more information, see Installing Team Foundation Server and Service Pack 1.
Note:
SP1 for Team System 2008 Team Foundation Server updates the server components of Team Foundation. If you install this service pack, you should also install SP1 for Visual Studio 2008 from the Microsoft Web site. This service pack updates Team Explorer and other clients of Team Foundation to work with Team Foundation Server SP1.You can integrate the installation of SP1 with Team Foundation Server Trial Edition, Team Foundation Server Workgroup Edition, or an edition from a volume-licensing program. However, you must provide your product key, which you can find on your installation DVD. If you open the setup.sdb file in a text editor, you can search for a line that contains the text Product Key. The next line contains the product key. For more information, see this topic on the Microsoft Web site: How to: Locate the Product Key for Team Foundation Server.
Required Permissions
To perform this procedure, you must be a member of the Administrators security group on the local computer.
To integrate the installation of Team Foundation Server and Service Pack 1
Download SP1 from the Microsoft Web site, and save the update to a folder on the local computer.For example, you can save the file to C:\SP1Download.
From the files that originated on the DVD for Team Foundation Server, copy the AT folder to a location on the local computer.
For example, you can copy the folder to C:\InstallMedia.
Open a Command Prompt window, and type the following command, replacing C:\SP1Download with the location that you chose in step 1 and C:\SP1Extract with a separate location on the local computer:
C:\SP1Download\TFS90SP1-KB949786-ENU /extract:C:\SP1Extract
Create a folder where you can merge files from SP1 and the DVD.
Type the following command, replacing C:\InstallMedia with the location that you chose in step 2, C:\SP1Extract with the location that you chose in step 3, and C:\MergeFolder with the absolute path of the location that you chose in step 4:
msiexec /a C:\InstallMedia\vs_setup.msi /p C:\SP1Extract\TFS90sp1-KB949786.msp TARGETDIR=C:\MergeFolder
Note:
You must replace C:\MergeFolder with an absolute path, but you can replace C:\InstallMedia and C:\SP1Extract with absolute or relative paths.From C:\MergeFolder (which you created in step 4), run setup.exe to install Team Foundation Server with SP1.
For some strange reason, and for my first installations, I kept missing this important section.
Posted by Mário Romano at Wednesday, February 04, 2009 0 comments
Labels: Development, Tools
Sunday, February 01, 2009
Registering ASP.NET 2.0
This is one of the questions I get the most:
This product requires ASP.NET v2.0 to be set to 'Allow' in the list of Internet Information Services (IIS) Web Server Extensions. If it is not available in the list, re-install ASP.NET v2.0.
It’s quite simple, all you have to do is to go to 2.0 framework dir and execute:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis.exe -i
Posted by Mário Romano at Sunday, February 01, 2009 0 comments
Labels: Development