DABR Twitter Web Client Mini Blog Yo Mama Jokes Sports Bookmarklets About Us

January 11, 2010

She’s A Small Wonder

Filed under: Tech — Tags: , , , — webadmin @ 4:48 pm


 

Case in point, meet the delectable Roxxxy, the creation of former Bell Labs engineer Douglas Hines and his new company TrueCompanion, and offered up as the world’s first sex doll with a replicated personality.

Showcased during the AVN Adult Entertainment Expo in Las Vegas, the unnervingly realistic doll is not only able to hear, listen, speak and sleep, but also has five preset character personalities and can even feel and react to the physical touch of her owner – shudder.

For prospective buyers keen to know more about lovely Roxxxy’s ample assets, she is five feet and seven inches tall, weighs a svelte 120 pounds, wears a full C-cup bra, and is always ready to deliver personal satisfaction.

On the more technical side, Roxxxy’s life-like synthetic skin hides an anatomically correct articulated skeleton that replicates human movements, and she even has a mechanical heart that’s responsible for powering an internal liquid cooling system.

Roxxxy’s specific personalities include Wild Wendy, who’s supposedly adventurous and aggressive, while Mature Martha is extremely caring and motherly, and S&M Susan is… well… you don’t really need a description for that one.

Posted via web

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

November 24, 2009

Palm Pre Review In Short: “Suck It, iPhone Cult Members!”

Filed under: Cell Phones, Palm, Tech, iPhone — Tags: , — webadmin @ 9:41 am


 
Amazon.com: Dr. Dan’s review of Palm Pre Phone (Sprint)
Here’s what I think Palm’s slogan should be: “Multi-tasking. We do it on our computers and in our everyday lives… why should our phones be any different?” Sadly, their commercials feature some creepy chick talking about jugglers and mind reading. Oh, well.

When I read about multi-tasking on the Palm Pre, it looked cool. When I played with the mult-tasking feature in the Sprint store, I thought it was really cool. But when I LIVED with multi-tasking, I realized I would never own another phone that doesn’t do this. It doesn’t always work perfectly… sometimes there are issues with lag but once you learn which apps are resource hogs you get the hang of how to operate with it.

Here’s some real-world examples of how I use multitasking…

“Day-to-day”
I consistently have email, texting, Twitter, phone, and my Palm OS emulator (for my medical apps) open at all times. No need to search for buttons or menus. Just flick and I’m there.

“The Drive”
A while back my boss drove me down to New Orleans. I SIMULTANEOUSLY…………
– Ran turn-by-turn navigation with spoken street names (thru car speakers)
– Ran Pandora (also thru car speakers)
– Sent MMS messages to my folks
– Tracked my wife’s flight to Puerto Rico in real-time, using FlightView
– Viewed a PowerPoint presentation
– Sent that powerpoint presentation via email to a colleague

“Ordering Pizza and a Movie”
Just the other day my wife called me from the road to ask where she could get a movie rental and pick up a pizza in her area. I SIMULTANEOUSLY……….
– Ran my Google maps which found the nearest Blockbuster and pizza place to her,
– Ran Flixster and read Rotten Tomato reviews of different movies
– Texted my wife back and forth with my recommendations.

“Email + Messaging”
I can have both my email and texting apps open, and copy/paste from one into the other

“No Wifi headaches”
Here’s a big one! I can enable/disable Wi-Fi without leaving the web page I’m on or the email I’m trying to download. Just touch the top of the screen for the menu and I’m done!

Here’s an interesting Palm Pre vs. iPhone Twitter comparison I read: If you’re tweeting on the iPhone, and want to email a post, you have to:
1) Click the email hyperlink.
2) Twitter app closes.
3) iPhone email app opens.
4) Send email.
5) Close iPhone email app.
6) Open Twitter app.
7) Navigate back to the Twitter post of interest.
On the Palm Pre, you can simply leave Twitter open, and simply flip over to email and back.

just wish there were more OFFICIAL apps

Posted via web

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

More DABR Goodness: Unshortening Short URLs



 

I’m loving DABR – makes me want to find a way to load XAMPP on my phone. Anyways I’ve made a few more tweaks to my codebase recently. Inspired by this Terrence Eden post…:Expanding URLs in Dabr / Twitter – Terence Eden’s Blog

I hate shortened URLs with a passion. It makes it hard to see what a link is and whether I’ve visited it before. If they fail – like tr.im threatened to do – you lose your links with no way to see where they once went.

So, hurrah for LongURLPlease – a service which takes those horrid little links and turns them in to full sized URLs.

…I went about implementing this longurl scheme and having the long URL show in the tweet. But to make it so that it the tweet isn’t dominated by a 600 character URL (and reduce some of the benefit of short URLs) I figured I could try to make it only display the domain name of each link while still keeping the actual link in the HTML – much like they do at slashdot. Easy peasy, I thought. Just uncomment the LONGURL_KEY in config.php and move the gwt code from the twitter_parse_links_callback function to the theme_external_link function in common/twitter.php. Right?

function twitter_parse_links_callback($matches) {
  $url = $matches[1];
  if (substr($url, 0, strlen(BASE_URL)) == BASE_URL) return "<a href='$url'>$url</a>";
  return theme('external_link', $url);
}

function theme_external_link($url, $content = null) {
     //Long URL functionality.  Also uncomment function long_url($shortURL)
     if (!$content)
     {
          $longurl = long_url($url);
          $domain = parse_url($longurl,PHP_URL_HOST);
          if (setting_fetch('gwt') == 'on') {
               $encoded = urlencode($longurl);
               $longurl = "http://google.com/gwt/n?u=$encoded";
          }
          return "<a href='$longurl' target='_blank'>[".$domain."]</a>";
     }
     else
     {
          return "<a href='$url' target='_blank'>$content</a>";
     }
}

Well, not so much. Because of some of the mechanisms in identifying links and adding the appropriate HTML, I broke the image-service thumbnail code and had to think through how this was going to work out. It ended up with me changing the twitter_photo_replace and my twitlonger_replace functions to only return the addendums (if any) and not the entire tweet text

function twitter_photo_replace($text) {

.
.
.

  if (!empty($images)) 
     return implode(' ', $images).'<br />';
}  

function twitlonger_replace($text) {
  $tmp = strip_tags($text);

  if (preg_match('#http://tl.gd/([dw]+)#', $tmp, $matches)) {
.
.
.
     $returntext = "<p style="padding:5px;margin:5px;border:thin dashed;">$longtweet</p>";//$text";
    return theme('external_link', $matches[0], $returntext);
  } else {
     return "";
  }
}

then I changed how the twitter_parse_tags function called them and appended the data. Also important is to make it use the original unaltered tweet ($input) as a source rather than the modified one with the links ($out).

function twitter_parse_tags($input) {
.
.
.

  if (!in_array(setting_fetch('browser'), array('text', 'worksafe'))) {
    $twitlonger = twitlonger_replace($input);
    $out = twitter_photo_replace($twitlonger.$input).$twitlonger.$out;
  }
  return $out;
}

Dabr Decoding Short URLs

The results, though, are great . Nice and clean. As mentioned on other pages, the overhead may be a bit much for more than your personal web server, but I love the change. One byproduct as well is that now any posts with images in Twitlonger that don’t get into the original tweet will have their photo thumbnail displayed too. 5% scenario – yes, but still icing :)

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

November 23, 2009

Ping.fm PingDash Bookmarklet



 

I may have stumbled on a great workaround for the PingOut problem. When last I addressed this:

Ping.fm PingPlus Bookmarklet | myopiclunacy.com

UPDATE (Nov 18, 2009): Commenter Andy pointed out another Ping.fm Bookmarklet on Mentoliptus that uses the PingOut popup. This popup is a hell of a lot nicer than the Ping This interface and gives you all the options of posting to single services or groups. Only thing is that it’s context insensitive. I tried passing parameters to it but it ignored them all. So for now I’ll continue using PingPlus as it is for context sensitive stuff until hopefully they update the PingOut interface to allow URL parameters. That would be the holy grail Ping bookmarklet!

Well, the Pingout page doesn’t accept URL parameters, but it seems the Dashboard page does! So a quick change to the PingPlus bookmarklet and we’re a lot closer to the holy grail:

PingDash

Works the same way except it takes you to the Ping.fm Dashboard with status already filled in and you have complete control over the services, groups, or whatever you want to Ping.

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

November 21, 2009

now THIS is a thumbdrive

Filed under: Tech — Tags: , — webadmin @ 5:00 pm


 

Perfect stocking stuffer, no?

Posted via web

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

November 19, 2009

Google Images Bookmarklet



 

A cool little script I cobbled together for making Google Images thumbnails link directly to the image instead of going to the split-frame of the page it came from. I did it partly because the CustomizeGoogle extension to Firefox seems to have lost this feature and partly so I can use it on other browsers as well. It’s spaghetti code (for javascript), but it’ll do.

GoogleImages

Helpful when looking up pictures of Megan Fo… I mean the Green Bay Packers! :)

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

November 18, 2009

Ping.fm PingPlus Bookmarklet



 

UPDATE: Better bookmarklet here? Check it out!


One more Ping.fm goodie. I wrote before about Ping.fm:
Ping.fm is a very slick service that allows you to ping, or update all your blogs, social networks or other presence apps at once via the web, IM, SMS, email, and a variety of other ways. For example, you can update your Facebook and Twitter with the same status from IM, post new photo blogs to your Flickr and your Tumble blog from your Cell phone, or update your Blogger, LiveJournal and Wordpress.com blogs via email. It’s extremely flexible and customizable with groups, directives, link tracking and more. It could very well be the glue that keeps all our online identities in sync.

I’m one who doesn’t like browser-specific toolbars but adores bookmarklets because they’re portable across browsers/systems (most of the time). Well Ping.fm has a basic bookmarklet that grabs the page name and title:

Ping this! Bookmarklet

Drag this link to your browser’s bookmark toolbar or other area where you save bookmarks and grasp the power of Ping.fm with the click of a button! Instantly post links to your social networks with the Ping this! bookmarklet.

Ping this!

But as I did with the Twiit bookmarklet I think it’d be nice to capture some selected text along with the page title . It makes even more sense for Ping.fm as you’re not necessarily constrained by a character count as you are in Twitter. So here it is:

PingPlus

Drag it to your links/bookmarks bar and when you get on page you want to Ping, click the bookmarklet. As with Twiit, this bookmarklet captures the link, title, and any selected text on the page you want to share and forwards it to the Ping this! page.

Happy pinging.

UPDATE (Nov 18, 2009): Commenter Andy pointed out another Ping.fm Bookmarklet on Mentoliptus that uses the PingOut popup. This popup is a hell of a lot nicer than the Ping This interface and gives you all the options of posting to single services or groups. Only thing is that it’s context insensitive. I tried passing parameters to it but it ignored them all. So for now I’ll continue using PingPlus as it is for context sensitive stuff until hopefully they update the PingOut interface to allow URL parameters. That would be the holy grail Ping bookmarklet!

I’ve also added a Ping button to the Twiit bookmarklet page

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

November 17, 2009

Blip.fm Embed Code Bookmarklet



 

If you’re a longtime user of Blip.fm for social music networking, you’ll know that this awesome service has been redesigned recently with new functionality. More access to stuff, more options – great, right? Unfortunately in the changes it seems the embeddable player was left out.

Not to worry, with this little bit of javascript bookmarklet you can get that functionality back. Just drag this bookmarklet link:

BlipEmbed

to your Links/Bookmarks bar and click it when you’re on an individual blip page. If you’re not sure you’re on the individual page, click the date and time of the blip as seen here:

Single Blip

When you activate the bookmarklet it will pop up a message with the HTML Embed code in the text box, just copy that all and paste it in your favorite web site, social networking site, etc and it will look something like this:

Easy Peasy. At least until they change this feature too – ha! Let’s hope not anytime soon.

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

November 15, 2009

Integrating Ping.fm and Wordpress (quick and dirty)



 

More social networking script goodness – this time with Ping.fm. Ping.fm is a very slick service that allows you to ping, or update all your blogs, social networks or other presence apps at once via the web, IM, SMS, email, and a variety of other ways. For example, you can update your Facebook and Twitter with the same status from IM, post new photo blogs to your Flickr and your Tumble blog from your Cell phone, or update your Blogger, LiveJournal and Wordpress.com blogs via email. It’s extremely flexible and customizable with groups, directives. link tracking and more. It could very well be the glue that keeps all our online identities in sync.

The one hole it does have (that affects me) is the self-hosted Wordpress blog. There are lots of cleaner alternatives to this problem and surely this little code exercise of mine isn’t meant to be a replacement for a good wordpress plugin like Matt Jacob’s Ping.fm WordPress Plugin. It’s just a quick and dirty way to get things working in a hurry.

I cobbled it together based on some code to post to the WP database that I found from DanBrown on SitePoint Forums as well as the Ping.fm Developer docs. It’s a page that also allows for some testing with form inputs. Place it in the root of your Wordpress installation and set up the page link in Ping.fm as a Custom URL. Hope it helps someone!


Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

Roll Your Own Twitter Web Client



 

As I get more and more into this Twitter thing, I’ve struggled like everyone else to find the perfect web client. I prefer web clients over heavy desktop apps because they can be used on any platform from mobile phone to Windows, Mac or Linux browser. The Twitter web client (both the regular and the mobile versions) just don’t work. Too much of one thing and not enough of another.

In my searching, I came across one mobile effort that seemed to combine the best features of the best desktop apps with the ease and flexibility of a web client. And better yet for a tinkerer like me – it was open source:dabr.co.uk – About

Dabr is a mobile web interface to Twitter’s API. It has been described as m.twitter.com on steroids, and tries to provide as much mobile functionality as possible.

It’s an open source project created and maintained by @davidcarrington, inspired by some suggestions from @whatleydude – who remains a keen user and strategic advisor on many of the features that make dabr what it is today.

The project is built on your feedback, literally! Your ideas aren’t just welcome, but are the driving force that makes Dabr improve and hopefully be your mobile twitter client of choice. So please get in touch :)

Great. This is a quality effort that includes tweeting, deleting, retweeting, replying, favoriting, following and unfollowing, blocking, searching, trends, hashtags, and even Twitpic! So immediately when loading this code on my machine (code and instructions here) I set about implementing a different url shortening service – u.nu. Not only are url’s shorter than the default bit.ly service, it also doesn’t require me to set up an account. If it’s free it’s me! The other feature I wanted to add in was calling TweetShrink for tweets over 140 characters. I add some code also to truncate with ellipses if Tweetshrink doesn’t achieve the desired savings, but this could easily be changed to do multiple tweets. Maybe that’s the next tweak!

UPDATE (Nov 19): Added decoding for imgur images and TwitLonger tweets.

Here are the code changes (in bold) that I made to twitter.php. just do a find for the function names as the file is quite large:

function twitter_url_shorten_callback($match) {
  if (preg_match('#http://www.flickr.com/photos/[^/]+/(\d+)/#', $match[0], $matches)) {
    return 'http://flic.kr/p/'.flickr_encode($matches[1]);
  }
  return file_get_contents("http://u.nu/unu-api-simple?url=" . $match[0]);
}

function twitter_update() {
  twitter_ensure_post_action();
  $status = twitter_url_shorten(stripslashes(trim($_POST['status'])));
  if ($status) {
    if (strlen($status)>140)
    	$status1 = file_get_contents("http://tweetshrink.com/shrink?format=string&text=" . urlencode($status));
    if ($status1 && strlen($status1)<141)
    	$status=$status1;
    if (strlen($status)>140)
    	$status=substr($status,0,137) . "...";

    $request = 'http://twitter.com/statuses/update.json';
    $post_data = array('source' => 'dabr', 'status' => $status);
    $in_reply_to_id = (string) $_POST['in_reply_to_id'];
    if (is_numeric($in_reply_to_id)) {
      $post_data['in_reply_to_status_id'] = $in_reply_to_id;
    }
    $b = twitter_process($request, $post_data);
  }
  twitter_refresh($_POST['from'] ? $_POST['from'] : '');
}

function twitter_parse_tags($input) {
  $out = preg_replace_callback('#(\w+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)(?<![.,])#is', 'twitter_parse_links_callback', $input);
  $out = preg_replace('#(^|\s)@([a-z_A-Z0-9]+)#', '$1@<a href="user/$2">$2</a>', $out);
  $out = preg_replace('#(^|\s)(\\#([a-z_A-Z0-9:_-]+))#', '$1<a href="hash/$3">$2</a>', $out);
  if (!in_array(setting_fetch('browser'), array('text', 'worksafe'))) {
    $out = twitter_photo_replace($out);
    $out = twitlonger_replace($out);
  }
  return $out;
}

function twitlonger_replace($text) {
  $tmp = strip_tags($text);

  if (preg_match_all('#tl.gd/([\d\w]+)#', $tmp, $matches, PREG_PATTERN_ORDER) > 0) {
    foreach ($matches[1] as $key => $match) {
      $longtweetraw = file_get_contents('http://tl.gd/'.$match);
      $longtweet = preg_replace(array('/\n/','/<br..>/')," ",$longtweetraw);
      $longtweet = preg_replace('/(.*)id="replybutton"(.*)\<p\>(.*)\<\/p\>(.*)p class="clientlink"(.*)/',"$3",$longtweet);
      $longtweets[] = theme('external_link', "http://{$matches[0][$key]}", "<p style=\"padding:5px;margin:5px;border:thin dashed;\">$longtweet</p>");
    }
  }

  if (empty($longtweets)) return $text;
  return implode('', $longtweets).''.$text;
}

function twitter_photo_replace($text) {
  $images = array();
  $tmp = strip_tags($text);

  // List of supported services. Array format: pattern => thumbnail url
  $services = array(
    '#youtube\.com\/watch\?v=([_-\d\w]+)#i' => 'http://i.ytimg.com/vi/%s/1.jpg',
    '#twitpic.com/([\d\w]+)#i' => 'http://twitpic.com/show/thumb/%s',
    '#imgur.com/([\d\w]{5})[ls]?[\.\w]+#i' => 'http://imgur.com/%ss.png',
    '#imgur.com/gallery/([\d\w]{5})#i' => 'http://imgur.com/%ss.png',

.
.
.

Bookmark and Share Blog This Facebook Twiit Google Yahoo! Buzz Ping StumbleUpon Fark Propellor Netvouz Newsvine reddit Simpy Blinklist Blogmarks Mr Wong Startaid Segnalo Wists Boxed Up

Popularity: unranked [?]

Powered by WordPress

Blog Information