Saving and storing your work
No matter if you are a Flash game developer, a web designer, a video editor, a programmer or whatever… the more your work on your computer, the more files you will generate.
After a while, your hard disk will become a nasty place full of shattered project if you don’t follow some simple rules.
That’s how I organize, save and store my work.
1) I keep on the computer’s hard disk only the projects I am currently working on
With more than 10 years of work, keeping all projects, images, video and every other kind of file on the computer I am currently using would be really a nonsense. First, there is no reason to keep old projects on your hard disk, second I don’t want someone to rob my notebook and have access to an entire life of work. So I use to keep on my computer only the projects I am currently working on. When a project is finished, I move it on another hard disk. Should I work again on an old project, I copy it on my computer and start working on it, until it’s finished, then I move it on another hard disk.
Since you will access this hard disk once in a while (sometimes once a week, sometimes once a month), there isn’t any particular recommendation about the hard disk. I am using two USB 1TB iomega where I store almost all my work.
Why “almost”? Because I have some other USB 500GB hard disks with video projects. Videos can consume a lot of hard disk space, so it’s better to dedicate an entire hard disk to each project
2) I create a folder for each branch of my projects

In the picture you can see four directories. Two are obvious, while “Beta” contains all the abandoned projects and “No internet” contains all the projects I did not develop for the web, such as executable software, brochures, business cards, and so on. As said, videos are on other hard disks.
Obviously, the folders you will have may vary according to the type of projects you are working on… so you couldn’t have “Flash games” but you could have “Magazines”… this depends on your work.
Just remember: don’t delete anything. Never. That’s why I have a directory for abandoned projects. Hard disk are so inexpensive you can afford a lot of them Read more
Being a geek in Venezuela
Yesterday I bought a MacBook on the Apple Store using some of the income generated by this blog. Do you know why I could do this? Because I am a geek, and because I live in Italy.
If I lived in Venezuela, things could have been quite different. This is the story of John Freddy Vega, a blogger and geek from Venezuela.
He runs Cristalab, a blog full of AS3 and PHP tips, just like mine. But it’s not as easy as it seems.
« Any self-respecting geek has certain basic needs, and Venezuelans are no exception: smartphones, laptops, permanent internet connection, access to information and, above all, the ability to purchase a lot of stuff we love although we don’t need it at all.

That’s why Venezuela’s technology case is so curious. We are one of the Countries with highest Blackberry penetration, so much so that RIM (Research In Motion: the Canadian company that developes the BlackBerry smartphone) people were forced to know we’re not an African country, we have crappy but still profitable Internet connections and we can even (in many cases) afford a cable TV. Read more
11 questions to ask to yourself once you complete a project
Let’s say you just finished a project… no matter whether a website or a Flash game… but you finished it right now.
Let’s suppose your client gave you a deadline, or you just wanted to finish it today because tomorrow you’ll be busy on another project, or you’ll have some holidays.
In most cases, you know the whole project can be optimized. Depending on the project complexity, you will see a lot of things you could improve to make the project run faster, look better, being more understandable and – above all – reusable.
Unfortunately, in most cases we prefer to leave it “as is” since “it works” and “that’s enough”, because we think the customer is already satisfied
I have to say, once I finish a project, I promise myself to keep it as clean as I can, even if I know I won’t be able to reuse anything… like, as example, a website. But as I have a lot of work, almost all the times I end leaving the project “as is”.
While you can’t work for the rest of your life to the same project, there are 11 questions you should ask yourself before you can consider a project as “completed”
Let’s see them: Read more
Keep your WordPress Blog (or any site) clean with new Google Webmaster Tools
Yesterday I blogged about 10 ways to secure your WordPress blog
Today I found a new, important tool to keep your blog (or site) clean: Google Webmaster Tools and its new services “Fetch as Googlebot” and “Malware details”.

Once you enter into Webmaster Tools you will find on the left Dashboard sidebar a Labs item with two sub-items: “Fetch as Googlebot” and “Malware details”.

“Fetch as Googlebot” answer the common question “What does Googlebot see when it accesses my page?” Read more
The return of “Under Construction” – evolution of a malpractice
In the late 90’s most personal and some commercial websites used to place a big, animated, irritating image like this one:

This picture, placed in a webpage browsed at a 800×600 resolution (the most popular one during those years), fills half of the visible area.
This means the page was shouting “hey, I am incomplete, probably I will never be completed so what are you doing here?”
We know a good site is always under construction. This blog is always under construction. I add new content almost every day.
As co-owner of a web agency, I notice almost all customers ask some minor changes to their sites about every six months… no matter if it’s a new set of photos or an update to the “about” page… they are changing. Read more
Understanding (AS3) access modifiers (Public, Internal, Protected, Private)
I see a lot of confusion around the web about access modifiers, so I am going to give a brief explication about them.
First, if you noticed the post title, you’ll see I wrote AS3 in brackets because access modifiers have not been introduced with AS3, but AS3 finally featured access modifiers.
As far as I can remember, access modifiers came from C, or at least I started studying them when I was programming with C.
Acess modifiers are anguage keywords for specifying the visibility of classes and members, that means they determine which code may access classes and class members.
Just think about a bartender in a exclusive pub that may require membership, and everything will be easier.
public (available to all code): allows access from every class… the bartender will attend everyone, no matter where he’s coming from
internal (available within the same package): allows Classes sharing this package access… the bartender will attend only people somehow related with the pub (workers that built it, people involved in furnishing, and so on)… this definition may lead to misunderstandings, so let’s say access is limited exclusively to classes defined within the current project.
protected (availabile within the same class and subclasses): allows subclasses access… the bartender will only attend customers with membership and their sons
private (available only within the same class): allows access only by the same class… the bartender will only attend customers with membership
Now the big question: is it so important to use the right access modifier?… I have to say in most small projects that you’re sure you’ll be the only one using them, you can define everything as public and forget about the rest, but obviously if you are looking for reusability and portability, you should pay attention to access modifiers.
Facebook bug: none of my friends can view my profile, wall, photos…
Today I discovered an interesting Facebook bug: when I log in, every thing is alright but none of my friends can view my profile.
When they click to view it, it takes them back to their homepage.
And also, any comment I make doesn’t appear for my friends, but I can see them clearly when I log in.
Maybe FB staff needs some php classes… :)
… any clue?
I tried to login “from the other side of the world” as said in a forum (thanx Bob) but nothing happened.
It feels like a part of my “second life” has gone… it could be an interesting post… AFTER my account has been fixed.
Games for the game developers!
I was impressed by “Games for the game developers!” comment on Create a Flash game in minutes with PlayCrafter.
The idea of giving people a tool to make a so-called “videogame” without any programming knowledge isn’t new.
The first complete tool I used was the Shoot’Em-Up Construction Kit (SEUCK) on my Commodore 128

Having no idea about how to make a game, the first “games” I made with that kit was just clones of a space game included in the package, just changing bullets speed, number of lives, and other minor things.
But I loved the idea of making games.
With the SEUCK I made about 10 games I only played by myself, because you know in mid 80’s there wasn’t the so-called Web 2.0
Anyway I had a lot of fun
My first “real” game was a concentration game with time limit, combos, and so on, developed with AMOS.
I can’t even remember the name but I remember a friend of mine managed it to be included in a Aminet CD-ROM
Now the web has changed and you can create a game, upload it in a few seconds and read opinions, comments, reviews.
Moreover, you can make money out of it.
But you must not forget there are people having fun making games.
Tools like PlayCrafter are meant to make people having fun in creating their own games.
Yes, there will be a lot of bad games and most of them will be clones of the same (bad) game, but if you don’t like a game, just don’t play it.
And, more important, maybe someone will enjoy the process of making a game and will start studying a programming language to make a more original game.
And don’t forget the “Games for the game developers!” sentence can be used by Flash game developers against PlayCrafter users, but can be used in the same way by PS3 game developers against Flash game developers.
20 (TWENTY!!!) years ago people like me programming in Pascal and Basic was mocked by C++ programmers, because they said real programmers code with C++
When I learned C++ I was mocked by Assembly programmers because they said real programmers code with Assembly.
Nothing new on the horizon…
The art of debugging
In a perfect world, our software never run in an unexpected way.
Unfortunately, we don’t live in a perfect world, so sometimes (quite more than sometimes) we have to face some strange errors.
That’s when we must learn the gentle art of debugging
Follow me through easy steps and you’ll wipe the bugs out of your life
1) A bug never appears “sometimes”
Believe me, the word “sometimes” has been invented for losers. A drunk would say he “sometimes” gets drunk, but in my opinion he gets drunk EVERY TIME he drinks too much. That’s another way to live your life. “Sometimes” means you don’t know when. You can’t live this way. You are a programmer.
So, you must know when your script has a problem. Exactly. Try to replicate it. Insert breakpoints, print variables, do whatever you can to recreate the problem EVERY TIME you want.
Do you want an example? … let’s see this script
a = a random number between 0 and 9
b = 10/a
This script sometimes crashes… but you must know when it crashes… and we can say the script crashes EVERY TIME a = 0, because of a divide by zero error.
When you can describe the problem starting with EVERY TIME, proceed to step 2
2) A bug never appears for the sake of appearing
Believe it or not, Gods aren’t upset with you. There isn’t any virus in your computer. “THEY” aren’t trying to drive you mad, and leech your brain because they want to rule the world.
The bug appeared for a reason. In the previous example, the reason was a number cannot be divided by zero. It’s not a plot against you. You simply cannot divide a number by zero.
You must understand why your script does not work… in this case it was a division by zero error, you have to find your case.
Now you know when the bug appears, and why it appears
3) A bug is a useless creature
Ok, bugs are the only good actors I can see in horror movies for a couple of years, but they are quite useless… and maybe they can survive to a nuclear war, and I don’t really want to survive to a nuclear war just to face giand radioactive bugs, so make up your mind, you don’t need bugs.
I mean you must find a way to get what you want with no risk to encounter a bug. In our example, you must decide if you really need a random number between zero and 9, or if a number between one and 9 would do.
With numbers from 1 to 9 you solved the bug, but sometimes you may decide you need the zero too, and in this case you would perform the division only if the number is different than zero.
This is the step where you must decide if you want to obliterate the bug or handle it as an exception.
Needless to say the first option is the best, because you can manage one, two… maybe five… TEN exceptions, but sooner or later your script will collapse if you work this way.
4) Put a big shoe on the bug’s head
It’s the time to rewrite the bugged code… keep in mind what your script is intended to make, and what you don’t want to happen. Since at this time you will probably are a bit tired, proceed step by step. Throw a shoe to a bug from a big distance, and you’ll miss it. Get closer and closer, until… SQUASH! It will know the power of the mighty shoe.
5) It wasn’t a simple bug. It was a cyborg bug
If your bug dies with a little red light fading away, and you can hear something like “I’ll be back”… then it wasn’t a simple bug… it was a cyborg bug. In real life, fixing a bug can bring new bugs to life.
In my previous example, I can fix the bug setting a as a random number between 1 and 9.. but I can fix the bug coding the second line as b= 10/(a+1).
According to what I am expecting from the script, one of the ywo ways of fixing the bug can make the bug return later. You have to forecast future bugs and prevent them
That’s all… this was obviously an ironic post, but there is some truth in it… how do you debug your scripts?
Adobe CS4 Master Collection
Do you want to know what do Adobe ships to you when you purchase the Adobe Creative Suite 4 Master Collection?
Here it is:

Five DVDs with the suite itself and one DVD with two hours of video footage about using CS4 softwares.
Let me remember you the software included:
InDesign CS4
Photoshop CS4 Extended
Illustrator CS4
Acrobat 9 Pro
Flash CS4 Professional
Dreamweaver CS4
Fireworks CS4
Contribute CS4
After Effects CS4
Adobe Premiere Pro CS4
Soundbooth CS4
Adobe OnLocation CS4
Encore CS4
Adobe Bridge CS4
Adobe Device Central CS4
Dynamic Link
Version Cue CS4
I still haven’t installed it, so I can’t say, at the moment, if there is something made exclusively for the box retail edition, something the downloadable version does not have.
- Citrus Engine released for free for learning
- My epic fail with ClickBank
- Get up to $100,000 for your next Flash game with Mochi GAME Developer Fund
- Create a dynamic content animated footer ad for your site in just 9 jQuery lines – 17 lines version
- Sell sitelocked version of your Flash games and even .fla sources to Free Online Games
- Protect your work from ActionScript code theft with SWF Protector
- Create a dynamic content animated footer ad for your site in just 9 jQuery lines
- Understanding Box2D’s one-way platforms, aka CLOUDS
- Triqui MochiAds Arcade plugin for WordPress upgraded to 1.2
- Box2D Flash game creation tutorial – part 2
- Create a Lightbox effect only with CSS - no javascript needed
- Flash game creation tutorial - part 1
- Create a Flash Racing Game Tutorial
- Flash game creation tutorial - part 2
- Make a Flash game like Flash Element Tower Defense - Part 2
- Flash game creation tutorial - part 3
- Make a Flash game like Flash Element Tower Defense - Part 1
- Create a flash draw game like Line Rider or others - part 1
- Triqui MochiAds Arcade plugin for WordPress official page
- Create a flash artillery game - step 1
- Flash game creation tutorial – part 5.2 (4.88/5)
- Create a flash artillery game – step 1 (4.79/5)
- Create a Flash Racing Game Tutorial (4.76/5)
- Create a survival horror game in Flash tutorial – part 1 (4.74/5)
- Create a flash artillery game – step 2 (4.74/5)
- Creation of a Flash arcade site using WordPress – step 2 (4.73/5)
- Flash game creation tutorial – part 1 (4.71/5)
- Flash game creation tutorial – part 2 (4.71/5)
- Create a flash draw game like Line Rider or others – part 1 (4.69/5)
- Creation of a platform game with Flash – step 2 (4.68/5)



