How to leave a Voice Mail Message (for an Engineer)

I’ve had a lot of voicemails recently where the caller did not leave a name or number. This may seem strange but if you’re working on a single project it’s easy to assume that the other team members are also working with are exclusively working on the same project. This assumption leads the caller to think that his/her voice will easily recognised and as such they feel that that makes leaving their name redundant.

The problem is that the assumption is not always correct. A typical engineer may be involved in many different projects and even when the caller leaves their first name, it may not be enough to distinguish you from all the other “Tom’s” that you have in your contact list. Therefore you should always leave your First and Last Name. To further identify yourself it’s always a good idea to leave the name of your company (or department if you’re internal) and the name of the project.

You cannot assume that Caller ID is working as the call may be redirected and diverted through various systems. You should also not assume that the engineer has access to your phone number. They may be away from their desk, in the server room, at home, have just erased their phone book during a phone upgrade, etc. Therefore you must give your phone number including all the codes necessary for the caller to call you back. For international callers start with +{country code} then {area code} without the leading zero and finally the number. e.g: +1 555 123 4567. For in country callers just include the area code.

Now you should then leave a short message stating exactly why you are contacting the engineer and if and when you want them to call back.

Finally you should repeat the name and number as the background noise may drown out the first time. It also gives the listener time to get a pen and paper. Don’t assume that people will replay the message to get your number.

So here’s the script for International callers:

Hello__{engineer’s name}.

This__is__{your first name}__{your Last name}__from__{your company/department}.

My__number__is__plus{country code}__{area code without leading zeros}__{phone number}

I__am__calling__about__{the project that you are collaborating on}.

I__would__like__to__{reason for call}

Please__(do__not)call__me__back.

My__number__again__is__plus{country code}__{area code without leading zeros}__{phone number}

Goodbye.

And for National callers:

Hello__{engineer’s name}.

This__is__{your first name}__{your Last name}__from__{your company/department}.

My__number__is__{area code with leading zeros}__{phone number}

I__am__calling__about__{the project that you are collaborating on}.

I__would__like__to__{reason for call}

Please__(do__not)call__me__back.

My__number__again__is__{area code with leading zeros}__{phone number}

Goodbye.

The “__” space is to let you know to speak slowly and clearly. This is epically true if you are calling someone who’s mother tongue is not the same as yours, even if you are speaking a common language.

It is often useful to spell out your name but if you do this use a ponetic alphabet as the sound of vowels are mixed up in many languages.

Posted in General | Leave a comment

HPR episode: Interview Techniques

It’s always a shock to hear your own voice and this was no exception. Episode 78 on Interview Tips has been released. I would like to apologise for the poor audio quality. I decided to make the recording as a audio note to myself on my way home from the swimming pool. As it got later the temperature fell to -5C and that combined with me having a cold and poor audio pickup on My Samsung YP-U2 recorder resulted in an embarrassing production.

This is a bit unfortunate as I think the show has some very good tips on what to expect and what is expected of you at an interview. I would like to know if other people could ‘see’ past the poor audio or would it be better to record the episode again from the home studio.

Posted in Podcasts | Tagged , | 1 Comment

How to map a PCIID to a MAC address

I’ve been beating my head against a wall for a few months now on how to do this. First the why.

I’ve been installing Vmware ESX server onto hardware with many Network Interface Cards (NIS’s). The guys that installed the server connected the network to a NIC and told me the MAC address (e.g. 11:22:33:44:55:66) and the IP address to use (e.g. 10.10.10.10). When I go to install the ESX software (3.0.2 and 3.5.0) then I’m presented with a list of network cards in the format x:x:x – yyy – Name of Card. After some searching it turns out that the x:x:x part is the PCIID in the format bus:slot.function, the yyy part is the driver VMWare will be using.

OK so it should be a simple matter to link the PCIID to the MAC address. I tried the ifconfig /a but that doesn’t show PICID. On the other side lspci -tv doesn’t show the MAC address. I didn’t get very far and to speed things up I picked a interface at random and assigned the IP address to it. Of course I picked the wrong one so I was not able to use the web interface to continue the configuration. The workaround is as follows:

  1. Start a ping to the IP address from a computer with an IP that is in the same range.
  2. Press Alt + F1 to get to the servers terminal. Not as easy as it sounds working from a Linux laptop as I kept getting my own PC’s console and not the remote one.
  3. Check you available nics:
    esxcfg-nics -l
  4. Check which is connected to service console switch (look at “Uplinks” of vSwitch0):
    esxcfg-vswitch -l
  5. Unlink actual vmnic from vSwitch0:
    esxcfg-vswitch -U vmnic0 vSwitch0
  6. link another nic to vSwitch0:
    esxcfg-vswitch -L vmnic1 vSwitch0
  7. If your ping from step 1 isn’t returned then repeat step 5 and 6 until the ping returns and you’ve found your NIC.
  8. Connect to the IP address using your browser and administer ESX server

The solution is a bit unscientific for my liking and finally I asked Dann Washko from the Linux Link Tech Show and he immediatly came up with the command lshw

http://ezix.org/project/wiki/HardwareLiSter
lshw (Hardware Lister) is a small tool to provide detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC machines (PowerMac G4 is known to work).

This is an absolute gold mine of information and while the program isn’t included in ESX it is included on the System Rescue CD. So before setting up a ESX server, boot from the System Rescue CD and run lshw to make a note of the PCIID for the MAC address your admin network is connected into. The install ESX as normal.

PS:The following day I was pleasantly surprised to find that Dann had taken the time to write me a script that would parse the files that lshw uses (identified by the man lshw page) to produce a listing of PCIID to MAC address listing. Thanks Dann – Above and beyond.

Posted in General | Leave a comment

Goodbye LinuxReality

A colleague at work introduced me to podcasts and within a week I was hooked. At the time typing “linux podcast” turned up very little except a show called LugRadio. They 4 (7) Large Gents lead me to The Linux Link Tech Show (not a podcast – just a Internet radio show with a feed 😉 ) and through their podcast list I was lead to many many more. I was so enthused that I wanted to start my own Linux podcast with step by step instructions for the new user.

And then I was devastated to hear that this guy called Chess Griffin had read my mind and had started the Linux Reality Podcast. I didn’t stay devastated for long as I realised that he was producing engaging, informative, professional and consistent shows that I could never in my wildest dreams hope to match. He laid a solid foundation and started building slowly and steadily so that now he has amassed a body of work that will remain usefully and relevant for new Linux users for many years to come.

Sadly he has decided to end the show at 100 episodes but he archived the job he set out to do. The work remains there for all to hear and I seriously doubt this the last we’ve heard of Chess.

Goodbye and thanks for the fish:/

Posted in Podcasts | Leave a comment

Windows 98 a Macintosh operating system

I was installing Windows 98 from a MSDN subscription and decided to do some update. Here’s what I got

Thanks you for your interest in obtaining updates from our site.

This website is designed to work with Microsoft Windows operating systems only.

To find updates for Microsoft products that are designed for s, please visit
http://www.microsoft.com/mac/.

See the screenshot here

windows98-is-a-mac.png

Posted in General | Leave a comment

Getting text out of visio drawings

One of the common headaches I’ve come across is how to extract text out of visio. The obvious File -> Save as -> Text File is not available, nor is File -> Export -> Text File. I’ve even tried creating a Generic text-only printer and then printing to a file but to no avail 🙁

A few months ago I figured it out how to do it and then rapidly forgot again. I’ve found the solution again in a post by David Parker here so I’m posting it here as much to help myself out as anything else.

  • Visio 2003 go to Tools -> Reports.
  • Visio 2007 go to Data -> Reports.
  • Visio 2010 Beta and up go to Review -> Share Reports. (Thanks Francisco)

These instructions are for Visio 2007 and up.

  1. Make a new report and select Shapes on the current pageor Shapes on All pages to also include hidden layers. (Thanks Muhammad)
  2. Then select only <Displayed Text> (you may want to Show all properties to make sure nothing else is checked)
  3. Give it a Title e.g: Text Only Report
  4. Give it a Name e.g: Text_Only_Report
  5. Then select run and export it to either Excel, HTML, Visio Shape or XML

In the future when you want to extract text all you need to do is run Data -> Reports select Text_Only_Report and press Run.

Posted in General | Tagged | 21 Comments

The OpenStreetmap episode is published on Hacker Public Radio

My episode on the openstreetmap project has just been released over at Hacker Public Radio.

Posted in Podcasts | Leave a comment

Finished part 3 of LPIC for Hacker Public Radio

Finally. Last night finished recording the third part in the Linux Professional Institute Certification series for Hacker Public radio. This episode gives a general background to how a Hard Disk works. The main points were:

  • How Linux names hard disks
  • Why should the boot partition be under the 1024 Limit.
  • Using hdparm -I /dev/{disk} to display information on your hard disk

Show Links:

Posted in Podcasts | Tagged , , , | Leave a comment

svc: bad direction 65536, dropping request

If you see that check to make sure that your /etc/resolv.conf is correct.

Posted in General | Leave a comment

Finding if one or more files exist in a directory using bash.

A common problem I’ve come across in bash is that there doesn’t seem to be a way to check for the existence of multiple files in a directory. If you wanted to find out whither a particular file exists you could do the following:

#!/bin/bash
if [ -e ~/files/x.txt ];then
echo "Found file"
else
echo "Did not find file"
fi
me@pc:~$ if [ -e ~/files/x.txt ];then echo "Found file";else echo "Did not find file";fi
Did not find file
me@pc:~$ echo hello > files/x.txt
me@pc:~$ if [ -e ~/files/x.txt ];then echo "Found file";else echo "Did not find file";fi
Found file
me@pc:~$

See http://www.faqs.org/docs/bashman/bashref_68.html

No problem there. OK now let’s try and do that using a wild card

#!/bin/bash
if [ -e ~/files/* ];then
echo "Found file"
else
echo "Did not find file"
fi
me@pc:~$ rm files/*
me@pc:~$ if [ -e ~/files/* ];then echo "Found file";else echo "Did not find file";fi
Did not find file
me@pc:~$ echo hello > files/x.txt
me@pc:~$ if [ -e ~/files/* ];then echo "Found file";else echo "Did not find file";fi
Found file
me@pc:~$

Everything looks fine *until* there is more than one file that meets the test criteria.

me@pc:~$ echo hello > files/y.txt
me@pc:~$ if [ -e ~/files/* ];then echo "Found file";else echo "Did not find file";fi
bash: [: /home/me/files/x.txt: binary operator expected
Did not find file
me@pc:~$

So what’s happening ? Well bash is expecting only one item in the search criteria so it bombs out. How I got around this was to run a ls command using the same glob and ignore the output by redirecting both the standard output and standard error to /dev/null

ls -1 ~/files/* > /dev/null 2>&1
if [ "$?" = "0" ]; then
echo "Found file"
else
echo "Did not find file"
fi

So let’s try it.

me@pc:~$ rm files/*
me@pc:~$ ls -1 ~/files/* > /dev/null 2>&1; if [ "$?" = "0" ]; then echo "Found file"; else echo "Did not find file";fi
Did not find file
me@pc:~$ echo hello > files/x.txt
me@pc:~$ ls -1 ~/files/* > /dev/null 2>&1; if [ "$?" = "0" ]; then echo "Found file"; else echo "Did not find file";fi
Found file
me@pc:~$ echo hello > files/y.txt
me@pc:~$ ls -1 ~/files/* > /dev/null 2>&1; if [ "$?" = "0" ]; then echo "Found file"; else echo "Did not find file";fi
Found file
me@pc:~$

EDIT: Unescaped the html

Posted in General | Tagged | 21 Comments