Archive

Archive for the ‘SoftwareDev’ Category

‘Architects’ in agile development

I read a good blog post that basically tries to re-define the common ‘Architect’ role for agile development methodologies. I do agree with his premise, but have a few extra qualifiers I would throw into his statements. Read more…

Categories: SoftwareDev

My first attempt at a ‘Web 2.0′ look

May 3, 2007 4 comments

If you’re one of the 142 people who have visited my site since its inception last month then you’ve probably noticed that I have changed the theme often. I was trying to find what would fit the times and what I liked at the same time. I spent at least 4 hours on each one that I tried – making a logo, customizing the colors, fonts, etc. This is my latest attempt, and for now I’m happy with it. I went with the web 2.0 look which from what I understand is bright colors, big fonts, big graphics (just my RSS buttons), but nothing too flashy. Read more…

Saving planet Earth – Personally and Professionally

April 27, 2007 Leave a comment

A couple of weeks ago, my wife and I rented ‘An inconvenient truth’. This is the documentary by Al Gore about global warming. In it, Mr. Gore presents pretty compelling arguments that we are headed towards great peril unless we immediately take steps to avoid it. I have long thought we were not doing right ‘by the earth’, but didnt think the effects would be evident as soon as he expressed. Fifty percent of the info I read are rebuttals to his claims and the other fifty are in support of it. After my own investigation (Google-o-rama) it seems that there is no doubting the ‘rapid trending’ in the negative direction over the last 30 years, to the degree to which it hasn’t been historically detectable over the past several hundreds of thousands of years. This affects me personally and professionally, doesn’t it? Read more…

Categories: code, java, LifeLessons, SoftwareDev

The Miami University CIT Spring Meeting Details

April 20, 2007 Leave a comment

I’m a member of the Miami University (Ohio) Computer and Information Technology Advisory Council. Basically, we’re a group of people who work in the IT industry that Miami U visits with at least twice a year to discuss curricula, industry trends, and other related IT issues that may help them increase enrollment, teach more relevant information, and better prepare students for a career in IT.

We had our Spring meeting today and it was pretty enlightening. Basically, the regional campuses are considering having a Bachelor’s degree program for CIT. That would mean that you wouldn’t have to transfer to the Oxford campus to ‘finish’ your 4 yr degree. I would have done it if they would have had it way back then. Another thing that was evident, and even mentioned by Marik Dollar (The Dean of the School of Engineering and Applied Science) was that computer science and IT degree enrollments around the nation were falling very rapidly. He mentioned some statistics that I found very interesting. Read more…

Old Java Dogs… continued

April 16, 2007 Leave a comment

Well, the post on javalobby created quite a stir. There are stirs all the time and I usually don’t even bother opining about them, but as you can see from my previous post this time I did.
Two major ideas prevail in the post responses. The first is the argument about actually adding new things to the language and the other, more prevalent conversation, is arguing about the merits of closures, properties, generics, etc.
I like the arguments. There are some really smart people (in the academic sense, at least) mixing it up. I think its all good.
The only thing I don’t like about where the thread headed was that, to me, Yakov Fain’s original post was pretty straight forward – leave java where it is. I just do not agree with that. The language is not perfect and if things are added right (not that I have the answer) they wont affect backwards compatibility. Quoted from his post:

Is Java the primary language that pays my bills today? Yes it is. Are there other languages/technologies I work with? Yes, there are. Do I want to see new language constructs in Java? No, I do not. People propose adding closures to the language. There are some attempts to introduce data binding to Java Beans. I do not think you can teach an old dog new tricks. If you remember, Java has been created as a simple version of C++. Let’s keep it as simple as possible.

There’s no inferring of anything there Read more…

Old Java Dogs

April 15, 2007 Leave a comment

There was a posting on Javalobby today that interested me. It was basically in response to a post by Yakov Fain, a well known java ‘opinionist’ (my term), where he basically said he didnt want anything new in the Java Language. At a very high level I understood where he was coming from, but in practicality it was something that bugged me… and I lost any interest I may have had (and it wasn’t much – I’m not big on technology evangelists for more reasons than one. Thats another post for another day, though) in anything he had to say. Anyways, this posting on javalobby was right on. I remember when Java was the new thing… every new thought was a breakthrough. Read more…

Entering the blogosphere – with purpose.

April 14, 2007 Leave a comment

So why do I blog? Well, a few weeks ago I heard a guy in a podcast or something, can’t remember exactly, say something along the lines of “With the way information is flowing today, and what KIDS just know about the internet and online identities, if you’re in a tech field and you don’t have an online identity in 2010 then you will be at a disadvantage to those who do.” I can’t remember the details because at the moment I giggled about it. A few days later, during my daughters 3rd birthday party at my house, I walked into my office and found my wife trying to help my nephew upload a picture she had just taken of him into his myspace page. We fiddled around with it for a bit and finally got it done. I was somewhat taken by the fact that he’s 12 years old and was talking about this friends page and that friends page, how cool they were, and how many people visited them. I decided that the guy I had heard was probably right. I wish I would have paid more attention to who he was. I do remember that he had started and sold 4 or 5 companies that were on the edge of technology – basically the commentator was saying he had a knack for seeing things coming and being right about them. Read more…

Resume Writing 101 (says me)

Part of my job at my company is to interview potential employees whose resumes fit a technical profile – basically they’re a Java/WebSphere person (or aspire to be). They range from entry level people (who don’t really fit this blog post) to people who have been doing development for many years. I have two major pet peeves about resumes for potential candidates. Read more…

Development Guidlines for recent project

At one of my clients we were seeing the occasional spike in memory usage of their portal server. We’ve even seen some of the dreaded OutOfMemoryErrors. Most of the memory growth was natural – due to the growing usage of the portal. The errors are not natural – so something had to be done. At a minimum we needed to layout some guidelines for the developers to follow from hence forward to keep from compounding the problem.

This is a single server environment, no clustering. Over the past couple of years, the technical leadership at the client wanted to focus on speed over memory usage. In general, this meant that instead of re-executing the action phase when a page needed re-rendered, items that were needed for rendering were thrown onto the session. This alone can be considered OK in some circumstances. If the objects are small and few then it’s not that big a deal. But in a portal, almost by definition, there are a lot of applications. So if a lot of applications start throwing objects all over sessions then it can become a problem pretty quickly.

In addition to the times where the objects were small and few, there were times when it was done out of performance necessity. In one instance, searching for items in a Domino ‘archive’ takes over a minute. The fact that this might be fixable some other way aside; this is not something one would want to have happen every time you re-render the page that this portlet sits on. So you store the items on the session. The next question is how many do you store? Do you store the entire result set? Hopefully you limit it to some reasonable size, but reasonable to who?

These are a small subset of what we laid out. Note: These are definitely not specific to portal applications.

  1. Limit Session Storage
    • Minimize information stored on session
    • Use hidden variables in forms
  2. Do not store large collections on the session
    • Limit to reasonable size with paging (# per page, alphabetic, date range, etc)
  3. Limit database result set sizes to smallest usable size.
    • If your result sets have more items than the stated threshold, don’t retrieve all of them.
    • If your result sets have less items than the stated threshold, don’t retrieve all of them unless you have to
    • If you can page through them do that.
    • Use reasonable judgment based on the ‘size’ of the objects in the result set.
  4. If you are building large complex objects for each result, limit to a smaller number stored on session or use design patterns to solve the re-execute issue.
  5. Use String constants when possible
    • For any re-used string values
    • Database library, table, and column names that are used more than once
  6. Use StringBuffers instead of String concatenation always
  7. Use client side sorting when possible
    • Single level sorts
    • Relatively small result sets
  8. Release any session memory by using session.removeAttribute when that data has been consumed and is no longer needed.
  9. Always cleanup resources, such as database connections, in a finally block to guarantee that they are done.
Categories: code, java, Portal, SoftwareDev
Follow

Get every new post delivered to your Inbox.