Tag: experiences

Yahoo! to Live Stream Video of Second Quarter 2013 Earnings on Yahoo! Finance

Yahoo! Inc. (YHOO) will live stream a video broadcast of the company’s second quarter financial results on Tuesday, July 16, 2013, at 2 p.m. Pacific/5 p.m. Eastern. The live stream will be broadcast from Yahoo!’s Sunnyvale studio and will be available exclusively on Yahoo! Finance at finance.yahoo.com.

The video will be archived after the event athttp://investor.yahoo.net and will be available for 90 days following the broadcast.

About Yahoo!

Yahoo! is focused on making the world’s daily habits inspiring and entertaining. By creating highly personalized experiences for our users, we keep people connected to what matters most to them, across devices and around the world. In turn, we create value for advertisers by connecting them with the audiences that build their businesses. Yahoo! is headquartered in Sunnyvale, Calif., and has offices located throughout the Americas, Asia Pacific (APAC) and the Europe, Middle East and Africa (EMEA) regions. For more information, visit the pressroom (pressroom.yahoo.net) or the company’s blog (yahoo.tumblr.com).

Yahoo! is the trademark and/or registered trademark of Yahoo! Inc.


Lambda Expressions Backported to Java 7, 6 and 5

Do you want to use lambda expressions already today, but you are forced to use Java and a stable JRE in production? Now that’s possible with Retrolambda, which will take bytecode compiled with Java 8 and convert it to run on Java 7, 6 and 5 runtimes, letting you use lambda expressions andmethod references on those platforms. It won’t give you the improved Java 8 Collections API, but fortunately there are multiple alternative libraries which will benefit from lambda expressions.

Behind the Scenes

A couple of days ago in a café it popped into my head to find out whether somebody had made this already, but after speaking into the air, I did it myself over a weekend.

The original plan of copying the classes from OpenJDK didn’t work (LambdaMetafactory depends on some package-private classes and would have required modifications), but I figured out a better way to do it without additional runtime dependencies.

Retrolambda uses a Java agent to find out what bytecode LambdaMetafactory generates dynamically, and saves it as class files, after which it replaces the invokedynamic instructions to instantiate those classes directly. It also changes some private synthetic methods to be package-private, so that normal bytecode can access them without method handles.

After the conversion you’ll have just a bunch of normal .class files – but with less typing.

P.S. If you hear about experiences of using Retrolambda for Android development, please leave a comment.