January 2005 Entries
Ok, so you've written your share .NET assemblies (by this I mean both .dlls and .exes) in C# or VB.NET ... or even better, COBOL! But have you ever wondered how it all happens? It is just smoke and mirrors? If any of you have read (or are currently reading) Jeffrey Ritcher's book, Applied .NET Framework Programming, you can recall that in pages 9-18 he gives you a pretty good run down of how the CLR is loaded when you execute a simple program, for example the infamous Hello World.
But this post is not about Richter's book example (although,...
Brad Abrams has posted a list of the coding standards for C# used by Microsoft. I will have to say, "WOW!" After looking at this, I realize that I'm huge violation of the correct way of formatting my code. (Granted my C# standards are great mixture of my C++/Java standards).
If you have time during lunch today, I say it's worth taking a look...and start changing those 'bad' coding-habits.
Long ago, while browsing the great pages of MSR (if you don't do that know, I suggest you do from time to time), I stumbled into a C# language-extension called, Polyphonic C# (Poly-C#), an extension that offers asynchronous concurrency abstractions for distributed programming (whether it be multi-threaded or multi-machine).
A while back, my good friend Nick had a quick post about the new .NET research language C-Omega, a C# superset. This peaked my interest a little. I asked myself, “Adding more cool stuff on top of C#?! Is there no end to the greatness?” I started digging into this new phenomenon...
To my surprise, the people...
While browsing through MSDN, I bumped into the Microsoft ASP.NET Webcast Series. It's nothing more than a collection of more than 40 hours of free, on-demand ASP.NET-goodness!
If you have some free time, I suggest you take a look.
My friend Ryan sent me this a link to the Ten Commandments of College. I suggest if you have some free time, have a read and a good laugh! I obeyed the first command to the letter while at ISU!
I was playing around with some code today and I wanted to explore a good mixture of polymorphism and inheritance on my example. So, I decided to come up with an example that used interfaces and interface-inheritance. Take a look at the following code:
// Simple interface defining one method
public interface ISampleA
{
// Leave the definition to the implementor
void DoTaskA();
}
// Another simple interface defining one method
public interface ISampleB
{
// Leave the definition to the implementor
void DoTaskB();
}
// Make things fun...This interface inherits from the other two
...
I just downloaded w.bloggar to help me post from my laptop rather than the admin section of .Text. The reason why I switch is since that have a heck of time formatting code samples using the built-in post mechanism. With w.bloggar, I can post message using straight HTML without the worries of how the FreeTextbox control will interpret XML or code.
I suggest you give w.bloggar a try!
Lozano out!
Live Message, a service provided by http://www.messagecast.net has a great service that bloggers can use. They use the .NET Alerts system to inform MSN Messenger users about updates of their favorite blogs. If you have the time check it out! Also, click here to register to my blog's update alerts!
While reading my usual blogs with SharpReader, I bumped into yesterday's Dilbert comic.
The strip says it all!
I would like to extend a thank you to Jeff Brand for taking us to Omaha Prime for dinner last night! Some of the people there were Joe Olsen, Phil Wolfe, Nick Parker just to name a few. Our dinner conversation ranged from digital media to 'Remember, when the Man Show used to be good?'. At the end we all agreed that the Man Show Boy Selling Beer was a great skit!
Thanks Jeff!
Lately, I've been posting some code samples on how to do simple threading using Delegates as well as handling event registration manually. Nick pointed out the following post by Brad Adams that talks about a possible race condition when invoking an event (a)synchronously. Take for example, the following code:class ClassA
{
public event EventHandler SomeEvent; protected virtual void OnSomeEvent(object sender,EventArgs e)
{
if(SomeEvent != null)
...
I was looking through the C# Language Specification and bumped into the following explanations about Events section 1.7.5:
For a simple event declaration such as
public event EventHandler Click;
the compiler automatically provides the implementation underlying the += and -= operators.
An implementer who wants more control can get it by explicitly providing add and remove accessors. For example, the Button class could be rewritten as follows:
public class Button { private EventHandler handler;
public event EventHandler Click {
add { handler += value; }
remove { handler -= value; } }}
This change has no effect on client code, but allows the Button class...
I just took an online quiz to find out how much of a nerd, I really am and wel...the picture speaks for itself.
(NOTE: My wife agrees with the score 100%!)
Today, MSDN started a series called Designing .NET Class Libraries. The series presents guidelines for developing classes and components that extend the .NET Framework. Some of the topics covered are Naming Conventions, Rich Type System and Packaging, Assemblies and Namespaces to name a few.
If you have some free time, I recommend you take a look!
While in college, I bumped into something called the Tao of Programming. The tao, according to dictionary.com, is the basic, eternal principal of the universe that transcends reality and is the source of being, non-being and chage.
Wow! Having that said, here are a few inspirational words from the Tao:
The Tao gave birth to machine language. Machine language gave birth to the assembler. The assembler gave birth to the compiler. Now there are ten thousand languages. Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao. But do...
For Christmas, Christa (my wife) and I decided to get a joint present rather individual presents. The nice people at Best Buy offered us this fun toy. Now I have something else to help me waste my time!
Currently at work, I'm working on a VB.NET web application. Since, I'm C-inclined (C++, C#,Java) it's kinda hard switching back to writing in BASIC. So, I've been using this handy-dandy web page to help me translate back and forth. To my surprise, the author of this page also created the same thing for Java (1.5)/C#! This is also pretty handy in realizing how SIMILAR the languages are...however, C# is better cause it has structs! (just kidding)
Hope you find these links as useful as I have!
When I worked at Principal, we used Ant a lot for building our JARs and EARs against our code repository. Also, we used to aid the already tideous EAR deployment process. I've known of NAnt for quite some time, but never actually played with it...My reasoning was...why should I? I have VS.NET!
One of my 'New Year's Resolutions' was to get more in-touch with .NET (abstract concepts, languages, CLR) and .NET Related tools (aside VS.NET). Thus far, I have played with NUnit and as I suspect it, I picked up rather quickly thanks to my previous JUnit exposure. So tonite, before...
A while back, I had a post that showed how you could check if a file was a .NET assembly. Well, around that time, I wrote a simple application to test this function. However, the way I did the test app is not ... how should I put it ... common. I decided to use threading to facilitate the searching of the assemblies under the netfx folder...the threading has a little bit of a twist. It uses a custom delegate (a class that maps to System.Delegate ... well, it's more like System.MulticastDelegate, but I'll let you read about it!) to do the dirty work of searching!
If you...
Currently at work, I'm designing a web site for the nice people at Sprint. This site has the basics (web user controls, web forms, db connections, etc.) of an ASP.NET application. More importantly, it needs to maintain a certain look and feel...we shall call this a 'page template'.
The 'old way' of adding a new ASP.NET Web Form to the application had the following steps:
Add a new ASP.NET Web Form
After the page is added, change the base class to be a custom page rather than System.Web.UI.Page
Change the HTML to reflect the standard page layout and drop in all the Web UserControls the page...
My good friend Nick Parker was awarded the Visual C# MVP (Most Valuable Professional) award for 2005! This award is given to professionals that go above and beyond the call of duty in development communities by assisting their peers.
Please join me on congratulating Nick on this great accomplishment!