Articles from March 2008

Keeping Up with Open XML

By Michael Flanakin @ 3:26 AM :: 2489 Views :: Technology, En Español :: Digg it!

ISO Vote on Open XML (as of 3/29/2008)

Curious about the status of the ISO vote on Open XML? Check out the unofficial ISO Vote website. At the time of this post, things aren't looking so good, but most of the votes aren't in yet. The current assumption is that the votes won't change from the previous vote. I feel like this won't be the case, but we'll just have to wait and see. If you want something more up-to-date or just with more detail, check out Open Malaysia's Last Lap post.

Permanecer Hasta la Fecha con Open XML

En Español

¿Curioso sobre el estado del voto de la ISO en Open XML? Mira el website no oficial del voto de la ISO. Ahora, no pasará, pero no tienen los todos votos todavía. La asunción actual es que los votos no cambiarán del voto anterior. No pienso que éste será el caso, pero apenas tendremos que esperar y ver. Si quiere más información, mira un poste sobre el voto del Open Malaysia.

Ruling the Business

By Michael Flanakin @ 4:32 AM :: 1212 Views :: .NET, Development :: Digg it!


One trend I've noticed growing more and more is the use of rule engines within applications. More often than not, the rule engine is tied to a workflow engine, like WF or Biztalk. This makes a lot of sense because workflows are, by nature, rule-oriented. But why are workflow engines so special? Truth is, they aren't. For this reason, I'd like to see a managed rule engine built into .NET. This would allow everyday apps to take advantage of a standard, enterprise-scale rule engine with quality tools for developers and technical business analysts to manage rules without significant releases. I'm talking about something that's the equivalent of changing a column in the database, but with more structure and better performance. I envision rule libraries compiled into assemblies, which can be individually deployed. I like this because it's built on existing techniques and doesn't use reflection. I'm just throwing some ideas out, tho. There's obviously more thought that would need to go into this, but I'd be interested in seeing something to solve this pain for developers and the companies they work for. Too many people are building rules directly into the app, which requires a lot of overhead to tweak, test, and deploy rule changes. Having something a bit more dynamic that takes the developer out of the loop would be awesome.

Windows 2008 as a Desktop OS

By Michael Flanakin @ 6:21 AM :: 1238 Views :: Technology :: Digg it!

Windows Server 2008

I've always been interested in the idea of using a server OS as my desktop OS. This is mainly because of the fact that I'm a developer and do a lot of developer work. I have a desktop on Windows Server 2003 and have noticed a number of issues when using it for personal things. For instance, the latest version of Windows Media Player isn't supported on Server 2003. Now that the desktop and server OS's are running the same code-base, things may be much easier. Vijayshinva Karnure Syndicated feed posted a list of steps he had to perform to run Windows Server 2008 as a client OS. I'm not convinced, based on the number of tasks he had to do, but I might take a look at it for a machine I need to do some cleanup on. I still plan on holding off for my laptops, tho.

Microsoft Boy

By Michael Flanakin @ 4:34 AM :: 2607 Views :: Other , Microsoft, En Español :: Digg it!

Microsoft Boy

This parody came out a while ago, but it's too funny to pass up. I haven't seen it linked to much, so maybe you haven't seen it. It's the story of a day in the life of what a Microsoft marketeer must have been like as a school boy.

Muchacho de Microsoft

En Español

Este parodiar fue fijado hace un rato, pero es demasiado divertido sin mencionar. No he visto a demasiada gente el hablar de él, usted no lo he visto tan quizá. Es la historia de un día en la vida de un vendedor de Microsoft como muchacho de escuela.

Surface in the Home

By Michael Flanakin @ 7:20 PM :: 2103 Views :: Technology, Microsoft, Predictions, En Español :: Digg it!

Microsoft Surface

I'm excited about Surface, that's for sure. Powered by WPF, it's a great platform for some very cool apps. Despite the fact that other vendors are looking to dig into the space, nothing has really happened since Surface was initially announced. Things may be changing, tho. There's been a huge demand from the field and apparently Microsoft is looking to release Surface to consumers sooner than the 5 year estimate initially estimated. I can't say I'm surprised, but what that will really mean isn't very clear. If I had to guess, I'd say the first consumer version of Surface would arrive in 2010. The biggest blocker to getting it out sooner is the cost of hardware necessary to produce the large-scale graphics and touch capabilities.

Surface en la Casa

En Español

Me excitan sobre Surface. Accionado por WPF, es una gran plataforma para algunos aplicaciones muy buenos. A pesar de que se busquen otros proveedores para cavar en el espacio, en realidad nada ha ocurrido desde que se anunció Surface inicialmente. Cosas pueden estar cambiando. Hay una gran demanda y aparentemente Microsoft puede publicar Surface a consumidores antes que la estimación de 5 años. Estoy no se sorprenda, pero el mensaje no es muy claro. Si tuvieran que adivinar, diría que la primera versión de consumidor de superficie llegarán en 2010. El Bloqueador de elementos más importante para conseguir fuera antes es el costo del hardware necesario para generar los gráficos a gran escala y tocar las capacidades.

Microsoft and Subscription-Based PC's

By Michael Flanakin @ 4:31 AM :: 1920 Views :: Technology, Microsoft, En Español :: Digg it!

Microsoft's subscription-based PCs of the future

As part of its Unlimited Potential program, Microsoft is starting to offer subscription-based PC's in Russia. PC subscriptions aren't anything new, but they never seemed to pick up. I believe this is the first time Microsoft has joined the game, tho. The only reason this interests me is because I'm hoping Microsoft will get into the PC hardware business. Quality hardware is the one key differentiator between Microsoft and Apple, as far as I see it.

Microsoft y Computadoras de Suscripciones

En Español

Como parte de su programa Potencial Ilimitado, Microsoft está comenzado a ofrecer computadoras de suscripciones en Russia. Las suscripciones de las computadoras no son cualquier cosa nueva, sino que nunca parecían ser acertadas. Creo que es esto el primera vez que Microsoft ha hecho, aunque. La única razón que ésta me interesa es porque estoy esperando que Microsoft conseguirá en el negocio del hardware de las computadoras. El hardware de la calidad es el un diferenciador dominante entre Microsoft y Apple. Un poco dudo veamos mucha tracción, pero mantendré mis dedos cruzados.

Learn a New Language

By Michael Flanakin @ 4:07 AM :: 1574 Views :: Other :: Digg it!

Learn a new Language

Scott Hanselman Syndicated feed points out a post by Tim Ferriss Syndicated feed, How to Learn (But Not Master) Any Language in 1 Hour. As a language enthusiast, this sounds very interesting. Obviously, I'm working on my Spanish now, but I'd love to learn French, Japanese, Italian, perhaps Portuguese, and who knows what else. A skill like this would do wonders to ultimately pick up these other languages. So what's the secret? Tims suggests that 6 sentences can give you conversational insight into any language (shown here with their Spanish equivalent).

  • The apple is red.
  • It is John's apple.
  • I give John the apple.
  • We give him the apple.
  • He gives it to John.
  • She gives it to him.
  • La manzana es roja.
  • Es manzana de Juan.
  • Doy a Juan la manzana.
  • Le damos la manzana.
  • Él lo da a Juan.
  • Ella le lo da.

At first glance, I had no idea what Tim was talking about. Sure, there are some things I can easily extract, like "apple" is "manzana" and "John" is "Juan," but to be conversational in an hour? That seems to be asking a lot. Truth is, Tim isn't saying this is all you need. He's actually saying these sentances can give you a good understanding of a few of the complexities of a language. You can walk away from these sentences with an idea about how long it'll take and how easy it'll be to learn the target language. This is something that might take some getting used to, but Tim's insight is definitely spot-on. The main thing that falls short of becoming conversational is the lack of vocabulary. Like I said, this method simply gives you insight and doesn't truly make you conversational... not to belittle the method.

VS 2008 and Legacy ASP

By Michael Flanakin @ 4:08 AM :: 1233 Views :: Development :: Digg it!

Visual Studio 2008

While not my favorite code to maintain, I still have to deal with legacy ASP once in a while. One thing I've been happy about over the past 8 years is that I can still maintain this code in the same editor I've always used, Visual Studio. In fact, it's been nice getting teams to upgrade from Visual Interdev and Visual SourceSafe to Visual Studio 2005 and TFS. Unfortunately, legacy ASP is no longer supported in the latest incarnation of the IDE. I can't say I'm surprised, I guess. Microsoft likes to drop legacy technologies after about 8 years.

IE's Clipboard Access Prompt

By Michael Flanakin @ 4:57 AM :: 1496 Views :: Technology :: Digg it!

Accessing Clipboard w/o Prompting in IE7

I've started playing with scripts to enhance my online experience the past few weeks and, with that, have been getting more and more annoyed with the prompt to copy/paste content on websites. I like the idea of this, but hate how often it asks me. Every time you load a page and try to copy/paste text, you'll be prompted again. I'd rather it only ask once per session. To get around it, I tried adding a site to the Trusted Sites list, but that didn't work. I admit, I'm glad because a trusted site can't be in the same window as non-trusted sites. This is ridiculous, if you ask me; especially when sites in the Local Intranet zone don't. So, what'd I do? I added my personal site to the Local Intranet zone, which doesn't prompt me by default. Of course, I wouldn't do this with just any site. I'm fine with the prompt in most cases, it's really just the sites I use it constantly, like my own site and the Windows Live Translator.

By the way, the setting that disables the prompt is buried in the zone's security settings: Scripting > Allow Programmatic clipboard access. For now, I'll stick with keeping these two sites in Local Intranet. Not quite correct, but it's better than the horrid experience Trusted Sites gives me.

Accessing Clipboard w/o Prompting in IE7

PowerShell Tip: Getting Started

By Michael Flanakin @ 3:28 AM :: 1618 Views :: Tools/Utilities, PowerShell :: Digg it!

Windows PowerShell

I just wanted to share a small script that creates a new profile and registers the ps1 file extension. For those that don't know, ps1 is the default extension for PowerShell scripts. Of course, there's a difference between ps1 and bat or cmd. If you double-click a ps1 file in Windows Explorer, it'll open in Notepad. What's up with that!? Apparently, this was done for security reasons. The idea is that, since you can't simply double-click on the file to execute it, hopefully you'll actually look at it to make sure it's not going to kill your system. PowerShell is much more dangerous than traditional batch files are, so this is probably a good thing. With that in mind, PowerShell, by default, doesn't allow you to even execute these ps1 files. To do that, you have to set the execution policy. Anyway, here's the script...

# create profile script
$dir = [System.IO.DirectoryInfo]$profile
New-Item -Type Directory -Path $dir.Parent.FullName

# enable the ability to execute ps1 files
Set-ExecutionPolicy RemoteSigned

I found this online a while ago, but I don't remember where. The only other thing I want to mention, since I imagine some people might freak out by it is the New-Item cmdlet, is that there's a function that simplifies this call and gives us a familiar DOS experience: md. I always thought md was an alias, but never bothered to consider why/how the New-Item cmdlet was determining that you wanted a directory.

My First IE8 Post

By Michael Flanakin @ 6:23 PM :: 1848 Views :: Technology, Open Source/Standards, Tools/Utilities :: Digg it!

IE8 Beta

I just downloaded IE8 and have to say I'm liking it so far. I was pretty concerned that it was going to be a horrid experience, but it hasn't been. Of course, the next thing I did in this self-centered world of ours was check my website. Being built on DotNetNuke, which is notorious for non-standard HTML, I was concerned. I was happy to see no problems. I'm sure there will be some, but at least I'm looking good so far. I guess all that work I did trying to keep tables out of my design was well worth it.

My only real disappointment has been the fact that web slices have to be explicitly coded into web content. For some reason, I was thinking we could simply select a portion of the age and tell IE to create a web slice from it. I guess not. Maybe I was just thinking of Dapper.

Improving Standards Compliance in IE

By Michael Flanakin @ 5:15 AM :: 1383 Views :: Technology, Microsoft, Predictions :: Digg it!

IE8 Beta

I wrote this a month ago, so it may seem a little out of date. I figured I'd go ahead and post it anyway. If you haven't been following IE8 much, it'll still seem like new

Standards compliance has never really caught on with the vast majority of web developers. Since Firefox hit the streets, more developers have started to pay attention to the ideals behind web standards, but they still don't seem to be doing the work to achieve compliance. Admittedly, a lot of the problems were brought on by IE's acceptance of bad practices, but the root of the problem truly lies with developers. IE7 resolved a number of standards compliance issues, but unfortunately, it broke a number of sites built specifically for IE6 at the same time. IE8 tries to resolve this problem. Today, we can opt-in to standards by specifying a DOCTYPE, which indicates what version of what standard the developer intends for a page. The problem is that no browser to date implements any standard completely, so there's still a chance your page will render differently in browsers that "support" the desired standard. IE8 fixes this problem. How? By allowing developers to write pages for specific rendering engines (i.e. IE6, IE7, IE8, FF2, or FF3). I love this idea, for obvious reasons.

With IE8 and Firefox 3 both passing the Acid2 test and Acid3 on its way, I think we're in very good standing. While I don't expect huge leaps and bounds between IE8 and 9, I think we're well on our way to some form of nirvana on the web. Hopefully, IE9 will come in the Win7 time frame, which I expect to be in 2009 or 10.

Revert Group Policy Settings

By Michael Flanakin @ 3:56 AM :: 3178 Views :: Technology, En Español :: Digg it!

Group Policy

While working with the developer VM I started a year ago, group policy settings were inadvertently changed, causing the network connections service to fail. I also noticed a problem where the VM thought the admin account wasn't an admin. These were both strange problems that we nailed down to bad domain group policy settings. Of course, the VM should have never been joined to the domain, but that's another story. Either way, both problems were fixed by reverting group policy settings. This wasn't hard, but I wanted to share the fix for later, in case something like this happens again.

  1. Reset settings: secedit /configure /db reset /cfg "c:\windows\security\templates\setup security.inf" /overwrite
  2. Delete policy: del c:\windows\system32\grouppolicy\machine\registry.pol
  3. Reboot

I ran both of these on Windows Server 2003 R2 and everything worked great. The only thing you need to do is note the changes you made to the policy before it was corrupted. One I made was to disable the reporting when you shutdown/restart the server, which is annoying on a dev build. Thanks to Jason for the blog post.

Cambiando Política de Grupo a los Ajustes Iniciales

En Español

Mientras que trabajaba en la VM para los desarrolladores, los ajustes de política de grupo fueron cambiados inadvertidamente, causando las conexiones de red mantenga para no comenzar. También noté una problema que eso hizo Windows piensa la cuenta del administrador no era administrador. Los dos problemas fueron con política de grupo de dominio. El VM debe nunca haber sido ensamblado al dominio antes de syspreping y de distribuirlo. Ambos problemas eran fijados cambiando a los ajustes iniciales de política de grupo en el VM. Esto no era duro, pero quise compartir el arreglo para más adelante, en caso de que suceda algo similar otra vez.

  1. Reajuste los ajustes: secedit /configure /db reset /cfg "c:\windows\security\templates\setup security.inf" /overwrite
  2. Política de la cancelación: del c:\windows\system32\grouppolicy\machine\registry.pol
  3. Reinicialización

Hice esto en el Windows Server 2003 R2 y todo trabajó grande. La única cosa que usted necesita hacer es observar los cambios usted realizó a la política antes de que fuera corrompida. Uno que hice era inhabilitar la información cuando usted parada/recomenzar el servidor, que es molesto en una estructura del revelador. Gracias a Jason por el poste del blog.

Best Command Line Environment

By Michael Flanakin @ 4:45 AM :: 2219 Views :: .NET, Tools/Utilities, En Español, PowerShell :: Digg it!
Windows PowerShell

Is PowerShell the best command line environment out there? Looking at a comparison of computer shells, I'm thinking it is. I'm sure others would disagree, but the facts are there. There are about 3-5 runners up, but the one feature which puts PowerShell over the top, in my mind, is the use of .NET objects in the pipeline.

La Mejor Línea de Comando

En Español

¿Es PowerShell la mejor línea de comando? Después de mirar una comparación sobre cáscaras de las computadoras, pienso que es. La otra gente discrepará probablemente, pero los hechos están allí. Hay 3 a 5 cáscaras segundarias, pero la característica que PowerShell el mejor es el uso de objetos de .NET en la tubería.

2-Minute Intro to PowerShell

By Michael Flanakin @ 4:22 AM :: 1300 Views :: Tools/Utilities, PowerShell :: Digg it!

Windows PowerShell

As I've been working with PowerShell more and more, I keep picking up small tidbits I'd like to share. Arguably, I'd have learned a lot of them much sooner if would've picked up a book or something, but I look at this as a language I'll just pick up over time and don't really want to dedicate the time to a book... at least not at this point. So, I've decided to start throwing out a few PowerShell tips. I'd like to do a tip of the day, but I don't know if I'll come up with that many. We'll see. For this first post, I guess I should give a very brief overview of what PowerShell is and a few of the basic concepts behind it.

PowerShell is Microsoft's command line replacement. If you've ever done any time on the command line -- yes, I phrase it that way on purpose -- then you know it can be a pain. Not only is it painful, like any "good" prison, it's very limiting... another prison-like attribute. Another aspect I believe PowerShell is trying to attack is Windows shell scripting with VBScript or a similar language. I've used VBScript a few times for UI automation and I have to say, it's not much better than the traditional command line. The bottom line is that PowerShell is a powerful scripting environment for Windows.

So here are the basics: cmdlets, aliases, functions, and the pipeline. Cmdlets are commands. Go figure. If you want to do something, it all comes down to the commands you have available to you. To get a list of commands, type Get-Command. From there, you can figure out what's possible. If you have any questions about how to use them, type Get-Help [cmdlet]. Aliases are exactly what they sound like, aliases for cmdlets. This is one of the great things about PowerShell because it allows people to adopt PowerShell much easier. For instance, dir and ls are both aliases for the Get-ChildItem cmdlet, which is great for DOS and Linux/Unix users, respectively. Notably, the parameters are still PowerShell parameters and not the same as what's in DOS or the *nix systems. Functions are like a gateway drug to true PowerShell productivity. Think of functions as small scripts -- once again, go figure. Lastly, the pipeline is a concept that one command, whether that be a cmdlet or function, can send its output to another command via the pipeline. This is done by using the pipe ("|") character. For instance, to sort a list of folder contents by size, you pipe the contents to one that will sort the items it receives: Get-ChildItem | Sort-Object Length. Pretty simple. The key here, and true power of PowerShell, is the fact that PowerShell acts on .NET objects. This is a first. All other command line environments are pure text and piping content from one command to another is simply sending text down the pipe. Being built on .NET, PowerShell gives us an unprecedented amount of control and flexibility in our scripting.

To give you an idea of Microsoft's dedication to PowerShell, there's an internal mandate that all system administration tools must be built on PowerShell by 2009. The latest Exchange, Active Directory, and System Center releases have already made the switch and SQL Server 2008 is well its way, too.

I'll leave the intro here. In coming posts, I'll dig a little deeper into new features that I find. I'd like this to ultimately turn out to be a developers' guide to PowerShell, but that's more lofty a goal than I'm ready to sign up for. We'll see how things progress.

Mac Users are like Ruby Developers

By Michael Flanakin @ 11:15 AM :: 1143 Views :: Technology :: Digg it!

I was listening to Hanselminutes Syndicated feed show 99 with Steven Frank about Mac development and I came to a small realization: Mac users are a lot like Ruby users in that, it takes a certain mentality to "join the club," so to speak. As I understand it, any developers that buy into Ruby also have to buy into certain practices that are built into the language. Steven was explaining how Mac users are used to apps not working on new versions of the OS, yet they still upgrade shortly after new releases are out. He said that 95% of all Mac users are on the 2 most recent versions of the OS. Scott equated that to 95% of all Windows users being on Vista and Vista SP1. Yeah, right, like that'd happen. I don't even think 95% of all Windows usrs are on XP and Vista combined. I think there's a big difference, tho. The primary problem is that Windows has such a huge market share and any developer knows you have to deal with the lowest common denominator. Mac users are typically a little more tech savvy than the average Windows user. I still think a Mac developer's life is a horrible one. There are some interesting concepts in the Mac, but I don't think I could ever make the switch. The hardware is one thing, but the OS is another.

MSDN Subscription: March 2008

By Michael Flanakin @ 10:33 AM :: 1257 Views :: MSDN Subscriptions :: Digg it!


The following consists of the English DVD updates released under the MSDN Premium (Team Suite) subscription level for March 2008.

Developer Tools

  • Disc 3918.1 / Part X14-58049
    • Microsoft Exchange Server 2007 with Service Pack 1 Enterprise Edition (x64) (English, French, German, Italian, Japanese, Portuguese-Brazil, Spanish)

For more information, see the MSDN Subscriptions Index.