September 29th, 2004 at 6:00 am
(Politics)
A recent poll of registered voters (article on Fox News) shows that President Bush is leading in “key groups”. Further reading reveals that these “key groups” are Catholics and High School Graduates… Now what does that tell us about Kerry’s supporters?
Comments
September 8th, 2004 at 6:00 am
(Technology)
<![CDATA[
I've noticed something in my life, the better I understand a subject, the less complicated it becomes. I've recognized this when I would teach new subjects, and when I would get “advice” from other people.
I was reminded yesterday of a conversation that happened over 6 years ago. I was working in Southern California, and a friend of mine had just gotten a job (that I helped him get) as a web programmer. They were using a new technology from Microsoft called ASP. I asked my friend what ASP was, and his explanation was little more that “It's pretty complicated“.
Now, I consider my self fairly adapt, I am able to learn new topics relatively quickly, I was programming BASIC in 3rd grade, I taught myself C# in a week (I already knew VB.net extensively
When I ask a person to explain a topic, I expect to be able to keep up with the answer, and to receive more than a newbie brush off. Needless to say, at the time, I was a little earked. I have since decided that when ever some one asks me a question about a topic, that I know a thing or too about, I make it a point to give more than a brush off answer. If I don't have the time to give a solid instruction, I at the least try to direct them to a more complete answer. (Incidental, If you really want to know about classic ASP, go read the articles on Web Monkey, “Introduction to Active Server Pages”, and the great primer to relational databases “Your First Database”; the latter is must read for anyone that wants to know about Relational Database Design, or writing SQL)
I realize now, though I didn't then, that my friend wasn't trying to be rude, or snobbish. He just didn't know how to explain ASP. He didn't have the fundamentals down, it was confusing to him, so he figured that it would be confusing to everyone. (As a side note: I understand that he has since become an efficient ASP programmer, and is running his own company as such).
I've seen this truth demonstrated over and over again. When I was teaching for New Horizons, I remember an instructor commenting that no one could ever explain a relational data base to a class in less than a couple of hours. Now I started every database class that I ever taught (ASP/SQL/Access) with a 10 minute overview of relational databases... I knew it could be done. Realize that this was no ordinary teacher. This instructor had been teaching Access for years, she had won awards, hands down, she was one of the best instructors there. Yet, she didn't have an understanding of relational databases that would allow her to explain then in under 10 minutes. They were still complicated and confusing to her.
Recently, on an enterprise .net project that I have been working on, their is a business piece that I am about to tackle. Every one that I talk to tells me how complicated it is, what a large task this is going to be. All but one. The one tells me that if I break it down to it's simplest components this is really a straight forward process. He has an understanding of this process, so it's not complicated, it's simple. Even the most complex system in the world can be broken down in to simple processes. Consider DNA, the most complex communications programming system ever designed, yet it breaks down in to four simple building blocks.
Ultimately everything should be broken down in to it's most basic parts. If you find that a task is getting too complicated. Break it down in to more (easier to comprehend) tasks. Keep doing that until you can fully grasp what you're doing. You know that you're at a good understanding level when you can explain it, straight forward, to some one who asks “how does that work” - with out replying... “well, it''s complicated”
]]>
2 Comments
September 8th, 2004 at 6:00 am
(Politics)
<![CDATA[
The recent Republican National Convention was truly an inspiring event. The best convention that I can remember in a long time. The 10 point “bounce” that George W. Bush now has over John Skerry (pronounced “scary”) is undeniably a result of the passion, enthusiasm, direction and character that was demonstrated at the convention. The contrast between these two men is amazing. There has not been a larger chasm between two ideologies since Saddam Hussein met the US Marines.
Yet... recently I was having lunch with a friend who declared him self a “moderate”. I recently spoke with a few of my other well meaning friends. I've been amazed to hear things like “well, it really doesn't matter who we vote for”, “Neither one has addressed the issues that I care about.”, “I guess were just stuck with the lesser of two evils”. Are these people crazy?! I've come to realize that, no they are not, just uninformed.
I guess what I have to accept is that when people don't know the issues, or how the candidates stand on them, it has become very popular in our culture, to declare your self “undecided”. It's considered more intellectual to be undecided, not closed minded, not locked on to one candidate or another. I've concluded, however, that their is nothing intellectual about being uninformed. Any one with half a brain, and half an eye to look at what these two men actually stand for can see the amazing difference. The only way you can truly be undecided, is if you (1) haven't decided what you yourself believe, or (2) you don't know what these men believe.
I've now stopped referring to any one as “undecided”. I now correct people who call them selves undecided, by interjecting, “don't you mean, uninformed?” Won't you join me? Anyone who is half way informed about these two men, can no longer be undecided. Let's not let people pretend to be intellectuals (and I would never put that label on me!) who are not.
Call your self undecided if you want, but we know what you really are, uninformed.
]]>
Comments
September 5th, 2004 at 6:00 am
(Family)
<
]]>
Comments
September 4th, 2004 at 6:00 am
(Family)
<
]]>
Comments
September 3rd, 2004 at 6:00 am
(Technology)
<![CDATA[
Since I'm pulling some of my old forum entries out and dusting them off, I thought that I'd include this one too. I'm commenting on some of the differences between VB.net and C# ... the IDE that is, not the languages. At this point, I've decided that I'm pretty much language neutral.
I know that VB.net and C# “technically” have the same IDE (VS.net), but we all know that different teams work on the two language implementations (that's why C# has xml commenting and VB.net does not -- until VS.net 2005 any way). I've run in to a *frustrating* anomaly with the C# IDE, and I'm wondering if any one else has had a similar experience... and perhaps a solution.
I like component classes. I like that I can make data access layers using drag and drop from the server explorer for my common database components (dbConnections, Data Adapters, Command Objects, etc.) I know that a lot of *purest* c# people would never think of using drag and drop anything, but I like them. It makes my development experience easier, faster, and more productive... that is, until I tried them in C#.
In C# project that I am currently working on I have a component class. On the design for I have added 3 db connections, (Production, Test, and Reports) and two command objects. Everything looks great, looks good, until I save and re-open my project. Now, my db connections are there, but my command objects are missing. Oh, the code is still there, but they are no longer on the design surface. That's OK, until I try to add a new command object, then two things really bad happen.
The first is that the new command object doesn't recognize the 3 existing db connections, and so it wants to pull over a new db connection. The second is worse; while the code for the db connections is fine, all of the code (except the declarations) for the other 2 objects gets erased and replaced with the code for the new object! I've done this a million times in VB, and this has never happened. The worst is that sometimes the design surface gets cluttered with with the command objects from a data adapter that I don't care to see, but VB never lost my objects! I wouldn't mind it if the C# team had simply said, "no, we are not going to have drag and drop anything.", but it really bugs me to have something there and just not working.
Has anyone else run in to this? Is there a simple fix, that I am just unaware of? I can see why most C# developers would want to do everything by hand, if this is the IDE experience that they are used to!
Thanks for letting me rant on a bit... this is good therapy.
Update: (Friday, September 03, 2004) While I'm on the subject. Let me also mention the way that the C# IDE handles the synchronization between a aspx page and the underlying cs code behind page. Terribly.
How many times am I going to have to manually update the code behind just because I changed the ID of some element on the UI? Why does everything break when I delete an event that I'm not using any more. The IDE added the “this.Button.Click +=” stuff for me, if I remove the button from my form, then the IDE should also remove the initialization code. It disturbs me when an IDE adds code, but then won't manage it self.
We never had these problems with the VB.net IDE... then again VB.net doesn't support (bool)? true:false; evaluations... and I love those. Oh well, this too shall pass.
]]>
Comments
September 3rd, 2004 at 6:00 am
(Technology)
<![CDATA[
I originally posted this as a forum entry at the Tulsa DNUG forum. I thought that it would make an appropriate blog entry... The question being discussed is which .net language (VB.net or C#) should someone learn first and which is more in demand.
Learning both definitely has it's advantages. But I would suggested learning one really well first. So then the question becomes which one to learn first. That is what depends on your existing experience or on the company that you are (or would like to be) working for.
Personally, I learned VB.net first, mainly because I already had my MCSD in VB6. That made the VB.net syntax easy. The difficult part then becomes the OOP concepts (Inheritance, Interfaces, Everything is a type of object/class). Beyond the OPP concepts, learning the .net framework and .net programming model (ADO.net, WinForms, ASP.net, etc) is the next hurdle.
.net learning curve / process
- Language Syntax
- OOP Concepts
- .net framework and programming model
Fortunately for me, I already had the VB syntax down and a exposure to Java (OOP concepts). The only thing that I really had to dig down for was the .net framework and new programming model. Here is the good part. Once you know one .net language well, to learn another, all you really need to add is the new syntax. Because of a client that I am now working for, I am currently learning C#. The learning process has been MUCH easier than I would have ever imagined. Mainly because I already know the OOP concepts, the .net framework and programming model, and although they are NOT the same... the similarities between Java Script syntax (or any language that has their roots in C.. C++, Java, Perl, etc.) and C# have made learning the C# syntax a refreshing breeze (for the most part)
So my suggestion is that it doesn't matter which .net language you learn first. Just learn it. Practice it, hone those .net Jedi skills. Then learn the other (VB.net or C#)... then, who knows... let you imagination go wild! Dig in to COBOL.net! (hey why not?)
Happy Coding!
]]>
Comments