Review of “9 Steps to Work Less” by Stever Robbins

Stever Robbins' Book

9 Steps to Work Less and Do More serves up hundreds of practical suggestions. Robbins gives you advice on everything—from how to leave a voicemail to how many umbrellas you should own (pg. 150). After reading “always leave your phone number twice” and “speak slowly and clearly” (64-65), I knew Stever was being really thorough.

Why is it 9 steps? I really don’t know. 10 is a more popular number. 7 is a lucky number. Stever Get-It-Done Guy Robbins could even have called it “12 Steps for Workaholics,” but it’s been done before.

If you’ve read other books on time management or personal growth, there isn’t much new material here. This book may be a waste of time for anyone but the casually committed, because only they are likely to find new advice here. But, considering I was provided this review copy for free and never heard of Robbins before being contacted by his secretary, I should not be so harsh. “9 Steps” is a nice read with good tips. Stever also has a good sense of humor which you will find on every page of the book. I was more anxious to write this review than to actually read the book, but had I picked this up several years ago, before discovering personal development, I would have been engrossed.

“Stever Robbins” is a weird name. Everyone who reads it thinks “Steven” has been misprinted. “Robbins” as in Tony Robbins? I thought this was a pen name at first.

I started reading this book six weeks ago, and after 40 pages I quit and lost interest. I stopped reading on “daily action packs” in the procrastination chapter. However, I do need to write this review eventually, so I’m just going on what I read and skimming through the rest. This review is going to be short.

PAGE 69: Just ignore it: “Another way to deal with a full inbox? Ignore it.” — Stever has a lot of guts to say this, and he’s right. Most email should just be archived because it never needs a reply.

PAGE 77: Example of a bad email: “We need to gather all the articles by February 1st. Speaking of which, I was thinking… do you think we should fire Sandy?” — This is an awesome example of a bad email. I might have to use this myself.

PAGE 86: Learning how to say no: “Too many yeses overcommit us.” — This is also awesome. I can’t believe St. Martin’s Griffin let Stever use “yeses.”

PAGE 90: “Stop multitasking and start focusing.” I like this advice. More often than not, writers tell you to develop your multitasking skills, when in truth, you should develop your monotasking skills. Do one thing at a time, and do it well.

PAGE 101: “A Sample Stever week.” This is a wonderful chart, and very simple. I like “Tuesday: 2 PM – 6 PM: write.” Only Stever could write for four hours non-stop. I find myself taking breaks every fifteen minutes.

PAGE 110: “When in doubt, throw it away.” I’m starting to do this all the time. When I’m done reading a magazine or a letter, I burn it. No reason to let it laze around the house.

PAGE 120: “Someday when I can afford an entourage, I’ll have a perky assistant named Okra who will keep track of everything for me. Until then, I use crutches to manage the complexities of twentieth-century life.” Sure, assistants are sexy, but 20th century life? Don’t you mean 21st century life, Stever? Perhaps you count from zero, or maybe this book was written in 1999?

PAGE 131: “The best ideas happen in the shower, because your brain is built to think when you’re doing something else.” This is why going for walks, playing music, and washing the dishes are such great hobbies. Whenever I’m stuck writing or programming, I find inspiration by setting the project aside for a while.

PAGE 143: “Movies the group absolutely does not want to see: Starring anyone whose last name is the name of a hotel chain.” But Paris Hilton is such a fine actor! I laughed at this joke.

PAGE 153: “Settle for ‘good enough” rather than wasting time on unnecessary perfection.” This is so true. Nobody cares how perfect your work is anyway. Most people don’t even examine it closely. Cutting corners is the best policy.

PAGE 166: “TIP: Hold an anteater by the hindquarters when combing its snout. KEYWORDS: anteater, comb, grooming, snout, thumb-reattachment incident.” Anteaters are so vicious…

PAGE 179: “Cut out the small talk. Let’s face it: we don’t have time for superficial relationships.” I disagree, small talk is the foundation of human relationships. As Data on Star Trek TNG noted, it fills awkward conversational gaps and aids in human bonding.

PAGE 195: “Get on someone’s radar screen by having frequent, though not necessarily lengthy or deep, contact.” Do you mean small talk, Stever? I thought you hate small talk? Perhaps you are confused.

PAGE 206: “Access to people is valuable…” This is so true. You can’t make babies alone.

PAGE 216: “Come visit me on the Web at www.SteverRobbins.com…” — He wanted to say “it’s ten times better than www.StevePavlina.com!”

PAGE 218: “ACKNOWLEDGMENTS: Case Princes provided his apartment and his computer with amazing 2560×1600 monitor.” I love big monitors too. I have a Samsung 24″ widescreen LCD with 1920×1200 pixels. But 2560×1600 doesn’t actually tell us anything. The monitor could be a 19″ CRT with the resolution set extremely high. Please consider these technicalities in your next book!

If you wanted a proper review, I don’t have one. I’m just passing off a bunch of scribbled notes as a review. Now go buy this 5-star book. I know it’s only been two months, but we are expecting many more books from you, Stever!

Creation vs. Promotion

Do you spend more time creating things or promoting things you’ve already created? Musicians who spend two years touring with the same album are clearly focused on promotion, whereas musicians who release four albums a year to little fanfare are focused on creation. Some authors have written thirty books but can’t get even one published, while others have one best-seller they spend all their time promoting.

Promotion gets your art out to more people―creation allows you to have art in the first place. You can spend all your time and money promoting other peoples creations―i.e. Google, Facebook, The Beatles, or Sony―or you can spend your resources promoting your own creations while enjoying the creations of others only as a customer. You can live life as a starving artist who toils into the night but never achieves recognition, or you can be a salesman who sells his paintings on everything from welcome mats to toilet seat covers. You can advertise yourself aggressively while creating very little, or you can create a lot but not advertise your creations. At one extreme, you can create works that are completely original―at the other, you can produce works that are completely derived from the creations of others. You can even choose to create and promote nothing at all, instead working at a menial job for most of your life. You may be contributing more value to the world as a worker than as an artist, because the world has too many wannabee artists already.

I am a photographer and writer, but I spend most of my time creating. Sure, I send out emails, tweets, and status updates about my new creations, but I don’t spend much time or money promoting myself. I don’t take clients or work for hire. I don’t even have a tangible product, besides a few framed photos and a whole lot of 4×6 snapshots. My main source of revenue is Google AdSense, and that only generates about $60 per month on this website. In light of this, I definitely need to spend more time on promotion and less time on creation. Though I have hundreds of pages, 21% of my visitors leave my website immediately after viewing one page. I rarely get more than 10 comments per week, and emails come once in a blue moon. However, I am confident I am a good photographer and could be famous if I worked tirelessly for many years at promoting myself.

If you focus on promotion, you appeal to casual fans while boring your loyal fans. If you advertise your ebook or products in every email or blog post, you attract people who don’t read most of your material, but you annoy people who read and re-read everything you write. Conversely, if you focus on creation, your loyal fans are happy but your casual fans feel overwhelmed. Often, they don’t even know where to start when picking up one of your creations, be it a book, magazine, newsletter, or website.

The key to unlocking your life’s dreams is in balancing not only creation and promotion, but your image as an advertiser and your image as a creative artist. If you do consulting to help people increase sales and web traffic, you should promote yourself as an advertiser to that demographic. If you sell original works to art enthusiasts, you should promote yourself as a counter-culture creative genius to that demographic. If you have to target two contrary demographics at once, you should balance your persona.

While it may sound like you have to promote your creations and create things for your promotion, in fact you can choose one and out-source the other. Basically, this is called “getting an agent” or “becoming an agent.” Singers, actors, writers, and even successful artists have agents to promote their work, negotiate contracts, and protect their interests. If you’re more interested in being the rock that supports someone else, you can become an agent. Then, you focus on promotion and let someone else do the creating. There is often more money in being an agent than in being an artist.

Google and Facebook are companies that focus heavily on promotion. While they create original algorithms and maintain vast networks to serve up content, the content is almost always created by others. Google spends most of its resources indexing and retrieving foreign web pages and emails. Google Adwords is all about advertising the creations of others and collecting a commission, be it 100% on search results or 32% on AdSense publishers. Facebook mines your personal information, habits, and secrets to sell them to advertisers. Both companies are agents focusing on promotion. An advertising agency is also a good example, but many agencies do original design for hire, which is more creative.

Companies that focus heavily on creation are largely partnerships or sole proprietorship. Any company larger than that invariably has secretaries, accountants, lawyers, and other officers who only perform “meta” tasks―tasks that are essential to keeping the company running, but are not its core mission. For example, shooting and editing photos, burning CDs, and printing are primary tasks in a photography studio―distributing the photos, scheduling appointments, finding new clients, and filing tax returns are secondary, “meta” tasks. Most companies have more employees working on secondary tasks than primary tasks, but they are paid less.

Whenever you have writer’s block, composer’s block, or whatever-block, you are in a great position to focus on promoting your old work. Conversely, you do not want to be interrupted by secondary tasks when creative inspiration strikes. For this reason, it is important to maintain flexibility in your schedule, rather than trying to divide creative tasks and promotional tasks into hourly blocks.

Creative artists are afraid of being judged as losers who never succeed in life. Promotional artists are afraid of being judged as “sell-outs” who value dollars over art. Many people want to be pursuing something creative such as photography, writing, drawing, music, psychology, or dancing, but instead choose to major in something “practical” like nursing or business administration. Other people enjoy accounting or secretaryship but worry about being forgotten in death. If you are in either group, you will not find happiness outside of a radical life change or black-swan event.

Non-Actionable Feedback

Actionable feedback prompts the recipient to take an action outside the framework of the conversation, but most feedback appearing to be actionable is in fact non-actionable. Let’s look at some examples and analyze why they do not warrant any action by the recipient.

1. “This is a really great article, but I think it could use some more examples!”

The problem with this one is “I think.” Everyone has an opinion. Replace “I think” with “I know” and you have something actionable. The action is to add more examples to the article, but the writer is unlikely to do this unless the feedback is more forceful.

2. “I really enjoy your photography.”

Completely worthless. I am getting to the point where I just press the delete button on comments like this. Obviously, any praise besides “keep it up” is basically non-actionable, but at least give me specific feedback rather than wasting my time. “I enjoy your photographs of (flowers | sunsets | raindrops | people) because of their (color | perspective | uniqueness | emotions)” is better.

3. “Tweet This is a good plugin, but I’d like to see integration with Tumblr.”

Again, this one applies to the commenter only so it is basically worthless. Replace “I’d like to see” with “it should have” or “I will not use it until it has” and you will have something actionable.

4. “I hope you get well soon!”

This also does nothing because hoping is ineffective and does not provoke action. “You should take a zinc supplement” would be better.

5. “Have you considered changing your religion?”

While the may look majorly actionable, in fact it only prompts a yes or no response with no action. Feedback like “Your religion sucks because *some reason*” would be more likely to provoke an action.

6. “Could you take less for this item?”

This could also be answered with a no or simply ignored. It would be better to offer a specific amount, because then you are showing initiative.

7. “You are a moron!”

This kind of feedback is useless. If it’s true, it’s a statement of fact, which is never actionable. If it’s false, it’s a lie, which is also non-actionable.

8. “There is no point in arguing with someone like you.”

People who write this type of comment have superiority complexes and are trying to prove their time is more valuable than yours. But their very response proves that they are not above you. Completely non-actionable.

9. “What’s your phone number and a good time to call you?”

This is an edge case, but it’s actually non-actionable because the recipient stays in the frame of the conversation without taking action (i.e. calling you) outside the conversation. The recipient is liable to respond with his phone number but not answer your call. An actionable message would in fact be “My phone number is XXX-XXX-XXXX―please call me at 9pm.” This way, you put the burden of action on the recipient rather than yourself.

10. “If you don’t log in within 72 hours, your account will be deleted!”

If the user is concerned about his account being deleted, he will certainly log in anyway, and if he isn’t, he may as well not even receive this message, because he won’t visit your site again. Completely non-actionable.

While you may think providing actionable feedback is best, there are many times when you are talking to someone unpleasant and want to end the conversation. In this case, it’s better to provide non-actionable feedback. If the recipient keeps responding to your non-actionable feedback, you will sense his desperation. Desperate people are never good friends or business contacts, so you should cut them out of your life.

Here is a hypothetical conversation with a desperate person:

Blue: How would you like to establish an affiliate partnership between our websites?
Red: Your blog has potential, but I’m really not interested in linking to it.

Realistically, the conversation should end here, but Blue is desperate and continues despite the obvious futility.

Blue: Are you sure? How about if I link to you only and you pay me?
Red: Like I said on my contact page, I don’t accept solicitations nor affiliate with websites that get no traffic.

Blue is becoming very anxious―the more he is rejected the more he pushes forward. He thinks he’s persevering, but in fact he’s just being a needy nuisance.

Blue: But you should see my traffic logs! My site gets over 100 visitors this month!
Red: I do offer consulting to increase your traffic. 100 visitors per month is nothing.

Red has made a serious mistake―he should have terminated the conversation right here. Blue has continuously provided desperate, non-actionable feedback, so this would have been a perfect time to stop replying.

Blue: How much do you charge?
Red: $100 an hour, $100 minimum.
Blue: That’s ridiculous! $100 for some measly consulting work that should only take you twenty minutes? What kind of consultant are you anyway? A scam artist, that’s what!
Red: I can assure you that my clients would say otherwise. Many of them are very successful and place a high value on my services.

Blue has gained the upper hand, and Red has succumbed to an energy vampire. Red is now on the defensive.

Blue: I don’t care what you are, I’m reporting you to *some agency* for trying to defraud me.
Red: I’m sure we can work this out without the authorities.
Blue: I’ll tell you what. If you help me to market *new worthless service*, I’ll overlook this and allow you to continue your business.
Red: Okay…

This is the price for taking non-actionable feedback seriously. Blue is a desperate, passive-aggressive wimp who can only resort to begging and threats. Red is a person who lets wimps take advantage of him. Both are losers, but both could become winners by harnessing the power of non-actionable feedback.

At the start of the conversation, Red should have said “I’ll look into your blog and get back to you.” With one non-actionable reply, Red could have avoided conversation for weeks, but instead, he engaged the sender in a pointless argument which ended in self-capitulation. Ridiculous, but stuff like this happens every day.

Making WordPress Tag Balancing Work with Exec-PHP

I use the WordPress plugin Exec-PHP to use PHP in my posts, but under normal circumstances if I do this with “WordPress should correct invalidly nested XHTML automatically” (a.k.a. tag balancing) checked in Settings > Writing, I get this nasty error whenever I try to use PHP:

Parse error: syntax error, unexpected ‘?’ in /home/thripp/public_html/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 1

The solution the developer provides is to simply disable that feature. That’s fine most of the time, but I encountered a tricky situation where I needed to use PHP and have WordPress close open HTML tags which I simply could not close.

My posts on this blog are usually photos with short descriptions, but occasionally I write long articles which may go on for thousands of words. Up until last year, my tag, category, and archive pages displayed the full content of my posts. WordPress excerpts were unacceptable for two reasons: 1.) they are always 55 words; 2.) I use Post Thumb Revisited to auto-convert 800×600 images to 400×300 thumbnails, but it only converts them through the_content filter, not the_excerpt. While the excerpt length is customizable in WP 2.8 or newer, I am unwilling to upgrade from WPMU 2.7. What I really needed was an excerpt that used the_content, respected all HTML tags, worked with Exec-PHP, and let me customize the excerpt length.

Enter The Excerpt Reloaded. The plugin was 5 years old, so I found an updated version with bugfixes that was only 3 years old. I quickly wrote this code for my theme’s index.php file and left it this way until today:

if(is_category() || is_archive()) the_excerpt_reloaded(200, ‘all’, ‘content’,
     true, “<strong>… continue reading</strong>”, false, 1, false, false,
     ‘p’, ‘Click to see whole entry.’, true);
else the_content(__(‘… CONTINUE READING’));

This has been the best of both worlds. It cuts off the content at 200 words, so most of my photos do not have a “continue reading” link because my descriptions are under 200 words. Longer posts are cut off after 200 words, so my archive pages do not become unnecessarily long. I had to set the 8th argument of the_excerpt_reloaded, $fix_tags, to false, because I would get the same old Exec-PHP error if it was set to true. “No problem,” I thought. I already have tag balancing disabled in WordPress, so what could it hurt to disable it here?

Recently, however, I encountered an insidious bug when a post was cut at 200 words in the middle of a <strong> tag. The tag would never be closed, meaning the rest of the page would be bold! Take a look at this screenshot:

Unbalanced tags

What do you do about something like this? Obviously, there are many solutions. I could rewrite the offending article so the 201st word is not in the middle of an HTML tag. All I would have to do is put in a few filler words earlier in the article. I could enable tag balancing, write some code to check if each post contains PHP, and not use the_excerpt_reloaded in those cases. I could use custom fields on posts to determine which mode of behavior should be used. I could upgrade WordPress (oh god no). All of these solutions seem suboptimal.

Instead, I went to the problem’s source. If $fix_tags is true, the_excerpt_reloaded runs the content of the excerpt through balanceTags. What is balanceTags? A WordPress function in /wp-includes/formatting.php which activates force_balance_tags. What is force_balance_tags? A WordPress function in the same file which looks like hieroglyphics. All I wanted to do was force the function to ignore PHP, but I couldn’t figure it out. It wasn’t a simple matter of ignoring <?php ?> tags. My PHP tags often appear in the middle of other HTML tags. Here is the source code of a typical photo on my blog:

<img src=”http://thripp.com/files/photos/flash.jpg” alt=”<?php the_title(); ?>” />

I took this picture of raindrops falling at night, and my camera’s flash reflected off one of the raindrops. It looks like a star going supernova.

[­sniplet fuji-a360], <?php fexf(); ?>

<a href=”[­sniplet photos-path]stock/<?php echo fprm(); ?>-stock.jpg”>[­sniplet stock-dl-text]</a> (<?php fsze(fprm() . ‘-stock.jpg’); ?>) or <a href=”[­sniplet photos-path]stock/source/<?php echo fprm(); ?>-ss.jpg”>[­sniplet ss-dl-text-lc]</a> (<?php fsze(‘source/’ . fprm() . ‘-ss.jpg’); ?>).

[­sniplet stock-rights]

Looks pretty terrible, huh? I’ve got sniplets in there, custom PHP functions, concatenation, nesting… you name it. This template creates the file paths for the photos, source files, and stock versions right from the post title, because I upload the photos by FTP and follow a rigid file structure. The only reason there’s a full IMG tag at the top of each post is because Post Thumb Revisted won’t create the thumbnails to automatically generate my gallery without it. The template also displays the size of the source files and then extracts and displays the Exif data from the photos in my preferred format, which was extremely difficult to set up and is something I used to do manually. It runs itself, and the functions are really quite interesting.

Anyway, what I needed was a way to bypass force_balance_tags entirely, but only in regard to PHP code. I need the function to close dangling tags like <strong>, <em>, and <u> if the_excerpt_reloaded cuts the post in the middle of a tag.

After a lot of unsuccessful Google searches, I remembered that I solved a similar problem at the beginning of October in Tweet This 1.8. On the “Write Tweet” page, Tweet This uses a modified version of Jeff Roberson’s Linkify URL to delimit URLs with a space on each side (function tt_delimit_urls). A tweet like “Check out http://www.google.com/!” becomes “Check out http://www.google.com/ !”. Then, I use Ext-Conv-Links by Muhammad Arfeen to convert all long URLs to short URLs if the tweet is over 140 characters (class tt_shorten_urls). This works great for most URLs, but I discovered it breaks URLs containing underscores. http://en.wikipedia.org/wiki/South_Africa gets sent to the URL shortener http://en.wikipedia.org/wiki/South, which gets converted into http://bit.ly/bzLvSK_Africa, which doesn’t work at all. Totally unacceptable.

After many hours of torment trying to fix Jeff or Muhammad’s code, I decided to approach the problem from a different angle. Why not just replace underscores with something else on the way in, and then change them back to something else on the way out? Good programming doesn’t dance around problems, but I’ll take a practical solution that works over an idealistic solution that fails, any day. But what string to replace underscores with? I can’t use a special character or something that might be used in a tweet on purpose, because it will get converted into an underscore. After some thought, I settled on t9WGb5. It doesn’t look pretty, but it works, and I doubt any URL containing “t9WGb5” is ever going to be purposefully included in a tweet. So I proceeded to write statements like str_replace(‘t9WGb5’, ‘_’, $url) and str_replace(‘_’, ‘t9WGb5’, $url) at the necessary places throughout the code, and URLs with underscores worked like a charm. As an Easter egg, try writing a tweet over 140 characters containing a URL where you replace an underscore with “t9WGb5” yourself, for example, “test test test test test test test test test test test test test test test test test test test http://en.wikipedia.org/wiki/Southt9WGb5Africa”, then preview it on the Write Tweet page. Check the preview page for the short URL, i.e. http://bit.ly/cRLAis+, and you’ll see that your “t9WGb5” was converted to an underscore before the long URL was even sent to Bit.ly, as an artifact of my kludge-like solution.

Couldn’t the tag balancing problem be approached in the same way? Of course it could. A simple modification to /wp-includes/formatting.php did the trick. Right at the start of the force_balance_tags function, I replaced “<?php” and “?>” with “[![?php” and “?]!]” using str_replace, as follows:

function force_balance_tags( $text ) {
     $text = str_replace(array(‘<?php’, ‘?>’), array(‘[![?php’, ‘?]!]’), $text);
     $tagstack = array(); $stacksize = 0; $tagqueue = ”; $newtext = ”;

Then, at the end of the function, I change it all back:

// WP fix for the bug with HTML comments
     $newtext = str_replace(“< !–“,”<!–“,$newtext);
     $newtext = str_replace(“< !–“,”< !–“,$newtext);
     $newtext = str_replace(array(‘[![?php’, ‘?]!]’), array(‘<?php’, ‘?>’), $newtext);
     return $newtext;
}

All this happens either before or after Exec-PHP executes. I’m not sure when, but it doesn’t matter. My goal of being able to use tag balancing with Exec-PHP has been reached. I now have $strip_tags set to true in the_excerpt_reloaded and “WordPress should correct invalidly nested XHTML automatically” enabled in Settings > Writing, and all I have to do is re-apply the hack when I upgrade WordPress. It’s amazing what thinking outside the box gets you.

I can’t actually write “[![?php” or “?]!]” inside any post on my site, because my hack will convert those strings to real PHP code and they won’t be displayed. How did I display the code above? My actual /wp-includes/formatting.php file uses underscores instead of exclamation points. How did I include the sniplets in the example post without the Sniplets plugin executing them? Breaking the parser with the &shy; HTML entity. Simple.

Earlier, I talked about the functions I use in my photo template to automate display of file size and Exif data. Here are those functions:

function fsze($f = ‘simplicity-stock.jpg’, $p =
     ‘/home/thripp/public_html/wp-content/blogs.dir/2/files/photos/stock/’)
     {$n = array(‘Bytes’, ‘KB’, ‘MB’, ‘GB’); $p = $p . $f;
     if(file_exists($p)) $b = filesize($p);
          else $b = ‘1000’;
     echo round($b/pow(1000, ($i = floor(log($b, 1000)))), 2) . $n[$i];}

function fprm() {
     return str_replace(‘photo-‘, ”, preg_replace(‘/-+/’, ‘-‘,
          preg_replace(‘/[^a-z0-9-]/’, ‘-‘,
          strtolower(trim(str_replace(array(‘?’, ‘…’),
          array(”, ”), get_the_title()))))));}

function fexf() {
     $exif = exif_read_data(‘/home/thripp/public_html/wp-content/’ .
          ‘blogs.dir/2/files/photos/’ . fprm() . ‘.jpg’, 0, true);
     $shutter = $exif[‘EXIF’][‘ExposureTime’];
     $fnum = str_replace(‘f/’, ‘F’, $exif[‘COMPUTED’][‘ApertureFNumber’]);
     $focal = $exif[‘EXIF’][‘FocalLength’];
     $iso = $exif[‘EXIF’][‘ISOSpeedRatings’];
     $date = $exif[‘EXIF’][‘DateTimeOriginal’];
     $date = str_replace(‘:’, ‘-‘, substr($date, 0, 10)) . ‘T’ .
          substr($date, 11);
     if(substr($date, 0, 4) < = 2007) {           $id = substr($date, 0 , 10) . '_' . substr($date, 11, 2) .           'h' . substr($date, 14, 2) . 'm' . substr($date, 17);}      elseif(substr($date, 0, 4) >= 2008) {
          $id = str_replace(‘-‘, ”, substr($date, 0 , 10)) . ‘-‘ .
          str_replace(‘:’, ”, substr($date, 11)) . ‘rxt’;}
     $md = str_replace(‘-‘, ”, substr($date, 5, 5));
     $hms = str_replace(‘:’, ”, substr($date, 11));
     if(substr($date, 0, 4) == 2004) {
          if(($md < 0404) || ($md == '0404' && $hms < 020000) ||           ($md > 1031) || ($md == ‘1031’ && $hms > 020000))
               $ldate = $date . ‘-05’;
          else $ldate = $date . ‘-04’;}
     if(substr($date, 0, 4) == 2005) {
          if(($md < 0403) || ($md == '0403' && $hms < 020000) ||           ($md > 1030) || ($md == ‘1030’ && $hms > 020000))
               $ldate = $date . ‘-05’;
          else $ldate = $date . ‘-04’;}
     if(substr($date, 0, 4) == 2006) {
          if(($md < 0402) || ($md == '0402' && $hms < 020000) ||           ($md > 1029) || ($md == ‘1029’ && $hms > 020000))
               $ldate = $date . ‘-05’;
          else $ldate = $date . ‘-04’;}
     if(substr($date, 0, 4) == 2007) {
          if(($md < 0311) || ($md == '0311' && $hms < 070000) ||           ($md > 1104) || ($md == ‘1104’ && $hms > 070000))
               $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 18000)) . ‘-05’;
          else     $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 14400)) . ‘-04’;}
     if(substr($date, 0, 4) == 2008) {
          if(($md < 0309) || ($md == '0309' && $hms < 070000) ||           ($md > 1102) || ($md == ‘1102’ && $hms > 070000))
               $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 18000)) . ‘-05’;
          else     $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 14400)) . ‘-04’;}
     if(substr($date, 0, 4) == 2009) {
          if(($md < 0308) || ($md == '0308' && $hms < 070000) ||           ($md > 1101) || ($md == ‘1101’ && $hms > 070000))
               $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 18000)) . ‘-05’;
          else     $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 14400)) . ‘-04’;}
     if(substr($date, 0, 4) == 2010) {
          if(($md < 0314) || ($md == '0314' && $hms < 070000) ||           ($md > 1107) || ($md == ‘1107’ && $hms > 070000))
               $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 18000)) . ‘-05’;
          else     $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 14400)) . ‘-04’;}
     if(substr($date, 0, 4) == 2011) {
          if(($md < 0313) || ($md == '0313' && $hms < 070000) ||           ($md > 1106) || ($md == ‘1106’ && $hms > 070000))
               $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 18000)) . ‘-05’;
          else     $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 14400)) . ‘-04’;}
     if(substr($date, 0, 4) == 2012) {
          if(($md < 0311) || ($md == '0311' && $hms < 070000) ||           ($md > 1104) || ($md == ‘1104’ && $hms > 070000))
               $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 18000)) . ‘-05’;
          else     $ldate = date(“Y-m-dTH:i:s”,
               (strtotime($date) – 14400)) . ‘-04’;}
     if(preg_match(“///”, $focal, $m)) {$pieces = explode(‘/’, $focal);
          $focal = intval($pieces[‘0’])/intval($pieces[‘1’]);}
     if(preg_match(“///”, $shutter, $m)) {$pieces = explode(‘/’, $shutter);
          $shutter = ‘1/’ . round($pieces[‘1’]/$pieces[‘0’]);}
     echo $shutter . ‘, ‘ . $fnum . ‘, ‘ . $focal . ‘mm, ISO’ . $iso .
          ‘, ‘ . $ldate . ‘, ‘ . $id . “n”;}

Those were tough to write. PHP’s native functions for calculating the size of files believe that a kilobyte is 1024 bytes and a megabyte is 1024*1024 bytes, which is completely false and unacceptable. I had to write my own function to calculate proper file sizes. I take all my pictures with my clock set to Greenwich Mean Time, but I still want to display the time in local time (Eastern) with the GMT offset. I couldn’t figure out how to write a generic function, so I just did it for each year up until 2012, using the United State’s Daylight Saving Time rules. I’ll have to update the function in 2013, but I hear the world is going to end in 2012 anyway.

If you think this adds to my page load time, you’re probably right. But I use W3 Total Cache to completely cache each page of my blog, so it doesn’t matter.

Next summer, I’m going to China with my Mom. I will be leaving the Eastern time zone for the first time ever. I will definitely need to update the functions above, and I will probably have to specify the time zones manually for all the photos I post from the trip. Should I worry about that now? Of course not.

Human Potential

It’s safe to say that we are the premier creature of the planet Earth. No other species has the power to influence the planet as we do. Only humans can reason, philosophize, be religious, and leave legacies.

However, there is a growing movement that wishes to relegate humans to the company of apes, sharks, and other simple creatures. Even worse, we are depicted as a plague which must be eliminated to preserve the harmony of the planet. Schoolbooks dwell on the damage we cause to the rainforests, oceans, the atmosphere, and endangered species. College professors embrace atheism, the doctrine that we are the supreme beings of the universe. Paradoxically, atheism simultaneously places humanity on a pedestal and in a pit. If there is no God, then naturally man is very important, but man is also very meaningless, because we came from the same place as ants and microbes. Thus, there is no morality or higher purpose to the human experience. You should lie, cheat, and steal if you can get away with it, and the only thing you should fear is human punishment. Obviously, this is a hedonistic belief, and all hedonistic beliefs are also limiting beliefs which stifle your potential.

Unfortunately, “personal development” as a philosophy will always be associated with the “New Age” movement. This religion (and it is a religion) recognizes neither an all-powerful God nor the absence of divinity, instead embracing a no-man’s land of spirituality without substance. Prayer is replaced with yoga. “God” is replaced with “source,” and your connection to God is your “connection to source.” The Bible is replaced with The Da Vinci Code and The Matrix trilogy. Unlike atheism, which appeals to twenty-something liberal arts students who have no income or property and mooch off their parents, the New Age movement appeals to childless women in their late 30s and early 40s, and possibly gay men. The New Age movement embraces astrology, teleology, sun-worship, witchcraft, and the worship of animals. In many ways, it’s even more pathetic than atheism.

While practicing a traditional religion such as Christianity, Hinduism, or Islam is at a higher level than atheism or faux spirituality, religion always limits your potential by answering questions that are unanswerable. How do you reconcile the Pyramids and the existence of space aliens if God created us in his image? Are we one of many experiments? Can you really know if God exists for sure? Everyone has ghosts in their lives, so you cannot deny the existence of the metaphysical realm, but the belief in an all-powerful being who pulls the strings cannot be substantiated. Therefore, the most potent humans believe that they do not know the answer. It is very difficult to live with unanswered questions, but only highly developed people can accept that some paradoxes can never be resolved.

Humans have the most potential when they leave the most doors open. If you pigeon-hole yourself into a religion, race, nationality, or belief system, you close many doors for no good reason. Adopting a multi-paradigm perspective is always better than living with a narrow mind. Our allegiance should be to the truth first. God, nation, and family come second. If you find that your family members are marauders, your nation commits genocide, and your God is Molech, do you still remain committed to them? Of course not—your reject them and find a different God, nation, and family who are not evil. Fanaticism destroys your potential, because it forbids you from negotiating with the opposition. Entrenched beliefs may be good for a civil servant, but they are the antithesis of a human being with high potential.

Are you fulfilling your human potential? What beliefs are holding you back? What people should you cut out of your life? Whom should you spend more time with? Are you living your best life now? Or are you waiting for something or someone who will never come?

Daytona State College 2010 Talent Show

My friend Farah invited me to the Daytona State College 2010 Talent Show at the college theater, bldg. 220, Thu., Oct. 7, 2010, 6-8 PM to film her dance performance. I was there for the whole show and I took 28 photos and an hour of video of all the performers.

I’ve posted them on my DaytonaState.org blog, which has not been updated in a long time: Daytona State College 2010 Talent Show: Photos & Videos.

While I didn’t play the piano like I did in 2009, and the attendance was lower, it was still a great show that I enjoyed watching.

Farah, Massiel, and Reina

Pageant contestants

Daytona State College 2010 Talent Show: Photos & Videos

Photo: Spider

Photo: Spider

An ugly spider with red spikes.

Spiny Backed Orb Weaver (Gaster Acantha)

The most colorful and easily recognized Florida spider, having what looks like a white and black spotted shell on its back, and 6 pointy red spines. The web contains tufts of silk, probably to prevent birds from flying into it.

Females are 5mm to 10mm long, 10mm to 14mm wide. They hang in the center of the web.

The bite of the Spiny Backed Orb Weaver is not known to cause serious reactions in humans.

Thanks http://www.floridaorienteering.org/nature/spiders.htm.

Fujifilm FinePix A360, 1/30, F2.8, 5.8mm, ISO100, 2005-12-20T15:42:37-05, 2005-12-20_15h42m37

Location: Thripp Residence, Ormond Beach, FL  32174-7227

Download the high-res JPEG or download the source image.

This work is licensed under a Creative Commons Attribution 3.0 License. Please credit me as “Photo by Richard Thripp” or something similar.