August 2005 - Posts

My team is a very ".Net" group. Out of the 6 team members (including me), we have a web developer/designer (MCAD, very experience guy, can code in vb.net or c#, designed and developed countless website), 2 of my friends who experienced in vb.net, and another 1 guy and another female member, whom are also very valuable. There is absolutely no problem with team cohensiveness as we all know each other strength and things are agreed and done in a very efficient manner. Meet, Decide, Do, Done. For the first 3 weeks, the boring part of documentations, UMLs , class diagrams and sequence diagrams are daunting, but we get in done in a relatively short time. Everyone is self-motivated and would volunteer for different parts of the project.

Now comes the coding phase and that is when the pain comes in. As I had mentioned before, we are a ".Net" group. Comes to J2EE, headache. We need to develop Entity Beans and since we do not want to go into the details of managing sql statements, we opt for CMP. The database we use is Pointbase. Problem is, no one knows how to use Pointbase (although we are eager to learn). This is a school project, so we got no choice. Server is Sun AppServer. My previous experience is using Weblogic and SqlServer, so I am new to appserver-pointbase combination. So we do wat we should do. Create a database, create a schema and create the entity beans and deploy. We expected a lot of errors to come and they did. A lot of deployment errors. For some reason, no one understand what the error messages are trying to say and dr google reveals to us a lot of similar threads online but with no solution. Ok, that is the first thing we got to accept. Error messages that nobody understand.

Secondly, we are using Netbeans IDE. I decided to switch from Jbuilder to Netbeans as it is more lightweight and is bundled with AppServer and pointbase. The problem is, its intellisense takes 3-5 second s to appear, sometimes don't at all. Perhaps I am spoil by VS.Net but the slow code hinting time is not acceptable for me. Also, it seems to take up a lot of resources. Our workstations ranged from P4 512ram to 1 Gig. Yet, it will slow our machines to crawl after a while. I will not say that it is Netbeans that is casuing the memory leak, perhaps its that our laptop are not meant to run Pointbase -appserver - netbean together. However, if I can run Dreamweaver,VS2003, MS-SQL, IIS , MySQL, Flash concurrently (which I always do) for other development works,  why do the former combi failed to perform as well?

Today is the 3rd day of coding phase and nothing is done yet because each deployment takes a 5 mins. Imagine change 1 line of code and wait for 5 mins. No more F5 (Vs) or F12 (Dreamweaver) to see the immediate result. We agreed among ourself that with 6 person, if we have used .NET instead of J2EE, we would have already finished few of the smaller modules. So much for Write Once Run Anywhere..I just want my Datagrid.



with 2 comment(s)
Filed under: ,
Ok, I know this is some old stuff which most of you probably already knows but I am posting it cause I see funny codes to detect a double click using onEnterframes and setInterval, etc. All you need is the code below to detect a double click in Flash. To prevent stuff like "triple click", just modify the code to execute

var pressCount:Number = 0;
var lastTime:Number = 0;
function onPress()
    {
        var now:Number = getTimer();
         pressCount++
        if((now - lastTime) < 300 &&  pressCount==2)
        {
           //Double click occurs, implement the code
            pressCount = 0;
        }
        else if(pressCount == 2)
        {
            pressCount = 1;
        }
        lastTime = now;
           
    }

We have to keep track of pressCount to prevent 'triple-clicking'. If you don't need to prevent that, just use

function onPress()
    {
        var now:Number = getTimer();
      
        if((now - lastTime) < 300)
        {
           //Double click occurs, implement the code
          //Triple Click will detect as 2 double click!
        }
        lastTime = now;
           
    }

Do comment if anything is wrong! =)
with 2 comment(s)
Filed under: ,
The below is an extract from my friend Wen Ching's Blog

[Start of Quote]

Dear all,

Please do not install this program Block Checker from http://www.block-checker.com/!
  It contains virus in it. No spyware but trojan virus AdClicker-DF.
  It automatically generates random files in my system32 folder and sends the Block Checker's URL 
to everyone in my MSN list!
  For more info on this trojan, check this 
http://au.mcafee.com/virusInfo/default.asp?id=description&virus_k=135579
  Thank you.
Cheers.

[End Quote]

I just want to inform everyone no to install it. It claim to be free of spyware and it is not true.
"Ignorance is Bliss" No nid to really know who block you, lol
with no comments
Filed under: ,
This doesn't make sense as next week, is all about events, events and more events.

23rd Aug - Sun Developer day 2005 , 9am to 5pm

24th - 26th Aug - Tech.Ed 2005

25th Aug - Macromedia Studio 8 Launch Event - 9am

25rd Aug - SgDotNet UG Meeting - 6.30 - 9pm

As you can see, from tuesday to friday is full of events, do they purposely set to be in the same week? I will most probably skip Sun Developer day and attend Studio 8 launch and Sgdotnet meeting. They should make next week the 'Singapore Developers' Festival'..haha




with no comments
Filed under: ,
The below is the codes to save the files uploaded from Flash 8's FileReferenceList, using asp.net 1.1

/*C# .NET */
        string saveToFolder = "savedFiles"
        private void Page_Load(object sender, System.EventArgs e)
        {
          
            HttpFileCollection uploadedFiles =  Request.Files;
            string Path = Server.MapPath(saveToFolder);
            for(int i = 0 ; i < uploadedFiles.Count ; i++)
            {
                HttpPostedFile F = uploadedFiles[i];
               
                if(uploadedFiles[i] != null && F.ContentLength > 0)
                {   
                    string newName = F.FileName.Substring(F.FileName.LastIndexOf("\\") + 1);
                    F.SaveAs(Path + "/" + newName);
                }
            }
        }


Its actually very simple as it is just a normal uploading of files.
with 3 comment(s)
Filed under: ,
Flash 8 brings us 2 new classes which allow us to download or upload file/s directly to the server. FileReference, and the FileReferenceList class, with the latter allowing the upload of multiple files.

FileReference expose several events including onCancel, onComplete, onSecurityError,etc, which allow developer to react to different situation according to the user interaction and Security issues. For example in the past, we download files from the server by calling the getURL method. Since we already got the getURL method, why do we need to use FileReference class to download a file? The answer is that with FileReference class, we can track the download. We can now listen to the onProgress event to track the upload or download progress. Thus, this gives us more control over the operations.

I will not go through the codes here since its available under Flash 8 Help, but its easy to think of facinating things developers can do with it.

Photo sharing service with Flash interface easily can be accompolished since we can now upload / download files directly. Flash 8 also support dynamically loading of gif and png file now, as compared to only jpg files in the past. One thing to note is that once we call the upload() method in either classes, it does not upload directly to a folder we specified, but it will call a remote upload script. How to implement the upload script is up to individual developers. For example, developers can append parameters to the back of the url and get the query strings to differentiate different users. They could then get the post data for the posted files and saved them. I believe we will be able to find a lot of sample scripts for cf, .net , php, etc over time, so flash developers unfamiliar with that need not to worry.

I hope I be will able create a simple photos sharing application using Flash 8 and .NET (with Paladin of course) soon.


with no comments
Filed under: , ,
Remember about the Free T-Shirt I mention when you register @ open solaris website? Well, its here today.

I was quite excited when I received it, the following is the pictures




Looks like I can try to get myself beaten to death by wearing this to Sgdotnet UG meeting! Er..not quite..haha..there is a few problem. Take a closer look at the tag



XL!!! We were not ask for our size during the registeration and some how I got an XL Tshirt. Do they perceive all developers as big-sized, pot bellied bald head wizard guy who swing a magic wand laptop and turn coffee into code? Well, guess I can only wear this to sleep then..  ;(
with no comments
Filed under: ,
You can now preorder Flash 8 @ Macromedia online store, exciting isn't it ?
=)

http://www.macromedia.com/cfusion/store/index.cfm?store=OLS-AP

I was at one of the studio @ 3dsense today when our friendly admin came over to hand me something. A student has called to enquire on some stuff and she hope that I could help her to call back as she is not very familiar with the questions asked. She handed me a sticky, on that wrote the name of the student, numbers and question asked. Then I paste it on the table, and check out the question. I google the question, and then research and call back the student, and throw the sticky away

Now, this can become like this :

====Imagination === (please think of some smoke and blurry scenes)

I was at one the studio @ 3dsense today when our friendly admin received a call from a student. Quickly, she create a new sticky notes using Stickies.NET and type in the details. Then, she remain in her sit and send the sticky to me via network. I open it up, read, highlight the questions inside, right-click and choose the option "Google it", and research. Call back the student and scrap the sticky.

cool eh ?

=)

Check out this Ghost Flash game !
http://members.thai.net/sinthai/room.htm

Close your lights and turn up the volumn! hehe

Thanks to Wen Ching for the link
with no comments
Filed under: , ,
Hmm, Paladin 0.9.0 RC3 SR-1 has been released and I am eager to try it. However, I am currently tied down in developing a new RIA project using Flash / .NET / SqlServer.

In addition, below are the things I want to do (to satisfy the geek mind of mine)

1) Develop a full website with VS2005 using asp.net 2.0 , so far I only have been 'trying this and that feature' but not putting all together

2) Try out newest version of AJAX.Net, which support asp.net 2.0

3) Develop Paladin mySqlCoreAdapter

4) Use Flash-Javascript Integration Kit with Ajax

5) Ajax.net with Paladin's Business Entity, I get stack overflow error last time when I directly send entity objects back to calling javascripts. Hope to try it again

6) Backbase Community Edition

7) Get a life

I decide that why not I create a site which have them all?  I think of a while and decided to create a site like yahoo/msn groups, with ajax compabilities, enjoy asp.net 2.0 features? Pretty cool isn't it..haha
(And most important without advertisement)

Things will probably go slow as I still current projects and Stickies.NET on hand, but thats sometime I want to do. Will be putting up the site at crystal tech asp.net 2.0 beta when it is up.
with 2 comment(s)
Filed under: ,
Ok, maybe not the best friend, but certainly one of the most useful tools around in server administration.
Yesterday, all my application pools on IIS6 fails after a program uninstallation. A peek into the Event logs reveals that IIS filter cannot find a specific dll in my system32 directory. It seems that in the uninstallation, the uninstaller has 'forget' to remove the entry in ISAPI filter solve the problem.

Thanks to Boon Chuan for his help again!
with no comments
Filed under:
Actually this is nothing new or fascinating, just that I created a custom flash menu bar that takes in an array of string and display them. I must align them and spread them out accordingly. Since the length of each string is different, the alignment need to be adjust accordingly. This can be easily done with autoSize. Set autoSize to true, then set the Text property of the textbox. The new _width will be the width required just for the text to display. I attached a source file of a simple version HERE for those who wants to see code..haha..(the original one use XML)


You can also [PLAY IT HERE]
*Updates - 3rd August* For those who saw a broken link yesterday, I apologize as the server is having some problem. Its fixed now
with no comments
Filed under: ,