Archive for the 'General' Category

MP3s and Ratings

Friday, August 13th, 2010

Don't you hate when you put ratings on most of the songs in your massive music library only to find that you need to do it again when you switch players? On Ubuntu I use Banshee which allows you to save ratings to the ID3 tag right in the MP3 file. That means those ratings are available from any Banshee player. Nice.

The problem is that I'm working a contract gig that sort of requires Windows (well, they think they do at least) and I don't fully trust the port in progress of Banshee to Windows. So, I'm using iTunes (which I hate). I think it'd be nice if other players could use that same custom ID3 tag to use the ratings but I realize that many people have an issue with subjective information (the ratings) being stored in a repository meant to store common supposedly objective information about the song itself. Then there's the whole issue of standardizing on the custom tag. In a perfect world more stuff would use a plugin based design and you could simply write an extension to get the ratings from wherever you wanted.

A simple import / export to an agreed upon format could also sort of solve the problem but you can't get people to agree on things and you would then have some annoying synchronization issues. I think it'd be swell if something like last.fm acted as that song and ratings repository since they're a bit of a de facto standard supported by most MP3 players. It seems simple to stick the rating in there when you scrobble whatever you're listening to. Then it's just a hop, skip, and a jump to an import / export to get up and running. It also feels like it'd add some value to their existing service. Somebody get on that…

  • Share/Bookmark

The Tech That Should Not Be

Thursday, August 12th, 2010

I just read this post about a thing called the Espresso Book Machine that allows a bookstore to print a fully bound book in minutes. The idea is that they could print an out of stock book for you rather than ordering it.

I have mixed emotions about this. Nothing pisses me off more than going to an old fashioned bookstore in search of some instant gratification only to find that they don't have the book I'm looking for. "We can order it for you," they say. Well, I can order it for me too. Only, when I order it for me it comes to my house and not to your stupid little store (and I don't pay sales tax (or shipping fees usually (nested parens FTW))). This print on demand idea seems pretty boner inducing on the surface.

Unfortunately the kinds of technology that make this dream possible also instantly make it unnecessary. In a world where this machine can acquire and store the number of books required to make it useful it has already been replaced by the ability to instantly purchase, download, and read the book on an e-reader without leaving my precious home or touching any dirty, sweaty money. Sure it will probably still be successful but only because of the Luddite fetishists that insist on consuming their information the old fashioned way.

This whole thing reminds me of those stupid redbox DVD dispensaries. In any sane world they would have never existed. I have a relatively high speed Internet connection and an abundance of digital cash. Can't I just instantly stream those movies directly to my viewer of choice for a the same reasonable price? Ah, the devil's in the (bold) details. I have a variety of ways to pseudo instantly watch movies but the only reasonably priced option is Netflix. Unfortunately their instant queue selection needs a little work. Knock down that barrier and the only benefit of redbox is to satisfy weirdos that reached for the technological dream and missed, coming up with a beer in one hand and their disk in the other.

I digress. To sum up, in a perfect world everything would be peer reviewed, indexed, searchable, remixable, and digitally available from the comfort of my own home. I could watch new movies on my own television without someone kicking the back of my seat or mistaking the theater for open mic night at the Laughatorium. "And I wanna be rich. You know, someone important … like an actor."

  • Share/Bookmark

Job Postmortem #2

Tuesday, August 3rd, 2010

About the Company

Now that I'm done with my current job it's again time to reflect on what I learned and what went wrong. I've changed the names to protect the innocent. I spent about 2 years at "Company V." They make a retirement planning tool. It allows you to do some nice "what if" scenarios to determine whether or not you're on track to do all those things you dream of someday doing after you retire. It's much more sophisticated than the crappy one or two question forms on the website of most financial planning companies.

It's a great idea in my opinion. It has a lot of potential. For the record, I like the people at Company V and I love the product idea. I just think things could be better.

Now for the lessons. I won't bother talking about the many issues I had about software development methodology at Company V. Instead I'll just talk about the product side of things.

Analytics, Stupid

The first is a simple one: collect some fucking analytics. Any discussion about how important a feature is, why people aren't signing up, which type of sign up button is more attractive are all bullshit if you don't have some way of collecting data about your visitors. We collected almost zero data about our visitors. What was our conversion rate? Fuck if I know. How many people abandoned the sign up process once they saw all of the data we required? Fuck if I know. That's the answer to every one of those questions because there's no goddamn data.

I can't talk about analytics as well as these two videos: Startup Metrics for Pirates and Web App Marketing Metrics. They're pretty short and definitely worth a few minutes of your time.

Multiple Masters

Company V has two very different target customers. Home users and financial advisors. If you are serving two very disparate customer types you will wind up with some very serious conflicts. Each customer type is a reason not to do something for the other customer or a great way to more than double your effort in the rare case you actually get to work on a feature.

In the case of Company V it was that they have a feature called "offline mode." This allowed financial advisors to take their laptop to locations where they don't have an Internet connection and sit down with a customer, going over their retirement plan. This was accomplished via a desktop application written in Java.

Getting Java working on someone's computer is an unnecessary hurdle and places without Internet connections only exists in movies. Offline mode is not useful to the home user. I would argue that it's not sufficiently useful to the financial advisor either. However, it was a feature that kept us from doing a lot of cool stuff because we had to have it. Yes, this feature could be accomplished in a better way but the need to keep the feature presented unnecessary overhead and complexity in my opinion.

Too Many Hurdles

There's just too much shit for someone to do before they can use the product. They have to sign up for an account, install the Java plug-in, download the application (or launch the applet) which is over 100 megabytes, and figure out how to use your product.

The more of those steps you can eliminate the better. Each one of those steps throws away half of your potential users. They just go bye-bye. The observant reader will realize that I just pulled that number out of my ass since Company V doesn't collect that kind of data. Prove me wrong.

The Things I'd Do

Short and sweet. Here's a list of things I would have done that I firmly believe would make for a better product for Company V.

Web App

Easy. Ditch the desktop application and make it a web application. Use something like GWT so you can get some good use out of your current Java development staff and have a relatively rich UI for your user. No installation on your computer, no downloading. Nice. You could even use Gears to get some workable solution for offline mode.

Use It Before You Register

If you have that nice web application, let people start making their retirement plan without even signing up. Just start using the product. Of course it would be nice if your product guided people through unfamiliar territory, but that's a given.

Once you've proven your value to them then you can try and get them to create an account if that's really your sort of thing.

Don't Even Register

Even better is to let them sign in with their Facebook, Google, Yahoo!, or OpenID login. Create an imperfect, incomplete profile off of whatever data you've got and bug them later to fill in the blanks. So what if you don't have their email address? Why the hell do you want to email them anyway?

Stop Emailing People

We collected email as part of the registration so we could bother our customers. Why? If you have a product announcement or a change in your training schedule why not just Tweet it? Or post an update on your product's Facebook page? Fine, let them put in their email if they want to be updated that way or need a password reminder (assuming they aren't using a 3rd partly authentication mechanism), but don't demand it.

Be the Tool

With retirement planning there are a lot of financial advisors that blog about how cool they are and how huge their planning penises are. We should have helped them do that. Our web app should have allowed embedding of whole or partial plans into web pages. If you want to show the benefits of a 529 savings plan create a couple of portfolios and embed the relevant portions into your blog. Company V would have a teeny tiny link in there so they get a little free press and the financial planner gets a tool that makes displaying unwieldy information a little easier. It's one of those win-win things I hear so much about.

Be the Tool Part 2

If you go to a financial planner they need to ask you roughly 3500 questions (I made that up) to determine the current state of your financial clusterfuck. Company V helped them do this by creating a PDF that was 10 megabytes and 40 pages long. The advisor would email it to the potential customer, pray it doesn't bounce because it's fucking huge, the customer would print it out, fill out the relevant portions, take it to the financial advisor who then hands it off to some data entry monkey to type into our desktop application. Simple, no?

Yeah, to hell with that. Use the no registration web application to allow the financial advisor to email, host, whatever a guided process to determine the relevant data and collect it directly from the user and dump it straight into the Company V application. The advisor has access to it immediately and the end user doesn't see most of those irrelevant questions. Throw in some tracking codes so the advisor can see the ROI for different ad campaigns. Let the advisor create a special URL that they can include in every email signature or even print right on their business card that takes the potential customer right to where they need to go. You get the idea.

Nice Ideas, But…

In fairness Company V thought some of my ideas were good. They just weren't good enough to actually do. There was no shortage of excuses. We have to keep offline mode, there are more important features to work on, who's going to pay for the development, etc. I still think each of these is potentially a great idea in general and for Company V especially. My next task is to find a place to work that agrees with me.

  • Share/Bookmark

Linux in the (Wannabe) Enterprise

Wednesday, December 10th, 2008

The footholds of Linux in small Windows shops are skunkworks projects and discarded hardware. Inevitably the old mail server or the equivalent is considered woefully underpowered and gets replaced. The old hardware sits in a corner of the server room and collects dust. That is until I need a "no money down" VMWare solution.

Of course the downside of this is that you will find yourself installing on frequently inadequate, old hardware that may or may not work–no one ever seems to be sure. When something goes wrong it's Linux's fault. Such was the case when I had to install on an old Dell PowerEdge 600SC. Of course, the install didn't work right off the bat.

The install hung with the last message being "Uniform CD-ROM driver Revision: 3.20". I randomly upgraded the BIOS hoping it's some weird problem with the on-board IDE and see the same problem. Then I noticed that the CD-ROM is attached to the tertiary channel. I can't recall ever having that setup before so I moved the CD-ROM drive from the tertiary to the secondary channel (by accident because the order of the IDE connectors from bottom to top of the motherboard appears to be secondary, primary, tertiary).

After the install it appears that I can't get either DHCP or a static IP to work. Everybody assures me that it's not the IP address they gave me or our DHCP server. I try a different network card with the same effect. Finally, I figure out that it is in fact the network of the IP address they gave me that is to blame (and our DHCP server seems to have crapped out at the same time, and no it isn't running on Linux). But, people stubbornly insist that it's Linux's fault until I waste my time proving otherwise. While I'm gathering evidence they make a point of wandering by my desk and asking why I'm not just using Windows. When society collapses they've got a special place on my post apocalyptic TODO list.

I finally get it all working with a fresh install of VMWare 2.0 (hate the new management web app, by the way) and a migrated VM from my desktop that has a copy of Zenoss Core happily monitoring our new production environment on EC2. Everything in that setup is new from the point of view of this organization. Of course while I'm patting myself on the back over a job well done, someone asks how to get to the desktop UI. Although it probably won't help them much I go ahead and install GNOME, VNC, and Webmin on the box even though I consider it a waste.

Now I get to sit back and eagerly await the opportunity to bask in the criticism the next time anything goes wrong with the box. I'm sure it'll be the fault of that darn Linux.

  • Share/Bookmark

Clearing Cached Authentication Info in Windows

Tuesday, November 4th, 2008

This comes up every now and then for me and I can never remember how to do it so I'm sticking it here to make it easier for me to find. The problem happens when I'm using Windows Explorer to open or browse a Windows share / Samba share / SMB mount point / etc. Windows Explorer has a tendency to cache the authentication information for the share and doesn't re-present the opportunity to provide authentication information in the event that the cached credentials have become invalid. This happened to me again today when the account I had used in the past had become disabled. You can find and clear the cached authentication(s) by doing the following:

Click Start, Run and type Control keymgr.dll
Remove the entries from the list

OR

Click Start, Run and type Control Userpasswords2
Click Advanced, Manage Passwords

The information is also in the Registry but these worked well enough for me to not go poking around in that rat's nest.

  • Share/Bookmark

The Cluelessness of Sales People

Wednesday, September 10th, 2008

I recently got the task of finding a hosted monitoring solution for our production web site. There are quite a few options out there, so I decided to find a source listing a few of the options out there and sign up for some trial accounts. Most all of these sites are horny for your contact information. I'm fine with being contacted by email, but I don't particularly want to fill in the mandatory phone number field. I don't need to spend my day jawing with some glad-handing sales monkey. I write code for a living. So, I usually just put a 555 number in there (lazy developers never validate that shit). That way they can only get a hold of me if all of this is actually a movie, cleverly disguised to look like reality.

Not just one but two of the sales morons at these companies decided that my 555 number must be a cry for help. I want to talk to them and have them give me the hard sell, I was just confused about my real phone number. Not a problem. They used directory assistance and the rest of my real contact information to look up my company, find out our main number, and call several times. You would think that these idiots would realize that they were only going to piss me off by doing that.

The ultimate irony of it is that the site I was going to recommend was one of the ones that pulled this stunt. Unfortunately for them I'm a petty, angry developer. I'll be doing everything within my power to make sure they are the last solution we seriously consider. Now that's some sales job!

  • Share/Bookmark

CodeGreen Labs

Tuesday, June 24th, 2008

I've been listening to back episodes of the Agile Toolkit Podcast. One of the things that really caught my attention was the frequent mentioning of something called CodeGreen Labs. From elsewhere on the internet:

We are dedicated to creating a unique training experience that uses real projects with real deliverables. Labs work on projects that make a difference in the world, benefiting organizations that are working to improve the environment, human rights, social justice, health and economic development. By marrying the efforts of dedicated professionals learning Agile Development techniques with not for profit and research communities that need high quality software, we hope to be a small part of a positive change. Each training class will work on a specific software project for a specific cause.

It's volunteering to work on a real software project that is, hopefully, well run so that you can get real world experience. Sure, they get something out of it, but who cares about the other guy? I imagine they get mainly students. A few of the people in my work circles and I have been talking about something exactly like this. The head of my current company has mentioned to me numerous times that he's seeing disturbingly bad candidates coming to him fresh out of college CS programs. I can't comment as to the overall quality of CS programs around the country, but something like CodeGreen Labs seems like a brilliant idea on many levels. Unfortunately, I was a little disappointed at how unfriendly their home page was:

codegreen

  • Share/Bookmark

Virtualization as Adoption Criteria

Wednesday, June 4th, 2008

Yesterday at work I got a question from a co-worker about doing something under AIX. I don't really work with AIX, but I managed to answer the question. This is for another project that I don't work on. It got me to wondering if I could run AIX in a VM on PC hardware, probably using a PPC emulator. I'll save you the suspense and tell you that I couldn't find a way to do it. There are a couple of projects that are sort of trying to do it but they haven't done it successfully that I could find. Those would be PearPC and QEMU. I'm sure one of these projects will get it working someday, as soon as some really capable programmer wants it badly enough. I briefly thought about suggesting purchasing an RS6000 from eBay but decided it wasn't a project I needed to poke my nose into.

This is not a rant against AIX, although in a world gone mad with a billion distros of Linux, OpenSolaris, and PC hardware that is criminally cheap and available I don't feel the need to brush up on that incredibly rusty skill set. No, this is more about that fact that I don't think I would ever choose to work with any operating system and/or software product that I can't run in a VM on PC hardware–it's just too damn handy these days, especially when it comes to QA. That of course includes any non-hacked up version of MacOS, not that they'll miss my business. Also, sadly, I don't always get to pick what I want to work with. Still, it's definitely something to consider when picking your stack and deployment/hosting environment.

  • Share/Bookmark

Why TrendMicro Sucks

Wednesday, June 4th, 2008

A few years back when I was looking for anti-virus software, I read a review that put Trend Micro's PC-cillin as the best available. I bought it and have used it on all of my ever dwindling number of Windows computers ever since. When I got computers for my parents, I put PC-cillin on them. I've always found it to be a good, non-intrusive, non-resource hungry Windows anti-virus product. My last purchase was a three license package that had a rebate that never came. Whatever.

However, their recent shenanigans have me insanely pissed off. I get a particularly spammy looking piece of e-mail on Monday with the subject of "Your Subscription will be renewed in 2 days." The email explains that my 1 year subscription is going to expire but that it'll auto-renew 7 days before expiration at a 10% discount. Yay! While the email does include my name it lacks any other identifying information. As I mouse over one of the links I see that it's pointed to dr.bluehornet.com. In fact, the email has no links pointing to any Trend Micro site. The email even came from trendmicro.cs@digitalriver.com. Surely this is spam so I ignore it.

On Wednesday I get an email saying I've been billed for the renewal. This time the email actually has more personal (and accurate) information, including a serial number. It's still from digitalriver.com but at least it has one link that points to the Trend Micro site. I begin to get very unhappy. Since when is billing my credit card for software an opt out situation? I follow the link (to digitalriver.com) to cancel the order to find that the order number isn't in that system yet. I cancel it using the email and am told that although they managed to bill me very quickly, it may take up to a week to cancel the order. I also use the original email to go to the same site to opt out of the auto-renewal program. Of course, I make sure that I don't have to provide any additional personal information on any of these sites since I'm still somewhat suspicious of things. We'll see if this manages to actually cancel the order. If not I'll take it up with the credit card company.

A wee bit of research shows that this is not a new situation. I'm still pretty pissed not only about the opt out notion of charging me for shit I didn't request but also by the fact that my information has been shared/sold/whatever to a third party. I'm pissed that an email sent on behalf of an anti-virus, anti-phishing, anti-bullshit software company is made to look so goddamn spammy that I don't want to acknowledge it.

Fuck Trend Micro. I won't buy their products any more. I won't recommend their products. I will, as much as I can, campaign against the use of their products. I'll use an inferior product from another company just out of spite. We are no longer happy customer and vendor. Fuck you, your questionable business practices, your sharing of my information, your opt out auto-renewal program, your inability to instantly cancel my unsolicited order, and your choice of partners. Did I mention fuck Trend Micro and PC-cillin? Eat shit, go fuck yourself, rot in hell. There's no fixing the situation, I will not be "talked down", I cannot be recovered as a customer. Good job, assholes.

  • Share/Bookmark

Twitter Update

Saturday, May 3rd, 2008

As I mentioned in another post, I'm giving Twitter a retry. I must say I'm enjoying it a lot more now that I'm not trying to treat it like other mediums of communication both in terms of what I follow and in how I use it to communicate. I'm definitely more willing to tweet things that don't warrant a blog post or an email.

A great example of this is when I was able to find out that a former co-worker had left their previous job. While that might be email or blog worthy, most people wouldn't bother putting that kind of information out there, but he tweeted it. As such, I didn't have to wait for that information to make it through the traditional grapevine. For once, I even knew about the news before some of the other people I know.

While I'm using it to keep in more constant contact with friends and former co-workers, some people are using it for a lot more. This post as a few recommendations for using Twitter that I found interesting. I'm not sold on a few of them, such as event updates. I realize that quite a few events are using Twitter to update attendees on things. This just seems like an alternative to email lists and RSS feeds. Does Twitter have better penetration than email or RSS? Is it just that I have more noise in my RSS reader? Won't Twitter suffer from that eventually? I don't know. It just seems like using an alternative form of communication just for the novelty of it.

Another use I've seen is people soliciting feedback or getting votes on an issue via Twitter. I think that's a great use, but I don't think I'll ever have enough followers to do it effectively. There's a big difference between asking your 1-10k followers for feedback and asking 20 people. Maybe I'm wrong. Maybe I should tweet the question (and get feedback from 1 or 2 people).

The idea of using Twitter to create and track ToDo lists intrigues me, but again, I just can't get my mind around the advantages. While Remember the Milk seems interesting I haven't gotten off my ass long enough to try it. I hear good things though.

Foamee is another one that I like. You can let someone know that you owe them a drink for something. I haven't used it yet. Maybe I'm too stingy with my kudos. Maybe I'm just an asshole. Who could say? Is my reluctance to use these and many, many other services that integrate with Twitter another example of me being too set in my ways to "get it"? Maybe in another few months I'll be writing posts about how I've come around to using them.

  • Share/Bookmark