Is being-nice a good thing?

I think it is good but sometimes it hurts if other person takes advantage of it. Something happened, that upsets me..
So is being-nice a good thing?

No matter what happens, I would always try to be a nice person.

IBM Thinkpad or any other?

I am planning to buy a notebook/laptop. I have company-provided IBM Thinkpad T41, which I like a lot. I am fan of Thinkpad but thought to ask you folks about your choices and opinions about any other brand.

I am wondering, what all other brands are as good as IBM Thinkpad? I am looking for following things:

  • 1400x1250 or higher screen resolution
  • at-least 3 hours battery back-up
  • compact, sleek and strong body

RAM, CPU, Motherboard, Graphics-card etc are things which, I think, most of brands provide various options for.

Oh yeah, what factors you consider before buying a notebook? Your experiences after you bought a notebook and found that you missed something while making decision.

Things to do in 2006 and onwards

  • Adopt a simple life like I used to have two years back
  • Have a happier life with family
  • Work hard to be a better programmer
  • Have a proper routine in life - sleep and wake on time, be time considerate
  • Never miss a good opportunity
  • Do some social work - like sponsoring some poor kids for their education in school.
  • Save some money

Happy New Year

wish you all a very Happy New Year. Hope you all have a great year ahead.

There is a lot to learn

Today, I realized that I am not as good as I used to think in other areas(HTML/CSS/Server-side-languages/Databases) of web programming except ActionScript/Flex.
I have also gotten bad in Mathematics, Physics etc. I used to be good in these during school time or two years back when I was doing some games-programming.
I really need to learn lot more than I know. Need to work on fundamentals. But there is hope, learning never stops and I am confident that I would be better in all these areas someday again.
To be very honest, I am feeling very bad. I am really upset....

Reuters starts using Macromedia Flash video in their affiliate network

Reuters has started video affiliate network, interestingly they are using Macromedia Flash Video. Brightcove is providing the technical-solution/service for this. You can read more about it here.
It is nice to see, more and more sites have started using Flash videos. I think, they understand how important user-experience is. For example, uses Macromedia-Flash-videos in a nice manner to show the reviews/editors-choice for products. That really makes user-experience much better.
But there are sites, specially Indian sites, which are still using old-way of showing videos on webpages. I was looking at CNN-IBN website, it is quite well made but I found that they are using Microsoft Windows Player way of showing videos i.e. Click on link, that opens pop-up window with Windows Mediaplayer embedded in a page with its usual skin. Is that a good user-experience?
I have sent couple of suggestions to CNN-IBN folks:-

  • Use Macromedia Flash Video
  • Use Macromedia Flash(or AJAX) in some places like voting/polling applications.

I hope, they do something..

Air Deccan sucks

I was stuck on Mumbai airport for 5-6 hrs because of the worst services by Air Deccan.

My flight to Bangalore was supposed to depart at 1130 hrs. I got a sms early morning that flight departure had been rescheduled to 1445 hrs. When I reach airport, I find that departure is further rescheduled to 1600 hrs. When I check-in, I hear an announcement that flight is delayed by fifteen minutes. Only fifteen minutes?
This is really bad and it seems Air Deccan doesn't care about passengers. My one day is completely wasted and one more leave is reduced from my leave-quota in office :(

Just a couple of weeks back, when I was coming back from Kanpur to Delhi, I was charged Rs. 70/KG of extra-luggage by Air Deccan folks. I was told by their booking-agent that extra-luggage cost is Rs. 25/KG, I confirmed this twice because I knew that I would be having extra-luggage.

Thanks GOD, I had some cash with me otherwise Kanpur airport is in outskirts,miles away from any ATM. And these guys don't accept cards at check-in counter so what would have happened if I didn't have enough cash to pay? Either I would have to leave luggage and take flight or I would have to go back?
Later, when I sent a mail to Air Deccan folks, they asked me to see point number x in terms-and-conditions sections on their website.
Anyways, I would prefer not to travel by Air Deccan in future.

How to make VideoDisplay component work with Macromedia Flash Communication/Media Server?

If you already know about VideoDisplay component, please skip next two paragraphs to see the solution.
VideoDisplay component in Macromedia Flex 2.0 would be replacement of MediaDisplay component in previous versions of Flex. Unlike MediaDisplay component, it doesn't have any UI controls, it's a face-less component. It provides you API to control the video playback. So you can build user-interface, controls around it and skin it according to your choice. This was quite difficult with MediaDisplay.
Macromedia Flex 2.0 is still in alpha-phase and if you strongly feel the need of controls, please give us your feedback. We can probably ship it with some default controls.
Anyways, let's talk about the issue which some people faced while using VideoDisplay with RTMP URLs.
Problem: VideoDisplay component doesn't play video from a RTMP URL?
For example, following code would compile but won't work as expected i.e. it won't play video when application is run.

Solution: VideoDisplay is based on Peldi's FLVPlayer. Like FLVPlayer, it requires a server-side ActionScript file(main.asc) to be placed inside corresponding FlashCom application directory on server.
If you are missing main.asc on server-side, VideoDisplay won't be able to play videos from a RTMP URL.
You need to place main.asc inside "scripts" folder under your FlashCom application directory. I am taking above code as reference to explain where you can place main.asc. You can see the directory structure of a FlashCom application in following image:
directory structure of videodisplay flashcomm application.
Description about directories shown above:

  • videodisplay - this is your application directory on flash-media-server
  • scripts - this is the directory where you need to place main.asc and if required, other server-side AS files.
  • streams - this is the directory which contains application-instances directories. For example, _definst_ which is default instance directory.
  • _definst_ - this directory corresponds to default instance of videodisplay application. In this case, intro.flv is placed inside this directory.

I have uploaded the main.asc on my server so that you can download it from here itself. You can also get the same file from Peldi's blog, but you need to download the entire to get main.asc.
Download main.asc

My blog is back

My blog was down for couple of days because I was moving it to new server. Then it took sometime to configure it. I was using Berkeley file-based database in previous installation; I realized that it didn't work on this new server because the directory path was different.
Thanks God, I had exported all entries as html page before moving to new server. That's how I am able to import all old entries with all approved-comments. Entry orders have changed which means all people who were linking to my blog-posts would find that links are broken. I am sorry about that :(
I also noticed that my all old posts re-appearing on MXNA, so I want to apologies for that. I have no idea how it happened. I have not pinged to MXNA, may be MXNA found these entries new and pulled.
I am planning to put new template on my blog with links of all other blogs(I follow).

A Port Scanner using ActionScript 3 Socket in Macromedia Flash Player 8.5 alpha

I just wrote a simple port-scanner in AS3(ActionScript 3) using class in Macromedia Flash Player 8.5 alpha. I have used Macromedia FlexBuilder 2 alpha to create the user-interface but most of the code is in AS3.
I have used my own logic for port-scanning, I am not aware how it is done in actual port-scanners. Since it is a simple example, which means I have not taken care of performance, error-handling, user-input-validation etc.
I was looking for a port-scanner on internet and then this idea popped up. It works for me. I can check which all ports on my system are open. I can also check for open ports on a remote-host as well.
Here is code:

private var socket:Socket;
private var currentPort:uint;
private var toPort:uint;
private function createSocket():void
socket = new Socket();
socket.addEventListener("connect", socket_connect);
socket.addEventListener("ioError", socket_ioError);
private function deleteSocket():void
socket.removeEventListener("ioError", socket_ioError);
socket.close ();
private function startScanning():void
currentPort = uint(fromPort_ti.text);
toPort = uint(toPort_ti.text);
private function scanPort(port:uint):void
if(port <= toPort)
status.text = "Scanning port:" + port + "\n";
socket.connect(host.text, port);
status.text = "Scanning complete..";
private function socket_connect(event:Event):void
openPorts_ta.text += currentPort + "\n";
private function socket_ioError(event:IOErrorEvent):void
Not sure, when there is ioError I am not able to reuse same socket object.
So deleting current socket object and recreating another socket object...
private function enableControls(bEnable:Boolean):void
host.enabled = bEnable;
toPort_ti.enabled  = bEnable;
fromPort_ti.enabled = bEnable;
scanButton.enabled = bEnable;

Download file

Update: This post was written when Adobe Flash Player 9 was not released and was known as Flash Player 8.5. I have updated the code for Adobe Flash Player 9.