|
|
Front Page News
-
Linq is very, very, very cool. I can easily envision looking three years from now and wonder "how did we write software without Linq?". Several recent language editions have helped to reduce code needed and thus made my development life easier. However, I have to say that Linq is something that seems to hit a home run in several distinct areas to improve my development life. Over the next few posts, I'm going to outline a few "real world" examples that I've been using. Understand, I'm still learning Linq... and even without knowing all of the ins and outs, it is extremely helpful in everyday coding. Finding, filtering, connecting data is much more "natural" using Linq. No more using a For loop to find a piece of information. How many times have you written the following code: Dim exists As Boolean For Each item As SomeClass In items If item.SomeValue = targetItemValue Then exists = true Exit For End If Next All of this just to find out if we have a value that matches. Now compare that with the following: Dim exists = (From item In items _ Where item.SomeValue = targetItemValue _ Select item).Count > 0 Sure, it's less "code"; however, the real point here is that once you have a basic understanding (and I do mean basic) of Linq, the above code is much more concise and very quickly expresses the overall intent. I firmly believe that coming back after a year and seeing the above two versions of code, the Linq one will be much more easily to grok and maintain. Unfortunately there is a downside to Linq. Linq doesn't seem to play nice with Edit & Continue; so if you have issues with your Linq statement(s), you won't be able to change them while debugging. This is extremely unfortunate as I see it will hinder some of the adoption rate for integrating Linq into existing projects. However, under real world scenarios, I've been able to, using Linq (even without E&C) to restructure complicated code, make it much more understandable, improve on the overall logic because it's more understandable and create (hopefully) much more robust code in the long run. The lack of E&C is a let down, but overall I think the down side is acceptable given what is gained. See you in the next installment.
|
-
Although the MVP Summit doesn't actually begin until Monday morning, a lot of activities are scheduled by those in the community just prior to the Summit. For the last four years, Rod Paddock (Editor-in-Chief for Code magazine) has hosted a BBQ gathering at his house. This event has not failed to impress and the opportunity to visit with those whom I've been fortunate enough to gain as friends over the past few years over some grilled food is great! Thanks Rod for making this opportunity available. Then it was over to the vbCity.com crowd to hang out with (mostly) Visual Basic related enthusiasts. This was my first year to participate in this dinner gathering and it was excellent! Conversation and food were excellent. This event was also a great opportunity to interact with several people from outside of the USA. And it is always a pleasure to hang out with a large group individuals who are passionate about Visual Basic. Party with Palermo - MVP Summit Edition 2008 was great, yet again! Thanks to Jeffrey Palermo for continuing to put this together. It's amazing how well this thing comes together year after year. This is probably the number one opportunity for *ALL* MVPs to network and have some fun just prior to the Summit as it is open to MVPs of all categories. As for this morning, I'm getting a bit of work done before the lunch at the convention center.
|
-
Sorry for the lack updates; it definitely hasn't been due to a lack of ideas. ;-) So here's a quick update before I have to get back to it. Right now I'm preparing to head to Redmond for a week of interaction with the various Microsoft product teams and fellow MVPs from around the world. Hopefully the agent I just spoke to on the phone regarding flight status is accurate and my flight will have no issues (it's an MD80, the ones that are having the inspection issues). When I purchased the ticket back in February, the flight was for 7:40am... now it's for 6:45am... ouch... man that's early. Not looking forward to a 4am wakeup call. This morning I did another Windows Vista for Developers presentation at the NTPCUG - VB group. It's interesting to hear the questions, concerns and comments regarding the state of Vista. Once I share some of the information, I think some people are left wondering why there is so much resistance in moving to Vista. Ultimately I think that Vista is the first consumer OS released by Microsoft in an age of laptops and manufacturers are being substandard in supporting products that they've already sold; not that it's entirely their fault... they are busy working on new products and laptops are definitely a product that requires a balance between the hardware, drivers and other software. Just throwing a new OS at it isn't necessarily a good idea. There are other issues and I can't answer to as why so many people seem to be anti-Vista; all I can say is I've been running it since release on all machines I use. I'm happy. The first crash I encountered was this week when a Raptor 150 drive decided to puke its guts out... my first OS re-install in over a year and a half. Something I can't say when I was running anything prior. The recent Visual Studio 2008, SQL Server 2008 and Windows Server 2008 launch event was fun as usual; however, I was a little disappointed in the lack of "tough" questions. Of the questions received, they ranged from Linq, SQL Server 2008, BizTalk, IIS and Vista (of which I deferred to the "booth" next to us manned by people from the Vista product team). There were also some questions regarding moving to Visual Studio 2008 from prior versions. So the only real developer questions were surrounding Linq. Which brings me to my next subject... Linq is freakin' AWESOME! Expect to see a lot more from me in the near future regarding Linq in the real world. I'm still getting my head around all the finer details... and so far I'm very impressed in the breadth (or would that be depth) that Linq offers. Still working on growing the two DNUX groups in the area and have my first "it's not me presenting" speaker coming to the Dallas DNUX this month. David O'Hara will be presenting; which will allow me to focus a bit more on the Fort Worth .NET Users Group local VS'08, SQL'08, Server'08 launch event taking place later this month. I'll also have to put together another topic for the Fort Worth DNUX, so if you have any suggestions, fire them my way. I'm going to have a new batch of samples coming soon; in addition, I plan on migrating all existing samples to 2008 as well. One particular one I'm working on that will also have a related article is using Vista Aero ("Glass"). Yes, some others have shown how to do this, but I think you'll be interested in my particular angle on it. ;-) I still have a write up planned that will discuss my working on a daily bases in three different development languages; this will include the positives and negatives encountered... but will not be a versus article. The three languages are Visual Basic, C# and T-SQL. In early May, I'll be the official Prize-man for the Dallas Tech-Fest, so be sure to come by and say hello. Early June is Tech-Ed 2008 (Developers)... I'll be there as well hanging out in the product group areas answering (and asking) questions.
|
-
If you are in Fort Worth and interested in getting up to speed on WPF/Silverlight... XAML is one of the key components of doing so. Tonight's presentation is XAML 101 being presented by yours truly... Hope to see ya there. http://dnux.org for more information.
|
-
I know that this entry is bit strange given what is normally on this site, but bear with me... In one corner we have the VCR (Video Cassette Recorder) and in the other we have the DVR (Digital Video Recorder). Both attempt to solve similar problems. Both have their strengths and their weaknesses. So let's dive in and see if we can find a winner. The VCR has been around for a while now, long enough to gain it's very own long standing joke. Over the years, the VCR has made incremental improvements in usability and functionality. There was the advancement with the four head recording and we even have an high definition capable one if you so desire. Storage media is extremely cheap and you pretty much can store as much as you want; though categorizing, indexing and searching the content is a bit of a chore. Some VCR devices (and/or TV/remotes) contain the ability to record using a guide. I've never utilized these, but rather just setup a schedule to record or recorded while watching. Recording to cassette also offers the ability to loan a friend what you've recorded. Duplicating your cassettes is also relatively easy; though time consuming. For the most part, learning how to use one VCR allows you to use any other VCR on the market. You stick in a cassette, press record to save a show. You press play to watch the show. Want to watch/record another show, select a different cassette. Due to its limited functionality, the VCR to use is, by design, simple. The DVR has entered into our lives only a few years ago. With products such as TiVo, not only can you schedule a recording by time and/or a guide. It can even "learn" what you like and suggest (automatically record) things for you to watch. The quality is pretty good, every bit as good as a VCR, and searching through what has been recorded is pretty simple. For most things, the DVR passes the Wife Approved test. Of course, TiVo isn't the only DVR in town. At one point, there was only one other, however these days there are more DVR devices than one could probably count (discoverability). Every DVR has a different UI with multiple on screen displays... to the point that it's possible to actually get lost as to where you are. Additionally, because of the manufacturers desire to make a profit and the consumers desire not to spend any real money, these devices utilize extremely low performing CPUs for their display interaction; yielding a sluggish interaction experience. Most, if not all, DVR devices allow for easy recording and easy access to what has been recorded. Finding something to record is pretty straight forward as well. Now for the problem, because of their design, DVR devices have a limited amount of storage. Some larger than others, however, still they are limited. Additionally, most of these devices don't allow for any way to archive what you've recorded nor do they allow you to share what you've recorded with a friend. DVR devices to solve one of the major problems with the VCR, but introduce other limitations in the process. This is not to say that there isn't a DVR device that can help to solve the problems introduced with going digital; there is as a matter of fact. Utilizing a Vista Media Center PC (VMC) solves a few of the problems that I mention. VMC can do all that a DVR can do, providing you with ease of recording and finding recorded content. However, since it is a PC, it has the CPU power necessary to provide an extremely interactive, visually attractive and responsive UI. As for storage, again, since it's a PC with access to a network, you can store the recordings across multiple storage locations (more computers, USB drives, etc.) and you can also save the content using DVD+/-R media for offline storage. Since you can save the content to DVD, you can loan what you've recorded to a friend. All of this doesn't come with out a cost though (punn intended) as a Vista Media Center will cost more than most other DVR devices. Additionally, you may not be able to take advantage of your content providers advanced features. (This looks to change, but it's not available today in some cases.) As you can see, each of the three that I mention has their respective strengths and weeknesses. None of them is an outright winner for every circumstance. For price and ease of use, for limited storage, a DVR is great. It's a nice middle ground. I actually own several of these and utilize them just about every day. I have a Direct/TiVo in the bedroom, a DirecTV HD box in the living room along with a pretty powerful Vista Media Center PC. I have two VCRs in my office and another one in the closet for when someone brings over a VHS cassette that I can quickly hook up any TV. The one I prefer to use, hands down, is Vista Media Center PC. However, it's not able to record any of the DirecTV HD channels; I'm only able to record ATSC and DirecTV standard definition shows on it. Since most of the HD shows I watch are available ATSC, I watch those on VMC. Additionally, I can watch any of that content on any other computer in the house. So what is this post about? Well, let me try to explain. You see, I keep seeing x vs y every time I turn around. Windows vs Linux. Windows vs OSX, VB vs C++, VB vs Delphi, VB vs C#, Agile vs somethingorother and the list goes on. If there was a clear winner in any of these, there wouldn't be any debate. There is something about each of the items that appeals to a group of users. Understanding that is key. Once that is understood, then maybe real discussions can exist as to the benefits of doing one thing one way vs another can take place and progress can be made. (Please keep this post in mind for the next post that will be coming soon...)
|
-
It's time again for Action Movie Night! This is just a quick reminder regarding the Action Movie Night taking place Saturday evening, September 22, 2007, starting at 6:00pm located at my house so space is limited to those that RSVP. The movies being shown are: AND
This time around is going to be 'classics" evening. I've spoken to a few people recently whom have never seen either of these movies and I was simply shocked! So whether you haven't seen these movies or have seen them a hundred times... these movies are fun to watch again and again; thus fitting my definition of 'classics'. In addition to the movies, I’ll also be firing up the grill for a grillin’ session (weather permitting). This will start around 4:30pm and everyone is invited to bring their own slab of meat and try their hand. (It’s a guys night, so no one is going to do the cookin’ for ya… besides… didn’t I mention that it’s a guys night… we are all supposed to love to grill, right?) Some side dishes will be prepared to go along with your charred masterpieces. Due to the nature of the movies being shown (and potentially being shown in the future), this event is limited to guys who are 18 or older. (It's a guys event... so leave the wives and/or girlfriends at the homestead.)
I've spoken to a few regular attendees and the "guys only" restriction is being lifted. The new rule is that if you bring your significant other, I would hope that they are there to enjoy the movies first and foremost and won't be offended (at least not outspoken wise ;-) ). It is still an 18 or older gathering though. If you'd like to attend, please let me know (via email, Live Messenger or, if you have my number, give me a call) and I'll get you further details. (Oh yeah, and now that commenting is active again, you could just leave a comment here.)
|
-
Announcing the Dallas/Fort Worth dnux group. What is it? .NET has been growing in size over the past 5+ years and, as such, it's hard to cover everything in a .NET user group meeting. Some people may call what dnux is as a "sig"; however, although there are similarities between dnux and a sig, the subjects covered will be broad enough that it doesn't really fit (in my opinion) the idea of a sig. Additionally, I'm purposefully trying to not use the words "user group" to describe dnux. It's an "enthusiasts group". I want to bring back the fire, the intensity, the energy and excitement in producing applications. I still haven't answered exactly what dnux is... The name itself is taken from combining the the words .NET User eXperience; however, we may be discussing technologies that compliment .NET as well so the name itself doesn't really dictate the focus either. In the end, this group is all about the end user experience with a base focus on leveraging .NET as the core technology. So I see what your thinking, this will just be a group that is similar to other .NET user groups but with presentations focused on Windows Presentation Foundation (WPF), XAML, Media Center Markup Language (MCML), Silverlight, System.Drawing, Windows Forms, etc. You'd be right, and yet, you'd be wrong. dnux will focus on these technologies, sure; however, everything will be much more hands on and interactive. Almost organic in nature. The "presenter" will seed the conversations and the group as a whole will help dictate where that conversation goes. Some topics will be basic (especially in the beginning) as everyone is learning the technologies. As people become more proficient, things should get very interesting indeed. I don't want to spoil the surprises just yet, so if your interested in finding out more details, just come to the meetings. ;-) You can find out more information at http://dnux.org.
|
-
It's time again for Action Movie Night! (Yeah, I know, it's a bit late in getting this notice out there... but I do have a valid excuse. To hear it, you'll just have to come to movie night.) This is just a quick reminder regarding the Action Movie Night taking place Saturday evening, August 18, 2007, starting at 6:00pm located at my house so space is limited to those that RSVP. The movies being shown are: AND
This time around is going to be a high-def evening. In addition to the movies, I’ll also be firing up the grill for a grillin’ session. This will start around 4:30pm and everyone is invited to bring their own slab of meat and try their hand. (It’s a guys night, so no one is going to do the cookin’ for ya… besides… didn’t I mention that it’s a guys night… we are all supposed to love to grill, right?) Some side dishes will be prepared to go along with your charred masterpieces. Due to the nature of the movies being shown (and potentially being shown in the future), this event is limited to guys who are 18 or older. (It's a guys event... so leave the wives and/or girlfriends at the homestead.) If you'd like to attend, please let me know (via email, Live Messenger or, if you have my number, give me a call) and I'll get you further details. (Oh yeah, and now that commenting is active again, you could just leave a comment here.)
|
-
It's dark-thirty in the morning and I'm headed out the door up to Oklahoma City, OK to speak. I'm going to attempt to get there for the opening, which is about 2 hours and 45 minutes from now... and local.live.com says it's about a 3 hour and 22 minute drive. We'll see if I make it. Why am I going up there, you may be asking? Well, of course, I'm presenting obviously. ;-) http://www.okcodecamp.com/Agenda/tabid/56/Default.aspx If your in the area, stop on by an say hey. (I know, more notice would have been great. I got a bit swamped the past two weeks, so sorry about that.)
|
-
Someone sent me an IM asking if I knew of a way to handle the pressing of the close button on a console application. After a bit of research, I found a way (and some limitations). This required stepping outside of the Microsoft .NET Framework utilizing P/Invoke. This allowed me to capture the application close event (which is initiated via the close button, the close menu item or task manager) and when Windows is shutting down (the user logging off). You can read all about how to accomplish this here.
|
-
It's time again for Action Movie Night! This is just a quick reminder regarding the Action Movie Night taking place Saturday evening, July 21, 2007, starting at 6:00pm located at my house so space is limited to those that RSVP. The movies being shown are: AND
Yes, "Once upon a time in China" was slated for last movie night; however, we ended up watching Serenity (HD) and the first episode of Firefly. And since Shooter bumped The Matrix (HD), this is sort of a make up event. ;-) In addition to the movies, I’ll also be firing up the grill for a grillin’ session. This will start around 4:30pm and everyone is invited to bring their own slab of meat and try their hand. (It’s a guys night, so no one is going to do the cookin’ for ya… besides… didn’t I mention that it’s a guys night… we are all supposed to love to grill, right?) Some side dishes will be prepared to go along with your charred masterpieces. Due to the nature of the movies being shown (and potentially being shown in the future), this event is limited to guys who are 18 or older. (It's a guys event... so leave the wives and/or girlfriends at the homestead.) If you'd like to attend, please let me know (via email, Live Messenger or, if you have my number, give me a call) and I'll get you further details. (Oh yeah, and now that commenting is active again, you could just leave a comment here.) [update] - Fixed the date in the description. ;-)
|
-
If your in the Dallas area (or more specifically, the North Dallas area), swing by NDDNUG tonight for my presentation on developing for Windows Vista using Visual Studio 2005. (Of course discussing VS'08 can't be avoided and everything I'm speaking on works in VS'08). Meeting starts at 6:00pm, so I'll need to head out of here in just a few minutes.
|
-
So I saw Transformers the other day. It was a pretty decent movie except the director bought into the ill conceived idea that shaking the camera all around would somehow make the action scenes more intense. I mean it's supposed to be a special effects movie... not something to make me dizzy. Shaking the camera DOES NOT make the viewer feel like they are "in the action". It makes our eyes jiggle around in our skulls and gives us a headache! STOP IT! Anyway, back on track. Before the movie was a trailer for a movie with no name that had all of its footage shot on and from the perspective of a handycam. Starts off somewhat sublime and then hell starts to break loose with some sort of large creature noise and explosions; the cars, building debris and such being tossed around was a nice touch. Then it goes to the black screen that usually shows the title, producer(s), director and main actors/actresses. This screen is up for less than 2 seconds (including cross fade) and then just the date for the release of the movie. Someone filmed it and put it up on one of the video sharing sites so I got to pause it on that frame. The title and actors/actresses are not displayed on this screen. So what is this movie called, what is it about? Honestly, I completely forgot about it until Jason Bock pointed it out on his blog. Thanks for the nudge, Jason. Of course, where to go look for more information? Ummm. One of the sites that I happen to be listed on, of course! IMDB.com. Doing a little poking around on IMDB, J. J. Abrams has a project listed as "Untitled J. J. Abrams Project (2008)". The synopsis states: A giant monster movie (currently referred to internally as Cloverfield; the monster itself is referred to as "The Parasite", not to be confused with the film project The Parasyte) that is shot using home video cameras from the point of view of people who are experiencing an attack on New York City. Sounds a little gimmicky though ILM is doing the special effects so who really knows. It'll be interesting nonetheless. Well see how long they can keep things a "secret". The last movie I remember (although I wasn't old enough to understand the idea behind keeping a movie secret, or that it was a secret until it's release on DVD and them saying it was done that way in the extras) when Star Wars was being filmed. Even if I were, it would have been a whole lot easier to keep a movie somewhat secret back in 1977. However, doing the same thing today has to be even more difficult. Someone trying to do so has at least two things going against them. First, there is a lot of competition in the box office, so they need to promote as early as they can in order to as many people into the theaters given how short of a shelf life a movie has on the big screen these days. Second, we have this wonderful medium we call the internet at our fingertips. Information is much more readily available today than it was in 1977. ;-)
|
-
It's time again for Action Movie Night! This is just a quick reminder regarding the Action Movie Night taking place Saturday evening, June 30, 2007, starting at 6:00pm located at my house so space is limited to those that RSVP. The movies being shown are: AND
I was planning on watching Matrix on HD DVD, however, since Shooter was released this Tuesday... it got bumped. In addition to the movies, I’ll also be firing up the grill for a grillin’ session. This will start around 4:30pm and everyone is invited to bring their own slab of meat and try their hand. (It’s a guys night, so no one is going to do the cookin’ for ya… besides… didn’t I mention that it’s a guys night… we are all supposed to love to grill, right?) Some side dishes will be prepared to go along with your charred masterpieces. Due to the nature of the movies being shown (and potentially being shown in the future), this event is limited to guys who are 18 or older. (It's a guys event... so leave the wives and/or girlfriends at the homestead.) If you'd like to attend, please let me know (via email, Live Messenger or, if you have my number, give me a call) and I'll get you further details. (Oh yeah, and now that commenting is active again, you could just leave a comment here.)
|
-
I have to admit that lately I've been feeling a little overwhelmed by the amount of new technology that I need to grok in order to stay ahead of the curve. In a relatively short window of time, we've had Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), Expression Blend, XNA Studio and Windows Vista (with 7,000+ new API's) released and Silverlight, Dynamic Language Runtime, Core-CLR, yet another version of Blend, Windows Home Server and, probably most importantly, "Acropolis" coming within the next six to nine months. And this is just the items that I have on my personal todo list; the list is actually a pretty small in comparison to the total. Obviously it isn't possible for me to learn all of this at the same exact time. So I've decided to focus on one of the core technologies behind several of the ones I've mentioned. XAML. Since XAML is the basis of WPF, Silverlight, Blend and "Acropolis"... it's something I'm not going to be able to avoid. Additionally, I'm focusing on the WPF angle.. but learning WPF via "Acropolis" and Blend. I have a long list of projects that I'd like to utilize WPF, so I'm starting there and seeing if I can rewrite one of the smaller ones utilizing "Acropolis". What is "Acropolis"? "Acropolis" is a "set of components and tools that make it easier for developers to build and manage modular, business focused, client .NET applications". "Acropolis" "builds on the rich capabilities of Microsoft Windows and the .NET Framework, including Windows Presentation Foundation (WPF) by providing tools and pre-built components that help developers quickly assemble applications from loosely-coupled parts and services". Ever heard of CAB? Ever tried CAB? If you have and thought, "Man, why does this sort of thing have to be so difficult.", "Acropolis" is poised to help rectify that situation. Brad Abrams used the word "democratize" to describe the goal of "Acropolis". As such, you won't have to understand what composite applications, software factories, etc. mean in order to build these sorts of applications. Using a wizard, you can create a basic infrastructure for a robust application that you can then focus on the business problems at hand instead of all of the plumbing to bring different "parts" together. Since "Acropolis" is focused on delivering this technology leveraging XAML for both the plumbing and display (WPF), it seems like a great technology to focus on to get my feet wet with several pieces of technology. Also, I really believe that there will be a huge demand for those that understand "Acropolis" in the near future as more people realize the benefits of what a true rich client application can provide. Additionally, I have decided to make it a personal mission (one of many it seems) to do whatever I can to see that VB is a true first class citizen in the "Acropolis" world. So it seems I have three reasons to spend some serious time in the land of "Acropolis".
|
-
I know a lot of people that will be happy to know (thus why I'm pointing it out here) that anonymous comments on AddressOf.com have returned. Based on a recommendation given by Scott Hanselman in regards to what he uses to combat comment spam, AddressOf.com now uses the same service. Yes, I really do like people commenting, so now that comments have returned, speak your mind!
|
-
I'm a huge fan of the Microsoft Natural Ergonomic keyboard. It's about time people like me get a wireless option. ;-) Introducing the Microsoft Natural Ergonomic Desktop 7000. It's supposed to be available sometime in July... so I'll keep my eyes out for them on the shelves and let you know what I think when I get my hands on one.
|
-
In an effort to preserve some of the contributions I made to GotDotNet, I'm making them available here. Windows Media Player 9 Series Metadata Sample [2/9/2003] This is a port of the WmpML C++ sample included with the Player 9 SDK to VB.NET. Shows how to read/write to media players metadata; not the metadata contained within the individual files, but the "database" used by media player. This is meant more to be a sample of how to access/modify the information; not an actual application. Be sure to read the notes included as comments in the main form for further information. Finally found something to submit :-) Enjoy. [download] Bit Shift Operation Methods for VB.NET (Microsoft Visual Basic .NET 2002) [2/26/2003] This re-usable example shows how to using Reflection.Emit() to embed a function written in IL into a VB.NET class. Also shows examples of Public Shared single instance class. Further, I've modeled this after the code generated by C#->VB.NET conversion tools for converting bit shift operators. So you can use this as a drop in to handle that code. Be sure to let me know if you find any issues by posting feedback. [download] Owner Drawn Button Control using various opacity (transparency) levels. [2/27/2003] This component allows for semi-transparency over the base image and change based on user interaction (mouse over, tab to, etc.) (ala Windows XP Media Center Edition) This sample shows how to owner draw a button, copy the parents image into the control, place a semi-transparent layer over the image, drawing text, handling variations of TextAlign, and adjust RGB levels of a color. It's not 100% complete, so please post feedback and additional ideas for improvement... [download] Some of the projects I created and/or was otherwise involved in appear to have disappeared already. I'll see if I can dig up some of the code from my own archives and make those available as well.
|
-
So you have an application that is "blocked" at startup by Windows Vista. Every time you have to restart the computer, you see the bubble displayed in the lower right hand corner of the screen letting you know that you had an application blocked. You then use the notify icon to interrogate the list of applications and fire them off accordingly. Of course, you also have to say yes to the UAC prompt as well. Annoying, isn't it? Well, here's a way that you can modify the startup procedure so that an application will no longer be blocked and doesn't require you to accept the UAC prompt. Yes, it's somewhat of a hack, but it's not too difficult to pull off. (It's a hack in the sense we are thinking outside of the box to work around the limitations that are in place due to a software manufacturer not updating their software to work "correctly" with Windows Vista.) To do this, you'll first need to modify the applications configuration so that it will no longer attempt to start with Windows Vista on it's own. If you are unable to do this, then you may need to use the msconfig utility to remove it from the startup list. Once this is done, you can then setup an alternate startup method. This method involves using the Task Scheduler. - Open the "Control Panel".
- Select "Classic View" on the left (if not already done).
- Double click "Administrative Tools".
- Double click "Task Scheduler".
- Accept the UAC prompt accordingly.
- Click the "Create Basic Task..." link on the right hand side of the Task Scheduler dialog.
- The "Create Basic Task Wizard" dialog will not be displayed. Fill in the "Name:" text box with something appropriate such as "Launch WhateverNameOfProgram" and click the "Next" button.
- Select the "When I log on" for the Trigger and click the "Next" button.
- The "Start a program" option will already be selected for the Action by default. Click the "Next" button.
- In the "Program/script:" text box, enter the full path to the executable you wish to start when you log in. You can use the "Browse..." button to use the Open dialog. Once you have found the executable and entered it, click on the "Next" button to continue.
- The "Summary" screen should now be displayed. Here you will see the "Open the Properties dialog for this task when I click Finish" checkbox. Check this box and then click the "Finish" button.
We are nearly finished at this point. Just a few more modifications... - On the "General" tab, check the "Run with highest privileges" check box.
- On the "Conditions" tab, uncheck the "Start the task only if the computer is on AC power" check box (just in case your doing this on your laptop).
- On the "Settings" tab, uncheck the "Stop the task if it runs longer than:" check box.
- Click the "OK" button to save the changes.
At this point, you should be able to restart your computer and, upon log in, the application configured should start automatically. Enjoy!
|
-
If you didn't get the opportunity to attend Tech-Ed 2007 (or you somehow missed the keynote), you can watch it here. If you don't have time to watch the whole thing, at least take the time to watch the first few minutes... you're sure to get a laugh. On a similar note, I'm still catching up from being out at Tech-Ed last week; however, just want to assure you that I have a long list of topics that I'll be sharing over the next couple of weeks... so stay tuned. (BTW, if there's anything you'd like me to talk about first, be sure to send me a note with your request).
|
-
I've been running Vista x64 for about a month now. So far it's been a pretty painless experience. Here are a few updates: Software Compatibility I continue to be amazed by the amount of software that continues to be compatible with x64. - Counter Strike Source
- Day of Defeat: Source
- Diablo
- Dungeon's & Dragons: Dragonshards
- F.E.A.R.
- Far Cry
- Half-Life 2: Episode One
- Half-Life: Source
- Halo: Combat Evolved
- Magic the Gathering: Battlegrounds
- Neverwinter Nights 2
- Quake 4
- SiN Episodes: Emergence
- The Lord of the Rings: The Battle for Middle-Earth II
- Tron 2.0
- WarCraft III: Reign of Chaos
As you can see a wide array of games that works under Vista x64. Am I playing Diablo? Well, no... but I installed it just to see how old of a game I could install and run under Vista x64. Since it worked, I figured I'd go even further back... No 16-bit Allowed I suppose this is somewhat understandable. How far back should Windows go in supporting "old" software? I tried installing a few DOS games from way back when and Vista x64 gave me a polite dialog box stating that I should contact the vendor of the application for an x64 compatible version. However, all is not lost. Enter DOSBox. DOSBox is an emulator that allows you to run DOS application under the current versions of Windows. It emulates various pieces of hardware (video, audio, etc.) and has limited "DOS" functionality so that you can manipulate the file system and launch applications. And yes, it works with Vista x64. To give it a whirl, I installed Trog (an arcade game from ages ago that also had a PC version). Worked great. Video Editing Software Pinnacle Systems finally released a version of their Studio software for Windows Vista. Luckily for me, they also released a x64 version (at least the installer stated it's installing for x64); though they recommend the x86 version. Bah... I'm going 64-bit... keep up people. I do have to point out though that their so called Vista version still requires Vista to enter into compatibility mode since they are writing to the Program Files\Pinnacle\Studio 11 folder. "Next Gen" Gaming Halo 2 and Shadowrun were released while I was away at Tech-Ed 2007. I installed Halo 2 and the experience was what one would expect with any "next gen" type of release. What do I mean by that? 1. Install game. Even though it had the "play while installing feature"; that was utterly useless since the first thing I did while installing was try to connect to Live. 2. Apply patch for Live. 3. Restart the game/install. 4. Started playing the game and noticed a lot of triangle drawing issues. Exited game. 5. Visited nVidia to see if any new updates to their driver existed. 6. New driver. Downloaded, installed, rebooted, continued driver install, reconfigured screen resolution and multiple monitor configuration. 7. Started game (yet again). 8. Finally able to play the game as it was designed to be played. Oh well, so much for making it "simpler". I will say, though, how nice it is to be able to play using the Xbox 360 wireless controller. Giving it a go with the controller first and then will switch to keyboard - it just somehow feels wrong to use the keyboard given that I have the controller and that's the way that I played Halo 2 in the first place. Shadowrun is on the list of games to be played, but I expect that experience to be better since I've already updated the Live components and video drivers. Maybe I should have installed Shadowrun first; that way I could have really experienced the play while install feature. ;-) The Zune I somewhat expected that the Zune software wouldn't work on x64. It's always nice to be surprised. For the most part, Zune worked. The driver installs and the software syncs the device just fine. The only issue that I saw was in the browser (internal to the software) had an error displayed. Didn't get a chance to explore this too much before Tech-Ed and now it appears to be resolved... so maybe it was just a coincidence and a server issue. LOTR and DDO Update I suppose Turbine is ignoring the crash submissions (assuming they are signed up for that program) for us low in number x64 subscribers. Yes, I still get a crash dialog whenever I exit their games. So far, it only appears to be their games that this happens on... Software Development "Issues" I got verification that Microsoft SQL Server 2005 Compact Edition doesn't work in 64-bit mode. It appears that a portion of the technology is ready for x64; but the other portion is still x86 and isn't on the roadmap to be resolved in the "Orcas" timeframe. My advice... make sure *all* of your applications are marked as targeting x86 and only set to "any" (the default) after you've tested on x86 and x64. I'm not sure who decided "any" was the right choice; but my experience and gut are telling me that was the wrong choice. Stop Requiring Administrator I'm going to start pointing out (when I can) companies and software products that aren't "User" friendly. By user friendly, I mean not working as a regular user; forcing their users to run as Administrator on operating systems prior to Windows Vista and force Vista into compatibility mode (utilizing the VirtualStore). Here's a starter list: - Pinnacle Systems - Studio 11 (uses the "Works with Windows Vista" logo - the Titles folder contains title templates that I created and those that were created during installation)
- Sling Media - SlingPlayer (uses the Vista pearl on their download site - several .ini, .xml, .txt files and a Favorites folder containing a .spf file)
- Microsoft - Zune (some sort of log file is placed in the VirtualStore area)
- Invelos Software - DVD Profiler 3.0 (creates an empty folder in the VirtualStore - not sure why)
- Turbine - The Lord of the Rings Online: Shadows of Angmar (a Games for Windows certified game, which includes the Vista pearl logo - game updates are dropped into the VirtualStore; I've modified the permissions for this folder so that this does not occur)
- Turbine - Dungeons and Dragons Online: Stormreach (same issue/solution as LOTRO).
- Lutz Roeder - Reflector (ok, this one isn't completely fair since it doesn't include an installer and doesn't make any claim that it's "compatible with Vista"; however, if you do place it in the Program Files folder the config file will be created/updated in the VirtualStore.)
To the best of my knowledge, the only reason why these folders would be utilized in the VirtualStore is because the application is unable to write these to the Program Files tree due to permissions set on those respective folders. By default the Program Files folders doesn't allow "Users" to write/modify. The biggest reason why I'm drawing attention to the above applications is that this sort of issue should really exist given that the best practices have been documented and in existence for the past decade. This is the biggest reason why things like UAC *need* to exist. Applications should not require administrative rights unless they are doing administrative level duties. Requiring an application to run as an administrator due to bad design or laziness is downright unacceptable. Am I guilty of such? Sort of. There currently isn't a good story regarding software updates via self-updating applications. Just as Turbine (and Blizzard) games are self-updating (thus need permission to update the files either as administrator elevation or modifying the folder so that the user has the right to do so); XboxFriends for the Desktop also has this requirement. So does Lutz Roeder's Reflector application. However, remember what I said. You should only require administrative rights if you are doing an administrative task. Installation (for the most part) is an administrative task. Updates could be considered part of that category. However, if an administrator installed an application, I feel that they have also given their permission that the application should allow for updates. There is a model in the MSI installer realm that allows for this; though the usage of it is rather complex. This should be resolved by MS accordingly; though I haven't heard of any movement in this regard... so if there is, and your reading this, please let me know. Summary So after running for a month; using this computer as my primary machine doing whatever I would normally do, whether that be developing software, gaming, writing documents, paying bills, etc., everything has been relatively painless and, dare I say, enjoyable.
|
-
Here is a rough itinerary of what I'll be doing at Tech-Ed 2007. If your going and spot me there, be sure to say "hi". Sunday | ~09:45 | Arriving in Orlando | | ~10:15 | Aquire a vehicle... | | 12:00-~15:00 | MVP Welcome Event, Pre-Tech Ed 2007 | | 15:00-16:00 | TLC Staff Orientation (tentative - depending on MVP event activities) | | 16:30-18:30 | Grabbin' some food somewhere... | | 19:00-dunno | Party with Palermo at Glow Lounge | | | Finding a place to crash for the night... |
Monday | 08:00-19:00 | Attending event... | |
Tuesday | 08:00-19:00 | Attending event... | |
| 19:00-22:00 | "Invite Only" Party (I can't extend invites :-( ) |
Wednesday | 08:00-12:00 | Attending event... | |
| 12:00-15:00 | TLC Blue Section - Visual Studio 2005 | |
| 15:00-20:00 | Attending event... | | 20:00-22:00 | MVP Influencer Party |
Thursday | 09:00-12:00 | TLC Blue Section - Visual Studio 2005 | | 19:00-23:00 | Attendee Party - Islands of Adventure |
Friday | 08:00-13:00 | Attending event... | | 13:00-16:00 | TLC Blue Section - Visual Studio 2005 | | 16:00-16:30 | Headed back to airport to turn in vehicle... | |
| 18:40 | Headed home... | |
| 20:30 | Arriving in D/FW... | |
| 21:45 | Arriving home... (for some much needed rest) | |
Hmmm... Monday evening looks like a large gaping hole. I wonder if several of us can't find something to go do (that doesn't entail getting into toooooo much trouble).
|
-
OK, so I took the step forward and decided to live on the uber bleeding edge. As you can see from the image, I decided to go ahead and install Microsoft Visual Studio Codename Orcas Beta 1 on my main machine. Yes, the same machine I'm running Vista x64 on. The biggest reason for doing this is the "support" in Visual Studio 2005 for WPF is, ummm, let's just say lacking. So the first thing I do after completing the install is create a new WPF Application project and what do I see? (Look at the photo.) 
Now don't get me wrong, I am completely aware that this is a beta. Yes, it's a relatively early beta. However, considering that WPF is installed by default on Vista and Vista (I would assume) is the short term future for Microsoft (over the next 5 years or so if recent release track times withstand)... wouldn't you think that the WPF designer would at least look like Vista on Vista? What is this TONKA TOY crap doing on my beautiful desktop? At least when I launch the application, the window border looks as you'd expect. Whew! Scared me for a moment. ;-) I haven't gotten much further than this, so stay tuned for further details as I progress forward.
|
-
Just so I don't forget this link, I'm posting it to here. Yes, I'm having to do some web stuff for a project I'm on and it appears that ASP.NET 2.0 "didn't like" the smart navigation feature in previous ASP.NET version(s). What I wanted to do seemed like it would be straight forward; and ultimately it was... but had to utilize something outside of ASP.NET to do so. Nonetheless, I came across this document on Microsoft's website outlining how to mimic smart navigation features using other means. How to implement the smart navigation features in ASP.NET 2.0
|
-
Games are probably one of the best examples of "consumer software". I'm constantly being asked "what commercial products that are shipping are using .NET?". I'm sure you've heard similar questions. Well, if you've been reading along, you'd have noticed that I've been having to re-install a lot of software since I'm making the x64 jump. While doing so, I've noticed that *all* of the games I've installed so far (albiet, only 3 of them), every one of them utilizes .NET. Here is a list: Lord of the Rings Online
Uses .NET 2.0 for it's launcher / updater application. Dungeons & Dragons Online: Stormreach Uses .NET 1.1 for it's launcher / updater application (the game is a year and a half old afterall). Neverwinter Nights 2 I know that Neverwinter Nights "designer" application (the one that allows you to create content for the game) is written in C# and utilizes .NET 2.0. I'm not sure if any of the other components utilize .NET or not. Nonetheless, this list contains *real* examples of commercial (targetted at consumers) applications taking advantage of .NET. Are you aware of any other games? If so, leave a comment.
|
|
|
|