I found this article on digg and I found it very interesting.
I always wanted to spread Ubuntu to my friends and family, but that is easier said than done. I even proposed to my girlfriend that she install Ubuntu on her machine to get rid of her virus problem, but she hesitated when I told her how different it was from XP.
A guy listed a few common tasks for his girlfriend to perform on a fresh install of Ubuntu 8.04. The result is not good for Ubuntu, but it could help in the development of Linux for the masses.
It’s surprising how many seemingly simple things become complicated and even out of reach for someone without a knowledge of Linux. There are a lot of little things that could be done to make the experience a lot more friendly for non-computer-literate people – some of them easy to implement, others not at all.
Got the new blog up and running now, with code highlighting, plugins and a new theme.
So, now that I have my own host, I’ll get to building my site now. ![]()
Just bought a new host. I’ll be transferring this blog there.
http://www.mindfock.com -> nothing there yet.
http://www.blog.mindfock.com -> the blog.
I’ll still be posting here for a few days or weeks while I get the new location going. I am pretty new to all this.
I hope everything goes smoothly. ![]()
Adobe’s ActionScript online docs that is. This has got to be the best resource you will ever find if you have trouble with ActionScript. I only found that out myself yesterday. I always thought that the online docs, or any other documentation/reference/manual, were scary to look at. Just the sight of all those complicated words that don’t seem to mesh together terrifies me. But when I was bored the other day, I decided to just read up on the BitmapData class just for kicks, and as I was reading, I surprisingly understood everything I read! I have never used the BitmapData class before, but I think I’ll be doing a lot of experiments with it soon (I have seen what others could do with it).
It has been laid out so well, everything is explained thouroughly, with simple and understandable examples and it’s searchable. It’s basically one giant tutorial about ActionScript! If there is one, I would love to buy a print/book of the online docs, because I hate reading on the monitor for extended periods of time. And yes, I’ll be reading the online docs for extended periods of time. ![]()
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
I use StumbleUpon a lot. Everytime I am bored, I just click away on that little icon to just see what I stumble on. But apart from having random interesting pages ranging anywhere from sex book reviews to funny pics to Flash tutorials, I don’t have any control with what I will get. I think that’s one of the best features of this cool plugin.
Only recently have I discovered that SU has a “Stumble with query” feature. You type in the search query you want, and just stumble away. You might end up with something you had no luck googling, or just end up with something interesting, and still within your search terms.
To start “query stumbling”, just click the ‘All’ dropdown menu on the StumbleUpon toolbar, and click ‘Search’. Enter your search terms, and click on ‘Stumble!’.
Here’s a screenshot. Notice I’ve already started stumbling for “actionscript”. ![]()

I was just getting the hang of creating liquid layouts in AS2.0 a few months ago, and boy, is it quite a concept to grasp. Now I have to relearn everything I learned using AS3.0.Thankfully, once I understand the concept, all I have to do now is do it with unfamiliar syntax.
In this little tutorial, I’ll show AS2 and AS3 code showing the same end result. This is just very basic, just showing the differences between the two (which isn’t much), and to show how to get started with creating liquid layouts.
By the way, liquid layouts are layouts that change dynamically according the stage’s size. Not unlike liquid in a container, which takes the container’s size and shape, thus the name.
The movie shows 4 boxes I drew on four sides of the stage, changing position according to the stage’s size. Obviously, you could also adjust other properties of the MovieClip, like scale, alpha, rotation, etc.
First, the AS2.0 code:
Stage.scaleMode = “noScale”;
Stage.align = “TL”;
setStage();
var stageListener:Object = new Object();
Stage.addListener(stageListener);
stageListener.onResize = function() {
setStage();
};
function setStage() {
var WIDTH:Number = Stage.width;
var HEIGHT:Number = Stage.height;
box1._x = WIDTH-box1._width;
box1._y = HEIGHT/2-(box1._height/2);
box2._x = WIDTH/2 - (box2._width/2);
box2._y = 0;
box3._x = 0;
box3._y = box1._y;
box4._x = box2._x;
box4._y = HEIGHT - box4._height;
}
AS3.0:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
setStage();
stage.addEventListener(Event.RESIZE, stageResize);
function setStage():void{
var WIDTH:Number = stage.stageWidth;
var HEIGHT:Number = stage.stageHeight;
box1.x = WIDTH - box1.width;
box1.y = HEIGHT/2 - (box1.height/2);
box2.x = WIDTH / 2 - (box2.width/2);
box2.y = 0;
box3.x = 0;
box3.y = box1.y;
box4.x = box2.x;
box4.y = HEIGHT - (box4.height);
}
function stageResize(e:Event):void{
setStage();
}
So, there isn’t really much difference between the two. AS3 is easier to understand because of its better event handling methods.
A little explanation for the 2 codes above, since they are quite similar. The first 2 lines are very important. Basically, they are telling the player to not do anything to objects on the stage when the stage is resized, because we want to control everything that happens when the stage is resized by code. Without those lines, the movie won’t work as expected.
The setStage() function is pretty self explanatory, it is where we do all the positioning of the movieclips. I like to put all of the code that does the positioning, resizing, etc. work in a function (preferably rolled into one), so I could call it at least once anytime I want. This is useful when initializing the movie, where all the movieclips might not be in their right place. And it is easier to put into the listener function too. You could also do it in the listener function, but I don’t recommend it.
We then call the setStage() function at least once, to position our movieclips where they should be, because when I created them in Flash, they are pretty much all over the place. If we don’t call that function, then they’ll only fall into place when we start resizing the stage.
And now to the part where the two codes are most different. Adding listeners to the stage. In AS3, it is quite straightforward. We add a listener, in this case stageResize() and listen to RESIZE events, to the stage object, which does nothing but call setStage(). You could also add other functions in there if you want to do something else when the stage resizes. In AS2, we have to create a listener object, tell that object to listen for the resizing event and execute the setStage() function. Again, you could add other functions in there.
So, there you have it. A basic Flash liquid layout. I hope this helps anyone who is having a hard time understanding this concept (I know I did). Now, this tutorial only showed changing the position of movieclips, by assigning values to them. But you could also change their position and/or size by percentages. Like 30% of the stage (I know this tutorial shows applying 50% of the stage), so you could adjust the visual elements of your movie to fit any size of resolution properly, at a limit of course.
NOTE: Notice the capital ‘S’ in Stage in the AS2 code and the small ’s’ in the AS3 code. Don’t mess those up!
Here are the source files of this tutorial.