How to move a window that is off the screen in Windows 7?

Ok, so I had a window that was off the screen when I opened it. This is really annoying and easy to fix, but not obvious to fix. In fact, I didn’t find it, my manager Beau found it and showed me.

In the past version of windows, you could find the application on the start bar and right-click and choose move. However, in Windows 7, you cannot do this exactly the same way, though it is close to the same.

For example, Notepad++ opened off the screen for me one day. I right-clicked on the icon for Notepad++ in the start bar, but there was not a move option.

Method 1 – Right-click on the mini square representation of your window
So, what you have to do is really easy, though not exactly intuitive. Instead of right-clicking on the icon, just let your cursor hover over it until the small square representation of the window appears. Then right-click in the small square to find the move option.

Select the move option and you can now use the arrows or the mouse cursor to move the window back onto your screen.

Note: If the window is minimized the move option is grayed out, so make sure the window is not minimized.

Method 2 – Shift + Right-click on the Icon (Only works if only one instance is open)
If you only have one instance of the application running, you can also use Shift + Right-click.

However, if you have two instances of the application running, this method doesn’t work for you, but gives you a different list of options, which I didn’t screen shot but here are the options:

Cascade
Show windows stacked
Show windows side by side
Restore all windows
Minimize all windows
Close all windows

I found the Shift + Right-Click method here:
http://www.sevenforums.com/newreply.php?do=newreply&noquote=1&p=353959

Now that I think about this it makes sense, because the icons on the task bar have a one to many relationship with the instances of the application they are running, while the pop up boxes have a one to one relationship.


Move over 3G phones, 4G is coming! For some, it is already here.

3G
Many people have jumped to buy smart phones but as of yet I am not one of them. The iPhone, the HTC with Google’s Android, the Blackberry Storm, all are smart phones using 3G technology now. In fact there are few phones purchased these days that don’t have 3g capability.

According to Wikipedia, here are some interesting bits of information about 3G

The first pre-commercial 3G network was launched by NTT DoCoMo in Japan branded FOMA, in May 2001…

By June 2007 the 200 millionth 3G subscriber had been connected….

So yes, many people have moved and are going to move to 3G.

Why I don’t have a 3G phone yet

  1. While 3G is nice, it is too slow to meet my needs. I have wireless internet access at my house, and at my work and rarely have a need for internet while driving my 10 minute commute to and from work.
  2. It is too slow for serious browsing and downloading (which I do a lot of) and nowhere near fast enough to use when gaming online (which I don’t do a lot of).
  3. The phone companies charge way to much for this poor performing internet access. It costs more than my much faster and much more reliable home internet access.

So when will I move to internet access on my phone?
When my phone can replace my home internet access, I will move to wireless internet on my phone. Imagine having a laptop without an AIR Card, yet having internet access where-ever I am. Whether I am home, away, at a hotel. In fact, such a feature could change the industry in that places like a hotels and coffee shops no longer need to be “hot spots” because everyone’s phone is their own “hot spot”.

Well, 3G made the “personal hot spot” a possibility though it cannot deliver this itself, the next generation, 4G, will come closer. However, it has taken the better part of this decade to get a point where 3G is the norm. How many years will it take until 4G is the norm?

4G
4G has some strong requirements according to Wikipedia:

The 4G working group…has defined the following as objectives of the 4G wireless communication standard:

* Flexible channel bandwidth, between 5 and 20 MHz, optionally up to 40 MHz.[2]
* A nominal data rate of 100 Mbit/s while the client physically moves at high speeds relative to the station, and 1 Gbit/s while client and station are in relatively fixed positions as defined by the ITU-R,[6]
* A data rate of at least 100 Mbit/s between any two points in the world,[6]
* Peak link spectral efficiency of 15 bit/s/Hz in the downlink, and 6.75 bit/s/Hz in the uplink (meaning that 1000 Mbit/s in the downlink should be possible over less than 67 MHz bandwidth)
* System spectral efficiency of up to 3 bit/s/Hz/cell in the downlink and 2.25 bit/s/Hz/cell for indoor usage.[2]
* Smooth handoff across heterogeneous networks,[7]
* Seamless connectivity and global roaming across multiple networks,[8]
* High quality of service for next generation multimedia support (real time audio, high speed data, HDTV video content, mobile TV, etc)[8]
* Interoperability with existing wireless standards,[9] and
* An all IP, packet switched network.[8]

At 100 MBit, 4G can replace my home internet access.

However, according to this article, 4G might not really be there: AT&T, Verizon and Sprint 4G: Not so fast

Where is 4G available
I didn’t take to much time to look at all the carriers, but 4G is available in some cities already through Sprint.
http://now.sprint.com/nownetwork/4G/

This is a flash web site and you have to let it load, then click near the bottom where it says 4G cities.

Baltimore, Chicago, Seattle, Denver, Boise, Austin, and many others already have it.
Houston, San Francisco, DC, New York are others are on the list to be getting it soon.
Alas, Salt Lake City was on neither list.

I could not find if this was true 4G or if it was not. According to Wikipedia,

The pre-4G technology 3GPP Long Term Evolution (LTE) is often branded “4G”

So is Sprint’s service really 4G or is it only a mis-branded pre-4G technology?

AT&T announced that its 4G network won’t be available until 2011 and I am not sure which cities it will roll out first.

What are the market repercussions of 4G?
Well, I already mentioned one. Many of the common “hot spots” will no longer need to exist.

However, that is not where the repercussions end. The biggest repercussions are to companies that provide DSL or Cable internet, or more generally, wired internet. They will suffer the same way that land lines have suffered: the user base will decline. Why would I pay for internet access for my house if I have fast internet access through my phone that my computer can leverage. There are still reasons for home internet access, such as families that need access to the internet when a 4G phone is not home. But when both parents and one or more kids have 4G phones, that might not be the case. There will almost always be internet around. So companies like Comcast or Cox could see a slow decline in users.

However, this is not going to happen for at least a decade, because first, 4G has to deliver on it’s promised speed, or we have to wait for it’s successor. Then 4G or its successor has to become the norm. And then it will take users a few years to get used to not using home internet access. So don’t sell your stock in wired internet companies yet. 🙂

Untapped Markets

  1. Docking Stations for phones – A computer docking station for the phone. Lets face, most people use a computer for email and browsing the internet and occasionally writing documents. If you had a docking station for an iPhone or an HTC, it would sell. However, I am not sure that the iPhone or the HTC could handle the video display yet, even if the docking station had an on board video card. This technologies is years away.

    A similar feature would be a laptop like apparatus that wasn’t a computer but just an LCD and keyboard that is run by your smart phone, but it drastically cheaper than a laptop, it might sell.

    Though this wouldn’t be for a gamer but the average home and small business user would adopt such a low cost solution to email and internet access, which is the most common user type. Using cloud tools such as Salesforce as a CRM and Google docs instead of MS Office are already happening todya and since a phone is powerful enough to use these applications, a phone-based docking station might meet many employee’s business needs today. Take away the license costs for Windows and Office, take away the help desk and IT costs of managing such windows-based PCs and a phone with a docking station that replaces a computer becomes an extremely attractive option.

    1. Cloud Computing for phones – Those jumping on the cloud computing bandwagon have in my opinion made a big mistake in thinking that its market is for the home computer and the Operating System. The market is for remote applications.

      The remote applications market is perfect for the future phones and future docking stations that replace the computer completely for some users. The apps and processing are offloaded to a web server somewhere in the could, so a device as simple as a phone doesn’t have to be in charge of the space required or the processing power for apps.

    2. Cloud Gaming Market – Not all users replace their home computers. The PC gaming market wouldn’t touch such a device until it was powerful enough to play today’s best games, which require some of the best computers and best video cards. However, PC gaming is in the decline as gaming systems have become more and more like computers themselves.

      You may think there that are already online games both simple and complex: simple, such as flash games; complex, such as World of Warcraft. Flash games require flash to be installed on the client, and a lot of processing occurs on the client. World of Warcraft has a very large installer and doesn’t completely run on the cloud, it is very resource intensive to the local computer. If a game ran completely on the cloud and all a gaming device had to do was display and pass input, a future generation of the smart phone could handle such a game.


A Small Car Revolution…I would drive one today if they existed and were priced right…but they aren't

Small Cars
Ok, so I have been saying that I have a short 10 minute commute on 45 MPH to 25 MPH roads. I rarely have more than one other person in my car. I need a car that is about 1/3 the size of a regular car. Something that will get me to work and back. I have a Hyundai Tuscon as a family car and would use it for family travel, but it is baffling to me that people commute with full-size expensive cars. I drove a four door dodge neon for the better part of a decade and it was nice to have a small car for commuting.

A commuting revolution is necessary and like it or not, it has begun. I don’t want anything like government enforcement of this, but I think that commuters should have smaller cars with better gas mileage or electric cars. But unlike the not-so-smart Smart car, it shouldn’t cost the same as a regular car, and get the gas mileage of a regular car, but should be about $5k-8K tops.

I am completely happy with this upcoming small car revolution. However, I am afraid that the prices are going to be way to high for a while. It will take time for the market and competition to demand lower prices.

Lets also talk about space. How easy is it to park with a small car? How much easier is it to change lanes? How about being able to fit between other cars and the curb so you can turn right when everyone is stopped for a red. And garage space…If you get a smaller car, you suddenly have more storage space in your garage and you might be able to fit shelves on the garage wall and still be able to open your door.

Affordable Small Cars
I have to argue that the term “affordable” does not really fit many of these cars, but I guess it is all the opinion of the buyer. Also, the term small is used loosely as some are not really that small.
http://usnews.rankingsandreviews.com/cars-trucks/rankings/Affordable-Small-Cars/

I looked through these and only two had MSRPs starting below 10,000 that are even close to what I would term “affordable”.

Nissan
#12 – 2010 Nissan Versa
Avg. Paid:$10,272 – $16,607
MSRP: $9,900 – $16,530

Hyundai
Compare the Hyundai Accent’s average paid to the smart car’s average paid: $10,189 – $16,894.

#19 – 2010 Hyundai Accent
Avg. Paid:$10,189 – $16,894
MSRP: $9,970 – $16,995

Toyota
However, it is interesting to note that they have higher average prices paid than they Toyota Yaris
# 26 – Toyota Yaris
Avg. Paid:$12,798 – $14,366
MSRP: $12,605 – $14,165

Smart Car
I would totally by a smart car except there cars a overprices by more than 5K and in some cases they are overpriced by more than 10K.

According to this site, they average paid is $12,624 – $21,126.
http://usnews.rankingsandreviews.com/cars-trucks/Smart_ForTwo/

Look check out how much people are asking for used smart cars that are approximately 3 years old on Autotrader in my area:
Smart Cars on Autotrader near Salt Lake

Ok, over 20K used? Over 15K if used for a few years? You have to be kidding me with this. I can get Honda Civic Hybrids or Toyota Yaris cheaper, not to mention the Chevy Aveo and other small cars that I can get for 6K-8K if they are three years old.

General Motors (GM)
GM has a car coming next year called the Spark.
http://blogs.motortrend.com/6458234/car-news/2011-chevrolet-spark-gm-thinks-small-very-small/index.html

Well, GM at least has the size almost right, though it is more like 1/2 the size not 1/3 the seize. Also I am sure the price will never meet my requirements.

GM does foresee a future car that is even smaller, yes 1/3 the size.
http://www.scientificamerican.com/article.cfm?id=gm-electric-networked-vehicle

The EN-V relies on dynamic stabilization technology similar to that of the one-person Segway scooter to keep its balance, and can be operated autonomously or under manual control. In autonomous mode the EN-V is designed to use high-speed wireless connectivity and GPS navigation to automatically select the fastest route, based on real-time traffic conditions gleaned from the Web or some other networked source of traffic information.

I can’t say much since it doesn’t really exist in the market yet. But it looks cool.

Ford
For is trying to get into the small car action too.
http://www.caranddriver.com/news/car/08q3/ford_to_sell_six_european_small_cars_in_u.s._in_2010-car_news

The Fiesta also coming out next year and is almost as a small as GMs upcoming Spark.
http://www.fordvehicles.com/cars/fiesta/

Where is the small car revolution going to take us? I don’t know for sure, but I like where it is going for the most part.


How to make Apache handle. asp and .aspx links in FreeBSD or Linux? (Updated)

Ok, so what do you do when a site that was based on asp.net is converted to a Linux box and your product shipped with links to sites such as http://our.home.page/index.asp and many other .asp or aspx sites?

Should you use mono?
Yes, probably

See my mono post on Asp.Net here:

Asp.Net web services on FreeBSD and Apache using Mono

Should you migrate your code to php or ruby or another open source language?
Sure, maybe

If you choose not to go with mono at this point because it might be easy to re-write your code in php or ruby or any other open source language, especially if you are doing nothing more than echoing html code after performing simple calculations.

I haven’t tested it yet, but you may get a lot of the asp code automatically converted using this tool: asp2php

What about the fact that unchangeable links to my pages end with .asp or .aspx entensions?
It doesn’t matter what the file extension is, you can have that file extension handled by any scripting language. For example, to configure Apache to have php handle .asp or aspx file, you can follow the steps below.

If you have an index.asp file that should automatically be served by default, it is probably not in the list of files to serve by default, which is probably just index.htm and index.php. You can either rename index.asp to index.php or modify the httpd.conf to include the index.asp file. These steps assume you are changing the httpd.conf.

  1. Change to the apache configuration directory: /usr/local/etc/apache22/
  2. Edit the httpd.conf with ee.
    ee httpd.conf
  3. Search for “DirectoryIndex” to find the section where the directory index is configured.
  4. Add index.asp as the first item as shown:
    DirectoryIndex index.asp index.php index.html
  5. Change to the “Includes” directory which by default is here: /usr/local/etc/apache22/Includes
  6. Create a file that is named ending in .conf (For example, to show what the file does in the name, I used asp-as-php5.conf):
    # Handle .asp and .aspx with php
    AddType application/x-httpd-php .asp
    AddType application/x-httpd-php .aspx
  7. Restart apache. Now your .asp and .aspx files will be handled by php.

Copyright ® Rhyous.com – Linking to this page is allowed without permission and as many as ten lines of this page can be used along with this link. Any other use of this page is allowed only by permission of Rhyous.com.


Sorry Opera 10.51, though you're a fast browser, I had to get rid of you fast: (Part 2)

Continued from Not Firefox, Chrome, or IE: Its Opera’s new 10.51 boasts being the fastest browser on earth (Part 1)

Opera, you had promise. I tested you out and you did seem a little faster. I used you all day long.

For the first half of they everything went smooth.

  • I loved the zoom feature, and if other browsers have it, it is not as obvious. I liked how every element zoomed. It wasn’t just the text that got bigger, everything got bigger.
  • The speed dial feature is nice.

But then things went downhill fast.

  • Opera didn’t work with the forum software my company uses. This was a deal breaker in itself, but we are upgrading in a few weeks and the browser should work in the new version.
  • Then I tried to download the Voice interface and it just says failed and won’t tell me why.
  • I tried to make my book marks toolbar and it wasn’t as easy as I would have liked. I still don’t have one made.
  • My brother called and needed me to connect to his computer remotely, but the remote control is initiated at a web page, which didn’t work with Opera, but worked with IE or Firefox. I used IE.
  • Don’t ask me why I checked this site today (I am not really a Trekky) but www.startrek.com didn’t work. Then I closed and opened the browser and it started working…that is just odd.
  • I could have surpassed and forgotten about these issues with something like IE Tab. I found one but no easy installer, and I am not up for research and tweaking for this review. The lack of an easy install for this feature was the final straw.

Opera has been around a long time, and I am quite surprised that it didn’t work out for me for even a full day.


Not Firefox, Chrome, or IE: Its Opera's new 10.51 release that boasts being the fastest browser on earth (Part 1)

Not Firefox, Chrome, or IE: Its Opera’s new 10.51 boasts being the fastest browser on earth

This article says: http://arstechnica.com/microsoft/news/2010/03/can-microsoft-really-build-a-better-browser.ars

Opera 10.50, released a few weeks ago? It’s the fastest browser on the chart. It’s faster even than prerelease versions of Firefox and Chrome, not to mention faster than the public IE9 Platform Preview build

I tried it personally today and I have to say that there were times when it did feel faster to me. But there is a lot of testing to do before I can decide whether to make the jump to using Opera as my primary browser.

According to this article: http://arstechnica.com/microsoft/news/2010/03/firefox-may-never-hit-25-percent-market-share.ars
Opera only has a 2.35 percent of the market share.

To me there are pros and cons to Opera based on the details above:

Pros

  • Lower market share means it is less likely to be a target for hackers as they usually target larger distributions.
  • It is the fastest browser.

Cons

  • Sites are probably not testing their browsers on Opera.
  • Less users could mean less reported issues, less features, less plugin development, etc…

I am going to use Opera for the next week or two as my primary browser and I will post a second review about Opera. I will update this post with a link to it. This article will discuss whether Opera will remain my primary browser and if so, why? If not, why not?

Update: It wasn’t weeks, it was a day: Sorry Opera 10.51, though you’re a fast browser, I had to get rid of you fast: (Part 2)


How to view only unread email in GMail?

If you want to read only unread mail in GMail, then type this in the search:

label:unread

Then click search.


FreeBSD 7.3 Released!


Tivo Desktop fails to open in Windows 7 with this error: Element not found

So I couldn’t get Tivo Desktop to open. It kept crashing with this error: Element not found

Naturally, I checked for a new version as I was on Tivo Desktop 2.7 and Tivo Desktop 2.8 was out. However, an uninstall and a reinstall did NOT fix the issue.

Turns out I just had to delete this file:
C:\Users\Jared\AppData\Local\TiVo Desktop\cookies.


How to send an audio or voice email in Windows 7? (Steps should work in Vista or XP as well)

How to send an audio or voice email in Windows 7?

This can be done with special software and without specially software.

Without special software
Requirements:

  • Microphone – Often laptops come with microphones built-in. But a head set or a stick microphone usually has better results. If you don’t have one, buy one here: USB Microphone from Amazon
  • Email – any email that allows for attachments will do.

Step 1 – Record the email.

  1. Open sound recorder by going to Start and typing in “Sound Recorder” and choosing to open the application.
  2. Click “Start Recording” and talk into your microphone.
  3. Click “Stop Recording” when finished.
  4. Save the file where you want to save it. It is a .wav file.

Step 2 – Send the .wav file as an attachment

  1. Open your favorite mail program or web-based email tool.
  2. Start a new email or compose a new email.
  3. Enter a recipient.
  4. Enter a subject.
  5. Add the .wav file as an attachment.
  6. Click Send.

With special software
There is special software for doing this, and there are lots of different types. I am only going to discuss one piece of software here called WaxMail that is an integration tool to Outlook or Outlook Express.

Step 1 – Download WaxMail.

  1. Go to the web site: http://www.waxmail.biz
  2. Choose the correct download based on whether you are using Outlook or Outlook Express and click it.
  3. Follow the download instructions and on step 3 click the download button.
  4. Save the file to where ever you want.

Step 2 – Install WaxMail

  1. Make sure Outlook or Outlook Express is closed.
  2. Run the downloaded executable: setup_waxmail_1_0_0_40.exe
  3. Follow the installation instructions.
  4. Finish.

Note: I use Outlook at work, so I am going to show you an example using Outlook. I am not going to post an example using Outlook Express but it should be similar.

Step 3 – Use WaxMail to send a Voice Email

  1. Open Outlook or Outlook Express. You should now have a WaxMail toolbar.

  2. Click New WaxMail. You get a new email message and the WaxMail voice recorder show up.

  3. Click big red Record button and talk into your microphone.
  4. Click Stop when you are finished talking.
  5. Click the rename option and rename the voice file. The voice message is named something generic and you can see it in the WaxMail tool in a white box and there is a Rename and a Delete button
  6. In the email under To: enter the recipient.
  7. Also give the email a valid Subject.

    It should now look something like this:

  8. Click Send.

The one thing that I don’t like is that this line is appended to all emails unless you purchase WaxMail.

Tired of typing emails? WaxMail lets you record and send voice messages via email. Get your free copy from www.waxmail.biz

I looked for an open source or free version without advertising and that didn’t cost any money, but I couldn’t find one. If you find one, please let me know, otherwise you have live with the ad.


Should we measure employee's performance like a gamer gains experience in World of Warcraft?

Hey all,

I saw this article and thought it was very interesting.

Clearly defined goals and fair, incremental rewards are two game design techniques that could motivate the ‘gamer generation’ in the workforce, according to a US academic.

Lee Sheldon of the Indiana University believes managers may have to rethink how they engage the next generation entering the mainstream workforce.

“As the gamer generation moves into the mainstream workforce, they are willing and eager to apply the culture and learning-techniques they bring with them from games,” said Sheldon, a gamer, game designer and assistant professor at the university’s department of telecommunications.

Read more here: Employers: Look to gaming to motivate staff


How to add a DataGridTemplateColumn using a button to a WPFToolkit DataGrid that is bound to a DataTable?

Ok, so here is my goal. I have a DataGrid that is going to be bound to a DataTable.

I want to add a DataGridTemplateColumn when the DataContext changes.

For each row, I have an value that is either normal, warning, or error. If normal, I don’t want a button on the column at all. If error or warning, I want a button.

So the DataTable looks something like this but in my larger app (this is a minimal example) the data is dynamic in that it can contain different numbers of rows, difference column names, etc. So a static View and static binding isn’t going to work.

Field Value Compare
a 1 1
b 2 3
c 3 5
d 4 4

So, the idea is to get the WPFToolkit’s DataGrid view to look like this.  If the numbers differ by 1, it is a warning.  If the numbers differ by 2 it is an error.

Field Value Compare Action
a 1 1 Normal
b 2 3
c 3 5
d 4 4 Normal

So how do I do this with a WPFToolKit DataGrid that is bound to a Table?

Hopefully, I will figure this out:
Windows 7 64 bit
Visual Studio 2008 SP1
.NET 3.5
WPToolKit

I don’t have it working yet…

Step 1 – Create a new WPF Application project in Visual Studio

Step 2 – Add WPFToolKit as a Reference

  1. Right-click on project and choose Add Reference.
  2. Under the first tab called .NET select WPFToolkit.

Step 3 – Create the View

  1. Open the Window1.xaml.
    <Window x:Class="DataGridAddButtonColumnTest.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpftk="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
        Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
        <Grid>
            <wpftk:DataGrid ItemsSource="{Binding}" Name="mDataGrid" CanUserAddRows="False" IsReadOnly="True" DataContextChanged="mDataGrid_DataContextChanged"></wpftk:DataGrid>
        </Grid>
    </Window>
    
    

Step 4 – Create the Data

  1. Create a TestData class.
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Text;
    
    namespace DataGridAddButtonColumnTest
    {
        public class TestData
        {
            #region Member Variables
            DataTable mTable;
            #endregion
    
            #region Constructors
    
    		 /*
    		 * The default constructor
     		 */
            public TestData()
            {
                mTable = MakeSampleDataTable();
            }
    
            #endregion
    
            #region Properties
    
            public DataTable Table
            {
                get { return mTable; }
                set { mTable = value; }
            }
    
    
            #endregion
    
            #region Functions
            private DataTable MakeSampleDataTable()
            {
                DataTable table = new DataTable();
                table.Columns.Add("Field", typeof(string));
                table.Columns.Add("Value", typeof(int));
                table.Columns.Add("Compare", typeof(string));
                //table.Columns.Add("Action", typeof(string));
    
                table.Rows.Add("a", "1", "1");
                table.Rows.Add("b", "2", "3");
                table.Rows.Add("c", "3", "5");
                table.Rows.Add("d", "4", "1");
    
                // Or should I include the button data here or not?
                //DataTable table = new DataTable();
                //table.Columns.Add("Field", typeof(string));
                //table.Columns.Add("Value", typeof(int));
                //table.Columns.Add("Compare", typeof(string));
                //table.Columns.Add("Action", typeof(string));
    
                //table.Rows.Add("a", "1", "1", "Normal");
                //table.Rows.Add("b", "2", "3", "Warning");
                //table.Rows.Add("c", "3", "5", "Error");
                //table.Rows.Add("d", "4", "1", "Normal");
    
    
                return table;
            }
            #endregion
        }
    }
    [/source]
    </li>
    	<li>Create a TestDataModel Class
    [sourcecode language="csharp"]
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Linq;
    using System.Text;
    
    namespace DataGridAddButtonColumnTest
    {
        public class TestDataModel : INotifyPropertyChanged
        {
            #region Member Variables
            readonly TestData mTestData;
            public event PropertyChangedEventHandler PropertyChanged;
    
            #endregion
    
            #region Constructors
    
            /*
    		 * The default constructor
     		 */
            public TestDataModel(TestData inTestData)
            {
                mTestData = inTestData;
            }
    
            #endregion
    
            #region Properties
            public DataView View
            {
                get { return mTestData.Table.DefaultView; }
            }
    
            public TestData TestData
            {
                get { return mTestData; }
            }
    
            #endregion
    
            #region Functions
            #endregion
    
            #region Enums
            #endregion
    
            // Not sure if I even need to implement this for this test
            #region INotifyPropertyChanged Members
            protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
            {
    
                if (this.PropertyChanged != null)
    
                    this.PropertyChanged(this, e);
            }
    
            #endregion
        }
    }
    
  2. Add code to the Window1.xaml.cs file
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Controls.Primitives;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    using Microsoft.Windows.Controls;
    
    namespace DataGridAddButtonColumnTest
    {
        /// <summary>
        /// Interaction logic for Window1.xaml
        /// </summary>
        public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
            }
    
            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                TestData td = new TestData();
                TestDataModel tdm = new TestDataModel(td);
                mDataGrid.DataContext = tdm.View;
                CreateActionButtonColumn();
            }
    
            private void mDataGrid_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
            {
    
            }
    
            public void CreateActionButtonColumn()
            {
                Binding binding = new Binding("PropertyName") { Mode = BindingMode.TwoWay };
                DataGridTemplateColumn templateColumn = new DataGridTemplateColumn { CanUserReorder = false, Width = 85, CanUserSort = true };
                BindingOperations.SetBinding(templateColumn, DataGridColumn.HeaderProperty, binding);
                DataTemplate dataTemplate = new DataTemplate();
                FrameworkElementFactory tmpButton = new FrameworkElementFactory(typeof(Button));
                tmpButton.SetBinding(Button.NameProperty, binding);
                dataTemplate.VisualTree = tmpButton;
                templateColumn.CellTemplate = dataTemplate;
                mDataGrid.Columns.Add(templateColumn);
    
            }
    
        }
    }
    
    

Help! I don’t know how to finish this…

UPDATE 3/22/2010
I have an answer from http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/6619249d-4353-4747-b3ad-d2748ac26d7b.

I will re-write this post with the correct details.


How to configure FreeBSD 8 to use a mini-PCI Intel 2200 AG wireless card on an IBM T40?

How to configure FreeBSD 8 to use an Intel 2200 AG wireless card on an IBM T40?

Usually I try to document every step, but I am not going to document how to install the mini-PCI card in your IBM T40, nor am I going to tell you how to download an ISO to overcome the 1802 BIOS error. But you got links…I hope the work in the future.

Step 1 – Install FreeBSD
I assume you are on a Laptop and want a desktop so here are my instructions for a desktop.
How to install and configure a FreeBSD 8 Desktop with Xorg and KDE?

You should now have your system in the same state that I have mine.

Step 2 – Verifying your device is installed
Ok, before we get started, lets at least make sure that the miniPCI Intel 2200 AG wireless card shows up.

  1. Us pciconf to look at loaded pci devices.
    $ pciconf -lv
  2. Locate the Intel 2200 BG mini-pci card. Mine shows up as follows:
    none3@pci0:2:2:0: class=0x028000 card=0x27018086 chip=0x42208086 rev=0x05 hdr=0x00
    vendor = ‘Intel Corporation’
    device = ‘driverIntel PRO/Wireless 2200BG (MPCI3B)’
    class = network

Step 3 – Setup/Install Intel Wireless Support

Ok, Intel requires you to accept a license agreement and you have to actually enter this acceptance in your /boot/loader.conf. Also you need to enable other wifi modules as well.

  1. Su to root.
    $ su

    Password:
    #

  2. Edit the /boot/loader.conf with your favorite editor (lets use easy editor or ee)
  3. # ee /boot/loader.conf
  4. Enter the following lines:
    # Intel 2200 BG mini-PCI
    legal.intel_iwn.license_ack=1
    if_iwn_load=”YES”
  5. Save and close /boot/loader.conf.

Note: If you want to see this work before you move one, feel free to reboot now.

I believe at this point you can connect to any wireless network that is not secured (not using WEP or WPA).


Net-Worm.Win32.Koobface.fwz virus passed through Facebook and Youtube

Hey all,

I got a post today in Facebook:

You Tube
http://merzoukiklaudia.blogspot.com/

When I click on it, I am taking to a Youtube video that downloads a file called Setup.exe.

Three obvious things tipped me off that this was a virus:
1. The video said it needed Flash 10.37 to run, but I had the latest Flash.
2. The file was named “setup.exe” and not something like
3. I didn’t notice at first that it was asking for flash 10.37 and the lastest version is 10.32.

So working for LANDesk which provides Antivirus (using Kaspersky) I naturally noticed this as a virus right away. It is pretty close to a Zero day virus. A Zero day virus means that most Antivirus companies don’t have content to detect and scan for a virus. However, about half the anti virus companies have released updated virus definitions for this virus today.

So it was probably released yesterday or as long as a few weeks ago and just now got detected.

This the the Net-Worm.Win32.Koobface.fwz virus according to Kaspersky.


The top 10 things that annoy programmers

The top 10 things that annoy programmers

Ha, this made me laugh so I thought I would share it.