Archive for the Category: Flash

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 Flex, 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, Flex Tagged , Comments Off

Online Chromatic Guitar Tuner with Flash

It was 1994, me and me brother were into music and computers (in that order). It was the year we created a MIDI driver for Windows 3.1 (Windows 95 was still in beta at the time).

The device driver converted audio input to MIDI notes. We could directly record from line input to MIDI sequencer software. It effectively converted our regular electric guitar to a MIDI guitar, provided that we played single notes at a time.

It was a good start but certain things and life prevented us working more on it. Anyway, the pitch detection algorithm we used was something my brother worked on…

Back to 2010… Now that microphone data is accessible with Flash player 10.1, we decided to make use of the algorithm and provide a free online chromatic guitar tuner.

A quick search reveals that there are only a couple of similar online tuners with pitch detection but they are all Java. Ours is proudly Flash.

It’s not open source, but we encourage you to peek at the source, using AS3 Sorcerer

1994 seems so back in the past now, ancient. Yet at the same time it feels it was a blink ago… We still do plug in our axes from time to time, actual C source of the 16 bit device driver is lost long ago, but the algorithm, XAMDF, lives on…

Hope you find it useful. Happy tuning…

Tagged , , , , , , 2 Comments

(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 Flex 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 Flex, 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 Flex 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 Flex 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 Flex 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 Flex 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 Flex 8 Comments