Navarr's Tech Side The Technical Side of my Life

11Dec/090

JavaScript & CSS3 Lightbox

Usage:

  • Call createLightbox(); to create the actual lightbox element (does not display anything).
  • Call fillLightbox(string content) to fill the lightbox with RAW HTMLor

    Call appendLightbox(element childElement) to append a DOM Node directly into the lightbox.

  • Call setLightboxSize(int width, int height, null, string unit) to set the width and height of the lightbox.  Unit will default to pixels “px” if not specified.
  • Call showLightbox() to actually display the lightbox to the user.
  • Call boolean lightboxVisible() to determine if the lightbox is still visible or not.
  • Call hideLightbox() to remove the lightbox from view.
  • Call cleanLightbox() to delete all content inside the lightbox container.
29Nov/090

Google Voice OMS Code on Github

I pushed the 子猫ちゃん Google Voice OMS service’s code to github, so you can now download it – albeit, to make it work it’ll take a lot of hacking and a lot more editing.

Either way, I’ve gotten no donations and no offers for free SSL hosting, so it looks like this project just will not be seeing the light of day.  It’s a shame, I worked a long time to make it work, and it’s obviously something a lot of business professionals would be able to find a use for.

Oh well, you can find the project on github.

Remember to abide by the Usage License!

26Nov/090

Why I now Prefer JSON to RSS/XML

This might mainly be a “call-out” to Dave Winer, since he is continually attempting to push RSS for all sorts of data that should be inherited around the web – although, he has stated before that he likes JSON – I think – My memory is not so good, even my girlfriend has been complaining about it.

Either way, I’m just going to take a small amount of time here to list why I no longer like XML and RSS for portable data.

It’s too low-level.

XML and RSS are a markup language, of course.  It’s very low-level code, and is generally a pain to parse in any language.  Which is why I prefer JSON.

It’s high-level code.

JSON is a very simple object – It’s basically an array of data.  Here is some XML vs. JSON:

XML

<data>

    <user id="876232">

        <name>User Name</name>

        <screenName>User</screenName>

    </user>

</data>

JSON

"user":["id":876232,"name":"User Name","screenName":"User"]

Even though you can get similar results by making id its own tag in the XML, its still difficult to parse.  Where as with JSON, the data is already formatted and easily accessible.  Especially in my favorite language, PHP.

// For Json

    $json = json_decode($data,TRUE); // Decodes JSON and makes it a true array

    $id = $json["user"]["id"];

    $name = $json["user"]["name"];

// For XML

    $xml = new SimpleXML($data);

    $id = $xml->user["id"];

    $name = $xml->user->name;

The two are very close, but in the end JSON is more simplistic – because its such a high-level language.

Tagged as: , , , No Comments
19Nov/090

Twitter API Library Build 13 (Breaking Change)

I pushed Build 13 today.  This build adds the recent addition of descriptions to a user’s list.

This change breaks:

  • TwitterAPI::lists_create and
  • TwitterAPI::lists_update

The new profiles for these commands are as follows:

TwitterAPI::lists_create( str $name [, str $description = NULL [, bool $privacy = TWITTER_PRIVACY_PUBLIC ] ] )

TwitterAPI::lists_update( str $name [, str $new_name = NULL [, str $description = NULL [, bool $privacy = NULL ] ] ] )

17Nov/090

Twitter API Library Build 12

If you’ve been watching this blog, you’ll notice I skipped Build 11 – It was small, and was trumped by its quick replacement – Build 12.  Builds 11 and 12 fixed five previous known issues, while build 12 fixed a non-issue with build 11.  Fixes listed below:

  • The following now work with all users:
    • Twitter::get_sn_from_id()
    • Twitter::get_name_from_id()
    • Twitter::get_id_from_sn()
    • TWML::name()
    • TWML::profile_pic()
  • Addition of User Cache commands for use by TWML and the get_x_from_y() commands.

As always, the most recent build is available at github.

17Nov/090

Twitter API Library Version 0.2 Build 10

I pushed Version 2 Build 10 of the Twitter API Library to github.  This new version still does not fix any of the previous errors, so the changelog is quite minor.

  • Updated to TwitterOAuth v0.2-beta
    • "fixes several bugs"
    • Support for OAuth 1.0a
  • Added a boolean return to require_login().
16Nov/090

Twitter API Library Build 9

I’ve pushed Build 9 of the Twitter API Library to github today.  Interesting thing, it adds a few missing API features but does not yet fix any of the previous problems.

New features are all Authenticated API Calls:

  • search
  • trends
  • trends_current
  • trends_daily
  • trends_weekly
  • users_search
  • trends_available
  • trends_location

Yes, that means that we’ve added support for the following portions of the twitter api:

  • Search
  • Trends
  • User Search
  • Local Trends

Enjoy, and as always please report any and all errors you get.

13Nov/090

Twitter API Library 0.2 in Near Future

Some of the current issues with the Twitter API Library seem to be with the Twitter OAuth library we’re using courtesy of Abraham Williams.  I looked into simply updating the code to the newer version of TwitterOAuth, but it seems that are multiple incompatibilities that prevent us from doing so, requiring a rewrite of some of the automated authentication code.  As much of a bad thing that this is, it is a good thing as well, and hopefully the newer version of our library will add some much desired features.

Until then, v0.1 will still work for most things.

9Nov/090

Twitter API Library – Build 8

I’d like to introduce Build 8 to the masses.  Sorry for the long delay in posting, but I was working on a new Twitter Client, TwCLI (which uses the Twitter API Library and is Open Source).

Build 8 contains unsupported support for Twitter Lists.  Basically, we have built Twitter lists into the library, but a large number of functions are not working for what seems to be an incompatibility between our OAuth Libraries and Twitter.

Change Log:

  • Added array api->lists_update( string $old_name, string $new_name = null, string $privacy = null) [Working]
  • Added array api->lists_get( string $screen_name = null, int $cursor = null)
    $screen_name defaults to the logged in user if set as null. [Working]
  • Added array api->lists_display( string $screen_name, string $list_slug) [Unverified]
  • Added array api->lists_statuses( string $screen_name, string $list_slug, int $since_id = null, int $max_id = null, int $count = null, int $page = null) [Working]
  • Added array api->lists_memberships( string $screen_name, string $list_slug, int $cursor = null) [Unverified]
  • Added array api->lists_subscriptions( string $screen_name = null )
    $screen_name defaults to the logged in user if set as null. [Unverified]
  • Added array api->lists_destroy( string $list_slug ) [Not Working]
  • Added array api->list_members( string $screen_name, string $list_slug, int $cursor = null ) [Unverified]
  • Added array api->list_membersAdd( string $list_slug, int $user_id ) [Working]
  • Added array api->list_membersDelete( string $list_slug, int $user_id ) [Unverified]
  • Added array api->list_isMember( string $screen_name, string $list_slug, string $screen_name_to_check ) [Unverified]
  • Added array api->list_subscribers( string $screen_name, string $list_slug, int $cursor = null) [Unverified]
  • Added array api->list_subscribe( string $screen_name, string $list_slug ) [Unverified]
  • Added array api->list_unsubscribe( string $screen_name, string $list_slug ) [Unverified]
  • Added array api->isSubscriber( string $screen_name, string $list_slug, string $screen_name_to_check ) [Unverified]

Known Issues:

  • No Support for Unauthenticated Requests.
  • $tw->name() does not support users other than the currently logged in user.
  • $tw->profile_pic() does not support users other than the currently logged in user.
  • $twitter->get_sn_from_id() does not support users other than the currently logged in user.
  • $twitter->get_name_from_id() does not support users other than the currently logged in user.
  • Two instances of Twitter API Library can not co-exist on the same sub-domain.
  • $twitter->api->lists_destroy() is returning “Incorrect Signature.”
6Nov/090

Twitter API Library – Build 7

Well, this is going to break some things if you’re using an older build.  Primarily any method that required the ID/Screen Name/User ID of a user.  I thought I had pushed out this change before the Build 4 release, but apparently it was still on my computer.

Now, any API methods that were function( mixed $id = NULL, string $screen_name = NULL, int $user_id = NULL ) are now: function( mixed $id, int $id_type = TWITTER_ID ). $id_type can be one of “TWITTER_ID” (lets twitter decide if you’re using a screen name or user id), “TWITTER_SN” (tells twitter you’re using a screen name) or “TWITTER_UID” (tells twitter you’re using a user ID).  This parameter may be omitted and will default to TWITTER_ID.

URI: http://sandbox.gtaero.net/twitter_api/code.php?b=7

Change Log:

  • Changed Tri-optional User Identification procedure in the API methods to Two Parameters $id and $id_type.
  • Added array api->lists_create( string $name [, int $privacy = TWITTER_PRIVACY_PUBLIC ] )
  • $privacy may be one of TWITTER_PRIVACY_PUBLIC or TWITTER_PRIVACY_PRIVATE

Known Issues:

  • No Support for Unauthenticated Requests.
  • $tw->name() does not support users other than the currently logged in user.
  • $tw->profile_pic() does not support users other than the currently logged in user.
  • $twitter->get_sn_from_id() does not support users other than the currently logged in user.
  • $twitter->get_name_from_id() does not support users other than the currently logged in user.
  • Two instances of Twitter API Library can not co-exist on the same sub-domain. (All Versions)