Screen with bytes of info

RSS Feed
Technology Bytes Archive

iOS Messages Settings

     One of the coolest new features of iOS 5 is iMessage.  iMessage is a messaging service by Apple that allows owners of iOS 5 to send free messages between their iOS 5 devices.  These messages can include images and videos and are much better quality when sent over iMessage than over the phone carrier's MMS service.  Not only that but iMessage gives a user a status of the messages when they are sent if they were deliver yet by displaying the word, "Delivered" below the last iMessage that has been delivered.

     This is very nice but another great feature that helps is the Read Receipts!  This is a feature that is turned off by default but basically lets the sender know when/if the recipient has read the message.  It does so, not by notification center or any type of push notification, but by marking the last read iMessage as "Read" instead of "Delivered".

     For others to see when you've read their iMessage, go to the Settings app, select Messages, and then turn on Send Read Receipts.  To see when someone else has read your iMessage that you sent to them, you need to get them to turn on the Send Read Receipts on their device.

     This helps in the situation where when someone sends a message to another person, they can know when the message has been read instead of asking, "Did you get my message?".  I encourage everyone to turn this on as it's a convenient and courteous feature.

Delete iPhone App

     I have a two year old who loves to use my wife's iPhone to play games and watch movies.  He has learned how to unlock the phone by sliding the slider with his finger and has figured out how to slide from page to page to find an app that he wants to open.

     When he first started playing with the phone, he really didn't know what he was doing and would leave his finger touching the apps on the screen.  Holding down on an app puts the phone into edit mode which allows the user to rearrange or delete apps.  This is exactly what happened; he would end up entering edit mode and not realizing what he had done.  He would then swipe around causing apps to be moved around and then sometimes he would hit the X on the top left of one of the apps.  This would start the uninstaller and would want a confirmation that the user truly wanted to delete the app.  Not able to read at such a young age, he would continue to swipe and tap.  Sometimes he would hit the cancel button which would cancel the uninstall but other times he would hit the delete button which would cause the app to be removed from the phone.

     My wife would later look at her phone and realize that her apps were rearranged and try to get them back in order.  And then she would be looking for an app that she wanted to use only to find that it no longer existed on the phone.  This would make her upset, as I would expect it would do so to anyone.  But she had to realize, he didn't know what he was doing and deleted apps innocently.  I told her that maybe Apple would come out with a way to keep the apps from being deleted if the user wasn't authorized.

     Well, eventually Apple released iOS 4.2 which included new features such as the additional parental controls of turning on/off the option to install apps as well as the option to delete apps.  Once I found this out and upgraded her phone, I went into the Settings app and selected General then Restrictions and turned off Deleting Apps option.  I also did this on my phone too.

     Now, when he plays with her phone, he still could possibly rearrange the apps but no longer can he delete them.

Google Sync

     I have a Google e-mail account at Gmail.  I've had it for some time and since I first created it, Google has added to its services.  I have taken advantage of having an account with Google to access some of its other services such as the Google Calendar.  Google eventually came out with Google Sync for mobile platforms using the Microsoft ActiveSync technology.  This new service allows for push e-mail, synchronized contacts, and synchronized calendars.

     Whenever starting a new account with Google Calendars, it automatically creates a default calendar and then you can add as many additional calendars as desired.  I have created multiple calendars for different things and wanted to sync them with my iPhone.  However, when I set up Google Sync, it would only sync my default calendar (the one first created when using Google Calendar).  I wanted to be able to have all of my calendars available on my phone.

     So after searching, I found that I had to select which calendars I wanted to synchronize through an account settings using the phone's mobile browser.  Using the following link in my iPhone's safari browser, I logged in and was able to select which calendars will sync to my phone.  The only problem with it was that I had to use my iPhone's browser to access this page.  Using a browser on a PC will bring up a different page and not allow access to those settings.

Google's Mobile Sync link:


     VIM is one of my most used and favorite text editors.  I use it when connected using SSH.  Recently, I put together a PC to replace my older server.  I like using Ubuntu as my OS for my server so I installed it and started migrating my software.  In the process, I used VIM, but noticed a problem.  Usually when I hit the forward slash (for searching) and then hit the up arrow, it scrolls through a history of previous searches I've done so I don't have to type in the same search if I want to do the same search at different times.  However, it wouldn't do it.

     I went back to my old server and tried it and it worked.  I tried again on the new server and it still didn't work (we're making progress here).  After some investigating, I found that the ".viminfo" file located in my home directory was owned by root.  This is the file that saves the history of searches and commands.  I found that I needed to change the owner of this file to myself so that I could write to the file.  Once I did this, my history inside VIM started working.

     What happened and what exactly did I do to fix it?  Basically, when I installed the operating system, it installed VIM using the "root" user which is the superuser of the system.  So when it created this history file in my home directory, it was using the root user to do so and thus only the root user could write to the file.  By changing the owner of the file to myself, I then had access (as well as any program I ran) to write to the file and save history information.

     Below are the two commands I used to change the permissions on the file (note I use sudo to temporarily act as a superuser; the second command is changing the group of the file to my group):
sudo chown myUserName .viminfo
sudo chgrp myUserName .viminfo

OpenSSL and MySQL

     As sort of a continuation of the configure and install of MySQL, I go ahead and compile it with OpenSSL, a secure socket toolkit.  Now I know that MySQL comes bundled with yaSSL, but I like OpenSSL and have it compiled with Apache HTTP Server, OpenSSH, among others.

     When trying to configure the source to generate the make file, I pass in the parameter "-DWITH_SSL=system" (without the quotes).  Of course I make sure OpenSSL has already been built and installed into the system including the header files and shared objects.  However, I found that it wouldn't detect the OpenSSL header files.  So after trial and error and searching, I found that since OpenSSL's install defaults to /usr/local/ssl, MySQL couldn't find it.

     All I needed to do was create a symbolic link to the OpenSSL directory.  For example:
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

     For me, I needed to put the sudo keyword in front of the command to act as a super user with authority to create the link.  After I did this, I ran the cmake script (MySQL 5.5 now uses cmake) and it still failed to find OpenSSL.  So I completely deleted the source directory, extracted it again, ran the cmake script, and this time it found OpenSSL.  So when building MySQL from source with OpenSSL support, make sure the symbolic link is in place before starting on MySQL.