Scott Dorman

ephemeral segment

  Home  |   Contact  |   Syndication    |   Login
  597 Posts | 10 Stories | 844 Comments | 51 Trackbacks

News


Post Categories

Image Galleries


Microsoft Store


Creative Commons License



Locations of visitors to this page

Subscribers to this feed

TwitterCounter for @sdorman

View blog authority

Add to Technorati Favorites

Windows Live Alerts

AddThis Social Bookmark Button

LinkedIn profile

Community Credit profile

The Code Project

Follow me on Twitter

Get Free Shots from Snap.com

Community Credit Hall of Fame

Get Feedghost

Xobni outlook add-in for your inbox



Support This Site

Tag Cloud


Article Categories

Archives

Post Categories

Image Galleries

Sunday, October 10, 2010 #

If you have children and want them to learn programming at an early age (recommended age is between 10 and 16), you should check out Microsoft Small Basic, which combines a simple language and a rich set of libraries together with a friendly development environment.

Small Basic Screen Shot

The Small Basic language draws its inspiration for an early version of BASIC but it is actually based on the .NET Framework. Like the early variants of BASIC it is based on, Small Basic is imperative and doesn't use or expose beginners to concepts like scopes, types, object orientation, etc.

Even though it is based on the .NET Framework, it really is small and consists of just 14 keywords. In fact, there really isn’t a type system. You can create string and numeric constants and assign them to variables. Operations performed on these variables will be interpreted according to the content. All variables are global and are always initialized, so they can be used before they're assigned.

You can even make use of events by creating a sub-routine and assigning it to an event. This will wire the it up to an the event.

Small Basic also contains libraries which provide static "Objects" that group operations, properties and events. New libraries can be created using other .Net Languages and added to the Small Basic runtime.

Since Small Basic is, well, small, it shouldn’t be considered the language of choice for solving every conceivable problem. It focuses on a beginner persona, and as such doesn’t contain features that don’t cater to that persona. The compiler and the environment do allow 3rd party Small Basic libraries to be plugged in, extending the possibilities of what you can do from within Small Basic. When you are ready to “graduate” to a more complete programming language and environment, you can easily export your Small Basic program to Visual Basic.

Although there are other beginner focused programming languages, like Scratch and Alice they are different than Small Basic. Both Scratch and Alice are great tools that help beginners learn the concepts of programming by enabling people to write "codeless" programs. Small Basic takes a different approach by introducing code as a first class concept.

Possibly the best part of Small Basic (at least in my opinion) is the support for Turtle Graphics, which is something I first learned as a child. I’m definitely looking forward to what becomes of Small Basic and using it teach my son programming when he gets older.

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Saturday, October 09, 2010 #

Regular readers may have noticed that my blogging activity has slowed down considerably. I’m hoping to pick back up and start posting more soon, but until then I wanted to make sure everyone knows that I am still active…there have been other things that have been consuming my time.

First, my Sams Teach Yourself Visual C# 2010 in 24 Hours book came out, officially on the shelves in August although content was complete in late February. Shortly after the book came out, I started working on an article for InformIT on Code Contracts in .NET 4, which should be out sometime this month (hopefully), check my author page on the InformIT site for the article link when it is available. As if that weren’t enough, I’m working on a Sams Teach Yourself Windows Phone 7 Application Development in 24 Hours book with Joe Healy, Kevin Wolf, and Nikita Polyakov. The book is scheduled to be out early 2011, but we’re hoping to be out earlier than that.

Realizing that I hadn’t spread myself quite thin enough, I’m also working as the Community Manager and Senior Editor for DotNetKicks. It’s basically my role to help promote the site, develop the online community around the site, bring in story submissions, and generally get people excited about the site again. If you haven’t checked out the site (or it’s been a while since you’ve been there), give it a look. We’re working on some pretty cool improvements that I hope you’ll like.

There are also a few projects that I’m working on that I don’t want to mention yet since they are still in the planning stages. Once these get going (it’s taking a while because everyone involved has real lives and jobs that have to come first), I’ll talk more about them, but let’s just say that hard-core .NET developers will really love one of them, developer community leaders (user groups, code camp organizers, etc.) should love the other one, and the third one has the potential to change how MVPs and Microsoft communicate. Of course, no pressure for any of these, right?

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

It has been over a year since the last time I updated my list of Florida technical communities and a lot has changed since then. Joe Healy, our Florida Microsoft Developer Evangelist, maintains a list for each of the main areas in Florida, but this only covers the .NET-focused groups. Taking what he has started, I have put together a similar list (based on the information Joe maintains) that covers the other technical communities that I know of. If you are part of a technical user group community and don't see it listed (or need to change anything about a group that is listed), please let me know so I can add it to my list. I'll also forward the information on to Joe so he can keep his list in sync as well. (Likewise, if you let Joe know about a new group, please let me know as well.)

.NET Developer Groups

 

Azure Groups

Architecture Focused Groups

 

DotNetNuke Groups

 

General User Groups

 

Java Developer Groups (JUGs)

 

Office/SharePoint/BizTalk Groups

 

Specialty Groups

 

SQL Server Groups

 

User Interface/Design Focused Groups

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Saturday, September 18, 2010 #

Code camps are a great resource for the local development community. They provide developers and speakers (who are almost always local developers as well) a way to interact and learn about topics they otherwise might not have an opportunity.

As a speaker, it is always great to see new people in my talks and answer questions since in almost every talk, someone asks a question I haven’t heard before. One of the things that most speakers, including myself, like getting is feedback. We want to know what you thought of the presentation, both the material and the delivery. It used to be that most code camps passed out evaluation forms to provide this feedback. The problem with forms is that they were easy to loose and required a person to manually tally up all the evaluations to generate an overall rating. As a result, most code camps have stopped passing out evaluation forms. While I understand the reasons behind this, I still like getting feedback. It’s one of the tools I use to continually become a better speaker.

I have previously talked about SpeakerRate, but since then I’ve been using the site more to fill out my speaker profile. In doing so, I’ve learned a bit more about how events are setup on the site and how they are associated with a series. When it comes to series, you can think of this as the root (parent). An event is a child of the series, and a talk is a child of the event. Once I understood this, I started creating series for the various Florida code camps.

The guidelines I am following are this:

  1. The series is named “Code Camp – [State] – [Location]”, where [Location] is either the city and state or geographic region and [State] is, obviously, the state. This has the benefit of grouping all of the code camps together to make them easier to find. (This does, of course, break down for code camps that are not located in the United States but I think we could probably come up with a variation of this, perhaps “Code Camp – [Country] – [Location]”.)
  2. The event names are “[Code Camp Name] – [Year]”. For example, the South Florida code camp event for 2010 would be listed as “South Florida Code Camp – 2010”. Technically, including the year in the event name is redundant since it displays the event date, but since almost all of the interaction with SpeakerRate is done via events it makes it easy to find them.

If you are a code camp organizer I highly recommend setting up an event and series for your code camp. It gives your speakers an easy way to get feedback without much work on your part. If you’re a speaker, you should definitely setup a speaker profile and add your talks. If you add a talk before the code camp organizers have created the event, you can create the event (and series if necessary) on their behalf, just be sure to follow the guidelines above.

For the Florida code camps, the following series have been created:

*[I have asked for that year’s entry to be associated with the series and renamed, if necessary, to be consistent. If you are (or know) the person who originally created the event, please update it so the SpeakerRate staff doesn’t have to.]

Technorati Tags: ,,
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Tuesday, September 07, 2010 #

As most of you know, I do a lot of presentations each year, mostly at local code camps. As a speaker, it is always great to see new people in my talks and answer questions since in almost every talk, someone asks a question I haven’t heard before. One of the things that most speakers, including myself, like getting is feedback. We want to know what you thought of the presentation, both the material and the delivery. It used to be that most code camps passed out evaluation forms to provide this feedback. The problem with forms is that they were easy to loose and required a person to manually tally up all the evaluations to generate an overall rating. As a result, most code camps have stopped passing out evaluation forms. While I understand the reasons behind this, I still like getting feedback. It’s one of the tools I use to continually become a better speaker.

In an attempt to solve this problem I found SpeakerRate, which is a community site for event organizers, attendees, and speakers.

  • Event organizers can find speakers, learn about talks they've given in the past, and determine who would be a good match for the event they're organizing.
  • Event attendees can provide constructive feedback to speakers, track the talks they've attended, and research upcoming talks that they might attend.
  • Event speakers can get valuable constructive feedback directly from attendees and find out how they can improve their content and delivery for their next talk. They can also establish a SpeakerRating, which will help them earn future speaking opportunities.

image

The nice thing about SpeakerRate is that I can provide a speaker profile. This is similar to SpeakerWiki, but the biggest difference is that I can list all of the presentations I have given. I went through and added all of the presentations I have given since 2007 just so I have a convenient and ordered list (there are a total of 35 past presentations and 2 coming up).

The other nice thing is that if you attend (or attended) one of my presentations, you can go to that presentation on the site and provide feedback. This feedback is automatically incorporated in to an overall speaker rating. You don’t even need to have an account although you do need to provide a name and email address (this is done to help minimize the amount of bogus feedback provided). SpeakerWiki also allows you to provide feedback, but it’s more general in nature since you can’t list specific presentations.

If you’ve heard me talk, please do me a favor and provide some feedback.

Technorati Tags: ,
Digg This
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati