Written: July 24, 2011
The Portland Metropolitan Photographer’s Association has monthly events, seminars and workshops for their members. We just made event registration even easier to use by including online registration on the Home page:

Before you had to click the Title of the Event, then fill out the registration info. This saves the web visitor one click in the process and makes it more intuitive that an event requires registration.
Tags: registration, WordPressWritten: July 23, 2011
I joined the local Veterans of Foreign Wars in 2010 as a way to honor my father, Donald Payne who served in both World War II and the Korean Conflict. It’s been a wonderful and patriotic experience for me and I did a remodel of their web site and used a Content Management System called WordPress to build it. WordPress allows other volunteers to update the pages, events and blog.
Meritorious and distinguished service as webmaster for VFW Post 3452. Awarded June 6, 2011.
Tags: award, Tualatin VFW, WordPressWritten: July 21, 2011
If you are a Mac user then you’ve been hearing Apple beat the drums about their latest OS upgrade named Lion. Being an Apple faithful I clicked on the App Store last night and started the download process. Here’s what I learned.
Install Issues
The App Store prominently featured Lion and it was simple to click and start the process after I provided my iTunes login credentials. I could see an icon in my dock indicating that Lion was downloading but couldn’t figure out how to see the percentage progress or estimated time to complete.
In the App Store I had to click on Purchases to see the progress of my download, that’s not intuitive.
When the multi-gigabyte download did complete I clicked the Install button in the App store. Eventually my Macbook Pro was restarted and I saw a Disk Utilities app take up the whole screen. Very odd, why do I want a disk utility?
One of the choices in the disk utility was to re-install Lion. Huh. I had already clicked the Install button once in the App store, why do I have to re-install Lion to continue?
Clicking re-install completed the installation of Lion, like I said not intuitive.
Up is Down, Down is Up
I’ve been using my Macbook Pro for two years with the magic mouse that already uses gestures and to my laughter the first thing I discovered is that Apple decided in Lion to reverse the scroll up and down gestures with my mouse and touch pad. More intuitive, not to me.
Fortunately the Apple developers had the sense to let me use the System Preferences to uncheck their new default for up and down.
Swipe Left to Backspace in Browser Changed
I’m on the web all day long and I often want to go back one page in my browse. The magic mouse has that feature with two fingers swiping left. In Lion they changed that gesture to now mean swipe between full screen apps. I don’t want that so had to once again change my System Preferences.
2nd External Monitor is Dead
I went into my office on Thursday morning to connect my MBP with two external monitors however only one of them worked, the one plugged into the USB port was dead. A little Google Research showed that I needed the Lion drivers from DisplayLink.org
Clear 4G WiMAX
This is a 32 bit app and simply wouldn’t start in 64 bit Lion without rebooting in 32 bit mode. Luckily the Clear web site had a 64 bit upgrade. Of course, to download the new upgrade I had to find a WiFi signal because my 4G connection wouldn’t work.
Login Window
On the top-right of my screen was my full name, that was different, before it was just my first name. I clicked on it and saw a drop-down menu so I clicked Login Window. Not smart. It showed me a login window and I couldn’t escape, couldn’t type, couldn’t click, the cursor turned into a swirly rainbow and I had to push the power button to regain control.
250 New Features
After loosing so much time trying to get my MBP back to a funtioning state I’ll have to wait until the weekend to discover the other 248 new features that Apple cooked up for me. I’m not impressed with the $29.99 investment so far.
Sticky Mouse
Drag and drop suddenly stopped working and I searched several forums online and found that many other Lion users have the same issue. The only work around I’ve read and used is to Sleep my MacBook Pro, then wake it back up.
Tags: Apple, drag and drop, Lion, Mac OS X, sticky mouse
Thanks’, Mike
Well, two weeks into using Lion I just had my first Panic screen from the OS asking me to, “Press the Power button to restart your computer.”
I’m starting to feel that Lion OS is about as unstable as the old Microsoft Vista.
Another feature that is broken with Lion: Setting my Desktop image to update every 15 minutes. Instead of working I see a grey desktop. The only fix for this bug is to restart my laptop.
When I used Microsoft Vista I also had to often reboot, deja vu, all over again.
An interesting article on CNN with, “Apple’s 7 most stubborn decisions”. See, I am not alone in pointing out usability issues with Mac OS X.
http://money.cnn.com/galleries/2012/technology/1201/gallery.apple/index.html?iid=L_Jump
Written: July 18, 2011
A new client contacted me last week with a security issue where visitors could type in the name of their web site and visit OK, however if they went to Facebook first and then clicked a link to their web site they were instead redirected to an unsafe web site.

My first hunch was that their WordPress site was infected but then I did some more Google research on the malware address of search-box.in and found that this was often caused by an infected file called .htaccess
.htaccess
Once I received the credentials to login to the client site with ftp (File Transfer Protocol) I found that indeed the .htaccess file was infected with the following lines of code:

The fix was to remove these lines and upload the clean .htacess file.
This infected file would redirect web visitors that clicked links from several popular locations on the web: Google, Live, Aol, Bing, Mail, News, YouTube, Twiter, MySpace, Facebook, Maps, Flickr and Yahoo.
Security
To prevent this from happening you should keep your ftp and WordPress passwords difficult to guess and only install WordPress plugins from sources that you trust.
Tags: .htaccess, malware, search-box.inWritten: July 18, 2011
Written: July 7, 2011
PPI is a client that organizes several annual events with online registration. Jules at PPI asked me to look into automating the process for companies that are returning again this year so they don’t have to re-type so much information again.
I did some searching on Google and found a solution that uses jQuery, then another site that showed how to integrate that with a MySQL database.
Here’s what the visitor sees when they register:

As they type in their company name like “canon” they see a list of possible matches:

They click the matched name “Canon” and the next 8 fields are auto-filled:

Coding
Adding this new feature required that I add jQuery and CSS in the HEAD of my page and define which fields should be auto-filled:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script> <script type="text/javascript"> $(function() { $("#company").autocomplete({ source: "test_company.php", minLength: 2, select: function(event, ui) { $('#address').val(ui.item.address); $('#city').val(ui.item.city); $('#state').val(ui.item.state); $('#zip').val(ui.item.zip); $('#phone').val(ui.item.phone); $('#email').val(ui.item.email); $('#first_name').val(ui.item.first_name); $('#last_name').val(ui.item.last_name); } }); }); </script> |
On line 9 I used #company as the name of the input field where a visitor types the company name.
The connection to the database with all of the company info stored is defined on line 10 as “test_company.php”.
Lines 13 thru 20 have the eight field names that I want to auto fill in my form.
The HTML for each field uses the same ID just defined in the Javascript listed above:
1 2 3 |
The connection to the MySQL database is defined in the file “test_company.php”:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <? /* Connection to the database. */ include 'database.php'; $return_arr = array(); /* If connection to database, run sql statement. */ $fetch = mysql_query("SELECT * FROM ppigolf WHERE company LIKE '%" . mysql_real_escape_string($_GET['term']) . "%'"); /* Retrieve and store in array the results of the query.*/ while ($row = mysql_fetch_array($fetch) ) { $row_array['address'] = $row['address']; $row_array['city'] = $row['city']; $row_array['state'] = $row['state']; $row_array['zip'] = $row['zip']; $row_array['phone'] = $row['phone']; $row_array['email'] = $row['email']; $row_array['first_name'] = $row['first_name']; $row_array['last_name'] = $row['last_name']; $row_array['value'] = $row['company']; array_push($return_arr,$row_array); } /* Free connection resources. */ mysql_close(); /* Toss back results as json encoded array. */ echo json_encode($return_arr); ?> |
Line 20 is where I define that “company” is the ID being typed by the web visitor and is requires the array key of “value”. For simplicity I named my form fields the same as my database table fields.
Enjoy automating your registration forms and using auto-fill to speed up the process.
Tags: autocomplete, jQuery, json, MySQL, PHPWritten: July 6, 2011
Mark Zuckerberg started some 13 minutes late today for a live conference call. Most of the media in the room made no eye contact with the speakers, instead they were all immersed in typing the story on their own laptops.
What’s New
Tony Bates, CEO of SkypeWritten: July 6, 2011
[photospace]
Wonderful post but I was wondering if you could write a litte more on this subject? I’d be very grateful if you could elaborate a little bit further. Thanks!
A visitor finds the PMPA home page, reads about an event, then clicks the button to register. They see a page from PayPal and fill out their credit card info or use PayPal to pay. The PMPA site then waits for PayPal to confirm payment and adds each new paid registrant so that the events director knows exactly who has registered, when they paid, how much they paid, and if they used PayPal/Credit Card/Check/ Cash. It’s a very slick system that saves time and effort.