The Combined Corner
Idealism is what precedes experience; cynicism is what follows...
Friday, August 29, 2008
Wednesday, August 27, 2008
IDEFactory... currently in Beta… soon in production…
When using Adobe Flex to build enterprise scale systems, the limitations of Flex Builder becomes not only very apparent, but also a limitation for productivity and flexibility (note the irony :-) )
However, a group of talented developers have started on the quest to deliver architectural features to us inside Flex Builder… fortunately they have decided NOT to change the base, but build it as a plug-in to Eclipse / Flex Builder.
IDEFactory… looking really good sofar (however not in this picture :-) )…
RSL and the lack of a build-in map over class-definitions
In response to the lack of Reflection in ActionScript and the emergence of techniques such as RSL and Modules and the combination of these two, several initiatives have been launched to facilitate a map of class definitions within a SWF.
One is the SWFExplorer by ByteArray which is still in a very early stage of development, but it appears to become a simple and easy way to get the definitionNames from a SWF at Runtime.
Another is the getDefinitionNames by Dennis Kolyako which is a bit more complex in its implementation than SWFExplorer, but yields the same gross results.
SWFExplorer overall seems to fit the OO design model of Flex more than the latter implementation by Dennis which seems to match a more traditional Flash Authoring design model.
Adobe Flex training in a nutshell: Flex in a Week
Adobe has started an initiative they call "Flex in a Week".
It consists of a predefined set of tasks which put in sequence presumably should take the average intro-level developer about a week to complete…
Days 4 and 5 are still to be defined, but sofar it looks like a nice way to get new developers started… :-)
Check it out…
Guice (pronounced 'Juice')
Writing factories and dependency injection logic by hand for every service and client can become tedious. Some other dependency injection frameworks even require you to explicitly map services to the places where you want them injected.
Check it out... exciting stuff
http://code.google.com/p/google-guice/
Curved Scrollbar
Nevertheless its probably more cool than useful, I have decided to do an implementation in Flash to match...
However... check the original posting by Charles...
http://www.charlespetzold.com/blog/2008/08/Curved-ScrollBars.html
Tuesday, August 26, 2008
.NET Reflector... no more Lutz Roeder
If you have ever used Reflector, you probably already know how cool a tool it is...
Creator and Inventor has left it to Red Gate to continue the further development...
Check it out...
http://www.simple-talk.com/opinion/opinion-pieces/the-future-of-reflector-/
Friday, August 22, 2008
ClassMappings between WebORB and Adobe Flex
1. ClassAlias in WebORB configuration.
2. ClassAlias in your ActionScript code through the "registerClassAlias" class.
3. ClassAlias in your ActionScript classes through the RemoteClass metatag.
1. ClassAlias in WebORB configuration
Add the following to your WebORB configuration file (This can also be done through the WebORB management console):
2. ClassAlias in your ActionScript code through the "registerClassAlias" class.
var clientClass:Class = getDefinitionByName( clientClassName ) as Class;
registerClassAlias( serverClassName, clientClass );
3. ClassAlias in your ActionScript classes through the RemoteClass metatag.
[RemoteClass(alias="com.companyname.namespace.ClassName")]
The result is almost identical (some differences in behavior exists, but outside the scope of this short note) and will eventually mean that serverclasses returned and send to the server will be serialized and deserialized between the two class-definitions automatically by the WebORB server and the Flas Player respecitively.
The other Adobe Flex ACE's in Europe
They are as follows...
Xavi Beumala from Barcelona... he had just been hired by Adobe Consulting when I last saw him to Flex 360 in Milan. A very sympathetic guy with great talent with the will to bring it far.
Dirk Eismann from Hannover... last i saw him it was at MAX in Barcelona where he was working for Herrlich and Ramuschkat. Extremely skilled and versatile developer which I have the outmost respect for.
Giorgio Natili from Rome... a real trailblazer and a true community leader from central Italy with a community of more than 3000 active users and 100.000 visits every month. I met him last time I was in Italy, a real fire-spirit...
Peter Elst from Belgium... one of the nicest guys in the community and on top of that an innovative and tech-savvy cool guy who contributes more to the community than averages...
...so obviously I am in very good company and I only hope that I some day can grow to match these true icons in the community and contribute as much as the have...
I got my Adobe Community Expert (ACE) designation today
It may take a few days to get the listing on the site, however I look forward to continuing to contribute to the Flex/RIA and broader Adobe community.
Check out the existing ACE's on the listing...
http://www.adobe.com/communities/experts/all.html
Saturday, August 02, 2008
The MyLifeBits Project
However, sometimes very interesting comes along which does not exactly reside in my knowledge domains but is technical enough to belong here, and hence "forces" me to blog about it in "The Combined Corner".
One such things is The MyLifeBits Project by Mr. Gordon Bell at Microsoft.
Ever try to remember who you bumped into at the store a few days back? Or exactly what the company president said at the morning meeting?
Well, you're not alone. And IBM researchers are working on software that just may help you better recollect all the forgotten pieces of your life.
This week, the company unveiled software that uses images, sounds and text recorded on everyday mobile devices to help people recall names, faces, conversations and events. Dubbed Pensieve, the software organizes bits of collected information, stores them and then helps the user extract them later on.
"Today, we're flooded with information. It's an information overload and we're not capable of handling it," said Eran Belinsky, an IBM project leader. "This would relieve us from the anxiousness or need to try to remember everything. And there's the issue of trouble with recollection. [It's like] your index is broken. You know you know something, but you can't get there. This could help people having trouble with their memory reconstruct their memories."
IBM's project is akin to one that of Mr. Gordon Bell and a couple of other scientists at Microsoft Research have been working on for the past nine years. Bell, a longtime veteran of the IT industry and now principal researcher at Microsoft's research arm, is developing a way for people to remember different aspects of their lives.
MyLifeBits has Bell supplementing his own memory by collecting as much information as he can about his life. He's trying to store a lifetime on his Dell laptop. Collecting telephone conversations, music, lectures, books he's written and read and photographs he's incessantly taken, Bell is amassing a great database of his life.
Interesting stuff... :)
Sunday, July 27, 2008
Adobe Flash Player : MultiThreading
Jim Corbett said multithreading wasn’t being built into the ActionScript Virtual Machine, however, looking ahead into the inner workings of Flash Player 10, processing for the new bitmap filters using the programming language Hydra would be using multithreading! What’s more is that you don’t need to focus on manipulating DisplayObject items with Hydra, but are able to send it plain math equations as well, which it will be able to crunch blazingly fast, thanks to multithreading! So any math heavy Flash applications will get a HUGE performance boost, not to mention the various 3D engines and physics engines.
Adobe Flash Player : Codenames
While the Adobe code-name for Flash Player 10 is “Astro”, the Flash Player team has their own code-name for it… Bacon! That’s the name that the team voted for, they didn’t get that name, but still refer to it internally as Bacon. Flash Player 9 Update 3 was code-named Moviestar, but once again the internal Flash Player team referred to as Frogstar.
Google Gears : WorkerPool
Members of a WorkerPool interact with each other only by sending message objects.
http://code.google.com/apis/gears/api_workerpool.html#workerpool_class
Google Gears
Still in version 0.3 at the time of this writing, its obvious that a lot of work needs to be done.
However, Google Gears (GG) has a couple of neat features...
* Database based on SQLLite.
* WorkerPool (JavaScript MultiThreading).
* Desktop Module to interact with the OS.
The Database module provides browser-local relational data storage to your JavaScript web application. Gears uses the open source SQLite database system. Ergo exactly as we have grown accustomed with Adobe AIR.
The WorkerPool module allows web applications to run JavaScript code in the background, without blocking the main page's script execution.
In web browsers a single time-intensive operation, such as I/O or heavy computation, can make the UI unresponsive. The WorkerPool module runs operations in the background, without blocking the UI. Scripts executing in the WorkerPool will not trigger the browser's "unresponsive script" dialog.
Nevertheless, since the browser's XmlHttpRequest object is not available in the context of a worker, Gears provides its own HttpRequest object to fill that need. Gears HttpRequest provides most of the features of XmlHttpRequest except for the ability to access the response as an XML DOM object and the ability to send a request synchronously.
Check it out...
http://gears.google.com/
A couple of more cool features are scheduled, but lets see which ideas actually make it out of the labs alive.
Some reasons to consider GG are that it does not require an explicit installation, just that you allow a specific site to run Gears enabled and that its open source in contrast to e.g. Adobe AIR and there a couple of more pretty interesting features of GG, but I will not get into that now.
When this is said, in my very humble graphical understanding - I think there exist a striking resemblance between Adobe AIR logo and the Google Gears logo and to be totally honest, the feature set if we disregard the very promising multi-threaded Javacsript... do you see what I mean ?
Adobe Flex : Change between Debug and Production Builds
Instead of going through your projects and setting the variables to Debug=false (even if you have a script / application that does it for you) it makes more sense to use the optimizer application from the Adobe SDK.
Then all you have to do is to call the following command on your binaries...
optimizer bin-debug/[binary].swf –output bin/[binary].swf –keep-as3-metadata=Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient
You can read more about the Optimizer here...
http://livedocs.adobe.com/flex/3/html/help.html?content=rsl_07.html
Adobe Flex : Code Quality of Flex 4
Am I the only that think the note to the Scrollbar implementation sounds like an API problem (read: behavioral inconsistency) in the making ?
Check it out...
http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Component+Architecture#GumboComponentArchitecture-ExistingGumboComponents
Archived Adobe Flash Player Installers
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14266
It contains a download link to all players since Flash Player 2... for some reason they don't have an installer for Flash Player 1... please feel free to comment if you know of an explicit reason for this :-)
On a side-note, its interesting to see the peculiar growth in file-size.
Saturday, July 26, 2008
Debugging WebORB from Visual Studio
Some of the things I mention may seem obvious to you, but based on my experience - some of these very obvious details can be some of the pitfalls that prevent many developers from debugging their applications once deployed to WebORB, so now I include them here in my list for the seasoned developers to ignore and the novices to use.
First make sure that your assemblies are compiled with DEBUG information, you don't have to deploy the PDB files to the WebORB BIN directory. PDB files are the program database files which holds debugging and project state information for your program, but Visual Studio and the .NET runtime can map the debug assembly to the code in Visual Studio if just the PDB files are available in the output directory of the Visual Studio project.
From Visual Studio (I am using 2008, but its the same for 2005) with the code open used to generate the assemblies, you open the "Attach to Process" window found from the "Debug" menu.
Make sure that the checkbox "Show processes in all sessions" is selected.
Find the w3wp.exe (The IIS Worker Process) and attach the debugger to it.
I have for the sake of convenience mapped the following keyboard shortcut for opening this window: CTRL+SHIFT+ALT+F5. That has enabled me to start the debugging process with the following key sequence:
* CTRL+SHIFT+ALT+F5
* "w" or "W"
* RETURN
Now Visual Studio will start the debugging session and map the debugging assembly to the code in Visual Studio.
As the debugging information are loaded you will see your breakpoint indicators be filled out, effectively indicating that debugging information mapping to the current code have been loaded. If your breakpoint indicators remain unfilled circles, it is not working, a likely cause for this is that the deployed assemblies have been compiled without DEBUG information.
Once your assemblies are loaded correctly and your breakpoint indicators are correctly filled, you turn your attention to either your application or the WebORB management console (I recommend the latter as its always a good idea to test each tier isolated).
Once you execute the code which eventually will hit the breakpoints, control will be transferred to Visual Studio and your debugging session should be fully active.
PS. Yes, the code in the second screendumb is a joke :-)
Blog Archive
-
▼
2008
(123)
-
▼
August
(11)
- This blog have been moved...
- IDEFactory... currently in Beta… soon in production…
- RSL and the lack of a build-in map over class-defi...
- Adobe Flex training in a nutshell: Flex in a Week
- Guice (pronounced 'Juice')
- Curved Scrollbar
- .NET Reflector... no more Lutz Roeder
- ClassMappings between WebORB and Adobe Flex
- The other Adobe Flex ACE's in Europe
- I got my Adobe Community Expert (ACE) designation ...
- The MyLifeBits Project
-
▼
August
(11)
My Network
-
-
Stop dragging me into board meetings - Dear Reader : This might be a bit more NEGATIVE than you’re used to. Apologies about that. I love to chair startups and companies, but I hate 95% board m...9 years ago
-
Design practice makes perfect - Evidence gained from research is powerful. It can persuade the most stubborn board members if presented in a way where decisions can be made based on facts...10 years ago
-
-
dutch vs danish politics - First reaction: glad I don’t live there. And then I made this comparison. It doesn’t differ that much actually. CDA 14% – Konservative 10% VVD 21% – Venstr...14 years ago
-
Links for Motorcycle enthusiasts - MC travel-blogs: Must see: http://www.kccd.no/ http://4qconditioning.blogspot.com/ Danish blogs: http://www.ossianbuilds.blogspot.com http://wrenchmonkees....14 years ago
-
New Arduino project - I found myself a new Arduino project – an automated car! Well how to go about this. My best approach was to get a cheap RC toy car from the local toy store...15 years ago
-
Unrecognized selector sent to instance - As you may or may not know, I do iPhone/Cocoa touch now... While playing around with something this evening I stumbled across something I thought I'd share...15 years ago
-
-
-
-
-
-
-
-
About Me
- Peter Andreas Molgaard
- Copenhagen, Denmark
Labels
- Adobe Flex (62)
- Events (28)
- Best Practices (27)
- ActionScript 3.0 (16)
- Adobe AIR (15)
- Tools (15)
- Workaholics United (14)
- PV3D (10)
- Arbitrary Thoughts (9)
- PureMVC (7)
- Adobe Flex SDK (6)
- Adobe Max (6)
- Methodology (6)
- RIA (6)
- State Machines (6)
- .NET (5)
- Adobe Flex Builder (5)
- DFUG (5)
- Google (5)
- WebORB (5)
- Data Visualization (4)
- Flash Platform (4)
- Independent Thinking (4)
- Process (4)
- SEO (4)
- Silverlight (4)
- Adobe Flash Player (3)
- Code Design (3)
- Flash Player (3)
- HCI (3)
- MAC vs. PC (3)
- Microsoft (3)
- Performance Optimization (3)
- Stockholm (3)
- Undocumentation (3)
- Visual Studio (3)
- Windows Workflow Foundation (3)
- ACE (2)
- AUG (2)
- Adobe Thermo (2)
- Ajax (2)
- Bug Report (2)
- Cairngorm (2)
- Commerciel (2)
- Documentation (2)
- Estimation (2)
- Firefox (2)
- Google Gears (2)
- London (2)
- Morphable Interfaces (2)
- SVN (2)
- SoftwareEngineering (2)
- Test (2)
- Admin (1)
- Adobe Flex Adobe Flex Builder (1)
- Facebook (1)
- Graphics (1)
- Hardware (1)
- HelloGroup (1)
- IEEE (1)
- Outsourcing (1)
- Training (1)
- XAML (1)