Technical
Keyword Counts of Popular Programming Languages
In a previous post, 10 Problems with ‘Hello World”, I made a remark that a ‘Hello World’ program only teaches you on average a single keyword. Without doing any research, I asserted that there are hundreds or thousands or keywords in a given programming language – until someone called me out on it.
What I found couldn’t be further from the truth.
Based on a list of the Most Popular Programming Languages, I researched how many keywords and reserved words each language had. I am certain my counts are not exact and depending on specific implementations and versions of languages – the keyword counts may vary.
Here are my findings in descending keyword/reserved word count:
VB.NET
Keyword/Reserved Word Count: 159
| AddHandler | AddressOf | Alias | And | AndAlso |
| As | Boolean | ByRef | Byte | ByVal |
| Call | Case | Catch | CBool | CByte |
| CChar | CDate | CDbl | CDec | Char |
| CInt | Class | CLng | CObj | Const |
| Continue | CSByte | CShort | CSng | CStr |
| CType | CUInt | CULng | CUShort | Date |
| Decimal | Declare | Default | Delegate | Dim |
| DirectCast | Do | Double | Each | Else |
| ElseIf | End | EndIf | Enum | Erase |
| Error | Event | Exit | False | Finally |
| For (in For…Next) | For Each…Next | Friend | Function | Get |
| GetType | GetXMLNamespace | Global | GoSub | GoTo |
| Handles | If | Implements | Imports | In |
| Inherits | Integer | Interface | Is | IsNot |
| Let | Lib | Like | Long | Loop |
| Me | Mod | Module | MustInherit | MustOverride |
| MyBase | MyClass | Namespace | Narrowing | New |
| Next | Not | Nothing | NotInheritable | NotOverridable |
| Object | Of | On | Operator | Option |
| Optional | Or | OrElse | Out | Overloads |
| Overridable | Overrides | ParamArray | Partial | Private |
| Property | Protected | Public | RaiseEvent | ReadOnly |
| ReDim | REM | RemoveHandler | Resume | Return |
| SByte | Select | Set | Shadows | Shared |
| Short | Single | Static | Step | Stop |
| String | Structure | Sub | SyncLock | Then |
| Throw | To | True | Try | TryCast |
| TypeOf…Is | UInteger | ULong | UShort | Using |
| Variant | Wend | When | While | Widening |
| With | WithEvents | WriteOnly | Xor | #Const |
| #Else | #ElseIf | #End | #If |
Source: http://msdn.microsoft.com/en-us/library/dd409611.aspx
C++
Keyword/Reserved Word Count: 144
registerreinterpret_castreturnsafecastsealed
| __abstract | __alignof | __asm | __assume | __based |
| __box | __cdecl | __declspec | __delegate | __event |
| __except | __fastcall | __finally | __forceinline | __gc |
| __hook | __identifier | __if_exists | __if_not_exists | __inline |
| __int16 | __int32 | __int64 | __int8 | __interface |
| __leave | __m128 | __m128d | __m128i | __m64 |
| __multiple_inheritance | __nogc | __noop | __pin | __property |
| __raise | __sealed | __single_inheritance | __stdcall | __super |
| __thiscall | __try/__except | __try/__finally | __try_cast | __unaligned |
| __unhook | __uuidof | __value | __virtual_inheritance | __w64 |
| __wchar_t | wchar_t | abstract | array | auto |
| bool | break | case | catch | char |
| class | const | const_cast | continue | decltype |
| default | delegate | delete | deprecated | dllexport |
| dllimport | do | double | dynamic_cast | else |
| enum | event | explicit | extern | false |
| finally | float | for | for each, in | friend |
| friend_as | gcnew | generic | goto | if |
| initonly | inline | int | interface | interior_ptr |
| literal | long | mutable | naked | namespace |
| new | noinline | noreturn | nothrow | novtable |
| nullptr | operator | private | property | protected |
| public | ref | selectany | short | signed |
| sizeof | static | static_assert | static_cast | struct |
| switch | template | this | thread | throw |
| true | try | typedef | typeid | typename |
| union | unsigned | using | uuid | value |
| virtual | void | volatile | while |
Source: http://msdn.microsoft.com/en-us/library/2e6a4at9(v=VS.100).aspx
C#
Keyword/Reserved Word Count: 98
| abstract | as | base | bool | break |
| byte | case | catch | char | checked |
| class | const | continue | decimal | default |
| delegate | do | double | else | enum |
| event | explicit | extern | false | finally |
| fixed | float | for | foreach | goto |
| if | implicit | in | int | interface |
| internal | is | lock | long | namespace |
| new | null | object | operator | out |
| override | params | private | protected | public |
| readonly | ref | return | sbyte | sealed |
| short | sizeof | stackalloc | static | string |
| struct | switch | this | throw | true |
| try | typeof | uint | ulong | unchecked |
| unsafe | ushort | using | virtual | void |
| volatile | while | add | alias | ascending |
| descending | dynamic | from | get | global |
| group | into | join | let | orderby |
| partial | remove | select | set | value |
| var | where | yield |
Source: http://msdn.microsoft.com/en-us/library/x53a06bb(v=VS.100).aspx
PHP
Keyword/Reserved Word Count: 56
| abstract | and | array() | as | break |
| case | catch | cfunction | class | clone |
| const | continue | declare | default | do |
| else | elseif | enddeclare | endfor | endforeach |
| endif | endswitch | endwhile | extends | final |
| for | foreach | function | global | goto |
| if | implements | interface | instanceof | namespace |
| new | old_function | or | private | protected |
| public | static | switch | throw | try |
| use | var | while | xor | __CLASS__ |
| __DIR__ | __FILE__ | __LINE__ | __FUNCTION__ | __METHOD__ |
| __NAMESPACE__ |
Source: http://php.net/manual/en/reserved.keywords.php
Java
Keyword/Reserved Word Count: 53
| abstract | continue | for | new | switch |
| assert | default | goto | package | synchronized |
| boolean | do | if | private | this |
| break | double | implements | protected | throw |
| byte | else | import | public | throws |
| case | enum | instanceof | return | transient |
| catch | extends | int | short | try |
| char | final | interface | static | void |
| class | finally | long | strictfp | volatile |
| const | float | native | super | while |
| true | false | null |
Source: http://download.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
Ruby
Keyword/Reserved Word Count: 42
| BEGIN | END | __ENCODING__ | __END__ | __FILE__ |
| __LINE__ | alias | and | begin | break |
| case | class | def | defined? | do |
| else | elsif | end | ensure | false |
| for | if | in | module | next |
| nil | not | or | redo | rescue |
| retry | return | self | super | then |
| true | undef | unless | until | when |
| while | yield |
Source: http://www.ruby-doc.org/docs/keywords/1.9/
Javascript
Keyword/Reserved Word Count: 29
| break | const | continue | delete | do |
| while | export | for | function | if |
| else | import | in | instanceOf | label |
| let | new | return | switch | this |
| throw | try | catch | typeof | var |
| void | while | with | yield |
Source: http://www.aptana.com/reference/html/api/JSKeywords.index.html
Python
Keyword/Reserved Word Count: 29
| and | del | for | is | raise |
| assert | elif | from | lambda | return |
| break | else | global | not | try |
| class | except | if | or | while |
| continue | exec | import | pass | yield |
| def | finally | in |
Source: http://docs.python.org/release/2.3.5/ref/keywords.html
If you find any errors or omissions, please let me know. If there is a particular language I did not include, please share the keyword/reserved word source and I would be happy to add it.
My Experience at Orlando Code Camp 2011
As a follow up to last years post: My Experience at Orlando Code Camp 2010, I thought I would share my experience at Orlando Code Camp 2011.
This year I took away a lot more, compared to last year as I tried expose myself to more variety by focusing on the Showcase sessions and not sessions that were “how to do this with < insert technology here >”.
There was a great variety of tracks this year:
- Showcase
- Fundamentals
- Web
- Azure
- Design and Animation
- Languages
- Patterns
- Services & More
- Collaboration
- Visual Studio & ALM
- Silverlight
- SQL Server
- Windows Phone 7
- DotNetNuke Development
- DotNetNuke Design
- DotNetNuke Administration
I know that Code Camps are Microsoft-centric, but the one thing that continues to bother me (I see it at .NET User Group meetings also), is the Microsoft Fanboy attitude.
Sorry, I do not think that Windows Phone 7 is an “iPhone Killer” nor is it an “Android Killer.” I also refuse to use Bing as my primary search engine – Google works just fine thank you. It was comforting to see some iPads and MacBooks among the attendees.

Orlando Code Camp Keynote
Here is the breakdown of each session I attended:
Session 1
Applied Object-Oriented Design Principles
Presented by: Jay HIll
Jay presented several design patterns that are based on Bob Martin’s SOLID Principles.
Take Away: There are many design patterns that can be used in practice that extend beyond those originally written by the Gang of Four.
- Null Object Pattern – this is the assurance that you will never receive a NULL object, therefore avoiding the dreaded ArgumentNullException.
- Enumeration Classes
- Nested Classes
- Composite Pattern
– a way to extend basic enums and prevent enum growth.
– a reason to use nested classes in your code.
– treating objects as if they are a single instance.
Links
Session 2
Decoupled UI
Presented by: Page Horton
Page demonstrated an application that completely separates the UI from Business Logic.
Take Away
- Decoupled UI allows for better testability of your application.
- Use JSON for messaging vs. XML Web Services
- Utilize Adapter Pattern for creating applications that run on multiple platforms (e.g. iOS, Android)
- Use MVVM Pattern
- Use Managed Extensibility Framework (MEF)
Links
Session 3
Visual Studio 2010 Tips and Tricks
Presented by: Sean Laberee
Sean demonstrated several new features and shortcuts available in Visual Studio 2010.
Take Away: The Extension Manager can be used to install additional functionality into Visual Studio 2010. Including:
- Start Page Project Template
- Productivity Power Tools
- Visual Studio Color Theme Editor
Session 4
Intro to MVC 3
Presented by: Ken Tucker
Ken demonstrated creating a MVC website that went a little bit beyond the MVC Tutorials at ASP.NET.
Take Away: MVC 3 can be added to Visual Studio 2010 by installing the Microsoft Web Platform Installer 3.0.
Links:
Session 5
Design for Developers: Bad Design Kills Good Projects
Presented by: Diane Leeper
Diane demonstrated six things that can decide the fate of your web project.
Take Away: Developers are typically not known for their design capabilities (see 10 Resources for Design-Challenged Programmers), so it was a wake-up call to hear things from a designers standpoint.
Links
- dianeleeper.com
- Designing Web Interfaces: Principles and Patterns for Rich Interactions
- MyFonts
- COLOURlovers
- Adobe kuler
- ColoRotate
Session 6
Meet the Visual Studio Team!
Presented by:
- Adrian “Spotty” Bowles – Compilers QA
- Prakash Balasubramanian – Compilers QA
- Sayed Ibrahim Hashimi – VS Web PM
- Kevin Halverson – Compilers QA (VB/C#)
- Sean Laberee – Editor/VB/C# IDE PM

The Visual Studio Team answered audience questions:
Question: What does a Program Manager do?
Answer: A Program Manager is the “voice of the customer” who tries to understand what the end-users want.
Question: When is the next version of Visual Studio due out?
Answer: The typical version lifecycle for Visual Studio is 18 months.
Question: How is Microsoft moving towards combining the functionalities of Expression Blend and Visual Studio?
Answer: They are looking to make Expression Blend more developer friendly and Visual Studio more designer friendly.
Question: Where can I report issues or make suggestions?
Answer: Microsoft Connect
Question: Are there plans to include Silverlight or XNA updates in Web Platform Installer?
Answer: No, Silverlight and XNA have a different product lifecycle than Visual Studio.
Question: Why is Visual Studio 2010 so slow?
Answer: The Visual Studio team is currently looking at ways in to improve memory management. Other factors could be:
- Running VS 2010 in Windows XP – doesn’t support video hardware acceleration
- Installation of multiple extensions
- Windows Forms Designer is known to leak memory on rebuilds
Question: Will future versions of Visual Studio support Design view of MVC projects similar to Web Forms?
Answer: The Visual Studio team is currently looking at ways to display a view in design mode.
Question: Will Visual Studio be offered in the cloud – similar to Office 360?
Answer: See Try F# from Microsoft Research.
Question: Will the next version of Visual Studio include the Ribbon?
Answer: Not in the short-term. The next release will have more simplified menus. Future releases will have a variation of the ribbon, but won’t be identical to the one found in MS Office.
Question: What can I do to prevent repositioning of windows after compiling?
Answer: Visual Studio 2010 supports multi-monitor support. Also the window positions will vary in Design Mode vs Debug Mode.
Overall, it was a great experience to expose myself to different approaches and ways of thinking that are presented in a classroom setting rather than a book or a blog.
If you have the opportunity to check out a Code Camp near you, I highly recommend it.
10 Websites On How To Be A Better Programmer
We all want to be better at the things that we do. Why? Perhaps it will lead to less work, less stress, a sense of pride or more money.
Whatever your motivation for improving your skills – the point is that your skills are not static; however, there are different ways that you can approach improving them.
Below are 10 websites that I have found (both old and new) that offer suggestions on how programmers can improve their programming skills.
In no particular order:
1. 8 ways to be a better programmer in 6 minutes
SecretGeek takes you through modifying your development environment and utilizing tools to improve your coding. Most of these tasks can be done in 6 minutes if you are familiar with your IDE or coding environment.
2. How To Become a Better Programmer by Not Programming
Jeff Atwood reflects on interviews he read about with Bill Gates. Bill says that you cannot improve your programming skills only by programming, you must become familiar with your surroundings and work environment.
3. Being A Better Programmer
Written almost 10 years ago, Danny Burbol mentions 10 ways that you can improve – many of which can be applied to life: know your limits, fix it, don’t hack it, don’t get personal, etc.
There is also a nice summary of his points at the bottom of the page.
4. 5 sure-fire ways to become better at programming
This site focuses on programmer passion and interest; and attempts to look at the role of a programmer as similar to a mason.
This could be alternatively titled, “5 sure-fire ways to know if programming is right for you.”
5. 4 ways to become a better programmer
This site takes a simplistic approach to becoming a better programmer. I don’t want to give away the 4 ways, but these could easily be applied to becoming better in any profession.
6. Becoming a better programmer takes exercise
This site focuses on the why of programming. We might know how conceptually a sorting routine works, but you never truly understand it until you attempt to implement it.
I always say don’t wonder how things work, do some research to know how things work.
7. 12 Tips That Will Make You a Better Programmer
Spyros Panagiotopoulos points out 12 areas of which programmers should be familiar (e.g. Version Control, Commenting, etc.)
I feel more often than not programmers know they should do certain things, but just skip to coding for the sake of time.
8. 5 Good Habits That Will Make You a Better Coder
Matt Ward approaches becoming a better code from the perspective of a web developer. The obvious way to get better at something is to read about it and practice.
I find his approach to writing logic through comments intriguing. I agree that writing pseudocode beforehand definitely makes coding easy.
9. Better Programming By Programming Better
Phil Haack picks up where Jeff Atwood left off in How To Become a Better Programmer by Not Programming.
Comparing programming to a sport, becoming a better programmer doesn’t lie in the experience that one has but the effort he/she puts in to identify weaknesses in your current skills.
10. The Joel Test: 12 Steps to Better Code
In another post from over 10 years ago, Joel Spolsky notes that there are things that all programmers should practice if one is to produce quality code.
The 12 steps are actually questions that you can ask yourself to gauge the quality of your software development environment.
I think we can all become better programmers, but we need to start with wanting to become a better programmer – and that involves putting forth the effort to improve.
10 Resources for Design-Challenged Programmers
When it comes to design, why do programmers tend to have difficulty in creating a simple and user-friendly user interface?
Perhaps because programmers are traditionally left-brained and more focused on logic, analytics, objectivity, etc. This type of thinking is encouraged in academics.
Designers are right-brained and focus on being intuitive, creative and subjective. This is the best kind of thinking when designing a user interface (UI) or user experience (UX).
Just because you tend to be a left-brained thinker, you cannot also have some qualities of a right-brained thinker. People typically resist change or want to break out of their comfort zone. If you are a programmer who wants to start to becoming more creative and a better designer, here is a list of 10 resources (web sites and books) to identify your current design faults and break you out of your comfort zone:
1. The 7 Signs Your UI was Created by a Programmer
2. 8 Things Programmers Should Know About UI Design
3. Don’t Design Like a Programmer
4. This Is What Happens When You Let Developers Create UI
5. Web Design for Programmers (via peachpit.com)
6. 8 Web Design Mistakes That Developers Make
7. Why Programmers Suck at CSS Design
8. User Interface Design for Programmers by Joel Spolsky
9. The Non-Designer’s Design Book by Robin Williams
10. Web Design for Developers: A Programmer’s Guide to Design Tools and Techniques by Brian P. Hogan
Did you identify any design mistakes that you currently make as a programmer?
What are the next steps that you will take to move from left-brained to right-brained (or vice versa)?
Are there any other websites or books that you think should be included in this list?
How To View Inception Through Code
If you have not seen Inception yet, I highly recommend doing so before reading this post.

Inception combines the best elements of movies in the Simulism genre; such as Dark City, eXistenZ, The Thirteenth Floor and The Maxtrix Trilogy; and creates an original, thought provoking film.
Watching the film from the standpoint of a programmer, I could not help seeing the similarities between the plot devices and basic programming concepts.
The Kick
The Kick is the concept they use in the movie to return to a dream level above the existing one. For example, if you perceive that you are falling in a dream, you have a tendency to wake up.
The Kick can be portrayed in programming in several different ways:
Recursion
{
kick = CheckForKick();
if(kick) return true;
return Dream();
}
* CheckForKick() implementation has been omitted.
In this recursion example, each call to function Dream() will call another sub-Dream – until the CheckForKick() function returns true, which can occur however many levels deep.
Exception Bubble
{
try
{
try
{
try
{
throw new DreamException("Receive Kick");
}
catch(DreamException dx)
{
throw dx;
}
}
catch(DreamException dx)
{
throw dx;
}
}
catch(DreamException dx)
{
// Handle Kick thrown 3 levels deep.
Console.WriteLine(dx.Message);
}
}
In this Exception example, an exception is thrown within a nested try block. Rather than handling the exception at that level, it’s bubbled up until is (hopefully) handled gracefully.
Stack
This can best be represented by the following infographic, which I reconstructed to be a stack. Here is the original source.
A stack is one of the most fundamental data structures in computing. A stack operates in the following: items are added in a Last-In, First-Out (LIFO) manner. They are added via being “Pushed” onto the stack and removed via being “popped” from the Stack.
In the movie, each sub-dream is pushed onto the stack starting with reality. Our characters cannot return to a different dream level by popping the dream above off the stack.
Sedation
They use Sedation in the movie to prevent the dreamers from waking up any means other than “falling” on all dream levels above the first. At the first dream level, the only way to wake up is for the machine’s time to elapse.
Sedation in the movie can be explained through the use of Threading.
Threading
{
Machine mach = new Machine();
Sedation sed = new Sedation();
Thread machineThread = new Thread(new ThreadStart(mach.Start());
Thread sedationThread = new Thread(new ThreadStart(sed.Sedate());
try
{
sedationThread.Start();
machineThread.Start();
sedationThread.Join();
machineThread.Join();
ReturnToReality();
}
catch(Exception ex)
{
// Limbo ???
}
}
* Machine implementation omitted. Sedation implementation below.
In this example, you can think of the sedation and starting the “dream machine” as being two separate threads – both induce unconsciousness, but in different ways.
The sedation occurs first as indicated by the sedationThread.Start(), followed by the machine start machineThread.Start(). The Sedation.Sedate() implementation may look like the following:
{
Thread.Sleep(36000000); // 10 Hours
}
By calling join on the threads, the ReturnToReality() function will not get called until both the sedation wears off or the machine time elapses.
Limbo
Limbo is defined in the movie has a mental state where your mind doesn’t know if you are in reality or not. The only way out is to realize that Limbo is not reality.
I already hinted at how Limbo could be represented in code in the previous example – if there is an exception (i.e. death) during the running of the threads that does not allow them to complete. Also, Limbo could also be represented by the following:
Infinite Loop or Infinite Recursion
{
CreateBuildings();
CreateFromMemories();
QuestionReality();
}
Most of the time that we are programming and find ourselves in an infinite loop, we are not aware of it until we start to question:
- Why is this taking so long?
- Why is my memory decreasing?
- Why is my CPU pegged at 100%
Fortunately in programming there are ways to identify that we are in an infinite loop state.
If you are not aware of these conditions, you will stay there until your program runs out of memory or crashes (dies) or you realize you are in a loop (meet a condition) – by calling the QuestionReality() function.
Architect

The last item I will mention is the role of Architect. In the movie, Ariadne (Ellen Page) is responsible for creating the dreamscapes. This shares similarities with Software Architecture. As a software architect you responsible for knowing the systems (the main characters in movie) that you work with and to create the best solutions (e.g. Never Ending Staircase) to new problems that need to be solved (Inception). Being able to see the world around you as objects with state and behavior is a useful skill for both understanding Object Oriented Design/Programming; and as a Software Architect.
I was surprised how many people shared similar thoughts with comparing the movie with programming. If you enjoyed my post, please read their perspectives:
ASP.NET – Access To Path is Denied
If your ASP.NET program is attempting to read, write and/or delete a fie it can display the error “Access to Path … is Denied”. If this is the case, the directory may have the incorrect security settings.
Here are the steps to add the correct the user security settings on Windows Server 2003:
1. Find the folder or file that you are trying to access.
2. Right-click the folder
3. Select Properties
4. Click the Security tab
5. Click the Add button
6. Enter the user: <SERVERNAME>\IIS_WPG
7. Click Check Names button
8. Click OK button
9. Verify user has correct permissions (Read/Write)
10. Click OK button
Other Windows operating systems (XP, Vista, 7) may require the user: <SERVERNAME>\ASPNET to be added.
SharePoint 2010 Development Resources
Implementing SharePoint 2010 is an idea that is being thrown around at my place of employment right now. As a developer, there seems to be some significant differences between WSS 3.0/MOSS 2007 and SharePoint 2010 (SharePoint 2010 Sandbox Environment) and I wanted to make sure that my skills were updated for the latest release of SharePoint.
For everyone who is already developing or those who will start, I put together this list of resources that are available.
Videos
There are a few hands-on videos if you are a visual learner.
- Microsoft Patterns and Practices – Developing Applications for SharePoint 2010
- MSDN – Get Started Developing on SharePoint 2010
Books
If you prefer to learn from a book, there are many more resources available for SharePoint 2010 than there were previously for WSS 3.0 or MOSS 2007.
Pro SharePoint 2010 Solution Development: Combining .NET, SharePoint, and Office
Ed Hild and Chad Wach
SharePoint 2010 as a Development Platform
Joerg Krause, Martin Daring, Christian Langhirt, Bernd Pehlke, Alexander Sterff
SharePoint 2010 Development with Visual Studio 2010
Eric Carter, Boris Scholl, Peter Jausovec
Beginning SharePoint 2010 Development
Steve Fox
Professional SharePoint 2010 Development
Tom Rizzo, Reza Alirezaei, Jeff Fried, Paul Swider, Scot Hillier, Kenneth Schaefer
1My 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





















