Blog

Tall Rock

I went to the Tram (Mt. San Jacinto).I climbed a big rock. Without a rope. It was fun.


Emerald City from Jon McCartie on Vimeo.

Read more...

Highball Front Page

Hey! A pic of me rock climbing made the front page of the local climbing website. Sweet!

Read more...

Gas-Powered Lawn Mower

First off, the article says “3 Steps”, but look a little farther and you’re realize that “converting the engine to one powered by solar panels” should not be considered merely one step.https://www.engadget.com/2008/05/29/gas-powered-lawn-mower-gone-solar-via-3-step-mod/

But the kicker? The mod costs $1500. What?! You’ll never spend that much on gas for that machine in its entire life.Silly. Just silly.

Read more...

New HD Climbing Video: Master Cylinder

Took the new HD camera on a test-drive out in Joshua Tree this past memorial day weekend. Loving the Vimeo HD video. (don’t try with dial-up!!)Link


Master Cylinder from Jon McCartie on Vimeo.

Read more...

Biker Gang

In order to save money on gas, I bought a scooter. I only live 3 miles from work and we’ve got limited parking, so taking a car in seemed a little ridiculous. I tried riding my bike in, but I always got into work sweaty and gross.The scooter put me back about $2,000 after taxes, fees, etc. Not too bad. And she gets about 70-80mpg. While everyone is dishing out $100 to fill up their commuter SUV, I’m throwing back about $4 a month for my little Kymco 50cc scooter.

Yes, I agree, it’s not the prettiest thing. When I turn the key, there is no testosterone-filled roar of manliness. I don’t own a leather jacket or even a cool helmet (I asked for the cheapest one they had that would still keep my head in tact). But it’s easy, I can park anywhere, and I get good gas mileage.A few weeks ago while trying to find an ATM, I was driving some side streets between Santa Monica Blvd and Wilshire in Santa Monica. A dad and his teenage son were standing in the street tossing a football and I putted by. The teenage son turned as I rode past, made an annoying whiny motoring sound with his mouth, and made the “elbow-at-the-hip-hand-high-and-turned-down-sissy-sign” with his hand. Aside from my boss making a “scooters are gay” joke at work once, this was really the first time I’d been made fun of on my scooter. Part of me wanted to pull over and tell him all the wonderful benefits of owning a scooter…or rub my MPG in his redneck face. But alas, I putted by way to the ATM without a thought. My life as a gas-saving two-wheeler was somehow tarnished knowing that everywhere I went, I was looked down on.

That is, until today.Riding down Colorado I saw another scooter-er approaching from the opposite direction. As I passed, I took a glance over to see what cool >50cc bike he was riding, only to notice that he had some Chinese no-name knock-off just like me! And then it happened — he waved at me. He didn’t take his hand off the handlebar and give me a Miss America, but he definitely lifted his hand up towards me. It was if to say, “Hey man. I see you on that scooter. I know the trials you’ve been through: getting laughed at, being passed constantly, not being able to get off the line fast enough to not piss anybody off. I see you there, and I acknowledge your presence. You and I, we’re the same. And this partial wave of the hand is my way of letting you know…there’s more of us out there.”

I quickly waved back. Man’s need to belong, to feel as if he’s part of something bigger than himself, was realized. I’m not just some guy in New Balance shoes, riding a dirty red scooter with a helmet that makes his head look like a Super Mario Brothers mushroom guy — no! I’m somebody. I’m a part of a group of strangers — outcasts, even. We drive down your streets on our way to work, to the mall, to the grocery store — hell, anywhere where the speed limit is less than 35mph and where we’re not taking anyone with us. You may not notice us as you whiz by in your fancy sports car or gas-guzzling SUV, but we’re here. And we’re many. We’re a gang. A biker gang.

Read more...

Menu Creator

Came across this great site today while needing to do a quick and dirty menu tree.https://www.opencube.com/

Click on “Online Visual Interface” and create your own menu. The themes come first — when you’re done there, click “Customize Menu” and you’re off. When you’re all done clicks the “Save” button on the top for the full code printout.Very slick and super fast.

Read more...

Let PHP Randomly Update Your Twitter Feed

So you’ve got a Twitter account…and you find yourself in one of the following situations:


  1. You’re going on vacation, but don’t want to have people thinking you’re MIA.

  2. You’re sick and tired of updating your twitter account and you don’t want people “nudging” you.

  3. You have an NMS — a “new media stalker.” So you’ve created a secondary twitter account for them to follow but don’t want to actually update it yourself.


//
//Twitter updater, v1.0
//by Jon McCartie
//
//functions first
function twitter_post($message) {$username = ‘yourtwitterusername’;
$password = ‘yourtwitterpassword’;

// The twitter API address
$url = ‘https://twitter.com/statuses/update.xml’;
// Alternative JSON version
// $url = ‘https://twitter.com/statuses/update.json’;
// Set up and execute the curl process
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, “$url”);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, “status=$message”);
curl_setopt($curl_handle, CURLOPT_USERPWD, “$username:$password”);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);// check for success or failure
if (empty($buffer)) {
$msg = “ERROR connecting to Twitter”;
return $msg;
} else {
$msg = “SUCCESS!! TWEET SENT!”;
return $msg;
}
}

//begin loop. this loop is needed to make sure the quote we get is less than 140 characters
$i=0;
while ($i == 0) {//get random quotes XML — we’re using quotedb.com because they return quotes in XML
$url = “https://www.quotedb.com/quote/quote.php?action=random_quote_rss&=&=&”;

//this CURL script allows for the URL to be passed without exposing PHP to a allow_url security bug
$ch = curl_init($url);
$fp = fopen(“temp2.xml”, “w”);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);//Load the local XML that was created in the above CURL call into an array
$xml = simplexml_load_file(“temp2.xml”)
or Die (‘ERROR: Could not load file’);

//read the first item’s quote, and strip the quotes
$message = trim($xml->channel->item->description,”\x22\x27”);//if the message is less than 140 characters,
if (strlen($message) <= 140) {

//fire the Tweet
$msg = twitter_post($message);
echo “Success!”;
$i = 1; // set $i to 1 so we can end the loop
} //end if
} // end while loop
?>

Now you have a couple of choices. Place this on your web account and run a cron every few hours. Or, run it locally. Throw it in your bookmarks list and call the PHP page a few times a day. It all depends on how dedicated you are to your little ploy. Enjoy!

Read more...

Twitter Class for PHP

David Billingham has put together an awesome PHP class full of Twitter functions:He provides a few examples of usage in the source file. Here’s an example of using the class to post a direct message with a little extra error output:

$message = “your direct message”;
$t= new twitter();
$t->username= “yourtwitterusername”;
$t->password= “yourtwitterpassword”;
$res = $t->sendDirectMessage(“directmsgrecepient,$message);
if($res===false){ //if there is a Twitter error
echo ‘<span class=”style7”>Something went wrong!</span> <br/>Twitter said: <span class=”style5”>’ . $t->errmsg . ‘</span><br/> Please try again.’;
}else{
echo ‘<span class=”style3”>SUCCESS!! TWEET SENT!</span><br/>’;}

Read more...

Economic Stimulus

So I get this letter today from the fed telling me that my tax rebate is on its way.Great! I could sure use the extra cash.

“You can expect your payment by 5/9/08.” Um. Today is 5/14/08. Did I miss the check? Lord knows I have so many bills floating around, it wouldn’t be the first time I’ve misplaced an envelope.But that’s a lot of cash!! Panic!!!

“If you do not receive it within six weeks of this notice, please contact us at the number shown above.”What? So there’s a deadline…and then a six-week window? Why didn’t you just make May 9th + 6 Weeks the deadline? That’s like telling your friend: “I’ll meet you at the bar at 8pm. If I’m not there by 4am on Monday, call me and ask me where I am.”

Read more...

Dreamhost + Wordpress + Posting Code

Use dreamhost? Use wordpress? Want to post PHP code inside a “<code>” tag and it’s not working?


  1. Visit your web panel (panel.dreamhost.com)

  2. Go to the manage domains panel (https://panel.dreamhost.com/index.cgi?tree=domain.manage&)

  3. Edit the domain you’re using

  4. Turn OFF “Extra Web Security?”



    Wow, that took me a long time to figure out.

    Read more...

    Hi there, I'm Jon.

    Writer. Musician. Adventurer. Nerd.

    Purveyor of GIFs and dad jokes.