My Experience at Orlando Code Camp 2010

This post is long overdue but I thought I would share my experiences with attending my first code camp: Orlando Code Camp 2010.

Code Camp is something that always interested me, I thought it would be cool to experience some of the bleeding-edge technology and also receive some “free” training in the process.

If you are not aware of what a Code Camp is, it is an event where developers volunteer their time to present on several different topics – typically related to Microsoft products and technology and is sponsored by local technology companies.

Here is a breakdown of each session I attended:

Session 1

What to Know About WF 4.0

Presented by: Bayer White

I have just introduced myself to Windows Workflow Foundation (WF) since I have been teaching myself Windows SharePoint Services – so I thought I would get some exposure to what’s new in WF 4.0.

Take Away: WF 4.0 is significantly different from it’s predecessors, but there are some features that make it more productive: activities. A lot of the information was a bit over my head for being a novice at WF; however, once I get a good understanding of WF 3.0, I will migrate my skills to WF 4.0.

Links:
www.humanworkflow.net
www.flowfocus.com


Session 2

Building a Data Warehouse Using Sql Server 2008

Presented by Wes Dumey

The topic of Building a Data Warehouse is not new to me. I have taken graduate-level classes on the subject and actually built a Data Warehouse for a hospital as a team project – back in the days of Sql Server 2000. However, since taking this class, I have not had much exposure to the topic and the tools from Microsoft have changed significantly.

In the week previous to Orlando Code Camp I had attended several webinars by Pragmatic Works on Business Intelligence, so a lot of the information was review.

Take Away: Wes shared some ‘best practices’ that his firm adopted, such as storing the extracts after each step of the ETL process to verify the data.

Links:
Durable Impact Consulting
www.dayofdata.com


Session 3

Developing OLAP Solutions with SASS 2008

Presented by: Adam Jorgensen

One of the webinar sessions I missed with Pragmatic Works, was this very same presentation with Adam. So it was a treat to see Adam present this in person and demo the BI tools in Sql Server 2008.

Take Away: Since I have not used Sql Server 2008 BI Tools or even Sql Server 2005 BI Tools for that matter, I think there was an assumption that the audience had prior exposure. Adam frequently referred to the differences between 2005 and 2008 and also shared his pet peeve of naming dimensions with underscores.

Links:
Pragmatic Works


Session 4

Getting Started with WPF

Presented by: Shervin Shakibi

I haven’t had much exposure to WPF, so I thought I would check out this session for beginners. The presenter Shervin Shakibi is very comical and made the session pretty enjoyable.

Take Away:
From what I understand about WPF, is that it add additional functionality to creating Windows Forms and is primarily driven by XAML. It is possible to create web apps using WPF, but Shervin suggested to use Silverlight for that purpose.

Links:
www.computerways.com


Session 5

Silverlight Viewer for Reporting Services

Presented by: Jeremy Groves

This had to be the most unproductive session that I attended. It seemed as if the presenter was there against his will – the session only lasted about 10 minutes.

Take Away:
Silverlight Viewer for Reporting Services is actually a product by Perpetuumsoft and this session was nothing more than a marketing presentation to buy their product.

Links:
www.perpetuumsoft.com


Session 5.5

Stream It! Live + HD + Silverlight

Presented by Kevin Rohling

Since I had some time to kill, I went to this session since it was the location for Session 6.

Take Away:
Kevin Rohling made note of a video (that I had never heard of before) that is available in the public domain: Big Buck Bunny.

Links:
www.perpetuumsoft.com


Session 6

Dissecting a Real-World Silverlight 4 Application

David Silverlight

I really wanted to see Silverlight development in action and I was provided this opportunity in David Silverlight’s session.

Note: I have to admit I once thought that Silverlight was named after him.

Take Away:
David presented a User Group Website Starter Kit software package that was developed using Silverlight, and is available to download via CodePlex.

Links:
Silverlight User Group Website Starter Kit
www.perpetuumsoft.com


Overall, I was exposed to a lot of new technology at Orlando Code Camp. I look forward to attending Tampa Code Camp later this year.

More Blogs about Orlando Code Camp:

2
How to Network in the Information Age

How to Network in the Information Age

Have you networked with individuals at a conference or some other event (e.g. Code Camp, User Group, etc.)?

If you have, were you able to follow up the people that you met?

The means of following up with a network contact have changed. You can start networking in the information age by using many of the tools that you probably already use today.

Constants

The process and purpose of networking has remained pretty much the same over time.

1. We attend venues for conferences, training or seminars.
2. We use our social skills to speak with and interact with others at these venues.
3. We hope we can use our new networking contact for a new job reference, professional reference or friendship.

What has changed in networking – is the way that we follow up with our contacts.

The Old Way (Dark Age Networking)

Before the information age how did people follow up with their networking contacts? Most likely, it was done by snail-mail, e-mail or telephone.

Let me put into perspective how effective these means of follow up are. Say you receive one business card for every business card that you hand out. Unless, you have either a unique business card or an unforgettable personality – people are going to have a difficult time remembering you based on your name.

I suppose you could but your picture on your business card, but that is something that is probably best left to real estate agents.

The New Way (Information Age Networking)

In the information age, you will still give out business cards, but the contents of those business cards will be “links” to your contact information. The information on your business card is a way for your contacts to remember who you are without having to make an impression based on personality.

Contact Information Tools

There are many tools that you can use for your contact information. I recommend at least these three:

1. LinkedIn

Posting a link to your LinkedIn profile is probably the best tool that you can provide to your networking contacts. Especially if you are looking for a new job or to validate your background. LinkedIn provides the following:

  • Allows contacts to see your professional job history and projects
  • Allows contacts to see any recommendations you’ve given or received
  • Allows contacts to see a profile picture to put a face with a name

2. Facebook

Facebook can be used for the right reasons and the wrong reasons. If you currently use Facebook for the wrong reasons (e.g. posting drunk pictures, complaining about work, etc.) – I suggest that you don’t use Facebook as a networking tool.

However, Facebook can be used for the right reasons – to provide an insight into your personal life.

By sharing the following on Facebook, a networking contact may find out more about you on on a personal level:

  • Interests
  • Hobbies
  • Events in your life

I would also suggest using Facebook’s privacy settings, in case someone else posts a picture or writes something inappropriate to you.

3. Twitter

Most new users of Twitter don’t see the value of it. What Twitter can provide is a way to share daily information with your followers both professionally and personally.

Nobody wants to follow someone who posts mundane posts that add little value (e.g. “Just woke up”, “Eating breakfast”, “Showering”). Instead, use Twitter as follows:

  • Posting insights on life
  • Posting links to interesting articles or web sites
  • Conversing with others on a particular subject

All of these tools allow for continuous networking beyond the initial connection.

How to Get Started?

1. Create a profile on each one of these networks.

2. Create two sets of business cards

  • Sales Business Card – These will be the typical business cards with name, email, and phone number
  • Networking Business Card – This will only contain your name and links to your profiles (LinkedIn, Facebook, Twitter)

3. Start attending events and networking!

* Picture courtesy of Joe Pemberton

0

The Presentation Secrets of Steve Jobs: Video Reference

I just finished reading The Presentation Secrets of Steve Jobs: How to Be Insanely Great in Front of Any Audience by Carmine Gallo – this book is ideal for anyone who regularly delivers presentations, speaks for a living or wants to become a better speaker.

The Book

The book was filled with tips to help you develop and enhance your public speaking skills. Carmine Gallo effectively points out the techniques used by Steve Jobs that make his presentations both entertaining and effective.

The Presentation Secrets of Steve Jobs

How To Be Insanely Great in Front of Any Audience

Carmine Gallo

The Videos

Gallo references several notable speeches and presentations by Steve Jobs to illustrate his points. While Gallo does provide links to the videos in the book’s reference – I thought it would be helpful to provide direct links to the videos.

2

Miscellaneous Steve Jobs’ Presentations

Computers Are Like Bicycles for Our Minds

0

How to Get Started with Windows SharePoint Application Development

I’ve made it a goal to become certified in Windows SharePoint Services 3.0 – Application Development by the end of the month.

MCTS Exam 70-541

The Setup

I am fortunate to have access to Microsoft DreamSpark, which provides students access to full versions of the latest Microsoft development tools. I believe the only requirement is that you have an active student email address.

To setup my environment, I installed the following:

Learning

My primary source of learning will be reading the following book (available via Amazon.com and through ACM subscription:

Inside Microsoft Windows SharePoint Services 3.0

Ted Pattison and Daniel Larson

The book also contains a companion CD with examples.

1

Steve Jobs’ WWDC Keynote Speeches

This is a collection of Steve Jobs’ Keynote speeches from WWDC (Apple Worldwide Developers Conference).

The WWDC keynote for 2009 was delivered by Apple’s SVP of Product Marketing Philip Schiller.

Again, be warned – some of these videos are poor quality. Please feel free to share any higher quality videos or links if you have them.

WWDC 2008

Major Introductions

  • iPhone SDK
  • App Store
  • MobileMe

Quicktime (via apple.com)


WWDC 2007

Major Introductions

  • OS X Leopard
  • iPhone Web App Development

Quicktime (via apple.com)


WWDC 2006

Major Introductions

  • MacPro
  • XServe
  • Leopard Features

Quicktime (via apple.com)

1

Steve Jobs’ Macworld Keynote Speeches

This is a collection of Steve Jobs’ Keynote speeches over the years. I know some of these videos are in poor quality. If you happen to know of a better quality video and would like to share, please do so.

2009 was the last year that Apple would participate in the Macworld Expo. The keynote for 2009 was delivered by Apple’s SVP of Product Marketing Philip Schiller.

Macworld San Francisco 2008

Major Introductions

  • Macbook Air
  • Time Capsule
  • iPhone/iPod Touch SDK

Quicktime (via apple.com)

Download (via iTunes)


Macworld San Francisco 2007

Major Introductions

  • iPhone
  • Apple TV

Quicktime (via apple.com)

Download (via iTunes)


Macworld San Francisco 2006

Major Introductions

  • Intel-based Macs

Quicktime (via apple.com)

4

How To Master a Programming Language V

For my final post of the series How to Master a Programming Language, I want to make note how you can take the programming knowledge that you have gained so far and apply it to something bigger.

Learn a Framework

Now that you have worked through the language and applied it to solving problems, how do you go about solving bigger problems or accomplishing large project? Answer: Use a framework.

If you are unfamiliar with frameworks, they allow you extend the API of your language beyond the base software library. All frameworks are not created equal, a given language may have several frameworks available – each one used for solving a different problem.

Java

C#/VB.NET

PHP

Ruby

Python


Start a Project For Yourself

You will only start to appreciate a programming language and its framework when you start working with it to create something of value.

If you already have an idea in mind – great! Run with this idea and start using the tools that you have learned.

If you are stuck trying to figure out a potential project – talk to people. People always speak of ideas, but few people actually follow up. Identify phrases such as “I wish there was…”:

  • “… a website that would do this…”
  • “… an easier way of doing this…”

Still stuck? Here is a list of resources to help you in the right direction:

I am always looking for suggestions from my readers. If there are any frameworks or programming project websites that I should add, please feel free to share.

2

How To Master a Programming Language IV

At this point you should competent in the programming language that you have chosen (Part III) — you should be able to recognize basic code constructs (such as types, loops, and variable assignment). You should also be able to recognize syntax and semantic errors in your code and be able to debug them.

The next step to mastering a programming language involves “flexing your code muscle.” What I mean by that is to start using the knowledge you have acquired through reading books and tutorials and apply it to solve problems.

Flexing Your Code Muscle

Basic Exercises

I came across a website a while ago that lists 15 Exercises for Learning a new Programming Language by Prashant N Mhatre.

The purpose of these exercises is to learn how to perform basic mathematical and commonly used code procedures in your language of choice.

Topics Covered by 15 Exercises

  • Program Interruption
  • Mathematical Problem Solving
  • Sorting a list
  • If Statements
  • Loop Mechanisms
  • Exception Handling
  • Input and Output
  • File Operations
  • Date Operations
  • String Searching and Replacement
  • Inserting into List
  • Language specific operations

Most of these topics can be applied to mostly any 4th generation programming language.

Problem Solving

I have previously listed several websites with programming puzzles to allow practice your skills: Get Hired By Solving Programming Puzzles.

Out of all the sites with programming puzzles, I would have to recommend Project Euler.

There are over 270 problems (as of 1/15/2009) with new problems being added every month. The problems found on Project Euler are geared towards students and are not meant to be too extensive. The problems can be solved using any programming language.

Setup an account with Project Euler and start solving problems. If you are finding the problems too difficult, Project Euler has the option to sort the problems in ascending difficulty.

If you continue to have difficulty, read about the mathematical concept you are solving for (e.g. Fibonacci, Greatest Common Divisor, etc.) on a site like wikipedia and think about how you would solve the problem without a computer. Then think about how you would apply that technique using a programming language.

Practice, Practice, Practice

“Practice isn’t the thing you do once you’re good. It’s the thing you do that makes you good.” – Malcolm Gladwell

This post is all about practice, which is also the mantra of this blog. If you want to become a master at programming, this is one step that you cannot leave out.

How do you practice using your programming skills?

1

How To Master a Programming Language III

Now that you are comfortable working within your desired editor or IDE (Part II) – you can start to focus on learning the programming language syntax.

To learn a programming language you can read a variety of different books or read through online tutorials and how-to’s. Since everyone approaches learning differently, I will leave the decision up to you.

Programming Books

If you learn best by reading a book, I suggest choosing a tutorial book that walks you through learning the language rather than a reference book (at first).

A tutorial books is the better choice because it can be read cover-to-cover and it encourages the reader to work through problems, examples and case studies.

I am a big fan of the Deitel & Deitel books for this reason.

C++ How to Program

Paul J. Deitel and Harvey M. Deitel

Visual C# 2008 How to Program

Paul J. Deitel

Java How to Program

Paul J. Deitel and Harvey M. Deitel

I’ve also mentioned before that I am also recommend the Head First series of books because they teach programming concepts in a practical way without technical jargon.

Head First HTML with CSS & XHTML

Elisabeth Freeman and Eric Freeman

Head First PHP & MySQL

Lynn Beighley and Michael Morrison

You can also find free e-books (in pdf format) that teach programming languages. I recommend How to Think Like a Computer Scientist by Allen B. Downey for learning the Python language.

Programming Tutorials and How-To’s

If you learn better by online tutorial or if you want to supplement your books – there are many websites that offer programming language tutorials.

Again, I recommend finding an online tutorial that walks you through learning the syntax of the language.

List of Tutorials

A Grasp of the Language

After you have read through a book or tutorial, you should have a good grasp of the language syntax – but you are far from being a master of the language at this point.

Keep in mind that you don’t need to memorize every little detail about the language, but you should be familiar. You should know how to reference the language API, a useful reference is gotAPI.com which has a comprehensive listing of many programming languages.

If you know of any good tutorial websites or books, please share in the comments.

4