Programmatically Open ShapeFiles with ArcObjects

My 2 Year Anniversary

21. January 2009 03:36 by Scott in   //  Tags: , , , , ,   //   Comments (11)

Today is my two year anniversary at my job.  I haven't been congratulated, appreciated or even thanked for the work I have done with my company.  (Was congratulated the day after with cup cakes and a card...) I guess you have to speak up and let people know what is going on before it happens.  I have learned a lot at my job and have taken very little to do so.  These days that go by feel tiring and sad.  I am in a supporting role now after I built an application from the ground up.  The SQL database, the documentation and the code.  I came out of college knowing very little about databases and even less about coding.  I develop in ASP.NET and C# which I had to learn from the start with this job.  I have barely had a lick of C or C++.  I was a computer Engineer, yet this job took me in to build a web app for the customer.  The project was built by me and it is my little baby.  Now I am in a supporting role in a team of 4 which I am the only one working in .NET while my other co-workers work in coldfusion.  My job was interesting when I first started building the application, learning things for the first time.  Now most of my time is spent experimenting with new technologies and research (cough, cough surfing) the internet in search for more.  Trying to learn new things and doing my damnedest to learn more of C#.  I have a firm grasp on the easy parts of C#, I just started using classes about a year ago and have figured out methods and code reuse when I was just starting out.  I remember the day I figured it out.  I must have deleted 1000's of lines of code.  It was nice.  It was a good day. I am just now picking up expressions and actually have my own personaly framework sitting at home.  I have a vast collection of extensions, methods and classes that I have written 90% my self.  I love the term "code reuse".  I used my framework in every application I make and it sure does come in handy when I want to do something really fast without having to re-invent the wheel. Having your own framework makes life a lot easier when you want to shell out code fast for a customer that you have already used before.

I remember my co-worker first pointing me to CodingHorror and I was just flabbergasted.  There were people out there who had way more experience than I.  It was an entire community.  I was so impressed. I wanted to join it, and be apart of it.  I talked to my boss about attending my first conference Dev-Connections where I again was so impressed.  I loved it.  I got to talk with some of the most appealing ASP.NET guru's.  I learned a lot from that conference and now I want to go back as a public speaker.  I went to see how to do it finding that I needed to submit a few ideas about what to present.  I missed the deadline the first time by a few days and the second time by 2 months.  I have signed up to the list to know when they decide to ask for speakers and one day I will be a presenter.  I have been known to be a great speaker in my time and can present upon a subject well.  I just stink sometimes at writing about it.  Thats why I started a blog a bit before DevConnections. I wanted to write better and be able to put my thoughts down on paper.  So now on the spare time I have I write a blog post or two.  I enjoy blogging and hopefully one day I will become a .NET MVP.  That day will be here before I know it hopefully.

I built my own bug tracker for my application and I usually get one or two fixes a day I get to work on.  By 12:00 Noon, I have my work down for the day and need to find another 6 hours to use up.  After I came back to the job from DevConnections, I presented my boss with an ideal for an admin assistant program.  They couldn't give me funding so they told me to work on it on my off time.  I haven't truly touched it in about 6 months.  I find my self getting bored way to fast with nothing to do.  I have told my boss during my meetings with him that I have nothing to do and he told me to present the customer with this and see what he says.  

After two years, I have tried to move up the latter a bit, but since I am located in Melbourne, Fl it is hard to find another programming job around the area.  I am here and can't move because the woman I love is going to school.  I have been called by Microsoft a couple of times to come interview, but sadly and respectfully decline not wanting to waste their time because I wasn't able to move.

After two years, I enjoy my time because I get a lot of free time with little to no dead lines, but it does get boring.  I wish I could find a better job in my area, but don't see that happening any time soon.  I am trying my hardest to build applications during my off time at home and have been decently successful.  As you can see from my Profile, I have done a bit and am still working on DrinkingFor.  I hope to have that finished in the next month and be working on another few ideas I have very soon.  Time will only tell how far I get.

I got this job straight out of college and I feel it is time to move on, hopefully to one of my Startups but I could be happy with another company for now. The future is bright with my startups, hopefully I get to work from home by my third year.

Thanks for Listening.  

Happy two years to me!


If you liked this post, please be sure to subscribe to my RSS Feed.

How to Convince your Customers they need a CMS

20. November 2008 17:21 by Scott in   //  Tags: , , , , ,   //   Comments (4)

Currently, I am dealing with one of my current clients.  They control a multi-national non-profit organization.  In the past they have used basic html to do the work for them in the web side of things.  They came to me through a person I knew and asked me to do very minor things for their web site. I agreed and started working with them.  There last request was to accept payment through the website and I told them to look at PayPal.  I thought it was the best bang for their buck.  Banks can charge an arm and a leg to manually enter things in while PayPal does it just fine. Most of the time, PayPal is much cheaper than what banks charge too. So I built them a PayPal system straight from Rick Strahls site. The next thing they started asking was a bunch of questions as in what can I do next, what can they do next and what can be done to improve apon this? Now they aren't very big, with a membership only in the thousands and much of the money is spent through the year.  So I decided to write them an email explaining what could be done with this organizations site. I decided to post it to show others why there is a need to have a Content Management System and hope it helps any other programmer trying to convince their customer to buy into a CMS.

I would like to title it "How to Convince you Customers they need a CMS"

Here is the deal.  I decided to go with the cheapest hosting possible when I purchased the space for $60.00 because of your budget.  It is another server hosted by GoDaddy.  Since its PayPal we are talking about. You are not required to have another server from another Service Provider to use PayPal, but for me to work using my programming languages ASP.NET, C# and SQL I needed another type of server other than what the company you were using had to offer.  Basically, since you wanted my work I needed to use GoDaddy (which is the cheapest hosting so far). PayPal doesn't have  restrictions as to what it uses as a server, but the application I build for you and the programming I do for you does have the restriction.  The $60.00 will be an annual expense once a year on or around the same date of this past week.

The way I look at it is that we are in the very early stages of development on what is formally known as a Content Management System(CMS). The best place to loosely define it would be Wikipedia at http://en.wikipedia.org/wiki/Content_management_system. If we look at your organization at the base level.  We can see the organization requires most if not all of the following:

Required:

  • A membership database.
  • An event calendar and scheduling feature for the calendar.
  • A money management system.
  • A payment system. 

Extra/Additional:

  • A place to hold all your images and review them in a photo gallery.
  • A place to hold all your official documents.
  • A place to publicly display all your public information (Website).
  • A place to download any and all forms or documents relating to events and organizations.
  • A place to write and read all the news of your organization.
  • A place to create newsletters that can be emailed out to all your members once completed.
  • A blog for your organization.
  • A place to email all your members on a regular basis.
  • A place to host a forum which would allow all your members to communicate and chat amongst each other.
Above and Beyond:
  • Because your organization has several other organizations below it in a tiered approach, you could also host webpages for those different organizations.  It could have something like a main page for each and every member in your organization or team.  This can be seen for example in another online application such as facebook.com or linkedin.com.  This of course is above and beyond, but it is available.
Overall it would be a place to store all your information and data about your organization.  It would not only be a time capsule, but an evolving time capsule.  The software will belong to you.  If I disappear with no word, you will be able to higher another person with my same skill set that could help you develop more.  As for having the ability to update the application/webpages I create for you online would be difficult for a person in your shoes.  What do I mean by that?

ASP.NET and C# is not regular HTML that you might be used to.  It is an entirely new platform for developing web applications.  When I say new, I must say that’s it has been around for about nine years and is owned by Microsoft, so I do not see it going anywhere soon.

You will get all this with the $60.00 a year hosting through GoDaddy and along with my working costs.  You can achieve this with your other hosting company, but it would not be through me.  I am sorry to say, but I do believe the other languages that are used to develop applications like this could not compare with what could be built with ASP.NET and C#.

I hope that clears things up for you.

P.S. As an organization, I must imagine you do have a membership management system in place along with some sort of news letter system.  Both those systems could/would cease to exist once I built this for you.

Side note: All this information is completely dynamic. Once I build a “component” for your application, it will then pull data dynamically from the database.  This means that you can have an extensively large amount of information on a webpage without very many things to develop or need a programmer for.

I hope this all makes sense.
If you liked this post, please be sure to subscribe to my RSS Feed.

What Gives? Microsofts Code Generation Tool

17. November 2008 19:48 by Scott in   //  Tags: , , , , ,   //   Comments (31)

In a world of Microsoft and third party applications, out comes t4.  t4 is a code generation tool that can compete with CodeSmith, but its FREE and built right into Visual Studio. It has been years since the first edition with very little publication of the actual application. t4 is a free code generation engine from Microsoft that underpins the Domain Specific Languages and Software Factory toolkits.  t4 is a rich code generation and has the ability to stand up against and compete with CodeSmith.  I have used both Codesmith and MyGeneration a lot in the past few years, so I have seen the competition.  What is nice about this old/non publicized tool is that it is built directly into Visual Studio 2008.

t4 is being spear headed into the open source market for free templates by Oleg Sych.  It brings a long a toolbox which can also be download with extra templates along with a GREAT T4 Editor which of course is also free.  There is not more need to spend money on CodeSmith, when Microsoft will do it right out of the box with Visual Studio.

Some have speculated, why hasn't Microsoft published this tool to a greater extent.  We can only think that it has to do with being a Gold Partner.  Microsoft doesn't like to lose Gold Partners and therefore hasn't truly publicized this tool.  The next question you have to ask your self is what can be generated?

  • Site Maps.
  • Database schemas.
  • Session Variables. 
  • Store Procedures.
  • Text Documents.

As of October 2008, t4 Editor has been officially placed as a plug in to Visual Studio 2010, which will boost the ability to generate t4 code through other means besides CodeSmith.

Demos and Other information can be found below.

Point of concern: If your company currently uses CodeSmith, wouldn't it be nice to tell your boss what you found could save the company a few hundred dollars by using something that is already built into Visual Studio? So why not give it a try and save a little money doing it?

kick it on DotNetKicks.com

If you liked this post, please be sure to subscribe to my RSS Feed.

Windows Mobile CE 6.1 (and Compact Framework) Released!

13. October 2008 08:44 by Scott in   //  Tags: , ,   //   Comments (25)

If you haven't seen it yet.  Mobile 6.1 was just release two months ago.  I just found out and will be upgrading tonight.

New changes include but are not limited to:

  • Copy / Paste (finally!) - Only touch screens used to do this.
  • Domain Enroll in Settings (Enrolling in a domain will connect your device with company resources.)
  • New home screen (pan left and right to check out missed calls, notifications like email, sms, etc.)
  • Change Master Security Cod
  • Added text input settings
  • Recent Programs when pressing Start menu - Allows you to see recent programs launched.
  • Threaded SMS! - This makes it so MUCH EASIER to carry on conversations.
  • When you compose an email, or SMS, and start typing the name of the contact in the "To:" field, the contact names finally pop up like Windows Mobile Professional!
  • Internet Explorer now lets you define a homepage, and also zoom in and out using a nice and clean interface - ZOOMING feature is AMAZING!!!
  • Task Manager now shows CPU usage as a whole, and also lists it by process
  • Internet Explorer offers 6 zoom modes and copy / paste functionality
  • IE also uses a new font, which looks worlds better
  • ActiveSync will now try to automatically configure your Exchange settings once you enter an email address
  • Wi-Fi indicator in the status bar, just as in Windows Mobile Professional
  • New "Vista" home screen and theme
  • Video Share Calling
  • Remote Desktop Monitor
  • ONE Note Mobile!!!
  • PTT Button can now be reassigned under Start / Settings / Buttons.

 This new CE looks and feels so much better.

 I am two months short on this launch, but if your reading this then so are you!!!

kick it on DotNetKicks.com

If you liked this post, please be sure to subscribe to my RSS Feed.

Microsoft MVP: How to become?

27. May 2008 22:13 by scott in   //  Tags: ,   //   Comments (0)

During work the other day, I was talking to my boss about the MSDN license in our little corner of the building and we discussed the prices, rankings and costs. I then remembered that all MVP's get a free full license of MSDN.  Its not that bad, actually its kind of nice.  For helping the community, you get helped out with important software that you can test and play on which hopefully allows you to become MVP again by staying up on the technology. I though am not an MVP and I would like to know how to achieve one.  I imagine if I do a great job at my ASP.NET experience, the MVP will just come to me one day, but it still doesn't hurt to know how to achieve one.

What is an MVP - "Microsoft Most Valuable Professionals (MVPs) are exceptional technical community leaders from around the world who are awarded for voluntarily sharing their high quality, real world expertise in offline and online technical communities. Microsoft MVPs are a highly select group of experts that represents the technical community's best and brightest, and they share a deep commitment to community and a willingness to help others."

How to Become an MVP - There are plenty of posts out there that discuss the ways of becoming an MVP. I though know the secret formula. Just kidding. I will try to compile all the thoughts of MVP's out there on how to become one.

  1. You must be nominated by your peer or by Microsoft. This is the foot in the door approach and it can only start here.
  2. Become an active member in user groups. You can't just contribute here, you actually have to become an active leader in the group it self.
  3. Blogging is close enough to a requirement as ever. It shows that you are interested in Microsoft and want to help others with problems they have.
  4. Writing and publishing books. Its a bit harder than it sounds, because where are you going to get a publishing company to sign you up when you not very well known?
  5. Speaking Events - Code camps and conferences.  I can imagine you can sign up to your local .NET User group and start making events for them.
  6. Recognition as a known expert in your field of study.  This is a must because MVP classifications are split up by field of study.
  7. Have a great attitude in general. Don't be rude, vulgar or disrespectful.
  8. Have Genuine desire for the betterment of society.  I know plenty of programmers that actually complain too much and don't decide to fix something they keep complaining about it. If you find your self complaining, go ahead and try to fix it instead of complaining about it.
  9. In the end, it was said best here or below.

"It stated clearly that I'd been nominated for a Microsoft MVP position - and that I should submit examples of my work, communities I frequent, speaking engagements I would be involved in, and any publications I'd contributed to and I could possibly be a Microsoft MVP for the asp.net / visual discipline."

In the end, I suggest you just help others and if you keep helping and make a difference in the communities you frequent, you will be nominated and then become an MVP.

I wish everyone good luck on this endeavor, for I wish to become an MVP someday, but can wait to be nominated for this prestigious award.

If you liked this post, please be sure to subscribe to my RSS Feed.

Heroes Happen in Orlando, Florida with Microsoft

25. April 2008 17:08 by scott in   //  Tags: , , , , ,   //   Comments (6)

So here I am attending the heroes happen conference in Orlando, Florida. I left about an hour and a half early knowing I would get there on time. I was driving down the road and the first toll I come to, they said they won't take a company Amex card. I told them I didn’t have any cash so what happens now “do you take me to jail”? Here I was thinking I would have to pull off the side of the road and be talked to by a cop. Oh-boy, but he then spoke up and gave me a small toll violation sheet that says don't do it again.

I pulled off at the next exit and got $20. So right before I was about to get off at the final exit, I go over this small bridge and a cop was waiting on the other side. Seeing  that I was late, I was trying to make up time by going 77 mph. The thing I didn't know was this 4 lane highway had a speed limit of 55 mph.

Oh boy, I got pulled over and I now have to pay $200 to an Orlando sheriff’s office. So I pull in to the convention center and now running about 30 minutes late and for those who haven't been to the Orange County convention center. It is huge, no doubt about it. So after driving around, I thought I arrived at the concourse, so I got my stuff together and started walking. I asked a staff person where Microsoft was and of course he had to say “not in this building”. Oh boy not again. I get back in my jeep and I find the Microsoft conference. I’m in the home stretch. Not ten minutes goes by and I have LOST MY WALLET! I drive back to the other parking lot to look and don't find it. I decide I’m wasting time and I guess I’ll call all my banks soon to cancel my cards. I go back to the convention center and found out they require $10 for parking. I don't have my wallet and therefore don't have cash. I decided to drive over the curb to get in. I’m not proud of it and will likely regret this for a while, but maybe ill mail the convention center $10. So I’m finally in. I arrive and the developer session is getting ready to start. I grab one of those Microsoft handy dandy lunch boxes and go into the session. So anyone want to donate $200 to my cause? Email me at spoiledtechie (at) gmail dot com.

Microsoft Lunch box

The sessions are brought to us by www.Devfish.net.

Disclaimer: I was expecting to write an in depth article on what I learned, but these sessions were not able to go into learning new things, it was all about what Microsoft rolled out and so my points are brief.

Now on to the session:
They started off with a brief presentation and moved right into the changes with Visual Studio 2008.

Some features they listed off include:

Split view window
The split view allows for both your UI code and the UI display of the page to be displayed. It was one of those wonderful improvements that came with this upgrade.

JavaScript debugging
A big update for JavaScript which can let you go through the code and set breakpoints just like in your code behind page. This along with JavaScript intellisense is a HUGE improvement.

JavaScript intellisense
Just like the intellisense for the code behind page, they now have intellisense for JavaScript. This brings the entire library of JavaScript into our hands instead of looking through a book for them. Amazing!

Framework drilling
This feature allows you to change and upgrade your framework from 2.0 to 3.5 in just a few clicks. It is done by selecting the properties of the solution and clicking on the drop down in the display to select the framework.  Quite impressive.

Ajax control toolkit at codeplex.net
The toolkit now comes with both .NET 3.5 and Visual Studio 2008. Both of which is old news, but still very cool.

Next session: creating an outlook form control.
They talked on how to implement our code into office products. They used a web service for communication along with LINQ. The front end was built with regions and WPF.

They went on to discuss Sharepoint workflow's which looked interesting. They hit on about 20 steps in visual studio 2005 that needed to be completed in order to create workflow's. It looked extremely tedious, but now with VS 2008 It was only 3 steps.

Side note: if you know Microsoft, you know they love blogger's and if you know me, you know I am not the one to hold back. So in this session, they were probably told by Microsoft just what to talk about and probably got a lot accomplished on those topics, but they definitely need to look for better speakers next time that can code and speak at the same time.

Next session: smart client applications.

Presented by Russ Fastino with Microsoft and John Goodyear with aspsoft.

They talked about how to make client applications with a better user experience.

They asked about the weaknesses of what Microsoft is doing with WPF. I had to speak up and tell tem that my MSDN license doesn't allow me to use the Expression Studio. It costs too much for the average developer to ask his boss to upgrade to a better user experience.

Interesting point: WPF is offered in Visual Studio express and that means average developers can code with it and have it rendered.

They then showed off the tech preview for Expression Blend 2008. Awesome stuff. I already played with it and used it, but its always fun to see it again. Expression Blend 2.5 has full Silverlight 2.0 support.

Free Stuff received:
Microsoft Lunch box
Vista Ultimate
SQL Server 2008
Windows Server 2008
Visual Studio Standard 2008

Thanks for reading.

P.S. I found my wallet and $20.00 when I went back to look for it where I got pulled over. Interestingly enough, I found $20.00 in the grass and the wallet on the passenger side of the jeep.

If you liked this post, please be sure to subscribe to my RSS Feed.

Day 3 at DevConnections 2008

22. April 2008 17:32 by Scott in   //  Tags: , ,   //   Comments (8)

The third day and almost done.  I wasn't happy that the third day was here, but I guess I have to live with it.  There is something about being around a bunch of nerds. All I can say is I did thoroughly enjoy my self on this day.  I got to meet a bunch of interesting fellows including Carl Franklin and Richard Campbell.  I will speak more on that later, but now lets get to what I learned.

Sessions Taken:

Programming SQL Reporting Services:
Taught by Paul Litwin which is the director and coordinator of sessions at DevConnections.  He was extremely knowledgeable in Reporting Services and one area of development that I needed more time in.  I specifically need this for my job more and so any Reporting services sessions I saw at DevConnections, I made it mandatory for me to go to. This session along with the other reporting session I took, were very informative.  They talked about how to make very good looking reports along with the ability of drilling down to more detailed reports when you clicked on a certain data item.  The reports are coded on the back end with vb 6 and so this causes a slight problem when a developer works in C# or VB.NET and they have to convert to the old ways of vb 6.  I also learned a few things about configuration manger and how to access the web.config files information.  This was a rather valuable session and I must say that if you haven't already, meet Paul Litwin personally.  He is quite a character and was a great help on a personal level.

The Science of Great UI: A MUST see session!
Instructed by Mark Miller.  This was one of those sessions you take a lot of information in and only remember it for a small amount of time unless you implement it.  This session was taught by the same guy who invented and is the Chief architect of CodeRush.  Mark presented extremely well and talked about all the UI problems in many programs he sees out there in the real world.  To give you an example, the SAVE button is an old "A:" floppy drive, but who uses those anymore?  Another would be not to have keyboard shortcuts in any program you create. Shortcuts are essential to great UI because it lets you get around the program faster.  I must note that half way through the session, Marks computer went down and instead of saying "oh my god, the session is over" he pulled out his thumb drive and asked for another computer from the audience.  He is a great speaker and presenter which knows a lot about UI.  One session I would like to see over again.

ASP.NET Internals:
Taught by Rob Howard.  When I was done with this session, I was immersed in the amount of stuff I didn't know and the amount of stuff I will try and remember.  He described a lot to do with why the ASP.NET team built things the way they did.  Why the Update panel does a full page update, the need for sessions and caching, the underlying structure of the framework, the IIS advances with ASP.NET.  He also showed information about the HTTP Runtime and the underlying way to create a scheduled task. For Example:lets say you are on a virtual network and don't own the box so therefor you can't create a scheduled windows tasks.  He showed us how to do it using the Global ASAX and how to speed up our box by caching a lot of data.  I admire this man.  He has done exactly what I wanted to do with my life.  I went up to him at the end of the session and let him know he was my hero. He built a application that is free to non-profit organizations.  Its called Community Server and after quitting Microsoft he has turned a profit and is continuously working on it day in and day out.  He had an idea and went with it.  That is why he is my hero.  I have plenty of ideas and I am currently running with one of them, but finding the time is the issue. haha.  Thank you Rob for a wonderful job.

Building "Pure" Ajax Applications with ASP.NET Ajax:
Taught by Stephen Walther. This session went into a DEEP DIVE into JavaScript and how it could be made without full page posts backs.  I must say that I did drop out of this session half way through because it was more about politics and why using JavaScript over ASP.NET controls was better than the other.  It didn't take a deep dive into how to functionally use it which is what I would have wanted.  After dipping out I went to ASP.NET search engine optimization tips and tricks by Rob Howard.  This session after enjoying the first of Rob's sessions was also very cool.  I enjoyed understanding how to better suite my online application for the search engine these days.  Thanks again Rob for another wonderful half a session.

Building a LINQ-Based Business layer for ASP.NET application:
Instructed by Rick Strahl.  I must say I am a frequent visitor to Ricks site and the picture on the left hand side doesn't do him justice for the way he looks in person.  Sorry for being blunt, but he is an overall very cool and nice guy.  Sometimes after reading his blog posts, I think he is a bit too smart for his own good and after meeting him in person, I must say he is wicked smart and has a good sense of street smarts. heh.  In this session, he completed a lot of things I didn't know. Background "I have only been programming professionally for a year and a couple of months and he taught me through his code how to really set up an application or multiple applications with one code block." I also must say, because of this mans session, I have started my own framework called the STFramework for SpoiledTechie which builds off of the ASP.NET Framework with my own personal code. heh. He taught us how to set up an application layer, business layer, data layer and a UI layer for starters.  Then he went deep into how fast LINQ was compared to other data selects and I must say, it does become a bit slower, but over all LINQ is an awesome language to deal with.

Extra things I learned:
Bill Gates is genuine and has a good character.  I was talking to Julie Lerman which did an interview with Bill Gates and published it in Code Magazine.  Thank you Julie, and which if you haven't met her, she is a great person.  We chatted for a good 30 minutes all about what I was learning, how ASP.NET was evolving, how much people make on book deals heh, and which she introduced me to a guy up at Microsoft named Stephen Toub who works on Parallel Computing up at Microsoft's R&D labs.  Pretty impressive stuff he is working on and which I will explain more in my next post about DevConnections Day 4.

Google has an Achilles heel.  More to come on this topic in my next blog posts, but it is an interesting topic.

I got to spend an evening with Richard Campbell and Carl Franklin who run the Internet radio show DotNetRocks in which their fun an entertaining interviews of ASP.NET superstars are informative and topic related.  Richard, and Paul Litwin and I talked about various things until Carl and Mark Dunn came stumbling in from a Irish pub.  We had great conversation over Microsoft, good drinks and what are Gets:Sets in the programming language.  I did ask the question of what Gets and Sets are and out of Paul and Mark, I will have to say that Mark answered the question better.  Thanks for the great night guys.  I truly enjoyed your company and hope for many other nights like it in the future. heh. Pictures below. Also, Rob Howard was there for a few minutes, but he stepped up as I sat down because it was getting late of course.

IMAGE_103 IMAGE_102
Sorry about the lighting, Taken with my AT&T Tilt. From Left to Right (Richard Campbell, Me, Paul Litwin, Carl Franklin).

Ahh, before I forget, I won over $300,000 dollars in PLAY money at the craps table tonight! Too bad it didn't win me anything at the raffle the next day.

I can't think of anything else and I hope this was a good read.
kick it on DotNetKicks.com

If you liked this post, please be sure to subscribe to my RSS Feed.

Day 2 at DevConnections 2008

21. April 2008 18:56 by Scott in   //  Tags: , , , ,   //   Comments (10)

The second day at DevConnections was a bit more exciting than the first. On the first day, we had just basic keynote addresses from some pretty popular people.  On the second were a bit more hardcore and real sessions.  I was happy with the sessions I took, but clearly some developers cannot present well.  Before I talk about these sessions, please understand that these are my unique views and no one else's.  I know I will be giving a harsh critic on one presenter.

Sessions Taken:

A Lap around Visual Studio Team System:  Taught by Neelesh Kamkolkar, which is the Senior Project manager for Team System.  This is the only harsh critic I will give in this post and I am sorry for doing so, but in order for Microsoft to give better sessions, they must learn from their mistakes.  Neelesh spoke about the ins and outs of Team System.  He spoke in an extremely general topic which was dissatisfying.  It seemed to me that Neelesh wasn't prepared at all for this session.  Every test or application he tried to run, failed on him and not only did he NOT try to work on the problem and get it fixed so he can show us a working example, but every time he failed; he said okay lets move on to something else because of time.  I was just upset that we didn't see Team System work at all.  This to me was a very poor planned session and I hope Microsoft sees that he is a better manager than a presenter.  I do want to give him the benefit of the doubt seeing that he said he traveled to three different parts of the world in 7 days, but I imagine he can test app's on his laptop while on the plane. Am I correct?  The only true thing he got done was getting advice from one of his friends in the back (probably a developer at Microsoft) to tell him what to do on Team System.  It almost seemed to me that he had less than 20 hours on the actual application.  I would have rather had the person in crowd that was helping him present and fix his mistakes than him up there as the project manager.  Hopefully Microsoft will learn.

LINQ Deep Dives and Best Practices: This session was taught by Colin Meek.  Now let me tell you about an extremely intelligent programmer at such a young age.  This is your man.  He presented LINQ which didn't hold very many best practices actually he used bad practices, but I must say that he forewarned us that this is not a session on best practices.  The idea behind the session was to take about 15 lines of code to query a database and shorten it down to only 2.  Quiet an impressive goal if I may say and what's awesome is that he did it even with parameters for the query.  He started out going into pretty complex stuff which was a bit beyond me having not come from a CS background, but with a CE background.  He demonstrated what they do to get LINQ to actually work and example code of how they create LINQ. He then went on to actually show us a very basic LINQ query which if you used LINQ at all, you would have done these types of queries.  One thing I did take away from the Session if nothing else, was the point he made was the reason why they switched up the "from and select" syntax in LINQ from SQL. He said it was because they can't actually help you with intellisense against the query if they have the "select" first.  If the "from" is first, they can pull the information from the database and have it work with intellisense.  Pretty smart move if I must say so. Overall, I liked it a lot.

Introduction to the New ASP.NET MVC Framework: Taught by the one and only Scott Guthrie which many consider is an icon in to software industry.  From his keynotes, I saw people trying to get pictures with him and saying that he was a big talking point around the office.  As VP of Microsoft and in charge of ASP.NET, Silverlight, WPF, WCF, MVC and a few other off the top of my head, he is the man to talk to if you want a developers prospective.  At the session he discussed the things MVC framework has in store for developers.  He compared it to a "Car v.s. a Motorcycle" and he truly believed in that. Some people like the car and some like the motorcycle. he said, By no way do we need to switch over from webforms.  I saw only 2 truly real advantages over webforms.  MVC currently can be used for that avid testing bed of developers. It also has URL Re-writing built into it.  He said that ASP.NET will be implementing URL re-writing in the coming future so then the only difference will be the fact that it is easier to test in. That's it ladies and gents, that's the gist of it.  I hope you take that to heart, because that is the only difference.  I for one am glad to know that MVC will not be a new type of language I will have to continue in.

SQL Reporting Services: Advanced Report Design: Taught by Jason Carlson (Doesn't have a online profile).   This is one of the best sessions I have been to so far except for the MVC with Scott Guthrie.  I still think I am taking more from this session than any session so far.  Jason took a DEEP dive into Reporting Services and showed us how to create some pretty good looking reports which I am extremely happy with what I have taken back from this session because the reports I currently have on my application smell like a bad woman's perfume.  I could not say thank you more for showing me the light on reporting services.  I wish I could explain the depth we took, but it is too much information to be explained in one short paragraph.  Maybe later.

Things I learned today outside the sessions:

  1. MySpace.com runs completely on ASP.NET and has now for two years - Confirmed by Scott Guthrie after chatting with him for a few minutes, MySpace still has the CFM tags, but they made the switch over to ASP.NET 2 years ago. Scott told me to email him about a case study they did on the MySpace switch over so I did and will post that valuable information on my blog once I get it.  For a Stat, MySpace saw a 500% reduction of server resources when they switched over from ColdFusion to ASP.NET.  I was happy to hear that because its hard to find any facts on ColdFusion v.s. ASP.NET. This stat is comes from Scott Guthrie.
  2. ASP.NET, Silverlight, MVC, XAML and all the new technologies Scott's Team is coming out with are INTERCHANGEABLE! - What does this mean?  I can upgrade to ASP.NET 3.5 and already have a fully fledged application in production and I can add a XAML page developed in Expression Blend, a full Silverlight page and a complete MVC page running all on the same application with ASP.NET 3.5.  This is Impressive!  I can run all the developer technologies and integrate every single one, into one application that is already in production.
  3. http://memorabilia.hardrock.com/ is a MUST visit site for an awesome Silverlight application! - Hard Rock wanted to categorize all their memorabilia they had collected over the years so they brought it all together for a photo shoot using a 500MP Camera!  I ask you to just go check this site out.  When you Zoom in on the pictures, Really Zoom IN and when you zoom out, really zoom OUT. It is extremely impressive with what they did. I hope you enjoy it for I know I did.

Free Stuff:

  1. Everyone received a free copy of Visual Studio Standard.
  2. AT&T had a developer party and people walked away with LCD big screen TVs, AT&T Tilts and shirts along with free beer and food.

I think that's it and I hope I helped you out with what happened today at DEV Connections 2008.

Scott.
kick it on DotNetKicks.com

If you liked this post, please be sure to subscribe to my RSS Feed.

First day of DevConnections 2008

21. April 2008 12:18 by Scott in   //  Tags: , , ,   //   Comments (38)

I thought I would tell you what the first day was like.  I am writing this at 1:30 am (too much fun and just kind of happened with the amount of knowledge obtained tonight).

I arrived around 5:30pm, running a little late doing errands and saying goodbye to my girlfriend before I left.  I arrived at one of the largest and finest hotels I have seen in my life I think.  On the shuttle from the parking garage to the hotel, I was told that this is the biggest Marriott in the world complete with 7 pools and a water slide.

From there, I checked in and got settled for about 10 minutes until I had to go downstairs for the keynote speaker of the night.  A guy named Norman (forget the last name) spoke on Visual Studio Team system.  I listened to these things and it is more like they are trying to sell you something than educate you on things, but they did provide some great examples.  If you can, imagine one company with a few hundred software applications currently in development and production.  Visual Studio Team System can bring together and allow for the Developers, Managers, Customers, Designers, etc access to each and every application that comes out of the company.  So like the project I am working on, I would be developing in Visual Studio and the customer and my boss would login to a web based portal and review the current bugs, changes, updates, check-in's, nightly builds etc and see what I am accomplishing.  At Microsoft, the Team system they are using is greatly expanding month by month and they have well over 11,000 users with over 1,000 software projects being built.  If my boss wanted to look at my project and see how it is coming along, all he would have to do is log into this web portal and review every intricate detail in my application.  He wouldn't log out either, he would stay logged in and visit another application in the company and see how it is coming along at the same time.  And then the customer would log in, and submit a change request.  That means no more time spent on developing an SCC workflow for change request from the customer!  From there, Team system dives into the testing the application.  Team System can record movements with the mouse and key strokes to have a live maintainable test.  This allows for automated tests to be completed with a save.  So let’s say I build a workflow and it runs for 5 years, but then I make a software change. Instead of making a new test, I would run the old test over night and see if it passes or fails.  Team system then has the intelligence to tell you all the tests that failed and succeeded over night.  It also has an amazing bug tracking tool that can only be built on.  (Getting more tired)

From there, Scott Rizzo came up and talked about SharePoint.  I have only used it as a web portal application, but it has the ability to create a web application with very little development time.  It blew my mind that I could be up and running with a intranet site in minutes that could be flexed out to thousands of users.  SharePoint definitely should be looked into by all companies more.  This one has the power and development turnaround time to beat out all the other intranet portals that have been built throughout the years.  I was impressed.

Free stuff:  So like I said, If I win the Harley, I will give it to my boss.  I have kept up my end of the bargain and so after the key notes we had to visit about 50 booths and get a card stamped to enter it for the Harley. Sure was interesting, because it actually made people stop and look at each product which I must say is pretty impressive.  80% of the floor was taken up by SharePoint add-ons and the other spots were taken by asp.net guys that have some awesome controls.

I have about 100 business cards, a free backpack with registration, a few cozies for bottled beverages, a bunch of hand outs, a bobble head that AT&T was giving out (by the way they are throwing a developers party tomorrow night and are pushing big for teaching developers to develop for the AT&T mobile apps), two note taking binders, and I think that is it so far.  Also, I had a chance to win a Wii, but of course I am unlucky.

At the end of the night, a free beer with a ticket and after some pie; I headed over to the computer lab and met a guy named Jason Carlson.  He is speaking about SQL Reporting services which I do fully intend on attending.
So far, I have had a blast and kind of wished there would have been some hard core software guys playing around in the lobby tonight, but I was wrong.  Instead I found a bunch of Microsoft guys to hang out with. (I guess I am somewhat of a farm boy "Fan boy")

Internet is $15.00 a day here also, so Instead I decided to just hook my laptop up to my phone and use its Internet so I don't waste money, therefore I don't think I will be online that much but still will see email on my phone after checking it periodically.  Hope you guys are having as much fun reading as I did type.  Later!

Scott Pio
kick it on DotNetKicks.com

If you liked this post, please be sure to subscribe to my RSS Feed.

Window Panels in Visual Studio 2008 (Dang-it, stop it!)

10. April 2008 23:30 by scott in   //  Tags: , ,   //   Comments (17)

There is a small feature that is just wasting little seconds that add up! I started using Visual Studio 2008 and started to notice it as soon as I started making new projects.

So, what is my problem, well I will tell you. The windows in my Visual Studio keep closing when ‘the pin is not pushed’. Let’s say I want to put a bunch of new controls onto the ‘deck’ from the toolbox. I have to first ‘push the pin’ and then start moving them over to the deck. I can’t just keep the ‘pin un-pushed’ and drag over the items. It should at least stay open for a second or two, and if it gets a user action to grab another item or at least put the mouse inside the window it shouldn’t move away so fast.

clip_image002

I have even tried grabbing really fast when the window closes and I can barely even get my mouse inside the window before it closes. I know it sounds like it was built for the keyboard operator more, but sometimes I get controlling and want to use my mouse.

One more problem with the windows, if you open a CSS file via the Solution Explorer, the window stays open for eternity. I often find my self having to Alt + Tab or open another window before it closes. This is a design flaw that I have had to deal with for a little while.

Dear Scott Guthrie:

Since you have some sway at Microsoft, can you please put this on a future release or even something in the options that you can set? I would love to have the option to either close quickly or close after 2 seconds so it lets the user open multiple items in the window. Please help. How about releasing a quick fix? That would be awesome!

Respectfully a .NET guru.

Scott Pio