Tuesday, March 28, 2006

Tuesday Thought

Not that I have anything really meaningful to say this morning. I took the AM off to work on some pressing school stuff. I am making progress, but there are still many miles to go before I will reach my resting spot for the day.

Over the weekend, I was reminded of a book that I read around this time last year. gods in Alabama by Joshilyn Jackson. I pulled the book off the shelf, and turned to one of several post-it flags I use to mark things that I find interesting. I am not sure what I was thinking when I marked it, but it seems relevant for the day.

"...This is real life. You can't stick a quarter in someone and push their nose and get any candy bar you like. People don't work that way. I mean, sure, there is cause and effect, but it isn't predictable." - p.80

Monday, March 20, 2006

Monday Ramblings

It was a Monday in every sense of the word. The alarm went off this morning at 5:15 am, and bed nearly won the battle between me and the waking world. Never the less, I was at work sitting in my shortly after six. Getting up early in the morning isn’t such a terrible task if one goes to bed at a reasonable time. I wasn’t too religious about getting into bed last night, so I have spent most of the day today with that dazed and confused feeling. I am sure you know what I am talking about. It is the one that convinces you that bed time is something that should always be observed.

Even though I was not completely mentally engaged today, I think that I made some great progress on various projects at work. I delved more seriously into Jakarta Struts today. My mentor spent a few hours with me this morning explaining and demonstrating how exactly I will get all of my various beans to talk together in some beautifully organized way making the application work happily and effectively. I am now understanding why my first Java project was just straight up Java Server Pages. This struts stuff adds significantly to the complexity of the whole thing. I do think however, that once I get the hang of it the up front investment in learning will have some great dividends. I wrote a session bean today, and got all of my data-access classes completed. It is always exciting to learn something new. There are also some rumblings that I may get a job title change here in the near future that would allow me to shed my QA responsibilities and put all of my work efforts into development. Exciting stuff if you ask me.

On Mondays I only have one class, compilers. All I can say is that I am awed and amazed with the beauty of the modern compiler. The time and effort that the men and women put into making them as efficient as possible is mind numbing.

If I get some time, I would really like to delve further into my fascination with AJAX. I can imagine so many great ways that it could be used with the applications that I am building at work. I suppose that it is just one of those things that will come with time. Once I am firmly planted with Struts, and Java web application development, I will have to spend some time with it. Of course, there are those that whisper C# from the corners, and I am sure that looks great too.

When do people find the time to learn all of this stuff?

Sunday, March 19, 2006

Long Time No Write

I must admit, it has been a rather interesting couple of weeks. Bar-none this is has been the longest stretch of time that I haven’t spent time to write a post here since I started this thing. I kept thinking, “I really need to write something for my blog”, but then never sat down to write. If I were to make up an excuse, I would blame my lack of writing on the anonymous commenter from a post in February that asked if my blog would continue to be about my homework assignments, or if it was going to be about me. I won’t use as an excuse, but I will say that it has given me a bit to think about, as a lot of my life is school and homework. I guess I just wasn’t meeting that particular reader’s needs. There’s a part of me that wonders what I could have done differently, and there is another that basically says to hell with it. It’s my blog, and I’ll write what I please. Anyhow, lack of recent writing aside, I may have something to say this morning.

Spring break came and went last week, and I can’t say that I did a whole lot of anything important. I did play a lot of World of Warcraft. Yes, what a geeky thing to indulge, but I don’t do it much at all when I am in school, and I was quite frazzled when spring break started, so it proved to be a nice distraction. It was also good to re-convene with some online gaming friends that I hadn’t played with in many months. Online gaming can become quite the obsession, and though I had a great time this last week playing, (a lot more than I should have) I am reminded that there are a lot of “real life” adventures that tend to be more profitable as far as one’s invested time is concerned. But everyone needs a vacation sometime, and I just happened to take mine in a virtual world. However, it is a good thing that tomorrow morning it is back to work and school.

Work is providing me with some interesting projects. The only downside is that I am expected to work more hours as they haven’t as of yet found a replacement person for the QA work that I do. The programming that I have done has given me a pretty great introduction into web development with Java, and more generally how one can use Java with the IBM iSeries. My fist project was to build a simple tracking application, and I did the whole thing manually using pure Java Server Pages. Once that was done, I created some executable .jars that could run on the iSeries, and at the end of last week I started on my third Java project. This one I will be using the Struts framework. I am excited to use Struts, as it looks like it will save me some time on this next project. Though none of these projects are major, it is really great to be able to apply my education, and spend some time mastering a particular domain. So much of what we do at school is firmly grounded in “principle” and “theory”, it is interesting to see what happens in “practice”.

School is much of what it has been since January. I have referred to it as the 16 week marathon, and I still think that the comparison holds. The compiler project is moving along, but gets more complex with each passing week. I think that someone jumping into the code at this point would have no idea what it was doing. There are just too many classes to keep track of. The Algorithms class is really turning out to be a pain; I feel that we are getting a really mixed set of messages as to what the course is really about, and in what amount of detail we are supposed to process the information. Team programming is still quite a bit of fun. We haven’t actually done much programming in the last little bit, as we have been focusing on learning design techniques and UML. I am sure that as we get back into things this next week, we will be back at the keyboards again however. One thing I can say is that C# is a pretty impressive language.

I attended a couple of music recitals at the University of Utah School of Music in the last few weeks and have nothing but great things to say for the vocal rep composed by Richard Strauss, Claude Debussy, and Sergei Rachmaninoff. Recordings are hard to find (at least on iTunes), but the music is some of the most amazing stuff I have ever heard. It is simply outstanding.

I think that wraps it up for this evening. I am going to try to get back into this blogging thing, all fears aside. I am learning a lot of things as I go through the routine of my life, and some of it might be interesting to you, and if it wasn’t at least it was interesting to me.

Saturday, March 04, 2006

Something Old Faster... Why?

One of the most amazing things about the time in which we live is that information is so freely available. Only recently has it been possible to consult your favorite search engine and have relevant information about whatever topic you choose at your fingertips in a matter of 0.55 seconds. By and large this is a great thing for humanity, as it has allowed collaboration that would have been impossible before. Though, could it be possible that this great influx of information has also had a chilling effect upon the way that we do our learning and thinking? Before the word processor with the ubiquitous spell checker, one had to know how to spell. Before calculators were cheap and powerful, the young mathematician had no choice but to learn basic facts. The researcher would often commit many facts to memory so that they would be accessible and ready when they were needed, yet today, rather than memorizing students are often told that it is more important to know where to find the information than to have it readily accessible in their minds.

I recently attended a lecture at school where some of the most basic things I knew to be true about computing were challenged. The lecturer made a claim that though Moore’s law has promised us faster and more efficient processors, that perhaps our ideas of computing, and software engineering really haven’t changed as drastically as he had hoped that they would. Should universities granting degrees in “computer science” be teaching algorithms that were invented in the seventies, and whatever programming language that happens to be en vogue for the day, or should they be more focused on creating thinkers that could discover something radically different than those things that we know today?

I am not convinced that it is a black or white issue, but it is an idea that I have given some thought in recent days. The lecture questioned the idea of software engineering and computer science, from the side that generally software engineers don’t mathematically model/prove that their program will do what it is expected to, whereas all the other fields of engineering are expected to do this analysis before they begin building. The whole thing makes me wonder about the tools that we currently use to build our programs, and what could be done to make software engineering more exact. A question asked several times was “Does your idea scale by a factor of 8 to 10 times and still work?”

If we are to ask questions like that about the systems that we create, certainly we need a more powerful notion of programming, and the question remains, are today’s thinkers being prepared to solve these problems, or are they being so inculcated with the paradigm of the day that there is no room for creative thought?

I think that a lot of that depends on the mind of the individual, though there is heavy influence in the training that the individual receives. In a discussion between classes this week, a few friends were discussing how a CS program could be made more rigorous, specifically the idea of student’s being required to take a class of physics dealing with electricity and magnetism, and math courses through partial differential equations, and possibly some analysis. But more importantly than those “background classes”, the curriculum in the program should be geared toward creating programmers that are thinkers capable of thinking outside of the current paradigm, in addition to being great coders.
So in this age of information, are we getting soft, and rather than coming up with something new, are we just doing something old faster?