Archive

Archive for the ‘Development’ Category

Wizards of Smart Podcast

June 6, 2010 Rhonda 2 comments

wizardsOfSmart

There is a new podcast in town that I have started listening to. It is called the Wizards of Smart and is hosted by Jonathan Birkholz (@rookieone) and Ryan Riley (@panesofglass) and has kind of a “Stackoverflow-ish” format in which they banter back and forth on a range of topics.

I believe it is a great resource whether you are learning application development or trying to keep up with the ever-changing field. Check it out.

^..^

Method Overloading

November 27, 2009 Rhonda 3 comments

Polymorphism is one of the main characteristics of Object Oriented Programming (OOP). Put simply, it allows an object to behave in various ways depending on the manner in which it is used. For example, you could have a method execute differently based on the type and/or number of parameters passed to it. Method Overloading is what makes this example possible.  To accomplish Method Overloading, a developer can define two or more methods with the same name. Each method will take a different set of parameters.  The parameter combination or signature, is what the compiler uses to determine which method to use.

image

Good examples of Method Overloading in the .NET Framework include (but are not limited to) the Console.WriteLine() and Substring() methods.  You can pass different types to the Console.WriteLine() method and it will work because there are variations of the methods that will accept the different types.

image

C# Program

using System;
namespace MethodOverloading
{
  class Program
  {
     static void Main(string[] args)
     {
         MethodOverloadPlay(10, 3);
         Console.WriteLine("+++++");
         MethodOverloadPlay(5, 5, 6);
         Console.WriteLine("+++++");
         MethodOverloadPlay("SP");
         Console.ReadLine();
     }

     static void MethodOverloadPlay(int number1, int number2)
     {
         int result = number1 + number2;
         Console.WriteLine(result);
     }

     static void MethodOverloadPlay(int number1, int number2, int number3)
     {
         int result = number1 + number2 + number3;
         Console.WriteLine(result);
     }

     static void MethodOverloadPlay(string string1)
     {
         Console.WriteLine("Breaking Benjamin & Sick Puppies Rock!");
     }
  }
}

C# Listing on GitHub 

Result

method-overloading_result

The main advantage of Method Overloading is code readability. Programming languages that do not allow Method Overloading require the developer to create totally separate methods for each variation of the input.  Blackwasp Consulting states the following example: in the ANSI C programming language to truncate a value you would use trunc, truncf or truncl according to the data type being rounded.  In C#, method overloading allows you to always call Math.Truncate.

Additional Information

^..^

Categories: .NET General, C#, Development

Stack Overflow Family of Sites

October 15, 2009 Rhonda Leave a comment

Jeff Atwood and Joel Spolsky formed Stack Overflow a while back. If you are a developer and have not been living under a rock :-) then you have most likely heard of it. I did not realize until fairly recently that there is now a “family” of Stack Overflow style web sites.

so sf su mso

I have found Stack Overflow invaluable as a developer and am anxious to dig into the other sites and see what they have to offer.

Until next time…

HDNUG – October/09 Meeting – Recap

October 9, 2009 Rhonda Leave a comment

I attended the Houston .NET User Group October ’09 meeting last night. There was a good turnout of about 75-85 people in attendance.

 hdnuglogo    

Announcements -

  • Next month Zain Naboulsi will be presenting on Windows 7 for developers
  • There is an upcoming ASP.NET User Group that will likely be on the 4th Tuesday of each month – no dates set yet

Main topic -

photo

Claudio Lassala gave a great talk titled Be a Professional Developer and Write Clean Code. Below are some of the points covered.

  • What is clean code? Elegant and efficient, can be read and enhanced, simple and direct, etc…
  • Computers do not care what your code looks like
  • Name variables so that you don’t need comments

          Instead of –

     //Setting employee’s first name
     string field1 = “Rhonda”
;

          Use this –

     string employeeFirstName = “Rhonda”;

  • If you have source control, there is no reason to keep code commented
  • NDepend – a good tool that provides metrics for your code
  • Functions should do one thing and do it well
  • Vertical Distance – Declare variables close to where they are used. There is no need to declare all variables at the top of the program.

Presentation Materials for Be a Professional Developer and Write Clean Code

There were a lot more great points, but I had to leave before Claudio was finished. He did a great job of explaining how bad code should be rewritten.

hdnug

Looking for a user group meeting to attend? Check out my Houston Tech Groups and Events page.

Until next time…

^..^

Houston TechFest 2009 – Recap

October 3, 2009 Rhonda Leave a comment

techfest1

I attended the Houston TechFest last weekend and I have to say it was a great turnout. According to the web site there were 858 people in attendance. There were 14 tracks containing 70+ sessions.

techfest2 techfest3

Below are the sessions that I attended and some notes I took along the way.

What’s New In Silverlight 3.0

silverlight

Presenter: Todd Anglin
This presentation gave a great high-level explanation of Silverlight 3.0 and Rich Internet Applications.

Silverlight is not (nor will be anytime soon) available for the iPhone. Apple does not allow this type of plugin.

High Points of Silverlight 3.0

  • GPU Acceleration
  • Out of Browser (Fit Client)
  • Search Engine Optimization (SEO)
  • Assembly Caching
  • Validation Templates
  • SaveFileDialog
  • Cached Composition
  • Network Monitoring
  • 3-D Support

What’s New in Silverlight 3.0 – Slides and Demo Code

Introduction to iPhone Development

apple-iphone

Presenter: Ben Scheirman
This presentation covered the requirements for developing on the iPhone as well as some syntax and frameworks.

Requirements

  • A Mac
  • X-Code (free)
  • iPhone SDK (free – limited to simulator)
  • iPhone Developer Program ($99)

Language – Objective C
Based on C, Dynamic, Object Oriented, Powerful

Ben provided a great primer on Objective C. I have to say, it is quite different from any syntax I have ever encountered.

[photo setCaption : @"Day at the beach."];
NSString* caption = [photo caption];

Some of the topics touched on in the primer

  • Multi-Input
  • Accessors
  • Memory Management
  • Header Files
  • Implementation Files
  • Categories (like extension methods)
  • Key Value Coding (like reflection)

Frameworks and Libs

  • Cocoa Touch
  • AddressBook
  • Camera
  • Accelerometer – Tilt/Gravity
  • Magnetometer – Direction
  • MapKit – Embedded maps
  • CoreLocation – GPS
  • CoreGraphics – High level graphics
  • CoreAnimations – High level animations
  • OpenGL ES – 3D graphics

Introduction to iPhone Development – Slides and Demo Code

Evolve Your Code Using Extension Methods, Fluent Interfaces and Expressions

dotnet

Presenter: Jonathan Birkholz
This presentation thoroughly covered the topics of Extension Methods, Lambda Expressions and Fluent Interfaces.

Points explored

  • Extension Methods – Methods added to existing types. They are static methods, but called as if they were instance methods.
  • Lambda Expressions – Anonymous functions that can contain expressions and statements.
  • Expression Trees – Representation of language level code in the form of data.
  • Expression Tree Visualizer – working implementation of a visualizer that can be run inside the Visual Studio debugger to view the contents of an expression tree.
  • Fluent Interfaces – Way of implementing an object oriented API (DSL) in a way that provides more readable code.
  • Single Responsibility Principle – A class should have 1 and only 1 reason to change.

Tools discussed

  • StructureMap – Dependancy Injection/Inversion of Control tool
  • Fluent nHibernate – Fluent, XML-less, compile safe, automated,  convention-based mappings for NHibernate.
  • AutoMapper – A convention-based object-object mapper.
  • NBuilder – Tool for rapidly creating test data. I am really interested in this tool…

Evolve Your Code – Slides and Demo Code

Developer <T>: Utilizing .Net Generics to Write Better Code

dotnet

Presenter: Shawn Weisfeld
This presentation provided a great overview of .NET Generics.

Generics are basically type-safe data structures that do not commit to a data type. This feature was introduced in .NET Framework 2.0/Visual Studio 2005.

Other points covered

  • Generic Contraints
  • Generic Lists
  • Generic Structs
  • Generic Guidelines
  • Performance

Resources provided

Utilizing .NET Generics to Write Better Code – Slides and Demo Code

Materials for all the sessions are being posted to the TechFest 2009 Content site.

The 2009 Houston TechFest was a great day of learning and I am already looking forward to next year. As always, the swag was pretty nice too.

techfest4

Until next time…

Great Refactoring Series

September 6, 2009 Rhonda Leave a comment

Sean Chambers has recently finished up a wonderful series called 31 Days of Refactoring. I have been a programmer for a long time, but an object-oriented programmer for a few years. Series’ like this are so helpful to me that I truly believe they are worth a blog post.

code-compl

I highly recommend checking the series out as it contains a plethora of useful information for improving your code.

Until next time…

Alt.NET Open Spaces Videos/Podcasts

August 1, 2009 Rhonda Leave a comment

image

The idea of Open Spaces is that a large group meets and constructs the agenda and schedule during the meeting itself.

Alex Hung [@AlexHung] has shared an awesome collection of Alt.NET Open Spaces videos. I have watched a couple so far and have picked up a lot of information.

On his site HighOnCodingMohammad Azam [@AzamSharp] has posted several podcasts of presentations that took place at the Houston Alt.NET Open Spaces this passed April.

Lastly, there is a great post on the Seattle Alt.NET Open Spaces Conference from Scott Hanselman [@SHanselman]. He gives great definitions of Open Spaces. I think it is a great concept for learning.

Until next time…

Categories: Community, Development

C# SIG Meeting – 07/21/2009 – Recap

July 24, 2009 Rhonda Leave a comment

The Beginning C# SIG topic was the Entity Framework.  SIG leader Bobby Schaffer gave a good presentation on the benefits of using the Entity Framework to interface with data.

entity-framework

The C# SIG presenter was Claudio Lassala and his topic was Beyond the Basic Concepts of OOP.  He provided some great information and had some great demos using the SOLID Principles.

Claudio’s Information

High-level Presentation Summary

solid

Core Concepts

S.O.L.I.D. Principles

 Presentation Slides and Demo Code

Until next time…

Categories: Community, Development

Great Design Pattern Resources

August 27, 2008 Rhonda 4 comments

In my endless endeavor to learn .NET, I have been reading a lot of content on Design Patterns.  According to Wikipedia, “a design pattern is a general reusable solution to a commonly occurring problem in software design”.  Some common patterns include the Singleton, FacadeAdaptor and Decorator.  There are many, many patterns and below are some great resources to learn about them.

Blog Series
One of the best resources that I have found so far is David Cumps’ series on Design Patterns.  He not only gives great code samples, but explains each of the patterns very well.  I highly recommend checking out his site if you have not done so.

Video Series (DNRTV)
There are several DNRTV videos with JP Boodhoo on Design Patterns.  These are a very good resource.

Tutorial Site
The Design Patterns page on the  Data & Object Factory site is also a great resource.

Happy Learning.

Categories: Development

Software Development Meme

July 7, 2008 Rhonda Leave a comment

I was tagged by both Jason Massie and Brent Ozar, so here goes.

How old were you when you first started programming?

I was 16.  We never had a computer at home.  I did not actually own a computer until I was 21.

How did you get started in programming?

My first exposure to computers in general came the summer between my junior and senior year in high school (1985) when I stayed the summer with my Aunt.  She worked in the computer lab at the local community college and took me to work with her each day.  I spent my time playing on one of the IBM PC’s.  From that point on I would buy the magazines with code samples in it, type in the programs and run them.  I will always credit my Aunt Shirley for getting me started – God Bless her soul.  She passed away last November.

What was your first language?

Basic/Pascal

What was the first real program you wrote?

A customer information input program (Dbase).

What languages have you used since you started programming?

Basic
Dbase
FoxPro
Visual FoxPro
TSQL
VBA
C#
ASP.NET

What was your first professional programming gig?

A company named DISC, Inc.  I loved working at that company and still keep in touch with the owners.  I basically wrote programs to do data conversions.

If you knew then what you know now, would you have started programming?

Yes.  I would have started much earlier in life if I could have.

If there is one thing you learned along the way that you would tell new developers, what would it be?

Find a mentor and pick, pick, pick their brain.  Read developer blogs, listen to development podcasts and attend area user groups.

What’s the most fun you’ve ever had … programming?

Playing various pranks on my cubicle neighbor.

Who are you calling out?

John Dunlap
Mohammad Azam
Michael Koby
Andrew MacNeil
Ben Scheirman

Categories: Development, Personal