Archive for the 'Programming' Category

How *not* to use the Spring MVC Form tag library

I hadn’t used the Spring form tag library before and decided to give it a shot for a small test form I was creating. I am using a subclass of SimpleFormController to return a simple list of value/name pairs from a database call to populate a select/option list in the HTML. I figured it would be easy enough to return an ArrayList as my command object and that is populated with HashMaps of the key/values. Oops. Doesn’t work.

It appears that I have to create an object that holds the list (or maybe a list of objects with fields that are the items I need displayed in the select dropdown). It’s too bad that I can’t do it the way I want with that tag library ;) Since this is a throw away screen though (I suppose the controller is as well) I’m not going to worry too much about it :)

Share/Save/Bookmark

Making a website? Choose a good color scheme!

Updated!!!

I’ll keep updating this page as I find more tools since this seems to be one of the more popular pages on this blog.

Thanks,

Jason

One thing programmers don’t generally know is good design techniques. You can usually tell when a programmer has created a UI because they’re ugly and difficult to use. There are exceptions to be sure (Romain Guy for one). For those of us that aren’t as blessed I present here a list of color pickers that allow you to pick harmonious color combinations for web sites, etc.

  • Added 03/06/2007:
    Kuler
    From Adobe and pronounced “cooler” this is a fantastic color chooser. Not only can you create your own color scheme using a very intuitive color wheel but you can also search on the hundreds of color schemes people have already generated to find something quickly. This is a fantastic resource.
  • ColorJack Sphere or more generally ColorJack.
    This is another fantastic color resource. Sphere is another easy to use color wheel with options for both the traditional RYB color wheel as well as the standard RGB model. There are many algorithms to choose from (triad, complementary, etc) but the really unique thing about this tool is the ability to see how color blind people interpret colors. Very cool stuff. ColorJack also offers a service similar to Kuler where you can see color schemes others have created using the Studio tool on the website.
  • Colors on the Web
    This site is more than a color chooser (one is available from the Color Wheel menu option) as it also gives user-created color schemes, forums, writing on color theory, etc. It’s a fantastic resource for those who want to learn more about color.
  • Color SynthAxis
    OK. This is a real designers tool and complicated but damn is it cool. I believe it is best explained by the tutorial.
  • Added 11/25/2007:The Color Wizard

The interesting thing is that tools such as these are coming out of the woodwork these days. At one time Harmony, a Photoshop plugin for the Mac from Hot Door, was the only thing available. They now recommend Kuler and their own application hasn’t been updated in years. My how things change.

Share/Save/Bookmark

CentOS 5 graphic login screen bug…and a fix

I’m being forced to run CentOS 5 at my new job and there is a bug in the graphic boot screen where once the boot process is complete instead of getting the graphic login screen you get dumped back to a virtual console. Hitting Alt-F7 brings up the graphic login screen. This bug is documented here.

The fix I tried was to install the Fedora Core 7 version of the RHGB package which fixed the issue (and caused another one…more on that in a second). That fix is located here at rpmfind.net.

In CentOS 5 the graphic boot process itself is glitchy on my Dell laptop (Precision M6300). However it doesn’t cause any problems and I do get the graphic login screen as I should.

Share/Save/Bookmark

“Learnings” is not a word!!!!

I keep coming across people using “learnings” as a word in documents. Here is an example (scroll down to the bottom and you’ll spot it). Just a note for the incompetent: “learnings” is not a word. Go look it up in the dictionary…I dare you. See what comes up? “Learning”.

If you want to sound like Borat then keep using “learnings”. If you want to sound competent try “lessons learned”.

Share/Save/Bookmark

Vista explorer bug madness…and a fix

I’ve been having an issue for the last several days where I have not been able to multi-select files in Explorer in Vista. Keyboard shortcuts didn’t work either nor did the Select All menu option (grayed out).

It would appear that this is a known issue and the problem is that the defaults for certain types of file dialogs where you should only be able to select one file are getting set for all folders. Unfortunately none of the fixes worked. Those fixes were:

  1. Remove the Bags registry key under HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell
  2. Do a reset folder options under Folder Options->View in Explorer

But I did find a fix and it is listed here along with the script that fixed the issue:
Can’t select multiple files in Explorer

Incidentally I do not have Vista 64. This problem can happen on the 32 bit version as well.

Here is the script I used to fix the problem. It is the same one referenced in the link above but I had to rename the file to have a .gif extension. Please rename to .vbs to run it.

Fix Single Select

Share/Save/Bookmark

Does “beta” mean anything anymore?

I just wrote about the public “beta” for mint.com and it got me thinking…is there really any meaning to the term “beta” anymore as it applies to software?

In my mind beta means feature-complete but has bugs that need to be worked out. Mint.com doesn’t seem to apply there. I can’t believe their launch was just going to be the small feature set that is currently on display at that website. There isn’t much there for a personal finance application.

So what does beta mean? Is release candidate the new beta? Should we even be using the term beta anymore?

Share/Save/Bookmark

Mint.com - it ain’t all that

A couple of days prior to their melt-down, um, I mean before their public beta started after Techcrunch, I received an email inviting me in to the private beta of mint.com. Lets face it, this was one site that almost everyone wanted in on and who could resist the pull of pain-free personal finance. They say “put your finances on autopilot”. How about starting with “put your finances on self-destruct” followed up with a dollop of “wow….this is what everyone was foaming at the mouth over?”.

First off let me say that the site itself is very nice looking. They have done a great job with the look. Green makes me feel calm. I feel calmer just looking at their front page. If looks were everything then they’ve hit a home run. However once I created an account the beauty contest winner started looking more like Miss South Carolina in the Miss Teen USA 2007 competition.

I Personally Believe…

The first time I logged in to Mint I couldn’t add any of my accounts. No Chase. No LaSalle. Nothing. Not one of the sites would connect to get my data. I realize that this type of system is highly dependent on the financial institutions not changing their sites but I never even received a notice that there were any problems. It’s a beta guys and you should be able to notify your customers a bit better than having to look in the forums to see what is going on. Beta? This felt like Alpha.

Some people out there in our nation don’t have maps…

After the site launch at Techcrunch the problems only became worse. Not only could I not get any financial data but I couldn’t even use the site. It was inundated with new people trying to get signed up and logged in. At the very least they finally, after a day or two, managed to get a note up on the front page letting us know that due to overwhelming demand they were having problems and were working on fixing them. Good. Maybe though with a known waiting list for the private beta they could have anticipated this? Awful job all around so far and I haven’t even talked yet about the actual site.

…the Iraq everywhere like such as and…

So I finally got in. I was able to get my accounts set up and had transactions downloaded. Now what? I can:

  • See some nice graphs of spending trends
  • Categorize transactions that haven’t been automatically categorized
  • Label/tag transactions
  • Find ways to save money

Spending Trends

This feature is so underwhelming I really don’t have much to say. They show you nice graphs that are animated when you drill down into them but thats about all that happens. There really isn’t much more to that area of the site. Boooo!

Transactions and Categories

Great. I can view transactions from multiple bank accounts/credit cards. I can already do that in lots of other places. I can categorize but only with the categories Mint has chosen. You read that right. I can’t create my own categories in a “personal finance” application. And this is a “beta”?

Everything else

I found out today in the forums that there is no way to cancel an account via the website. “We’re in beta” they tell us. “Email us and we will remove your account.” They’re keeping very sensitive personal financial data and the only way I can cancel an account is to email someone. Again this is a beta?

…so we can build up our future…for our children…

Mint has a long way to go and I simply can’t believe the fuss that was made over this site. I’ve been using Yodlee for awhile and their MoneyCenter site stomps Mint into a muddy pulp (and funny enough Mint is powered by Yodlee). I want to like Mint. I really do but it’s all looks. There is no depth there. Now just need to email them my cancellation….

Update: The only way to contact Mint is via the contact form on their website. No email address, phone numbers, or addresses seem to be located anywhere on their website. How shady is that?

Update 2: I was contacted via the comments by Anton Commissaris from Mint. He commented to correct my information and apparently Mint does have an email address and phone number on their site - on the Privacy and Security page. I was in error that there wasn’t a phone number/email address but to be honest when I want to find a phone number for a company I am dealing with I would expect it to be on the more conventional, Contact Us, page. If I want a mailing address I also expect to find it on the Contact Us page. Why would those bits of information be buried on a page about privacy and security? Come on Mint, get with the program.

Mr. Commissaris also states that Mint uses the email route of account cancellation for security purposes. I don’t buy it. Maybe I am incorrect here but a way to cancel my account online, where I have already authenticated, should be as secure as an email if not more-so. At the very least make it more obvious how to cancel an account and have a email address that makes more sense such as “accounts@mint.com” for example. It would also be helpful if the guy running the Mint forums knew this information instead of giving information such as given here.

Share/Save/Bookmark

Perception is everything

At work we just finished a very large programming effort that is now out there, live, and being used by our clients. Great. Now we’ve got a bit of breathing room and because we’re moving into a period of code freeze for the next several months we now have time on our hands to work on some smaller tools to be used by my coworkers in the important task of doing their job on a day-to-day basis.

You’d think that in everyone’s mind these would be important applications even if they’re small. You’d think that increasing efficiency in how someone does their job would be important because ultimately it saves us money and makes us look better in they eyes of our clients. (Well…you might not think these things but I certainly do). You’d be wrong on all accounts apparently.

The applications are being discussed as one-off little tools that won’t require much thought, time, or effort (read: crap). Ridiculous. They should be getting just as much design and coding effort as any other application given their ultimate importance. Furthermore there should be some attempt at unifying these under one system. I can see this being a really nice place to use a portal framework. Lots of unrelated tools that should have some consistent interface elements, where that can be done, as well as one place for the users to log in.

One application has already been started, in Ruby on Rails (odd given we’re supposed to be developing in Java), with no input from anyone but the guy who is doing it. Why? (Rhetorical question really….I already know the answer). I really wish we would be learning our lessons from doing things this way in the past. I just don’t understand the attitudes I’m seeing. Maybe I’m too idealistic.

Damn you Zeldman and company. Two days of civility in Utopia and now I feel like I’m back on a desert isle, floundering in a pit of quicksand.

Share/Save/Bookmark

A bookstore as a means of inspiration

Jason Santa Maria of Happy Cog likes to look at lots of different things as a means of inspiration for his design work (I know this because he told me so in his An Event Apart presentation ;). Riffing on that theme myself I headed out to a place that never ceases to grab my attention and imagination when I’m there: the bookstore.

The bookstore in question is a local Barnes and Noble and I had not been there in a long time mainly because it, or any bookstore really, is also a major inspiration for me to liberate cash from my wallet. I intended to go there this evening though with the sole mission to take a look around at all sorts of books and magazines with an eye towards their design and not buy anything. Inspiration only, no debt :)
I can easily spend hours browsing in a bookstore but I have to say that going there with the intent to look at how books and magazines are designed was very cool. I can honestly say that while I have always enjoyed thumbing through books and magazines I’ve never quite seen them the way I saw them tonight.

Normally I’m focused on the content because I’m an avid reader but with the focus on the elements of design I started noticing things like how different publishing houses format their books or magazines in the exact same format across authors (or magazine titles). A very simple example that most programmers would readily know is O’Reilly Publishing.

Their titles are instantly recognizable: a plain white cover with an illustration of an animal of some kind usually just above the title of the book. The title itself, or most of it, is in white text on a background of a certain color. Here is an example:

O'Reilly JavaScript: The Definitive Guide bookcover

The O’Reilly web design series always has the same green background for the title. The scripting books have blue or pink. You get the idea. This is all about a brand and making sure that brand is consistent and easily recognizable. Other publishing houses have done the same thing with their technology lines.

What was far more interesting though was to look at the use of color and type in the magazines. I looked at a pretty wide range of magazines to see how color, type, and layout were handled depending on the title. Not surprisingly colors tended towards the warm, inviting hues in the house and decorating magazines. There were exceptions but generally most people don’t paint their houses in jarring colors and the magazines tended to reflect that fact ;) Quite a few artsy photo magazines were in black and white. History magainzes trended towards historical color schemes, etc. Typefaces matched the color schemes (ie: more formal type in the history magazines). My biggest hit came from the books in the arts and crafts section.

I have to say that at one point I thought my head was going to explode with ideas when I was looking through a book in the Art section called Euro Deco: Graphic Design Between the Wars ;) I really, really, identify strongly with the artwork during this time period. It never fails to grab me and start pulling me in. If I didn’t know better I’d say I had a past life as an artist during that time period - it affects me that strongly (not surprisingly I feel the same way about swing music/dancing). Flipping through the pages of that book and looking at the art (not surprisingly a lot of it was advertising art) my brain was dripping with ideas of how I wanted some personal things I need to work on to look. Obviously I need to peruse the bookstore more often ;)
That all is fine and dandy I guess but where I then get socked in the gut is when I need to recall those ideas when it’s time to actually get some work done. Jason (Santa Maria that is…I’m not referring to myself in the third-person) had ideas for that as well that I need to try. More about that in another posting.

Share/Save/Bookmark

“Deadline Über Alles!” Software Engineering

After expressing my current frustrations with work to a friend who happens to be a software developer he shared with me this link to a blog posting titled Asshole Driven Development by Scott Berkun. The article provided five different kinds of tongue-in-cheek development methodologies currently employed by companies world-wide in their quest for really awful software. The comments to the article provided even more options and here is mine: “Deadline Über Alles! Software Engineering”.

You know you might be stuck in this type of development/engineering when you start receiving emails with lines like:

In the interest of delivering DeadlineBreaker on time, I think we should only be fixing things that are broken. The time for implementing best-practices has passed.

or

I’m trying to get the projects delivered. We are in QA and DeadlineBreaker has issues. I’m not looking for someone to blame - I’m just trying to identify how to move the project forward to meet our expectation of deliverables.

The emailer is really saying:

I don’t give a damn about niceties like quality code and design….I just want something out the door. Screw the best practices…we can fix that stuff later. Wait…didn’t you say something about design too? Isn’t that just something art dorks do?

Of course later never happens, a crappy product goes out the door, and your group ends up looking like a bunch of stooges who can’t program their way out of a paper bag.

Share/Save/Bookmark

« Previous PageNext Page »