Monday, January 31, 2005

From A to B

I went to TA office hours for both of my CS classes today. When I greeted one of the TA’s this morning I asked him how he was doing.

Response: “I’m a… really just shooting from the hip today. Ima’ day late and a dollar short.”

That pretty much sums up my first office hours experience of the day. Sometimes I forget that the TA’s have just as much work, if not more than I have. Not only do they have to take care of students in the classes they TA for, but they also have to do their own homework. It was a bit frustrating though not being able to count on the TA for sound advice with regard to the current homework assignment.

Just in case you were wondering, yes, it is a challenge. The C++ syntax is coming along; at least that part of the battle isn’t as bad as last week. However, the assignment is just crazy. I think that it was an exercise in how to get to point B from point A by passing through point Z first.

Maybe I will finish it tomorrow. I really need to work on Linear Algebra, it has been far too neglected.

Sunday, January 30, 2005

A Timely Lesson

It was clearly one of those weeks. I can’t believe I did something so stupid. Remember that homework assignment that I spent 30 hours on? Well, I submitted the wrong set of source files to be grades. I removed the memory leaks from an older set of code, and because I had turned off the output of the report, I had no idea that I was working with a version that had design flaws in it. I made a bad assumption, by not even checking to make sure it all ran ok when I handed it in, and now I will probably end up paying for it by receiving a bad grade. I sent an email to the professor explaining that I really did complete the whole assignment, asking that this time he accept the real version in place of the one I turned in. He didn’t seem too pleased with the idea of accommodating my mistake, and understandably so. There may still be some hope for the assignment, if not, it will just be an expensive lesson, and I will be much more careful about making sure that what I hand in is what I intended to have graded.

Some days I really feel like a CS major, others I wonder what I am doing in this program. Any student with a brain cell would have made sure that the assignment he was handing in worked.

Make sure that when you are ready to say a piece of code is complete that you have run and verified ALL of the tests ONE LAST TIME.

Maybe this will help me to have a little more mercy upon the programmers at work. It sure is easy to mess up. I just wish I didn’t experience it with my grade hanging in the balance. Thank goodness this is only worth a fraction of my final grade.

On a more positive note, Derek Cuthbert said:
“Fear is prevalent throughout the earth. It stifles initiative, saps strength, and reduces efficiency. It weakens faith, brings doubts, and begets mistrust. Indeed, it tends to impede the very business of being. How negative, frustrating, and futile is fear.”

So rather than being fearful and worrisome, I choose to learn my lesson and move on.

Friday, January 28, 2005

Abstraction & The Time Game

While walking to our cars on yesterday one of my friends makes a comment about abstraction and how it is absolutely critical to the development of hardware/software systems today. I really hadn’t given it much thought, but then that is what abstraction is really about. If each part of the system does its job well, no one else really needs to know how it does what it does, only that it does it. In class we were having a discussion about i/o in assembly, and the beautiful thing about it was that, at least in MIPS, you can use system calls to get input and to give output from/to the user. The thought that came to my friend’s mind was that if we are still able to call built in functions, even in assembly, that means that someone had to write the actual assembler, and that somewhere, someone had to deal with the nuts and bolts of actual i/o. Interesting thought. Abstraction grants us sanity. Isn’t it great that one can write in a high level language and not have to worry about register allocation? In the object oriented sense, isn’t great that I can use the STL map in C++, in Java the Collections Framework. I learned how to implement my own map, but it is so nice just being able to call a standard version somewhere, and not have to worry about the implementation. It can save time, stress, and money. I hadn’t made the connection that most every system in the modern PC works on the principle of abstraction until we had that conversation yesterday. As I thought about it, I really gained an appreciation for the principle. When I started this programming game, I didn’t totally understand the principle abstraction, but I am now beginning to see how it is threaded throughout the area of computing.

The Time Game
Thirty hours on the software practice homework last weekend really messed up my timing this week. It seems that no matter what sacrifices I make to have more time to study, I still never have enough time to do things the way that they need to be done. Yes, I did a great job on the software practice homework (I hope), but it resulted in me not spending sufficient time on Linear Algebra or Computer Organization. The result? Last night at 11:30 I was trying to finish the Computer Organization assignment, and didn’t understand the last problem. You may say, but it was only one problem. That is true, but those are still points that I shouldn’t be missing. There is plenty of help out there but it is only available if you get started early. On the current homework dock I have a new assignments in all of my classes. I am now trying to figure out how to give each of them adequate time this weekend, so that I can get the help I need to get them all finished on time and completely.

I really do love this stuff, the learning curve is just steep, and all assignments take time.

Wednesday, January 26, 2005

Laptop on the Way

One of the nice things about being at work is that it gives an absolute reason to not be working on school. Yet the school projects are still in the back of my head, picking at my brain as the day goes along. It is one of the mixed blessings one receives trying to be a full time student and part time worker in an environment of full time employees. Working adds balance to the routine and forces the student to be more organized, especially when it comes to time management.

One would think that by now I would be used to having multiple projects running concurrently, but I am here to tell you that it is an experience that I am still not used to. I am learning however, that the much of the difference between those that succeeded and those that don’t is time management. We all have the same 24 hours, what do we make of them?

I finally broke down and ordered a laptop computer last night. As much as I would have liked to “convert” to Apple, it just wasn’t feasible at this point in my life. Everything that we are doing in school right now is Windows based. It was very smart on the part of Microsoft to give VisualStudio .NET to the School of Computing, and all of its students, very smart indeed. At any rate, I needed a Windows based solution, so the Apple dream will have to be postponed for another couple of years. The goal now will be to pay off the new machine as quickly as I can. It shouldn’t be too bad, I have been saving for a while, and it should only take a couple of months. On the happy side of this purchase, it is a small Dell Inspiron 700. It will be so great to be able to take the computer to school with me. I will be able to take notes in class if I choose, but more importantly than that, I will have the ability to collaborate with my classmates outside of the computer lab, and long distance IM sessions.

Onward and Upward!

Tuesday, January 25, 2005


I am sitting here in the CS undergraduate lab with comrades on both sides. I got a nice bit of advice regarding my memory leak problem this morning while in my computer organizaiton class. First thing after class I commented out ONE LINE, rebuilt and ran the program. WONDER OF WONDERS, NO MEMORY LEAKS!!! I finished, it took close to thirty hours to finish my first C++ program. What a rush.

Now the only sad thing is that I still have a ton of stuff to accomplish between now and the end of the week. Heck, there is still a ton that needs to be done today. I am a bit nervous about the quiz that I have to take this afternoon. I will keep helping my classmates here for a few more minutes, then it will be time to get something to eat.

Monday, January 24, 2005

The Best Laid Plans

It seems that even when you make an effort to plan well, rocks will still jam the cogs, and improvisation will be necessary. It is now apparent why the CS department advises that one not take more than three classes if he intends on working part time. The time commitment necessary is simply astounding.

After having spent 24+ hours on a single assignment and aggregating a combined total of ten hours of sleep since Saturday, I had hoped to have the afternoon to catch up on the remaining to-do list items.

Assignment due and a quiz tomorrow in Linear Algebra
C++ assignment due tomorrow … need to chase out the memory leaks
Do my laundry
Computer Organization assignment due Thursday

I had planned on taking the afternoon off, but I forgot that I would be on call necessitating my being present in the office. I guess that means it will be another late night.

Still Going...

Another 12-13 hours on the CS project. It compiles, it runs correctly, but there are memory leaks. It seems some significant revisions are still in order.

Sunday, January 23, 2005

The Steep Learning Curve

My CS2010/2020 professor Art Lee, used to tell my class about how cryptic the C++ compiler errors were. He told us that after a day of programming in C++ we would beg for the ease and functionality that Java provides. He was prophetic on both accounts.

If this current programming assignment isn’t sink or swim, I don’t know what is. There is something new to learn with each function that I write. There is a new compiler “gotcha” that I learn about each time I build the project. The positive side is that I am learning. The negative side is that this is becoming tedious, and very frustrating.

Twelve hours spent yesterday. I wonder how many today. Will I learn how to search a vector of strings for equality of the string? There is so much to learn.

Friday, January 21, 2005

Weekend and Lunch Break

The weekend is always welcome. It provides some respite from an otherwise very busy schedule. Not that the weekend isn’t pretty scheduled, the pace is just a bit slowed from what it would normally be. When school is in session, the sad and wonderful thing about weekends is that they provide the student with time to do all of the stuff that there simply was not time to do during the week. This weekend, like most of the other weekends I have had since I started on the road to becoming a computer science major will be filled with of the feelings good and bad that come with coding out a project.

Last night, shortly before I tucked myself into bed, I had finally spent some time trying to understand the specifications for this C++ assignment that will be due on Tuesday. The lecture in class helped a bit toward my understanding as well. C++ still feels a bit cloudy, (much the way the weather here in Salt Lake has been for the past two days) but I feel that I am now to the point that I know what the thing needs to do functionally. I am hardly comfortable with how it will actually be coded, but I figure that with some help from my trusty Sam’s guide, hours of effort, and some luck, things will work out. Tonight should provide me with the time to actually start writing the code. It will feel good to actually start building it.

I am still looking for some really good websites about C++. It seems that so far, I haven’t had much luck at finding something that will serve as a good online reference. I am now realizing how very spoiled I have been by Java is extremely well documented, and it makes the programmer’s job a lot easier. I am sure that with time C++ will get easier.

Today on my lunch break, I decided that I would go peruse one of my favorite clothing stores. I generally try to stay out of clothes stores, as I have a hard time not buying things while I am there. As of late, I have been tying to control my spending, so I carry a minimal amount of cash on me, and leave the debit card and credit cards at home. Because of this new financial policy, I knew that I could safely browse the offerings at Nordstrom today. There were some great clothes and shoes, and of course nothing was on sale. It was just fun to go and take a look at what they had to offer. Recently, I have decided that it is easier on the wallet to shop at Old Navy, and Famous Footware. How I ever used to spend $100 on a tie, $150 + on shoes, or $80.00 on a shirt is beyond me. I like to dress up, and wearing nice designer clothes is fun, but seriously, $100 on a tie just feels excessive. I would rather save (for savings, computers, and life) at this point in my life. And just incase you are wondering, no, I don’t need any clothes. I was just enjoying my lunch break. For the rest of lunch I meandered over to Border’s, looked at their tech book stock, (Amazon does SO much better with regard to tech books) and drank a diet coke in their cafĂ©. All in all it was a wonderful lunch, a great time to relax and think.

This morning work was slow, this afternoon it has been surprisingly busy. Just a few more hours, and the weekend will be underway.

The iPod End Game

An excellent essay by Mike Davidson with his speculations on the future of the iPod, Apple, and digital media. The essay is well written, and has some excellent conversation at the end.

Thursday, January 20, 2005


Motivation is important to learning. It is much harder to learn when not motivated. There is nothing like a deadline, and a test to inspire one to spending the hours to learn a subject. Today I found motivation to enjoy Computer Organization on three levels:

1. It is just interesting, and in the geek world, knowing a bit about binary and how assembly works is pretty pimp.

2. It isn’t going to go away any time soon, so I had just better get used to dealing with numbers in binary and hex. It is time to sit down, and memorize how it works.

3. By understanding how hardware works, and how a compiler will implement various high level statements into assembly, I can be a more efficient programmer. It is to my advantage to know these things.

I managed to finish up the Computer Organization assignment last night. It took a good deal of thinking, but in the end wasn’t as frightening as I had originally made it out to be. Tonight, the plan is to start work on the C++ assignment. In preparation I started reading my Sam’s, Teach Yourself C++ in 21 days, which in my opinion is a lot easier to understand than Budd’s, C++ for Java Programmers. This first assignment will be an interesting journey.

Growing pains are good. They remind you of where you have been and where you are trying to go. When seen with the correct attitude, the pain felt with growth is a promise that you are increasing, stretching and making the necessary changes to accommodate the growth. If one can learn to thrive from growth and its associated pain, he will be all the better off in this world. I had an interesting conversation with a friend last night, as I re-counted the pains that I am feeling with this new semester in school. She reminded me that so much of life is the journey, not giving up, and continuing to press forward. It is a truth. Though there are still clouds on the horizon, I know that the sun will eventually shine again.

Wednesday, January 19, 2005

Humble Pie

Humility is a good thing, especially for a sophomore in computer science. Just because you were able to do some pretty fancy things in your freshman year with Java says that you are able to learn and program in an object oriented style, but does it say much more than that? I did well in those classes, got an A one semester and an A- the next. I was feeling confident, and maybe to some small extent I thought myself a programmer.

Well seeing my first assignments in Software Practice and Computer Organization are really challenging my feelings. I feel trapped, desperate, and a good deal of frustration. Today I sat in lab trying to follow the TA, who was moving at a lightening pace, set up a project from scratch, link the DLL’s, set certain variables within Visual Studio. I almost gave up.

Digression: I now know how some people feel when I quickly walk them through something on their computer and they tell me that I moved too fast, or that I didn’t explain it well enough. That pit in your stomach that you get when you know that you aren’t following, or when the demonstrator is assuming you know more than you do. It is something to think about the next time I am trying to help someone out.

Meanwhile I am still trying to follow the TA but am still five or seven steps behind. I was so frustrated, screaming or crying both felt natural. There is so much that I need to learn. Our professor said that there would be quite the whirlwind learning tour but I had no idea it would be so much so.

I have this rather large looking assignment due next Tuesday, all supposed to be programmed in C++. I feel overwhelmed.

To add to the stress, how good are you at binary, hex, and assembly? Yet another class, with an equally frustrating assignment. Thankfully that one is due tomorrow. Hopefully, I can wrap it up tonight, or tomorrow during the day. Then off to C++ land.

Just incase the computer stuff wasn’t enough, I have a Linear Algebra quiz on Tuesday (the same day my c++ program is due), along with the homework from the first chapter in that book.

I may as well just lock myself away. I feel so vulnerable and out of control. Hopefully, I can get a handle on this soon.

Tuesday, January 18, 2005

Great Lunch

Admittedly I should be studying, but it has been nice to just relax this morning.

On Tuesday I have a class from 8:30-10:30 after which I have a break until 2:00. When class dismissed this morning, I needed to pick up some things at the grocery store, so I decided while at the store that I would purchase the ingredients for a nice little lunch; button mushrooms, a small yellow onion, and a small top-sirloin steak. Sautee the mushrooms and onion in a bit of olive oil, until they are caramelized, prepare the steak in the broiler, and you have a fantastic lunch. The best part about it is that I got all of the ingredients for less than $6.00, if I were to order that meal at Friday’s it would be $12.99. Knowing how to cook saves money.

Now that my tummy is full of good food, I am set to attack the rest of the day. Two classes this afternoon, and then an onslaught of homework to face this evening. I am facing a pretty huge learning curve in two of my classes right now. Thank goodness that I have good professors who know how to augment what the book is trying to teach. It makes all the difference in the world to have things presented from a different angle with examples.

Well, that does it for this update, and I still have an hour to study before I have to go back to school!

Monday, January 17, 2005

Preliminary thoughts on Assembly

Computers are fascinating machines. I now have a profound gratitude for those people who figured out how to make them work for us. For the past year or so I have been programming in Java. Happily plunking out functions as they come to my head, compiling the programs and then running the program I made. On occasion, I had questions about how the computer carried out my program. Sometimes, my professor would be teaching about something, and we would ask him how the memory actually worked inside the processor. He would often state that it was beyond the scope of our course, and tell us that we would learn later, giving us just enough information to help us understand what we needed to for the moment. The phrase that was commonly used in that class was “no free lunch,” meaning that somewhere a long the line, someone had to cover every detail.

I am just about to finish the second chapter of my Computer Organization book. Yes indeed, there is no free lunch. I now know why in last semester’s classes my professor opted to just cover the basics of the “memory model.” I had no idea it would be so intense, and so delicate. Computers really are dumb. They only do what they are told to do. You may say yes, I know that. But do you really? Every single instruction has to be programmed. EVERY ONE. It is absolutely amazing, a true wonder. People who write software compilers must be amazingly detail oriented, and very good with their understanding of computer hardware. Assembly is by far the most interesting language I have had the opportunity to study to date, but thank the heavens for good high level languages. I couldn’t imagine having to make programs for a living in Assembly. Thank goodness not many do.

Here’s to the modern computer, and all of the people who figured out how to make them work!

Saturday, January 15, 2005

Reading Day

I spent a lot of time today reading. I am trying to soak up all that I can right now about C++. Though the information in the books is interesting, it still feels really theoretical. I need to sit down and actually try to code something. Usually, the act of coding will help me to learn. The reading has is valuable though, as it helps to point out the obvious differenced between Java and C++. Hopefully that will reduce the pain of learning.

I picked up the extended version of LOTR Return of the King this evening. Hopefully I will get to get going on the first disk as a reward for working on school today. I am interested to see the additional scenes, which my co-workers say really helps to flesh out some of the missing points.

There is still homework in Linear Algebra, and Computer Organization to be done; both reading and assignments. Thank goodness for this extended weekend!

Oh, on another positive note. I found out that Mac OS X comes with a built in development environment known as X Code. It is capable of doing C, C++, Java, PHP, Python and AppleScript, out of the box. I think finding out that tidbit just about made the sale for me. The G4 notebook is looking more appealing than ever.

Friday, January 14, 2005


I realize that I have been less than perfect at my blogging in recent days. Really, there is no excuse. I just haven’t set aside the time to sit down and write my doings. If I were to give an excuse, I would say that it was that I have been trying to acclimate to my new schedule. But since there are no excuses, I won’t say that.

I sure have a lot to do. There is already a task or two to be working on in every class. Hopefully I will have the time this weekend to get these projects started. There is a lot more reading than I had expected. Also even with the knowledge that I have of Java, I can tell that C++ is going to take some time.

After work today, I went to go look at laptop computers. I wasn’t very impressed. I don’t think that I will ever find what I am expecting in a windows laptop. They were all too big, too ugly, too slow, and over priced. It amazes me that more people don’t notice what Apple has to offer by way of laptop computers. Any Apple laptop now on the market would beat most of the windows laptops selling at similar or lower prices. The only reason that I haven’t jumped on the Apple bandwagon for my laptop solution is that I have reservations about compatibility of code that I am supposed to turn in at school. Microsoft has graciously donated Visual Studio to every student in the School of Computing at my university. As a result, all of the exercises in lab are completed in that environment. Can I do my homework for school on an Apple machine and have it run on the machines at school? Answers would be nice. Perhaps I will email a professor and ask.

Thank goodness it is Friday, and I have a weekend to rest, relax, and study.

Wednesday, January 12, 2005

Back at School and Work

It is late, and I really need to be getting into bed if I plan on being awake tomorrow.

Classes are going well. There is a bunch of reading to do so far. I am trying to keep up with that, as it seems that there will be a lot of self-learning this semester.

Adjusting to the work/school schedule is always difficult. I am grateful that I have employment, and that they are so accommodating of my school schedule. Not working on Tuesday and Thursday pretty much means I have to put in eight hour days on Monday, Wednesday, and Friday. It is all about time management.

First takes on classes:

Software Practice: Will be a lot of fun. Already we have talked about “real-world” stuff. The class has been charged to learn the basics of C++ in the next two weeks.

Computer Organization: This class will be difficult! We are accountable for everything, even if it is not covered by the teacher. It will be exciting to finally understand a bit more about hardware and how my programs interact with it. Learning Assembly will be fun.

Linear Algebra: This class should be ok, if I can get a grip on mathematical proofs. There is a lot more homework than I had expected

Meeting up with my classmates was fun. I am glad that we have formed some friendships, and are able to work together to get things done. It is like having an extended support group.

Work is work, and really a lot more than I want to talk about right now. Often, the paradigms that are discussed in class don’t carry over into the real world. Sadly for me, sometimes people don’t take me as seriously as I would like them to. Life moves forward, and if I ever get more than three seconds of un-interrupted time, I may try to write out some of my ideas so that they can be more clearly understood.

Monday, January 10, 2005

Winter Recess Recap

Today is the last day of winter recess. It has been a wonderful 24 days to relax enjoy the holidays, work some extra shifts at work, and to check off items from the to-do list. I thought that today I would write a bit about the break that I have had and the upcoming semester at school.

The break was fantastic, I didn’t get everything on the to-do list accomplished, but I did finish a lot of projects.

Early in the break it was good to explore the world with my camera again, as I made a trip to Elberta, Utah. I also spent an evening in the darkroom processing some film, and making some prints. It really was a lot of fun, I should probably schedule more time to work in the darkroom. I find that the atmosphere is comforting, relaxing, and stimulating.

The holidays were great fun; time spent with family and friends is always a good thing. Good food was bounteous; there was a great feeling of love and giving. It was nice to have the time to get together talk, eat, and have fun. I have found though that I don’t have a lot of patience for board games.

Getting accepted as a full major into the University of Utah’s School of Computing was a highlight. It took me a year to get all of the pre-requisites taken care of so that I could apply for full major status. It has been encouraging to know that I have made this step.

I managed to organize all of my CD’s.
I organized my room. (but now I need to clean it)
I purchased some new clothes. (to go with stuff I got for Christmas)
I did quite a bit of reading.
I spent a LOT of time at work.

I thought about working on a new look and feel for this website/blog, but apathy took over and the thought of re-doing it all just seemed like too much work for one on “vacation”, so we are all stuck with this until I find some time. There are a couple of other projects that I have started, but I am not quite ready to talk about them. It is good though, and I feel really good about them.

So, what is up for spring semester 2005?
I am registered for three classes totaling to twelve credit hours this semester:

CS 3500 – Software Practice (programming in C++)
CS3810 – Computer Organization (hardware and assembly)
MATH 2700 – Linear Algebra

They should be challenging and quite a bit of fun. Learning two new languages this semester will probably be something of a task, but it will be nice to expand my knowledge and ability to program in different languages. Linear algebra will get me closer to that math minor. I haven’t totally decided if that is something I want to do, but it feels like a logical choice at this point in time.

I am going to work really hard this semester to get good marks. It would please me immensely to earn a 4.0 by the end of the next 16-week period. 4.0 is a tall order, maybe even unrealistic, but I am going to really put an emphasis on my education and we will see where it goes. This semester I have classes all day on Tuesday and Thursday. Wednesday I have a single class from 8:30-9:30. That leaves Monday, Wednesday and Friday for work and homework. It will be interesting to see how it everything works out in the end.

Saturday, January 08, 2005

Leaving Ultima Online

Forty-five months is a long time to play a game. It was forty-five months ago that I was first introduced to Ultima Online, and for the past three and three-quarter years I have experienced that game to its fullest. I have experienced the thrill of forming close friendships, working with all sorts of different groups of people, leading large and small events, making tough decisions, and a whole other host of emotions and experiences that would come from “hanging” out with people in the virtual world day in and day out for 37 months. It has not always been happy, but on the whole, it was a good experience; an experience that taught me a lot about myself, and the general human condition. Through the virtual world, I learned about leadership and management. I learned about the power of delegation. I learned about goal setting. I learned about how economies work. I learned about power, and various forms of government. I don’t think that it would be possible for me to explain what I saw, heard, played, and felt over the past 45 months. Far too much has happened to explain it all.

It felt strange packing up my things and closing out my account. It felt like some small part of me was turning my back on a set of responsibilities. However, the reality of my life at this time would dictate that I do not have the hours to run a player organization. For months I have been telling myself that it was time to let go of Ultima Online, but it wasn’t until recently that some kind friends helped me to see that it would be ok, and that at this point in my life it is ok and important that I focus on “real life” as we called it in the game.

I will never forget some of the experiences I had while playing that game. Not so much the game its self, but the human interaction that took place as a bi-product of playing. At a time in my life when I was looking for an escape from reality, Ultima Online filled that gap quite well. I was able to assume my alias and be the person that perhaps I was afraid to be in reality. I would liken my “online” friends much to the familiar atmosphere of the old sitcom “Cheers”. The lyrics: “Sometimes you wa’na go where every body knows your name, and they’re always glad you came” explain why games of the genre are so addicting.

Today I said goodbye to that realm. Hopefully I will be able to bring some of the friendships along. I have friends all over this country now, and someday I would still love to meet them in real life. Arizona, California, Kentucky, Tennessee, and New Jersey, just to name a few. Many people from various backgrounds who hold different beliefs all managed to come together to enjoy time with one another. Really, it was quite a thrilling experience. However, there comes a time in each person’s life when he/she needs to make adjustments that will allow him/her to better pursue their goals. Leaving my responsibilities and life in the virtual world is something that I needed to do.

Some of you may read this blog entry and wonder what the above was all about. I don’t expect anyone to understand. I have never even tried to explain online gaming to anyone but my family. It is interesting the different things the internet can introduce us to. I do think there is a place in the world for online games. They have their dangers, but they are also a powerful learning tool. It is said that when one door closes, another opens. I am excited at this time in the journey to open that next door and see what lies behind it.

Friday, January 07, 2005

As Promised

Thoughts on Apple’s Macintosh: (follow up from yesterday)

I had my first computer experience somewhere around 1986-1987 at my grandmother’s house. It was a “state of the art” Macintosh with two disk drives, and a tiny nine-inch grayscale screen. I was introduced to this fun little program called “mac paint” and on nearly every trip to grandma’s house, I would spend a few minutes in front of that machine making my own little digital drawings. It was a wonderful introduction to the world of computers.

A couple of years later, my family purchased its first computer. I must have been in second or third grade, and Santa Claus brought it for Christmas. A brand new Macintosh SE, we had progressed since the era of dual disk drives, this wonder of a machine had two megabits of RAM and a whopping 10-megabyte hard drive. There were games based in a program called “hyper card”, and I particularly remember a game called “the manhole”, I think.

The Macintosh SE was upgraded so that it later had a 100-megabyte hard drive, 4 megabytes of RAM and a hardware accelerator. Our family used that machine for everything - Desktop publishing, early Internet exploring (back in the days of 1200 bps connections to CompuServe), and even experiences with early photo manipulation with a hand held scanner.

The Macintosh made sense. I used it for all of my schoolwork, and all of the family was pleased with its ease of use. The Mac SE was eventually replaced, (again by Santa) and we were brought into world of the Macintosh PowerPC. Here we continued with desktop publishing, early photo editing, dialup Internet (though which we saw one of the first mozilla web browsers through this machine), and even a bit of audio editing. We received that machine early in my high school days, and though the Macintosh did everything I needed scholastically, I was beginning to want a windows machine, because the Macintosh just didn’t support the games, as I desired to play. All of my friends were off playing Doom, and other such games of the era, and I could only play Warcraft.

I think somewhere in my junior year of high school the family purchased another Macintosh. This again was of the PowerPC type, but it was of course more updated, faster, with a bigger hard drive, and more ram. We had that machine for four or five years. I spent two years in California, and when I got home the family computer situation was in sad shape.

The problem with every computer is that it has to be maintained. Simple stuff like keeping the software up to date, keeping the hard drive clean. This kind of fell by the wayside while I was in California. When I got home, there was major cleaning and re-habilitating to do. This is my greatest gripe with Apple. There is little to no backwards support. When they get rolling on a new operating system if you don’t upgrade, you are going to be gone in the dust. Also, the hardware isn’t easily upgradeable. This means that when you buy Apple, you are basically agreeing that every 3-5 years (depending on how behind the technology you are willing to be) you will purchase a new Mac.

Anyway, when I got home, the family found its self in this position. Older Macintosh, no longer supported by Apple, and the only option (at that time) was to upgrade. Again, it had been 10-15 years that we were solid Apple fans, but this time around the pressure from my siblings and I to join the Windows world was heard and the family purchased a Dell.

I think that Mom and Dad both love Apple, and given the next opportunity to buy a home computing solution will return home to the Apple camp. I don’t know where my siblings stand on the issue themselves. I think that we are all getting old enough that most of us would rather have our own laptops that we can take with us wherever we happen to go. The Dell has been a good machine, but like every windows box, it has had its problems.

SO, kid grows up on Apple, switches to Windows, and is now majoring in computer science. I have two desktop computers at home that both run Windows. This is all fine and dandy. My computer will play all the games in the world, and does a fine job of anything that I ask it to do. The problem is this: I am at the point again in school where I would really like to purchase a laptop computer. The idea of having the computer with me everywhere I go would be a great convenience. BUT, now that I am computer shopping, what do I want to buy, yet another Windows machine, or a sleek small beautiful Macintosh? Macintosh is more expensive, but the Mac laptops look SO much better than their Windows counterparts. I am having the hardest time making a decision. How is one to decide? Should I return to my Apple roots, or continue in the Window’s world?

I will give Apple that they create a wonderful product, it is easy to use and looks good. Style is a big deal in this day, and Apple is doing a great job at design. As a CS student, what will be the best platform on which to learn? The argument could be made that I have a Windows machine; so getting a Mac would round things out very nicely. That is what I am leaning toward at this time. The Apple salesmen that I have spoken with have been very patient and helpful. However, no one has been able to make a case that I in which there was no doubt as to what platform I should use for a laptop. We will see what happens.

What prompted this personal essay?
The rumor that Apple is designing a low cost system that will sell without a monitor for under $600.00, and will be previewing it to the world at MacExpo. I think this could really be a great turning point for Apple. I think that one thing that has kept people out of the Macintosh realm has been the price tag. If they produce a reasonably priced computer, there is little reason that a fence sitter wouldn’t just give it a try. It is exciting to see Apple make its way into the hearts and lives of every day Windows users; a price break will certainly help. It doesn’t solve my laptop dilemma, but is interesting news nonetheless.

Thursday, January 06, 2005

Good Radio Morning (another FireFox plug)

It was a good morning for tech news on NPR’s Morning edition today. There were two stories of note. One regarding MacWorld Expo, and the rumor of a new low cost desktop Macintosh; and another about my web browser of choice, FireFox. Both stories are worth the few minutes it would take to listen to them.

Thoughts on FireFox:

As I said in an earlier blog entry, at first I was rather skeptical about switching browsers. Internet Explorer had been my browser of choice since 2001, and I had no intention to leave it. After some careful persuasion from classmates at school, I decided that I should be more open-minded and give it a chance. Here is a short list of features that made the switch an easy one:

1. Tabbed browsing – It is so wonderful to have one browser window up instead of five or ten. It is nice to be able to open a link in a new tab rather than opening it in a new window. This feature really plays to the organization freak in me.
2. Live bookmarks – Rather than having to play with some news reader program in order to keep track of the various blogs that I read, if they use RSS or ATOM with the click of a button I can subscribe to their feed. Each time I open a new browser window, FireFox automatically checks these blogs for updates. It is totally awesome and saves a lot of time.
3. Absolute control over cookies, scripts, cache, you name it.
4. Customizable – if you can code, you can develop for it, if you would rather let someone else do the coding, there are tons of plugins that can be downloaded from the firefox site.
5. It blends the best of ie and mozilla. Need I say more?

All of the good things are really good, and good enough to keep me using FireFox as my browser of choice, however, I have noticed that there are a few “bugs” that are rather annoying that force me to use IE for some things:

1. I haven’t done all of the research that I should, but it seems that some applets and servlets don’t run well in FireFox. There is an application at work that absolutely refuses to run on FireFox.
2. Sometimes its handling of cookies and caching is not totally reliable making web applications that rely on cookies not function as they should. For example, a forum that I participate in never recognizes that I am logged in, when in actuality I am. Another example would be my school’s class registration system. The browser always thinks that my session has expired when I first try to log in, and it is necessary to remove the cookies before I can log in.

Though it has its quirks, I am willing to adopt it as my main browser, and be inconvenienced every now and again. I think that the benefits far outweigh the inconveniences, and browsing the web “securely” gives my heart some peace. I recently moved all of my family over to FireFox as our main browser; I think that for many of them the jury is still out as to whether it is good. Time will tell.

Thoughts on Macintosh:
I think I will save this one for tomorrow.

Wednesday, January 05, 2005

Lazy Tired Me

I haven’t forgotten about blogging. I have just been busy and far to lazy to write for the last couple of days. This blog will be returned to its regularly scheduled ramblings tomorrow.

Oh! The new season of ALIAS started tonight. If you haven’t seen it, you should make some time to check it out. I don’t watch much television, so my watching it should mean something.

Monday, January 03, 2005

Why are my HTML Forms so unwieldy?

Still feeling inadequate after reading the article yesterday about what “CS” students are supposed to be like, I decided that I should try to take up an “easy” programming assignment, so that I could add some non-class code to my portfolio. I had a good time working on it last night; in fact, it took most of the evening. I think I crawled into my bed around 2:30 AM. Most of the program works, but there is one major glitch that is still not resolved, and it is really quite annoying.

I decided that PHP/MYSQL would be the easiest and quickest way to bring this little application to life, and I still think it was a good choice, however, I am finding that I really don’t know enough about designing good HTML forms. It seems that every form I ever design ends up being the form from hell, in that it is so large and unwieldy, that programming for it becomes complicated solely by means of the number of variables to validate and keep track of. Here is a form that I am currently working with. I must be missing something, as it really shouldn’t be this difficult. If I find some guts between tonight and tomorrow, maybe I will ask a co-worker about it. You would think that someone who can write sorting algorithms should be able to process a form, but I am having challenges. Any suggestions are welcome.

I am tired, so I think I will call it an early night.

Sunday, January 02, 2005

Advice for CS Majors

In my recent journies surfing the web, I have come across a great blog. Joel Spolsky has some awesome ideas, and though reading his blog entry today made me feel inadequate as a budding programmer, it was interesting to see what a person in the industry had to say about what one should do while studying CS in college.

Here is his short list:
1. Learn how to write before graduating.
2. Learn C before graduating.
3. Learn microeconomics before graduating.
4. Don't blow off non-CS classes just because they're boring.
5. Take programming-intensive courses.
6. Stop worrying about all the jobs going to India.
7. No matter what you do, get a good summer internship.

I have a lot to do.

Saturday, January 01, 2005

A new Horizon

Welcome 2005, it was wonderful to bring in the New Year with family and friends last night, even if midnight was well past my regular bed time. I did get to sleep in until nine this morning, which made up for the 1AM bedtime, but for some reason I was still pretty tired.

This morning, I made the usual drive to my grandparent’s house. Being the NPR junkie that I am, I was listening to Weekend Edition. I, like many others this week have been completely awestruck listening to story after horrific story about the victims of the tsunami. Today, Jacki Lyden, read from a children’s book in which a Tsunami hits Japan. I was moved by the story, indeed we are fragile but resilient people.

My heart goes out to all those in the world that are mourning today. Hopefully the New Year can bring a renewal of hope, and belief in the human race, that we as the human family can help each other through these trying times.