Archive for the ‘software’ Category
Setup Nokia Email Application with WiFi
A lot of users are having problems setting up the Nokia Email app on their S60 phones using only WiFi. The application doesn’t let you pick an access point during email account setup. Therefore, you need to be connected to a WiFi access point BEFORE setting up your email accounts. To do this connect to a WiFi network and start browsing, this will force your phone to establish an access point using WiFi. Next, hide the browser (do not exit the browser application) and go back to your home screen. Now you can start setting up your email accounts using the Nokia Email application.
I dig Digsby

I have been looking for an all-in-one client for IM but have never been satisfied with any. Each one of them had their own strenghts, some had good UI, some were too complex and support for IM’s was patchy. But finally here’s a client that can handle pretty much any IM, Social networking app AND even IMAP/POP accounts. It’s brilliant, the UI is simple and yet powerful .. It manages to be very advanced without being complex and confusing. Best of all, its cross-platform and runs on Windows, Mac and Linux. Get it here.
Update your ITI modem aka DNA-A211 firmware
There’s a firmware update for DNA-A211 also branded as ITI. Get it here.
Configuring BSNL DNA-A211 ITI router/modem to automatically connect

If you have a ITI branded modem from BSNL, you probably wont find much documentation about setting it up for multi-use. The unit is actually an OEM product from SEMINDIA model # DNA-A211. This how-to will show you how to setup the router so that it automatically connects to the Internet on start-up, so that you don’t have to dial a connection.
First we shall setup the DSL connection:
1. Connect to the modem/router through Wired Ethernet and enter 192.168.1.1 in the address bar. When prompted enter your username/password. It should be admin/admin by default. If you have forgotten the username/password, you can reset the modem by pressing the reset button on the back of the router with a pin for 10 seconds.
2. Click on Advanced Setup -> WAN. You should see the following entries. The one we are interested in is the first one as shown. Click Edit.
3. Enter the settings as shown below and click next.
Now to setup your wireless access, goto Wireless -> Wireless Bridge and choose the following:
Also ensure that your wireless is enabled by going into Wireless -> Basic:
Also ensure that your DHCP is enabled by going to Advanced Setup -> LAN and checking that your DHCP is enabled as shown below:
Now go into Management -> Save/Reboot. This will save the settings and reboot your router. On restart the modem will establish the connection and you can simply connect to the wireless network.
Hope this helped. If you have any questions just ask in the comments section.
Picasa for Linux
I had been looking for a good photo manager for uBuntu but couldn’t find that one tool that did it all. I completely overlooked Picasa because I didn’t think Google had a Linux version, but they do which runs on wine and therefore looks just like the windows version. Great tool to manage albums and also upload them on picasaweb.
Google Gears for WordPress
Wow it does make a difference, I am running this on uBuntu 8.04 and Firefox 3.0.6. Websites like wordpress that are js and css intensive really benefit from Gears.
iPod Shuffle on Ubuntu with Banshee
My girlfriend got me an iPod shuffle on valentine’s day and I did not want to use iTunes (or windows for that matter) for managing it. I am running Ubuntu and use Banshee as my music manager. So I updated to the latest version of Banshee and plugged in my iPod, it was recognized instantly by Ubuntu and Banshee. The iPod status bar is like iTunes and the rest of the interface is Banshee (example of copying what works well and still keeping its own identity). Below is a screenshot :
Innovative Microsoft
Yea I know what you are thinking, Microsoft isnt really known for innovation but rather for immitation. Anyways I think they are taking a lead with a new technology called PhotoSynth, which ties together photos from different users and helps create a 3D view of the location. Take a look at the demo here, really cool stuff !!
scratch effect using Flash and Actionscript
Read this tutorial to get the scratch effect going. I have modified my version to draw a square instead of a circle and check when the user is “almost” done scratching the card.
To check to see if the user is almost done scratching the card I use a 2D array to represent a grid on the background image. The 2D array size or Grid size is the same as your image size, the first dimension being x or width and second dimension being y or height. By default all the values in the array are set to undefined in Actionscript. Therefore, everytime we draw a square we set the value at those indices in the array to be true. For example, a user clicks at (20,20) and we draw a square from (10,10) (10,30) (30,10) (30,30). We will set the value for all the indexes from x = 10 to 30 and y = 10 to 30 to true in our 2D array.
When a user lifts the mouse button we check to see his/her progress. Doing this is just iterating through the 2D array and checking to see which pixels have been set to true. You can check to see if all the pixels are cleared or just the ones around the middle or even have a percentage of the total pixels set to true.
Here’s the source code:
this.createEmptyMovieClip(‘mask_mc’,0);
bg_mc.setMask(mask_mc);
var contor:Number=0;
var imageHeight:Number = 300; //Image Height
var imageWidth:Number = 400; //Image Width
var totalPixels:Number = imageHeight * imageWidth; //Total number of pixels in this image
var almostDonePixelCount:Number = 0.8 * totalPixels; //Number of pixels that have to be scratched to consider entire picture to be scratched. 80% of all pixels have to be scratched now.
var pixelArray:Array = create2DArray(imageWidth, imageHeight); // 2D array to represent the image grid. For my image x is 400 and y is 300
// function create2DArray creates a 2D array with x = width and y = height
function create2DArray(width:Number, height:Number):Array
{
var array:Array = Array();
for(var index:Number = 0; index < width; ++index)
array.push(Array(height));
return array;
}
// function drawSquare draws a square on mask_mc MovieClip of sides length 2*r and having center to mouse coordinates.
function drawSquare(mask_mc:MovieClip):Void
{
var r:Number = 20; // this controls how far off the clicked point we start drawing a square
var xcenter:Number = _xmouse; // x co-ordinates of user click
var ycenter:Number = _ymouse; // y co-ordinates of user click
//Draw the square
mask_mc.moveTo(xcenter-r, ycenter-r);
mask_mc.beginFill(0×000000, 100);
mask_mc.lineTo(xcenter-r, ycenter-r);
mask_mc.lineTo(xcenter+r, ycenter-r);
mask_mc.lineTo(xcenter+r, ycenter+r);
mask_mc.lineTo(xcenter-r, ycenter+r);
mask_mc.endFill();
//Loop to set pixels within the square to true
for(var xIndex:Number = xcenter-r; xIndex <= xcenter + r; xIndex++)
{
for(var yIndex:Number = ycenter-r; yIndex <= ycenter + r; yIndex++)
{
pixelArray[xIndex][yIndex] = true;
}
}
}
// function allScratched checks if the user has scratched off most of the upper layer which is set in almostDonePixelCount
function scratchDone():Boolean
{
var pixelsScratched:Number = 0;
for(var xIndex:Number = 0; xIndex < imageWidth; xIndex++)
{
for(var yIndex:Number = 0; yIndex < imageHeight; yIndex++)
{
if(pixelArray[xIndex][yIndex] == true)
{
pixelsScratched++;
}
}
}
return pixelsScratched > almostDonePixelCount;
}
// contor variable is used to hold if the mouse is pressed (contor is 1) or not (contor is 0)
this.onMouseDown=function()
{
contor=1;
}
// if the mouse is hold and moved then we draw a square on the mask_mc
this.onMouseMove=this.onEnterFrame=function()
{
if (contor==1)
{
drawSquare(mask_mc);
}
}
// check to see if the upper layer has been scratched
this.onMouseUp=function()
{
contor=0;
if(scratchDone())
{
trace(“Scratch Done”);
}
}
Flexible Rails Iteration 6 issues
I came across some roadblocks while reading the Flexible Rails book.
Here’s a few of them, I’ll update if I come across more of them.
- On a POST Rails will return a HTTP Status code of “201 Created”. Flex treats this as an error code and will therefore throw an error even though the method call executed fine. To prevent this change the following line in your rails controller:
format.xml { render
ml = > @task, :status = > :created }
to
format.xml { render
ml = > @task, :status = >
k }
So you are forcing rails to send a “200 OK” status code.
- IE caches HTTPService calls, so when you call a HTTPService the second time IE wont even fire the request to your rails server. It works fine in Firefox but you need to clear the IE cache and reload your flex application.
Comments (1)
Comments (1)
Comments (1)







