Subscribe

175

Fans

ON FACEBOOK

Search

Email

  • Memphis, TN 38103 U.S.A. Otto 240cf86e-5cad-11dc-8314-0800200c9a66

Facebook

Amazon

Buy Otto a Beer

Currency:

Amount:

Website(Optional):

Get Otto a Gift

My Amazon.com Wish List
Text

19 Feb 2010-02-19 13:38

Simple Twitter Connect

Since people have been emailing me and asking for it…

WordPress Plugin: Simple Twitter Connect

It’s similar in concept to the Simple Facebook Connect plugin. In fact, it rips off quite a lot of the same code. But instead of Facebook, this integrates your WordPress site better with Twitter.

Now, there’s a lot of Twitter plugins out there already. And this plugin by no means competes with them (yet). This plugin can’t, for example, send a post to Twitter (yet). Nor can it pull posts from Twitter to display on your own site (yet).

What it does is to provide the framework for a more complete Twitter integration. Right now it can do:

  • Login via Twitter
  • Comment via Twitter

Not much, really. But it has the backend code necessary to make it easier to connect your site to a Twitter Application, and to make plugins surrounding it that won’t interfere with each other. That’s the same basic reason for the Simple Facebook Connect plugin.

So yes, eventually this plugin will send and receive stuff from Twitter. But for now, it lets you allow users to Login and/or to have users Comment using their Twitter credentials.

Expect frequent updates.

Tags: , , , , ,
Shortlink:

Posted in Geekery, Hackery, Programmery | 5 Comments » -

Text

9 Feb 2010-02-09 11:24

Don’t include wp-load, please.

Time for Otto’s general griping: WordPress plugin programming edition.

Here’s a practice I see in plugins far too often:

  1. Plugin.php file adds something like this to the wp_head:
    <script src='http://example.com/wp-content/plugins/my-plugin/script.js.php'>
  2. Script.js.php has code like the following:
    <?php
    include "../../../wp-load.php";
    ?>
    ... javascript code ...
    

The reason for this sort of thing is that there’s some option or code or something that the javascript needs from the database or from WordPress or whatever. This PHP file is, basically, generating the javascript on the fly.

Usually, the case for this turns out to be something minor. The code needs the value from an option, or some flag to turn it on or off. Or whatever.

Problem is that finding wp-load.php can be a bit of a chore. I’ve seen extreme efforts to find and load that file in plugins before, including searching for it, examining the directory structure to make decent guesses, etc. This sort of thing has existed even before wp-load.php came around, with people trying to load wp-config.php themselves and such.

But the real problem is simpler: This is always the wrong way to do it.
Read the rest of this entry »

Tags: , , , , ,
Shortlink:

Posted in Geekery, General Spew, Hackery, Programmery | 47 Comments » -

Text

1 Feb 2010-02-01 11:21

How to Setup your Facebook Connect Application

The majority of the email I get from users of the Simple Facebook Connect plugin is questions regarding how to setup their Facebook Application. It’s really not that hard to do, but the plethora of options can seem somewhat intimidating. So here’s the basics of what you need to do.

Read the rest of this entry »

Tags: , , , , , , ,
Shortlink:

Posted in Geekery, Hackery, Programmery | 29 Comments » -

Text

22 Dec 2009-12-22 11:13

SFC Chicklet

I saw this morning that Jesse Stay had created a rather neat little chicklet for his FBFoundations plugin. I thought it was a clever idea, so naturally I stole it and added it to Simple Facebook Connect as well.

Of course, just copying an idea is no fun. So I had to improve upon it a bit for my version. :)

I ended up not using any of Jesse’s code, but I did (mostly) keep the format of his chicklet output the same, so as to try to be compatible with it for styling rules and such.

Read the rest of this entry »

Tags: , , , , , ,
Shortlink:

Posted in Geekery, Hackery, Programmery | 5 Comments » -

Text

21 Dec 2009-12-21 14:08

Twitter Geolocation

Heard of geotagged tweets yet? Not surprised, a lot of my friends seem to have not caught on to it, so I’m writing this in a possibly futile attempt to get them to try it out.

How to add your location to your tweets

1. Turn on Geotagging. To do this, go to your Twitter settings page. Down under the “Location” section is an option to enable geotagging. Turn it on.

Twitter Settings

2. Get a Twitter client that supports Geotagging. These are generally mobile applications. Tweetie 2 for the iPhone added support for it in 2.1. Several other clients support it as well. Find one.

3. Turn it on in your client. How you do this depends on the client, but it can usually be enabled on a per-tweet basis.

Here’s an example of how it works and looks in Tweetie 2 for the iPhone.

First, you type in a new tweet, and pull open the drop down.

Next, you enable the geotag feature, and you'll see a little red pin appear.

You'll see little maps on tweets with locations attached to them.

Click on the map icon for greater detail.

You can do more with your Twitter location too. For example, this website will read your twitter feed and get your latest location, then send it over to Fire Eagle, which is Yahoo’s location service. Fire Eagle can do all sorts of things, but basically it’s just a service that stores your location for other programs to use. So if you want to display your location on your blog, or on Facebook for your friends to see, or anything else you can think of, you can do that, using nothing more than your already existing tweets.

Tags: , , , , ,
Shortlink:

Posted in Geekery, General Spew, Linkery, Thingery | 1 Comment » -

Text

3 Nov 2009-11-03 16:49

WordPress Settings API Tutorial

When writing the Simple Facebook Connect plugin, I investigated how the Settings API worked. It’s relatively new to WordPress (introduced in version 2.7), and many things I read said that it was much easier to use.

It is much easier to use in that it makes things nice and secure almost automatically for you. No confusion about nonces or anything along those lines. However, it’s slightly more difficult to use in that there’s very little good documentation for it. Especially for the most common case: Making your own settings page.

So, here is my little documentation attempt.

Read the rest of this entry »

Tags: , , ,
Shortlink:

Posted in Geekery, Hackery, Programmery | 23 Comments » -

Text

27 Oct 2009-10-27 10:47

Simple Facebook Connect

Working on a new WordPress plugin lately. It’s basically a simple and easy way to make Facebook Connect work with your WordPress based website.

More info about it here: Simple Facebook Connect.

Short list of current features:

  • Simple 2 step setup for Facebook Connect. Just create the App via Facebook and paste in the API key.
  • Share button, with meta support.
  • User status widget
  • Comment using Facebook Identity (alpha, not operational, for testing only, will be working soon).

Like most things I announce early, it’s not fully featured yet. I’m modifying and adding onto it as I go along, so expect a lot of updates to show up in the plugin list if you use it.

And if you have ideas for how to improve it, please email them to me. :)

Tags: , , , ,
Shortlink:

Posted in Geekery, Hackery, Programmery | 8 Comments » -

Text

21 Sep 2009-09-21 16:14

How to find a backdoor in a hacked WordPress

Over here, Jorge Escobar is writing about how he got hacked with the latest version of WordPress. After some minor back and forth on FriendFeed, I got him to do a search which found a malicious backdoor he might not otherwise have found.

In so doing, it occurred to me that most people don’t keep up with the world of WordPress in the way I do, and so have not seen nearly as many hack attempts. So I figured I’d post my little contribution, and show people how to find hidden backdoors when cleaning up their hacked sites.

Non-technical users can safely ignore this post. :)
Read the rest of this entry »

Tags: , , , , , , , ,
Shortlink:

Posted in Geekery, General Spew, Hackery, Linkery, Programmery | 20 Comments » -

Text

21 Sep 2009-09-21 13:03

Waze – Free iPhone Directions Application

Playing around this weekend, I discovered a neat and fun little app for the iPhone.

A lot of new apps have came out for the iPhone lately that are based around driving directions. TomTom came out with theirs for $100, and Navigon is another popular one that runs $90. But, if you want to try out something a little different, this one is free.

iPhone image

Waze is a free driving directions app, with a twist. Basically, the maps on it are “incomplete”. That is, they’ve got the map data, but like all maps, the data is inaccurate. So, to get the data to be better, they’re enlisting your help.

How do you help? Simple. You use the app in the car, then drive around. As you do so, the GPS will be reading your location and noting that there is indeed a street there. It makes it kinda fun to confirm streets in this way since a little Pac-Man like figure appears, eating dots on the map where you are driving, and giving you “points”. The points aren’t useful for much, except a ranking system with everybody else using the app, but it’s fun nevertheless.

So what else? Well, obviously it’ll do driving directions. However, when I tried it to get to my friend’s place at Cooper-Young fest this last weekend, it was laughably wrong. It suggested an 8 mile trek through ridiculous parts of town for no reason. I drove there the normal route instead, letting it complain that I was “off route” all the way and listening to the Waze-pacman gathering up the points as he munched his way down the road. However, something odd happened then. On the way back, when I turned it on, it knew that route. Investigating today, I’ve found that it really doesn’t like to route people on routes that haven’t been “confirmed” yet very much. So, since I’d confirmed that route already, it picked it for my way home.

But there’s a bonus to all that. By confirming the route, it’s getting more than street maps. It’s also getting average speeds. So it can use that information to give optimal routes, knowing how fast each street tends to be.

iPhone Event Reporting

You can even more than that though. Along the way, you can report events too.

An event is like an auto accident, or a speed trap. Whenever you see one of these, you can touch the report button and report one quickly. If you’re totally stopped in traffic, then you can also type in a short message (it won’t let you do that while moving), and the message will instantly be sent, where other drivers (and their iPhone’s) can see it. Those drivers will then get routed a different way, possibly saving them some time.

Or, even better, somebody else reports a problem, and you get to save some time.

Downsides to the app: Battery life. Like any other GPS app, it sucks the battery right down. You’ll need a car charger to run the thing. Probably a quality iPhone mount too. It does do landscape mode as well, and hidden down in the options is a “3D mode”, which makes the map lay back and look like the more expensive iPhone driving apps, if you prefer that sort of thing. The 2D map is easier to read, to me.

From what I’m reading, Waze has only been around a month or so, and not many people are using it. As far as I can tell, almost nobody in Memphis is using it, since almost all the roads are unconfirmed. But it would be pretty neat if everybody driving around was sharing data like this, what with Memphis traffic being what it is. I sure wouldn’t mind getting routed around half the crap I see on the streets around here.

If you’ve wanted to try out a driving directions app without spending $100 or so, then you cannot beat free. So I highly recommend it. I’m using it all the time now.

Tags: , , , , , , , ,
Shortlink:

Posted in Geekery, General Spew, Placery, Thingery | No Comments » -

Text

25 Aug 2009-08-25 11:56

Google Maps traffic… it needs work.

I always wondered how Google Maps knew traffic conditions. Today, there’s a blog post where they explain it a bit better.

That ain't on an iPhone...

That ain't on an iPhone...

Basically, they simply have all the phones running Google Maps with GPS send back data as to a) where they are and b) how fast they’re moving. Both of which GPS gives you more or less by default.

It’s a clever idea, and I like it, but it fails in a couple of major ways, IMO.

Firstly, when I use Google Maps on my phone, I tend to not leave it open. Google Maps is fine, but it’s not a very good navigation system. It’s just a map. A real navigation app is worlds better. I recently got Navigon Mobile Navigator on the new iPhone, and it’s pretty slick. Thinking about a dashboard mount for it now, actually.

Secondly, this system relies on a lot of people having Google Maps open and running and sending back data. If nobody with Google Maps running has been on your street recently, you get no information.

What Google really needs to do is to open it up as an API. Let other navigation system manufacturers both send and receive traffic data from the Google Maps system. It doesn’t have to be complex.

Any good navigation app knows your location and speed, so a simple way to send that info could be made easily enough. The problem, of course, is allowing third parties to use the data.

Google Maps works in layers of images, which is one of its major shortcomings, IMO. The street views are images. The terrain are images. Just big sets of tiles that get displayed next to each other. And I’m almost certain that this traffic thing is just another set of images they’re generating or updating. For navigation providers that use 3d views and such, they don’t need that stuff in the form of images, they need it in the form of data. What streets are busy? How can that information be used to improve the navigation? Etc.

Google is generally pretty good at opening up their APIs to third parties. However, they’re generally not good at providing data in different forms. Most of their APIs are “this is what we use, if you need something else we don’t have it” sort of thing. Hopefully, the Google Maps team will see the light here and realize that to get good data, you have to give good data, and start pushing in that direction. Because open traffic data would be pretty cool for everybody.

Tags: , , , , , , , ,
Shortlink:

Posted in Geekery, General Spew, Linkery, Programmery, Thingery | 1 Comment » -