Today in church

Service over, I joined the throng of people in the aisle heading for the exit. This lady smiled at me and I smiled back. She looks familiar which is not saying anything since we all come here once a week. I made to go on but then she beckoned to me to come back.
“This is my daughter. She is so excited to see you.” Then sort of conspiratorially, she said “You know you are in a special class of people.” I am not so sure about the “special” bit, my hand has brought me nothing but heartbreak. Her daughter had several deformed fingers on both hands. She must be about 8 or so. I shook her hand and asked for her name which she shyly told me. She’s obviously Asian and from the name likely Chinese. The mum is Caucasian so I am assuming she was adopted. I said I hoped to see them again.
And as I walked out of the church, I noted for the umpteenth time that my left hand was one of the main reasons why at my age I still sat alone in church “…. he set the lonely in families …”
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
At some point in my hazy past, I became aware I was different and not in a way I liked. Mean comments and mixed-meaning comments from kids such as “Mummy look at his hand. It’s like baby feet.” Comments made while laughing to other kids, or made while peeking out fearfully from behind their mother’s dress, or while shrinking away in terror soon turned me into a recluse. I stuck the hand in my pocket always. I started to avoid people. I became my own company of one.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
I remember one of those messages when her no was definite, she made one random statement that went something like “…. my friend said when you finally get comfortable, you will tell me about your hand …”. In the midst of other statements such as “I never felt anything for you” and “I have friends leading guys on but I can’t do it to you any longer” that statement was completely out of place but gave me some comfort in a weird sort of way – after all if the rejection had to do with my deformity then I can say it was beyond my control – but that wouldn’t be the whole truth or even close.
I wanted to tell her I have never been comfortable. I have always hid the hand. Hid myself. The period of life most people spend socializing with their peers and learning how to interact with the opposite sex, I spent hiding. I hid in front of the TV; I hid in the vast library my dad had due to his love of books; I hid in magazines; I hid in my actively created daydreams; I hid in my room; I hid in my class; I hid everywhere; I hid in the corner of the room at the few parties I attended; I hid in plain site. My parents did their best of course. Being alone so long at such a time in my life made me secretive, a little spiteful, a little envious, a little jealous, a little selfish, a little manipulative, a little mean, a hodge podge of the seven deadly sins because I thought the world was unfair and that it owned me something when in fact it owed me nothing. I became a little fearful of everything that required interaction or a response. After all TVs don’t talk back and neither do books. I took time to read the books I find interesting … I might pause on a page and insert myself into the time period or place or circumstance and daydream a complete scenario – of sweeping in and saving the day. I dreamed of flying – of being a superhero. In high school I got myself a catapult for a while. I hit a pigeon once but it was only slightly grazed and it got away while a classmate held it gingerly (good for it). Then I went though my stone throwing period. I got good at it. I could hit even relatively small targets at vast distances. Activities to fill the void and the loneliness – activities that required no interaction.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
The only thing that forced me to take a peak at the world was the death of my father. Even though I had been living away from home for over  a decade, I had been content to hop on buses or into taxis to get around. Bu then there was lots to do including visiting my mother so I needed to be able to get around on my own schedule. It was then I got my first car. It was then I learned to drive. In my mid 30s. I remember taking out the car only on Sundays when the roads in my neighborhood were relatively free of traffic and the trepidation when any vehicle approached from the opposite direction.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
I keep trying to prove her wrong when she said “it’s too late for you, you can’t change.” But as the school’s guidance counselor said, “you have to be patient with yourself. You can’t expect to undo what you have spent 30-something years creating in a single year.” I know it is wrong but I am a creature of the past, because the past, even though is full of heartaches and heartbreaks, is safe – it can’t bite because it has no teeth. Its wounds itch and sometimes sting badly, but you know it’s just the scars playing up. If I come knocking on the door of your heart (a miracle in itself) you have to accept me as I am or give me plenty of time to change.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
The sermon was about King Jehoshaphat who gave thanks when going to war confronted by a coalition of three of Judah’s historical enemies and how the Lord turn his enemies against each other and Judah didn’t even need to fight at all. We should count our blessings and give thanks in all situations. I try.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
I wanted to tell the mum: “Throw her in at the deep end; Force her out there; She’s going to hear other children say hurtful things; She’s going to want to hide, but don’t allow it. She will thank you for it later.” Maybe I still will.

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

Lasik eye surgery

I don’t have a personal experience of any sort of eye surgery but I think I need to put this here in case someone considering Lasik sees it.

Just a word of caution to do your research. When it goes wrong it is supposedly life changing to the point some people are considering suicide. Google for bad effects such as starburst, ghosting, and dry eyes.

Make sure you consider the pros and cons before committing to it. There are just too much adverts on the TV which is of course paid for by their organization that I think it is almost evil that medicine has become commercialized to the degree it is especially in the US. “Schedule your “free” consultation now, the surgery is so quick and can be had for as low as $220 per eye. We even offer a payment plan ….”

Note I have nothing against the surgery but given the amount of people with negative outcome, it is worth warning people to do their research before having the surgery. I know one should do ones research for any surgical procedure but the medical profession is one of those (with good justification) that we tend to believe with little question. But this Lasik surgery thing is so glamorized on TV and other social media outlets it’s become disconcerting.

True, no one is getting out of life alive, but hopefully we have reasonably good health for as long as possible.

Be good.

A.Y.

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

Exam woes

Exam woes

I am putting this here instead of sending it to Pearson Vue for two reasons: they are not likely to take it seriously, and two, to avoid the very slim chance that it may negatively affect the “greeter” who probably was doing his best with his tools.


Hello Pearson Vue,
I am sure millions use your services so frankly I don’t expect anyone to take this seriously.
All the same I have to put it on record.
1. I logged in well ahead of time, launched the app and was kept waiting for over 30 mins.
I tried the suggested chat option which was offline and then sent a mail as well as call the office line (OOTO message). Finally someone came online and told me you had technical challenges. I am also in IT support, if something is not working I am sure you have a record of all those scheduled to write exams during that window and you could have sent out a message (email/SMS/phone call). You probably don’t know the emotional strain standing by to write an exam with no idea what was going on.
2. The gentleman then released the exam and all I got on my screen was a message to “refresh the page”, he tried about 3 times then suggested I restart my system. Which I did. When the system came back on, he informed me the window to release the exam had closed! I asked if I can reschedule it for today and he told me all slots were occupied (I would expect if you kept me waiting for that long, you would bend a little). On top of that, he had then discovered the reason why the exam wasn’t opening on my system. An “illegal” application was running. If he had said that to begin with maybe I wouldn’t have had to reboot my system and then find out the exam releease window (5mins?) had expired. The only thing running on the system was Free Alarm Clock, otherwise it is a completely bare system. I didn’t even have an antivirus (removed yesterday and rebooted my system) just to be sure nothing interfered with the exam.
3. Two things come to mind, I think your greeters need more training – because obviously he didn’t know what was causing the blank page I got. And two, please improve your application (it sounds as if all you have is some whitelist that blacklists everything it doesn’t understand even if it is harmless). Addendum to this second point, have whatever screen the greeter is looking at pop-up the name of the “illegal” application so that the greeter won’t resort to the “reboot your PC” as the default solution only to then say the release window had expired.
Please note that the free alarm clock was running minimized into the systray. But after getting off the phone with the greeter to whom I insisted there was nothing on the system. I went through an audit and that is the only thing on the system (outside chrome, firefox, and java). It is not good enough to just say there is something illegal (for that matter, only after the fact) on my system. Even if the exam release window had not expired, the reboot would likely not have helped because the alarm software auto-starts by default.

Rant over.

Best Regards,

NB: I still get to write the exam, I just have to re-schedule it to another date in the future.

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

Setup Roundcube Webmail on CentOS Linux

Setup Roundcube Webmail on CentOS Linux
– Install Centos 7
– Configure networking
– Disable selinux
– 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 http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm

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

cd /tmp
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
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 both the email domain name and the server’s FQDN as aliases to the “127.0.0.1” entry in file /etc/hosts
– Add another line to /etc/hosts for the server’s primary IP address mapping it to its short name and its FQDN
# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 itayemi.com myserver1.itayemi.com
192.168.109.10 myserver1.itayemi.com myserver1

– 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
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload

– 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
chmod -R 660 /etc/postfix/ssl
vi /etc/postfix/master.cf (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/main.cf (uncomment the myhostname variable and set its value to the server's hostname)

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

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

vi /etc/postfix/main.cf (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_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level=may

– Change the home_mailbox parameter for Postfix in file /etc/postfix/main.cf to match the dovecot config as follows (uncomment if necessary):

home_mailbox = Maildir/

– Add the hostname and domainname to mydestination parameter in the Postfix configuration file /etc/postfix/main.cf or you will get the “mail loops back to myself” error when attempting to send to local users.

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

– 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
quit

– Install and Configure Dovecot

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

Edit config file /etc/dovecot/dovecot.conf and uncomment the line below:

protocols = imap pop3 lmtp

– 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:~/Maildir

– Configure dovecot for pop3 via the file /etc/dovecot/conf.d/20-pop3.conf (Uncomment or add the following lines):

pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh

– Restart dovecot to activate all the configuration changes:

systemctl restart dovecot

– Create the Maildir folder in the skeletons folder so that future users are created with the folder automatically (manually create it for all existing users and change the ownership accordingly)

mkdir -p /etc/skel/Maildir/{cur,new,tmp}

– Install and configure fetchmail and procmail (if required)

yum install -y fetchmail
yum install -y procmail
which procmail

– Install and Configure Apache webserver

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

– Edit the file /etc/{nginx,apache2,httpd}/etc/httpd/conf.d/ssl.conf and change X-Frame-Options to SAMEORIGIN. For example, the line “Header always set X-Frame-Options DENY” becomes “Header always set X-Frame-Options SAMEORIGIN”
Note that without this change sending appears to hang (spins but a refresh shows the mail in the Sent folder, AND more importantly, attempts to attach files to the mail throws an error and faiils).

– 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/
wget https://github.com/roundcube/roundcubemail/releases/download/1.3.7/roundcubemail-1.3.7-complete.tar.gz
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)

date.timezone=Africa/Lagos

– 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 defaults.inc.php 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/cleandb.sh"; } | sudo crontab -u apache -

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

$config['default_host'] = 'itayemi.com';

– 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
chmod -R 660 /etc/httpd/ssl

– 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”
ServerName itayemi.com:443

– 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 “”):

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
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>
     ServerName mailserver.example.com
     Redirect "/" "https://mailserver.example.com/"
</VirtualHost>

– Restart Apache webserver:
systemctl restart httpd

——————————————————————————————————

References:
https://nolabnoparty.com/en/setup-mail-server-postfix-dovecot-roundcube-centos/
https://firewalld.org/documentation/howto/open-a-port-or-service.html
https://firewalld.org/documentation/howto/add-a-service.html
https://www.fastwebhost.in/blog/mysql-list-users-how-to-list-mysql-user-accounts-via-command-line/
https://www.1and1.com/cloud-community/learn/application/e-mail/set-up-a-postfix-mail-server-with-dovecot-and-roundcube-on-centos-7/
https://www.howtoforge.com/tutorial/perfect-server-centos-7-apache-mysql-php-pureftpd-postfix-dovecot-and-ispconfig/
https://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/
https://www.vultr.com/docs/install-imagemagick-on-centos-6
https://tecadmin.net/install-imagemagick-on-centos-rhel/
https://forums.fedoraforum.org/archive/index.php/t-262200.html
https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-centos-6
https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-apache-for-centos-7
https://hallard.me/enable-ssl-for-apache-server-in-5-minutes/
https://wiki.centos.org/HowTos/Https
https://www.linode.com/docs/email/clients/using-fetchmail-to-retrieve-email/https://support.rackspace.com/how-to/dovecot-installation-and-configuration-on-centos/https://support.plesk.com/hc/en-us/articles/115002060625-Roundcube-Attachment-and-settings-do-not-work-File-Upload-Failed
https://support.rackspace.com/how-to/dovecot-installation-and-configuration-on-centos/

For nginx (webserver):
https://linuxize.com/series/setting-up-and-configuring-a-mail-server/
https://linuxize.com/post/install-and-configure-roundcube-webmail/

 

OTHER USEFUL NOTES
————————————————————————
– Fetchmail does not seem to come with control scripts, but if you create them yourself (under /etc/init.d and links to /etc/rc.d/rcX.d/), systemd will pick them up

– Sample Fetchmail config that downloads mails for 3 users (5 minutes interval) from a remote mail server (IP n.n.n.n or FQDN)

# cat /root/.fetchmailrc
set syslog
set no bouncemail
set no spambounce
set daemon 300
poll n.n.n.n
with proto pop3
    username user1@mydomain.com password Password@123 is localuser1 mda "/bin/procmail -d %T"
    username anotheruser@mydomain.com password my-Password@123 is localanotheruser mda "/bin/procmail -d %T"
    username thirduser@mydomain.com password justaPassword is localeusername mda "/bin/procmail -d %T"

– Fetchmail knows to use /root/.fetchmailrc because it is defined in its startup script:
# grep fetchmailrc /etc/init.d/fetchmail
FRC=/root/.fetchmailrc
FRC=/root/.fetchmailrc

————————————————-
– If you use a relayhost (i.e., your mail server can’t send mails directly), uncomment and set the relayhost variable to your service provider’s SMTP server (and port e.g., 587) – especially necessary if they are blocking TCP port 25.
See link for sample steps for postfix: https://www.linode.com/docs/email/postfix/postfix-smtp-debian7/
————————————————-
The default postfix/fetchmail/dovecot log on CentOS/RedHat/Oracle_Linux is /var/log/maillog (look in the file for troubleshooting)
————————————————-

– If you have mails in /var/mail/ (e.g., because you were using Sendmail before) and you want that mail to be accessible in Roundcube or other email clients such as Outlook, you may need to use the mbox format instead of the Maildir folder, i.e., change the mail_location in file /etc/dovecot/conf.d/10-mail.conf as follows.

NOTE: If you switch to the mbox format, make sure the permission on INBOX files in /var/mail/ is 0600

  • If you would rather “migrate” the old mails in mbox format to the Maildir format (recommended for Postfix/Dovecot), you may need to use the mb2md utility.
    The mail_location in dovecot’s configuration remains as before:
    # grep mail_location  /etc/dovecot/conf.d/10-mail.conf
    mail_location = maildir:~/Maildir
    # Install mb2md mail formatconverter utility
    yum install -y mb2md-3.20-17.el7.noarch# Migrate each existing user’s old mails with the command below:
    su – <username>
    mb2md -m -d ~/Maildir/

    # NOTE: I tried both dsync and doveadm for the migration but got inconsistent results – not all mails were migrated or the commands just errored out with a core dump.

Refence link: https://wiki2.dovecot.org/Errors/ChgrpNoPerm

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 FilesOracleVirtualBox"
 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)
 FS1:
 cd "macOS Install Data"
 cd "Locked Files"
 cd "Boot Files"
 boot.efi
  • 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.

——————————————————————————————————–

NOTES:

– 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)”

LINKS:

https://forums.virtualbox.org/viewtopic.php?f=22&t=86239#p411173
http://www.wikigain.com/fix-macos-sierra-screen-resolution-virtualbox/

Post by okiuss helped with the update to 10.13.4 (below):
https://forums.virtualbox.org/viewtopic.php?f=22&t=86633&sid=e75178f31bb38a514f0e61a3fdb8cc99

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