Scott Hanselman

PDC and Birds of a Feather - Host your own technical session!

August 18, '03 Comments [0] Posted in Speaking | PDC | XML
Sponsored By

This a very clever idea - an opportunity for a attendees of PDC to host a session on topics of their own choosing.

BoF sessions will be held on Sunday, October 26th from 6PM – 9PM and on Monday, October 27th and Tuesday, October 28th from 8PM – 11PM.  To propose a BoF session, please visit the registration form hosted by International .NET Association's (INETA) http://www.ineta.org/bof. At this site, you will be able to propose a topic as well as view and vote on topics proposed by other attendees.  Periodically, a committee consisting of INETA members and Microsoft employees will review the topics and select sessions for the conference.  Final BoF sessions will also be posted through CommNet so that when you are selecting you want to attend, you can also begin planning which BoFs you would like to attend.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The end of an era...and the beginning of a new computer for me...

August 16, '03 Comments [4] Posted in Bugs
Sponsored By

I mentioned a little bit ago that I walked in my college graduation (had a great C# graduation cake).  They let you walk if you have only a few credits left, and I had to take one additonal three credit class in order to get my diploma.  Today I finished the final in my one summer class, and I came home and put Discrete Mathematics (fifth edition) on my shelf with about 30 computer science books and I realized that I have NO HOMEWORK.  This may seem like a silly thought to you, but if you count the first 12 years of school, and 11 year B.S. degree, I've had homework pretty consistantly for the last 23 years.  To wake up tommorow and have no homework is crazy madness.  Of course, I'll continue to stay up all night and mess with Mono and run ILDASM on everything in sight, but I just won't received a grade.

So, I updated my resume, and happily moved the Education section up (it had been hidden before) as I am now a "degreed computer scientist" with no homework!

In celebration I upgraded my PC.  The original plan was to go all-out and pick up an AlienWare or a FalconNW and do the whole $3000 PC thing. 

Segue: The last time I spent $3K on a PC was in 1991 when I picked up a sweet 486DX/33 (that's right, DX, baby!) with 8 Megs of RAM and a 210 Maxtor HD.  I promptly installed DRDOS, Stacker'ed the HD to a glorious 400+megs and installed DesqView.

Well, the wife promptly (and wisely) nixed the new PC idea, but OK'ed a trip to Fry's for parts.  I picked up a Pentium4 3Ghz with Hyperthreading, and a great new Intel Motherboard, with a gig of Dual Channel RAM.  I moved my 45 gig C: drive in for Windows XP (I'll move to Win2k3 when there's more drivers), dropped in my data array (I keep all my data on two RAID Mirrored 20 gig drivers) and my 400 odd gigs of Firewire drives (seriously, get on the Firewire bandwagon...it's so much faster to installed VS.NET and other CDs when everything is on a Firewire drive as a mountable ISO image!) and a new NVidia 5200 FX Dual-Head (multi-monitor, it's not just a suggestion, it's the law).  I also put in my DVD, my CD/RW (the new Nero Ultra software suite is unquestionably the greatest value in software today, full stop), my AverMedia USB TV Tuner (you just can't have two monitors if you can't watch TV in a Window while dual-screen debugging).  

I put the whole thing together for $824.  Amazing.  I also ordered some custom front mounted Firewire and USB 2.0 ports (There are a lot of internal motherboard mounted ports that a lot of us leave unused!)  With these new ports I'll have 6 Firewire ports, and 8 USB ports.

Holy crap my computer is fast.  Even with a crappy C: drive, it's fast.  Even better, the motherboard has Serial ATA RAID on the board.  I figure if I upgrade the C: with a couple striped drives (probably two of these 10,000 RPM babies), I'd probably see a 4x I/O increase, which is crazy since the beast goes from zero to the deskop in 15 seconds flat. 

So much hardware, so little time...maybe now I'll have the time to tinker.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The New Minimed Paradigm 512

August 14, '03 Comments [1] Posted in Diabetes | Movies
Sponsored By

I had lunch with a friend of mine, one of the Minimed Regional Consultants, who showed me the new Paradigm 512 Pump with the WIRELESS Glucose Meter from BD.  

In a word, yum.  

Having a pump takes getting used to, no doubt.  Everyone wants to ask "Do you sleep in it?"  "How do you, um...you know?"

When you're connected to another device 23.9 hours a day that is basically acting as a surrogate organ for you, you grow attached (literally and figuratively) to it.  I can give myself insulin (called a "bolus") with my eyes closed.  I can use the Minimed 508 Remote Control, I can use the EasyBolus with Vibration for feedback. 

But it's the little improvements in my external organ that really affect my quality of life.  When I got a Blood Sugar meter (the UltraSmart) that had a backlight - WOW.  It made checking my blood sugar in a movie theater possible...more importantly, that improvement made me feel slighly less diabetic. 

The 512 is one such improvement.   I've long advocated and even predicted 3 years ago a wireless glucose meter/pump.  Why should I have to carry around two devices with screens, batteries, buttons, etc.  Well, I still need to have two devices, but with the Paradigm 512 the pump is told wirelessly what my blood sugar is right after I test it!  You don't even have to tell the meter, or press OK...it's transparent.

Then, the best part, on the pump you then run the Bolus Wizard.  Having previously programmed the pump with insulin ratios (multiple ones even, by time of day!) you enter in how many carbos you're going to eat, and the Bolus Wizard suggests how much insulin you should take.  It considers the ratios, of course, but also your current blood sugar AND the amount of active insulin!

For example, if you took 2 units to correct a high an hour ago, and now your blood sugar is 100.  Clearly you're headed toward a low.  If you tell the pump you're going to eat 30 grams of carbs and your ratio is 1:15, it might suggest 2 units, right?  WRONG.  You've already got at least one unit of ACTIVE insulin in you.  If it suggested 2units, you'd be right back where you are now, facing a low in a few hours.  Instead it might recommend 1.2 units (just an example) and get you back on target. 

It's THESE kind of improvements that get us one step closer to feeling normal.

I can't wait until June 26th, 2004 when my warranty runs out and I get the latest and greatest from Minimed.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Syllabus for CST407 at OIT

August 14, '03 Comments [0] Posted in
Sponsored By

For those of you who've emailed me about the CST407 class at OIT this fall, I've uploaded the draft syllabus to the class site.  Let me know via email if you think it's too easy, too hard, too whatever.  Feel free to pass the URL around to prospective students.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

The Syllabus for CST407 - Learning C# with .NET

August 13, '03 Comments [0] Posted in Learning .NET | ASP.NET | NUnit | XML | Bugs | Tools
Sponsored By

OREGON INSTITUTE OF TECHNOLOGY

Software Engineering Technology

CST 407 Seminar - C# and the .NET Framework

Course Syllabus - Fall 2003

Instructor Information:       

Name:  Scott Hanselman        Email:  scott -a-t- hanselman.com

Phone:  880-2486       Office Location:  The Ether

 

Class Schedule:          

Lecture/Lab:   14053             Friday  6:00p-8:50p                Portland - CC1045     

Class Web Site:  http://www.computerzen.com/cst407

Textbook:

Required Text:            C# Primer, Stanley Lippman

Optional References:         Essential .NET, Don Box and Chris Sells

                                    Programming Pearls, Second Edition, Jon Bentley

                                    The Pragmatic Programmer, Andrew Hunt and David Thomas


Software Tools:

 

Minimal development:

·         The Windows .NET Framework SDK - Most work will happen at the command-line

·         SharpDevelop - Open Source IDE written in C# w/source

 

Minimal web development (there may be small web projects, nothing major)

·         Cassini - Simple ASP.NET Web Server (IIS not needed) w/source

·         The ASP.NET Web Matrix

 

Preferred development

·         Visual Studio.NET Academic Edition – Great to have, but we won’t lean on it

 

For homework

·         Lutz Roeder's Reflector - Decompiler

·         NUnit - Testing framework

 

Philosophy and Prerequisites

This class is a 400 level class and while it may look easy (most syllabi do) I will have high expectations.  C# is a 3rd generation 'C' family language.   This class assumes you've programmed in some language that includes a if-then construct of some kind.  An understanding of Object Oriented design will be important.

For those of you who feel advanced now and think this class may be too easy, I will ratchet up the difficulty after class as far as you'd like.  I will stay as long after class talking tech as you like. 

Coding is an art and all art has its associated literature.   I expect you to read as much code as you write.  Every week, bring in a snippet (10-20 lines) of someone else's code that you've found on the web.  Two places to start are www.gotdotnet.com and www.codeproject.com.  Email the cool snippets to me and we'll discuss some of them in the last 30-45 minutes of class. 

.NET is very powerful, but it can turn bad programmers into very bad programmers very quickly.

 

Library Services:

OIT Library:  OIT library web site

 

Homework:

Homework should be zipped (just code, no bin or obj folders) and sent to my email address before 9AM each Friday.  The subject must contain [CST407] including the brackets.  I'm not kidding here, and this is not a suggestion.  Include '[CST407]' in the subject or the homework goes in the bit bucket and you get a zero grade for that assignment.  Learn to love netiquette.  J

We'll be writing Unit Tests for all our homework programs using NUnit 2.x.  Include them with your homework.

Tentative Outline:

Week

Date
Topic(s)

Text

HW/Lab Assignment
DUE Date

1

10/3

Course overview, class logistics.

The Gist of .NET

Files and Compiling

Decompiling

Namespaces

Classes

Assemblies

Value Types and Reference Types

Intro to NUnit

 

Ch1

Visit Class web site.

1. Print syllabus.

2. Purchase book.

3. Write HelloDOTNETWorld.exe without the IDE, compile it, and successfully email the code to me following the guidelines above.

4. Write an NUnit Test for HelloWorld

(4 points - the only freebie)

Next Fri

9:00am

2

10/10

More on deployment

C# keywords

Garbage Collection

Arrays

Strings and Formatting

System.Collections (brief)

Exceptions

 

Ch1

Read Chapter 1.

1. Create and populate a multidimensional array of value types

2. Spin through the array and pretty print their contents to the console.

3. Write tests

(4 points)

Next Fri

9:00am

3

10/17

 

Class Design

Constructors

Private/Public

This, static, const, readonly

Delegates

Passing by ref and value

Overloading, function and operator

Casting

Debug/Trace

ConfigFiles

Ch2

Read Chapter 2

1. Create a class Car with and Engine, Windows, Wheels

2. Create behavioral methods on all classes

3. How will you structure your class?  Does the Car contain Wheels?

4. Test it

(4 points)

 

2 points Extra Credit:

1. Write a C# console app that prints out true or false if a year is a leap year.  Ex: leapyear.exe 1996 outputs 'true'

How many lines of code did it take? Why?

2. Test it

Next Fri

9:00am

4

10/24

OOPapolooza

Class Hierarchies

Abstract

Single Inheritance

New and base

Overriding

Exceptions

Type/typeof

Binding/Activator

 

Read Chapter 3 and 4

1. Extend your Car and create Planes and Trains. 

2. How does OOP help? How does it Hinder?

3. Test it

(4 points)

 

1. Dynamically instantiate a class from a Fully Qualified Assembly Name in your app.config file

3. Test it

(4 points)

 

Next Fri

9:00am

5

10/31

Exploring the System namespace

System.IO

System.Net

System.Data

Threading

 

Ch5

Study for Midterm

 

NO HOMEWORK THIS WEEK

Next Fri

9:00am

6

11/7

All XML all the Time

System.Xml

 

Everything you need to know about Xml in 3 hours. J

 

Take Midterm (90 minutes)

1. Multiple Choice and Short Answers

(20 points)

 

Homework:

1. Take a Books Xml file I'll give you and read it into memory

2. Setup arbitrary searching like findbooks.exe 'author = 's*''

3. Do it with XmlTextReader

4. Do it with XmlDocument

5. Do it with XPathNavigator

(4 points)

Write up ~500 words on what the ramifications of moving the software industry to a “Managed“ environment over previous kinds of Software Development.

(4 points)

Next Fri

9:00am

7

11/14

C# applied to WinForms

 

 

Homework: TBD

(4 points)

Next Fri

9:00am

8

11/21

C# applied to WebForms

 

Homework: TBD

(4 points)

NEXT WEEK: THANKSGIVING

Next Fri

9:00am

9

12/5

The CLR

Attributes

Reflection

Inside Serialization

Interop/PInvoke

 

Homework: Show me the status of your Final! Something better be working by now. ;)

(4 points)

 

 

Next Fri

9:00am

10

12/12

TURN IN FINAL

 

9AM: TURN IN FINAL.  We'll have a formal 'egoless' code review and I'll grade them (anonymously) on the projector and we'll discuss them.

 

 

Class Scoring:

First, the obvious. 100 Points possible.

A  >=90

B  >=80

C  >=70

D  >=60

F  < 60

Midterm - 20 points - on 11/7 (in class)

Final - 40 points - on 12/12 (take home, given 12/5)

Homework - 10 programs @ 4 points each, gives 40 points, one or more a week for ten weeks.

Homework programs will be graded on:

1. Correct use of Basics (foreach, classes, namespaces, BCL libraries)

2. Appropriate Use of OOP (no gratuitous object hierarchies, please)

3. Robustness (did you test it?)

4. Attention to Detail (did you think?)

Extra Credit: Elegance/Flair (my discretion)

 

 

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.