Merry Christmas!

Christmas has always been one of my most favorite time of year. The holiday spirit, the joy of giving, and all the wonderful deals on electronics at Fry’s, Best Buy, CompUSA, etc. But all kidding aside, it is a nice time of year. It’s been a bit different since leaving San Jose State University because the campus is closed until after the New Year. Tomorrow, I have to return to work until next Tuesday, which I have off for New Year. Andrea is fortunate because she works the 9/9/80 (9 hours a day, 9 days, 80 hours total for 1 day off every 2 weeks) split schedule, so she has both yesterday and next Monday off.

Hopefully everyone is able to be with loved ones around this time and share in the holiday spirit. Merry Christmas!

Déjà vu

You’re probably wondering what’s going on here. After a bit of thinking, the latest design (Bui4Ever v16) was my most ugly and boring design to date, despite being my most advanced in terms of features such as the featured post, thumbnail posts, and so forth. And despite my resolve to take my time to design and code it, I think I still rushed it. So I decided to roll back to last generation’s design (Bui4Ever v15) and incorporate features from Bui4Ever v16 until I have time to bring out Bui4Ever v17.

And speaking of Déjà vu, Andrea and I got around to watching it on DVD yesterday. It’s a story about ATF agent Doug Carlin (Denzel Washington) conducting an investigation after a New Orleans ferry terrorist explosion killing 543 people; a majority of which were sailors from the U.S.S. Nimit. Curious clues arise, such as a young women burnt in the explosion, but an autopsy concludes she died a hour prior to the incident.

Carlin is asked to be part of a special project under the supervision of FBI agent Andrew Pryzwarra (Val Kilmer) which has a device using the Einstein-Rosen bridge theory allows the team to look back fours days and six hours into the past in a limited range. Carlin, Pryzwarra, and the others must look for clues that somehow tie the women’s mysterious circumstances, the death of 543 people, the ferry explosion, and the identity of the killer to catch the killer before the killer strikes again.

It’s an interesting premise and the story is captivating. Clues are riddled everywhere with no sense until the last 30 minutes of the movie when things all start making sense. I use to enjoy Denzel Washington, but I think he choses roles that are too predictable and is afraid to experiment; as he either plays the super hero or the super villain. Andrea and I both noticed that Val Kilmer has put on quite a bit of weight (Andrea: atleast 50 lbs).

The movie is worth seeing if it’s on TV, but probably not worth paying to rent. We recommend you check it out from your local library.

Getting and Sending ATT Email on Your iPhone

This took absolutely forever to figure out and it’s been working for me and my wife for almost two weeks now. I did numerous of Google searches, encounter quite a number of forum posts by people who were also unable to send emails from their ATT email accounts also. There were a few solutions that worked for some, but not others, such as using in the outgoing SMTP settings on the iPhone. Turns out, the solution is quite easy if you actually READ the directions. Here’s the step by step directions from start to finish. This works BOTH on the Edge network and on Wi-Fi.

  1. On the iPhone, go to Settings > Mail.
  2. Select Add Account…
  3. Select Other (At the time of this writing the built in Y! Mail option doesn’t allow for sending of emails).
  4. Select POP (Yahoo no longer offers IMAP).
  5. Enter information for Name, Address, and Description.
  6. For Incoming Mail Server, Host Name:, User Name:, Password: whatever it might be.
  7. For Outgoing Mail Server, Host Name:, User Name:, Password: whatever it might be.
  8. Select Advanced.
  9. Under Incoming Settings, make sure Use SSL is on, Authentication is Password, and Server Port is 995.
  10. Under Outgoing Settings, make sure Use SSL is on, Authentication is Password, and Server Port is 465.

Go to Mail and try sending and receiving emails.

How To Create FREE Ringtones For iPhone

Apple has finally released its stranglehold on ringtones for the iPhone. Following the latest GarageBand 8 update (4.1.1), there is a little surprise under the Share menu in the tool bar: Send Ringtone to iTunes. This allows anyone with GarageBand 8 to create a custom ringtone or use a pre-existing song to sample as a ringtone. The steps are really easy and you can have as many custom 10 second ringtones as you like. Sadly because GarageBand is only available for the Mac, creating custom ringtones is only for Mac users. If you have a Mac (or a friend who has one) you could always create ringtones for them (or ask them to make some for you).

Here are the steps:

  1. Make sure you have the latest GarageBand 8 update.
  2. Plug in your iPhone and open iTunes.
  3. Open GarageBand and select Create New Music Project.
  4. You can import a song and decide which 10 seconds you would like to use as your ringtone, make your own, or have GarageBand automatically select 10 seconds from your song.
  5. Once you have made your choice, simply select Share and Send Ringtone to iTunes.
  6. Switch back to iTunes and sync your iPhone and your new ringtone should be there.

Thyme, RSS, and WordPress RSS Widgets

So on our office intranet, we wanted certain Thyme calendars and certain categories within those calendars to display in our sidebar with no dates and formatted in a list with each title clickable to the respective calendar entry and only show today’s entries. So using the RSS widgets would be the best game plan. Fortunately Thyme has a robust RSS.

We put, into the RSS feed address: Title&category=upcoming&days=20

Where calendar = the Calendar Title, category = the category we want to restrict to, and days = how many days in advance we want to show. It works great.

Sorting By Title in Thyme Calendar

Thyme Calendar sorts by default time (all day events at top and then timed events descending) and then they are sorted by categories. At our office, we want to sort all our events in numerical or alphabetical order so the code to accomplish this, from Ian is:

function custom_event_sort($a,$b) {
if($a['allday'] && $b['allday'])
return strnatcasecmp($a['title'], $b['title']);
if($b['allday'] > 0) return 1;
if($a['allday'] > 0) return -1;
if($a['next'] == $b['next']) {
return strnatcasecmp($a['title'], $b['title']);
return ($a['next'] < $b['next']) ? -1 : 1;
} ?>

Zend Optimizer 3.3.0 and Apache 2.x on Windows

I spent the last hour trying to figure this out; installing Zend Optimizer on a Windows 2003 RC2 Enterprise Server running Apache 2.x so that I can install Thyme, a PHP Calendar software, for our office intranet.

I followed all the steps; download the Zend Optimizer for Windows and installed it. Everything seemed to be running fine, but for some reason, the extensions weren’t being properly entered into the php.ini file.

So in case I run into this problem again, or someone else does; here is the solution. This is assuming you are running Microsoft Windows 2003 RC2 Enterprise Server, Apache 2.2.4, PHP 5, and you install most the applications in a *default* location. If they’re not installed in a default location…use the search function to find it.

Do this ONLY if your Zend Optimizer isn’t running. To check if it is running or not, simply make a php document called phpinfo.php (or name it anything you like) and inside put:

<?php phpinfo(); ?>

Then from the web browser, browse to http://your-website-address/phpinfo.php. That should bring up all the details about your PHP installation and what’s running and how it’s running. Do a search (CTRL+F) and type in Zend and you should see:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies

If that is all you see, Zend Optimizer IS NOT loaded. The complete thing should read:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.0, Copyright (c) 1998-2007, by Zend Technologies

So the solution to get it to work is: open php.ini file located at C:PHP in Notepad (or some other text editor). Scroll to the very last line and add:

zend_extension_manager.optimizer_ts="C:Program FilesZendZendOptimizer-3.3.0libOptimizer-3.3.0"
zend_extension_ts="C:Program FilesZendZendOptimizer-3.3.0libZendExtensionManager.dll"

This is the call that will activate the Zend Optimizer.