Interesting question isn't it? People use facebook for different things; networking, dating, complaining, you name it. Just yesterday my step-daughter Courtney sent me an invite for something call Dogbook. Yes, it seems that within facebook you can build a network for your pet, in this case my dog. Oh yeah, it also includes cats too. So I gave it a try, we have three dogs, a min pin, a yorkie and a big question mark. I set up a dogbook for our min pin, felony, fel for short. I was able to set up information about him, favorite things to do, and then build a network of friends for him. So what's the value? I'm not sure yet. I was able to find groups to joins for other min pins. So there could be something there. But right now, I am just not sold. It definitely does show that social networking is exploding into other directions that I would have never guessed. And yes, I do update fel's status when he does something new.
Recently in General Information Category
Like most of you out there in blog land, I read a lot of tech news and views from a variety of sources. Some of my favorites are digg.com, lifehacker.com and slashdot.org. Just recently I came across a post about a news aggregator site called newser.com. newser was mentioned as being the future of on-line newspapers, and I agree. Last night on Fox Business, I heard that most of the stock prices of the major newspapers are actually less than the price of the paper itself. I receive the CDT at home, but with a site like newser, I could be convinced to cancel my subscription.
I am a big Mac user, right now I am typing this post on my iMac. Also in my office, you will find a MacBook and a Mac Mini. At home, I have a Mac Mini too. But there are times when I need to run other operating systems for testing like Windows and a flavor of Unix. Since all of my Macs are Intel-based, I am able to take advantage of the virtualization software that is available. I have tried Parallels and VMware Fusion. Under both of those products, I installed a licensed copy of Windows XP and Ubuntu. In the end, I really liked VMWare for its features and performance. Heck, I even went out and purchased a copy for home. Now the landscape has changed a bit. A while back, Sun released VirtualBox as Open Source, which is another VMWare-like environment. From the VirtualBox site:
VirtualBox is a general-purpose full virtualizer for x86 hardware. Targeted at server, desktop and embedded use, it is now the only professional-quality virtualization solution that is also Open Source Software.
So I kicked the tires on it, and the results have been very good. Again my main use is to fire up an OS and maybe do some testing and that's about it. In the hard times we are in financially as a country, you really cannot beat the cost ($0.00).
This one of my first posts about things in my world that have nothing to do with software. So back to the audit, no it was not the IRS. I had an energy audit performed on my house. With rumors of really high oil and energy prices, I decided to take some action back in the summer and see if there were things I could to keep things under control. In the back of my mind, I figured the audit would go well, since my house was constructed in 2000. Ha, was I really wrong.
So I contacted the auditor, who in the end turned out to be someone I went to high school with, go figure. Anyways, John came out and told me about the process. We started off with a questionnaire about how we (my wife Sheri and I) feel about the house. Is it really cold in the winter, and warm in the summer and many other questions like that. Actually, there were three pages of questions. After the question period, John went around the house looking for things and then started in the basement and worked his way upstairs to the attic. The last thing he performed was a blower door test. You can read more about that here. John assured me the house would do well. Well it did not. Based on the results of the test, he felt that I had huge holes in my ductwork and I was loosing energy in other places. Ouch! So here were some of the recommendations:
So I contacted the auditor, who in the end turned out to be someone I went to high school with, go figure. Anyways, John came out and told me about the process. We started off with a questionnaire about how we (my wife Sheri and I) feel about the house. Is it really cold in the winter, and warm in the summer and many other questions like that. Actually, there were three pages of questions. After the question period, John went around the house looking for things and then started in the basement and worked his way upstairs to the attic. The last thing he performed was a blower door test. You can read more about that here. John assured me the house would do well. Well it did not. Based on the results of the test, he felt that I had huge holes in my ductwork and I was loosing energy in other places. Ouch! So here were some of the recommendations:
- Fix my basement insulation, as it was installed incorrectly.
- Insulate my water pipes
- Seal behind my sinks.
- Seal other areas that had drafts.
- Add additional insulation to my attic.
- And many other things (10 pages worth).
For the longest time, I have been in the quest for the perfect development environment, and I've had little luck until this past week. Now do not get me wrong there are loads of great environments out there, and I have used most of them. Back at Raytheon, I used Rational Rose, StP, Visual Basic and Symantec Visual Cafe for Java. When I came to Penn State, I did a lot of Java, so I continued to use Symantec and its various follow-ons. Then I branched out to other languages and platforms. I'm not your average programmer who in a day just uses one language. Monday for example, I was coding some "C", PL/SQL (Oracle), shell script and Java. And all of it was done using "vi" on UNIX. My desktop is a Mac, but I just never found something that worked for me. I tried Eclipse and I really wasn't impressed. So I almost came to the conclusion that I was just going to be stuck using "vi". Now do not get me wrong, I am really good with "vi", and the other UNIX tools, but I was missing the features of an integrated environment. Well folks, good news I found my environment and its NetBeans. I am running version 6.5 on Mac and its great. I ended up loading all of the plug-ins for the languages that I deal with. And to make matters even better, Wednesday I found a PL/SQL plug-in. Now I can develop stored procedures, compile and debug them from my desk. Being the old programmer that I am, I have to admit that I did switch the editor to use "vi" bindings. Some things are just hard to give up.
From www.wired.com - Twitter, Flickr, Facebook Make Blogs Look So 2004. Its a pretty interesting read. As of late, I'm finding less and less time to blog. Twitter, facebook and del.icio.us do make my life a lot easier.
Hello, its sure been a while since I have had a chance to blog about anything. This summer sure has gone fast, with migration after another. Personally, I'm sure glad the semester has started, so I can get caught up on other things. Today's topic is maintenance programming, that is art of developing software to maintain existing applications and/or services. At my previous job at Raytheon, that used to be the kiss of death. Comments like, "Oh he is doing maintenance, well that's it for him" used to be commonplace. Reality is, I have a friend who is doing maintenance on the same software application that I worked on 12 years ago. My friend knows its a real killer, but he has all of the experience so his skill is needed.
As of the last two years, I am finding myself in the same boat, just doing maintenance programming. Needless to say, I know how important it is, but in a word it can be just boring. How do you make it exciting, other than the obivious resigning? Well what I try to do is see if I can apply a new technology or programming language in a way that will enhance the functionality of the application. Of course you do not want to do technology for technology's sake.
Here is an example of where some new technology could make things better. We have some applications that provide APIs that when called returned XML documents. Back in the day, when I developed them, frameworks, SOAP, Web Services and so on were just in their infancy. So doing things with a simple HTTPS POST and rolling your XML was pretty much the solution. Now today, we have things like Web Services, and REST. So for some of the newer enhancements, I will be looking at those technologies. Hopefully that will make maintanance programming more exciting.
As of the last two years, I am finding myself in the same boat, just doing maintenance programming. Needless to say, I know how important it is, but in a word it can be just boring. How do you make it exciting, other than the obivious resigning? Well what I try to do is see if I can apply a new technology or programming language in a way that will enhance the functionality of the application. Of course you do not want to do technology for technology's sake.
Here is an example of where some new technology could make things better. We have some applications that provide APIs that when called returned XML documents. Back in the day, when I developed them, frameworks, SOAP, Web Services and so on were just in their infancy. So doing things with a simple HTTPS POST and rolling your XML was pretty much the solution. Now today, we have things like Web Services, and REST. So for some of the newer enhancements, I will be looking at those technologies. Hopefully that will make maintanance programming more exciting.
You are probably asking yourself, which Portal? There are so many things out there today with portal-like features, that's it hard to tell one from the other. The Portal that I am referring to, is the Penn State Portal @ https://portal.psu.edu/. As many of you know a long time ago, I was the primary developer for the Portal. I'm not going into all of the historical stuff, I already did that in a previous post.
When we looked at the portal concept, a number of us felt it was great idea. One place to go to for all of your stuff, whether its Penn State-related or external like CNN.com. And for a period of time, we had some traction. The portal was the place to go for a number of things like RSS feeds and chat. When we were doing our design, we make a conscious decision that we were going to settle on using RSS for content-type channels. At the time the specification was in the hands of Netscape and the version was around 0.91. Software to take RSS and convert it to HTML existed, but its performance was not very good. So we ended up writing our own parsers using compiler tools (Lex and Yacc). Then for chat, we had a Java Applet (yes an Applet) that supported Jabber in the portal. Another thing that we can up with in the portal was the concept of your personal bookmarks. That way a person could log in and always have access to their bookmarks. Again another great idea at the time, now with sites like del.icio.us, you may not need a capability like that.
So where have things gone? Well today, everybody and their brother has their own RSS aggregrator (News Reader). I personally use NetNewsWire. And for things like chat, we just launched a Jabber Alpha/Beta that supports native clients. A web-based version is on the way. So there are a number of things out there that replace the functionality of the Portal. I will be the first to admit that. I have not checked usage numbers in years. But, people still use the portal. Why you may ask? Well it gives them something that many other sites do not, personalization and customization. Your portal is personalized for you, because we know a little bit about you based on your directory information. This is a pretty neat concept that still has merit. Customization of course will allow you to go in and pick and choose the concept you want to see.
Back to my original question, is the Portal dead? I think it is on life support, but not dead. People at Penn State and other Universities still find value in the portal concept. Remember a single place to go for all of my stuff. If I had my way, what would I do to resurrect the portal?
When we looked at the portal concept, a number of us felt it was great idea. One place to go to for all of your stuff, whether its Penn State-related or external like CNN.com. And for a period of time, we had some traction. The portal was the place to go for a number of things like RSS feeds and chat. When we were doing our design, we make a conscious decision that we were going to settle on using RSS for content-type channels. At the time the specification was in the hands of Netscape and the version was around 0.91. Software to take RSS and convert it to HTML existed, but its performance was not very good. So we ended up writing our own parsers using compiler tools (Lex and Yacc). Then for chat, we had a Java Applet (yes an Applet) that supported Jabber in the portal. Another thing that we can up with in the portal was the concept of your personal bookmarks. That way a person could log in and always have access to their bookmarks. Again another great idea at the time, now with sites like del.icio.us, you may not need a capability like that.
So where have things gone? Well today, everybody and their brother has their own RSS aggregrator (News Reader). I personally use NetNewsWire. And for things like chat, we just launched a Jabber Alpha/Beta that supports native clients. A web-based version is on the way. So there are a number of things out there that replace the functionality of the Portal. I will be the first to admit that. I have not checked usage numbers in years. But, people still use the portal. Why you may ask? Well it gives them something that many other sites do not, personalization and customization. Your portal is personalized for you, because we know a little bit about you based on your directory information. This is a pretty neat concept that still has merit. Customization of course will allow you to go in and pick and choose the concept you want to see.
Back to my original question, is the Portal dead? I think it is on life support, but not dead. People at Penn State and other Universities still find value in the portal concept. Remember a single place to go for all of my stuff. If I had my way, what would I do to resurrect the portal?
- Complete rewrite to make it Web 2.0/3.0.
- Make content publishing more user friendly.
- Try to make it the hub for all Penn State applications. Those applications do not have to be wholly contained in the portal, just use the portal as a launching point for them.
- Make things easier to use (look at Google's Portal for example). And you maybe asking why not just use Google? That question has been asked in different forms before, because Penn State content should stay inside of Penn State.
What a title? RISK (even in uppercase), pretty scary isn't it? I did a quick google for some definitions and I really like this one:
Risk: The uncertainty of an event occurring that could have an impact on the achievement of objectives. Risk is measured in terms of consequences and likelihood.
By the way, I am not talking about the game of Risk, which was the first hit from google. No, folks I talking about risk with regards to a project. All items of risk should be taken into account during all phases of a project. In addition, the affects of risk should be accounted for in the overall schedule. Here are a couple of examples of risk that can affect a project:
So what do you do about risk? Well first off, you need to acknowledge that it exists. You would be a fool not to. Look at the all of the external forces that can affect your project. Each force represents a risk, whether its a hardware vendor or the company doing your copies. You need to acknowledge the risk and come up for a plan to mitigate said risk. The same thing applies for internal forces too. Risk exist there too, things like staffing and commitment all affect the overall project plan. Risks, like everything associated with a project needs to be constantly evaluated, because at different stages of the project the level of risk could change. Early on in the project, the technical lead leaving would have less risk than later during the overall development.
I used to be accused of padding estimates when I gave them. Why? Well I knew some of the risks, and wanted to take them into account. Reality is these days, I still do that. Because worrying about risk and its affects, brings me to my final point. Be Realistic! Do not kid yourself that things will go perfectly, they never do. However by acknowledging risk and its associated affects can make things easier when things just do not go right...
Risk: The uncertainty of an event occurring that could have an impact on the achievement of objectives. Risk is measured in terms of consequences and likelihood.
By the way, I am not talking about the game of Risk, which was the first hit from google. No, folks I talking about risk with regards to a project. All items of risk should be taken into account during all phases of a project. In addition, the affects of risk should be accounted for in the overall schedule. Here are a couple of examples of risk that can affect a project:
- Dealing with an vendor that delivers hardware that is either missing or not functioning.
- What do you do if you technical lead or other key player decides to resign or worse becomes ill (the hit by a bus scenario).
So what do you do about risk? Well first off, you need to acknowledge that it exists. You would be a fool not to. Look at the all of the external forces that can affect your project. Each force represents a risk, whether its a hardware vendor or the company doing your copies. You need to acknowledge the risk and come up for a plan to mitigate said risk. The same thing applies for internal forces too. Risk exist there too, things like staffing and commitment all affect the overall project plan. Risks, like everything associated with a project needs to be constantly evaluated, because at different stages of the project the level of risk could change. Early on in the project, the technical lead leaving would have less risk than later during the overall development.
I used to be accused of padding estimates when I gave them. Why? Well I knew some of the risks, and wanted to take them into account. Reality is these days, I still do that. Because worrying about risk and its affects, brings me to my final point. Be Realistic! Do not kid yourself that things will go perfectly, they never do. However by acknowledging risk and its associated affects can make things easier when things just do not go right...
Communications can probably be best described as a tower of babel. People are there and they hear you speaking, but what the understand and hear is completely different from the person sitting next to them. Today's posting is going to be about communications as you have already guessed, not about some fancy software technology. Communication in general is an integral part of any process including a software one. So it is very relevant to the theme of my blog.
So how do we effectively communicate a new process to a group? Let's look at a way not to do it first and then some suggestions how to effectively communicate. As many of you know, one of my duties is being responsible for the architecture, programming and care of Penn State's LDAP servers. I have been doing this for a number of years now. Because of that, I am involved with a number of committees and I have to attend meetings about LDAP. So its been probably three years now, I was called into a project meeting to discuss LDAP. The meeting was supposed to be about how LDAP could be utilized for role-based authorization (another area of keen interest to me). So of course I had many answers and comments. People were asking questions and I gave them answers in painful detail to include how the protocol worked. There were times I was having sidebar chats with my boss about how we need to do things in the future. All of these things and many others did not nothing to facilitate effective communication. In most cases, I probably alienated the audience. Why? Because my communications with them were flawed in many ways. Trust me, it took a great course called ITLP to help me understand that.
Now for the suggestions on how to do better effective communications:
So how do we effectively communicate a new process to a group? Let's look at a way not to do it first and then some suggestions how to effectively communicate. As many of you know, one of my duties is being responsible for the architecture, programming and care of Penn State's LDAP servers. I have been doing this for a number of years now. Because of that, I am involved with a number of committees and I have to attend meetings about LDAP. So its been probably three years now, I was called into a project meeting to discuss LDAP. The meeting was supposed to be about how LDAP could be utilized for role-based authorization (another area of keen interest to me). So of course I had many answers and comments. People were asking questions and I gave them answers in painful detail to include how the protocol worked. There were times I was having sidebar chats with my boss about how we need to do things in the future. All of these things and many others did not nothing to facilitate effective communication. In most cases, I probably alienated the audience. Why? Because my communications with them were flawed in many ways. Trust me, it took a great course called ITLP to help me understand that.
Now for the suggestions on how to do better effective communications:
- Its all about the message. You need to frame your message so that the audience can understand it all levels and that they have the proper take-aways. This is a easy one if you have an idea of who your audience is, but what about if you do not. Well you start out simple and see where the discussion leads. Remember you are there to help them solve a problem, always keep that in the back of your mind.
- Keep the presentations so that only one person presents. I know that tag-teaming presentations is a great concept, but in most avenues its confusing to the user. You need a consistent presentation that flows from topic to topic. Taking time for a new speaker to set up, causes the audiences attention to wander. Do not believe me, just watch them.
- Make sure you have a focused agenda for your presentation, and stick to said agenda. The worse thing you can do is just wing it. If you know something that your solution that is problematic or will not work, do not take vital time away from your presentation to sit there and debate solutions with your team. Take the discussion off-line.
- After you make a presentation to a group, try to follow it up with an email that re-enforces your important points that you just presented.
- Take aways - In the world we will in, being Green is in. I know that killing trees is a bad idea. However in situations like this, giving the audience something they can take back to their office will not only re-enforce the presentation, but hopefully serve as a constant reminder of what happened.
- When you are giving presentations and communicating with users keep the presentation portions short. You do not want to dump extra detail on them that they really do not need. Of course be ready to answer their questions if they have them. But, make sure you keep those answers short. Communicate to them a solution to their problem, but be light on the details.
Recent Comments