South Florida/Orlando Code Camps

Yet again I haven’t posted for a while and after both South Florida and Orlando Code camps, both excellent events, well setup and run by their respective volunteer groups, I need to post my talks. So for those of you that listened to my talks at South Florida I apologize for the delay, for those from Orlando, your in luck, I’m posting the next day.

NuGet Presentation
NuGet is a Visual Studio Addin and accompanying toolkit to manage open source packages. The addin allows developers a one stop shop (think app marketplace) to search for and install open source toolkits and in some cases some free toolkits from commercial companies. This addin also gives access to updates both minor and major and safe ways to remove a toolkit no longer used. The other part of NuGet is the toolkit that allows a developer to create and package their own toolkits, either open source published to the NuGet main repository for all or closed source in a private repository. I cover aspects of using NuGet to install, update and delete packages and then look at creating and publishing packages and then finally the creation of a private repository for those of us in the commercial world who want to leverage the technology behind NuGet put do not want to distribute our company IP.

Presentation (PPTX) NuGet – What is it and why should I use it in my enterprise
Code (ZIP) NuGet – Code

Open XML
This is the file (document) format behind Microsoft Office 2007/2010 i.e. docx, xlsx, pptx. These files are actually renamed zipped containers. Inside the container are loosely coupled xml files i.e. if you know the format, you can infer what is in each file and how they relate. These XML files follow the OpenXML spec’s which is a series of XML markup ‘languages’ (schemas). In the presentation I show a couple of simple Hello World examples for Word and Excel, then go into a more complex example showing how to build up an Excel spreadsheet from scratch and the importance of the order of building elements. Remembering that these are XML files and there is a XML schema that must be followed. If you don’t then at best, the files fail to load and at worst it ends up killing you application. After this I then demonstrate why this is the hard way and show the easier way to create and validate files.

Presentation (PPTX) OpenXml – Do It YourSelf Office
Code (ZIP) OpenXml Code

Posted in Code Camps | Leave a comment

Tallahassee Code Camp

And while I posting, I forgot to post about Tallahassee code camp. Those in Florida will know that the code camp is in our states capital, right down town at FSU. So it’s a great location. I have to give a big shout out to Saqib Rokadia for all his and Capital City .NET User Group of Florida’s hard work at putting on this small but enthusiastic code camp. I enjoyed presenting and even more so listening to speakers from the north Florida and other southern states area. Here in central Florida we get all the speakers from Florida at our code camps, but going to either one of the northern FL (Tally or Jacksonville) code camps, gives you a chance to here those speakers from outside Florida. For those of you who haven’t made it this far north, I would suggest you try next year, it’s a lot of travel, but a lot of fun. I presented on OpenXML (see my other posts for code) which was I hope well received. Nobody threw any tomato’s so I guess I did OK. The other presentations I went to I enjoyed and learned a lot, some of which I even remember.

Throughout this year and a half of getting into making presentations at code camp, I’ve met a lot of great people, great speakers, great organizers, great sponsors and also great attendees. I encourage anyone to make a presentation on their favorite technology, it doesn’t have to be brand spanking new, there are plenty of people just getting the chance to look into MS technologies, so give it a try. Also support and promote your local code camp, it’s a great way to learn new or older technology and a great place to network with other like minded techies. In the current economic climate it’s not a bad thing to broaden your techie network.

Posted in Code Camps | Leave a comment

It’s been a while but work has been hectic….

As a developer working for a commercial tax software company there is no time when we are not, to excuse the phrase, ‘Balls to the Walls’. Creating and updating tax software is a year round constant update cycle. Both the federal government, state and city governments are constantly changing there tax rules and you need to get these changes out to customers both in time to meet the regulation changes but more importantly time for the customer to create their returns with the rules in sufficient time. I work for a company called Vertex Inc, in the Sarasota FL office, where we work on compliance (direct) tax. For those in the know this is Fed forms 1120, 1065, etc, equivalent (sort of) to personal tax forms 1040. But we also deal with all state and city forms in this same realm. Our corporate HQ is in Berywn, PA, where they deal with all other variants of tax i.e. payroll, sales, etc. Is it exciting? Well that depends on what you think exciting is. We always have work to do (more than can be done in reality), we always have tight deadlines, which we cannot move. It’s no use publishing our software 5 days after regulations have deemed a tax return must be posted, more like 2 months prior, to give customers a chance to finish up their returns. But we do deal with windows apps, web apps, inter site communications, which have got to be reliable, remember there’s millions if not more at stake here and the federal government has no sense of humor regarding outages Plus we are always looking at new ways to enable our customers to create their returns in the most efficient and accurate ways possible. So application integration is a major concern. So if you are in the Berwyn, PA or Sarasota, FL areas and are looking for a new challenge looks us up. It may not be sexy software by most peoples standards but we have to deliver on time, with quality, without failure, oh and did I say our firm offers excellent benefits and vacation. Ok, enough of the company promotion, note that these are my own opinions, but what I meant to aim this blog post at is that I’m going to start a series on using NUGET in the enterprise environment. Ill be looking at everything from NUGET basics to how to integrate into a corporate build environment. Will this all work, I have no idea, but it is something I’ve thought is a worthwhile exercise. Now that my group (commonly know as the Portals group, we deal with anything web related and office integration) has expanded in size (three times bigger), I have the bandwidth to look at more strategic changes, so this is where I’m starting. I will given time, bandwidth and OK’s from the PTB, move into other strategic changes, including MEF, EF, etc. While these may not be new, I want to look at these from an actual implementation viewpoint.

Posted in Code Camps | Leave a comment

Tech Ed 2011 in Atlanta

Well, so far it’s been an interesting Tech Ed in Atlanta. The conference center layout has been likened to a marathon. Lot’s of seriously long walks between classes not to mention the most confusing architecture know to man. Nothing like entering from the ground floor in conference hall A, walking through on the same level to conference hall B, only to have to go downstairs to level B4, with another 3 levels below this. Confused your will be, at the end, you will be fit.

Microsoft has done a great job of lifting themselves from the cheapness of the least conference (no hot breakfast anyone) to excelling at feeding the hungry masses this year. Class contention is always a problem, too many interesting talks at one point and not enough at another. Missing from TechEd is the big giveaway to all those attending, PDC, Mix they all get stuff, but for TechEd… forget it.

Of note this year is a great turnout by all the vendors, for which a special mention goes out to GrapeCity. The corporate HQ is in Japan and as we all know they have suffered greatly from the earthquake. I encourage all to visit their website and donate to the relief effort. But this did not stop them from having the best booth at Tech Ed. Did I say they have a pool table with a 2 times champion showing off trick shots. Pretty cool. But the best is the cookbook, a wonderful volume packed with recipes from fellow geeks around the US, and if you are lucky, you can get signed copies. As Tech Ed give aways goes, this definitely rates as one of the more unusual but more useful. I don’t know about the rest of you but the flashing pens are fun and last for a few days before meeting their demise in the garbage but the cookbook I will keep and use.

Posted in Tech Ed | 1 Comment

Orlando Code Camp

With this years code camp in Orlando, Florida, we now have the two biggest Microsoft technology based code camps in the United States. Way to go Florida. Just like the South Florida code camp, this code camp was well run, with a great selection of presentations from some of the best speakers in the country. OK, I’m biased but after having attended quite a few other conferences and presentations of one sort or another we are very lucky to have a great group of gifted speakers and all those volunteers who run the code camps that we all benefit from.

Don’t forget to check out DevFish’s site aka Joe Healy for all the news on Florida events from our resident Microsoft Developer Evangelist.

Posted in Code Camps | Leave a comment

Password Protected Excel 2007/2010 File

At the Orlando .NET Code Camp (the second largest in the US, the largest being South Florida), I did a presentation on OpenXml which is the format behind Office 2007/2010. At this session I was asked a question to which I had no answer.

The question was ‘If I have a password protected Excel from either 2007 or 2010 file, can I use the trick of renaming a file to a zip and then examining the XML to extract the information in that spreadsheet. Well I could not answer this but noted it down for later. So after a little investigation here are my findings.

There are three level’s of password protection offered in Excel (note that I’m using Excel 2010, so there may be differences in 2007). Under the review ribbon bar section, in the Changes tab, there are two of the three options

  1. Protect sheet – which protects the data in a particular sheet, it can also include formatting, adding/deleting rows and columns, etc
  2. Protect workbook – which protects the structure of the workbook i.e. the number of sheets, window layout, etc

These two options protect the spreadsheet but the file can still be easily opened by end users and worked with no password required. So renaming the spreadsheet to a zip file, opening it up and editing the xml files I located and removed the protection that these options add. After opening back up in Excel, everything works as expected from an unprotected spreadsheet. Not unsurprising as these options are not meant to protect sensitive documents, only to stop a user changing the document through carelessness or whatever. I will leave it to you, to figure out which xml file contains the protection element.

The third option is also confusingly called Protect Workbook, but is located under the File/Info tab. From this you can password protect a file such that it cannot be opened without specifying a password. I presumed that after password protecting the file, and saving what I would have is a password protected zip file masquerading as an Excel document. So I renamed it to a zip extension and attempted to open it. Well that didn’t work, that may just be that I’m using an older version of a zip package or more likely MS is encrypting the entire zip file after creation. This was interesting and although not quite what I expected, the file is protected as expected.

So you cannot retrieve the contents of a password protected spreadsheet for which you have forgotten that password by simply renaming it to .ZIP and opening it.

Posted in Code Camps, Computers and Internet | 4 Comments

Presentations at South Florida Code Camp

By the time your read this I should have completed two presentations at the South Florida code camp.


This presentation show how to construct OData providers using WCF Data services and consuming them using Silverlight and WPF. These providers include Entity Framework, Reflection and Customer providers. Also demo’d are Query and Change Interceptors which are used to filter queries and modify data.

Presentation (PPTX) ODATA – Building Providers
Code (ZIP) ODATA Code

Open XML

This presentation show how to construct Office documents using Open XML and specifically looking at Excel spreadsheets. Demo’d are Hello World in Excel and Word, then going deeper into constructing a fully functional Excel spreadsheet.

Presentation (PPTX) OpenXml – Do It YourSelf Office
Code (ZIP) OpenXml Code

Posted in Code Camps, Computers and Internet | Leave a comment

South West Code Camp – Presentation on OData

This is the contents of my presentation from the South West Code Camp in Estoro. The presentation¬† is on Building and Consuming OData Custom Providers. In this presentation I demo a basic OData provider using the Entity Framework provider. I show how to construct the provider and then show how easy it is to consume the data via Silverlight. In the second half of the presentation I demonstrate how to create a provider using the reflection capabilities of .NET. This demo’s how to create a provider for data that is not in a EF compatibile database.

Presentation (PPTX) ODATA – Building Providers
Code (ZIP) ODATA Code

Posted in Code Camps, Computers and Internet | Leave a comment

Committed myself to presentating at the South West FL Code Camp

I’ve spent a lot of time at the local code camps benefiting from all the great presentations made by other Florida developers. I’ve now decided it’s time to give something back to the community by presenting at the South West Code Camp in beautiful Estero. I’m going to do a presentation on OData providers, the construction and usage of. I’ve been working with this technology in my spare time, so hopefully I will give a good presentation. But at least now I’ve got a deadline and a project to deliver. What fun. Oh, and depending on how things go, I may have a presentation on OpenXml which is Microsoft’s toolkit for working with Office 2007 files. We will see.

Posted in Code Camps, Computers and Internet | Leave a comment

MSI installations, Server 2008 R2 64bit and Visual Studio 2008

Here’s a nugget of information that I found out by pure accident when I first shifted to developing on the Server 2008 R2 64bit platform and guess what I wasted time yet again when I forgot this with an issue caused by it.

What happened was that I decided to upgrade a set of controls I use for WinForms development. The controls are part of the UIStudio suite from Actipro and I can’t speak highly enough about how well the they work and how good the support is from Actipro when an issue is found. I uninstalled the old controls and installed the new versions from their MSI file’s via a simple right-click install. Then I upgraded my Visual Studio project to use the updated components, not forgetting the version number in the license.licx file and when I ran this I was surprised to see the evaluation screen popup saying I wasn’t using a licensed version. So I figured that I’d probably fat fingered the license key as I’m no touch typist, so an uninstall, careful reinstall was in order. No luck there. So started a 1 hour fight trying to figure out if different locations would work, UAC issue’s perhaps, maybe virtual store issue’s where occurring, etc. No luck. I checked all my files and even used Reflector to examine the assembly to see if the license file was in there. It wasn’t. At the point of giving up and kicking my machine into the next decade I remembered the one nugget of critical information that I had forgotten. What that issue was, is ‘You have to install an MSI as administrator’ or strange issues can occur, such as files not being placed in the correct directory (I’ve had all files installed in the root directory) or as in this case the file simply not being included in the compiled assembly. Ok, there are others but I not looking at my list of things to look out for on Server 2k8. Now installing an MSI as admin is a small nuisance as you cannot right-click and then install as admin, it just doesn’t exist. So back to my old standby, open a command prompt as the admin and then run the MSI from there. After that, everything was working again.

So if you have issues with MSI installed apps or controls on Server 2008 R2 64bit, remember that you may need to install as admin. This should clear it up.

Posted in Computers and Internet | Leave a comment