Search Logger
Category: Yahoo News

Yahoo News

Cropmarks, ‘Shrek fish,’ and Goats on a Rail: Buzz Week in Review

7:01 pm - September 3, 2010 in Yahoo! Buzz Log

by Mike Krumboltz

Some people say there's nothing new under the sun, nothing left to see that hasn't already been seen. Well, phooey to that! This week, the weird and wild took over the Web. There were unusual cropmarks, an ogre-like fish, and a couple of goats who clearly took a wrong turn while out for a stroll. Check out those stories and more with the Buzz Week in Review.

Cropmarks surface
The crop markings turning up in England don't come from aliens, but their story is arguably just as interesting. A buzzy article from the BBC shed some light on the strange story. Thousands of years ago, there were settlements across the English countryside. In the many years since, crops have grown where the buildings once were. Here's where it gets cool. Aerial photos "show marks made when crops growing over buried features develop at a different rate from those nearby." It's a bit like looking at a blueprint from thousands of years ago, and it hasn't happened since 1976. Check out the photos here.

'Shrek fish' makes waves
Shrek, that green ogre of animated movie fame, may have a long-lost relative. This past week, some footage made its way on to the Web that shows an unfortunate-looking fish with a striking resemblance to the swamp-loving grouch. Featured on morning news programs as well as many other outlets across the Web, the footage helped to cause a serious surge in searches for "shrek fish," "asian sheepshead wrasse," and "fish that looks like shrek." Below, you can check it out for yourself. Footage courtesy of WYFF.

 

 

Goats on the rail
Our third and final entry for "Things You Don't See Every Day, but You Did This Week," is a pair of goats who, somehow, wandered onto the thin rail of a bridge. Stuck up there for two days, the pair was finally brought back down to the ground. The bizarre incident took place outside Billings, Montana, and authorities are currently trying to figure out where the goats came from. According to an article from the AP, people have already offered to adopt the pair, should the owner not come forward. May we humbly suggest someone with a fenced yard?

Also buzzing this week...
• Hankering for some cinematic ultra-violence? Get thee to a showing of "Machete."
• Jerry Lewis has little sympathy for Lindsay Lohan.
• Big Ben's NFL suspension was cut to four games.

Follow Buzz Log on Twitter.

Follow us on Twitter

 

Axl Rose: Tour Tantrums Leave Sour Note

2:26 pm - September 3, 2010 in Yahoo! Buzz Log

by Claudine Zap

The "Late" Axl Rose

Here's some advice for any rock star wannabes. Show up to your shows on time. Axl Rose and his Guns N' Roses band made the mistake of arriving an hour late at their latest gig in Ireland. They were greeted by flying water bottles and boos. And these are fans.

Rose told the crowd to shape up or they would take off. The crowd didn't, so the band did. But once the Dublin audience settled down — and after concert organizers turned up the lights and told attendees to go home — G N' R came back on stage and performed till 1 a.m. — to a mostly empty house.

The concert was such a disaster that Irish politicians got pulled in — demanding ticket refunds for confused audience members who left the building and missed the show.

The band leader has seemed a bit grouchy lately. The veteran performer — who has been tardy on many legs of this summer's European tour — was 35 minutes late for the Leeds Festival in Northern England last week and had the sound cut off before he could finish the set. That move resulted in Rose launching into an expletive-laced tirade at police and concert promoters. Paradise City, it was not.

Still, fans don't seem put off by the performance. Searches on Yahoo! for "axl rose" have soared over 3,000% in the last day. Lookups also included "axl rose pictures," "axl rose news," and "axl rose dublin."

The tour may have been doomed from the start. Axl Rose's Twitter account was hacked by a user who announced the concert schedule had been canceled. Not true. But for a rock star returning to the limelight after decades as a Malibu recluse — not helpful. Axl, welcome to the jungle.

Follow us on Twitter

 

A highly scalable YQL + JavaScript use case

2:00 pm - September 3, 2010 in Yahoo! Developer Network Blog

Yahoo! Query Language (YQL) provides a rich, dynamic method for obtaining and manipulating data from any source or API on the internet. With YQL, the internet becomes your database. By coupling the data backend of YQL with the extensive data visualization and flow techniques of JavaScript (through libraries such as YUI), a developer can build powerful widgets and data systems using the simplified SQL syntax on which YQL is based.

YQL Console with community tables displayed

The marriage of YQL and JavaScript brings a robust MVC interface to the browser. This article guides you through a highly scalable YQL/JavaScript use case.

Contents

YQL overview

YQL is a utility that’s akin to a massive open database system. Whether it’s for pulling data from wrapped APIs, feeds such as XML or CSV, or scraping results from an HTML page, YQL provides a simplified SQL-like syntax for accomplishing nearly any data-capture task — all without the need for the overhead of a database system.

Just to put this into context, a simple YQL statement will follow the standard SQL syntax of SELECT something FROM table WHERE field=value such as the one displayed in Listing 1.

SELECT * FROM flickr.photos.search WHERE text='san francisco' 

Listing 1 – Simple YQL Query

There are many openly available data sources in the YQL library for developers to use. Yahoo! has opened up dozens of tables linking to its own data sources, such as Flickr, Geo, Maps, and Search.

On top of this, the YQL team has opened up the platform with “Open Data Tables”. Developers can use a standard XML syntax to wrap APIs or data sources for any data needs they may have. The tables can then be used in your query with a simple call to USE 'table url' AS table name, or a developer can issue a pull request to the YQL github account to have their table added to the community table listing for everyone to use.

When a new API is being used as a data source for a project, much of the time is spent massaging the data that you obtain into a format that fits that needs of the project, and then dealing with the processing overhead on all requests within a server environment. When you’re creating your own open data table, you can embed server-side JavaScript to manipulate the data results from an API before they are ever returned from the Yahoo! servers. Those results are processed within the massive Yahoo! data pipe, so the overhead is never felt by the end user.

Going a step further, YQL not only has data-wrapping capabilities, but also includes the ability to use INSERT, UPDATE and DELETE functionality on any service that has the ability to process those requests.

The concept of YQL is a simple one: provide a highly scalable, responsive system for obtaining and manipulating any available data using a version of a well-known language standard. Using this concept, we can apply any number of design patterns and visualizations to the raw data source provided by YQL.

A functional Design Model use case

I was trained in the traditional computer science software engineering realm, but have been working with development projects in the front-end field for over 13 years. That said, there are numerous techniques that I appreciate from software engineering which I normally don’t see applied when developing JavaScript or front-end projects. Specifically, the idea of a Model View Controller (MVC) design pattern is one that I find I fall back on quite a bit in my software engineering. An MVC design pattern will basically just outline three core separations in the development of software. Our Model is the raw data source (e.g., YQL or a database), the View is the visualization (e.g., YUI charts, HTML/CSS, or Flash) of said data for end-user interaction, and the Controller is the data processor and event handler (e.g., YUI GET/Connection Manager, YUI Events).

Now, why is this important, and what does it have to do with YQL? Well, oddly enough, the use of YQL as a data source (or Model) makes it beautifully equipped for layering on Controller and View patterns through a multitude of JavaScript libraries available, such as YUI, JQuery, Dojo, etc. Not only does the coupling of a JavaScript library with YQL give you an incredibly powerful set of features at your command, but developing with a design pattern such as MVC makes any project highly scalable, makes the code easier to update, and lets numerous developers work on the same module within their own development silos. Browser MVC is a wonderfully simple and approachable pattern that I believe lends itself perfectly to YQL parsing and consumption.

A practical use example

We’ve gone through the “what” and “why’, so let’s dive into the “how” of this merger. What I’m going to run through is the process of how to build a purely HTML- and JavaScript-based generic component to pull data from YQL, parse it, and then display it on a page. I’ll use YUI for the data pipe and a custom string filter with some CSS for the data format.

The full code base for this widget can be found on GitHub.

The Markup

To initialize and display the YQL query and display structure, the widget uses a few configuration variables for everything from displaying debug information to the HTML formatting of results (see following listing).

Listing 2 – JavaScript YQL Widget Markup

Let’s take a closer look into this configuration snippet and run through what everything is doing here. The first thing we need to do is attach the JavaScript widget core file through a script source include. This will attach the yqlWidget object for all of the AJAX and parsing functionality.

The configuration script block contains the full feature customizations needed to set up this example. We start off by setting up a few initialization settings — this is really just for error logging to the firebug console if something is failing within the system. The formatstring is the next piece of the puzzle, which outlines how each element returned by the YQL query will be rendered. For each result that is returned by YQL, this format will be applied to it. Every item of text in the format variable that is wrapped in curly brackets (e.g. {content}) directly maps to a piece of data returned by the YQL. When the data is parsed, these references will be replaced with their real results.

This approach to the format variable in this snippet is a very simplified example – ideally, you would want to separate the view even further into its own file that is then stored into the variable. The actual YQL statement that we will be making is the next step – we’ll go into this in full detail in the next section. The insertEl variable stores the id of the DOM node that we will insert our rendered HTML into. Finally, we call the push() method to load the request to render this widget onto an array stack, and we then call the render() method to load all widgets on the stack.

The Query

Now that we’ve gone through the markup structure for the widget, let’s take a closer look into the YQL sub-select portion of the query itself within Listing 3.

(SELECT match.place.centroid.latitude, match.place.centroid.longitude FROM geo.placemaker 
WHERE documentURL = 'http://www.cnn.com/' AND documentType='text/html' AND appid='') 

Listing 3 – Widget YQL Query: The Sub-Select

The inner query denoted in Listing 3 defines the core data obtained by YQL. For this query we are capturing the latitude and longitude of all geographical locations obtained by scraping the data within an external URL (in this case, http://www.cnn.com) using the Yahoo! Placemaker table. In the background, the Placemaker table is parsing through the text on the homepage of CNN to find geographically significant words (such as “Sunnyvale, California”). Once these locations are obtained, they are compared against our geo database to convert the real text name into geographically significant data, such as latitude and longitude. After running this, we are left with an array of latitudes and longitudes for all obtained geo locations, to which we can apply the next piece of the puzzle (Listing 4).

SELECT * FROM maps.map WHERE (latitude, longitude) IN 

Listing 4 – Widget YQL Query: The map lookup

The second part of the query is a simple static map image lookup using the Yahoo! Maps table. What we are doing here is selecting the map data contents that have a latitude and longitude within the results returned by the inner query. The IN clause denotes a sub-select join. In the case of this maps table, the main data returned is “content”, which houses a png map image.

The Public Widget methods

The yqlWidget object contains all parsing and AJAX methods needed to take the configuration variables defined in the markup and
build them into visible results. yqlWidget utilizes closures to encapsulate the core methods; in said closures, we control which methods we want to hook into the object by returning them (Listing 5).

Listing 5 – Widget Public Methods

This list of methods will act as our looking glass into the parsing and connection features of the widget.

The push() method is going to do as the name implies; when called with the standard configuration settings, push will create an anonymous function call to init, which will begin the loading of the widget. This anonymous function is then pushed on the end of the array load stack, which follows standard FIFO (First In First Out) load order.

Much like the push method, render() will begin the widget loading process by trying to pop off one of the anonymous functions pushed to the stack in the push method. If one is available, it will immediately execute the function.

The init() method is in place to get the load process started. Init will be executed from the functions popped off of the stack in the render method. This will just verify that all data is set and then begin the widget initialization process.

The last of the public methods, getYQLDataCallback(), is the callback function that will be executed when our YQL request
completes. One of the wonderful pieces of functionality built into YQL is that you can not only return data as XML or JSON, but also as JSONP and JSONP-X. This allows a user to wrap JSON / XML output in a callback function that is executed when the data is returned.

Let’s say you’re running a cross-domain access script that captures data from an external source through a server side proxy; if you use YQL, a JavaScript callback that you have defined on your page will be called once all of that data capturing is complete. That is exactly what this function is — a YQL callback that checks to make sure that data results are returned and then passes those results on to our parsing method.

The Private Widget methods

When the public methods are called, they will have references in memory to where the private methods are located. Outlined below is the flow that the widget functionality takes, from the point of the public init() method, where we begin rendering the widgets that are pushed on to the load stack. Before I do that though, there are some private variables that we will need for this process which are displayed in Listing 6.

Listing 6 – Widget Private Variables

Besides the obvious configuration storage variables, there are two noteworthy items here. yqlPublicQueryURL is the URL string to which we will make our public YQL query. This will eventually get chained with the actual query, response format, and callback. The other item is regex, which has a specific purpose. That regex is used to replace the text between curly brackets with the resulting YQL data that was defined within our format variable in the markup section.

In addition to these variables, we need a few YUI libraries for cross-domain requests (Listing 7).

<script type='text/javascript' src='http://yui.yahooapis.com/2.7.0/build/yahoo/yahoo-min.js'></ script> 
<script type='text/javascript' src='http://yui.yahooapis.com/2.7.0/build/get/get-min.js'></script> 

Listing 7 – Widget Script Source Includes

With that said, the first method that will be called by init is getYQLData() (Listing 8), which accepts the YQL query from our configuration step as its single argument.

Listing 8 – Widget Private Method: Get YQL Data

This function is really the meat of our controller within the widget. First, we concatenate all of the configuration bits of the equation with the public YQL query URL. Since you can use env files to denote a series of open data table references, we then check if you would like to use your own set of tables within an env file; otherwise, the standard and community tables will be used for the query. If you do, it’s appended to the YQL public URL query. Lastly, we use the nice and easy YUI GET utility to make a cross-domain request to the URL.

There are two event methods attached to that GET request in order to handle a success or failure event. Since we’re using a callback within the YQL request (JSONP) that callback method will be called once the YQL request returns. Because the parsing is already handled, these status methods are just being used to output debugging messages as displayed in Listing 9.

Listing 9 – Widget Private Method: YUI GET Status Handlers

The data has returned from YQL, and our JSONP callback has been called, pushing the widget construction process to our next step — the parser. The purpose of the parser (illustrated in Listing 10) is to run through all results returned by YQL (the results variable passed to the method) and begin building up the data by applying the YQL results directly to the format HTML we created in the markup step.

Listing 10 – Widget Private Method: Parse YQL Results

There are several stages to note in the parseYQLResults() method. We start by capturing the first object node — not an ideal situation, but the result set returned by YQL follow a specific format. Once we have the root node for our results, we can then begin looping through all of the results returned by YQL. YQL returns an object for a single result, or an array for multiple, so in any event we’ll call parseFormat() on every result that is returned to us.

The purpose of parseFormat() (Listing 11) is to take each result returned by YQL and mash it together with the HTML formatting defined in the markup step.

Listing 11 – Widget Private Method: Parse Format

Map with latitude/longitude data from YQL queryThe code for this is short and sweet; we use our resultFormat variable, and the curly bracket-finding regex statement, to replace any content within curly brackets with the evaluated JSON YQL result. This mashed up string is then returned, where it’s added to the overall HTML results.

Once we have our full HTML string created, we insert the content into the DOM node that we defined in the markup step. After this, we return to the beginning of the load process (the render method) to check for the next widget on the stack, repeating this cycle all over again.

Since the purpose of this query was to capture map images, the content that is inserted into the page consists of a series of maps (Figure 1), each one representing a precise latitude/longitude location that was obtained by the YQL query by searching the content of the page which we defined with the URL in the markup stage.

Conclusion

The power behind YQL is truly in the never-ending amount of data that can be obtained from any source available on the internet, both public and private. On its own, the data resources are quite impressive, but when you take that resource a step further and couple it with extensive visualization and event management utilities (like the ones found in YUI ), you gain highly scalable and dynamic components in JavaScript, with very little effort.

[ Editor's Note: An earlier version of this article was published on JSMag in August 2009. ]

Jon LeBlancJonathan LeBlanc (@jcleblanc)
Senior Software Engineer / Technology Evangelist, Yahoo! Developer Network

 

Coming in YUI 3.2.0: SimpleYUI

1:18 pm - September 3, 2010 in Yahoo! User Interface Blog

The feature described in this article is available as of YUI 3.2.0pr2, and it will be a part of the upcoming 3.2.0 release. You can start playing with it today by following the code in this article.

SimpleYUI is a new way of loading and instantiating YUI 3. The SimpleYUI file contains a rollup of basic Ajax library functionality: DOM tasks, event abstraction, UI effects, and Ajax. Unlike other ways of loading YUI, SimpleYUI creates a YUI instance immediately upon loading and binds all included components to a global Y variable. Using SimpleYUI is easy:

<script type="text/javascript"
 src="http://yui.yahooapis.com/3.2.0pr2/build/simpleyui/simpleyui-min.js"></script>

<script>
 //Y is ready to use; no instantiation necessary:
 Y.one("#foo").addClass("highlight");
</script>

This isn’t a “lite” or de-contented version of YUI — you still have access to all of the power and features of the entire library when you start with the SimpleYUI file. However, SimpleYUI does provide a nice convenience by rolling up some common functionality and creating a global instance (Y) that’s ready to use immediately.

Work with the DOM

SimpleYUI gives you all of the standard DOM interactions in the YUI 3 API:

//get an element reference, add a click handler
Y.one('#demo').on('click', function(e) {/*handle click*/});

//add content to an element
Y.one('#demo').append('Additional content added to #demo.');

//listen for any click on any <li> that descends from #demo:
Y.one('#demo').delegate('click', function(e) {/*handle click*/}, 'li');

//move #demo to the location of any click on the document
Y.one('document').on('click', function(e) {
    	Y.one('#demo').setXY([e.pageX, e.pageY]);
	}
);

Create UI Effects

All of the UI effects that are part of the (new-for-3.2.0) YUI Transition module are available in SimpleYUI:

//fade #demo, then remove it from the DOM:
Y.one('#demo').transition({
    easing: 'ease-out',
    duration: 2, // seconds
    opacity: 0
}, function() {
    this.remove();
});

Ajax

SimpleYUI provides the IO module’s basic Ajax functionality:

// Make an HTTP request to 'get.php':
Y.io('get.php', {
    on: {
        complete: function (id, response) {
            var data = response.responseText; // Response data.
            // ... handle the response ...
        }
    }
});

The rest of YUI is just a use() away

You aren’t limited to what comes bundled with SimpleYUI. You can bring in any other YUI 3 component, YUI 3 Gallery module, or YUI 2 component with a simple use() statement at any time.

//Use drag and drop, which is not included in the SimpleYUI rollup:
Y.use('dd-drag', function(Y) {
    var dd = new Y.DD.Drag({
        node: '#foo'
    });
});

YUI 3 is good about loading anything you need whenever you need it; just master the use() statement and you’re always just one line of code away from anything in the library that you need.

Use SimpleYUI when…

  • …you want to get started fast and learn the ropes of YUI;
  • …you want to have basic Ajax library functionality available at any time in the life of the page without creating a new YUI instance.

Don’t use SimpleYUI when…

  • …performance matters more than convenience;
  • …you want to sandbox portions of your implementation into separate instances;
  • …you want to be deliberate about when different components load and what the precise module/submodule makeup is on the page.
 

Get Behind the Lens at the MTV VMAs with Yahoo! Search

12:00 pm - September 3, 2010 in Yahoo! Search Blog

We’re counting down to find out who will take home a Moon Man at the 2010 MTV Video Music Awards on Sept. 12, 2010. This year, Yahoo! is partnering with MTV to launch “Behind the Lens,” a video hub where you can see this year’s nominated videos with pop-up Flash overlays that help you discover information about the music artist and music video.

As you watch the music videos, keep an eye out for the pop-up search boxes on the right side of the screen. Watch B.o.B.’s Airplane on the Behind the Lens hub and you’ll see pop-up search boxes throughout the video.  Click on the Search Now button to discover more about things that you are curious about including producer Alex da Kid, the song’s female vocalist Hayley Williams of Paramore, or B.o.B’s hometown, Atlanta, Georgia.  It will bring you to the rich search experience on Yahoo! with news, photos, and related topics.

See B.o.B.'s Airplane on MTV Behind the Scenes, enhanced by Yahoo!

When you click on the Search Now button, you’ll see Yahoo!’s rich search results page with news, photos, and related searches. The Behind the Lens video screen pauses when you click the Search Now button and resumes playing the video where you left off when you click the video screen.

Yahoo! is also the official sponsor of the VMA on MTV.com’s live stream broadcast, including red carpet and backstage interviews. On the big night, you’ll see lots of Yahoo! integrations including relevant queries directing to Yahoo! Search, news updates from Yahoo! and MTV, and chats via Yahoo! updates, Facebook and Twitter.

Check out Behind the Lens and join us on VMA night to watch all the action, crazy onstage antics, and fan reaction!

Allan Ng and Hilda Chan
Yahoo! Search Marketing Team

 

Jessica Alba’s New Role, Axl Rose’s Bad Behavior, Amanda Knox News: What’s the Buzz

11:46 am - September 3, 2010 in Yahoo! Buzz Log

by Claudine Zap

Jessica Alba: Hot, Hot, Hot

Our top picks from the day's hottest searches.

  1. Axl Rose (Searches increased by 4,831%). The "Guns N' Roses" rocker was booed by fans in Ireland for being late. So he sent them home.
  2. "Transformers 3" trailer (+3,340%). There's more teaser video.
  3. Jessica Alba hot hot hot hot (+1,316%). Really, who are we to argue with that one? The actress is getting some notice for her new movie "Machete."
  4. Amanda Knox (+489%). A retired FBI agent says the study-abroad student charged with murdering her roommate in Italy is innocent.
  5. 2010 fall hairstyles (+153%). Here are some ideas to get you thinking for fall.

Follow us on Twitter

 

YUI: Open Hours Friday Sept 3rd

4:53 pm - September 2, 2010 in Yahoo! User Interface Blog

For those of you that don’t subscribe to the YUI calendar or YUILibrary.com forum, the next installment of YUI: Open Hours will be this Friday the 3rd.

The topic of this week’s call will be performance. How and what to measure in your module code, and techniques and tools for measuring various aspects of site performance.

On deck this week are Ryan Grove, Satyen Desai, and Philip Tellis. Satyen will be demoing dynaTrace Ajax edition, Philip will be introducing a new YSlow plugin he’s working on, and Ryan will cover some of the tools in YUI 3 that you can use in your development to move the needle.

So bring your slow or ailing code (or fast code if you want to show off) and participate in the conversation.

As usual, we’ll be online from 10am to 12pm PDT. The connection details are the same as usual.

  1. Dial in to 1-888-371-8922 (Skype works great for non-US participants*)
  2. Enter the attendee code 47188953#
  3. Join the screen sharing session (this will prompt you to install the Adobe Connect plugin if this is your first time using it)

Here’s the forum thread for this Open Hours. I’ll post some of the interesting takeaways after the call and we’ll be recording the call for those that can’t make it for the entire time.

Follow @yuilibrary on Twitter for the latest updates on Open Hours and other YUI interestingness.

Hope to see you there!

* – If Skype is not an option, email me for a local number.

 

Double Rainbow Guy Goes Corporate

2:25 pm - September 2, 2010 in Yahoo! Buzz Log

by Mike Krumboltz

Online videos go viral all the time. But rare is the case that an unintentionally funny clip can lead to a paying gig. That's exactly what's happened to Paul "Bear" Vasquez, better known as "Double Rainbow Guy."

Anyone who spends more than five minutes online per day probably remembers Mr. Vasquez's video, in which he captured footage of the elusive double rainbow outside his home near Yosemite. While the video of the double rainbow is impressive, it's Mr. Vasquez's commentary — in which he laughs, weeps, and questions the cosmos — that made the clip a classic.

Somebody at Microsoft was apparently a fan, because the company hired the rainbow-worshiping maniac to star in a commercial. In the ad, Vasquez takes photos of a double rainbow (of course) and then edits them together using Windows Live photo editing software, while mumbling some of his best-known lines. 

An official blog from Windows explains how the Seattle company contacted Vasquez and explained their ideas for the ad. Not surprisingly, Vasquez was "ecstatic" at the idea of doing a "Double Rainbow Redux." So, he flew to Seattle, they shot the video, and celebrated with a feast of Vietnamese food (the star's favorite).

The commercial is a nice clip, but in our humble opinion, it can't match the original. It's just ... so intense!

The advertisement ...

 

 

And an interview that includes clips from the original ...

Follow us on Twitter

 

Danny Trejo: From San Quentin to Star

2:25 pm - September 2, 2010 in Yahoo! Buzz Log

by Claudine Zap

Danny Trejo: "Machete" star

In the movie "Machete," Danny Trejo stars as a tough-guy gun for hire. In real life, the character actor started out as an actual criminal who did hard time in San Quentin.

The cartoonishly violent romp of a movie stars Trejo as a former cop from Mexico turned vengeful vigalante out for blood. He'll go after bad cops, bad politicans, and bad drug dealers. The movie features over-the-top mayhem that includes "beheadings, skewerings and kill shots to the head by the dozen." It also features some serious star power: Robert De Niro, Steven Seagal, Don Johnson, Michelle Rodriguez, and Jessica Alba.

If you've never heard of Danny Trejo, trust us, you've seen him. The L.A.-born actor has had a prolific career -- including a stint as the star of the fake trailer for "Machete" in the campy movie "Grindhouse" four years ago. But you can catch him in many action flicks, from "Con Air" to "Predators" to "Spy Kids."

The spoof "Machete" trailer led to the full-length movie with Trejo at the lead. This would not seem the obvious path for a drug-addicted kid in and out of jail for 11 years. Sent to San Quentin for drug offenses and armed robbery, Trejo turned to boxing and a 12-step program, which began his turnaround.

And here is where the story goes Hollywood: Once on the outside, Trejo spoke at a 12-step meeting, and a young man called him for support. Trejo met him on the set of "Runaway Train." A fellow ex-convict recognized him, and offered him a gig training one of the stars, Eric Roberts. When he did so well with that, the director offered him a feature role in the movie. And Trejo was on his way.

The tattooed Mexican-American landed a role in "Desperado," and has served as a muse for director Robert Rodriguez ever since, appearing in 8 of his movies and leading him to the starring role of "Machete."

Though Trejo's star is soaring, one of his fellow "Machete" actors -- who has also had real-life troubles -- should be happy to have a bit part: Lindsay Lohan.

See a video short of Trejo returning to his childhood neighborhood in East Los Angeles as a conquering hero.

Follow us on Twitter

 

Searches Soar on Hurricane Earl

1:35 pm - September 2, 2010 in Yahoo! Buzz Log

by Mike Krumboltz

Hurricane Earl

Hurricane Earl has been brewing over the Atlantic Ocean for several days, and is now swirling toward America's East Coast. People who fear they may be in harm's way are going online for the latest on the storm's path and destructive power.

Over the past 24 hours, online lookups for "hurricane earl path" have more than doubled. Related queries on "hurricane earl tracker" and "hurricane earl pictures" have also soared.

The Category 3 hurricane, which is as large as the state of California, is projected to approach North Carolina's Outer Banks on Thursday night, according to the National Hurricane Center. Gov. Bev Purdue was quoted as saying, "We're very ready, as ready as anybody can be." By Friday night, experts predict it will hit parts of southeastern New England. 

In North Carolina, where Earl poses a particular danger, searches are especially high. Lookups on "hurricane earl 2010 track" are up 146% and "hurricane earl path" surged 64%, placing the term among the state's top 75 overall lookups. There is also massive Web interest in "hurricane earl wind speeds." According to CNN, the sustained wind is around 125 mph, with gusts up to 165 mph. 

While there is tremendous search interest in things like "hurricane kits" and "storm shutters," people are most interested in tracking the hurricane. A buzzy article from the AP explains that predicting a hurricane's path is getting easier to do, thanks to high-tech computers.

You can follow Earl via The Weather Channel's easy-to-read map. The National Weather Service, a government-run site, includes a "5-day forecast cone" and coastal watches.

Follow us on Twitter

 
 
 
 
 
 
It's All About Search | © clsc.net |
2010.09.0902:51
Tech used here: Valid HTML - Valid CSS - Valid RSS - JavaScript - PHP - Smarty - MySQL - and a partridge in a pear tree.