Saturday, December 31, 2005

My Year In Review

I spent about an hour and a half trying to write my “2005 year in review” and was not very happy with the final result. In a similar style to last years review, I broke the year up into months, and wrote a quick little blurb about what I had been doing. The problem is that though the summer months were quite eventful, I found that January through May and August to December were rather dry, at least from the reader’s perspective. So this will be try number two at creating something readable.

I managed to go on a couple of great vacations this year. I saw New York City and Philadelphia for the first time. Both were experiences that I will never forget.

Salt Lake City is a great place to live, but its night life pails in comparison with that of New York. It was amazing to me that on a weeknight at midnight there were still people all over Time Square, and that the restaurants were still open for business. There was such life, and excitement there. While in New York I managed to catch two Broadway shows, Wicked and Fiddler on the Roof. I also did the touristy things, and had a whirlwind visit of the Metropolitan Museum of Fine Art.

Philadelphia was also an awesome experience, though I wasn’t as awed by the culture and sights. The occasion to go to Philadelphia was the National Educational Computing Conference (NECC). My aunt is an administrator with a School District here in Utah, and figuring that I would enjoy the conference because of my major in school, she invited me to attend. Though the conference lifestyle is a bit grueling (read up early and on your feet most of the day), it was highly inspiring and educational. I came home from the trip jazzed about blogging, podcasting, and full with ideas for the future of computing.

This past summer, I committed myself to accomplish a couple of projects.

The first was that I wanted to enroll in an exercise course at the University. My father being on the Staff there gets a discount, so I could take a fitness course with him very inexpensively. We decided on a spinning course, and though my dad would probably say that I wimped out on the thing (6:30 just seemed really early to be up and spinning), I think I had a good time once I got over the original shock that riding a stationary bicycle could actually be difficult. If I could just get myself more dedicated to a solid bed, wake schedule the whole thing would probably be a lot more enjoyable. I have decided that rigorous physical activity is an important part of any desk bound person’s day.

The second was to write a piece of software that wasn’t dictated to me by some class at school. Knowing that when I was in school this would be practically impossible due to my course load, the time to do this was also in the summer. Coming home from NECC, I was really excited about podcasting, so I decided to write my own RSS feed manager for pod casts. As a first attempt at creating a web application using PHP/MYSQL it wasn’t all bad, though it really ended up being more of a proof of concept than something that people would actually use. It was exciting because it was the first piece of software that I had ever written that came entirely from me. I know that most computer science geeks did this sort of thing when they were two years old in basic, but given that I just came to the computer career seriously a year and a half ago, I think I am making great progress.

Speaking of school, it is truly one of the greatest things to have happened to my life in recent years. As I have said several times in the past year, I am so very happy to have found a major that suits me. I don’t think that I would be willing to spend the hours studying for anything else, and with only three semesters left, the end is in sight. The future is hopeful and bright! Academically it was a challenging year as my first as a matriculated computer science major. All of the classes I took this year were upper division courses and they do require a certain intellectual maturity. Just to give you a taste of the various areas my brain has been, here is a list of the technologies/languages I have used in school in the last twelve months. Keep in mind that for me, many of these were being learned and seen for the first time when I had to use them. C, C++, Java, XML, Scheme, MIPS Assembly, IA-32 Assembly, O’Caml, DFA’s, NFA’s, PDA’s, Turing Machines, HTML, CSS, and JavaScript. If I had to say where most of the time was spent, it would be in the realm of low level C programs, IA-32 Assembly, Scheme, and C++. Of the most interesting projects I completed for school would be a chat server and client that works over the internet, a simple shell for Linux, and a simulated memory manager for Linux (malloc, realloc, and free). It has been an exciting time to learn and grow.

In August, I celebrated one year of codefin.net, changed hosting companies, and wrote my own blogger template. I borrowed and learned a lot from those blogs that I admire, but had a great time putting this one together to give it a uniquely ‘me’ look. Given the time next summer, I think I would enjoy changing it again.

In November, I learned that I would get to do a photo show at a local library here in February. Photography has been a hobby for a long time, but in recent months it has been forced to the back burner, as I focused on school. In the last couple of weeks it has been fun to start preparing for the show. I have chosen 10 prints and the frames. I have to choose 10 more, and order the mats. Whether I sell a print or not, I think that the thought of actually hanging my work on the wall of a public place is pretty cool.

Throughout the whole thing, there has been work. Sometimes it is a bittersweet place to be. For the time being, I will just be grateful that I have employment and that is aligned with software development. They have been good to me this year, and I am glad that they are pleased with the work I do for them.

2005 was a big year. Though it wasn’t all roses, the lessons learned were worthwhile. Perhaps that is the real lesson of life. Though the destination has meaning, there is so much value in the journey and the struggle. Three steps forward, one step back. Progress may not always come as quickly as I desire it, but progress is made, and I am learning and growing as a person. Looking back on 2005, I am glad that I was able to do what I did, and am pleased with the progress I made. Here’s to 2005, a good, hard year.

Wednesday, December 28, 2005

On Break (numb)

Fall semester has been over and done with for nearly two weeks now, and I am still somewhat numb to the whole experience. I did however pass my classes.

Christmas came and went with its usual fanfare, food, and entertainment. It was nice to be with the family, to relax, sing carols, think on the blessed lives we live, and try to focus more outwardly than I am usually inclined. Life has its comfortable moments, and though I am not perfectly content with every aspect of my life, I must say that things are hopeful.

The last week of the year is an interesting time. If one approaches it with the right attitude, it can be a great time to both reflect and look forward. Hopefully, if I can keep myself motivated, I will be able to have a post about the past year, and another about my hopes and aspirations for the year approaching in the next couple of days. There is something truly cathartic about the ushering in of a new year, and I am really looking forward to it. We should all be focused on self improvement continually, and certainly reaching one’s goals doesn’t happen just because they outlined them on December 31 of the previous year; but it is helpful to use the demarcation of a year as a good boundary for an in-depth checkup. I am looking forward to 2006 with pleasant anticipation, but more about that later this week.

Last night I was at a dinner party, and the conversation turned to journaling and writing. It was interesting to see how the different people around the table felt about what it takes to produce something that is worth sharing with the world. I must admit that in recent months, I haven’t felt much motivation to write this blog. It is not that I don’t enjoy it when I do write. And I really love reading comments (thanks Michael), but it seems like I haven’t had the time or desire to thing and write about anything meaningful, and the last thing I want to subject you to is something that is just the ramblings of my thoughts (much like this article is turning out to be). At least the topic of conversation inspired me to sit down and write, which is a task I haven’t felt up to in recent weeks.

As the title says, I am on break. Usually when I am between semesters, I have a large list of things that I want to get done; be it diving into my stack of unread books, a personal programming project, going on a day trip to take photos, spending a day in the darkroom to enjoy the analog process of photography, or working on any kind of project that just wouldn’t suit itself well to my life while I am taking classes. But this break is turning out to be just that, a complete break. As I explain it to people, I say that it is like being numb. Sure, I have been working 8 hour days for my employer (because otherwise I will be more destitute than I already am), but when I get home I have no desire to work on any side projects. I don’t know why, but that is the way it is. My numb Christmas break.

I would sill like to get out for a photo trip, maybe half a day or something of the like. But time will tell, and as it sits, I have 12 days before I have to face the rigors of school again. Optimistically when the time comes, I will be adequately rested and ready to go. Until then, I’ll still be on break.

Wednesday, December 21, 2005

Fall Semester Post Mortem

It has been over a week since I last blogged and not quite a week
since I finished my last final of fall semester. I have thought a
little bit about blogging, but I just have not had anything meaningful
to say. I am really enjoying this little recess from school. It is
fantastic to be able to rest, play games, participate more fully at
work, and hang out without the nagging "you should be doing your
homework" voice in my head.

Don't get the idea that this break has been all play for the last
week. Since finishing my last final on Thursday, I have been putting
in full days at work. I have been trying to get to the office between
seven or eight. It really feels good to make some progress on a few
projects that have not been getting the attention that they really
deserved for the last three or four weeks. Not to mention, it will be
nice to make some money, so that I am not paying bills out of the
savings account.

Fall semesters have the tradition of being unusually difficult for me.
I am not sure what it is about fall semesters; maybe the time change,
the days getting progressively shorter and darker, or perhaps that I
just happen to take my hardest classes in the fall. Whatever it may
be, I am so glad when fall semester ends. What I have learned this
time is that if you plan on working and going to school at the same
time, you really need to make sure that you can handle both the job
and the load of the classes. I under-estimated the difficulty of my
Analysis class last semester, and in the end, it made working almost
impossible. I have decided that the math minor can go on the back
burner for the time being. This will allow me to work, and finish my
bachelor's degree in three semesters by taking three classes each
semester. Three semesters sounds a lot faster than Spring of 2007, so
I will just keep thinking about it that way, that also means that I
only have to suffer through one more fall.

I suppose I should not say that school is suffering. I actually quite
enjoy being there, and I am learning many interesting things that I
probably would not have occasion to try in other settings. Fall
semester presented opportunities to learn about IA32 assembly, the C
programming language, how the 'stack' really works (and how to
exploit it), Turing Machines, DFA's, PDA's, and the basic theory
behind computability, the Scheme programming language, the Ocaml
programming language, BNF, how to build a basic interpreter and what
one must consider when designing a programming language, and what
makes a thorough and correct mathematical proof. Looking back on it I
now understand why life was so busy.

Things are good. The Christmas shopping is complete. I am working on
some side projects, and just enjoying the fact that right now I don't
have to do anything but show up for work each day.

Monday, December 12, 2005

Jingle Bells from 1997

School is still going strong. Two finals to go, but in the meantime, some entertainment.

I share with you a recording of Jingle Bells, as sung by the Highland High class of ’98 Madrigals. You can listen to it here. (I don't know why I can't get it to work when I try to embed it here in my blog, it just won't play)

Seven years ago I was a senior in high school. As a mighty senior, my thing was choir. Yes, I was a choir geek. As I look back on my senior year, I probably could have worked a lot harder. Had I known then what I knew now, I would have taken a math class instead of that AP Music Theory course. However, one thing I wouldn’t have traded was my experience to be a madrigal. From November 26 – December 23 we gave over sixty performances. As I look back on it now, I don’t know how we managed it. On our busiest day we had seven performances! Our group of 22 had one heck of a time. To this day many of us are still close friends.

Yesterday I was thinking about what makes Christmas special, and as I can best determine, it is when we are giving of ourselves to others. When I think of Christmas memories when I felt most fulfilled, I was occupied in serving others.

Coincidentally, I received an email this morning from one of my madrigal friends that I haven’t spoken with quite a while. It seems that our lives have just been exceptionally busy, and we haven’t had time to speak. My friend talked about listening to the Christmas CD that our madrigal group made that year, and about the memories that it conjured. Having had the day to think about the email, I also decided to pull that old CD off the shelf and give it a listen. We weren’t perfect, but there were some sweet moments.

Here’s to friendship, and to the season.

Friday, December 09, 2005

A Reasonable Excuse...

...for not blogging, put as only my friend Curtis could:

"Yea, it's tough to blog when you can't hold a thought of your own in your head long enough to get it out before it gets crowded to the back burner by something more urgent."

I have had a lot of thoughts in the past few months, but not a lot of time to really develop them.

I finished my Models of Computation class yesterday. The exam was very reasonable, for the first time in the course, I was actually able to answer every question.

To go, I still have to finish my last Programming Languages assignment, and take two finals next week. Wednesday - Computer Systems. Thursday - Introduction to Analysis I.

Just a few more days here. I know I keep saying that, but I have to remind myself that this will be over soon.

Wednesday, November 30, 2005

Exit November

November is almost gone, and there is only one more week of classes, and a week of finals left here in fall semester. There are a lot of projects on the table right now, but the comforting thing is that in two weeks it will all be over. I am quite sure that I won’t be able to claim that I got out of this semester unharmed, but it will be over, and as always I will have learned some good lessons.

Before finals I have one more assignment to complete in each of my four classes, not too bad all things considered. The project that is going to take most of my time in the next couple of days has to do with writing my own MALLOC / FREE / and REALLOC functions. Thankfully it is a group project and I don’t have to do it all alone. I am however anxious about it, because we are being graded by our efficiency against the GNU versions of the same functions. I am not sure that I care to think about managing segregated free lists in order to gain constant time efficiency. It sounds like it would be more work than I have time to complete the project.

I have severely neglected my employer this semester. I think that I have been averaging 8-14 hours a week, and it is really quite amazing that I still have a job there. I think I bit off a bit more than I should have this semester. Three upper division CS classes are more than enough to keep any self-respecting person out of trouble. Throw in an upper division math class, and you are just shy of insanity. The best course of action seems to be putting the math minor on the back burner, and finishing the major by taking three classes each semester between now and the spring of 2007. This way I should be able to give adequate attention to my classes, and my employer.

Things at work have the potential to get quite fun in the months to come, as they are going to have me start developing rather than testing. I am excited by this prospect, and know that the experience gained in this venture is in some ways equally as important as my class work. They wanted me to start before Thanksgiving, but with my school commitment it hasn’t been logistically possible. In a few short weeks, I should be able to talk about getting paid to write code.

My desktop computer has decided that it doesn’t like me very much. I am not sure what the problem really is, but after discussing the problem with some friends (and having hosed my windows install by miss-diagnosing the problem and trying to repair the installation, which is something I know better than to do but did it anyway) we think that it may be the power supply that has decided to not work all the time. I don’t have the time or money to fix it right now, but maybe sometime in December after classes are out, I will be able to look more closely at it. I promise you here and now though, if it is more than a power supply that needs buying to fix it, I will be replacing it with a mac mini.

I think that does it for this update. I hope that I haven’t bored you to tears. I’ll catch you up on things again in a few days.

Thursday, November 24, 2005

I am Grateful

Gratitude is an important virtue that is perhaps relegated to the back of our minds as we go through our lives. One of the reasons I enjoy Thanksgiving is because it gives me the opportunity to think about Gratitude more than I would on a normal day.

Today was a most excellent day in which I didn't do anything that related to my educational pursuit. I started reading Christopher Paolini's sequel to Eragon, titled Eldest, hopefully I will finish it up tonight. I finally made it to the movie theater to see Harry Potter and the Goblet of Fire; and finally enjoyed a wonderful traditional Thanksgiving dinner that had been lovingly prepared by my mother with my family. It was nice to be able to put aside school, even if just for a day. There are a lot of schoolish things that need tending to, but that can happen tomorrow. Today is a day for rest and thanks.

I am grateful that I have the opportunity to slow things down for a bit, and realize that life is a bit larger than type systems, low level operating system code, and the theory of Turing Machines. I am grateful for a loving family, and for supportive friends. I am grateful for the privilege that it is to be pursuing a degree at a university. I am grateful for music, and fine art, and the way that it expresses the human condition. I am grateful for the opportunity that each of us has to learn and grow in this wonderful experience called life. It is easy to loose perspective, and yes, there are lots of horrible things happening in this world, but there is also a lot of good. Certainly, God is watching over us, and that is one of the greatest blessings we have all been given.

Sunday, November 20, 2005

A Quick Rest

I had the opportunity to spend some time with family tonight. A cousin who lives in California is in town with his wife and son, so we had a little get together. It was fun to catch up, eat some excellent food, and enjoy time with loved ones. Getting away from the keyboard every now and again is really great for mental health. Not to say that I don’t love coding stuff up, but after a 14 hour Saturday of code, and several hours logged before tonight’s dinner, it was definitely time for a break.

I hope to finish up my version of a type checker tonight. That will let me context switch and prepare for my Analysis exam on Wednesday. Heaven only knows I need that study time.

Wednesday, November 16, 2005

3 AM - And Still More To Do

Yes, it is really me at three!
Thank goodness, I just finished my programming languages assignment.


Ocaml still hasn't won my heart as a programming language.

I have a math assignment to do that is due at 8:30 in the morning. Perhaps I will catch a nap and get up and get that done too.

Cheers!

Sunday, November 13, 2005

Four Weeks More

It isn't that I don't care about this blog, it is just that justifying the time to sit down and write something worthwhile is a bit more challenging than it has been in the past. This week marks four weeks to get to the end of Fall Semester 2005. I just need to keep my whit about me while pressing forward.

    As a brief review of the past week or so in an itemized list

  • Still plugging away at Analysis, and thinking that perhaps a math minor isn't worth finishing.

  • Learning about type systems in my programming languages class, we switched languages from Scheme to Caml. Though Caml has some nice constructs that make writing a typed language easier, I am not totally sold on it yet. This lack of happiness probably has something to do with the fact that there are a lot of other things to do, and learning a new programming language at the end of the semester feels like something of a hassle.

  • My Systems class is quite interesting right now. We just finished a particularly interesting lab in which we wrote our own simple shell with job control. Really it was a learning assignment about signals and interaction with the operating system. I think I finished 75% of the lab before I ran out of time. As Bilbo Baggins said in the Lord of the Rings movie (I can't remember if it was in the book), he felt like too little butter spread over a large piece of bread. Between now and shortly after Thanksgiving, I have to write my own MALLOC and FREE functions. I learned my lesson on the last lab, and will be starting early this time.

  • I am very glad that my employer and family understand my scholastic goals, if I had to be at work every day, I would be a total mess by now. As I keep telling everyone, only four more weeks to go.

  • The study sessions have been long and all over the place. That winter recess is looking better every day

  • I am thinking I need to get ready for this photo show in January, but haven't had the time to think much about it. Hopefully it will come together when it needs to.

  • Big Band Jazz rocks my world.

Friday, November 04, 2005

The Same Place

An entry from close to a year ago, would show you that I am pretty much up to the same things. Well, not really the same things, but sort of the same things. If anything you could say that the game is more interesting, and by more interesting, I mean both more interesting and more challenging.

Rather than trying to get Java classes to talk together, it is learning about type systems, push-down automatons and more things Linux than maybe I would care to know. This weekend, I need to get a simple shell program running. I am taking the night off, except for maybe some math analysis. Tomorrow will be entirely dedicated to the development of the shell.

I don't know what it is about Fall semesters, but they are always more difficult than Spring. November is always the hardest point. The classes are all into their most interesting material, which while being interesting, also means that they are difficult and that homework is generally not trivial. With something like six weeks left in the semester, I must ask how on earth it will all get done, but I have learned by now that I just have to put in the chair time and work hard.

I saw a little bit of payoff for my studying this week as I read about the Sony/BMG DRM snafu. These articles by Mark Russinovich, the man who discovered the problem were very interesting. It is amazing how much of it I understood thanks to my school work. I am by no means at his level with regard to the ability to diagnose and treat the problem, but I could follow his work. Fun stuff. As an editorial comment, I am very glad that I no longer purchase CD's. I know a lot of people have issues with Apple's DRM as well, but iTunes was one of the best things to happen to my PC.

Monday, October 31, 2005

Happy Halloween


Pumpkins carved by my sister and her boyfriend.


Lots of homework! But what's new about that?

Thursday, October 27, 2005

Still At It



I acutally had a pretty good time memorizing theorems, definitions and proofs for my analysis exam today. Though I really won't say how I think I did. Last time I thought the exam went well, and in reality it went quite horribly. Let's just hope that things went better today.

I am finding that really I need to find the courage and stamina to keep at this school thing. Sometimes I feel that my stumbling block is a lack of confidence that I can actually do this stuff.

I finished an optimization lab today. Thank the heavens above for the super smart people that think that stuff up and put it in libraries so that the rest of us can use it. There is something spectacular to be said for speed of an algorithm, but at the same time it usually makes it MUCH harder to read and debug.

The hours are long, and the problems are often frustrating. However, when a solution is found the joy is quite sweet. Time for bed. Thursdays are work days, work as in job work. I haven't been in the office for a week. Things will be interesting for sure.

Saturday, October 22, 2005

Mr. Rogers Quote II

Here's a great one from Fred Rogers:

There's the good guy and the bad guy in all of us, but knowing that doesn't ever need to overwhelm us. Whatever we adults can do to help ourselves -- and anybody else -- discover that that's true can really make a difference in this life.

You can write the analysis yourself. But I do think there is truth in the thought.

A really quick update
There's an analysis test on the horizon this week, along with a pretty grizzly optimization lab due Wednesday. School is tuff, but I am grateful for the opportunity to attend. I just pray that I will learn all I need to, in order that I perform well.

Sunday, October 16, 2005

A Meager Update

An entire week, this is perhaps the longest I have gone without writing a blog entry since the beginning. It isn't for lack of things to say, but really for the lack of this precious commodity called time. Last week was pretty standard. Class, followed by lots of studying, I feel for the first time since school started this semester that am almost on top of my classes. I am not sure where it was that I fell behind, but it felt that after Labor Day I was constantly working on something. As my classmates called it, we were putting out the most urgent fire, and then moving to the next. Hopefully, with some additional effort, I will be able to not only put out the fires, but stay a little bit ahead.

As I am really not feeling much like writing sentences, I think I will use a list to summarize my week.


  • Finished two math assignments, and successfully completed a problem on the board in front of class.

  • Finished an assignment in Models of Computation, and studied hard for a test that I took on Thursday.

  • Completed an assignment in my Programming Languages class dealing with lazy evaluation in programming languages.

  • Managed to get into work for the first time in a week on Friday, they seemed understanding, but I am worried that I am letting them down.

  • Learned that one of my aunt's has been showing my flickr photo stream to people, and found a group interested in having me put on a show in a local library this coming January. (Yes this is exciting, but I can't think a lot about it now.)

  • Started to think about class registration for Spring, it looks to be a fun challenge.

  • Figured that if I work as diligently at school for the rest of the semester as I have in the past couple of weeks, that I will actually finish the semester ok.

  • Had a pretty lazy weekend, but felt that I deserved it.



That sums it up. There are a lot of details that I haven't fleshed out, but you probably get the general idea. I'll try to write more when I have time.

Sunday, October 09, 2005

BNF for Ruby

BNF stands for Backus-Naur Form, and is a very convenient way to describe a programming language. At a glance one can quickly see what the language does, and what its interpreter or compiler expects the grammar to be like.

I got tired of working on homework, and have been hearing a lot about the programming language Ruby, and a variant called Ruby on Rails lately. I decided that I would spare myself a few minutes and learn a little bit about the language. Looking for a nice technical description, I first found this user guide. While it was an interesting, quick read, I wished for a more simple way to be able to see what it was that the language represented, besides the claim of being a great interpreted object oriented language. On the whole, the guide was nice, but I really wanted to see the language described in terms of BNF. And for some odd reason, I kept expecting to find the language described in BNF terms.

At any rate I decided to do a google for Ruby BNF and came up with this great synopsis in "pseudo BNF" form. Even from the actual Ruby people. I was so pleased. I guess that the stuff I am learning in school isn't as out-dated as I had thought. It is cool to be able to put classroom learning to real world practice.

The take home message of the night is that BNF really is a great way to convey a lot of information about a language to another computer scientist in a concise and compact way. If you do much in languages, it is certainly worth learning.

Friday, October 07, 2005

Happy Hex

30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30
30 30 30 30 30 30 30 30
30 30 30 30 e0 b7 ff bf
b8 62 aa 74 37 bd f8 b7
ff bf 68 e9 8f 04 08 c3

It took a while to figure out what when where and how, but in the end it is actually pretty darn cool. I am feeling like quite the haxxor, even if the exploits we were using for this assignment were en vogue circa 1987. All of this low level work is paying off in that I am coming away with a really solid understanding of how code works at the machine level. Assembly has its frightening moments, but with some time and patience it too can be deciphered. I guess the next step in that vein would be to learn more about how the assembly gets turned into machine code, but that sounds a bit too frightening for the time being.

On the homework plate for the weekend, is preparing for a test in my Models of Computation class Thursday. Of course there will be an Analysis assignment, and it wouldn't be just to forget the Programming Languages assignment. One day at a time. That's how it has to be done right now, but at least it is getting done.

Sunday, October 02, 2005

Progress is Good

How about a real entry? In the past few weeks, the thought of sitting down to write something significant just seemed like it would take up too much precious time. As a result, you have been treated to some photos, screenshots and the occasional brief rant about how I am finding school to be quite challenging this semester. I thought that I would sit down, and see what I could come up with in 25 minutes.

School is fascinating. Really, it is. Slowly, but perhaps faster than I am prepared to accept, my classes are delving deeper into the particulars of how a computer does the fascinating things that we expect it to do. Topics that were covered in brief last semester are re-appearing but this time in more detail. It is fascinating to learn about, but makes for some long and challenging course work. The details of a disassembled program don't just pop out to the untrained eye, at first every advance must be meticulously won. Each of my three computer science classes plays to a different level of abstraction, but in interesting ways they are all related.

In programming languages, we are working through design decisions that one must face when creating a new language. Questions such as, what language will we implement our new language with and why? What features should our language support? What will the grammar for our language be? What are the various tradeoffs that we make, or problems that we cause when we choose to implement a given feature in a certain way? Yes, I understand that the sample questions that I just gave are quite vague, but with the hope of keeping all of my readers happy, I thought it better to keep it on a higher level.

In my systems class, we have slowly been peeling back the abstractions. Thinking about bits, and processor instructions has taken up most of the last five weeks. Our current study is focusing on the run-time stack. This class makes me feel most like a hacker, as much of what we have done involves 'tricky' ways to implement functions, figuring out what disassembled code from binary does, and at this moment how to execute buffer overflow attacks on a test server.

Models of computation is by far my most abstract class this semester, but because of my reading this summer, I think that I can see where it is going. DFA's, and NFA's, regular languages, regular expressions, and mathematical proofs have taken up the time in this class. As painful as it is, every computer scientist needs to have some exposure to the mathematical underpinnings of the field. I know that a few of my work associates would really argue with me about that claim, but isn't there something to be gained by knowing exactly what kinds of problems we can't solve? Not to mention why?

My last class, Introduction to Analysis, is helping me to understand why it is that mathematicians never take anything from granted. Every operation, every set, every theory must be carefully constructed, and proved. I am finding that up to this point in the semester I haven't given this class the attention that it properly deserves. These basic proofs that we are working on may be somewhat trivial to the experienced mathematician, but to the undergraduate seeing this for the first time, it is something to study seriously, and even fight with at times. It is really cool in the end when you understand it, but the journey isn't always pleasant.

At school we joke that there is never the time to dedicate to study as we would really like to, we say that it feels like we are constantly putting out fires. There always something on the immediate horizon that must be done. Getting far enough ahead to give each topic its due time is a real challenge. I had to remind myself this weekend that this schedule is of my doing, and that this major is something that I love. I really do enjoy it. At this point, the price may be making sacrifices so that the classes get the study time they need.

Each day I learn something new, this must be progress. Progress is good.

Friday, September 30, 2005

Sure


IMG_3513
Originally uploaded by Web Essentials.
I like this photo. Not mine at all, but expresses a sentiment that I feel right now.

I should be doing something useful with my time, rather than surfing flickr, but occasionally, you reach a point where you have to take a break.

Tests this week didn't go as well as I would have hoped. I need to study harder, and perhaps re-evaluate my realtionship with my employer.

Monday, September 26, 2005

Defused



THANK GOODNESS!

Now just an assignemnt and two tests to face this week. The assignment is due tomorrow, and the tests are back to back on Wednesday.

So much to learn, so little time.

Saturday, September 24, 2005

IA-32


IA-32
Originally uploaded by CodeFin.
Ah yes, the homework assignment of the weekend. It has actually been quite entertaining, well entertaining until about five hours ago. I have been stuck since noon. I am sure that pretty soon here I will figure it out. Have you ever wondered what all of your beautiful high level code looks like just before it becomes a bunch of ones and zeros? Well, I used to. Now that I know, I really think it is cool, but the thought of writing a compiler seems a bit daunting!

Thursday, September 22, 2005

Red Swingline


Office Space Anyone?
Originally uploaded by CodeFin.
Seriously, of the movies I have seen in the last year, Office Space is by far one of the funniest. Mostly because in my line of work it is very easy to see parts of yourself in the characters of the movie.

Today was a "day in the life" day over at flickr, and the red stapler is a new addition to my cubicle at work, so I thought that I would photograph it.

Life is still way busy. I told my father that at least I am breathing through a straw, which is better than not breathing at all. Maybe it isn't that bad. I might even be able to see some of the light at the end of the tunnel.

Maybe tomorrow I will talk more about my current learnings. To put it shortly, IA-32. If you understand that, then you might understand my pain.

Tuesday, September 20, 2005

I'm Still Here

Just inundated with stuff to do. Before the day is over I need to finish a programming assignment, and finish an analysis assignment. It sounds trivial, and maybe it is, but it isn’t something that will get done in a matter of mere minutes.

Building programming languages is fun; it helps the programmer to really understand what a programming language really is, and how it really works.

Analysis builds critical thinking skills. It should also help build the foundation of calculus, but I don’t know if I am that grateful for it yet.

Friday, September 16, 2005

Coming Up For Air

It is trite, but thank goodness it is Friday. The mere fact that the day is here, and that I am sitting in the math center is a good thing. It means that somehow have almost made it through this week. It doesn’t mean that I am on top of everything, but it does mean that some of the most urgent fires have been put out, and that I can take a quick moment to breathe. I have one more class today, I have to go to work this afternoon and I have to meet with my math tutor this evening. Those are the items currently on the top of the stack.

The thing that makes school complex is that things tend to run in cycles much like the life of Sisyphus, spending time pushing stones up to the top of the hill, only to have to do it again the next day. The only difference between a student and Sisyphus is that the journey of learning makes the student stronger, and though for 16 weeks the tasks are essentially endless, there is usually some benefit to the exercise. Knowing that there is benefit to the exercise should probably make it easier, but that isn’t always true either.

Last night I finally turned in the ‘bits’ lab, after struggling with it for who knows how many hours (I should have kept track), and getting some encouragement from good friends who wouldn’t let me quit, it was relief to hand the thing in completely finished. I got to the bottom of something that I didn’t think I could do, so we’ll call the event of handing the completed assignment in a success. The only down side, is that the next assignment in that class was handed out on Wednesday, so the clock is already ticking.

I am learning a lot along the way. Two weeks ago, I couldn’t have read hexadecimal or binary numbers as quickly as I can today. I also didn’t have as great an appreciation for bit-wise logical operations, or those genius people who implement hardware. I hope that I never take my “high-level” functions for granted again. Have you ever considered the work that has to happen in a processor to make this blog entry happen? If that seems to much to consider, thing about the concept of ‘>’,‘<’, and ‘= =’. Yes, something as simple as a less than operator gets to be quite tricky on the bit level, and that is just comparing numbers. What about the idea that you can compare objects. It really is quite amazing, and I am again humbled by the miracle that is the modern computer. It took lots of great minds to pull the thing off. Again, the concept of ‘no free lunch’ as described in my first CS class comes full circle. Every case must be accounted for at the binary level.

There is a lot to do this weekend. I have homework in every class; I have some ecclesiastical and family duties to tend to as well. And just to top it all off, on top of everything already mentioned, I do have a job, though I am sure they are wondering where I am, even I am beginning to wonder where I am going to make the lost ten hours went this week. Next week doesn’t look to friendly on that front either. Yesterday a co-worker suggested that I needed to figure out how to be more efficient with the time that I have. I agree, but am not sure how to go about it. It seems I am going to have to learn to enjoy small hours like this one where I have written a blog entry. There simply isn’t time to waste. If I could pound down that homework in one of my classes before I go to sleep tonight, we can call the day a success.

Tuesday, September 13, 2005

On the Edge

Someone like me, prone to hyperbole might get skeptical responses by claiming that life as situations currently are is overwhelming. Yet, I will say it anyway, and if you choose to believe it great. The last week has by far been the most academically challenging week I have had in my college career. That is not to say that things weren't rough when I was taking o-chem, human anatomy, cell biology, and physics at the same time. What is different is that last time this happened, I got crushed. I left my biology major, and switched to CS. This time, there is no leaving, no switching. I don't want to. But that means that I have to figure it out, which is much harder than quitting. Not only that, but it is more frightening.

I won't even speak of the hours I have spent thinking about problems only to come up with a solution that isn't a solution. Does this mean I am not fit to be a computer scientist? I sure hope not. It feels like I am being attacked in every weak place all at once. I am growing as a problem solver, and as a mathematician, but apparently not fast enough.

I don't see things getting easier, and that is ok, but I do need to gain capacity to be able to work through it, and come out on top. I guess 8 hours of sleep may just be a luxury that I can't afford. But what do you do when you have stared at the problem for hours on end and haven't even the slightest idea as to how to approach it? Does sacrificing sleep somehow bridge the gap?

Should I be reading more books?
Should I be trying more problems?

I refuse to believe that puzzle solving can't be learned. That idea just sounds preposterous.

So I'll keep trying, and hoping to find the light at the end of the tunnel, or at least a faint glimmer.

Saturday, September 10, 2005

SUSE anyone?

It has been a fairly rigorous day. It started off quite early this morning with the installation of a hard disk drive I purchased at CompUSA yesterday. The disk drive was necessary if I was going to get Linux on the Desktop in a dual boot configuration. Yes, I know that I said I was done with Linux several weeks ago, but I have this class that won't let me, unless I am willing to live in the lab at school. Fedora was completely frustrating, but the machines at school were running SUSE, and it looked a lot happier, and felt a lot more friendly, so I decided that I would give it another go.

The setup was MUCH simpler, and so far things seem to be pretty happy. The sound isn't working right now, but I can do the important stuff (email, web, chat, program). If I get a chance, I will probably install SUSE on the laptop as well. Though I am 99% positive that I will have the same problems with the wireless card. However, I think that even if I can't get the wireless going on the laptop, between my desktop, and the lab at school I should be quite comfortable.

SUSE as an OS is good enough that I can happily do my work and not miss Windows too much. I really like the fact that I can browse all of my Windows files from the SUSE installation. It has meant that since I got this thing up and running I haven't had to switch back even once today. Yes, I consider that a major victory.

In other news, I am beginning to question the value of having the “contact” page on this website. I has been used legitimately a couple of times, but I have also received a TON of spam through it. I changed the script a little bit today so that hopefully I can weed out the spam-bots, but effectively broke the flow of the page if you don't give me what I want. I suppose I could try to do it with JavaScript, but I am not nearly as proficient in JS as I would like to be, so I slammed it with the PHP sledgehammer. Maybe if I find some free time in the next few weeks, I will revisit the issue. If anyone has any suggestions for those types of forms, feel free to pipe in. Do you all just put up with the spam? Do you try to filter on the sending or receiving side?

Thursday, September 08, 2005

Too Rich?

Yesterday while eating lunch in the Union with a few fellow CS
students, we were discussing things geek like we usually do. There
was some banter about flavors of Linux servers versus Windows servers,
various technologies .NET, JSP, PHP, but of most interest to me
yesterday DHTML or Flash. Let me premise this discussion by putting
forth a couple of general statements.

First, I am not a designer, so most of what I am saying comes from my
personal experience using the web, not as that of a usability
specialist.

Second, I know that I am not perfect; this site has some pretty major
flaws in its code validation and rendering in browsers other than
FireFox.

Third, I am not setting out to start fires. I would just like to
contribute to a discussion that I think is interesting.

That brings us back to lunch yesterday. One of the guys said that his
employer had just finished writing a .NET web service and that they
had contracted with a design firm to create a flash front end to
present it to their customers. We talked about how "slick," flash
sites look; no one could argue that they have a certain polish. A
couple of us even admitted that having Action Script as a tool in the
box would be handy. But why is it that I get tired of flash sites so
quickly?

I recently had the opportunity to click through 15 websites and choose
the one that I thought was my favorite. They were all well done, and
the flash sites were absolutely beautiful. I can't imagine how many
hours someone spent working out all of the subtle details for those
sites. It re-affirmed to me that there are a lot of very creative
people in this world that are creating amazing websites. I found
however, that I got tired very quickly of looking at the flash. It
was like a dessert that was just too rich after a couple of bites.

So what is the role of flash, and is it ever too much? I won't say
that it doesn't have its place, because it really does some cool
things (like the titles on this site for example). In the age where
we want everything to be shiny slick and new, is it becoming a rule
that if you build a web application for the masses, the best way to
give it the rich client look and feel will be to implement it with
flash, or maybe .NET 2.0?

I think that it is a give and take thing. I think Flickr as re-worked
with DHTML is a lot faster than the flash used to be. However, the
Flash in many cases was prettier. When I want information from a
site, I think I would prefer to just browse nicely formatted HTML
rather than waiting on fancy flash transitions, sounds, and waiting
for the files to load. My favorite solutions seem to be hybrids. Use
flash to do what flash does best, use HTML to do what it does best,
and all will be happy.

To skip technologies a bit, where I work, we are in the process of
re-writing many processes that were once carried out on AS/400 client
terminals to JSP's. The thing that I find most frustrating is that
while the JSP is pretty, in many cases I am much faster on the green
screen. Waiting for the page to post, and reload just seems an
incredible waste of seconds that if on the green screen would be spent
keying the next record. I don't know much about so-called 'AJAX', but
I wonder if somehow that would make things happier with moving heavy
data entry applications to the web.

It will be interesting to see how all of this pans out in the next
couple of years, or if it will even be an issue then. In the mean
time, I will tend to favor the Flash as a helper, but not as the main
medium approach.

--Sorry that there are no links, but I have yet to figure out how to
include them from the email-publishing tool with out them being
verbose.

Wednesday, September 07, 2005

I want my Email



This has been my greeting for the past hour or so. I suppose this serves me right for moving the majority of my email traffic through Gmail. I love the interface, I love the ease of the whole thing, and thankfully down time has been non-existent in my experience until today.

Maybe my professors were correct when they warned against registering for the class mailing lists with "free" email accounts. Gmail never promised 100% up time. Some of my friends aren't having this trouble, and I can't find anything, anywhere about this "problem" on the net. However, I am experiencing it from any computer I try. The funny thing is, I can see the login screen, but the above message is what I get anytime I try to access my account. Oh, and just for the record my other google related account stuff works fine.

Let's hope that when I get up in the morning, I have email again. If not, I may need to re-think how I handle my email.

Update
Thursday, September 8, 7:00 AM

Thankfully, I have my email again. There were even some messages in the inbox, so I don't think that anything was lost!

Tuesday, September 06, 2005

Rusty Day


Rusty Door
Originally uploaded by CodeFin.
Sometimes going back to work and school on Tuesday after a Monday holiday is harder than just getting though a Monday all on its own. As I sat in a meeting this afternoon, this fact became very clear. We are gearing up for a major hardware/software change that will take place at the end of this month, and are planning to try our change in a test environment this weekend. It was funny the way that we all had a hard time keeping our days and dates in order. Monday off really derailed the thought processes.

On a happy note, it seems that while I had a quiet moment this morning to look at some of my Analysis homework, things started to come into perspective. That is not to say that I have a perfect or even really good understanding of the whole process, but some things are starting to come together and it is encouraging. I am still feeling rusty about my homework duties, but I am beginning to think that is just going to be a part of my life for the next little bit.

Monday, September 05, 2005

Labor Day


Power, Fence, Water
Originally uploaded by CodeFin.
Labor Day turned out to be very nice. I must admit to not having done all of my homework, I enjoyed a nice ride out into the desert county of Tooele, Utah. My poor little Corolla didn't take too well to the dirt roads, but my friend Amanda and I had a good time. We took pictures of some old buildings, an abandoned car, saw a whole bunch of spiders at Salt Air, and visited the shore of the Great Salt Lake.

I have decided to milk out this photo op, so rather than sharing all of the photos at once, I will try to upload a new one every couple of days, until I have shown all of the ones that I care to post to the internet. This picture you see here, we found while traveling west on I-80, I was amazed with the reflection of the poles and fence in the still water. I had a friend mock me on Sunday night about taking a trip to Tooele, but I think that it paid off decently.

If anything, it was nice to catch up with an old friend. School starts in earnest now. No more procrastination weekends. I need to learn how to be a mathematician pretty darn fast here.

Saturday, September 03, 2005

Media Overload

The title says it all. I can not bear to read another article, listen to another description, or watch more pictures of humanity in its most desperate form run across the television screen. It makes my heart ache, and brings tears to my eyes. It is something akin to the numbness I felt as the world watched and listened to the reports for days, weeks, months, and years after 9/11. After one has made their financial contribution, after one has prayed and put it in God's hands, what is he then to do?

May we all find the strength to learn from the past, to love and help one another and to move forward united as brothers and sisters.

Friday, September 02, 2005

Happy Friday

If I said that I was bored a few weeks ago, perhaps I should have reveled in that boredom a bit more. After my first full week of school, there really isn’t time for boredom. With my four classes and a holiday weekend ahead, I have been loaded down with studying. Each professor has managed to find some nifty project that his students could work on over the holiday. Really, one can’t expect any less from a university. Even though it is early in the semester, the calendars are set, and there are many topics and conversations that need to happen by the December if the course is to be successful. The only way to ensure that is to keep pressing onward.

With any luck, I will be on top of things by the end of the weekend. At least to the point that I can enjoy a photo journey I have planned with a friend. On the Monday holiday, we want to go explore some ghost towns that are a few hours away by car. Something of a final hurrah, recognizing that from then on out, school will only get more and more demanding on one’s time and mental exertion.

At this point in my education, classes I took earlier are playing a more major role in the way that I understand my current tasks. Discrete Mathematics is helpful not only in Models of Computation, but in Introduction to Mathematical Analysis as well. Last semester’s class, Computer Organization and Design has been very enlightening with respect to Computer Systems. My Introduction to CS classes are quite helpful in deciphering concepts in my Programming Languages classes.

The reason I bother to write all this is that I am finally beginning to see the fruits of two years of labor. I am learning and growing as a programmer, and computer scientist. And for the record, I am in the camp that discerns between the two, but that would be a topic all to its own.

Oh, and congrats to the Utes for winning their opener tonight!

Thursday, September 01, 2005

When One Can't Sleep

(define (scheme-understanding understanding)
    (cond
        [(string=? understanding "Great!") "You can now go do something fun!"]
        [else (scheme-understanding understanding)]))

Wednesday, August 31, 2005

Perspective

As I walked into work yesterday morning, I took note of the slight fall chill in the air, the way that the sun was peeping through the high clouds, and the fact that everything was absolutely normal. It was early, the traffic hadn't really picked up yet, though there were a few early risers walking to their various work establishments in their usual morning rush. If I hadn't been listening to the radio on my drive in, I would have supposed it a perfect fall morning. But as I made my walk through Regent Street, across first south, my thoughts were taken to a different place and different people, who weren't experiencing my perfect fall morning.

My thoughts and prayers go out to the people whose lives have been drastically changed because of Hurricane Katrina. Life in Salt Lake City followed its normal path yesterday. Work with a host of meetings, a class at the University, and then back to work to finish off a host of tasks received in the morning. Everyone was just doing what had to be done, and yet, I couldn't help but think of those who couldn't resume normal life yesterday. For the coming months, they will be facing the challenges of rebuilding their homes, and businesses.

It is indeed sad that it takes a hurricane, demonstrating the great power of nature, to remind us once again how very fragile we are. I am grateful to those who have made time to go and help, for organizations that donate time and money to distressed people and places. I was touched by the story of a man profiled on NPR yesterday morning, a police officer, guarding some downtown streets in New Orleans with the hope of fending off looters. He said that his home was a few miles away submerged under six feet of water with no roof. He recounted to the reporter that he had lost most everything, but not the things that mattered most, for his wife and children were safe and alive. Knowing that his family was still safe, he could show up to work and try to help others. What a perspective his story brings to light.

Armed with a different perspective, staying up a few extra hours to do homework doesn't seem too bad. Having a job where the hours and work are steady is a blessing. Life as I know it right now is actually quite ideal.

Monday, August 29, 2005

Warming Up

I am trying to get used to this new schedule. It seems that my summer vacation may have made me soft. If I was to work before 10 and in bed by 10 I was a happy boy. Unfortunately, a student who wants to keep a job can't work those hours. In the mean time, while I get used to the rudeness of my alarm clock and force myself to stay up later than I am accustomed, I will just be thankful that I have the opportunity to go to school and have a job at the same time. A bit of gratitude can go a long way toward fixing my outlook on this roller coaster we call life.

Today was the third meeting for the classes that meet Monday, Wednesday, and Friday. Assignments are coming out, and most of us are settling into the classes quite well. At this point in the program, many of us have been following each other for two years now. This gives way to some comfort, if not with the subject, then at least with the people in the room. I found the CS undergrad Linux lab today, and was very pleased with the facilities. Not only was it cleaner, brighter, but filled with new fast machines. This afternoon after class, a small group of us spent some time working over optional exercises dealing with how to detect memory allocation for basic types in the C programming language on different platforms. Though it sounds completely insane to admit it, the assignment was actually fun. I don't know a lot of C, but get the feeling that I will learn quite quickly.

Tomorrow will mark the second day in my Tuesday class. Tuesdays and Thursdays are hard because I should put in a full 8 hour day at work, with a break in the middle of the day for a class. Just typing it makes me tired; I haven't tried the 8 hour deal yet. Tomorrow will be the first run.

I may be somewhat on top of the CS stuff I have on my plate right now, at least until new assignments come out on Wednesday, but in the meantime it is time to hit the Analysis books again.

Saturday, August 27, 2005

Sofware to Ease Web Life

So I guess that I got into a mood to try new programs so I downloaded Sage, as suggested by Michael Sarver. It does a pretty good job, still not exactly where I would like to be with regard to RSS aggregating, but it is a bit closer than scrolling through all of the live bookmarks. For a free program, I really can't complain.

I also downloaded the newest version of Google Desktop. What an impressive piece of software. It is a lot closer to what I wanted with regard to feed aggregation, but I haven't come to a final decision as to my feelings on the side bar. I love the fact that I can subscribe to flickr RSS feeds and have random photos show up every few seconds. The fact that it also "learns" how I surf the web to show me things that it thinks I will find interesting is cool, albeit a bit big-brother-ish.

At the insistence of a friend who introduced me to Gmail a year ago, I also downloaded Google Talk this week. WOW! As Jeff Croft suggests, it doesn't really offer anything new to us, but I like the way it feels. It isn't as fully featured as my other two IM clients MSN Messenger and ICQ, but one thing I really like is that it fits right into the Google Sidebar. I suppose that if I have to give up desktop real estate for something, it may as well do everything I want from Notes, to Blogs, to News, to Instant Messaging. The big question is how to convince my ICQ and MSN contacts to move over to Google Talk.

I have a little bit of homework to do this weekend. I got most of the reading done last night, so I am on top of that. However, I do have a pretty good assignment to do in Introduction to Mathematical Analysis I. If I start now, I might have tomorrow off to rest.

Thursday, August 25, 2005

Day One Day Two Recap

I have made it through the first two days of school. It looks like it will be an interesting semester. As I continue in computer science the name of the game is that of continually peeling back the layers of abstraction so that as a programmer, I understand exactly how where and why the computer works the way that it does. It is really fascinating (and heady) stuff.

It is painfully obvious that there will be plenty of homework this semester. I went home yesterday with homework and reading assignments after the very first day. Homework may not be the most entertaining thing in the world to do, but at least when it is finished, the doer really feels like he/she has put in an honest days work.

I am still feeling rather un-inspired right now when it comes to having things to say with regard to blogging. However, I just downloaded the blogger plugin for Microsoft Word that allows one to post right from the word application. We'll see how it turns out. I am still a bit mystified about how I can encode links. It may suffer the same fate as blogging from email.

I am still looking for a good feed reader? I am now to the point where hovering over live bookmarks is getting to be a real pain. There must be a better way. Any recommendations?

Oh cool! When I hit publish, it brings up a window called "HTML Viewer" where I can edit. That is how I shall include links. Perfect!

Tuesday, August 23, 2005

Year One!

Post one, in classic programmer style was "Hello World". It was my introduction to the world of blogging, I was charged up and ready to go, but I didn't know what I would say. All I knew is that I wanted to do it. Yes, I became a blogger when everyone else did. I wasn't one of those trendy early adopters, but at least I caught the vision and started. 244 posts later I can say that this is a lot of fun. It has been an outlet for reflection, expression, and learning. I find myself trying just a little bit harder to pay attention to the world around me, because I want to have something to say for my blog.

So it's a year later, and I decided that for the one year anniversary I would do a re-design. Also in that first blog post, I talked about how I wanted to create my own template, and I thought that I would have time to get that going in a couple of days. That was a farce, with the business of school there wasn't time. However, this summer I found some time and desire to see what I could put together. Some things remain quite similar to the way they were before. Others have changed a bit. I couldn't have done this completely on my own, as I am inept when it comes to design. I have thanked and linked those people who helped me in the about section. Though it still feels like a work in progress, and there are many other things I would like to add and try- this is a good milestone, and it will probably stick for another year or so.

I appreciate those of you who come here and read my writings. I think I know who a few of you are, but I am sure there are others that I don't know. It has been pleasing to get a few comments now and again. When I started this thing, it was totally personal; I never counted on having an audience. Lest I fool myself, I realize that my readership isn't huge, but there are a few loyal friends out there. Thank you for your support.

Here I am at the end of the summer. Tomorrow I go back to school. It has been grand to rest, work, and play. I didn't do everything that I wanted to, but I sure did a lot. I designed some programs, I wrote some programs, and I visited new cities, read good books, enjoyed the company of friends and ate great food. Really, there is nothing to complain about. Though there is an inevitable stress that will accompany the grind of being back at school, I am excited for the challenge. It will be good to be back with my friends, and back on the campus. There are many great things about university life, and having missed them this summer, I'll try to emphasize the good this fall.

Thanks for visiting, and I hope you'll come again!

Sunday, August 21, 2005

Summer Reading Review

As I try to wrap up the summer, I wanted to publish a consolidated list of the reading I got done this summer. Admittedly, there is a lot more fiction in this list than computer science related stuff. But hey, it is summer, and reading fiction was fun. I heard a quote today:

"When I get a little money I buy books; and if any is left, I buy food and clothes."
-Desiderius Erasmus

Isn't it just fantastic? Now my spending habits may be a bit more complex than that, but books certainly have had a large influence in how I have chosen to spend my hard earned pennies this summer. Without further ado, here's the list.

CS RELATED
Joel on Software
What a great book. My copy has post-it flags coming out of numerous pages. There were so many essays that resonated with me. If anyone is looking for an insider's view of software development, this is a good one.

Out of Their Minds
This book was recommended to me by my first CS teacher Art Lee It was a fascinating read about the beginnings of computing. I really appreciated hearing about the first programming languages from the actual inventors. Thanks to some careful narration and explanation this book is easily readable by anyone.

Algorithmics
Detailed, Thorough, and defiantly not for the faint of heart with regard to math talk. I am still chugging away on this one. I would have finished it MONTHS ago, if it weren’t for the fact that I can only digest a few pages at a time.

The Best Software Writing I
An entertaining, and quick read, I wrote a review of this book on my blog here.

FICTION
Harry Potter and the Half-Blood Prince
Book four remains my favorite to this day, but it was so very exciting to spend 16 hours reading book six this summer. Reading this book was very much like visiting an old friend- comfortable, fun, and friendly. Regardless of how you feel about Rowling, she deserves some credit for creating an amazing world that has captured the hearts of millions.

Ender’s Game
Not the first, second, or even third time that I have read this book. It is one of my all-time favorites. Each time I read it, I come away having learned something different. It is fascinating how time changes our perceptions.

Ender’s Shadow
This book is a retelling of Ender's Game, but from a different character's perspective. This was my second time through this book.

Shadow of the Hegemon
This book is the sequel to Ender's Shadow. Again, it was a second reading.

Shadow Puppets
I read the other Ender books so that I could read this one and the next one which finish off the story of Ender's friend Bean. This book was told in classic Orson Scott Card style, and I loved every bit of it.

Shadow of the Giant
This was the final book in the Ender's Shadow series. I know, some don't have much appreciation for science fiction, but Card is a great story teller, and his characters are so human and real it is hard to not recognize parts of you in them. Once this happens you are compelled to read every page, wanting to find out what happens next.


HISTORICAL FICTION
The next three books were also by Orson Scott Card. I hadn't planned on reading them at the beginning of the summer, but when I was raving about the Ender's Shadow series to a friend; he told me that I needed to try these books out that were by the same author. I was quite skeptical, as historical fiction has never been one of my strong suits, but these really surprised me. It was wonderful to read this author's suppositions as to what these great bible women's lives would have been like. Card certainly did a lot of studying and research to write these, and they are well executed.

Sarah: (Women of Genesis)

Rebekah: (Women of Genesis)

Stone Tables


End
So that tells the story of my summer reading. There is a lot that I didn't get done, that is the thing about books, there are more than there is ever time to read. I am looking forward to this school semester where once again I will get to focus my reading on Math, and Computers. It won't be as easy as some of the stuff I read this summer, but after having a nice rest, I am ready to take it on again.

Saturday, August 20, 2005

1812 Overture in Deer Valley



What a great way to spend the last Saturday before school starts. I had the chance go hear the 1812 overture performed outside at Deer Valley with real cannons. The scenery was beautiful, the company was great and the music was beyond fantastic. When my friend called me up on Friday to tell me that she had an extra ticket and asked me if I wanted to go, I knew immediately this wasn't a concert to be missed. The program listed Shotakovich: Festive Overture, Addinsell: Warsaw Concerto and Tchaikovsky: 1812 Overture. But there was a lot more than that. Selections from Grieg, Stravinski, and Rachmaninov were also played. I may have totally massacred the spellings there, but needed to mention the additional bonuses. This concert combined two of my favorite things, the great outdoors, and classical music. It really doesn't get much better than what I heard and experienced this evening. I can't remember a Utah Symphony concert where more crowd favorites were played in succession. What a treat! I can't think of a better way to end what has been a great summer.

Thursday, August 18, 2005

Flickr - love/hate


Flickr overload
Originally uploaded by Pandarine.
So it seems that flickr is going through some growing pains again. There are issues over ID mergers with Yaoo. Some are less than thrilled about the new ranking system, so-called interestingness. Others are frustrated with the so called flicky awards. There are also many photographers out there working very hard to self promote their work. The picture that I have blogged comes from a member who is trying to make a statement about flickr's social games, the funny thing is, he is so popular that even his "overload" photo easily made it into the top of the interesting bucket.

Social software is an animal. The developers may try to design something to be used in a given way, only to find out that their user base has found a completely different use for the same feature. Once a piece of social software goes live, it very much gains a life of its own.

Flickr is just like an online game, and I should know having spent years playing them. There is a class system, there are the community giants, and the nobody's. There are those who love to be hated. There are those simply there to pet their egos. Some are there to exploit others, others are there to contribute. It is all the same.

I think that flickr is a great service. I believe that their photo management software is some of the best that I have used. I like the fact that I can just drag and drop photos to share on the internet. I love the way that I can organize them into groups, tag them, annotate them, title them and describe them however I choose. I enjoy the fact that I can comment and favorite other users photos. I love that flickr has made it open and easy to get your work out of their system and onto a blog, or into a 'flickr badge'. Honestly, it saves me hours of coding, or trying to find another solution to do it for me.

I used to love the social aspect of flickr. Then I learned that it is just like the social aspect of any other online game; it is best to have a few friends, but not worry about 'domain domination'.

For me, flickr is a great tool. I use it as an online photo organizer. I pay gladly for the service. If there are any social perks for being a member of the 'flickr community', then they are just that perks. I am not seeking them out, nor am I actively playing the game.

Is it overloaded though? Absolutely.
Am I a fan of interestingness? No. I agree whole-heartedly with a person who stated that a few hours a day looking at ‘explore’ on the flickr site is enough to make anyone vomit. There are just too many pretty photos. Why should we use an algortihm to tell us what is interesting, I liked the adventure of finding it on my own.

I had really intended on writing a small essay about hacking phpbb and nukephp last night, but apparently flickr got the attention today. Oh well.

Wednesday, August 17, 2005

Comment Spam is Lame

The title says it all. One of the reasons I have been ok sticking with Blogger is that I haven't had to deal with any comment spam here, ever. I like leaving anonymous commenting open, as it allows those of you without blogger accounts to say something when you feel so inclined. Let's hope that what I saw today was just a small one time occurrence, and not the rule.

Monday, August 15, 2005

The Best Software Writing

I just finished reading The Best Software Writing, selected and introduced by Joel Spolsky. Many of you may have already finished this book, as it has been out for a couple of months, but if you haven’t, and you would like to consider yourself current with what people have to say about software, you should buy this book and read it today.

The essays in the book are taken from blogs or speeches that Joel found to be provocative, interesting, or just plain fun. They are all well written, and give the reader something to think about. It was a quick read, and kept my interest. One can easily tell when I am enjoying a book as it ends up being filled with post-it flags on the pages where something is said that resonates with me, and this book was no exception. I started the book while camping last weekend, and when we got home I was told that no one wanted to hear any more of the ‘geek jokes’. Oh well, it’s their loss.

I come away from The Best Software Writing with a laundry list of things to think about:

  • ’Best Practices’ in software development

  • The contrast between ‘developers’ and ‘programmers’

  • Social software in the context of the modern internet

  • Ideas for what makes good team leadership and product development

  • What makes for engaging, informative, and entertaining writing on software

Saturday, August 13, 2005

Home Again


Mouth of the Reservoir
Originally uploaded by CodeFin.
I spent the last three days camping at Utah’s Jordanelle Reservoir state park. It was very beautiful, and very fulfilling. It was good to get away from the computer for a bit, and exchange it for a good dose of clear air, warm days in the sun, and relaxing evenings by the fire. My only complaint about camping is that to stay clean, one must be quite diligent. But hey, I won’t complain about it too much, as it did get me out of the office, and aside from the work it was to keep bugs away, and keep the crew fed, I had plenty of time to relax, talk, read and nap.

Tuesday, August 09, 2005

Physics Demo Lecture

Last night I had the interesting experience of attending a physics demonstration lecture at the University. It is interesting that when you are just looking at the explosions, projectiles, impacts and shocks it becomes a lot more fun than when you are sitting through the demos during class. Yet at the same time, having been through the lectures and understanding the ‘magic’ (or math) behind the demo, I think that it causes one to have a greater appreciation for the show.

The demo was done as a part of the summer meeting of the American Association of Physics Teachers that hosted by my university. The demo was open to the public, and I am glad that I went, even if it was a bit nerve wracking to be surrounded by physics teachers at first. As time went on, I decided that the physics geeks have a sense of humor similar to that of the CS geeks, and that in reality we are quite compatible.

My favorite joke of the evening was when a demonstrator was discussing wave mechanics. He brought 30 elementary school kids onto the stage and gave them all glow sticks, so that when the lights dimmed, the audience could see a wave propagate. Some of the kids were a little young, and didn’t get how to start the glow sticks, and the demonstrator was starting the youngest children’s glow sticks and he said “Now once you crack it, shake it up really good until it starts to glow. This is called chemistry, and we don’t study that here”. It is good to see that the old jokes between the mathematicians, physicists, and chemists are still being preached to the rising generation.

You probably had to be there to see the humor in it. I had a good time none the less.

Saturday, August 06, 2005

Wild Flowers



Originally uploaded by CodeFin.
I went on a bit of a nature walk this afternoon with two good friends, and I am glad that I went. I don't think I have ever seen such fields of wild flowers in all my years of living in Utah. If you are near by, you must take a trip up Little Cottonwood canyon, up past Alta. The views are simply astounding.

Friday, August 05, 2005

More Thoughts on Linux

Even though it was pretty exciting to get a Linux distribution up and going on the laptop, and even though Open Office is a pretty cool application, having had some time to further consider the state of software in the world, I must ask why?

I understand that the very machine that delivers this blog to you day in and day out is running some flavor of Linux as its operating system, and that is totally great. I have also done my fair share of work on Unix workstations at school in the Physics, Math, and Computer science departments.

Yes, when it is up and running, it runs well.
Yes, the file system is very useful and powerful.
Yes, getting around on a command line and compiling stuff is enough to make any geek feel proud.

BUT — honestly, does every person in the world have the time/patience to download, compile, install, and tweak every aspect of their system? For example, getting the monitor to show at the right resolution, getting the laptop battery to show its charge status appropriately, making the wireless card work, or maybe something like getting the USB flash drive to be automatically discovered and mounted. The above reasons are the quintessential pillars explaining why Microsoft and to some lesser extent Apple rule the consumer PC operating system realm.

When it comes to parents, siblings, grandparents, and even myself to some great extent “it just works” and “plug and play” are the triumphant winners in contrast to “download this” “compile that”. Sure, the geek inside can say “Look, I got super-neato Linux running on my extra box this week.” To his friends, but how many hours did he spend doing it? Does it really run as stably as OS X or Windows XP? Can they do EVERYTHING that one would want to do on a computer with the fantastic programs that we have all grown to know and love? The answers will probably come back somewhat gray, but one thing for sure. I wouldn’t be too hesitant to walk my parents through a Mac OS upgrade or a Windows upgrade on the phone. But I would tremble in fear with the thought of walking my parents through a Linux install… especially in the dual boot world!

Perhaps one of the reasons that Windows is supposedly so “bloated” and that for years installing your own rogue hardware on a Mac voided the warranty is that each company took an interesting view of hardware/software development. Microsoft took the idea that they would write drivers for, and test as many different hardware configurations as one could come up with. The software is big, because they have to support them all. Apple decided that they just wouldn’t support non-apple stuff, so they didn’t have to worry about it – but they made sure the hardware they did support was good. Fedora Linux isn’t too terribly huge, and they claim that you can do anything that you can do in Windows, however, they never mention how much pain you might have to tolerate to get it that way, or that at the end of the day it might feel like a cheap knockoff of the original.

Yes, Linux and Unix have their places, and they do serve society in a great way. I am just not convinced that it is really the future of software. It isn’t friendly or easy enough. Some avid supporters may say “Yes, but we are getting there”, and maybe they are, but in my opinion not fast enough.

Will Linux serve as a great playground to learn about how operating systems work? Yes, it will do that, and do it well. Is it an OS that everyone should embrace? I am not ready to advocate that stance yet. Unix may serve 70% of the worlds web-pages, but that doesn’t make it the greatest desktop OS either. Maybe the argument is best framed inside the idea that the world has different operating systems for different tasks, each one built to handle a specific task well.

Certainly, if any OS is going to make it in this world, free or not, it has a tall order to fill in my mind. Windows and OS X may not be perfect, but they go a lot further than anything else I have seen.

Thursday, August 04, 2005

Fedora Linux Anyone?

I crossed a major hurdle this evening, with help and encouragement from Curtis. I decided that it would probably be a good idea to get a distribution of Linux going on my laptop before school started as I know that in at least one of my classes, all of our work will be done in that environment. The disclosure from last year stated that if one wasn’t familiar with setting up Linux, they might find that it would be a bigger hassle than its worth if they were to attempt it during the semester. So with that thought in mind, I set out to try and figure out what I needed to get this thing up and running.

I am happy to say that I am writing this blog entry in Open Office, installed on a Fedora 4 distribution of Linux! I will post to my blog from Firefox, and then call it a night. This dual boot system is a little cramped right now (only 10 gigs free space on both the Windows and Linux sides) but it is certainly enough to get things going.

This evening I managed to get the monitor resolution working as it should. I learned a lot, and having tackled the monitor hurdle, I think I am ready to work on wireless networking, and then to all of the other stuff. Of note-- if people really think that Linux is the way to go as far as ease of use, I think that the jurry is still out. There is NO WAY that any of my family or non-geek friends could have gotten through this install tonight. Heck, I don’t think I would have made it without some moral support from friends.

This Linux stuff is cool, but it has a ways to go. I am just excited that I have it up and running.

Wednesday, August 03, 2005

Rainy Night


Rainy Night
Originally uploaded by CodeFin.
There was a pretty cool storm last night. It managed to take out the internet for a while, so to entertain myself I decided that I would try to get some photos of it. I think that I was reasonably rewarded for my effort. As done as rain-on-the-windshield is, I am pleased with the result. It’s grizzly photo for what was a grizzly evening so far as the weather was concerned.

Monday, August 01, 2005

Begin August

It just wouldn’t be appropriate to let the first day of August slip by without a blog entry. Today was a reasonable day at work. I worked on the specification that I drafted on Friday, and it is now set to be presented a meeting that will take place tomorrow. There is a lot of testing that needs to be done this week, and I imagine that it will take a great deal of my time between tomorrow and Friday. Thank goodness there is stuff to keep me busy.

I just finished reading this month’s Wired magazine, headlined “10 Years that Changed the World” celebrating the IPO of Netscape on August 9, 1995. What a fantastic article it turned out to be. This thing called the internet really has made its mark on the world, and though a decade is a great celebration, it is still young. We have much to look forward to in the form of online progress. It really is quite amazing that I can sit in my bed typing on my laptop that is wirelessly connected to over 8 billion websites. As the article pointed out, certainly the rulers of old would have paid a great price to have this wealth of information and knowledge. Lucky we are.

As my friends are in school are likely preparing for their finals this week, I am getting more and more anxious for things to get going again. Sure, there is a stack of reading that I would like to get through, and some additional features that I would like to build into the PodCast RSS writer, and a couple of other projects on the burners, but getting back to business will be good. I keep checking the class web pages waiting for updates, and so far haven’t found anything. Patience is the key to this one. In just a few weeks, I will see those web pages more than I will probably care to.

And so we begin August. As a child it was a time when all of my siblings would pile into mom’s car and go off for “back to school shopping” clothes, shoes, paper, pencils, and binders were the name of the game. Now August gives a little much-deserved rest to those who enrolled in summer semester, and reminds the summer rested that it is time to start thinking about academics again. This month will also mark this website’s first anniversary. I have one more small “vacation” planned for this month, it will be just the thing to end the summer well, a nice little three day camping trip. So, as I have enumerated this list. August is a good and busy time, a transitional month that bridges the easy living of summer repose to the rigor of fall academic exercise.