Setup Roundcube Webmail on CentOS Linux

Setup Roundcube Webmail on CentOS Linux

– Install centos 7
– Configure networking
– Disable selinux
– Disable NetworkManager (optional but it gave me grief)
systemctl stop NetworkManager
systemctl disable NetworkManager

– Uninstall sendmail
systemctl stop sendmail
systemctl disable sendmail
yum remove -y sendmail

– Install php

yum install -y php

– Enable EPEL repository:
cd /tmp
wget wget
rpm -ivh epel-release-latest-7.noarch.rpm

– Enable the REMI repository (for ImageMagick, etc):

cd /tmp
rpm -ivh remi-release-7.rpm
vi /etc/yum.repos.d/remi-php54.repo (set "enabled=1" - because the current system has PHP version 5.4 installed. There are repo files for other PHP versions in the same directory)

– Add the email domain name as well as the server’s FQDN as aliases to the “” entry in file /etc/hosts: localhost localhost.localdomain localhost4 localhost4.localdomain4

– Allow incoming/outgoing connections through the firewall for apps:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=imap
firewall-cmd --permanent --zone=public --add-service=imaps
firewall-cmd --permanent --zone=public --add-service=pop3s
firewall-cmd --permanent --zone=public --add-service=smtp
firewall-cmd --permanent --zone=public --add-service=smtps

– Configure Postfix

yum install -y postfix
systemctl enable postfix
yum update postfix
systemctl start postfix
systemctl status postfix

– Configure Postfix

cd /tmp
openssl req -x509 -nodes -newkey rsa:2048 -keyout mailserver.key -out mailserver.crt -nodes -days 730
mkdir /etc/postfix/ssl
mv mailserver.key /etc/postfix/ssl
mv mailserver.crt /etc/postfix/ssl
vi /etc/postfix/ (uncomment the following lines)
#submission inet n - n - - smtpd
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
vi /etc/postfix/ (uncomment the myhostname variable and set its value to the server's hostname)

vi /etc/postfix/ (uncomment the mydomain variable and set it to the domain to receive emails for)

vi /etc/postfix/ (uncomment the following lines)
#inet_interfaces = all
#inet_interfaces = localhost
#inet_protocols = all
#mydestination = $myhostname, localhost.$mydomain, localhost
#home_mailbox = Maildir/

vi /etc/postfix/ (add the following lines to the end of the file)
smtpd_tls_key_file = /etc/postfix/ssl/mailserver.key
smtpd_tls_cert_file = /etc/postfix/ssl/mailserver.crt
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

– Restart postfix:

systemctl restart postfix
systemctl status postfix

– Test Postfix with telnet (send a test mail to another local user then check that user’s /home/username/Maildir/new/ directory for the mail file)

yum install -y telnet
telnet localhost 25

– Install and Configure Dovecot

yum install -y dovecot
systemctl enable dovecot
systemctl start dovecot
systemctl status dovecot

– Edit the file /etc/dovecot/conf.d/10-auth.conf and set the following parameters (also uncomment them as well):

disable_plaintext_auth = no
auth_mechanisms = plain login

– Edit the file /etc/dovecot/conf.d/10-master.conf and set the following section to:

unix_listener auth-userdb {
#mode = 0666
user = postfix
group = postfix

– Set the dovecot mail_location parameter in the file /etc/dovecot/conf.d/10-mail.conf  (Uncomment the line and change the value).

mail_location = maildir:~/.mail

– Restart dovecot to activate all the configuration changes:

systemctl restart dovecot

– Install and Configure Apache webserver

yum install -y httpd
systemctl enable httpd
systemctl start httpd
systemctl status httpd

– Install Roundcube

yum install -y mysql mariadb-server php php-common php-json php-xml php-mbstring
systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb
mysql -u root -p (Just press ENTER when prompted for the password)
MariaDB [(none)]> create database roundcube_db;
MariaDB [(none)]> grant all on roundcube_db.* to roundcube_user@localhost identified by 'roundcube_db_password';
MariaDB [(none)]> select user from  mysql.user;
MariaDB [(none)]> quit

NOTE: substitute your own username and password for “roundcube_user” and “roundcube_db_password” in the “grant” command above.

cd /var/www/html/
tar -zxvf roundcubemail-1.3.7-complete.tar.gz
mv roundcubemail-1.3.7 roundcube
chown -R apache:apache roundcube

– Install various PHP extensions (that are not installed by default)

yum install -y php-pdo
yum install -y php-intl
yum install -y php-gd
yum install -y php-pear
yum install -y php-pecl-imagick
yum install -y php-mysql
yum install -y php-ldap

– Set your timezone in /etc/php.ini (e.g., add the following line to the file)


– Restart Apache webserver to detect the changes:

systemctl restart httpd

– Complete the install by using the URL http://servername-or-ip/roundcube/installer
– 1. Check environment – install any missing but required PHP extensions, DB, etc
– 2. Create config – make changes as required to various config options including the database parameters (name, user, user password – created earlier). At the end, click the “Create Config” button which creates and stores the config file in the roundcube config directory (/var/www/html/roundcube/config/). Click the “CONTINUE” button.
– 3. Test config – test that roundcube can connect login to the IMAP (dovecot) and SMTP (Postfix) servers successfully
– Click the “Initialize database” button
– Scroll down and “Test SMTP config” by supplying sender/recipient email addresses
– Then “Test IMAP config” by supplying the username and password of a local user account

– 4. Delete the installer directory (or move the directory outside /var/www/html/) to prevent reconfiguration and/or unauthorized access:

rm -rf /var/www/html/roundcube/installer

– 5. Enable Roundcube’s automatic cache-cleaning (optional but recommended):

sudo crontab -u apache -l | { cat; echo “18 11 * * * /var/www/html/roundcube/bin/”; } | sudo crontab -u apache –

– 6. Confirm that the parameter default_host in the Roundcube config file /var/www/html/roundcube/config/ is set to the email domain name.

$config[‘default_host’] = ‘’;

– 7. Optional: default maximum attachment size is 2MB. To increase this value, edit file /etc/php.ini and increase the value of the parameter upload_max_filesize (default is 2M) to your desired size then restart the Apache webserver:

upload_max_filesize = 6M

– 8. Restart Apache webserver:

systemctl restart httpd


– Optionally Enable SSL for extra security

yum install mod_ssl
mkdir /etc/httpd/ssl
openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -out /etc/httpd/ssl/server.crt -keyout /etc/httpd/ssl/server.key
openssl dhparam -out /etc/httpd/ssl/dhparam.pem 2048
cat /etc/httpd/ssl/dhparam.pem | tee -a /etc/httpd/ssl/server.crt

– Edit mod_ssl config file /etc/httpd/conf.modules.d/ssl.conf
vi /etc/httpd/conf.d/ssl.conf

– Find the section that begins with “<VirtualHost _default_:443>” and uncomment the 2 lines below. Also change the ServerName parameter to your server’s name/IP
DocumentRoot “/var/www/html”

– Find the SSLProtocol and SSLCipherSuite lines and either delete them or comment them out.

– Find the SSLCertificateFile and SSLCertificateKeyFile lines and change them to the paths to the SSL keys we created earlier:

SSLCertificateFile /etc/httpd/ssl/server.crt
SSLCertificateKeyFile /etc/httpd/ssl/server.key

– Paste in the lines below AFTER the end of the VirtualHost block (after “”):

SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security “max-age=63072000; includeSubdomains”
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache “shmcb:logs/stapling-cache(150000)”

– For additional security, redirect all traffic to be SSL encrypted. Create the file /etc/httpd/conf.d/non-ssl.conf with the content below (use your own servername or IP-address):

vi /etc/httpd/conf.d/non-ssl.conf

<VirtualHost *:80>
Redirect “/” “”

– Restart Apache webserver:
systemctl restart httpd



MySQL List Users – How to List MySQL User Accounts via command line?

How to Enable EPEL Repository for RHEL/CentOS 7.x/6.x/5.x

How to Install ImageMagick on CentOS & RHEL

Enable SSL for apache server in 5 minutes

For nginx (webserver):

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

The Chupacabra

The Chupacabra

The night was long
And I didn’t have a song
So I went for a walk
Rather than toss and sulk

I took two candelabra
And met a Chupacabra
I asked him where he was going
“To eat you, I am going”

He might talk funny
But he was no bunny
“I am 200 and drink a lot of pop”
“My blood is diluted and would ruin your sup”

Better to leave this hood
And head to Hollywood
There are 600s with fat to spare
All you can drink and none would care

So I gave him some money
And my lunchbox too
He said “Is it veggie? It smells funny”
“No way in hell, I am a carnivore too”

If you think it’s not worth much
Surviving his clutch
I met a Chupacabra
Top that, you son-of-a-cabra!

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

Installing MacOS High Sierra v10.13.4 on VirtualBox

For Educational/Research Purposes

Installing MacOS Sierra 10.13.4 on VirtualBox 5.2.0 r 118431 (04/22/2018)

    • Download VirtualBox 5.2.x and install it
    • Download 5.07GB Sierra ISO image (macOS_High_Sierra_10_13_1_Official.iso) with md5sum 2ba1e2160b69a9bd080646664c8edc12 (though any bootable one you can get should do).
    • Create a new VM with Type “Mac OS X” and Version “Mac OS X (64-bit)”
    • Other VM settings include: Chipset set to PIIX3*, Memory size at least 4GB, 2x CPUs, 128MB Video Memory, Network (Adapter) interface, Disk at least 40GB.
    • Insert file macOS_High_Sierra_10_13_1_Official.iso into the CDROM drive
    • Shutdown (exit) VirtualBox application
    • From an admin CLI (cmd.exe), run the following commands (substituing your VM-name for “mac3”):
 cd "C:\Program Files\Oracle\VirtualBox\"
 VBoxManage setextradata "mac3" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
 VBoxManage setextradata "mac3" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
 VBoxManage setextradata "mac3" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac14,2"
 VBoxManage setextradata "mac3" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
 VBoxManage setextradata "mac3" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-27ADBB7B4CEE8E61"
  • Launch VirtualBox and start the VM
  • It will put you at the Language selection screen with English as default (Next button)
  • The new screen is titled “macOS Utilities” with 4 options: Restore from Time Machine Backup; Install macOS; Get Help Online; and Disk Utility.
  • Choose Disk Utility (u won’t see the HDD)
  • From the menu choose View -> “Show All Devices” (your HDD will show up on the interface)
  • Select your disk and choose the “Erase” button (give it a Name: and leave the Format: as “Mac OS Extended (Journaled)” and the Scheme: as “GUID Partition Map”)
  • Click Erase button; Click Done button once the erasing process is done.
  • Exit Disk Utility (menu Disk Utility -> Quit Disk Utility) and back to the “macOS Utilities” screen
  • Choose “Install macOS”
  • Continue (button) on the “Install macOS High Sierra” screen
  • Agree button (terms/license agreement)
  • Agree button (in the small popup to confirm you have read the terms)
  • Select your disk and click on the Install button on the screen stating macOS will be installed on your disk (the installation start – 4mins remaining)
  • Remove the ISO image from CDROM when it restarts otherwise the VM boots from it again (if so, shutdown the VM, remove the ISO and start up the VM)
  • The VM boots to a text screen (“UEFI Interactive Shell v2.1 ….”) with several options (FS0, FS1, BLK0, BLK3) then drops to a “Shell>” prompt
    – Type “FS1:” and press ENTER
    – Navigate the directory structure by typing:
    cd “macOS Install Data”
    cd “Locked Files”
    cd “Boot Files”
    boot.efi (press ENTER)
  • The installation process will continue to a GUI (“Installing on disk-name”)
  • When the install completes, you are presented with a Welcome screen:
    -> Choose Country
    -> Keyboard 
    -> Don't transfer any information now 
    -> Don't sign in (sign in fails if you try anyway) 
    -> Skip when prompted if you are sure you don't want to sign in 
    -> Next on the Terms & Conditions -> Agree to the license agreement popup
    -> Enter details on the "Create a Computer Account" screen 
    -> Express Set Up screen (Choose "Customize Settings")
    -> Enable Location Services (optional)
    -> Analytics (uncheck/deselect "Share Mac Analytics with Apple") 
    -> Enable Ask Siri (default) -> Setting Up Your Mac ... 
    -> Keyboard Setup Assistant (continue) 
    -> Identify Your Keyboard (select key to right of left shift key, then key to left of right shift key)
    -> Conclusion (click "Done" button unless you want to change the selected keyboard)
    - Congratulations! You have successfully installed MacOS High Sierra v10.13.1 and you are presented with the desktop

    Congratulations! You have successfully installed MacOS High Sierra v10.13.1 and you are presented with the desktop.

Now let’s update it to MacOS High Sierra version 10.13.4! 🙂

  • Choose “Install macOS”
  • Optional: Shutdown the VM, take a snapshot (you can delete it later if everything goes well). Start the VM.
  • Download macOSUpdCombo10.13.4.dmg from Apple website* (see notes below)
  • Double-click to extract/open it to macOSUpdCombo10.13.4.pkg
  • Double-click to start installation
  • Welcome to … 10.13.4 Update Installer (Continue)
  • Important Info (Continue)
  • Software License Agreement (Continue)
  • Terms of the agreement popup (Agree)
  • Standard Install on … (Install button)
  • Enter password in credentials pop and press “Install Software” button
  • Install software now popup (“Continue Installation” button)
  • Install will continue after restart
  • Take another snapshot before clicking the “Restart” button
  • Installing Software Update screen
  • Keep pressing F12 or “Windows-Key+R” once the system reboots (make sure the VM has input focus otherwise it won’t work and once you miss it, you have to revert to the last snapshot)
  • You should land on a screen with 5 menu options: Continue; Select Language; Boot Manager; Device Manager; and Boot Maintenance Manager
  • Take another VM snapshot on the BIOS screen before continuing
  • Choose “Boot Manager” and press ENTER
  • Choose “EFI Internal Shell” and press ENTER which drops you into the “Shell>” prompt
  • Type the following (press ENTER after each command)
 cd "macOS Install Data"
 cd "Locked Files"
 cd "Boot Files"
  • If the boot process got stuck with a bunch of error messages similar to “Error loading kernel cache (0x9)” or “prelinked kernel error”, shutdown the VM and restore the previous snapshot.
  • Repeat previous steps above from “Choose Boot Manager and press ENTER” …
  • System boots to “Installing on …” screen and the installation continues.
  • When the installation completes and the VM boots up completely, login and the system should be running MacOS High Sierra version 10.13.4
  • You can now delete the snapshots if you want.



– To set a custom screen resolution such as “1920×1080” (the default seems to be 1024×768), use the command:

VBoxManage setextradata "mac2" "VBoxInternal2/EfiGraphicsResolution" "1920x1080"

– You need to be running at least MacOS version 10.13.2 to be able to install Xcode from the App Store

– If the chipset is set to ICH9, after rebooting the VM gets stuck on a text screen (boot-args = usb=0x800 ….)

– Installing the 10.13.4 update from the App Store does not work. After the installation completes, the version still remains 10.13.1

– *I prefer to download the update to my host, then use an ISO creation app such as cdrtfe to create a data ISO disk. Insert the ISO into the CDROM drive attached to the VM and run the update from there.

– md5sum of the boot ISO macOS_High_Sierra_10_13_1_Official.iso I used for the installation is 2ba1e2160b69a9bd080646664c8edc12 though other versions out there should probably work as well.

– “About This Mac” shows the following details: macOS High Sierra Version 10.13.4, Serial Number 0, Graphics Display 3 MB.

– If you require a proxy to access the Internet, set it up by going to Apple Menu -> “System Preferences” -> Network -> Advanced.. -> Proxies -> configure “Web Proxy (HTTP)” and “Secure Web Proxy (HTTPS)”


How to Fix macOS Sierra Screen Resolution on VirtualBox?

Post by okiuss helped with the update to 10.13.4 (below):

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

Beethoven Akinjiwonuola III

Beethoven Akinjiwonuola III
(April 3, 2018. 6:38am)

Let me tell you about Beethoven Akinjiwonuola III (it’s alright if you can’t pronounce his name properly; I can’t either).

Yes, his mother named him after the famous composer.
But unfortunately he held the violin’s bow the way he held his fork.
And he couldn’t tell a music note from a Greek letter.
His music teachers gave up in despair and one said even the Sphinx can’t solve the riddle of how it was possible to be so utterly lacking in talent.
In other words Beethoven couldn’t do music if his life depended on it.
That of course was the source of much angst From friends and foes alike. No wonder of course, with a name like Beethoven.

But there was one thing Beethoven liked doing – that was running.
Unfortunately his other issue had made him much too shy, so no one ever knew about his true gift.
Beethoven grew up more or less in obscurity.
You could always find him near the curtains at parties.
Or pretending to be furniture.
Or at the refreshment table debating whether a piece of bread or a croissant is the way to go.
Because he never did learn how to make small talk, all the girls with no exception found him curious but no fun at all. As one put it “disturbing and nice” (but nice never a boyfriend made.)

Nevertheless Beethoven knew how to run.
He ran past the rectory which caused the priest to think the second coming was at hand.
Leading to several sermons on how the congregation ought to be ready because no one he said, can outrun the coming apocalypse.

He ran past the bakery.
The wind rushed through the oven
The fire burnt so hot it turned all that day’s bread to ashes.
And for the first time since old Mr. Peterson (the war hero) could recall, there was not a loaf of fresh bread in all the town.

He ran across the river.
And all that witnessed it said the river was parted for a minute.
With fishes flapping on dry ground.
Just like the Red Sea in Moses days.

He ran past the court house.
And blew away all the papers.
The clerk said there were no copies
The accused was teetering at heaven’s door anyway.
So the judge set him free for lack of evidence.

He ran through the cornfield.
All the ears of corn fell off their stalks, peeled themselves, and the grains jumped off the cobs and piled up at one end of the field.
The farmers woke up to the miracle of the harvest.

He ran and he ran and he ran, and he ran and he ran into the past.
No he didn’t grow younger like Benjamin Button.
But he ran so fast and so far that his grown self met his preteen self.
So he told his young self what he ought to do and what he ought not to do.

One would have thought that was the end of it. But no, he didn’t stop running. He ran, and he ran, and he ran all the way to that first day when there was no day and no night and the earth was just a chunk of darkness spinning in the nothingness. Then he ran some more.

No one truly knows what became of Beethoven Akinjiwonuola III. (It’s alright if you can’t pronounce his name properly; I can’t either). But it seems very likely that he just ran out of time.

Ayotunde Itayemi (April 3, 2018. 7:21 am)

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

Weird dream

Weird zombie dream this morning. Started off discussing a data protection solution with a prospect and I said to him that at one end of the chain are the Inside sales team, then the field sales team, and at the other end is the customer. That’s about when there was some sort of commotion and most of the light in the city went out.
Next I was running away from the zombies, they were quick, not Z (Brad Pitt) quick though. The strange thing was that all their faces were in silhouette so I couldn’t make out any features. I was hopping from one roof to another and it seems I was headed for a safe zone.
Just as I came in sight of the gates, a woman came running up and asked which way to Microsoft.
She made it through the gate first and was captured by some humoungous humanoid-zombie which is when I realizedd the safe zone was compromised.
Earlier in the dream I had gone to eat at some local restaurant. I had to go pay at the cashier’s stand and I set down my back pack. One of the kids in the place got into the backpack and stole my phone. I ran after him and as I got the phone back, another kid stole something else from the backpack and I proceeded to hunt him down too: why didn’t I just take the backpack with me?

Posted in Uncategorized | Leave a comment

Leaving is hard

Leaving is hard (9/15/2017 – 1PM)

It is said that when life hands you lemons, you make lemonade. Well, I tried. The lemonade was just too sharp to drink daily. So, finally I decided to “check out.” Can’t be that difficult, right? I read all sorts of stories on the internet and that shit is happening all the time – teens, 20s, 30s, 40s, 50s, 60s after which it seems people sort of accept their fate and get on with the hassle of living. Well, it isn’t. Maybe I was just grossly incompetent, just plain unlucky, or at some subconscious level I wasn’t really ready to go.

I did my research. Ok, truth be told, I just watched a bunch of documentaries. I made a list of possible options and the old car exhaust method seems to be the most painless way to go. Just sit back and relax, and let odorless carbon monoxide do the trick. I didn’t have much of any affairs to set in order which suited me fine. I wrote a brief “suicide note” and snail mailed it to the only person I knew wouldn’t bother to open the mail until I was gone. Checked the listing for vacancies and found a warehouse that looked like it would be suitable from the pictures online. I wasn’t going to leave anything to chance, so I fired up Google Earth as well, and it appears the pictures posted by the estate firm didn’t even do it justice – it looked even more decrepit, abandoned and weed-grown from above (damn estate agents using old pictures!)

I read somewhere that the best time to die was either Friday afternoon right after the work day ends or on Monday mornings: Friday evening people can’t wait to get on home or hit the pubs, and Monday morning they are too busy trying to get to work early or still recovering from the weekend hangover: either way, they can’t see you for their own issues. Which is how you want it when you want to commit a permanent crime against your own person.

I pulled up to the warehouse in my old jalopy and drove straight through the excuse for a double door that wouldn’t even keep a horse out (and horses are known for following the rules, right?). the only thing I had with me was a family-size KFC bucket and a 2-litre bottle of Coca Cola: I intend to die happy. Besides, whoever heard of the dead dying of diabetes? I ate half of the bucket and washed it down generously with the coke. I guess I should have bought a non-carbonated drink instead for all the burps the coke was inducing in me.

Time to get down to business. The key is not to hesitate. I plugged the hose to the exhaust pipe of the car, went back with the other end and stuck it through a little gap in the window, then tape everything up nicely. I started the car, reclined the seat and closed my eyes. Anytime now … who says this stuff has no smell …. as long as it gets the job done …. my shut eyes were burning and I started to cough … I intend to wait this thing out …. finally I checked my wristwatch and noticed it’s been close to an hour. It wasn’t supposed to take this long. I couldn’t cope with it any longer and opened the door. Turns out my old jalopy wasn’t exactly airtight and I could have punished myself in there for a month of Sundays and all I would have had was a nasty headache and possibly bronchitis.

I was disappointed of course but I still had my list. I returned home and the fact that no police or anyone for that matter had showed up looking for me means I was right about the fellow I sent the letter to. The only letter he opens with any sort of regularity is the ones containing his disability checks.

I spent the next few days investigating option two. Again, to tell the truth, after a few YouTube videos about how to tie a noose, I sort of got carried away watching the season 7 episodes of GOT. I was disappointed by the ending. I knew season 8 would be the final season by I am not sticking around for 2 years to discover who finally gets to sit on the iron throne. No way. I took a trip to Walmart and bought a good length of a thick strong woven synthetic rope they had. Another detour to KFC and I was set with another family bucket and this time non-fizzy ginger ale from the gas station. It only cost $1.29 for a 2-litre bottle. Maybe the warehouse was jinxed, this time I searched for a nice house that was for lease in the suburbs. I timed my arrival to ensure the dads have gone to work and the mums are probably doing laundry or visiting. I parked a few blocks away and made the last few meters on foot. With my face cap and bag slung over my shoulder, I could pass for some courier guy. I was in luck as the keys to the front door were under the “welcome” doormat. It was nice and dark inside. Half a bucket of chicken and a liter of ginger ale later, I was ready to go. A quick look at a straight-to-the-point video on YouTube on how to tie a noose securely again and I was ready to make my own copy. It seems the cable I bought was too “fat.” After battling with it for what seemed like an eternity, I threw it down in disgust. I watched the video again and looked at the comments under it. That’s when I found that there was a suggestion as to the optimal diameter for a rope to make the sort of noose in the video. Aaaarrrgh! OK. Not too bad. I can still make it to Walmart, exchange the rope for something thinner and be back in time before the husbands’ lunches are ready.

I am not sure where I got the idea that the “real Walmart people” only come out after midnight. Seems they made a special exception that day to torpedo my plans. All the queues were packed and half of them dressed as if they had just escaped from some nearby loonie-bin. By the time it got to my turn, the day was far gone but I was going to try anyway. That’s when I learnt that the rope in my hand had been paid for by someone and should not have been on the shelf. I was on the way back when I had to stop at an intersection for the lights to go green. A fellow called to me from the sidewalk asking if I had any loose change. From his looks, I suspect he was a druggie, but where I am going I don’t need any cash. He came over and I gave him some notes then on a hunch asked if he knew where I could get some ropes? Without missing a beat, he said it was my lucky day and I should drive round the corner to some construction work going on. Big mistake. I didn’t even make it out of the car before I had a gun shoved in my face by a second guy that appeared out of nowhere. Long and short of it was that I was parted with my car and wallet. The fellow was nice enough to leave me a $20 bill for my cab ride home. He wanted to give me a smaller bill because he thinks wherever I was going wasn’t far and a $10 should get me there. Fortunately, he couldn’t find one.

The escapade had taken it out of me. I flagged down a cab and had to go into my apartment to get the balance of $6.24 because the ride ended up costing $26.24 – freaking mugger!

No more ropes. And I needed a break and some distraction. I went looking for the chap I had sent the letter to. He’s always welcoming as long has you have a pack or two of something cold in your hands. He was watching Netflix. I pulled up a tattered seat and sat next to him. Just on the table behind me was my letter. He hadn’t opened it. I picked it up and slipped it into my pocket.

I told him in passing that I had attempted to “off” myself. He chuckled and went on watching the TV. I don’t think he quite registered what I said I had done. Stayed there watching the TV amidst some light banter till late in the evening then went back home.

I was ruing my fate by the roadside when I noticed this bird that kept making short dashes into the road from the curb and back to the curb. It was obviously hurt cause one wing sort of hung to the ground. Then a police car came flying past with sirens howling and made a road kill of the bird. I stood there and looked at the mess on the road: minced meat. I couldn’t believe it. That bird had probably had enough of this world, and it got to leave without even trying! I was clenching my fists and grinding my teeth in anger when the idea came to me. It was a real eureka moment. All that was missing was the lit light-bulb hovering over my head. I was going to commit suicide by cop. But I have to get a gun to do it right. I will go to the seedier side of town and purchase one. Either I get mugged and stabbed to death (though from all the movies I have seen, that shit ain’t quick and painless) or I get the gun and go out in a blaze of glory full of holes by the men in blue.

When they say a place is the underbelly of the city, I didn’t realize it literally meant the smell of weed, vomit, feces (and more I couldn’t identify) all rolled into one. It’s amazing that I have lived in the city for as long as I have and have never had cause to visit this area of town. It’s one of those areas you just naturally learn to avoid in the cause of time. But yet, that night found me wandering around the darkly lit streets. My plan was to go from club to club, by a drink, cozy up to one or two people and stylishly drop the fact that I was looking to purchase a gun. Nothing but hostile looks in the first four or five bars and I was getting tipsy. I looked back on my trip to the next bar and realized I had picked up some real “hostiles.” My mind told me to run but my legs went two steps forward, one step back and half a step sideways. As I was about to topple over, strong arms grabbed me from either side and I heard a voice say “You are the prick looking to buy a gun yeah?” All I could do was nod because I could feel something struggling to break free if I so much as opened my mouth. “Well, it’s your lucky day. We have just the thing you need. Untraceable, yeah?” I nodded again. “With a box of bullets to get the job done.” I shook my head, I didn’t actually intend to shoot anyone. Next thing I was dragged into an alley and frisked from head to toe. I was being held down and struggled feebly because the alcohol was messing with my coordination. “Hold still!” one of them shouted and when I still continued to try to resist, I felt the impact of a set of knuckles connect with my face. I did not see stars: I saw a bright light for a second or two, or three. I laid still for what seemed like forever. When I finally decided to move, I could only see out of one eye. The other was swollen shut. A toy gun (I didn’t realize it until I picked it up and felt how light it was) was on the street next to me. All I got was a black eye, and a toy gun for my troubles.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

The gun was on my work table right beside my laptop for several days. I was staring out the window one of those nights when the moonlight glanced off it. To my now back to fully functional eyes, it looked black, shiny and real enough. I decided it was still worth a try especially if it was in the dark. Now to find a situation where there would be enough cops to ensure I don’t end up partially paralyzed or brain dead – I need to be real dead as in DOA-dead. I knew a local bar where on certain nights cops gather after work and there’s always a few out in the parking lots smoking at any point in time. I was going to go there and make their day. I knew I had to make it so unexpected so their instinct kicks in and they unload their weapons without hesitation. I whipped out the gun as a I walked towards them in the partially-lit parking lot and pressed the trigger for the fun of it. The gun burst into all sorts of multicolored flashing light and some baby-sounding voice saying “I am an officer of the law. Surrender now!” followed by that ice cream truck music. I was sniffing shoe dust in a matter of seconds with my hands behind my back and my chest to the floor. As I was dragged up to my feet, all I could think of was the fact that I couldn’t even get killed by cops and I am black and I had a gun. That damn bird!

I was at the station in a few minutes with the evidence of my intended crime on the counter across from me.  One of the officers picked up the gun and turned it over a few times. Then chuckled and pointed to something embossed on the gun. The inscription read “cop friendly” – what the hell does that mean?!!!

I was thrown in jail while I guess they were trying to decide if I was sane or not. Seems I must have been talking in my sleep and let the cat out of the bag because the next thing was me being hauled to some psychiatric hospital for an evaluation. Long and short of it was instead of prison, I was remanded in the hospital for observation and treatment. An unknown benefactor of the hospital picked up the tab.

Two months later, after telling the doctors what they wanted to hear, I am let out the front doors of the hospital into a bright day that made it seem all was right with the world and Kim-should-be-certified in North Korea is not trying hard to nuke us all while starving his countrymen, and 121 people are not going to commit suicide back here at home within the next 24hours (that is one person every 13 minutes) and there are no famines, hurricanes, and wildfires trying to make believers of all of us that the end times are actually here.

The sun was shining brightly, and the temperature was just about right. A light breeze blew through the trees and there was a flowery scent in the air that was refreshing. Then the pigeon shat on my head. I looked up at it looking down at me and just like that I decided I wasn’t going anywhere just yet – not until I returned the favor to this specific pigeon I couldn’t tell apart from the thousands in the city. I knew that wasn’t going to happen.

But some things just can’t be explained.

– – – – – – – – – –  The End  – – – – – – – ( 9/15/2017 3:12PM)  – – – – – – – – – – – –

National Suicide Prevention Lifeline: +1-800-273-8255

(Available 24 hours everyday)

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

Olutayo’s Kidney Transplant Fund

Olutayo is my immediate younger brother. Not sure why I haven’t put this up before now since we have had a Facebook page and a GoFundMe page for him for quite a while.

The summary is that his kidneys failed completely (CKD – Chronic Kidney Disease) mid-last year (2016) and he needed a transplant. He was on dialysis for a year and finally had his operation (after we found a suitable donor) about a month ago. The financial and emotional strain on all concerned has been immense. But in all things we give thanks.

A rough estimate of the cost of his treatment so far should be well over  N16 million Naira (the operation is a huge chunk of it, while the 2-3 times weekly dialysis sessions for the year makes up the bulk of the balance). So while we were able to pay for the operation upfront (no negotiation in the matter), it means we have debt to re-pay. In addition, he has to take anti-rejection drugs (so that his body doesn’t reject the transplanted kidney) for as long as he lives and the drugs are quite expensive as well (at current rate about $10,000 per annum).

The link to the Facebook and GoFundMe pages are below. We continue to request for your support in prayers and donations.

Thank you!

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

Is Simple’s system too simple?

Is Simple’s system too Simple?

OK. I will start by owning up to my central role in this fiasco right away.
Let’s start from the beginning. I decided I had had enough of giving Simple Mobile “free money” and decided to transfer my phone line from Simple Mobile to H2o Wireless. Why “free money”? Well, the cheapest pay-as-you-go package on Simple is roughly $28 ($25 plus sales tax) for unlimited talk and text (they added 1GB data to the package a month or two ago). I have had my line since December last year and I make possibly 5 calls a month. I recently “discovered” H2o wireless. One way or the other I discovered BestBuy carries the H2o SIM (I think I might have googled it). I then ended up on the BestBuy website and had an online chat with one of their support people. I told the fellow in explicit details where I was and what I wanted to do. He agreed that I could walk straight into the BestBuy in my city and that they would do the transfer for me on the spot. I finally got a friend to drive me to BestBuy. Sauntered to their “mobile” desk, waited for my turn only for the gentleman to look confused when I asked him about the H2o wireless SIM card. He then called someone else over his phone and finally said they don’t stock them in that shop. They had it in a shop a 100-miles away or so. He apologized after I told him I chatted with someone on their website who said I should just visit the shop. I thanked him for his time and my friend googled the card again and it showed up on the Walmart site (on Google). As Walmart was about 5 minutes away and we were out already, we decided to go there. Same issue again, they didn’t have it at the local store but they also had it at some city some distance away.

I headed back home and decided to order it online. Did I mention that my Simple service was going to expire the following morning? Amazon had it (the H2o Wireless SIM Starter Kit) for $1 but by the time you added shipping it came to $3+ and would take some 10 days or so to get to me. I checked on Walmart and they would ship it to my local store in 5 days at the same cost but fortunately as you will see later, the minimum order quantity is 2 units and the total price from Walmart (fortunately as you will see later, the minimum order quantity is 2 units) for roughly $3 (so basically, I was getting two SIM packs in half the time and for the same amount I would have got 1 unit on Amazon). To be accurate, it was being sold on Amazon by a third-party retailer.
I was pleasantly surprised when I got a notification 3 days later that my package was ready for pickup at the local Walmart Supercenter. The following day, I got another friend to take me to the store in the evening. I wanted to be sure I didn’t make any mistakes with the transfer so I chose to wait till the following day when I could get on a chat with someone from the H2o website to guide me through.

I think here is why I made the snafu. I had the transfer request form open in one window and was chatting with the lady (Missy-H2o) in another browser window. The form had several fields including a “call back number”, “number to transfer field”, “Simple account number”, and “Simple PIN/Password.” I added a third window to my “multitasking” session by launching a chat window with Simple Mobile support to confirm the Account number and password. Back and fort between the 3 sessions, the auto-complete popped up in the transfer form ad I selected it, unfortunately, because I choose the Chrome auto-complete for my email account, Chrome automatically entered all the associated details in the other forms. So while the “call back number” was correct because I typed it in, I somehow missed the fact that Chrome had entered my cousin’s number (also using Simple mobile but in a city some 16 hours away – I had stayed with him briefly in December so I used his address and phone number as contact details for a number of online forms I filled out before getting my own SIM which was how chrome came to associate his number with my email address). To be accurate, it appears H2o sent me a summary of the request immediately but as I used a Yahoo! Address and was extremely busy yesterday, I didn’t see it until 2 days later (I might have been able to rectify the issue if I had seen the mail immediately).

Anyway, I opened the mail today and noticed the error. Got on a chat with Dee-H2o over on the H2o website and after lots of explanation, she claimed both accounts appear to share the same details. To which I insisted the only thing common is the billing address. I had no idea what his Simple account number and PIN were and I am not sure he even had an online Simple account. The only conclusion was someone dropped the ball along the line. Finally Dee-H2o suggested I contact Simple to find out how they managed to transfer the line if the details were incorrect. In the meantime, to transfer the number back to Simple, I had to load the line with $10 H2o credit (which was the cost of the transfer) and then have my cousin request a transfer back to Simple. I asked Dee-H2o (I somehow assume the name belongs to a lady?) why they charge for the transfer when Simple doesn’t: she ignored the question. My conclusion in the meantime was that Simple didn’t verify the data in the transfer request which means one could initiate the transfer of any random number and it would be carried out?! Scary!

“Is there anything else I can help you with today?”

“Yes, what about the transfer of my original line?”

“You can re-initiate that transfer afresh, but you will need a new SIM, because the new SIM your cousin’s line was transferred to is now useless” (once H2o transfers the number back to him). So it was fortunate I got 2 SIM cards from Walmart.

So onward with my Israelite’s journey! I opened a chat up with Simple mobile, pasted my chat session with Dee-H2o into the chat window and asked Ingrid to kindly take time to read it. She came back and said she couldn’t find a record of my cousin’s number in their system. Duh! I told her Simple already transferred it to H2o which was part of the “conversation” I sent to her.

In the meantime, I tried to contact my cousin and couldn’t get through for obvious reasons. I finally got through to him through his fiancé, and he confirmed that his line went off yesterday and he had contacted Simple to complain and they kept insisting someone with access to his account had requested a transfer of the line to Tmobile. He contacted Tmobile and they had no record of the transfer. He immediately yanked his credit card from the Simple account thinking maybe someone was trying to steal his identity.

I got back to the lady and repeatedly told her that the transfer request should have failed unless Simple wasn’t verifying the data included in transfer requests (unless of course it was only the billing address they verified – maybe it’s all about the greens! Lol). I asked that she escalate the issue which she said she would. I also said they should provide feedback to both my cousin and I (which I suspect won’t happen until hell freezes over) and I told her I would make her famous! And that for my $10, I would at least get a good story out of the whole issue for my blog. Thumbs up to Ingrid, she remained polite throughout though I assume she was probably wishing I would go find someone else to bother. I told her that it looks like if I had her number, I could go request a transfer of it to H2o and it would succeed which is scary!

If you have $10 to burn and have a line on the Simple platform, it’s worth a shot. Get a new H2o SIM, then go initiate a transfer of the line from H2o (you can open a free account) and ensure the PIN and account number fields are wrong but put the right line number in the “line to transfer” field, and see if the transfer succeeds. Of course, you will need a $10 top-up on H2o to transfer the line back to Simple and the hassle and probably a new Simple SIM as well.
If they are smart, someone is reviewing my transfer request right now to figure out what went wrong.

So, the question is: “Is Simple’s system too Simple?”

NB: if Simple gets back to me with an explanation (even if it’s something else I did that made the transfer go through I will update this blog entry).

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

Sometimes …

Sometimes I have the strangest dreams.

Like this morning. A diver was strapped between a massive whale and a manatee and airlifted overhead across a piece of land/bridge from the water on one side (where I assumed they had become trapped) to the water on the other side which I believe was the ocean. And there I was looking up as the bundle passed overhead thinking “Wow! he must be very brave.”

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

Nothing happens in Minute

Nothing happens in Minute

The rusted gate of the graveyard creaked as I pushed it open. I felt out of place. As if I was disturbing the sleep of those who were buried there. I literally tiptoed across the grass. I knew it made no sense and I realized how ridiculous I must have looked, yet I couldn’t help myself. In a few more steps I should be standing in front of the headstone I needed to see.

*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *

No one would blame you if you have never heard of Minute or have no idea where it is on the surface of the earth. But I was born and raised here. The earliest records of the town indicated my forebears several generations back moved from across the country and settled here. Why Minute of all places, you might ask. Unfortunately, it is just one more thing no one in the sleepy little town knows anymore.

It is said that the only exciting thing about Minute is the name. How did you pronounce it in your head? “Minute” as in a division of time, or “minute” as in small? Even the citizens no longer agree as to the correct pronunciation. One thing is for sure, the town is stuck somewhere in the last century and it is certainly small. Don’t get me wrong. We have water and power. We even have Internet access but that is as far as it goes. A few folks know what Facebook is about, fewer have actually used it. The town’s name made for all sorts of jokes. A favourite of visitors is to call any man from town a “minute man” and the fact that we are so few does not help either. But the citizens have grown a thick skin long ago and you will hardly find anyone take offence at the tasteless joke. The worst thing that might happen to you is to end up paying for a round at the local bar on main street. A few decades earlier you might have ended up in the city jail or left with a few missing teeth. But the police station closed down shortly after Chief Jameson died (he was the only policeman in town) and the jail went with it. I think we appreciate what little out of town visitors we get now that we are willing to tolerate a little unruliness.

*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *

I met Karl on the first day of school several decades ago. In a class of 10, the pickings were small and we ended up fast friends over the years. I was quiet and he was boisterous. Together we still got into our share of troubles. But nothing major in a town where doors lacked locks and you could have a warm meal in any house you choose with no eyebrows raised – because of course, you knew at least someone in every house, and if not, someone is bound to know you anyway.

Karl got married to his high-school sweetheart right out of school while I got married to my farm. The happy ending didn’t quite happen though. Not for either of us. My farm barely survived not to talk of the dreams of riches I had, and the lady (I refuse to mention her name) ran away with a farming equipment salesman that came through town in a shiny Ford Thunderbird. It broke Karl’s heart into a thousand pieces. I didn’t see much of him after that. Not for lack of trying but he just couldn’t get over her. I could never be sure, but I think on some level, he blamed me for how it all went south. The salesman came in on a particularly blustery day and would have moved on but I wanted to see what he had to sell. We got to talking about farming in general, and by the time we were done, it was too late for him to leave. When he didn’t leave the next day I just assumed he wanted to take it easy for a few days in a quiet town. Karl and I drifted apart gradually after she left. I still saw him around town every once in a while, and we would stop and talk for a minute or two. But it was always awkward. I think we both thought about the same thing but neither would broach the subject. Then out of the blues, I got a hand-written letter from him a few days ago.

 11th of January, 2017

Hi Andy,
I need your help. You know how I usually end up at the graveyard on our jaunts across town. I haven’t been there in like forever, but I was feeling particularly out of sorts last Monday and one thing led to another and I found myself there. The place looked so quiet it felt like I was intruding (for the first time). But I had to go in. The gate creaked loudly as I pushed my way in. I went from headstone to headstone reading the inscriptions and imagining the life the person led while he was alive – as you know I usually do. I must have got carried away because I didn’t realise there was someone standing next to me until he spoke. It turned out to be Mr Jackson, you know, the old gravedigger.

“You know. I have heard of people leaving on the same day they arrived, but this is the only case I know of for sure. He was dead well before my time of course. And little is known about the family. They are no longer in Minute. I believe they shipped out shortly after he passed on. The story was never clear but something dark happened back then.” He said.

I looked again at the headstone and realised I had never seen it before. Yet I am sure I have been to that corner of the graveyard before in the past. I did a quick calculation and realised he was the same age as us when he died. I was about to move on when it struck me that I shared the same birthday with him. That set my heart racing for some reason. Then I realized his initials where exactly the same as mine – Kristopher Butler – K.B. I pressed the old man for more details but he had told me all he knew. I didn’t sleep at all that night and was at the city library well before Mrs Fiona Adkins came to open it up as usual. I didn’t find much information there either. She told me the fire of 1964 destroyed several of the city’s documents including some of the census and other historical records.

I went back home and I must have fallen asleep at some point. I had a dream that I was back at the graveyard. But the headstone was laying on its side and someone had opened the grave. Then the next minute I was lying on my back in the grave and someone was shovelling dirt on me. I couldn’t move! I tried calling out to him to stop but nothing came out of my mouth. Then he stopped briefly when someone called out to him. I could have sworn it was Mr Jackson and the name he called out was the name on the headstone. The fellow was definitely our peer, but his clothes though neat looked like something my great-grandpa would have felt totally at home in. I thought he had stopped for good, but then the voice said “never mind, get on with it.” He turned round and started shovelling dirt into the grave again. I was soaked in sweat when I woke up screaming.

I have not slept now for several days. Do not bother to come to the house until you have done me this favour I ask of you. Please go to the graveyard and look for the headstone. It is in the upper east corner as you make your way into the graveyard. I want to know if I am crazy or not. Until I am sure, I have decided not to leave my house until my birthday has passed. I have this sense of foreboding that something dreadful will happen on that day. I am rationing the food I have and I think if I skip a little here and there, I should be able to make do. I shall not step out of the house till that day is over and I shall not attend to anyone. But I shall be looking forward to a letter from you. If you still consider me a friend (which I have not been to you since she left), you will go.

Your friend in desperate need,
Karl Bridgewater

I never did understand his fascination with the town’s graveyard. Personally, I didn’t see the point of going there to “visit” people who had died long before my parents were born and the ones you really did know were still too fresh to be too painful. But I couldn’t abandon him now in his hour of need. I would go. But it took me two days to get up the will to finally leave my house.

I stepped out and it felt as if the wind intended to lift me up and blow me away across town. And it was unseasonably cold. Don’t get me wrong, it is cold all year round in Minute so I am used to the cold. I decided it was the wind that set my chattering by the time I had walked a dozen yards. And I still had two hundred more to the graveyard.

*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *

I came to a standstill in front of the same headstone Karl must have stood looking down at a week or so ago. Everything was as he had said in his letter. The days and the initials matched his. His birthday was in a week from today. And that reminded me that mine was in another month or so after his. Frankly I didn’t know what to make of the whole matter. I was still there when a voice woke me out of my contemplation.

Andrew Inglewood is it not? I think the last time I saw you was at Margaret Townsend’s wedding. Must have been all of 15 years ago. Yep. I think I am right. I thought maybe you had moved away. You know a lot of folks did back then.” He said.

I thought for a second and then nodded.

“Strange headstone, right? You are the second person looking at it this week. Karl Bridgewater was here a few days ago. Didn’t you boys run together at some point? He was quite fascinated by it and wanted to know if I knew anything about the lad that is buried there. Unfortunately, I don’t, but I suggested he might check at the library. You know, for birth records and maybe some old newspaper from back then might have survived. If there’s anyone that knows more about this town than I, it is Fiona Adkins. Should have been Fiona Jackson though. But she was fire and I was tepid water at best. I had no chance. Well, that’s what she said anyway. I guess I proved her right.”

“I think I should be moving on. The knees won’t take much more today.”

I said goodbye and he had shuffled a few feet away, when he suddenly stopped and looked back. “You know, I did a little bit of work around here after Karl left and I found the strangest thing. There’s another headstone just a few yards away on the other side of the walkway facing west. Same stone, very similar to that one. In fact, the fellow buried there died just about a month after this fellow here. And wait for it, wait for it, that’s not even what got me. What really got my attention was the fact that he also died the same day he was born. Same age as this lad here actually. So I got to thinking what sort of coincidence is that right? I had it in mind to go see what Karl found in the library but my knees played up especially bad that week so I let it go.”

My heart was racing madly. There was one question on my tongue but I couldn’t open my mouth to ask. My jaws were clenched together and my throat was dry. It was as if he read my mind as he turned around and walked away.

“You might take a look at it if you like. I believe the name is Arthur Inkwater. You can’t miss it.”

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

NB: A different kind of grave-robber: I imagine I “borrow” silent stories. (05-Mar-2017)

Posted in Uncategorized | Tagged , , , , , , , , | 2 Comments