Posts Tagged .net

School Days – Part 3. The Whole Shebang.

I’m back in class again. Advanced Web Development using Visual Studio .NET.

I’m not keeping a nice daily diary like I did for the last two classes for a couple of reasons:

  1. I hate this class.
  2. It’s only a three-day class so it’s even more accelerated than the last two.
  3. I don’t understand anything enough to try to describe what we’re doing in class.
  4. I have homework. Lots of it.
  5. Did I mention that I hate this class?

When I came home yesterday I seriously debated whether or not I was even going to go back today. Today, I almost didn’t come back from lunch.

I have the same teacher that I had for the first class and the experience has been similar. I don’t feel like I’m learning anything. My work at my real job is piling up (as evidenced by my bulging work email-inbox), and the whole experience is leaving me burnt-out and frustrated.

At least I got another giant book (although not as big as the last two) to stick on my shelf at work and fantasize about one day being able to go through and learn from at my leisure.

Tags: ,

School Days – ASP.NET Day 5

Final Day.

Today we finished up the giant coursebook (everything except the final “Review” chapter) and ended the day early with our biggest lab yet.

Today’s focus was on Configuring, Optimizing, and Deploying web applications using Visual Studio .NET We spent a fair amount of time learning to optimize the cache to speed up operations on the server side and make applications peppier and more user-friendly. We also got into Security and Authentication. A lot of the authentication chapter seemed pretty familiar because I’ve had plenty of experience on secure websites (Amazon, Gmail, Newegg …etc) but now I understand why those sites sometimes seem so slow or time out altogether. There’s a lot of communication going on behind the scenes of a secure transaction! Add to the mass of communication a little network lag or a flaky hard drive in a server farm and you end up staring at an hourglass for five minutes while waiting to checkout. While the hardware can never be perfect all the time – the other concepts we touched on today can help prevent us from building a problem into the software.

Just before we started our last lab the teacher handed out the course evaluation cards. I submitted a much better evaluation of this course than last time because I really enjoyed being in this class and feel like I really learned something useful. Unfortunately, he said he’s pretty booked up over the next few months and he won’t be teaching again all summer, (I have two more classes this summer and that means I might get the teacher from my dreaded first class again! *shudder*) so he put his personal email address up on the overhead and passed around a sheet for us to give him our email addresses. He said that he likes to be able to pass along special deals or tips or interesting web sites to his former students and all he needs is to add us to the list. He mentioned that he always reads his email but warned us that with his schedule, he can’t promise he’ll be able to answer in a timely fashion.

All-in-all, it was another success. Depending on my ability to convince my boss (and her boss) to get me a copy of Visual Studio so I can prove I learned something, of course.

P.S. The next class is ‘Advanced Web Application Development Using Microsoft ASP.NET’ and it’s in TWO WEEKS!! It’s only a three day class, but I’d better re-read my notes and go over that giant coursebook again. I bet I’m gonna need it.

Tags: ,

School Days – ASP.NET Day 4

Well, today I’m back to school after the holiday weekend.

We accelerated a tiny bit today because tomorrow is the final day of class. As luck would have it, today we covered XML and web services. XML is yet another in a series of languages I’ve heard of but have had no real experience working with. XML is special because it’s so extensible (which means it’s very flexible and powerful and that if you think you know all about XML – you’re wrong) Our teacher said that he could easily teach a five day course on just XML, so today’s lessons would only gloss over the parts which we’d be covering in our labs.

I have to admit I was intrigued by the lessons though. Throughout the course of the lecture, the teacher kept using me and my job as a specific example of something XML is well suited for. He made up examples using the data that I have to deal with at work everyday and gave me some really great ideas for things to try to implement when I get back to the office (if I can somehow get my hands on a copy of Visual Studio). Around the office I’m always saying that “if I have to do it more than twice, I’ll write a program to do it for me”. XML and web services could make a lot of data-sharing and read-only lookup applications much nicer and easier to support.

Speaking of ease of support, today I spent a lot of time trying to straighten out a problem with the webpage at work via email. Between listening to the lecture and plowing through labs I was constantly checking my work email for responses to questions and fixes. I got everything fixed finally but I’m dreading the pile of work waiting for me when I get back to work.

We wrapped up today talking about UDDI(Universal Description, Discovery, and Integration) which allows people to publish web services and the documentation for using them over the internet. There are web services for stock quotes, weather, finance calculators and tons more. The one the teacher demonstrated today was a little less useful, but way more fun… Bork Bork Bork (Type in a phrase and click ‘Invoke’ to have your phrase translated to ‘Swedish Chef’ – funny, huh? Ok…not really, but it shows how you can use a service somebody else wrote in your own webpage in just about two lines of code.)

Tomorrow’s the last day and there’s only three more chapters to go.

Wish me luck.

Tags: ,

School Days – ASP.NET Day 3

“VBScript is dead on the client side.”

Our teacher has some very definite opinions on certain technologies and the right tool to use for certain jobs. With computers getting more powerful everyday and memory prices falling it’s becoming more and more practical to distribute some of the work of a web application to the client. In other words, nowadays when you click on a button or fill in a text box on a web page – it might be your computer that’s making sure the phone number you entered is really a phone number or the password you made up has more than 6 letters in it.

Using .NET gives you the ability to use almost any language on the server side to develop your applications. For instance, we are using VB.NET, but like I mentioned yesterday, our coursebooks have samples for all the exercises written in C# also. But you can use almost any language. Using a variety of languages allows a programmer to do really powerful things on server level in record time. Programming in the language you are most comfortable with has definite advantages.

Ok…but what the hell does that have to do with vbscript, right?

With web applications becoming more and more complex it’s nice to be able to have the client computer do some processing so the server doesn’t have to do it all. Unfortunately, the client computer is almost always connecting to the application with a web browser and the language choice for browsers is somewhat limited. According to our teacher, JavaScript is the way to go. It’s fast and popular and robust and has syntax similar to C (or was that C++?).

The problem, of course, is that I don’t know JavaScript.

Damn.

Today I learned that I have a whole lot more learning to do.

On the other hand, tonight I was able to install Visual Web Developer 2005 Express (Microsoft’s scaled-down, free version of Visual Studio) and successfully created a totally useless web application that adds two numbers together when I click a button. It’s pointless and ugly, but dammit, I did it.

I’m on my way.

Tags: ,

School Days – ASP.NET Day 2

I know he’s the teacher and everything, but how the hell does he know all this stuff? Watching the teacher do demonstrations (which he totally makes up on the spot instead of using the examples in the book) reminds me of how I felt the first time I wrote a basic program and watched amazed as it did what I told it to do. Before I was comfortable with the language and the syntax, viewing a program listing was like reading some arcane spell. The fact that I was able to talk to the computer, in it’s language, amazed me. It still does.

Today, I was once again reminded of some big holes in my formal education. Being self-taught can be a huge ego boost, but missing out on fundamentals can make putting things together later on a lot rougher.

The thorn in my side once again is object orientation. The rest I’ll grasp eventually with enough repetition. I just can’t wrap my head around ‘classes’ and ‘namespaces’ and the difference between a ‘function’ and ‘subroutine’ (they look the same to me) and don’t ask me about ‘custom procedures’. When the teacher is typing away and we’re watching on the overhead projector, everything makes total sense. I can follow it all. But when it comes time for me to do it on my own, I freeze up. What was the constructor of the Lab23990 class again? What’s the syntax to iterate through every member of the Benefits collection? AAARRGGHH! To make matters worse, our coursebooks show each example written in both VisualBasic and C# and I’m convinced that they pay someone to purposely come up with the most ambiguous variable and class names they can think of.

The light at the end of this tunnel, however, is that if I can convince my boss to buy Visual Studio for my use at work, I have plenty of reference material and some absolutely great ideas for some new web applications and cleaning up old ones. And the ability to use Visual Studio at my leisure to write, screw-up, debug and deploy applications will help me to finally tackle the object orientation concept.

I might not seem like it, but… I’m having fun.

Tags: ,

School Days – ASP.NET Day 1

Today began the second round of classes I get to go to for work.

This section covers ASP.NET and from what I can tell it promises to be way more useful and interesting than my last class.

After only one day, I can tell that the teacher for round-two has actually taught before. He’s pleasant, funny and doesn’t just read us the book like the last guy did.

We spent today kind of reviewing some of the concepts from last class, and this time I understood it. I’m sure the combination of a better teaching style and a framework that I think I’ll actually use at work (a lot more web, database and browser stuff) naturally makes it more interesting.

The day ended early (sweet!) with a discussion on open-source applications (ruby on rails, Apache, php) vs Microsoft and their applications (ASP.NET, IIS). Of course, we’re being taught Microsoft technology (and thus, our teacher is pro-Microsoft) but our teacher is familiar with the open-source equivilents and isn’t afraid to bash Microsoft on some controversial concepts. We all had an opinion one way or the other, although nobody defended either side very strongly. All-in-all, it was fun to talk with people who knew what I was talking about for a change.

I’m ready for tomorrow.

Tags: ,

School Days – .NET Day 5

Graduation day!!

Today dragged by slowly. Mostly, I’m sure, because we all knew it was the last day. Our teacher was determined to get us through the end of the textbook so ahead we went.

We finished up “web services” and moved on to “threading and asynchronous programming”. Don’t feel bad – I sat through the lecture and labs and I’m still not sure what it means. Something about Windows’ ability to perform two or more tasks at once and how to control everything while it’s happening. It was complex and not helped by the fact that we all agreed that it’s a concept we probably won’t use when developing applications at work.

Lastly, we got into ADO.NET. Cool. Database connectivity and programming. This is what I do everyday at work (well, not exactly in this manner – ADO.NET is much nicer and more advanced). Unfortunately, it was a small chapter and only intended as an introduction to ADO.NET I will actually be attending another class in June that is five days of only ADO.NET.

At least the class ended on a good note. There were no sad goodbyes or pictures and no graduation march. (We didn’t even get our certificates – the teacher couldn’t find them) Our certificates will be mailed to us. Just before the end of the class we were given a business card with instructions on how to login and fill out a survey about how much we liked the class and what we thought we got out of it. I was fair, finding a balance between the fact that the teacher taught at high-speed and the fact that we all didn’t necessarily have all the prerequisites to be there in the first place.

All in all, my first experience with Corporate College was pretty cool. I enjoyed it more than a typical day at work, so that’s saying something. I’m looking forward to going back in June and hopefully will be more prepared. Until then I have to spend some time working what I learned into my everyday jobs or it will all have been for nothing.

Tags: ,

School Days – .NET Day 4

A weekend and a couple days back at work and all the sudden I was back in class. I spent the weekend trying to find information on object-oriented programming and VB.NET, but wasn’t happy with the results.

It only took about two hours at work for me to wish I was back in school. There are several “me-only” projects at work (applications that I am sole-support for) and they all went freaky-go-nuts last week while I was in school. So my two days back at work were filled up with chasing and squashing database bugs and generating custom reports. Since people knew I was only going to be at work two days this week, any free moment was quickly filled with ad-hoc requests and just-in-case applications. Whew. I’m glad to be at school.

Today went better than the end of last week. Even though I wasn’t satisfied with what I found on the internet this weekend, I guess the sheer repetition helped me grab onto a few facts and familiarized me with more syntax. I cruised through the labs and even chatted amicably with the teacher during lunch break. Not bad at all.

Tomorrow’s my last day and we’re supposed to get our certificates. We’re also supposed to finish the workbook and we’re not even close to the last chapter.
Once again I had homework and once again I didn’t really do it. We’re getting into web services and other internet programming and the concepts are a bit more familiar, so maybe it won’t be too bad.

I still have every intention of going through the workbook again at my own pace and really try to learn this stuff, but after dealing with what I dealt with at work on Monday and Tuesday, I’m just hoping I have enough time to read anything at all.

More tomorrow…

Tags: ,

School Days – .NET Day 3

If I’m to keep with my swimming analogies from the last two posts, today was the day I went under water for the first time. There was a time today when I was so saturated with new concepts and syntax that I actually couldn’t read what was written on the page.

I actually answered a question about delegates with the phrase “I’m lost”.

Initially I blamed myself because I couldn’t bring myself to knuckle down and seriously read the 100+ pages the teacher assigned yesterday. I skimmed them and hoped that I would better be able to concentrate after a good nights sleep. No such luck. We started moving way too fast and before I knew it we were covering topics I never even knew existed. At this point I went through the five phases of dying:

Denial: There’s no way in hell I would ever use this stuff. I’ve been programming for twenty years in some form or another. If I need to figure out how to do something – I’ll figure it out some other way. This is stupid.

Anger: Ok, Ok, damn it, slow down! Nobody can learn this fast. If he thinks we’re speed readers with a background in object orientation, he’s crazy! We’re not stupid.

Bargaining: If I just keep nodding my head when he asks if we understand I’ll be able to catch up on my own time. I’ll study like hell over the weekend. I’ll look stuff up on the internet. As long as I don’t cave in now, I won’t look stupid.

Depression: I’m the only one in class that doesn’t get this. No way am I as smart as I thought I was. When he asks me questions I just sit there staring at the book in front of me. I can’t even make a sound. I must be stupid.

Acceptance: At least it’s Friday. All I have to do is sit here and smile for four more hours and then I can go home and forget this ever happened. Maybe I’ll play some games or watch some TV. No sense getting all worked up over this. No point in doing something stupid.

Luckily, as I was going through these stages I slowly realized that the others in class were going through them too. By the end of the day it came to light that there were some questionable (or just plain wrong) examples in the textbook and the teacher finally noticed that we just weren’t grasping the concepts when delivered at high-speed. I realize that the course dictates that we cover the entire textbook and that we only have two more days to do it in, but we all agreed that we’d rather not finish the text and really learn something than race through the book and have no idea what the hell we supposedly learned.

I really am going to do some work in this area on my own because I am still interested in learning .NET, but after three days of high-speed cramming, I’m ready for a weekend and a couple days back at my real job.

Next class is next Wednesday and the final class is next Thursday. We’re supposed to get certificates at the end of class, but I’m not sure what we’ll be certified to do. I’ll be sure to post some updates. Stay tuned.

Tags: ,

School Days – .NET Day 2

If I was thrown into the water to see if I could swim yesterday, today I was only treading water.

Day two started off much the same as yesterday. The teacher even said not to count on him to be on time tomorrow since he hasn’t been able to make it on time the last two days.

We immediately picked up where we left off yesterday and then got into last nights homework. I felt like I was on top of my game so far. Some new terminology was getting more familiar as I worked through the labs we had to do and I was able to help out others in the class.

We then moved into a new chapter and my head started spinning. “Common System Types” exposed my lack of formal education. Although the concepts make sense I was completely lost with most of the syntax (verbage). Just like yesterday, I once again ran into some concepts and devices I have used before but did not know what they were called, and that made sense, but for the most part, most of this stuff was brand new.

The organization of concepts and structure was logical and well laid-out, but my lack of experience made me wish that we weren’t moving so fast. I’m picturing this whole experience as having a puzzle with dozens of missing pieces. I now have the opportunity to place some missing pieces but the collection of pieces I have to choose from is just too big. Too many pieces fit in too many gaps. Some pieces are interchangeable. Some pieces I already have but don’t know it yet.

I’m afraid of the temptation to just coast through the rest of the class. We’re not being graded and the courses’ accelerated curriculum is only supposed to make us familiar with the concepts. We get to keep the book and I can study as much as I want once the course is over. I can just follow along with the class and get my certificate and go back to work.

But I want to learn this.

I’ve got to study.

Tags: ,

School Days – .NET Day 1

The first day of .NET training went pretty well.

I’ve decided to do my absolute best in this class. Work is paying for it and I probably wouldn’t be able to have this opportunity otherwise. I’m supposed to familiarize myself with .NET so I can be first tier support for applications at work, but I’m going to try to learn all I can and maybe do a little application development of my own.

We all arrived just after 8:00am and were let into our class, were given the student password for our Windows XP workstations and told that we were free to browse the web (browsing was monitored, but not restricted that I could see) until our teacher got there.

A little bit after the 8:30am start time our teacher, Mark, showed up and apologized for his tardiness, saying there was an accident on the freeway.

Right off the bat we got these giant text/workbooks “Programming with Microsoft .NET Framework” and we started to thumb through them. There were a few pale faces by this time because some of the people in the class did not have a strong programming background and were feeling a bit intimidated.

It didn’t take long to determine who was going to get something out of the class and who might struggle a bit. By the end of the day I was pretty happy with my progress. I think I kept up with the speed of the lessons and was able to fill in a lot of gaps in my sketchy programming background.

We had homework, unfortunately, because the teacher felt we spent too much time going over material that he thought we should have already been familiar with.

Tonight I was able to install the .NET framework 2.0 and the .NET SDK on my computer at home and follow along with the lessons in the homework I had, so at least I’m familiar with what we’re going to be covering tomorrow.

Well, I’m almost done with my homework and I’m looking forward to tomorrow.

More then.

Goodnight.

Tags: ,