I C# People…

May 9, 2008

Afraid to Upgrade?

Filed under: General — Tags: , — Neil Barnwell @ 8:42 am

I have often found that when I’ve written a funky new piece of functionality, that replaces or augments existing functionality, that people aren’t often eager to use it. Often this is because they are used to the way it works, for better or for worse, and prefer the devil they know. In addition, loads of new features isn’t what everyone wants, and contrary to popular (developer) belief, people aren’t going to dive into all the new configuration options you’ve added.

So are people scared of change? I think they are, myself included. I think there are two reasons people resist change.

Reason number 1

I believe change can put people outside their comfort zone. I’ve experienced it - upgrading to Vista, installing those new graphic card drivers, starting a new job. It’s not unfounded, either. The reason I’m always worried about it is because when it comes to computers, I get burned all the time.

In the context of computing, it’s fair to say that PCs do burn us all the time, it’s probably only reasonable to expect people to be wary and prefer to stick to what they know. It’s worrying to think that we as developers are basically at fault, too. If our software worked faultlessly all the time, people would always want the new version, and wouldn’t worry that it might make things worse.

Reason number 2

Often the reason to not change isn’t because things will get worse for them, but because it takes effort to change, and there’s no compelling reason or tangible benefit to do so. Hands up those who are still using Windows XP or Office 2000/2003? I assume I don’t stand alone?

It’s why when I write software I try to make some perceivable change for the user. Users don’t really care about a minutely better algorithm or better error handling. They care that it does what they want, without being too complicated. Any PC has a job to do, and if it does it already, why change that?

Cost is another factor. Essentially, for an upgrade to be worth it, the following must be true:

cost * effort < perceived benefit

It’s exactly why there are still so many IS400 machines out there running EGA terminals doing back-office applications. It works, people know how to use it, they’ve learned the quirks, it hasn’t changed since 1990, and it does the job. So why bother?

A solution?

Automatic updates is one way to push new software out there. It’s a good way of making sure that people get the bugfixes they didn’t know about even though they’re in the “reason 2″ category.

You have to be careful not to push things that don’t work though. For example, I wasted an hour or so yesterday trying to get AVG Free to update from version 7 to version 8. Although it had been asking me for a week or so to do so (via an annoying popup that I couldn’t disable - how dare they!), it screwed up. I ended up having to delete the Program Files\Grisoft folder and registry entries and hoping a clean install worked.

Fortunately for me, this time I got it working, but how is my situation better than it was before? I have virus protection (sort of) now, and I did before. Where’s the benefit? Was it worth it?

April 25, 2008

Searchable Discussions

Filed under: General, Off-topic — Tags: — Neil Barnwell @ 4:01 pm

I work from home, and in addition to a company mobile phone and email, my colleagues and I use Skype to keep in touch.  Not so much the voice, but the IM capability.

Now, I’m not a bad typist, but I do find four main problems with IM when discussing fairly complex subjects:

  • I can’t type as fast as I can think (and even that’s not very fast sometimes).
  • You can get the words across, but not the tone.  This sometimes leads to confusion, requiring even more typing (or resorting to a phonecall) to sort out.  You get a similar problem with SMS/text messages on mobile phones.
  • You can easily end up with multiple IM windows open at the same time, diluting your attention.
  • People don’t think for a second before popping up Skype and sending an IM, whereas before making a phonecall usually people will typically make sure it’s a good reason.

Sometimes I find I’m reaching for the phone when an IM chat goes overboard, but more often than not I stick to IM because it has some tangible benefits in the workplace:

  • You can put IM on “Do not disturb” mode, and give “callers” an insight into whether you’re likely to be able to receive them.
  • You can copy and paste information into IM.  For example in my job I deal a lot with barcodes, and I can tell you from experience that it’s soo much easier to copy and paste than try to read out a 24-digit numeric barcode or serial number.  Also, for developers sharing titbits of SQL code or hyperlinks, it’s invaluable.
  • Most importantly: conversations are searchable.  I know there are services out there that can transcript a telephone conversation, but that’s several orders of magnitude more complex than IM.

There are some excellent improvements that could be made to IM.  For instance, replacing the concept of Available/Unavailable status with the ability to “walk in and out” of a “room” would be an interesting new way of looking at things.

However as you can tell, I’m most interested in the ability to search.  My memory is awful, and to get the exact same detail from a conversation I had months ago is invaluable.

Trouble is, the only IM client that I’ve seen support searching properly is Google Talk.  GTalk chats are stored in your Google account alongside your email, and are searchable with the ubiquitous Google search engine. This is especially handy because you can search from anywhere in the world.  You don’t even have to be at your PC.

Skype has an incremental search facility, but the data is stored locally on your PC and is only available in a chat window, and the text in that window.  If you want to search for something said in a conversation a month ago, you’re going to have to get it to load all the conversation history.  To be fair Skype do offer a workaround for this but while it goes some way to blocking the gap, it’s not perfect.

So, the point of this post is that the main benefit of IM in the workplace is recorded and searchable conversations.  It’s no small wonder why IM client developers aren’t tapping into the power of this information by providing a more suitable mechanism.

So imagine my surprise, that while researching for this article I found a Skype plugin for Google Desktop Search.  Since I’ve only just found it I’ve not had chance for more than a quick go, but it’s a good start.

‘Till then, happy chatting!

April 10, 2008

Too Hard == Broken?

Filed under: Building Applications, Design, General — Tags: — Neil Barnwell @ 8:21 pm

I’ve spent a few hours over the last couple of days trying to get NHibernate to work. I failed. As soon as I call Configuration.Configure() I get an exception. I’ve tried various combinations of app.config and hibernate.cfg.xml files etc to no avail. I give up.

And this isn’t the first time I’ve had this. I’ve started to think, that if I can’t get something to work, its effectively a fault. A bug, no less. I’ve blogged about the risk of learning a new framework, and this proves my point perfectly.

I’ve taken to giving up on things like this.  I have better things to do with my time than work through problem after problem after problem trying to get something working.  I even recently uninstalled Resharper, because while it was very good, it stopped my solutions opening quickly. Sometimes entirely.  Again, broken.

So I’m going to look for an alternative to NHibernate that I can get running, and therefore “works”. It’s official - NHibernate is broken.

Unless you can help me out…

March 31, 2008

Don’t restart my server!

Filed under: General — Tags: — Neil Barnwell @ 11:03 am

On a home or desktop PC, uptime isn’t really too much of an issue. Of course it’s irritating when your PC crashes while you’re doing something, but worst case scenario is that you have to pop downstairs for a coffee.

On a server, however, this isn’t the case. I’m talking Windows here, because that’s the system I received this message on last week:

Updated and restarted server

Now, I don’t want to be seeing this unexpectedly. I understand the need that certain updates may require a reboot (well, mostly understand…), but surely the default should be that I get to chose when the reboot happens!?! I’m no server expert, so there may be ways around this, but this particular server was running for UAT purposes, so when my UAT Team tell me things aren’t working and I logon to find this, I’m not happy.

Is there a way to stop this happening? I’m not talking about the Windows Update settings, because that requires you to logon, and if you have a lot of servers (especially in a multi-VM environment) you don’t really want to have to logon to each one to get the windows updates sorted. Especially if you plan for this to happen overnight.

March 28, 2008

CTRL+S = SAVE!

Filed under: General — Tags: — Neil Barnwell @ 9:20 am

There are a few definitions of “Save” on www.dictionary.com:

  • To keep from being lost: to save the game.
  • Computers. To copy (a file) from RAM onto a disk or other storage medium.
  • To keep safe, intact, or unhurt; safeguard; preserve.

I think that in the computing sense, when working on that all-important report or code file, all of the above apply. You should get into the habit of constantly saving your work. If you don’t know many keyboard shortcuts and find menus/toolbars keep you from saving regularly, then learn at least this one:

CTRL+S

I do this all the time. Constantly. I’ll type a few words, hit CTRL+S, finish a sentence, hit CTRL+S, realise I made a mistake, correct it, hit CTRL+S.

I repeat: You should always be saving your work.

Too many times have I had phonecalls and questions like this:

“If my computer/Word/the internet/universe crashes while I was working, can I get back what I didn’t save?”

Or worse still:

“I closed my document and accidentally clicked ‘no’ when it asked me if I wanted to save…”

And I hate having to say that most of the time, the answer is “Not really”. Sure, Word has the autorecovery feature, but it won’t help if you’re the one that closed Word without saving, and it’s not 100%. Plus, if you rely on it, it’ll bite you in the ass when you’re working in another application.

So please, (CTRL+S) for your own sake, (CTRL+S) make sure you save your work regularly. (CTRL+S)

March 26, 2008

Why won’t they subsidise the iPhone?

Filed under: General — Tags: — Neil Barnwell @ 10:44 pm

My 18-month contract was up in December, and I’m in the market for a new mobile device. I say “device” rather than “phone” because I have a few requirements outside of a standard phone:

  • Reliability (no crashes, need to restart etc).
  • Largish screen (at least larger than that on my Sony Ericsson w810).
  • 3G internet browsing.
  • Wi-fi.
  • Fast UI.
  • Ability to display web pages properly, rather than cut-down WAP-style pages.
  • Ability to run Java (for the Google Mail application etc).
  • Subsidised by the network operator.

I’d dearly love an iPhone, but since Apple have clearly told o2 (the only operator in the UK to offer iPhone) not to subsidise the cost of the handset, I won’t be getting one. Not to mention the fact that even iPhone v2.0 is rumoured not to have 3G. It’s lovely just no good for me; £300+ is a lot of money to spend on something that doesn’t have all the things on my list

So I’m looking at Nokia n-series now. I like the N96 and the N810, but I haven’t investigated the price in the stores yet.

Of course the “right” thing to do is to keep my phone (which is working fine, though I really wish the screen was bigger and it had 3G) until the perfect phone comes along to blow me away with it’s coolness. iPhone 3.0, anyone?…

Update: I’m going for N96 if anything; I just found out the N800 and N810 don’t even have internet connections - they rely on wi-fi or a bluetooth connection to a mobile phone!  Rubbish!

No Google Calculator on Google Mobile?

Filed under: General — Tags: — Neil Barnwell @ 8:19 am

You may or may not have found the amazing Google Calculator yet. Sure, it’s a great tool when you’re at your desk, but what about when you’re away from your desk? Maybe you’re even out and about?

I recently found myself at the petrol garage, trying to fill my tyres with air. Trouble is, the pressure gauge on the machine registered PSI, and the booklet for the car recommended pressure in Bar. So given that I’m stood on the forecourt with people waiting behind me and I don’t know how to convert them, what do I do?

As a self-confessed geek, my first idea was to look for a conversion utility on my mobile phone, a Sony Ericsson w810i. Turns out I don’t have one, so my next port of call was the internet.

Except the internet isn’t always formatted well for the tiny tiny screen on my phone. And javascript etc doesn’t work (let’s face it, most of these type of sites do the work locally in javascript). So then I remembered Google Calculator. I logged onto Google Mobile (http://www.google.co.uk/xhtml) on my phone, guessed what the syntax might be and entered the following:

2.6 bar in psi

Unfortunately, I got a load of search results - not what I was expecting, especially as the websites they linked to were hard to read on the mobile. Try it yourself using http://www.google.co.uk/xhtml.

In the end, I had to call my Dad who said it’s approx 15 psi = 1 bar, so I needed about 38 psi.

I had another play once I got home, and found that if you select the “View Google in Classic” link at the bottom of the mobile home page, then enter your calculator query, it works!

So, Google Mobile Team, please please please can you enable Google Calculator for mobile? A “Google Pocket Calculator”, if you will…

March 18, 2008

Grant Access to Custom Event Log

Filed under: ASP.NET, General, Off-topic — Tags: — Neil Barnwell @ 3:36 pm

I’ve had this problem today so thought I’d post it here as it was quite hard to sort out and the thing that finally fixed it was a reply in a forum somewhere.

You may find that you get a message similar to the following when your application attempts to write to an event log:

Cannot open log for source XYZ. You may not have write access.

The solution is straightforward, but sadly there is no GUI to implement it, instead you must edit a registry string value using SDDL.

Here’s the steps to take to try and resolve this issue:

1. Open regedit.exe.
2. Navigate to HKLM\System\CurrentControlSet\Services\EventLog\[EventLogName].
3. Edit/Create a new string value called CustomSD.
4. Append the following to the CustomSD string value (without the quotes): “(A;;0×7;;;S-1-1-0)“.
5. Save.

Hopefully your application should now be working, but this isn’t the perfect solution, as it’s akin to granting “Everyone” all access to read/write/clear your event log. Let me explain.

The appended text is Security Descriptor Definition Language (SDDL), and is more specifically an Access Control Entry (ACE) string.  The specific example I’ve provided above is made up as follows:

AceType: “A” = 0×00 (ACCESS_ALLOWED_ACE_TYPE)
AceFlags: “” = 0×00
Access Mask: “0×7″ = Read, Write, Clear
Ace Sid: “S-1-0-0″ = Security Identifier (SID) (found using whoami.exe) of the Everyone user

Obviously you should probably change the access mask and ACE SID to be more locked-down, but admittedly this is what I did to get things working.

Hope this has helped. These are the websites I used to get me this far:

March 4, 2008

One Job to Do

Filed under: Building Applications, General, Off-topic — Tags: — Neil Barnwell @ 8:02 pm

My PC will confound me several times a day, every day. It’s not just me, either.

Today I had trouble installing .NET 3.0. Recently I’ve also had problems with Explorer freezing, the Outlook notify icon stays visible even when I have no unread email, and occasionally double-clicking a file only opens the application and not the file. Grrr.

These are all things that should just work (though I hear not even Apple are doing so well in this area recently…). These are tools, appliances, they have one job to do and I expect them to do it. SVN was recently a problem for me. The settings for Tortoise SVN to integrate with Araxis Merge didn’t seem to be giving the correct results, and only after many hours of poring over various files and reading various TSVN webpages did I find that it was just confusing filenames causing my problems, and that everything was working perfectly.

I’ve installed and almost as quickly uninstalled Resharper, too. I’m really disappointed about this, but the 20-minute performance hit opening one of my solutions (before I got bored and killed the process) was too much to bear for the additional refactoring tools. I was looking forward to catching up to where I was 4 years ago on Eclipse, too. Turns out I’m not the only one.

These often aren’t actually problems with the tools as much as the environment they’re in. Other people say it works on their machine.

So this has turned into a rant, and I’m not the only one who’s been through it I’m sure. I’m at a point where I’d like to re-install Windows, but seriously - that’s a lot of work. I get upset too easily.  The really worrying thing is that there are probably lots of people out there thinking the same thing about software I’ve written…

February 28, 2008

Review your settings

Filed under: General — Tags: — Neil Barnwell @ 10:24 pm

If you’re like me, the first thing you do once a new piece of software is installed is go through settings.  You may also be someone who changes desktop backgrounds and screensaver settings immediately after a fresh install, and how keeps their Start menu programs immaculately organised.  You almost always select “Advanced…” when working through the installation wizard, only to find that the only additional control you get is over the install location?

But how often do you review your settings?  Every now and again, I like to take a minute to go back through settings of common applications I use.  I may change my mind on one or two things, or maybe an upgrade has added things that weren’t previously there.  This especially true of online applications like Gmail that are regularly upgraded, because new settings and functionality are often added without you realising.

Maybe even see if there’s a blog that might announce the new settings that you can subscribe to in your feed reader of choice?  I subscribe to all the blogs for Google software that I use.

So go on, take a look at Tools->Options and see if there’s something in there that might freshen your experience a bit.  No harm in taking a look, is there?

Older Posts »

Blog at WordPress.com.