As you might recall from a few days ago, my wife recently started blogging. We have set her up with a Wordpress blog because honestly, it is the easiest software to set up and the easiest to use, in my opinion. Of course, I had no idea that I didn’t even know how to use it. FAIL!
While sitting on the couch with my wife the other night, she was looking for themes to add to her blog. From inside of her Wordpress dashboard. Wait, what? How do you do that?
Learning a little bit from my wife
I have been using Wordpress since before the 2.0 release. And as odd as it sounds, I have not really ever played around with the newest features of the software for each new release. Oh yeah, I have looked at the changes to the admin interface and thought “Ooo, shiny”, but really, I have not clicked around a whole lot, not played with the new stuff, not really ever gotten to know my Wordpress. My wife, however, has been playing with hers. And she discovered something that has set me ablaze with awe and a renewed sense of exploration on my blogs.
My wife discovered that if you click on the Appearance tab you can add a new theme to your blog by clicking the Add New Themes link. But what I found to be very cool is that this feature actually hooks into the Wordpress Themes base and lets you browse Wordpress approved themes from their server then install them on your server through the same simple FTP interface used to update plugins (and the core Wordpress installation as well). And wouldn’t you know it, this same thing works for plugins, too, just by clicking on the Plugins tab and selecting Add New.
If I have not mentioned it today, I love my wife’s brilliance. I would never have thought to click those links. I am a happy, old time user of the software and have really never thought to play around. My wife, being new to the software, has found something that I think I would never have found. Really, she is brilliant. And I so lover her.
Yesterday was opening day for the Golden State Warriors basketball team. The NBA season officially opened Tuesday, October 27, 2009 and for the first time ever, it became clear to me that there is a relatively short period of time in which all four major sports are in season.
Football starts the first weekend in September. Basketball, as I just stated, starts at the end of October. The Baseball regular season ended the first week of October and the Hockey season started at the very beginning of October. That means that for the month of October and November you have the ability to catch a game in each of the four major sports within days of each other. When did this happen?
I swear I remember a time when sports had their own part of the year that they played in. I always remember Football being a fall sport, basketball (and hockey) being a winter sport and baseball being a spring/summer sport. Four seasons, four sports, one in each season.
But now it seems that all four sports seasons have to coincide right here, right now, during the month of October. Dude, I think this is a conspiracy.
Last night, while the family and I settled in to watch It’s The Great Pumpkin, Charlie Brown, I decided to try to redeem some much needed work time and code while we watched it. So I took my position on the couch, opened my laptop and began to work. A few seconds later I heard “If you’re going to work, can you sit in the chair instead of on the couch?”.
The chair is not at all in front of the TV. In fact, it is to the side of the TV, so watching TV from the chair is not ever going to happen without serious neck pain afterward. So I asked “Is that my punishment for working during the movie?”. To which I was responded to with “No, I just don’t want you to take up space on the couch that the kids who are actually watching the movie could use.”. That made senses to me, since our couches are kinda small and in order for all seven us to sit on them we almost invariably have to have a child or two on either my lap or my wife’s lap. So I switched seats.
As I worked from my chair of solitude I was able to see my family sitting on our couches, all comfy and not squished, laughing at the movie and generally enjoying themselves. It was a scene to behold, momma with all her kids at her side, the glow of the TV reflecting off their faces, the small smiles every now and again creeping from their faces. There was one scene in particular, which I cannot recall since I could not see the TV, that really touched me in which all five of the kids and my wife chuckled and let out a corporate “Awwwww”. It was at that moment that I realized how blessed I am to have such a wonderful family to work as hard as I do for.
Yes, I would have loved to have been able to sit with them and enjoy the movie. Times being what they are, I had to work last night. For them. Because they are worth it, they deserve it and I love them enough to work for them. So my time on my little punishment of a chair was well spent, in my opinion, if even for a short time. And I’d do it again if necessary, though I hope the necessity of that will not show itself. Still, I work because I love them and want the best for them.
Perhaps next time I will be able to spend that time on the couches with my family.
She finally took the plunge. She is official. My wife, Sandi Gonzalez, is blogging.
Her and I have had many a discussion about her blogging, and given some of the recent challenges we have been through in our marriage, it seemed like it might not happen. Which saddened me greatly, because she is an awesome writer, she is funny and she has tons of real life experience raising children, being married (albeit in a sometimes rocky but longstanding marriage to yours truly), battling chronic fatigue, homeschooling our kids and generally being a woman. And when I say she is funny I mean she is like really funny.
Needless to say that over the years, however, I have not encouraged her in these areas. In fact, it would not be an understatement to say that I have broken her down in many areas in which she excels. So naturally her confidence was was lacking. Not for anything she has done. Really I think it has more to do with me not being her biggest fan and supporter like I should have been all along. More recently, however, I have felt the need and responsibility to make sure she knows just how awesome she is. And I am making it more of a point to identify the areas of her awesomeness directly to her, when they happen and as they happen, so she can be sure of just what makes her so freaking awesome.
Side bar, for the men: If you are not already doing this, make sure that your wife hears accolades from you, at least once a day, if not more often, for something she is really good at. She needs that, and you really should be the greatest source of that for her.
So she did it. She stepped out and started writing about her life, her experiences and her challenges. And I gotta tell you, if you are a woman, a mother, a Christian, a daughter, a homeschooler or in need of some comic relief centered around heartfelt, passionate and honest experience, you gotta read her blog. It will more than likely make you say to yourself “I know, honey, and I can’t believe …” or maybe even “No way! I went through that exact same thing!”. Regardless, you should read her blog. It will be worth it to anyone.
And baby, if you are reading this, I am so very proud of you for having the courage to step out like this and the compassion to want to help others by your own experience. You are an amazing woman.
All I can say is thank God Geocities is shutting down today. I wouldn’t have known that save for a link sent to me by my coworker. The link was to xkcd.com, one our favorite sites, which today featured a tribute to Geocities websites of old.
In case you missed it, here is the XKCD homepage today:

Anyone else as glad as me that most of those websites (*cough* MySpace *cough*) are now off the internet?
Our family got back to church today for the first time in a long time. Part of me missed the community of the church. Another part of me was just plain pissed off.
What I believe about Christianity
I believe the bible. I believe it is the divinely inspired word of God. I believe the God of the Bible is my God, my heavenly Father, and that His son Jesus is the Christ, that He was sent to Earth to redeem us from sin and to allow us to fellowship with the Father in heaven after our death.
I believe that as Christians we have been given an enormous responsibility to love and serve our Lord, love and serve our brothers and sisters in Christ and to profess the gospel of our Lord Jesus to the entire world.
I believe there are rules that we have to live by and there are commands that we must obey. And I believe, at this moment, that most Christians are screwing this up.
The commandments
Pretty much everyone in any advanced nation has heard the ten commandments. Some people may have had to memorize them at one point. Some people may even know them off the top of their head.
Every Christian should know these commandments, or at the very least, know where to find them. These instructions form the basis for any Christian’s religious beliefs. But regardless of your religious background, there is a pretty good chance you have run across this list before:
- Have no other gods before God the Father.
- Do not make for yourself any idol in any form.
- Do not take the name of your Lord God in vain.
- Remember the sabbath day to keep it holy.
- Honor your mother and your father.
- Do not kill.
- Do not commit adultery.
- Do not steal.
- Do not bear false witness against your neighbor.
- Do not covet that which belongs to your neighbor.
For Christians what is required of us does not stop at these ten commandments. Jesus Himself gave us two more (Matt 22):
37 Jesus said to him, “‘You shall love the LORD your God with all your heart, with all your soul, and with all your mind.’
38 This is the first and great commandment.
39 And the second is like it: ‘You shall love your neighbor as yourself.’
40 On these two commandments hang all the Law and the Prophets.”
So in addition to what we were told by God the Father, we also have two more, very important, instructions given to us by our Savior Jesus. And while this post is not at all the post where I discuss love and the type of love God has called us to, it is important to understand that after loving God with everything you have, your next great instruction is to love your neighbor even as you love yourself.
The great commission
After Christ was resurrected He revealed himself to several people. At the end of the book of Mark, He again gave us a command that is often referred to as the Great Commission (Mark 16:15):
And He said to them, “Go into all the world and preach the gospel to every creature.”
Now the stage is set for how Christians are really supposed to live. First of all, we are to love our God with all we have. Then we are to love our neighbor as we love ourselves. Then we are to go into all the world and tell everyone about the good new of the Lord Jesus. Yes, the entire world.
Christians, where you at?
One of the things that has bothered me the last few years within the Christian church is how complacent the church seems to be. I have not ever received a call from my pastor just to check on me. Now in his defense, our church is very large, so it is not necessarily practical for him to call everyone in his church. Still, there are a lot of staff members that could reach out to the congregation, yet it seems like they all wait for the member to contact them.
I have also noticed what seems like a complete lack of outreach in our church. It appears that no one wants to go out and reach out to “the lost”. Seriously, it looks like throughout the Christian church that the prevalent attitude is “if you are hurting, if you’re in need, come to the house of the Lord and be taken care of”. That is so not how Christ did things.
It also seems like we are very quick to help people in other areas, other countries, other situations while at the same time neglecting those people that are closest to us. This can be your immediate family, your extended family or even your next door neighbor. Regardless, why is it that some Christians are totally fine with traveling to Africa or India or South America to minister while passing by their neighbor’s house without ever asking how they are doing? Why does it seem like Christians just don’t care about anyone?
If we are supposed to be Christ-like it would make sense to me that there would be some localized motion in the church. Christ took the good news to the masses, but he didn’t pass by His own folks. He talked to everyone, not with judgment or anger or condemnation, but with conviction and love. He didn’t wait for people to come to Him – though they did come to Him – but rather went out and sought out those that He could love into the kingdom. And he didn’t pass people by.
I am hungry to see this type of ministry presented in the Christian church. And I am more than a little hesitant to step out to do this on my own, seeing as I am pretty sour at the church right now and I am afraid I would only minister anger and discontentment if I were to reach out to anyone right now.
Still, in this midst of what I see as total confusion surrounding the call on Christians, my prayer is that someday the true commission of Christ to His church will be fulfilled, that Christians will start to care about everyone, not just the sick children in Africa or the persecuted church in China or the polytheists in India. I pray that someday a Christian in my church, or even in my neighborhood, would listen to what was commanded him and actually step out, in love, and pursue his neighbor, ask me how I’m doing or if he can pray for me and actually love me, for who I am, how I am and where I am.
Today my daughter asked me to install new themes on her blog for her. Normally this would not be a big issue. However, the last time I did any work on her blog was in 2005, when I set it up. And of course, this was like three computers ago, meaning I did not have her FTP password any longer.
So after trying all the usual passwords I would have used, then trying some passwords that made sense (knowing the way my brain operates) I decided to just reset the FTP password on her account since there was no noticeable way to recover the password in the GoDaddy hosting control panel. It wasn’t until almost 45 minutes later that I found out this was not necessary.
Slight digression: I found it somewhat odd that it would take GoDaddy between 20 and 30 minutes to change an FTP password. Really, this should take all of one minute at the most, and that is if you type really slow. Still, I was patient for a time before calling GoDaddy tech support and finding out the GoDaddy is rolling out a system upgrade today that will effectively make my password change request take five hours instead of 30 minutes. #godaddy #fail
However, while on the phone with GoDaddy tech support I was taught how to recover your password in the event I ever forget this one. Please note: I will never, ever, forget my FTP passwords on GoDaddy ever again. Ever.
Recovering your hosting password on GoDaddy
Note: The following steps assume you have access to your GoDaddy control panel. That means you should be able to log into your GoDaddy account and get to your list of hosting accounts.
- Log into your GoDaddy account
- Get to your hosting accounts:
- Either click on Hosting under the My Products tab on the left sidebar; or
- Click on the My Hosting Accounts under the Hosting tab in the upper navigation bar.
- In your hosting account list, under Control Panel column, click on the Manage Account link to open the Hosting Control Panel window.
- From within the Hosting Control Panel, click on the Statistics heading.
- click on the Configure Web Statistics icon.
- Under the Password Reset heading, click on the link that reads “Have your web statistics password emailed.”.
And that’s it. Even though it is disguised as a statistics package password, it is really your hosting account password. And just that simple, you have your hosting account password in a nice, plain text, easy to read and equally easy to steal format in your inbox.
A few days ago I received an email from Packt Publishing, “a UK based publishing firm specializing in focused IT books” asking if I would be willing to review a new book they are publishing entitled Zend Framework 1.8 Web Application Development. The book, written by Keith Pope, appears to cover the basics of using the Zend Framework to build web applications rapidly.
According the book description:
The Zend Framework has a flexible architecture that lets you build modern web applications and web services easily. The MVC components make the maintenance and testing of your applications easier. However, it is not only an MVC framework for developers. It also provides an easy-to-use high-quality component library that is designed to be used the way you want, picking up specific components without requiring the use of whole framework.
It’s easy to get started and produce a powerful and professional looking web site when you’ve got this book to hand. Taking you through a real-life application, it covers the major Zend Framework components, as well as throwing light on the best practices and design issues faced when building complex MVC applications.
This book takes you through detailed examples as well as covering the foundations you will need to get the most out of the Zend Framework. From humble beginnings you will progress through the book and slowly build upon what you have learned previously. By the end, you should have a good understanding of the Zend Framework, its components, and the issues involved in implementing a Zend Framework based application.
I am actually looking forward to reading what Keith has put together. With some of the more recent improvements to the Zend Framework I have been really considering putting the framework to use in a project. Hopefully having examples to follow will point me in the proper direction.
Regardless, I am looking forward to reading what Keith has to say about developing with the Zend Framework. And if nothing else, at least I get a free chapter of a new PHP book out of the deal.
And so ends the Zend PHP Developers Conference for 2009…
The last day of ZendCon is always a mixed bag when it comes to wrapping things up. On the one hand you, as a programmer, are loving the learning and education and networking and mixing things up with your peers. But on the other hand you, as a regular person, are tired from all the learning and education and networking and mixing things up with your peers (and drinking… and eating… and more drinking). Still, when all is said and done, all good things must come to an end. And so it goes with ZendCon.
Today started out pretty much the same as the other days except we knew we were in for a half day of sessions instead of a whole day. With that we chose the sessions we wanted to attend and headed for our rooms.
Session 0: Design Patterns for PHP developers
This was the second talk of Cal’s that I attended this ZendCon and, much like the first, Cal gave a great presentation on Design Patterns for PHP. Covering the basics of design patterns, he made sure to mention the most important patterns we could use, like Factory, Strategy, Observer, Model-View-Controller, Facade and Singleton. He made the samples very easy to understand and was quick to answer the questions asked of him.
Design Patterns have a special place in my heart as a programmer (I have given talks to local meetup groups about design patterns) and I love how knowing design patterns levels out the disparity between programming languages. Knowing them makes one language for all programmers and allows anyone from any language background to be able to communicate programming concepts and paradigms in a common tongue, if you will. That said, Cal delivered big-time in his talk on patterns. He also inspired me to pursue my ambition of putting together a PHP Design Patterns web site for developers that have not seen, or do not understand, design patterns applied to PHP.
Slide for Cal’s presentation can be downloaded here. (.pdf)
Session 1: Authorization with OAuth
Rob Richards gave a talk about OAuth and the difference between authentication and authorization. He moved pretty quickly into an actual implementation of using OAuth for authentication of a user from an application and, in my opinion, moved a little too fast into too concrete of an implementation. Still, the presentation was very informative and useful for anyone that is thinking of utilizing OAuth as an authentication mechanism.
Day 3 && ZendCon wrap-up
I was a little saddened to see the end of the conference come up so fast. Still, I am glad its over because I can use the rest.
I’m thinking next year I want to see if I can get in on giving a talk. I’d love to present and would love to not have to pay to get into the conference
. I also think that it would be freaking awesome to have a small group of the guys I have met over the last two hears at ZendCon over to my home for a BBQ or something, though I should probably bring that up with my wife before I even think of doing anything like that (I will honey, I promise
).
Overall, this year’s conference was better than last years in a couple of ways. First, the subject of many of the talks was NOT scaling. That, in and of itself, made this conference better than last year.
Second, the location was also a bit better than last year, being closer to downtown and all that being in downtown has to offer.
On the other hand, this year’s conference was deficient in several area. First off, the lack of power in the lobby and in the conference rooms was painful. Having a laptop battery with only a 38% capacity made it difficult to attend a session that didn’t have sufficient power.
Secondly, the vendor fair this year kinda sucked. It was nice to have them there, as always, but they didn’t seem to want to interact with people this year. The shirts were awesome and the shwag was also very nice -who doesn’t like free, right? Still, I think having more relevant vendors with more accessibility to relevant and pertinent information would have been nice.
Regardless, I got nothing but love for the organizers of this conference. Specifically, kudos need to go out to Eli White (@eliw) for his incredible support of the conference and attendees, and Keith Casey (@CaseySoftware) for the indescribable work he does on the conference uncon sessions. I cannot wait for ZendCon2010.
Yesterday was an amazing day at ZendCon. Lots of talks, lots of information, lots of networking, lots of geekdom. The day was long but very informative and at the end of it I couldn’t wait to get back for today.
Today started off a bit different than yesterday because today I was scheduled to take the Zend Framework Certification exam and my coworker was scheduled to take the Zend Certification Exam. So we got to the conference and camped out for the morning to get some last minute studying in.
As we studied we were joined by Aaron Wormus. I’m not sure why, but when presenters and other people who are widely known in PHP are close by I always feel like I am in the presence of a celebrity. Last year I was like a little kid at a football game, meeting everyone, shaking hands, being excited, enjoying the conference. This year? Well, kinda the same, except I haven’t seen to have as much time this year to find people to meet.
Still, it was nice to be able to spend a couple of hours trying to familiarize myself with the Zend Framework. The exam preparation study guide is 214 pages long, and as of 12:15, when it was lunch time, I had gotten through about 110 page of it. So much for being totally prepared for the exam.
After lunch was over my coworker and I headed to the exam room where we took our test. And wouldn’t you know it… I passed. So now I am not only a Zend Certified PHP Engineer, I am also Zend Framework certified as well. Sweet!
After the certifications were over we were able to get back into the swing of the sessions…
MySQL Server Performance Tuning 101
Cal Evans, filling in for Legaya Turmelle, did an excellent job of describing how to optimize your MySQL server and sent queries to enhance the performance of your applications. Filled with an incredible amount of technical data, this presentation was still a vibrant session that involved the attendees throughout the entire session. And I managed to sneak away two things that will be a help to me as soon as I get back to work:
/* Show all of your global variables */
mysql > SHOW GLOBAL VARIABLES;
/* Show your statuses */
mysql > SHOW GLOBAL STATUS;
Both of these can filter your queries by adding a “LIKE ‘%{filter}%’” to the query. Very handy pieces of information.
Architecting Your Models
Matthew Weier O’Phinney gave an awesome talk about architecting models (the M in MVC) and using your models to handle business logic. The logic that was employed was very similar to the Introduction to Zend Framework talk he gave on Monday (kudos for consistency) and covered data access, table/row gateways and service layers.
This is one of those presentations that I would recommend you get the slides for because just the programming practices employed in his presentation make it an absolutely stellar session and one that can only help you as a programmer. [Note: as soon as the links to the slides are posted I will put that link here. Sorry.]
Building Desktop RIAs with JavaScript and PHP
Ed Finkler gave a sweet presentation on taking PHP and Javascript from the web to the desktop in his talk on building Rich Internet Applications. His talk was dynamic, funny, had a couple of well handled snafus and totally captivated the audience.
Using Adobe AIR, Appcelerator’s Titanium and PHP, he built a couple of cool little desktop apps that are driven by server hosted PHP applications. Though the apps were just for example, what you can do with AIR or Titanium, jQuery and PHP is freaking amazing and I can’t wait to try some of this stuff when I get back to work.
Links to his presentation and associated code samples:
Day 2 wrap-up
Sitting here, at the end of the last session, I am overwhelmed with the amount of information I learned in the last couple of days. I am so looking forward to how ZendCon will be wrapping up tomorrow and cannot wait to meet some of the people of I haven’t yet had a chance to meet.