Aide-mémoire: Musings on Customer Service
After reading this I was chatting with my pal Peter over lunch and we agreed that Australian customer service is generally pretty poor. There are only two organisations here that would inspire me to recommend them: Cliftons and Entity Solutions.
Peter and I have both used Cliftons over a number of years in multiple locations with staff in diverse roles and levels of experience. Every time we have found them helpful, very committed to solving problems, empowered to get to the solution and a pleasure to work with. The service is not cheap, but is worth every penny. To create such a team means that you must recruit the right people, train them to be empowered and provide affective processes and support to help them do their do the job. What is impressive is that Cliftons have done it consistently over several years in diverse locations — I’d love to know their secret sauce. I suspect it’s just plain hard work on the part of the senior management team to continually improve, review and manage.
Perhaps they could run a training course on how to do it.
(BTW the point of this post is not to provide puff for Cliftons but to get people started thinking how to create and maintain great teams as judged by your customers)
31 May 2008
Posted by
Alec |
Work Practices |
|
No Comments
When using cpan.bat the following may be helpful. Please note that this is for a Windows corporate network infrastructure and was tested using both Strawberry and Cygwin Perl in the current network environment where I work. YMMV!
BEWARE THAT THIS APPROACH STORES YOUR LAN PASSWORD ON YOU LOCAL HARD DISK. THIS IS INSECURE!
Step 1: Information Gathering
- Discover the address of your proxy: If using a PAC file (look in IE Tools->Internet Options-> Connections -> LAN Settings and identify the setting ‘Use automatic configuration script’) then download the PAC file and open in a text editor. The default proxy address (e.g. proxy.corp) and port (e.g. 80) will probably be at the bottom of the PAC script. If you are not using a PAC script then the proxy address will be in the LAN Settings dialog.
- Know your domain name (e.g. corpdom) and lan ID (e.g. lanname)
- You will also need your lan password (e.g. secret)
Step 2: Configure CPAN
- From the command line ensure that you running the correct version of perl (perl –version)
- run the command cpan
- You may be asked some configuration questions — answer as best you can and take defaults if not sure
- At the CPAN Prompt type the following commands:
-
o conf proxy_user corpdom\\lanname (NB Double slash required)
-
o conf proxy_pass secret
-
o conf ftp_proxy http://proxy.corp:80 (NB No trailling slash on URL)
-
o conf http_proxy http://proxy.corp:80 (NB No trailling slash on URL)
- Now try and install something (e.g.
i Bundle::Perl::Critic)
[Update: July 2008 -- tested on Strawberry and Cygwin Perl. See also]
29 May 2008
Posted by
Alec |
Perl |
|
No Comments
When running perldoc on certain Windows systems using Perl under Cygwin it is possible to get an error message
Error in tempfile() using ./XXXXXXXXXX: Parent directory (./) is not writable
This is more likely to happen if your system has been ‘hardned’ by a corporate IT department. The fix is as follows:
- Make sure $TMPDIR is defined and points to somewhere sensible (e.g. $TMP)
- Make sure you have read/write permissions (
chmod 777 $TMPDIR)
28 May 2008
Posted by
Alec |
Perl, Windows |
|
No Comments
BBC NEWS | Technology | Microsoft’s survival strategy
a tool to teach kids what programming is like without getting too bogged down in the detail
I can’t help thinking that teaching children programming is simple is going to store up a load of trouble when they become middle managers and demand new features because “it’s SMOP“
28 May 2008
Posted by
Alec |
Software Development |
|
1 Comment
I think I can unite the Agile and Waterfall communities united around a common software engineering approach.
I give you “Big Design As Late As Possible” (BDALAP).
BDALAP recognises that certain design decisions are a) complex and b) have far reaching implications. They therefore require careful consideration and the use of such techniques as modeling and documentation. However we really would like to understand more about the problem and issues we are trying to solve first before we commit ourselves to a significant decision
A good example of this is the design of a database table schema which has implications all over a system and impacts how the system may be extended in the future. Other examples including communication of cooperating processes.
So in the first instance we can dummy them using such things as program data structures (it’s easier to modify the code than a RDBMs database schema). Later on an effective data schema can be created based on a more complete understanding of the system under discussion
I realise there is a bit of hand waving going on here and it’s not exactly original, but that does not need to be a problem or stop me becoming the BDALAP pundit.
I believe the usual way to implement this type of thing:
- The BDALAP website and blog
- A few journal articles on BDALAP success stories (must show that BDALAP was the sole reason for success and how it overcame ALL obstacles)
- A BDALAP conference (I’d like somewhere pleasant — Nice in France?)
- A BDALAP consultancy that can charge the same rates as an Actuary
- The BDALAP patterns book
- The BDALAP anti-patterns book
That should get me on the gravy train — anyone else want to come for the ride?
27 May 2008
Posted by
Alec |
Personal Opinion, Software Development, Work Practices, ego |
|
2 Comments
On Windows it’s very easy to end up with with multiple installtions of Perl (e.g. I have Strawberry Perl, Cygwin perl and Activestate Perl installed by Twiki).
If you download CPAN modules and then install them by hand things don’t always go where you think.
The (obvious) trick is to make sure you are running the correct Perl (and make tool) before you begin the install process. Let’s take Strawberry Perl as an example:
- Make sure the correct perl bin is first in the PATH
set PATH=c:\strawberry\perl\bin;%PATH%
- Make sure the correct make program is first in the PATH
set PATH=c:\strawberry\c\bin;%PATH%
You should then be able to run perl Makfile.PL, dmake, dmake test, dmake install. However if you have a problem then correct the environment and run dmake -u to force a rebuild. (If you are using something other than make program then you’ll need to find the correct option)
21 May 2008
Posted by
Alec |
Perl, Windows |
|
No Comments
Why Gen Y Is Going to Change the Web - ReadWriteWeb
There’s some contention over where exactly Gen Y starts and stops - some say those born 1983-1997, others think 1982-1997. In this week’s Entertainment Weekly, Gen Y is defined as “current 13 to 31 year-olds” and BusinessWeek says they can be as young as five. Regardless, we know who they are - they’re the young kids of today, the most digitally active generation yet, having been born plugged in.
When I have a working laptop at home I drive my wife mad as I surf facebook and post on Jaiku whilst watching TV. I always want to put information on Wikis (with open slather for everyone to update it) when my colleagues don’t understand the benefit and I’m posting here when I should be working on something else. I’m a man 25 years before my time!
Or perhaps I can just tell people I’m 22 years old?
20 May 2008
Posted by
Alec |
Personal Opinion, ego |
|
No Comments
Previously, like probably 80% of other users, I had only used Putty as a ssh enabled terminal emulator. However after my adventures with emacs I’ve come to realise what a great tool it is, including it’s support for comand line use.
If you are stuck using Windows without OpenSSH (e.g. not using Cygwin) then I recommend you get Putty.
Some of it’s features are:
- Key generation and management (including import/export of OpenSSH keys)
- A key caching utility (so you don’t have to keep typing the key passphrase)
- command line ssh support vi plink
- support for scp and sftp (pscp and psftp)
Every time I’ve used it it’s been rock solid and handled everything thrown at it (including things that OpenSSH had trouble with — although to be fair that was probably not OpenSSH’s fault)
15 May 2008
Posted by
Alec |
Windows, Work Practices |
|
No Comments
I am using emacs with the tramp extension to edit files on a remote server using ssh. I had to pull in various hacks to get it to work so I hope these notes might help others.
(Update 19/May/08 — I have had some serious problems making this work realibly, if you need this type of feature I suggest you look at jEdit with the ftp plugin)
There are also other free of cost options you may care to consider first:
- Vim has a netrw plugin
- Both FileZilla and WinSCP have options to edit a file from the remote file system which then invokes a local Windows editor of your choice.
- jEdit has an ftp plugin that supports sftp and bookmarks
Now for emacs
- Install Emacs for Windows and Cygwin with OpenSSH
- Upgrade emacs Tramp to the latest version (in particular ensure that –with-lispdir and –infodir options are set correctly when running configure)
- At the Cygwin bash prompt test ssh connection to your host
- Generate public/private keys and upload to the host
- Test ssh again to see if public authentication works (it did not for me because it had been disabled by the UNIX admin)
- Configure emacs to use tramp
- Start emacs and test connection using cygwin ssh/scp/sftp. If it works skip to step 13 (I think the reason it did not work for me was that the remote host displayed a security banner)
- Install the Putty program suite
- Test the connection using putty
- Ensure the Putty install directory is on the system PATH
- In emacs visit the host (C-x C-f) using the method ’plink’. If that does not work you are on your own
- If the public keys worked in ssh then import your OpenSSH keys into Putty
- You should be good to go
- Use emacs bookmarks to save you common host locations
YMMV
With many thanks to all the folks on the web who documented their experiences and Michael Albinus on the tramp-devl mailing list.
15 May 2008
Posted by
Alec |
Open Source Software, Security, Software Development, Work Practices |
|
1 Comment
For some bizarre reason I have started to use Emacs again (and even fallen in love with org mode). It seems more natural this time…
13 May 2008
Posted by
Alec |
Open Source Software, Work Practices, ego |
|
3 Comments
Currently I am feeling very cut off as the latop is at the menders having it’s drive electronics diagnosed. However as soon as it gets back I shall be off to the land of Git after re-reading Sam’s updated (and excellent) git-svn tutorial. Git is designed for distributed use, is fast and I’m assured very flexible…
Of course I may not wait that long as I’m being tempted to purchase an HP 2133, despite it having a Broadcomm wireless adaptor and all the bloody aggro that entails.
13 May 2008
Posted by
Alec |
Linux, Software Configuration Management, Software Development, Work Practices |
|
1 Comment
I found this and thought of Kate.
Of course if you’re not some ultra hip young thing what can you do? Here are my tips on Web 2.0 for Old Farts at Work (of which I am proud to be one):
- Publish a weekly report and show what you’re achieving
- Get a LinkedIn account — it’s not facebook and has a lot more gravitas; but at least you have an online presense. Spend some time making the profile reflect you and your experience
- Use an RSS reader (e.g. Google Reader) to read blogs and news that interest you. It saves a lot of time
- Start a blog — you don’t need to post every day, but it’s a good place to put down all the lessons you have learned where they will be useful to others
- Try and stop snarling at the young people. Apparently we were like them once (so they tell me)
13 May 2008
Posted by
Alec |
Work Practices |
|
2 Comments
I often enjoy watching Gordon Ramsay’s Kitchen Nightmares and I’ve wondered if his approach could be used to illustrate common problems with software development.
- Know what your customers want and will pay for: i.e. Get the requirements right
- Lack of training and experience can be fatal
- Don’t expect kids with 6 months experience in only one language to implement large complex systems without significant supervision and mentoring
- There is no substitute for passion and hard work
- Success comes from the whole team working together
- Keep things as simple as possible
- Ensure equipment is clean, working and eliminate ‘bad smells’ from the materials
- Version control
- Build environment
- Refactor
- Test planning and infrastructure…
Some come on people, it’s not exactly fucking rocket science is it?
Update June 2008 — It appears I’m not the first to have made this connection, and again
6 May 2008
Posted by
Alec |
Software Development, Work Practices |
|
6 Comments