Technology Tutorial Ubuntu

Advanced PDF Printing on Ubuntu

I travelled down a road that failed, but I learned some cool things about printing to PDF on Ubuntu that I think are worth logging and sharing for others.

1. Out-of-the-Box PDF Printing (in case you didn’t know)

In case you are new to ubuntu and didn’t know it, basic PDF printing is already installed and working perfectly. All you do is choose ‘print to file’ when you select your printer and PDFs are created. This might be all you need to know from this tutorial.

2. Converting with Ghostscript / ‘convert’ Command

This convert command is powerful. You can convert pretty much whatever image file to PDF. Probably you can convert other files, too. If you don’t believe me how powerful it is, just type man convert and check out the options…

A problem, however, is that it had a significant security issue in the past and so all rights to use the command are disabled by default. If you are running a server probably you should do your own research on the topic but if you are regular user like me you can probably follow the advice I found online to just remove the security policy file / rename it. Here is what I did and it removed all the permission errors I got while trying to run the command:

Move to the directory where the policy is: cd /etc/ImageMagick-6
Move the ‘policy.xml’ file while giving it the a new name (which ultimately just renames it): sudo mv policy.xml policy_disabled.xml

Now you can run the ‘convert’ command and send whatever it is to a pdf:

convert original_image_file.jpg output_pdf_file.pdf

3. Installing a ‘Virtual Printer’ and ‘Printing’ to it graphically

Install the thing: sudo apt install printer-driver-cups-pdf

As soon as it’s done you should be notified that a new ‘printer’ has been installed, just like it was a normal hardware printer. Now you can simply ‘print’ like you normally would to the printer called “PDF”. It will output the files to your home directory in the “PDF” folder.

4. Advanced printing with the command line using the Virtual Printer

Now that you have installed the printer-driver-cups-pdf virtual printer thing above, you now have a ‘fake printer’ in your computer and can now do ‘lpr printing’ in the commmand line. You can learn about what you can do with lpr here but instead what we’re going to do is simply direct the printing to the printer called “PDF”.

So whatever you can do with a regular printer, it seems you can do it now to PDF.

5. Other

There is also this thing which may be of value researching. I didn’t have time but it seems like there may be other value there ps2pdfwr. This is already installed with ubuntu. It takes postscript stuff and makes PDFs. You can type man ps2pdfwr in your terminal to learn more.

Hope this helps.

Technology Tutorial Ubuntu Ubuntu Touch


“Ooops. I deleted my photos”

I used foremost in this blog to try to recover deleted mp4 video files (for my sister) using ubuntu and the software called Foremost, but it wouldn’t find the video files. It found a bunch of photos but not her supposed videos.

Then, I thought maybe the tool wasn’t capable so I tried to figure out: Scalpel which is ‘the other’ major tool besides foremost.

But how to use it?

This video is an absolutely great way to get started doing the basics. Definitely take the time to watch it as it will give you a good birds eye view not just about carving an image file but also how to carve a device (ie. hard drive, usb drive) connected to the machine.

Also, the man scalpel was pretty useful, however, I still couldn’t figure out

a) where the ever-important scalpel.conf file was and
b) how to do mp4 which was (oddly) missing from scalpel.conf

It was pretty surprising that mp4 was missing, that’s for sure…

However, I did find this blog which got me most of the way there in terms of basic learning. Interestingly the author did not make available the following code containing the mp4 header/footer stuff to simply copy and paste. However, I was able to manually type from the screenshot so that myself (and the world) can just copy and paste it. Here it is:

EDIT 200816 – See below the disclaimer before doing this. I was wrong..

mp4 y 30000000:70000000 \x46\x4c\x56\x01\x05\x00\x00\x00\x09\x00\x00\x00\x00\x12\x00\x02\x36

Important Disclaimer: I have no idea if this thing is right, or works, but the program itself, I can verify, ran perfectly and carved for files. No videos were ultimately carved in my situation, but I don’t think that is the fault of this software nor my copy/paste stuff above. It’s because I don’t think there actually were any videos on my drive to start with. But I wanted to be clear that I simply typed out another bloggers stuff and stuck it here.

I was wrong, it seems. I kept getting nothing at all which I thought was weird. Then I just decided to dump the hex stuff above into a hex-to-text editor thing and discovered it translates to “FLV”.. So then what I did was use the same hex editor and wrote ‘mp4’ in there, and got this output:

6d 70 34

Then I updated the scalpel.conf file to look like this:

mp4 y 30000000:70000000 6d 70 34

This started working so I appear on the right path. However files still not playable and came in about 100 small chunks per directory. Need correct scalpel.conf entry to carve an mp4 file… any help appreciated in comments below!

Then I finally found another blog which showed that the scalpel.conf file is located at /etc/scalpel. Now you don’t have to spend an hour to learn that!

The first thing I did once I had what I needed to paste, and knew where to paste it, was edit the scalpel.conf file with the following command, and then copy/paste the above ‘stuff’ at the very bottom of the file and then ctrl+x, etc, to save changes in the file:

sudo nano /etc/scalpel/scalpel.conf

Once that is done, we need to run the command. Even this kind of messed me up with a few of the tutorials and even the man pages I read. Here is the syntax of what you’ll need to start it running with my breakdown of what each component is following:

sudo scalpel -c /etc/scalpel/scalpel.conf -o /path/to/output/diretory/directoryname /path/to/location/of/image.img

Quick explanation of this so you can plug in your details into the command to get carving:

sudo – it requires super user permissions (and your password)
-c – this tag points to the scalpel config file you edited above. If you want, you can move it, but if you didn’t move it this path in my example above is correct
-o – this points to your output path where ou want the recovered files to go
directoryname – at the end of your path add a useful name you’ll remember, as this directory will be created and the recovered files placed inside if it works
/path/to/location/of/image.img – likely you have already cloned the drive and are not using the original (recommended for many reasons) so this is the path to where on your machine this image file is located.
image.img – represents the name of your image, whatever it is.

So once you customize your details and hit ‘go’ you should be able to start carving files. Also, if you want to carve for more than just mp4s you can un-comment the options in the scalpel.conf file, or add others and they will all run at the same time once you start.

I found that Foremost found more .jpg than Scalpel but I might have configured one or both of them incorrectly…

Hope this helps you recover some lost goods!

Life Skills Technology Tutorial Ubuntu Ubuntu Touch


“Ooops. I deleted my photos”

Well, I thought this would be a bit easier than it was but such is life – HARD…May this tutorial save many or all of you lots of time. Probably you can do all this with Kali, Debian, or other distributions that have the same commands, but I’m ubuntu so ubuntu it will be.

My goal here was pretty simple. My sister wiped her photos from her phone (or someone she knows…) and they are gone. One would think they would save somewhere in google’s creepy backup network, but seems not so. Perhaps when you press ‘delete’ on your Android device they delete first from your device then from the google servers as they sync? That’s actually good thing for security reasons and privacy – which is why I doubt it works like that (ha). Anyway, I use Ubuntu Touch so I don’t know. But I do know that Nextcloud is awesome and I believe you can set it up for manual backups so it doesn’t happen automatically and you can probably set it up just fine on Android, too. This would be ideal setup so if you accidentally delete stuff like this the deletion won’t make it to the server and you could backup from that…. Anyway, my sister wanted these photos and I like learning so I started to review how to do it from a tutorial I never finished back in 2013. At that time I had wiped all my emails in Thunderbird, and I recall I did successfully get them all back.

The first interesting thing I encountered is that when I plugged the android device in my ubuntu computer – unlike my Ubuntu Touch mobile device – an Android device ‘mounts’ but doesn’t show up as a usual sdb, sdc, sdd, etc drive in File Manager system. The reason for this is that Android apparently uses ‘MTP’ and this was the source of my initial pain. If you are interested, here is a link about my mtp journey, only because I feel I don’t want to waste the time I spent logging it all and perhaps one day it will be useful related info.

Cloning the Drive with ddrescue!

To clone the SD card of the device we are going to use a tool called ddrescue, which annoyingly is called ‘gddrescue’ in the Ubuntu packages, yet, when you run it is ‘ddrescue’, not ‘gddrescue’. I wasted a solid 15 minutes trying to figure that one out…

  1. Install dd rescue on ubuntu: sudo apt install gddrescue
  2. learn how it works and to make sure you have the right tool: man ddrescue (again, not ‘man gddrescue’)(man!)

This blog post was good except that lshw -C disk only shows discs and direct USBs I guess but not SD cards, and since my sd card is in the sd card adaptor directly in my laptop, I’m going to use lsblk which will show the SD cards and their ‘mount points’. If you haven’t seen these before, they typically show up as an entry starting with ‘mmc’.

  1. Identify your SD card mount logical whatever: lsblk
    Mine is ‘mmcblk0’ but yours could be different. If there is a ‘tree’ of partitions, just choose the top level one for the card.

Documentation shows the basic command systax for ddrescue as: ddrescue [options] infile outfile [logfile]

They also had this example:

root# ddrescue -f -n /dev/[baddrive] /root/[imagefilename].img /root/recovery.log

I will change the above example to the following, but you’ll adjust yours accordingly:
sudo ddrescue /dev/mmcblk0 ~/samsungs7.img

What I’m hoping this will do is burn a copy of the sd card to an image file which I will then be able to carve. If you do your research you’ll find that it is always recommended to clone a drive and do forensics work on it rather than do the work directly on the ‘active’ drive. I’ve removed options because I want the most thorough image creation. Disclaimer: I have not studied ddrescue in detail, so always do your own deeper dive if you have time.

Note 1 before you run the command to clone: I quickly found out at this point that my laptop didn’t have enough memory so decided to clone the drive straight to another USB pendrive of same size to keep my laptop free from having a bad situation of running out of memory. However, at the same time I thought I would take my advice and use a drive of the same size of the cloned image. Wrong move. Even though advice online says that you need ‘a drive of the same size or larger’, there must be tiny differences of size between the manufacturers because just as ddrescue was finishing the job of cloning, it stopped and told me the usb drive ran out of memory. I ended up pointing it to my big storage drive. So, my advice is this: output your cloned image to a drive LARGER than the size of the drive that is being cloned. This could save you time, headaches, and confusion.

Note 2 before you begin to clone: be careful that your path for the output image file is a ‘real storage path’ on your machine, and do not accidentally include something such as ‘/dev/sdc’ as you will get the ‘this is not a directory’ warning. If you get this warning simply check the path and adjust accordingly.

The following is my more layman’s example of the command I used successfully showing in SD card input device with the Android data on it (“mmcblk0”), the output image file going to my big storage drive (“HardDriveName”) into a directory on that drive that I have already created (For example a directory called ‘samsung’), and then finally creating a clone of the drive called in that directory (“cloneImageName.img”):
sudo ddrescue /dev/mmcblk0 /media/user/HardDriveName/path/to/place/to/store/clone/cloneImageName.img

Update the above according to your paths, of course, including the mmcblk0 as yours might be different – lsblk to confirm…

When the ddrescue command is running it looked like this for me:

GNU ddrescue 1.22
ipos: 67698 kB, non-trimmed: 0 B, current rate: 43384 kB/s
opos: 67698 kB, non-scraped: 0 B, average rate: 22566 kB/s
non-tried: 15957 MB, bad-sector: 0 B, error rate: 0 B/s
rescued: 67698 kB, bad areas: 0, run time: 2s
pct rescued: 0.42%, read errors: 0, remaining time: 11m
time since last successful read: n/a
Copying non-tried blocks… Pass 1

Carving the files with Foremost!

Good job. We now have the clone .img file and now comes the hopeful recovery stuff. We now will start rippping through the clone to see what we can find.

  1. Get software called foremost: sudo apt install foremost
  2. Learn about it: man foremost

In this case I’ll be trying to carve out picture files. It’s a Samsung and I happen to know all photos are .jpg so i’m going to narrow down this carving to .jpg only, to speed it up.

foremost -i /media/user/HardDriveName/path/to/place/to/store/clone/cloneImageName.img -o /media/user/HardDriveName/path/to/place/to/save/restored/pictures -t jpg -v

You can seen now my input file / target file is the same one we created in the cloning section above:

The place where we’ll save the carved files is:

I stuck -v on the end to make it more obvious (verbose) in the terminal what’s happening. I recommend the same.

When everything is complete, by the way, Foremost creates and saves a file in the carved files directory called ‘audit.txt’. Then, a specific directory is createed called ‘jpg’ which will then house the files. This is nice and I didn’t know this happens before I began so I wasted some time creating directories with custom file-type names. No need. Foremost does this for you.

The process may take a long while so pack a lunch…


These two tools ddrescue (for cloning) and Foremost (for carving) are great and not so hard to use. Foremost successfully found some deleted photos, however, it was unable to find deleted videos. In fact, Foremost didn’t find a single video on the SD card which makes me wonder if it worked or if I did something wrong. I specified the .mp4 extension but nothing. I will continue to look into this, but for now, if you need to recover photos, I can tell you this worked great for me.

In fact, I ended up studying and using a second piece of carving software called scalpel which turned out also to be great, but it seems a little less simple to use. I created an similar instructional blog about scalpel file carving on ubuntu if you’d like to try that one too.

Technology Ubuntu Ubuntu Touch

Log notes from my MTP android ubuntu learning day

Before you read this. Big disclaimer. This post is written in super crappy style and is nothing more than my personal notes as I tried to figure out MTP. The only reason I’m even putting this post online is because a few of the things I learned below seem like they will be relevant for future ubuntu touch / android porting things. Even skimming over the process I went through seems useful. However, if you are looking for a good tutorial about how to actually do something with MTP / android / ubuntu, this is not that. Hopefully it will provide some value to someone though.

With that out of the way, here comes the crap:

I went down a long road installing ‘MTP://’ mount thing with sudo apt install mtp-tools (very few tutorials on this one) but after it was all said and done, I don’t think it was required because it seemed that all the entries for the ‘udev/rules.d’ files were already complete.

I had assumed you need to plug in the device and clone the internal hard drive (EMMC) via USB, but after some chats with some software communities it seems that ‘it doesn’t work like that’ and the situation is as follows (feel free to comment below otherwise to help me and other readers):

  • Everything nowadays is related to the SD card
  • You have to clone the SD card
  • You have to do forensics / file carving on the cloned drive image

I still feel there has to be a way to carve stuff from the EMMC via MTP, but that perhaps is for another tutorial blog. If you want to look into this, I will provide my learning here, but if you have an Android device with the userdata on the SD card (this is probably the case), then skip on to the following section:

  • How to ‘mount’ an Android device? With MTP
  • What is MTP? It’s this
  • If you are on ubuntu and try lsusb and can see something like this, you are probably already set up well with MTP:
    “Samsung Electronics Co., Ltd Galaxy (MTP)”

Un-mounting android.
un-plugging android.
good. I now get “Samsung Electronics Co., Ltd Galaxy (MTP)”

Now to figure out how to find that drive… how does one mount via mtp-tools?
It seems like most stuff is from circa 2014 which is possibly old and scary at this point.
man mtp-tools

nice. tools… manly tools.

wow. bad tool page. looks like MTP tools don’t really ‘mount’ the drive as a drive but just help you communicate with the drive. Not what we’re trying to do here. Jumping up a level.

This guy seems to have figured it out in this video I watched it, felt scared, then read the following code in his notes and this seemed to make the fear go away. Now, we already have mtp-tools installed from above so I’m going to assume that we don’t need to do all of it however, commments on YT from a week ago show ‘thanks man, it worked’ so… yeah. Maybe I’ll just follow it to a tee:

sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9

sudo apt-get dist-upgrade

sudo nano /etc/fuse.conf


sudo nano /lib/udev/rules.d/69-mtp.rules

# Device
ATTR{idVendor}=="XXXX", ATTR{idProduct}=="YYYY", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

sudo nano /etc/udev/rules.d/51-android.rules

ATTR{idVendor}==”XXXX”, ATTR{idProduct}==”YYYY”, MODE=”0666″

sudo service udev restart

sudo reboot

I’m going to walk through these commands one at a time and freshen them up if they need freshining.

sudo apt install libmtp-common <– not needed. shows current
sudo apt install libmtp-dev <– yes, required, not currently installed
sudo apt install libmtp-runtime <– no, not required, showing current
sudo apt install libmtp9 <– no, not required, shows current.

Therefore, the first line could be:

sudo apt install libmtp-dev

I’m a little concerned about running sudo apt dist-upgrade because I think that upgrades your entire current distro from, say 18.04 to 18.10… that seems a bit intense so I’m going to try to skip that one. Instead I did:

sudo apt update and sudo apt upgrade

Since we already have mtp-tools installed and we know that lsusb is showing the right stuff “Bus 002 Device 036: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)” i think we can move on to adding the rules

blast. it looks like this one rule location might be out of date sudo nano /etc/udev/rules.d/51-android.rules

cd /etc/udev/rules.d/ to search for it…

not there… maybe needs reboot. Rebooting….

sudo nano /etc/fuse.conf
remove comment (#) ‘user_allow_other’
control x to save changes

sudo nano /lib/udev/rules.d/69-libmtp.rules <– note, this is different from tutorial, couldn’t find his file name and assumed this is updated name
1m15s video is useful to watch as he pastes

connect phone
do an lsusb in one terminal
open new terminal window so you can see both together

take this, and update the XXXX to your device things as listed in lsusb in the other window

# Device
ATTR{idVendor}=="XXXX", ATTR{idProduct}=="YYYY", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

mine will become, for example AS DEMONSTRACTED at 1m44s in video with blue and red arrows (great visual, by the way!)
idVendor is the first 4 characters before the colon
idProduct are the second 4 characters after the colon.

ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

I like to do stuff in text editors and make sure it’s good before pasting into terminals but up to you.

Oh CRAZY. it waslready in this sudo nano /lib/udev/rules.d/69-libmtp.rules

now what… hmm

well I guess we can say that was ‘step 1 to make sure that your device is recognized by MTP’. Now that is good we must do next stuff

sudo nano /etc/udev/rules.d/51-android.rules

not there. but foudn it here:

sudo /lib/udev/rules.d



well that was all a waste of time, kind of. Turns out that the SD card is the mount point of the EMMC memory anyways (apparently) so I discovered there was an SD card in device and may work….

Business Life Skills


Proper communication is paramount. In the same way that handing someone a cheap, faded, crappy business card paints the wrong picture about your company and brand, a poorly communciated message does the same about yourself as a person.

We live in a time when it often feels there are more communication options than people with whom we communicate. Further, those people (us) are getting bombarded with endless streams of communications, 24-7-365. So how should we communicate with them, and when we are using these mediums, what are the communication expectations?

I will begin first by mapping out the major categories of communication media and then break each one out into more detail.

Major Communication Media

  1. Chatting / Texting: Includes SMS (cellular phone text messaging), Instant Messengers (IM) such as Telegram, WhatsApp, Matrix, or – more precisely – any real-time live stream of text-based communication.
  2. E-mail: E-mail includes e-mail. It’s awesome that e-mail requires no explanation after 40 years…
  3. Voice (phone) call: Includes online Voice-Over-Internet-Protocol (VOIP) conversations (such as skype), video conversations, cellular voice phone call, ‘FaceTime’ and other such human-to-human, voice-to-voice communication.

Chatting / Text

Typically speaking and historically speaking, such a chat medium would never be used professionally. On the old T9 keyboards on a cell phone, you would have to push the single number button three times to find the letter ‘c’ while composing. Messages would typically be ‘See you soon’, or “I’m 5 min late”. That’s it. You would never consider this kind of medium to be acceptable in a business environment. Nor would you even give someone related to your work or business your personal cell phone, unless you were an occupation such as a REALTOR who would require a weekend phone call. You also would never have your cell phone on or audible in a public environment (gone are those days, sadly), so it was not a very reliable way to communciate, even if it was permissible.

Then came the ‘instant messages’ which started to blur the line between voice, email and texting. The same kind of skills were used but it was faster and ‘always on’. Traditionally, though, this was for either internal stuff at a company, or between friends and family. No professional would use such a medium in the context of, say, a sales conversation or even a REALTOR communicating with his/her client. There is also a high risk associated with texting / chatting because once delivered, it’s a written record and oftentimes we send these messages while angry, or – some people – even while drunk. Much less common does one send an e-mail in this way, simply because it’s a touch less convenient.

Expectations in Business
For personal communications ‘do what you want’ but in business, I would recommend limiting this form of communication to zero for any external communications related to traditional selling, communications with vendors or professionals. The context of a live-chat text chat on a website or tech-support live chat is fully acceptable because the content is always the same and 100% focused on the task at hand. Very rare would you talk about sports with the sales rep on a website, but, if this happens, staff should be instructed not to engage and politely bring the focus back to the task at hand. The risk is too high, the record is permanent. Above all, cellular sms / text-messaging should always be avoided, 100% of the time whether personal or professional because the technology is so insecure and open that you might as well post it on the lamp post. Never use sms/texting if you can avoid it, and if you use it, never ever put personal or sensitive info in the message.

For internal communications, however, texting/chatting can be an excellent communication medium and should not only be accepted but also embraced. The ‘ping’ features (ie. using the @ before the username) of most chat apps are very useful way to reach out to someone for faster and more pointed communications. Services like Slack, Rocketchat, etc, can dramatically improve collaboration as well.

Context / Function

  • Typically used between friends and family.
  • Not recommended for external business communications. For instant stuff, when a quick response is needed.
  • Useful when a real-time on-the-fly discussion is required and can’t wait out the wait of an e-mail, or the coordination of a voice call.


  • Fast
  • Limited thinking required for grammar and style
  • Good for quick surveys questions
  • Convenient.


  • Easy to lose
  • Easy to forget
  • Not very permanent.
  • Easy to make career-limiting and life-reducing errors in the heat of the moment…


Historically, the name ‘e-mail’ means exactly what you’d guess: a hand-written piece of paper mail, but sent electronically. As a result of being one of the first electronic written forms of communications, long-standing expectations exist whether you know about them or not. Although the use of PGP technology can secure the email very well, most people do not use this end-to-end encryption, and as such, the e-mail should not be considered secure or private in any way. Further, if somone decides to try to sue you, e-mail can and will be used against you in a court of law.

Expectations in Business
E-mail format is more formal, and more professional. Composition time is longer and requires more thought process (a good thing), and more thoughtful responses.

The expectation of the speed of response of someone on the other side is, conveniently, also longer. This is excellent for a busy person because one can organize their time better with e-mail. The level of grammar is higher, the use of ‘lol’ and other ‘chat-based-stuff’ is avoided. However, the use of an occasional text-based smiley such as 🙂 would nowadays be considered acceptable if used tastefully and after the relationship with the person on the other side is somewhat matured.

Although it depends on your business, it is often acceptable to respond within one business day. Your competitors will probably respond within the same day or sometimes the next day. To assure you are one of the fastest responders in your industry, I would recommend ‘less than 3 hours’ if you can, wherever possible. Responding too quickly could present the appearance that you are not busy and may have an adverse affect so consider this too.

If an email is written to you, someone has essentially declared, “I’m spending my time to communicate with you”. As such, whether they say it or not, they will have an expectation of a response to show respect of their time. It is very easy to respond and we can break e-mails into the following two general categories: A) an email where an action is required or B) an email where no action is required. Let’s explore both of those in a bit of detail.

A – If an action is required you should, as quickly as you can:

  • Reply to the e-mail with the action item completed, if you can do the action right away, or,
  • Reply to the e-mail with an estimated time of completion of the action item, if you can do the action, but cannot do it immediately, or,
  • Reply to the e-mail immediately explaining the situation / explanation, if you cannot do the action item at all.

By replying to the e-mail in all the three cases above, you are acknowleding the person’s time, and helping them plan their situation accordingly. Otherwise, they are left in limbo. Silence, in the world of e-mail, can be more frustrating than a negative response or rejection.

B – If an action is not required, you should, as a general rule and as quickly as possible:

  • Read the email, and respond to the email with a polite confirmation of receipt if you are able to properly read it, or
  • Respond with a confirmation of receipt and let them know by when you will read in detail and respond, if you are not able to read it properly for a fairly long period of time.

In this case, not much is required of you but the confirmation of receipt will really help present you as a good communicator and respectful of others’ time.

It is wise to simplify it as follows: an e-mail requires a response every time, unless the email is absolutely informational only (ie. mass newsletter to a group) and there is no chance the person would expect a reply. If you aren’t sure, send at least a confirmation of receipt, such as ‘Received, thanks’, or ‘Thanks!’.

While we are on the topic of group e-mails, do not use the reply-all feature, unless it is absolutely required and you want to announce to the whole group that you have read it. This is typically considered super annoying when people do this. The reply feature is sufficient to confirm receipt, unless there is a reason to announce it to the group.

With e-mail, be very careful with humour. Due to lack of skills in the communication language, ethnic differences, cultural differences, etc, humour needs to be handled very carefully, until a solid relationship is established. Avoid the usual politics and religion until the relationship is established. At that point, it could be a very enriching experience to be ‘more real’ with all these great folks and use the God-given gifts you have with boldness.

E-mail requires a higher level of language proficiency and professionalism – if you’re going to send a poorly-written email with spelling errors, missing capitals, and typos to a customer or even a vendor, it would be worth considering not sending it at all. The good news, however, is that it’s super easy to write a proper and professional e-mail. This simple how-to blog is an excellent starting point. If you need to write it less formal, just tone down the salutation and add a bit more personal fluff. I would highly recommend reading this blog and consider implementing the concepts of ‘keywords in subject lines’ and ‘bottom line up front’. I firmly believe if everyone did this (at least internally) in business, we’d all have a much better life.

Context / Function
E-mail is ideal for business and recommended as the default communication for anything serious in writing. E-mails are regularly used in court cases and should be treated in the way a hand written letter would have been written back in the day. When an e-mail is sent, business is being done. Typically a professional dialogue would never take place by a chat/text environment as our friend has been doing, but instead by e-mail.


  • Long history of solid functionality. It ‘just works’.
  • Very ‘official’


  • Requires more time and skill to compose.
  • Has a higher chance of mis-interpretation than a voice call or a text chat because of its context of being a more serious communication.
  • Slower response time.
  • Less convenient.
  • Rarely secured by encryption (although possible).

Voice Calls

For this section we will assume the traditional ‘ring ring telephone call’ even though an internet video / voice call could do the same thing.

The first ‘instant voice communication’ and a reliable and proven and effective medium.

Function / Context
This is the most old-school communication tool in the world, other than snail mail and is very personal as you can hear the person’s voice or even see their face with video. The communication is instant (phone) and effective. Regardless what the other kids say, more can be accomplished in a 5 minute phone call than a 30 minute meeting (and it’s more enjoyable).

Expectations in Business
A phone call interrupts someone’s task and someone’s day. Let me say that again because it seems a lot of people don’t get this simple fact: A phone call interrupts someone. When you make a phone call, it better be important or valuable to the person you are calling, or, you better have a strong tone of humility and politeness if not. For sales people, this is paramount because if you call someone and try to sell something, even if they need it, and you are interrupting their crisis situation, they will hate you and your product (and your dog and goldfish while they’re at it). Always ask, “Is it ok to have a quick chat right now?” This one sentence will save you much pain.

A phone call is technically more private. Although audio can be recorded and is being recorded, typically speaking it’s much more difficult for a voice call to become part of a court record. If you need to communicate something sensitive or ‘on the side’, definitely this medium is the best. It is also one of the most clear forms of communication because you can hear more of the person’s emotions and nuances in their voice. In the other text-based communications it’s very (very, very) easy to communicate something unintended, by just one word. Countless are the stories of fights that have started over one misplaced or out-of-context word. Always use the voice call if there is risk of this.


  • Long, proven, and reliable network with a really wide reach. “It just works”
  • Fast
  • Personal
  • Reasonably secure and private
  • Better for communicating ‘nuance of the language’ that written format
  • Highly prioritized


  • Very interruptive
  • Pretty annoying
  • Getting less and less acceptable to younger generations


Nothing is more important in business than your communications and your communication style. You could have the nicest business card in the world but it will end up in the garbage can if you fail on the items above.

Of course, we must conclude the topic with the word ‘grace’. We all fail. I’m by far the worst. I like humour and humour in communications is risky business and I’ve offended not a few folks already as a result.