Wednesday, December 2, 2009

How will my site render on all browsers?

I recently was browsing the Mozilla Tools listing, and I cam across another amazing tool created by Adobe called BrowserLab. Browserlab allows you to view any publicly viewable webpage as it would be seen by Firefox (OSX & XP v. 2,3,3.5) Chrome (XP v. 3), IE (XP v. 6,7,8) and Safari (OSX v. 3,4). You can overlay each browser view to see differences, as well as use a rule to measure positioning of elements on page. Check it out! BrowserLab (You have to create an Adobe account, which takes 10 seconds...just do it)

Thursday, November 12, 2009

Mono Visual Studio Plugin

Ars has a great article on the up and coming visual studio plugin which will allow .NET developers to build code locally, deploy it to a Linux server, and debug the code executing (via Mono) on the Linux server. Has anyone out there made the jump to building apps on their Linux machine with Mono? Pros/Cons?

Wednesday, November 11, 2009

Azure Storage Manager

It looks like Cerebrata has created a useful web app for Azure developers. You can visualize your data (Tables, Queues, Blobs) in a great Silverlight interface. You will have to enter your storage account unique name, and Account shared key, but they once you logout, Cerebrata does not keep record of your account info. Check it out! https://onlinedemo.cerebrata.com/Cerebrata.CloudStorage/default.aspx

Access SQL Azure Tables via SSMS 2008 R2

If you have been trying in vain to connect to SQL Azure tables via SQL Server Management Studio 2008 (SSMS) there is hope! SQL Azure Team blog just announced that the R2 release of SSMS 2008 includes features to access SQL Azure in the cloud! Download is currently available for Technet and MSDN subscribers.

Saturday, August 8, 2009

Use thunderbird to Transfer gmail email

I recently made the decision to switch from one gmail account to another. The former was created in college and was more for fun than future use. The second one I created is more appropriately named and professionally sounding. Anyhow, I wanted to transfer all email from one gmail account to the next. There was not a clearly defined way to do this, so I had to hunt around the interwebs to find a solution for myself. Here are the steps I took:
  1. Enable IMAP in both your old and new gmail email accounts.
  2. Download Thunderbird.
  3. Add your old gmail email account to Thunderbird with IMAP protocol options.
  4. Add your new gmail email account to Thunderbird.
  5. In your old gmail email account, expand the [Gmail] folder to view the IMAP folders for your gmail account.
  6. Select the email messages you want to copy to your new gmail account.
  7. Right Click >> Copy To >> new gmail account >> [Gmail] >> whatever location you want the email to be copied to (Inbox, Sent, All Mail)
Let Thunderbird work it's magic. Depending on how many messages you are copying and their size, it can take a while. Thunderbird will download the entire message locally and then copy it to the destination. Hope this helps! -Dave

Friday, August 7, 2009

Running Robot

Check out this cool link for the new Toyota Running Robot (smart-machines blog)

Thursday, August 6, 2009

DataItem Dag-Nabbit!

Recently I was faced with the issue of trying to get multiple data columns from a DataGrid row during the event raised from a link button inside of a TemplatedColumn. When the link button was clicked, I was not able to access the selected item's DataItem. I had to find a work around. Microsoft does not allow access to the selected item's DataItem except during runtime using reflection. But, I needed to access the data item somehow so I created a workaround. Here is my original code:


                    
                        
                            
                                
                            
                        
                        other column 1
                        other column 2
                        other column 3
                     


protected void cmdUpdateContractID_Command(object sender, CommandEventArgs e)
        {
            DateTime RunDate = Convert.ToDateTime(e.CommandArgument.ToString());
            String RunSeq = e.CommandName.ToString();
        }

I wanted to be able to access the data from the other BoundColumns. So, I used an expression on my aspx page, and a custom method in the code behind to get around the DataItem lifecycle issue:


                    
                        
                            
                                
                            
                        
                        other column 1
                        other column 2
                        other column 3
                     


protected string GenerateArgString(object dataItem)
        {
            StringBuilder args = new StringBuilder();
            args.AppendFormat("{0}|", 
                 Convert.ToString(DataBinder.Eval(dataItem, "FIELD_1")));
            args.AppendFormat("{0}|", 
                 Convert.ToString(DataBinder.Eval(dataItem, "FIELD_2")));
            args.AppendFormat("{0}|", 
                 Convert.ToString(DataBinder.Eval(dataItem, "FIELD_3")));
            args.AppendFormat("{0}|", 
                 Convert.ToString(DataBinder.Eval(dataItem, "FIELD_4")));

            return args.ToString();
        }

You can see that I added the CommandArgument attribute to my Linkbutton, which in turn allowed me to generate a string of pipe delimited values from the selected item's DataItem. The expression calls the GenerateArgString method, which evaluates the DataItem using DataBinder.Eval method to retrieve information by column name.

Thursday, June 18, 2009

Non-profit technologies

Hello! Are there any readers out there who have had experience volunteering with a non-profit org? More specifically creating for them a web-presence (web site, social networking, donation portal) and providing computer support (hardware, software). Any insight would be appreciated! -Dave

Wednesday, June 17, 2009

HTML 5

Hello All! It has been quite a while since I have posted. I have been learning a little something called Java as well as taking some classes and have not had the opportunity to post. Anyhow, I came across some cool info about HTML 5. Canvas, video, Cache, Web Worker....some pretty cool stuff. You can check out some demos here but you will need an HTML 5 compliant browser. (such as Google Chrome). All the demos are done using client side html...no applets, flash or silverlight shenanigans. Enjoy the future of web development! -Dave Reference

Tuesday, January 6, 2009

the vast pool of knowledge

I read an article entitled "21st Century Mindset" recently and caught glimpse of this quote, and thought it would be appropriate to share.

Networking has changed our relationship with knowledge, making it accessible anytime, any place, on any device. Too little knowledge is no longer the challenge; sifting through the vast pool of knowledge, analyzing it, and collaborating to solve problems is the new dilemma.

I have had my fair share of information overload on the internet, and I never feel at a loss for not being able to find information. However, I do admit that there is difficulty in being able to "sift through the vast pool of knowledge" and come to a conclusion. Just a thought...

Tuesday, December 30, 2008

Developers Bill of Rights

I like to have a nice machine to do my development work. Do you? Here is a new proposed "Developers Bill of Rights" from CodingHorror.com

Link

Developer Ramp Up Time

Cool article on how to reduce the ramp-up time for new developers/consultants.

Link

Wednesday, November 26, 2008

CSS Color Scheme generator for the color-blind

Recently while building a sample site with Windows Azure, I found myself trying to determine the color scheme for my site. I determined that my lack of color coordination was stopping any real progress, so I went to Color Hunter to develop a color scheme for use on my site.

There are two key features that I found helpful

  1. You can choose from other popular color schemes
  2. You can upload your own picture and Color Hunter will extract the colors from the image and give you the matching colors.

If you have a minute, check it out. It is really cool and helped me sail through my CSS design phase.

Link to Color Hunter

Monday, November 24, 2008

Windows Azure PDC developer videos

I have watched a few of the PDC sessions that were really helpful for me to get started with development of Azure SDK. Here is a quick listing of some of them:

  • Watch Steve Marx write a simple app with Azure.
    link
  • Brad Calder goes a little bit more in-depth with Azure storage.
    link
  • See how NSoftware and FullArmor have utilized the Azure cloud services
    link

Windows Azure Developer Starter Guide

Recently, I started to look into development on the Windows Azure CTP platform with the release of the SDK.  I am going to write a developers guide to getting started with Azure CTP.  Let’s get started!

  • Software Requirements:
  • Once you have all the required software on your machine, you need to install the SDK and the VS plug-in. The plug-in adds a project template to VS so that you can create a project with the appropriate web and worker roles.
  • The SDK installs two main working components: The development storage service and the Azure fabric.  These two components have UI monitoring tools that allow you to view process/tracing information and service statuses.  You can manually start these services by going to your Start menu > Programs > Windows Azure SDK (but for the sake of this tutorial, wait until the next step to start the services).
  • To start up your local Azure fabric and development storage, navigate to and execute the batch file ~/Program Files/Windows Azure SDK/Samples/RunDevStore.cmd . This will build your sample projects, start the Azure fabric and dev storage and create the appropriate storage structure.  You can start one of the apps from the command line by navigating to the root folder of an app (ex. HelloWorld) and executing the runme.cmd file.
  • Lets code (dave code)!  Open Visual Studio (as Administrator) and create a new project:
    • select Cloud Services from the Visual C# project type
    • In the Templates list, select Web Cloud Service. This creates a web role.  This web role handles http requests and serves up ASP. NET pages. If you choose the template that has both web and worker role, you will see the worker role is added.  This worker role acts as a service running locally that can interact with the development storage, role manager, etc.
    • In your project, open up Default.aspx and change some text.  Hit F5 and you will see your changes in the browser.
    • Storage Client Library:  Open up the sample project title Storage Client Library, you will notice that there is a whole library of classes and methods for interacting with the development storage.  If you add this project to your solution you can debug through and see how it works.  You can utilized the exposed classes to write your own Azure apps.  See the SDK sample apps for examples on how to use the Storage Client Library. (This library is based on the ADO.NET data services.  If you have had experience with ADO.NET, you may have dealt with DataServiceContext class.  If you are interested in looking at the plumbing of the Storage Client Library, you will see plenty of ADO.NET classes leveraged.)

I hope this tutorial has been helpful for you.  Please drop me a line if you have any questions about getting started.

Wednesday, November 19, 2008

Ninja Cats

I had to share this commercial featuring ninja cat. Enjoy :-)

Ok-I must give in. Initialize(LOL cats);

cat

Monday, November 3, 2008

Microsoft Certified!

I just recently gained my MCTS Web Apps certification. What does this mean? It means I took two exams focused on using the ।NET Framework 2.0 to develop web applications. Here is my cool new logo:

Thursday, October 9, 2008

How to read disk drive information using C#

I just came across some cool C# code while preparing for the Microsoft 70-536 exam. Using the Windows Management Instrumentation (WMI), you can inspect a machine for available disk drives. Add the System.Management assembly as a reference in your project, and off you go:

ManagementScope DemoScope=new ManagementScope("\\\\enter_machine_name_here\\root\\cimv2");
ObjectQuery DemoQuery = new ObjectQuery("SELECT Size, Name FROM Win32_LogicalDisk WHERE DriveType=3");
ManagementObjectSearcher DemoSearcher = new ManagementObjectSearcher(DemoScope, DemoQuery);
ManagementObjectCollection AllObjects = DemoSearcher.Get();
foreach (ManagementObject DemoObject in AllObjects)
{
Console.WriteLine("Resource Name:" + DemoObject["Name"].ToString());
Console.WriteLine("Resource Size:" + DemoObject["Size"].ToString());
}
Console.Read();

Thursday, October 2, 2008

Where does my stuff come from?

If you have ever wondered where the casing from your cell phone was made, or how much of an impact throwing away a juice box makes on environment, this video is for you. I found Story of Stuff linked on Damien Rice’s MySpace page. The website shows a very well done video explanation of where “stuff” comes from. Not only where it comes from, but we should think twice about using that stuff.

SPOILER WARNING: This video is not a I-feel-so-guilty-I-am-going-to-live-in-a-shack-in-the-woods kind of presentation. It was produced to let everyday people know that there is a story behind our large amounts of stuff. It does not just appear magically on the shelves at Kroger.

Link: Story of Stuff

Saturday, August 30, 2008

Soccer is a google Beta - Football is a Microsoft release (Process vs Result)

Here is an interesting article about how American Football embodies American result-driven, instant gratification mentality, and how Soccer is quite the opposite.
(This article chronicles a Twitter 'tweet thread'...and no I am not going to join Twitter)
Fill in the blanks, everybody: Soccer is ____. Football is _____. Football is American because ____.
Read the article on Buzzmachine