Archive for the Category: Flex

ASV is 11 Today

ASV 1.0 was released exactly 11 years ago…

And today we released the 11th anniversary version:

Thank you all for your support. Flash community is one of the best out there for sure.

Also posted in Flash, MG Comments Off

Silverlight in the Past Tense… Another Flash Killer bites the dust!

Flash is stronger than ever, as proved by the recent Adobe MAX 2010, and another so called Flash Killer is now gone…

Click to continue reading “Silverlight in the Past Tense… Another Flash Killer bites the dust!”

Also posted in Central-Apollo-AIR, Flash Tagged , Comments Off

(Officially) Announcing Azoth [at version 1.02]

Azoth is a free  ’Alchemy Opcodes Injector’, a Windows console (Win32 command-line) application, for AS3 Flash programming, that lets you replace method calls to a certain AS3 class (included with Azoth) with equivalent Alchemy opcodes in a SWF file. This provides superior performance for accessing a ByteArray as memory, than you can achieve with AS3 alone”.

We released Azoth on April 20th – but didn’t find time to announce it, officially. Philippe Elsass made the introduction better than I could, by also actually comparing currently available solutions. [AS3 – Fast memory access without Alchemy].

Yesterday we released 1.02 update, and now Azoth is officially announced. Hope you find it useful…

Also posted in Flash Tagged , , , , Comments Off

Today It’s 10th Anniversary of ASV…

Yay! 10 years ago today ASV version 1.0, the first decompiler for Flash, was released.

One thing Twitter taught me is that long posts are not always the best, so I will keep this really short.

As @elsassph said: We're getting old :)

Also posted in Flash, MG 1 Comment

Prefixes vs. Namespaces… Conclusion

… So why have I been posting about this if this is beating a dead horse? I have a solution proposal, which I’d say will give us the best of both worlds…

Click to continue reading “Prefixes vs. Namespaces… Conclusion”

Also posted in Flash 3 Comments

Prefixes vs. Namespaces… Why would the prefix solution have scaled better?

The prefix solution would have scaled better? Yes. And this does not contradict with what I wrote about how similar both are, in my previous post.

Click to continue reading “Prefixes vs. Namespaces… Why would the prefix solution have scaled better?”

Also posted in Flash 1 Comment

Prefixes vs. Namespaces… You need to ask the right question to get the right answer…

Without any rant on (custom) namespaces, here’s why I think using prefixes would have been the right decision, and probably the only viable choice.

Click to continue reading “Prefixes vs. Namespaces… You need to ask the right question to get the right answer…”

Also posted in Flash 4 Comments

Do you really have to give up standards for simplicity?

Yes, absolutely, when it makes sense to do so.

I'm amazed how humans seek approval of an authority and feel comfortable when they have it.

Lets take W3C recommendations. A committee decides on something and many people think of them as rules, laws (kind of like god made), they do not try to understand the reasoning behind them, they just accept them as they are.

I have blogged about this before. According to my criteria many W3C 'standards' are totally wrong, and to my surprise it's no secret how they do things and why. Still, many people don't want to think one step further. I believe many will have agreed with me, if they really gave a minute of thought on the subject.

(BTW, Scott Adams' Power of Ridiculous Reasons is a good read).

What are standards? Why are the standards as they are? Why is something a standard?

QWERTY keyboard layout was designed to slow the typer (at the time of mechanical typewriters, to avoid jams). It's the standard layout many of us still use, though we will like to type faster and there's no jamming issue with our current computer keyboards.

If faster typing is your goal, when you hit the QWERTY layout barrier, you should question the standard. What was the reasoning, did it ever make sense, does it make sense now?

I can agree to disagree – afterall, we are all different, we can't agree on everything. But defending an argument by mentioning 'standards' really doesn't make an impression on me.

I value simplicity. If some standard is making things unnecessarily complicated (when there's a clear simple choice with no drawbacks), I will question the standard first rather than give up simplicity.

Of course, I'm not saying that simple is always better:

"Make everything as simple as possible, but not simpler." -  Albert Einstein

You have to recognize it when it is better, and not simpler than necessary.

Einstein also said:

"Any fool can make things bigger, more complex, and
more violent. It takes a touch of genius — and a lot of courage — to
move in the opposite direction."

And while at it, the following is one of my favorite quotations, from Einstein:

"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."

[This post is not an answer to another post - hence no link. It's just that a sentence in a blog post inspired me to write about this. Still let me state what I think about namespaces vs. prefixes again:

- IMO Namespaces do not solve any real problem. They solve artificial problems.

- There's something that looks elegant and cool about namespaces, just like some furniture that looks great but has awful functionality. Deceiving, I say. Must think one step further.

- Using a prefix is inherently simpler and better than using namespaces. (Assume there was no namespace type. If a simple prefix solves the problem, you don't need namespaces at all).

- As I don't think namespaces are any good, and should not ideally be in a language as a type, even without any context, if one solution makes use of namespaces and the other does not. I'd say that the other solution is better.

- When you need to use a prefix, you just do it. There is no problem to write home about. Even if you think there is a problem, it exists only for a tiny moment until you realize you can use a prefix. Prefixes are not features of a language, they are just naming conventions. What do you do when you realize you have redefined a local variable named "a" a second time, and the compiler is not happy about it? Define namespaces to fix the name collision, or, just rename the new variable "a" to "b"?

- I value backwards compatibility very much (maybe more than most). But you don't have to be consistent if you are moving forward. (Take AS1/2 and AS3. Flash player runs AS1/2, but AS3 is not consistent with AS1/2).]

Also posted in Flash 3 Comments

I don’t believe in NameSpaces

I've been professionally programming for more than 20 years [1] and I've never needed to use a namespace.

I do know what a Namespace is. I think I shouldn't have.

Rarely, when the compiler cannot figure out what variable or function I'm referring to, it just signals an error and I fix this by writing the qualified name. That's all there is and there should be to it.

Of course namespaces can be there as leaked abstractions of implementation details. Ideally, a programmer should not know about them [2].

Why? Because, they don't help much, don't have much use, They are extra things to learn and complicate things unnecessarily. (Objects as abstractions actually help programming, Namespaces don't). (And there are XML namespaces, which I don't like in a different way).

Namespaces in a programming language solve an artificial problem and they create a bigger problem than they solve.

Still you may like them. But if that's the case, can you tell me how these fit in a scripting language that doesn't have a pointer type or memory management (by user)?

The first time I heard about 'Advanced' data structures called linked lists(!), I was surprised but later this made sense [3].

ActionScript should be simple. A namespace soup complicates things without much, if any, benefit in return. I don't think any language needs a spelled out Namespace type but scripting languages more so [4].

But we do have namespaces in AS3. I'm not proposing that they should be removed (Backwards compatibility is important). They just should not be made to look like a fundamental property of the language. Someone who has never heard of namespaces should be able to program in AS with no side effects caused by language design. This will make AS better than the rest [5].

Luckily, currently the situation is not hopeless, you can do without namespaces most of the time. What I'm afraid is the future directions.

I call namespaces  the unnecessary evil

[1] Actually 21. I've programmed in Basic, Z80 and 80×86 assembly, C, C++, Delphi Pascal and briefly in Cobol, Fortran, Lisp and Prolog. I won't bother listing numerous scripting languages.

[2] C++ has many features that many programmers don't know and care about. You can do without them and this is totally OK with me.

[3] Linked lists are simple data structures, not advanced.

[4] In AS3 there are some features that make use of namespaces which IMHO should have been implemented in other ways.

[5] Computer language design is my hobby. It's one of the two subjects I feel like I'm truly qualified to talk about. Of course, you are free to disagree. But my thoughts on language design has many years of background and it's unlikely that I will change my opinion on namespaces.

Also posted in Flash 8 Comments

The change from Fx prefix to namespaces is an EPIC FAIL for Flex

I borrowed the title from Aral's original post, couldn't think of a better one.

I don't know Flex as much as some do, but I know other things and I know Aral. So what can I add to his excellent post?

People defending the change mention a voting by community. I have a problem with this.

Public/community vote at best can get you to the mean. If you have no idea, no vision, just listen to the community and you will soon become the average.

Leading products are not developed this way. True leaders don't work this way.

You should have a vision and you should evaluate each change according to that vision. If you want to sell more products and make more money, in the short term, (or if you have no vision of your own) it's fine to be lead by the community.

Sometimes you act against the wishes of the community, that's when truly wonderful things happen, and the community appreciates it in the end. Of course, this is the risky option, but it's the only option that may bring those results.

As Aral mentions, simplicity is a key factor. The problem is not 'not making things more complicated', it is ' making thing simpler'. AS3 already has a steep learning curve compared to easy use nature of AS1/2. This is a problem on the table, that hasn't been addressed yet (I expected at least some work towards this with CS4).

Both Adobe and Microsoft tried to beat Flash in the past, and failed miserably. You can't beat MS by trying to be more like MS. You can't beat Java or .Net by trying to be more like them. Does Flash/Adobe wants to beat Java in the first place? Do they have the vision? I've been losing my faith in that lately.

Addendum:

I must add, I don't think 'Fx' was a good choice as a prefix. Too long and sounds like 'effects'…

3 Comments