Blogs

Responses to Gnash 0.8.8

The release of Gnash 0.8.8 met with a generally favourable response. Here are a couple of more detailed reviews:

New features for Gnash 0.8.9?

3D Rally Racing

Six months ago I published a list of possible improvements for Gnash 0.8.8. The list was:

  1. Reliable text handling.
  2. BitmapData draw() function.
  3. RTMP.
  4. Dynamic focal gradients, gradient spread and interpolation modes.
  5. Playback of obfuscated SWFs.
  6. Direct conversion of SWF to video using ffmpeg.

The bad news first: only one of the list made it into 0.8.8. This was the gradient item, where focal gradients and spread modes are now implemented.

Gnash 0.8.8 Released!

The release of Gnash 0.8.8 brings various improvements to rendering, ActionScript execution, compatibility, and flexibility.

But the most significant change is more of a removal than an addition: Gnash no longer has any AVM2 code. AVM2, the ActionScript Virtual Machine introduced in the Flash player 9, is increasingly used in new Flash movies.

It was becoming clear that the original implementation (started in about 2006) of the newer ActionScript Virtual Machine was fundamentally flawed. So fundamentally that it was obstructing code for the old virtual machine without any benefit to Gnash at all.

Safe Surfing

Gnash features in the Safe Surfing CD distributed free by the German Computer BILD magazine.

The safety organization TÜV Rheinland and the Federal Office for Information Security (Bundesamt für Sicherheit in der Informationstechnik) were involved in the CD's development.

Gnash under Clang

Gnash is now completely compilable and optimizable with the LLVM frontend Clang. The AGG renderer headers have one C++ bug that causes an error. This needs to be fixed externally if you want to use that renderer, as it seems legitimate for a compiler to reject it (even if GCC doesn't).

Clang has already helped to find a few bugs in Gnash. Some warnings picked up things that GCC missed. And most interestingly, there were cases where Gnash's behaviour was relying on the order of evaluating function arguments.

The FLA format: update

There is now a wiki page dedicated to the FLA format. It will always contain the latest known information about the format: currently not much more than when I published the original data.

If you can contribute anything else, feel free to add to the page!

Adobe: Flash is open! There's ... Gnash?

Now Gnash is part Adobe Flash's rich developer ecosystem ...

The page, "the Truth about Flash", claims:

Finally, the Flash Platform has a rich developer ecosystem of both open and proprietary tools and technologies, including developer IDEs and environments such as FDT, IntelliJ, and haXe; open source runtimes such as Gnash; and open source video servers such as Red5.
[2010-05-17]

Trennt Euch!

Ein gewisses Riesensoftwareunternehmen aus den USA betreibt momentan in München eine Werbekampagne mit dem Slogan "Münchener, trennt euch". Nun ja, ein bissl provokativ ist es, nur man sieht aus der Ferne die Webadresse nicht, die dazu gehört. Was kann das denn bedeuten?

Aber nachdem ich heute Werbepost bekommen habe, wurde es mir klarer: Microsoft will mit dem Werbespruch Hardware verkaufen.

C++ ASCII literals

I didn't invent it! But as I can't find the original code, here is my own version. The idea was most likely inspired by the somewhat cleverer, but no more useful analogue literals.

Create your own ASCII art, drawing it directly in the source code. Can you think of anything more beautiful?!

#include <iostream>
#include <string>
#include <algorithm>
#include <iterator>

struct AsciiLiteral
{
    AsciiLiteral() : n(false) {}

C++ facets

Facets are one of the least understood and most esoteric parts of the C++ standard library. Because they are rarely used, there are few code examples, which in turn means most people never encounter them.

This is a great shame! Facets are a fascinating and multifa rich source of coding fun!

Syndicate content