Wednesday, February 28, 2007

More and Less

It feels like that time of week that I should sit in front of the computer and write some semblance of a blog entry. Just remember, this forum was never meant to be a work of literature, though I must admit that since I changed the style of things around here, I feel obligated to write more rather than less. Life is strange sometimes. There has never been more, and less, going on at the same time. Work continues to be interesting, fun, challenging and full of new problems to solve. I really love work. The countdown I have on my Google homepage tells me that I have sixty five days left of school as an undergraduate. As ironic as it is, I thought that I suffered from “senior-itis” the last few months of my high school career, that doesn't even compare to how I am feeling now. There is a rather large, and somewhat interesting project to be working on for school, but I have the hardest time forcing myself to work on it. It does involve some of my favorite topics though; compilers, programming languages, and web-architecture. I think that the real problem is that after putting in a 10+ hour day at work, coming home and doing more programming isn't very appealing. And so I say, there is more and less, going on at the same time.

I've found that when I don't want to do homework there are several good time sinks.

Twitter – if you haven't tried it out, you really need to. It's like blogging only way easier, and in the tongue-in-cheek words of my friend Curtis, way less thoughtful. I think it is fun, I should probably work on expanding my network there though the realm of instant messages and text messages still feels a little personal for people that I only know through blogs.

Reader – when in doubt, find some more blogs to read. I really like the way that you can share read items there, it's particularly interesting to see what another person found novel, important, or useful. I like it a lot better than I like link blogs, though those do serve their purpose too. If you have a feed of shared item's give me a shout out so that I can add you.

Flickr – the good 'ol flickr. Visually stunning, and always enough to keep that little voice in my head telling me that I need to get outside with my camera a lot more than I currently do. I think that in the coming weeks that will be remedied as I just spent some coin on a new tripod. I am very excited about it, it's really nice, and will let me play with some of these new fangled techniques that I've been yearning to try like HDR.

American Idol – Yep, I'm a sucker for this show. I can't explain it, well I can it has to do with having no life, but, it is still quite entertaining. It's fun to see how my personal opinions about the performers and performances compare with those of the judges.

NBC Comedy Night – Earl, The Office, Scrubs, 30 Rock. Need I say more?

When you've got the Internet and television, who needs homework. I'll be more focused tomorrow.

Monday, February 19, 2007

Day Off

Holidays are great indeed. In the past, I've been one to try to use a holiday to make up for lost hours at work. However, things are a bit different this semester, in that I only have two classes at the University. This means that I am actually at work a lot more often, during normal business hours, and because I am actually not behind on my hours, I figured that actually enjoying a holiday might not be such a bad thing. And I haven't been disappointed.

I've spent most of my day reading. I started a subscription with Communication Arts sometime in December, and my first two magazines came in the mail sometime in January. I've just been too occupied with other things to get to reading them. Not only are the magazines beautiful on the outside, they're beautiful on the inside too. Yes, I know, this should be expected from a magazine that caters to the design community, but still, it was fun to look through the art, and read the thoughtful articles. It's pretty cool stuff. You may ask, why would a programmer geek be purchasing a subscription to a design magazine? Well, I hold this idea in my head that deep inside the psyche of every programming geek is a designer (though not often a very good one). So, in an attempt to train my sense of design, I've decided to read this magazine. It's good to have balance right?

I also finished Chuck Klosterman's Sex, Drugs, and Cocoa Puffs today. That book, could really be an entire blog post on its own. Rather than spilling my guts in a review though, I will say that the book presents some though provoking philosophies on the society we live in, and “low culture”, which to some extent every person has some contact with, no matter how cultured they think that they are. I don't know that I can actively recommend this book, as I think it would be offensive to most people I know. At any rate, I finished the book for a book club and though I don't agree with some of the points the book makes, it was thought provoking none the less.

Until today, when it decided to snow an obscene amount for February, the weather has been getting nice, and I have decided to take some time each day to walk around the neighborhood with my camera. This serves two purposes. First, it allows me to get some much needed time away from the computer screen for exercise (since the heart association tells us that 30 minutes every day is a good idea). Second, it gets me outside with my camera, which should hopefully allow me to get more photos on flickr in the near future. I'm on a black and white kick currently. I may try to stick with it for a month, just for the sheer fun of it, and the fact that I've decided, I am no good with color correction on raw photos.

School has really been rather anticlimactic to this point. I really imagined my last semester at the University to be something very different from the way it is going. This doesn't mean that things aren't good, they are just different. The “senior project” is going well, and I think it is quite interesting, though there is quite a bit of busy work surrounding the real work for that class. The “industry forum” seminar that I attend once a week has been very enlightening. The speakers are well qualified to be presenting to the class, and the topics are diverse and engaging. The countdown on my Google home page tells me that I've got 74 more days until I'm done with school, it's both cool and frightening at the same time.

Wednesday, February 14, 2007

Something, albeit short

Valentines day. In my family it is a bittersweet day as we celebrate the love we have for those around us, and commemorate the second anniversary of the tragic death of a cousin. I guess sometimes we have to face the hard things in life to understand how good it really can be. Love those around you while you can, you never know when they might not be around. I came across a really great though last week, I'll pass it along.

When you are about to speak about someone else, we would all do well to think about these three points before opening our mouths.
(1) Is it true?
(2) Is it necessary?
(3) Is it kind?

An interesting principle to live by. I wonder how much more love there would be if we put some extra thought into what we were about to say.

Wednesday, February 07, 2007

Truly...

The computer situation around my life has been much like the "get mac" add that I linked to a couple of weeks ago. I finally have a desktop again. It wasn't really an upgrade, but at least with a new motherboard, processor, and hard drives, I have a serviceable machine again. If my machine had been PC in the get mac advertisement, it really would have donated it's peripherals.

I still have dreams of getting something awesomely powerful in the near future.

Sunday, February 04, 2007

The Death Of CS in Education

I came across this article by way of Slashdot this evening, and while agree that the professor with regard to where computing may go in the future, I disagree with his notion that there won’t be a need for a classical computer science education. Yes, the tools are getting smarter, and it is possible to write complex web applications and end up writing very little code, but I would like to ask, who wrote the frameworks that made those things possible? Certainly, computers are getting faster, and operating systems are getting smarter. Indeed, most people really can treat the computer as a black box that makes life easier. However, it seems to me that we still have a lot of work to do. If we didn’t have students studying computer science, computer engineering, and electrical engineering would we be able to purchase dual core processors today? I sat in a lecture given by Alan Kay last year, and his major point wasn’t that computer science education was dead, it was that computer scientists have become complacent with the tools that they have, and that rather than trying to push the limits of what we can do, we’ve accepted the status quo, and aren’t really progressing.

As someone who is about finished with a bachelor’s degree in computer science, from a school that still has some rigor in the program, I really question the crowd that claims we should turn computer science into a vocational degree. Some of this comes from personal bias having studied the theory, and done the proofs. I am a computer scientist before I am a software engineer, and I think that it is because I am a computer scientist that I am a good software engineer. When I set out to write software, I understand what I am doing, how it works, and why implementing a function in a given way gives me the results that I want. That isn’t to say that the vocational programmer doesn’t understand some of these things, but it is far too often in practice that I find a vocational programmer that has significant problems with his program because he doesn’t understand what the code he has written is actually doing at the machine level.

Universities and professors worry about a drop in CS enrollment, industry worries about it too but for different reasons. I believe that the one of the largest hurdles in the US is that math and science aren’t rigorously taught in the schools. It’s seen as something ‘geeks’ do because it is taught so poorly in the public system, that if you’re not a geek, it simply doesn’t make sense. So, you have a child who loves computers and loves to play games. This child may even think that it’s something that they would like to study. The problem is that when they look at all of the science and math prerequisites for a CS degree they get scared off, because their background simply isn’t strong enough. Many CS programs have taken the approach of lightening the math/science requirements of their degrees, or offering courses in game development as a last ditch effort to bring more people into the fold. I don’t think this is the real answer.

By removing the theory from a CS program, all you’re left with is a vocational degree, and just as the professor said, then all we do is use frameworks and programs that have already been built to solve out problems, all the while not really accomplishing anything new or novel along the way. We could get into a huge discussion here about what a business should do build or buy, create their own new framework or use one already in existence, but that isn’t germane to the point tonight.

If computer systems are to continue to get smarter, and do more to make our lives easier, the world needs bright people with classical backgrounds in computer science; people who understand where the field has been, who can also dream about how it should be in the future; people who are willing to step outside of the box and solve the hard problems that vocational programmers simply can’t understand.

I agree with the point that as computing moves into the future it will become more specialized. This point almost goes without saying. To steal a thought from Alan Kay again, in the early days of biology there was one biology department at a university, and it studied everything that there was to study about biology. However, as research as widened our knowledge of biology it has become necessary to split biology into different departments, each covering a specialty so that the research can keep moving forward. Certainly something like this could and should happen with computer science. There are so many things to learn now, it really is impossible to survey the field with any depth in four years, and as noted in the article, each computers are used in every discipline, so once one has a basic understanding of how the computer works, there is additional domain knowledge that is necessary to make an application function in any area.

I don’t think computer science education is dead. I think that it is currently struggling under its own weight. In a century, more has been written than anyone could learn in a lifetime. This doesn’t mean we should stop teaching it, or turn it into a vocational discipline. It means that we need to adjust our curriculum, distill the important parts, and teach the theory that will be applicable to the tasks we need to solve. We must challenge ourselves to do things in new and different ways, things must continue to evolve, and they simply can’t if practitioners of the field don’t have the background. Computing is still math and algorithms. If someone doesn’t understand that, it’s going to be hard to innovate.

We are at the beginning of a new era, but rather than thinking that computer science isn’t going to be important to academia and business in this era, I would argue that will be at the heart of every new advancement to come our way. Computers have worked their way into the daily environment of billions of people. It’s just very hard to think that you wouldn’t want very smart and educated people working on those systems to continually make them better. That can’t be done without computer science.