Friday, September 17, 2010

Twisted Paths

To show my age, long ago I got hooked on a computer games called simply "Adventure". The longer name is Adventure in Colossal Cave or something like that. It was a simple text-based game that let you explore a cave and interact with things and creatures. In one area, there is a maze. The description says something like "you are in a maze of twisty passages, all alike". I was musing about the twists and turns that life takes to get us to where we are. When I show my resume to people, I get one of two responses. The first is "What are you?". The second is "You have a lot of diverse experience." If we do one thing for our whole lives, then where is the excitement and richness of life?

Anyway, my latest job has dropped me into the world of networking, IP, telephony, and ATM. While learning about routers and such to program them, I decided to gather the knowledge that I have gained an get a CISCO CCNA certification. I love learning new things and networking certainly has a lot to learn. So, now there will be something else to question on my resume. But, would you rather work with someone who knows how to hit nails with a hammer or someone who has a full toolbox of tools to solve your problems?

DIscovered Gems

Every day I look for something. Sometimes I find it and sometimes not. Sometimes I find things that I was not expecting to find or looking for!

I have a need to create PDF files from my .NET application so I started looking for libraries. There are several out there and they are expensive. Without the budget, I postponed the decision. Then I discovered iTextSharp. It's a free PDF library that so far has been fantastic for me. The only downside I have found so far is that it comes with no documentation. Google searches for specific tasks have been successful so far, but I decided to lay out the $40 for the book (far less than the cost of the other libraries!). The book is written by the author and I am looking forward to reading it when it comes. The intro is available on Amazon, which gave me an introduction to the author, who is an intriguing person.

If you need PDF capabilities in your application, check out iTextSharp.

Sunday, August 15, 2010

Paper or Plastic?

How many times have you heard that question? It seems like a simple choice with little implication. Of course the environmentalists want you to choose paper (or bring your own bags - which is my preferred choice). In software development, we face similar questions each day when we choose directions to go with our code. Many times, they turn out to be simple questions but sometimes they have consequences that are unrealized for a long time. The longer we go not knowing the consequences, the more equity we build into our choice and the harder it is to backtrack. My temptation is to stop, go back, and take the other path which seems better. Sometimes though, the best track is to keep going and work around the problem. It might seem like the lazy way out, but we all have deliverable dates and backtracking costs money - sometimes a lot!

Saturday, August 14, 2010

Declarative Programming - A Blessing or a Curse?

Having been a software developer for many years, I have seen a lot of technology come and go. In the early days, I did a lot of programming in assembly language. While it's a lot of fun to be close to the hardware, sometimes it's hard to find bugs when your code is running "off in the weeds". Modern operating systems and frameworks have largely solved this problem, but I have been considering a new issue recently. Is declarative programming really a good thing? Just because we can put something in an XML file and code gets generated, does not always mean that our lives will be easy. What if something goes wrong? Where is the problem? How do I debug it? As an example, I was recently working on a ListView in an ASP.NET application. Creating the templates for inserting, editing, and displaying items is great and setting up the SQL statements to manipulate items is pretty easy. However, in one of my insert statements, I used the word "value" instead of "values". There was never an indication that anything was wrong - no error messages - just no results! Of course, there is probably a tool that will help me out in this situation, but I am not aware of it right now. In this model, there isn't always a good way to debug stuff and I am one who likes control. Maybe I just need some counseling :)

Friday, August 13, 2010

The Glorious ListView

One of my recent discoveries was the ListView for ASP.NET. Having created lots of GridViews all over the place, I really appreciate the flexibility and creativity that is possible with a ListView. No longer am I constrained to a single line for each record, no longer am I constrained to a TABLE, no longer... Well, the possibilities seem endless. As always, it's the little things in life that excite me.

I have always considered myself to be a creative engineer. I love the creative aspects of life - enjoying the colors of a sunset, the way the sunlight shines through the backs of leaves in the morning and evening. The ListView seems to speak to that part of me.

Sunday, August 1, 2010

A New Start

Life is full of new beginnings. Each day brings new opportunities and challenges. We need to learn to appreciate the gifts that we are given each day and make the best of it. Sometimes, the best gifts are those things that we think are problems, but these are the truly wonderful gifts because they bring growth in our lives and enrich our experience.

I started my professional life as a software engineer and along the way have taken various side routes in media production, marketing, P/R, and photography. These routes have expanded my vision and allowed me to see software development in whole new ways. While doing media production, we did a lot of customer interviews. I was always intrigued by the things that customers would say about how they used our products. Their responses were often different from how engineers think. As software developers (or developers of any consumer product), we need to think like our customers and listen to them.

As I start this blog, I want to share tidbits that I learn along the way and maybe some totally unrelated stuff that I find interesting. As the reader, may you always find me interesting and maybe even helpful.