« July 2004 | Main | September 2004 »

August 30, 2004

Teaching source control

Eric Sink is starting series on the basics of source code management.

Nobody is teaching people how to do source control.

Our universities don't teach people how to do source control, or at least mine didn't. We graduate with Computer Science degrees. We know more than we'll ever need to know about discrete math, artificial intelligence and the design of virtual memory systems. But many of us enter the workforce with no knowledge of how to use any of the basic tools of software development, including bug-tracking, unit testing, code coverage, source control, or even IDEs.

True, even in CPT which should be more practical and applied. Well, except maybe for the very last point. Today I'm doing an intro to Visual Studio .NET 2003 for Compact Framework development. We only cover the basics (just to make sure everyone can get up to speed quick in the class), but hopefully I can throw in some tips and tricks to make the students more productive.

Posted by mikel at 07:13 AM | Comments (0) | TrackBack

August 23, 2004

cross platform .Net

Jim Wilson gave a nice, short explanation of why you can run a .Net Compact Framework app on the Full Framework but not the other way around.

CF and the full framework do use the same IL. The problem is that the core assemblies on the two platforms have different public key tokens. The full framework knows how to map the CF public key tokens to its own, CF doesn't have the corresponding capability.

The question was originally posed because someone wanted to use the C# Express IDE to create a CF app. Something I already mentioned Microsoft needs to make easier. But with the combination of C# Express IDE and the promised Compact Framework SDK, I think the following scenario would be possible (but not as ideal as a Compact Framework Express product).

Use C# (or VB) Express to create an application, manually limiting yourself to the CF compatible code.

Instead of compiling with Express, compile with the CF SDK.

Copy over to the device (I can't think of a way to get the emulator for cheap/free) and run.

Posted by mikel at 08:17 PM | Comments (0) | TrackBack

August 20, 2004

Matt Hahn Sports Announcer

Matt is announcing the Northridge High School football games at broadcastsport.net. The link is kind of hard to find, so here's a direct link for future reference.

Posted by mikel at 08:27 PM | Comments (0) | TrackBack

August 19, 2004

Appleman probably hasn't heard of CPT

CPT stresses the communication and business side more than CS does. It seems to make more sense to me that there should be more programs like CPT than CS instead of the other way around. The world needs a lot more people that can see a problem and then use some technology to solve it. Maybe they use a new technology, maybe they use an existing technology in a new way, or maybe they just use an existing technology in an existing way in a new situation.

Of course, most of the projects I run across at Purdue done by CS people don't seem very much like science but a lot more like something that fits a CPT person. They aren't much theory, algorithms, etc. i.e. they don't advance the theoretical state of computing. In my view, CS would advance the software, electrical computer engineering would advance the hardware, and computer technology people would pull it all together to solve problems.

I always laugh when the CS majors talk about their compilers class. I tell them they can go ahead fight for the jobs where someone will pay them to write a compiler, I'll fight for the jobs writing business applications. Of course, most of them don't end up writing compilers. They end up writing business applications. I'm still not convinced learning to write a compiler helps them develop an enterprise application.

It's your personal skills that will count. How well do you communicate? You should know how to present your ideas both to individuals and small groups. Can you write clearly and somewhat grammatically. Do you come across as confident in yourself and your abilities? Do you have leadership skills (that often translate into management skills)? Are you responsible? Are you a nice person to have around (or at least not completely repulsive)? Yes, there are those who are so technologically brilliant they can get away with caring just about technology, but for most of us these other skills are essential.

So, as you go off to college, don't let your technical classes get in the way of getting a good education. Take a writing class. Take a class or get involved in an activity that forces you to do some public speaking. Do some drama or improv. Join a club. Do some volunteer work. Do some tutoring. This kind of experience will have long term benefits to your career that you wouldn't believe.

[Via Dan Appleman: Kibitzing and Commentary]

Posted by mikel at 07:27 AM | Comments (0) | TrackBack

August 15, 2004

Disc Dogs

Jessica, Kerby, and I went to the Indy Dog & Disc Club state finals today. They held it down in Riley Park in Delphi. It was pretty neat to see what some of those dogs can do. It was also crazy to me that some people came from as far away as Oregon.

Posted by mikel at 09:38 PM | Comments (0) | TrackBack

August 13, 2004

Variable scope in a try catch block

CPT 355 students often run into this problem.

The following code won't work, because conn goes out of scope before you enter the catch block.

       try

        {

            Connection conn = new Connection();

            conn.Open();

        }

        catch

        {

            if (conn != null) conn.Close();

        }

 

The fix is simple - just declare conn before entering the try block

 

        Connection conn = null; // Note the assignment to null to avoid error CS0165 - Use of possibly unassigned local variable 'conn'.

        try

        {

            conn = new Connection();

            conn.Open();

        }

        catch

        {

            if (conn != null) conn.Close();

        }

 

Of course, for this particular example, you could wrap the Connection class in one that implements IDisposable (if it does not already), so that you could then use a using statement instead of extending the scope of the local.

 

 

[author: SantoshZ]

[Via C# Frequently Asked Questions]

Posted by mikel at 05:49 PM | Comments (0) | TrackBack

August 12, 2004

Compact Framework Chapter in Sell's WinForm Book?

Chris Sell's book has been really useful. I hope Mike Weinhardt is able to stick in the Compact Framework chapter. There are other resources, but it would be neat to see what these two decide to include.

Also, Mike has threatened to add a Compact Framework 2.0 chapter, but we'll see if he's still able to lift his head after updating the existing prose. : )

http://csharpcomputing.com/Interviews/sells.htm

Posted by mikel at 01:24 PM | Comments (0) | TrackBack

Pocket PC + GPS = College Campus Tours

Kyle showed me this in USA Today.

http://www.usatoday.com/tech/news/2004-08-04-college-gps-tour_x.htm

It sounds a lot like my project for CPT 355 back in fall 2002.

Posted by mikel at 07:53 AM | Comments (0) | TrackBack

August 11, 2004

Extending .NET Apps Across Multiple Devices

More reading for CPT 355. A decent article that describes some of the things to think about when designing an application for both the desktop and a mobile device.

http://www.devx.com/Intel/Article/21439

A couple of good resources linked to in the article.

.NET compact framework vs. the full .Net framework
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_evtuv/html/etconcomparisonswithnetframework.asp

Distributing Device Applications
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_evtuv/html/etoridistributingdeviceapplications.asp

Posted by mikel at 10:33 AM | Comments (0) | TrackBack

August 10, 2004

Product Pricing by Eric Sink

In fact, if nobody is complaining about your price, then it is probably too low. The trick is to tune your pricing until the volume of the whining is just right.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsoftware/html/software08052004.asp

Posted by mikel at 08:50 PM | Comments (0) | TrackBack

August 09, 2004

Mono as a resource for the compact framework

Miguel de Icaza was interviewed on .NET Rocks. He talked about people using Mono code in compact framework apps for hunks that are in Mono but not in the CF (cryptography and XML serializer in particular). He mentioned it at 58:15.

Posted by mikel at 05:27 PM | Comments (0)

.NET CF unit testing

Interesting...

http://blog.opennetcf.org/ncowburn/PermaLink,guid,09a870b9-a979-4635-80ba-d560ddec562c.aspx

Posted by mikel at 03:57 PM | Comments (0)

.NET cf garbage collection

More reading for CPT 355

http://weblogs.asp.net/stevenpr/archive/2004/07/26/197254.aspx

via Jono and Sam

Posted by mikel at 03:43 PM | Comments (0)

August 05, 2004

Out vs Ref

Anders Hejlsberg explains out vs ref in C#. This is a question that comes up in CPT 355. He answers it from 18:45 - 21:15.

An interesting side note, the question after that was about using Visual Studio and intellisense during exams. I liked Anders' answer. It seems pointless to test students on rote memorization of function names, but I always also a fan of using my calculator on math exams.

Posted by mikel at 06:15 PM | Comments (0)

August 03, 2004

My next phone

I think this will be my next phone.

Posted by mikel at 05:23 PM | Comments (0)

MSDN Windows Mobile Articles

Sam Gentile links to several new articles on MSDN. Something to check out for CPT 355 before the semester starts.

http://samgentile.com/blog/archive/2004/08/02/12125.aspx

Posted by mikel at 07:39 AM | Comments (0)

August 01, 2004

Abigail Evans

Welcome to the world Abbi! Congrats Ed and Christy!

Posted by mikel at 05:05 PM | Comments (0)