Shortlink

Why I Support Brian Oley for Dallas City Council

This is a letter I’m distributing to many of my neighbors:

Dear Neighbor,

I live near the corner of Elizabeth and McKinney.

I just left you a door hanger for Brian Oley, who is running for City Council in our district. He is a former resident of Uptown, and I wanted to leave a note explaining why I believe he is the best candidate to represent our neighborhood.

I first met Brian in March, though he has stood out to me in a positive light since early February. Since then, he has taken the time to meet with me on multiple occasions to discuss my concerns about our neighborhood and the city. Incidentally, one of those concerns is our current minimum parking regulations, which were established decades ago and are the source of many of our parking problems here in Uptown. He is committed to revisiting those regulations.

He also understands business, and he has pledged NOT to raise taxes. Instead, he is drawing on his experience as a former Sr. Auditor as he audits the city’s 650-page budget, looking for places to cut unnecessary spending. He believes that government transparency increases accountability, and he would like to improve both by making the city’s check registry available online for the public to track the city’s spending.

Some of you may not have heard much about Brian, and the reason for this is unlike other another candidate who is purchasing billboards across the city, Brian is running a 100% grassroots campaign. As a result, he has not flooded the media with promotional materials and paid political advertising, but instead he has a loyal following of individuals like me who are spreading the word because we feel he best represents our interests.

The media likes to focus on candidates who have raised the most money, often ignoring those who have raised little. Oley has funded his campaign with personal contributions and with several small contributions from friends and family. He explained to me that the reason for this is he wants his campaign to illustrate how he would run the city government–not with excessive spending but by cutting back and making responsible use of limited resources. I hope you join me in supporting his efforts.

If you would like a yard sign, please email me at contact@richardmorgan.com, and I will get you one.

In case anyone is wondering, I wrote and distributed this. It represents no one’s opinion but my own.

Sincerely,

Richard Morgan

Shortlink

jQuery Dom Exception: INVALID_CHARACTER_ERR (5) in IE9

If you use jQuery and you’re getting these errors in IE9, there’s a good chance you need to upgrade to bgiframe 2.1.2:

[php]DOM Exception: INVALID_CHARACTER_ERR (5)[/php]

Shortlink

Simple PHP Puzzle

I don’t care for a lot of the questions that I’ve been asked on interviews. Over time, I want to post a number of common, real-life PHP questions that I think would be more accurate at assessing how well someone knows PHP. Naturally, the person interviewing should get the question right, but the speed and depth of the response should indicate how well they know the language.

This is an easy one. If you’re a PHP developer, you should be able to figure this out pretty quickly!

Scenario:

There are 2 files involved: skin.php and home.php. You load home.php in your browser, and the page title gets set, and the content gets output. Why doesn’t the navigation get displayed?

[php]
<?
// skin.php

if( ! HIDE_NAV )
$nav = getNav();

function getNav()
{
return ‘
<ul>
<li><a href="/">Home</a></li>
<li><a href="/blog.php">Blog</a></li>
<li><a href="/about.php">About Us</a></li>
<li><a href="/contact.php">Contact Us</a></li>
</ul>’;
}

echo ‘
<html>
<head>
<title>’ . $title . ‘</title>
</head>

<body>
‘ . $nav . ‘
‘ . $content . ‘
</body>
</html>’;

?>
[/php]

[php]
<?
// home.php

$title = ‘Homepage’;
$content = ‘Welcome to the homepage!’;

include ‘skin.php’;

?>
[/php]

Post your answer if you want feedback!

Shortlink

Zend Certified Engineer (ZCE), Zend Certification

I became a Zend Certified Engineer in January 2009. At the time, I was more excited that there were under 50 PHP 5 Zend Certified Engineers in Texas than I was to actually be one of them! But I believe the Zend Certification is an important credential — especially as a PHP developer. Being a ZCE doesn’t mean you’re a good programmer, but because the barrier to entry is so low for PHP, it establishes that you at least know the language well. I’ve met people who’ve claimed to be PHP programmers simply because they installed and customized a PHP script. Being a Zend Certified Engineer doesn’t mean you’re great programmer, but at least it shows that you know PHP.

The biggest problem with the Zend Certification is its limited scope. It really only tests one thing — whether you know PHP. It will definitely test that you understand the difference between all the different sort methods and that you more or less know the order of parameters for all the important PHP functions (and several that you may not have thought were important), but when you think “Zend Certified Engineer”, you think of someone who understands what is required to build an enterprise-level PHP application that’s secure and scales well without any major maintenance issues. The biggest shortcoming with the exam is that it simply fails to test those things.

The good news is most recruiters don’t know that! Or if they do, they don’t care! (Maybe I’ve just had bad luck, but I’m impressed when I meet a recruiter who knows the difference between Java and JavaScript.) Being a ZCE has one major advantage that I’ve seen: if there are a couple dozen resumes sitting in a pile, the handful that say clearly Zend Certified Engineer will likely be moved to the top. Those candidates are simply the most likely to be qualified. Now the key is if it says Zend Certified Engineer, there’d better be some good work experience, or chances are it’s going to be a disappointment!

Here’s my actual listing in Zend Yellowpages: Richard Morgan

Shortlink

Content Generation and Search Engine Optimization

[rough draft]

I’ve been thinking about content generation lately. Search engines are in the business of finding and organizing information and then presenting the most relevant information they can find to those who are looking for it. Usually when I have anything interesting to say, I put it somewhere like Facebook or Twitter. It’s effective in that it more or less gets the people who follow me, but it does nothing to bring more visitors to my site.

It must be nearly impossible for a small, 5-page site to rank well for any competitive keyword. I’m not suggesting a simple site can’t get a top ranking — I’ve built half a dozen of those sites, and they’re all sitting very nicely in their market, but there is a big difference between holding the top ranking for House Cleaning Rockwall or Rockwall Web Design — neither of which have more than a dozen serious competitors — and getting a top ranking for something like Dallas Web Design which has thousands of competitors.

One of the phrases that has always interested me most is “search engine optimization”, because whoever can rank best for that phrase really is the best at search engine optimization. And the most obvious thing I continue to notice about that phrase is the top results all come from sites that have tons and tons of content and tons and tons of people linking to that content. That is what makes it the best result to show.

And so returning to the topic of content generation, the key to increasing organic traffic and getting a site to rank well is generating lots of content — content that can be indexed and organized, and content which is useful enough to cause others to link to and discuss it.

One of my goals for this site is to have a top ranking both for my name (Richard Morgan) and for the phrase web developer in the context of Dallas, Texas (where I live). Apparently Richard Morgan is a relatively popular name, because last I checked, there were nearly 4.5 million search results for it. Not just that, but there are a number of Richard Morgan’s who have either written books or run for political office, which means tons of sites are already linking to theirs. That sets me behind slightly, but I’m really not too concerned about it. When it comes to my name, it’s really just a matter of time and a little content before I outrank them. Simply having the domain name www.RichardMorgan.com will cause my site to rank a lot higher than many of the others. But my url doesn’t help me when it comes to ranking for Web Developer in Dallas.

There are two key aspects to ranking well. One is to increase the overall reputation of the site, and the other is to increase the relevance and reputation of a page. Ignoring page-specific optimization for now, since there’s really only so much that can be done, increasing the reputation of my site as a whole will pay off for each of the pages I decide to optimize individually.

Ultimately (down the road), the content I write on this site is a marketing tool. The more different phrases and topics my site ranks for, the more ways people can find my site, and the more people who find my site, the higher the chance they hear about and potentially use my services. What this means is that even just writing what little I know about refugees living in Vickery Meadow is a marketing campaign. There’s not a lot of reason to suspect that people trying to learn about the refugee situation here in Dallas are looking for a web developer, but who knows — they could be!

That’s the beauty of it. Simply by writing about all the different things that interest me, I’m creating content and building up more and more content that can be indexed. By writing about my interests, eventually groupings will begin to emerge. For example, if I write occasionally about going to happy hour in uptown, I may start to rank for specific happy hour queries, even if the bulk of my site is about business or web development.

As a result, writing about absolutely anything which interests me is an investment. And the beauty of writing about interests is that with time, hopefully they will develop, and I will begin to have more meaningful, insightful posts. The more meaningful the content, the more likely it becomes that it will further stimulate discussion regarding what I’ve written, again causing people to link to it. So simply by writing, I write better, and by writing better, I create leads and increase my site’s reputation.

As a web developer in Dallas, competing against my peers (and against multi-million dollar businesses) for a really tough keyword, I don’t know of a cheaper, easier way to begin to establish my site’s reputation in such a competitive market.

Conclusion

Ultimately, what I’m considering is that I’m doing myself a disservice to simply post random stuff on Facebook or Twitter. If I truly value my own site and want to begin to develop it and establish a reputation in Google, I need content that can be indexed–content that not only can be indexed but that can generate discussion and lead to others discussing my content. Ultimately, I need to be writing about the things I care about on my own site so that as I gain deeper understanding into all these random things, they will begin to feed visitors into my site and ultimately my interests will fuel my sales.

Disclaimer

Odds are I will be posting a lot of rough drafts. There is actually good reason for it, at least at this point. If I wait to write and rewrite and perfect each topic before posting it, it will take days or weeks for me to get around to completing a single post. I’m too much of a perfectionist to ever be satisfied with less. By simply posting what I have, I’ll solve the content generation problem quickly, and as I develop my points, I’ll begin to refine my writing.