Tuesday, November 8, 2011

Cocos2d - what and why ?

Opengl es can be a bit daunting for the people who are relatively new to the game programming scene, and truth be told, using opengl es is not necessary.

For development of basic 2d games opengl es is certainly an overkill, it just doesn't justify the learning curve.

But don't give up hope just yet, Cocos2d is a really great , easy and fun option of getting started with game programming on iOS devices. but this doesn't mean that cocos2d is weak or insufficient in any way, fairly complex games can be build using cocos2d.

Cocos2d also come bundled with two very good physics engines box2d and chipmunk allowing it to bring in the simplicity and ease in game design.

And the best part is that it's FREE.
And the licensing allows for creation of proprietary products, the literature available in form of books are abundant.

So go ahead and create the next angry birds.
Here is how to do it :)

http://maniacdev.com/2011/09/tutorial-develop-an-angry-birds-like-game-with-cocos2d-and-box2d-step-by-step/


Regards,
Ishan Malviya


Sunday, November 6, 2011

Starting opengl development on linux

I have been working on opengl es for iphone from a past few days. But the development environment is available only at my home.

So i thought of trying my hands on opengl too, which will be easier to pick up, owing to the sheer amount of literature available for it.

I have Kubuntu 11.10 installed on my netbook ( a samsung n150 plus, dual core atom) and i use code:blocks as the development ide, when i tried building the provided sample for opengl i got the "GL/gl.h no such file or directory" error.

I looked around for a solution and this is how i was able to solve the problem.
The freeglut3 and freeglut3-dev libraries were missing.

after installing them i was able to execute the example successfully.

On a debian based system we can install them as,

apt-get install freeglut3 freeglut3-dev

Will share more on my experiments with opengl as I delve deeper on this exciting technology.

Regards,
Ishan Malviya





Thursday, October 20, 2011

Alternative way of updating your ios device

As you all might be knowing , iOS 5 was released last week, and Apple's servers were creaking under the pressure of user's trying to upgrade.

I too tried updating the OS on my iPod touch several time,  but was unsuccessful, which considering the size of update (~ 700 MB ) and the limited bandwidth is a costly task to repeat.

So, I started looking for alternatives.

I found out that you can download the update from several other site offering the updated ipsw files. Although i tried downloading ( just downloading not updating ) from Apples server and succeed.

If you also have downloaded the updated firmware and want to use that to update ( not re-downloading ), just press the options key on your mac keyboard and click update key, you will be presented with a prompt to select the ipsw file from your filesystem.

For those like me, using a windows keyboard, Alt key works as options.

So , go ahead and try the new shiny iOS.

Regards,
Ishan Malviya 


Saturday, September 24, 2011

installing Arch linux

I have a Samsung N150plus netbook on which ubuntu 11.04 with unity interface was installed, but i was getting bored with the ease of ubuntu. If I want easy , I will boot up my Mac with Mac os X Lion or my windows XP machine.

So i decided to go with Arch Linux, the bleeding edge distro. As netbooks lack the optical drive i went with usb install option.

I have been using "unetbootin" for installing ubuntu etc from usb media, but somehow i was unable to install Arch using this, The error i was getting was "Boot device didn't show up after 30 seconds".
after few hours of trying to find a solution i decided to go with the old and trusted dd command.

and it worked!

The command i used was
dd if=Arch---.iso of=/dev/sdb

for Arch---.iso you need to use the Arch iso file you downloaded and for of you need to find out the id of your usb device.

Booted and installed , am now trying to get a GUI working on it, yes it boots into plain old command prompt and no GUI is installed :)

Not for the faint hearted....

Regards,
Ishan

Saturday, September 3, 2011

path to the embedded xml's in ios projects

Xml parsing is an integral part of any mobile project you will come across, 4 out of 5 projects are about parsing the xml and then using the data in one way or another.

xml's are also a great way of passing data between different platforms.

NSXMLParser is provided by the Foundation framework and is an event based parser (SAX ), though there are several free third party parsers available which perform better than NSXMLParser.

To get the xml file opened and read into the NSData variable we need to create the path to the xml file stored in the application.

It can be done as :

NSString *appDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"project_name.app/file_name.xml"];

Will post more when i'll experiment with a DOM parser in ios.

Regards,
Ishan


Wednesday, August 31, 2011

complementing c++

C++ as a language is very complex, that's where lies its beauty but everything is not built into the C++ standard library.

Multi threading and network programming are amongst the most missed components.

Some even suggest replacing C++ standard STL components with external libraries, most notable among those are "Boost C++ library".

This is a library designed by programmer, most of them are on the C++ standards committee, so there are great chances of the Boost components getting merged in C++0X standard.

Using Boost also gives the advantage of being platform independent so rather than worrying about porting your multi threaded code, you can now concentrate on better code architecture.

Regards,
Ishan Malviya

Learning c++

I have been a big fan of C/C++ since the time I started programming. In fact C++ was the first programming language I learnt.

Learning C++ is not an easy task and believe me when I say there is no replacement for writing code, but reading good books and reading code written by others is a very helpful practise.

There are a series of books that i would recommend and reading them in the order presented here will elevate your rank in the C++ guild.

1. Thinking in c++ vol 1/2
2. Effective c++
3. More effective c++
4. Modern c++ design
5. Design and principle of C++

I am assuming that you are at least comfortable as beginner, these books can take you from the beginner's level to near master.

As I have already said , nothing matches writing code.

Regards,
Ishan Malviya

Friday, August 19, 2011

billion dollar messes

HP declared today that they are going to exit the consumer hardware arena, just about 1 year after buying Palm Inc. for 1.8 billion usd and leaving it to rot.

HP has also bought compaq systems for over 24 billion usd.

Great going HP.

Regards,
Ishan

Thursday, July 28, 2011

switching to the dark side

I have always admired the Apple hardware, though i don't agree with the premium consumer has to pay for getting that half eaten apple on their gadgets.

Mac OS X , in my opinion is a bit better than windows, nobody can beat Steve jobs in the eye candy department, but all the talks about mac being more secure as compared to windows is just marketing bull.

Having just finished reading "Masters of doom" for the third time, i was really intrigued by the praises heaped on objective-c development environment by John Carmack.

So i went ahead and bought an iPod 4G, which is almost same as iPhone 4G without the gsm and gps chip.

Am experimenting with the ipod , having already jail broken it, but that deserves a separate post.

BTW, N900 still beats the craps out of anything any day :)

Saturday, July 16, 2011

harry potter -- end of an era

Hi,

Although I haven't liked all the Harry Potter movies, but I have been a big fan of the novels.

Saw the last one today, Loved it.......
If anybody looks closely enough they can find faults with anything, this movie, at least for me , is a befitting end to an era.

And for the people who think that Harry potter movies are for kids, they are the ones with an emotional equivalent of a bug. As one of the guys i sorts of know had very correctly said, its about death..........

Regards,
Ishan

Friday, July 15, 2011

Harry potter : it all ends

Hi,

Am so excited, the last potter movie is released and tomorrow i am going to watch it.

Hope it does justice to one of the most memorable franchise.

Regards,
Ishan

Rails on ubuntu 11.04

Hi,

Was trying to setup rails on my ubuntu netbook, installed nicely but when i tried starting the server from with the Aptana studio IDE which i am using for both Django and Ruby/Rails development, i returned an error about sqlite gem not installed.

To solve this gem installation problem the command to run is "bundle install", that too didn't solve the problem.

Then after 2 day of going through stackoverflow and google search results, i found the solution and as usual it was simple :)

libsqlite3-dev package was missing, installed and everything is running fine now.

Regards,
Ishan

Thursday, July 14, 2011

ssh connection into my n900

Hi,

I recently had my workstation formatted, since then i am facing a weird problem , in cannot ssh into my n900 through usb networking.

It works fine over wifi, but that is not too secure.

The setup works fine over at my place.

Have reinstalled the nokia pc suite and then tried it, with no success.
Have even tried reinstalling the nokia connectivity cable drivers separately but that too failed.

It seems to be one of those weird problems which occur when the system get a mind of its own :)

Regards,
Ishan

Sunday, July 10, 2011

a novel i would recommend

Hi,

If you are in any way interested in reading and computers, should should do your self a favor, pick up "the blue nowhere", It mixes the hacking stuff with crime suspense drama.

And it is miles better than "the digital fortress", the tech in the novel is plausible and to an extent real world.

Just loved it.

Regards,
Ishan

Transformer 3 -- hollywood awesomeness

Hi,

I am a movie buff , and am proud of it, Since the past 3 years almost every weekend i have seen a movie.
So keeping up with the tradition i went for the recently released "Transformers 3" , and man i was something. Just loved the movie. Yes, it was a bit longish and would have done wonders with some tight editing but still it beats the crap out of the other hyped movies released recently hands down.

If you haven't seen it , take my word go for it, u'll love it.

Regards,
Ishan

Wednesday, June 29, 2011

Bad luck with my xbox360

Hi,

For those who don't know me, I have been a tinkerer since my childhood, the first memories i have of this trait of mine is of opening my Leo toy gun and an unfortunate alarm clock, the toy gun i had to throw away and alarm clock was placed behind a cupboard, had to destroy the evidence, but was caught both times by my parents.

Since then I have opened mp3 players, FM radio's, CD players, floppy drives, DVD drives, my CPU, Television ... the list goes on......

I own a XBOX360 , courtesy of my better half and that was the thing which was left unopened , mocking me , sitting smugly , as a challenge , an unconquered frontier. Not anymore :)

Although the mission was not a total success as I wanted to flash my xbox to be able to play backed up games ( you know what i mean ), but my xbox has liteon DVD drive , model number DG-16D2S-(09C), firmware number 93450C, which unfortunately has to be flashed by soldering a wire onto it, and I am not great with soldering, so I wisely decided to back off.

Have repacked the xbox and tested it, its running fine. Here is the pics of the adventure i had.




Regards,
Ishan

Wednesday, June 15, 2011

using makefiles to compile objective-c

Hi,

In the last post i have discussed the procedure of installing the GNUstep compiler on a windows machine and using it to compile the objective-c code.

But as you all must have felt that the procedure for compiling the code was a bit tedious and raw, so here is the make file version of compilation as promised in the last post.

Create a file named "makefile" and into that file put the following lines:

first : first.m
gcc -o first.exe first.m -I /C/GNUstep/GNUstep/System/Library/Headers \
-L /C/GNUstep/GNUstep/System/Library/Libraries \
-lobjc -lgnustep-base -fconstant-string-class=NSConstantString


Then on the GNUstep shell , make sure you are in the same folder as your source and makefile , type the command "make" and hopefully you will get the error free result.

Hope this makes the process a bit easy.

Regards,
Ishan

Thursday, June 9, 2011

Objective-c on windows

Objective-c is a nicely designed language with a rich feature set, If you are aware of the recent history of programming, you will know that when steve jobs was booted out of Apple he founded NeXT, a company which created the NeXT workstations. He licensed objective-c from "StepStone" the original creators of the language.

Due to its brilliant features objective-c became the prefered platform of hardcore programmers. Then Apple bought NeXT and objective-c became a part of what came to be known as Mac OSX.

Today objective-c is the language of preference if you want to develop on Mac, Although because of the premium tag associated with Mac's its out of reach for many people.

If you want to start learning objective-c as a language before jumping on to the Apple bandwagon, there is a solution.

The blessed GNU people created an open source implementation of the objective-c compiler and called it GNUstep and guess what , its available on windows.

You can download the required tools from the link given below.

http://www.gnustep.org/experience/Windows.html

Download the four tools provided from the links available on the page and install them in the suggested order.

GNUstep MSYS System -> GNUstep Core ->GNUstep Devel -> Cairo Backend.

After the installation is done from the windows start menu open the GNUstep shell, remember its very important to get start the GNUstep shell , if you will try to program in objective-c from the dos shell it will fail.

Opening the shell opens up a bash like interface, those people familiar with the linux command line will be comfortable here, all your favourite tools like Vim , make are avialable.

Create a new directory using the command : mkdir dirName.
Go into that directory using the command : cd dirName.

now create a new source file using Vim.
vim filename.m

Notice the weird extention of the source file we just created, well thats the standard extention for the source files containing objective-c code.

In the newly created source file write the following code.

#import <Foundation/Foundation.h>
int main (int argc
, const char *argv[])
{
NSLog (@
"Hello, Objective- C!");
return (0);

}

Now to compile the code there are 3 options:

1. compile directly using gcc
2. create a standard makefile and use the provided make utilty
3. use the GNUstep make utility

In this post i am going to cover only the first option.

To compile using gcc directly just use the following command:

gcc -o output fileName.m -I/c/GNUstep/GNUstep/System/Library/Headers \

-L /c/GNUstep/GNUstep/System/Library/Libraries -lobjc -lgnustep-base \

-fconstant-string-class=NSConstantString


An executable file , output.exe will be created in the present working directory.

To execute it just write ./output.exe on the command prompt.


I will try and cover the makefile and GNU make methods of compiling as they are more practical and basically cooler to work with.


Till then enjoy the Mac goodness on your Pc.


Regards,

Ishan

Monday, May 30, 2011

Django models

Database are the backbone of any website, and database interactivity is a very important aspect of any server side programming.

As you all might be knowing that there are multiple vendors offering different databases. And usually in other established web development frameworks database queries are so tightly integrated with the code that any change in the backend database results in necessary changes in the code.

But not in django, Models are there for that service.

Models take care of the sql part for you and make it possible for the developer to concentrate on developing in a uniform language ( python ). Any change in the database can be handled by just making changes in settings.py file.

That's what i call intelligent development.

Regards,
Ishan

Saturday, May 28, 2011

django template loading

Templates are a really a great feature, using it is a delight as it lets the python developer concentrate on the backend code letting the designers concentrate on the page design.

If you are developing on a local dev machine and uploading it to a live server, template path can be an issue of concern for you.

To make it path independent there is a thing you can do to bypass that issue.
In the settings file, look for TEMPLATE_DIRS here you can use the python magic variable to chalk out a relative path.

import os.path
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates').replace('\\', '/'),
)

__file__ variable points to the current path and the templates directory can be joined on to the path.
In practical scenario __file__ will contain the src folder, so keep the templates folder inside the src folder.

Isn't it neat.

Regards,
Ishan

Saturday, May 21, 2011

ubuntu 11.04

I recently updated my netbook with ubuntu 11.04 which by default comes with the unity interface in place of vanilla gnome, i was previously using ubuntu netbook remix, which was the ubuntu version with unity.

The changes which i feel in terms of performance is the the speed and responsiveness of the whole interface has significantly improved.

Also the new file explorer is a pleasure to work with when compared with the one bundled in the last version.

The experience is smooth even with running apache,eclipse and multiple other programs on a hugely underpowered netbook, but that's a thing that expected of linux, isn't it.

things i liked about django

Django is turning out to be better than i imagined, its python whats not to like :).

But apart from that , the template system django implement to separate presentation from actual backend code is a beauty in itself.

URLconf is another feature of django which i enjoy, unlike other web development platforms where url's are where you store the page on the web directory.

As my affair with django continues i keep falling deeper and deeper.

Wednesday, May 18, 2011

Django development

Setting up a development is as important as starting with the development itself, Django development can be made easier with setting it up to be used with eclipse and pydev.

Pydev already comes with an option for creation of django projects, all that needs to be done is , download django from site and install it.

The step for installing and checking are :
1. unzip the downloaded file.
2. python setup.py install

To test if django has been setup correctly , just try this from console/command line

open python interactive shell, then type the following commands

1. import django
2. print django.get_version()

If you get some output about the installed django version you are good to go.

Now with both django and eclipse+pydev installed only 1thing remains to be done, configuring eclipse to use the recently installed django.

To achieve this ,from the eclipse menu go to.

windows->preference->pydev->interpreter-python
In the library tab click on the new button and point to the installed django root folder.

This will get you started.

Regards,
Ishan

Tuesday, May 17, 2011

Django hosting

Python as a language has fascinated me since my college days, python is as natural in flow and construct as it can get.

So, when i decide it was the time to patch together a web presence for myself , i started looking around for a web framework, But my specifications were rigid.

I needed a framework , which was opensource, so that rules out windows based development techs,
Also i don't have a liking for Java as a development environment. On digging a bit deeper i came across the web frameworks for Python.

There are many options when it comes web programming in Python for example "Zope", "Turbo gears" , "Django" and many more.

But Django just clicked with me.

Then came the real problem which i faced , which is the actual topic of this post, most of the hosting services don't provide shell account and also there is no scope for mod_cgi or fastcgi which is required to run Django apps.

But, there is no need to panic, there are some quality services which provide the required architecture to host Django apps.

Here is link from django site itself listing the popular hosting services, i myself have chosen "webfaction"

Friday, May 6, 2011

crossplatform mobile development

Hi,

The mobile development scene is too diverse, there are so many platforms to support, so many development environments to master.

Before the coming of android , the symbian development was a real pain in the ass.
There was no backward compatibility, the api's were so confusing that it finally lead to nokia's downfall.

Then came Android and iphone, there was some sort of order from then on, but it still restricted a developer to stick on a single platform. That places more control in the hands of already authoritarian market leaders.

But there is hope still, For those wishing to develop for multiple programs without investing in multiple technologies there is MoSync.

For those not aware of this wonderful tool, MoSync enables the developers to use there desktop development skill and start developing for mobile devices with minimal effort and that too without having to restrict themselves to a particular platform. MoSync is what a perfect development tools should be, in opensource, its platform independent and it uses c++ :)

There is tremendous potential in MoSync, and it is realising it power. With the release of MoSync 2.5 alpha native development support for android and iphone is added , also openglES support is added.

So, stop waiting and go on to www.mosync.com, download the latest ide and start churning out apps.

Regards,
Ishan

Thursday, April 14, 2011

Simple recursion

Hi,

Recursion is one topic in programming which people don't really understand enough to implement in practice. It remains a very elegant programming construct, though underused.

I am writing this post because i used to think that i know recursion well enough to implement, but when i tried to explain the concept programatically i was unable to convert the theory i knew into the practical i thought i knew.

So i sat down and wrote a code to add all numbers till n, and did it using recursion.

 #include &lt;iostream> 
using namespace std;
int addTillN(int n);
int main(int argc,char *argv[])
{
int n;
cout&lt;&lt;"Please enter the number till which you want the summation\t";
cin>>n;
cout&lt;&lt;"the summation is :\t"&lt;&lt;addTillN(n);
return 0;
}
int addTillN(int n)
{
static int y=0;
if(n>0)
y=n+addTillN(n-1);
return y;
}
The code above is a simple example of elegance of recursion, the other option was using plain old for loop, but isn't it just boring :)

Regards,
Ishan

Wednesday, April 13, 2011

IDEA 3G --- How it fared ?

Hi,

I received an sms 2day from idea stating that 3g has been activated on my sim and i can use 100 MB of data valid for 15 days, being the bandwidth lover that i am , i whipped out my 3g modem and set upon the task of testing what idea has to offer.

I connected the modem to a netbook running ubuntu 10.10 netbook remix, on "speedtest.net" i got download speeds of around 2.5 Mbps and upload speeds of .5 Mbps, ping was also better than bsnl's 3g that i use.

To get a better understanding of signal strength and QOS etc I disconnected the modem from the netbook and connected it to my pc.

Mobile partner software indicated the WCDMA signal strength to 99% and HSPA signal strength to 97%, best i have seen so far.



To dig deeper I disconnected the mobile partner and started mdma, negotiated QOS revealed that the tower that i have connected to supports 8 Mbps uplink and 16 Mbps downlink, not up there with the claims of 21 Mbps but certainly better than bsnl which allows downlink upto 2 Mbps only.







But then came the biggest blunder idea could have done after such a good start, they deducted my balance after promising free 100 MB data, i don't think that's a good IDEA :)

So far i have tried all the operators who have launched their services in Maharashtra, bsnl is still the most feasible to use from a price to performance ratio.

Regards,
Ishan

Sunday, April 10, 2011

Begining multithreaded programming in boost

Hi,

With boost dev environment successfully installed, I now am embarking on the path to multi threaded nirvana.

For starters am going to paste the most basic multi threaded code here and the instructions how to build it.

 #include <iostream>
#include <boost/thread.hpp>
#include <boost/date_time.hpp>


using namespace std;

void workerFunc()
{

cout<<"workerFunc Started"<<endl;
boost::posix_time::seconds sec(3);
boost::this_thread::sleep(sec);
cout<<"workerFunc Finished"<<endl;
}

int main ( int argc, char * argv[])
{

cout<<"main started"<<endl;
boost::thread workerThread(workerFunc);
cout<<"main : waiting for workerThread"<<endl;
workerThread.join();
cout<<"main finished"<<endl;
return 0;

}
The code posted above is the most basic multi threaded code in boost, I will first explain the code and then post the instructions on how to compile it.

The code comprises of two functions.

1. workerFunc
2. main

We will be discussing only those lines which are relevant to threading.

In the workerFunc function two lines are of interest.

1. boost::posix_time::seconds sec(3)
2. boost::this_thread::sleep(sec)

In the first line a time construct named sec is defines with 3 as its value, it is defined in boost/date_time.hpp

The second line makes use of sleep function from boost::this_thread, it pause the execution of the current thread for the time provided as an argument to the sleep function. The handle/reference to the current thread is provided by boost::this_thread.

In the main function , again there are two lines which are of interest.

1. boost::thread wokerThread(workerFunc)
2. workerThread.join()

Line 1 creates a thread named workerThread and passes the name of the function to be executed in the newly created thread.

Line 2 uses the join function to instruct the main thread to wait for the new thread to finish execution.

Now , to compile the program the command is

g++ -o appName main.cpp -L /path/to/boost/lib -lboost_thread

g++ is the c++ compiler bundled with gcc, -0 flag tells the compiler to generate the executable with the supplied name, in our case appName, -L instructs the compiler to add the provided path to its search directories for libraries and finally -l flag is immediately followed by the library name.

The method we have used to supply the function to be executed as thread is not the only one, we can have thread functions which take arguments, have a class with thread function inside it etc etc.

Will explain other methods of creating and using threads using boost libraries as i delve deeper into the library.

Regards,
Ishan

Installing boost on ubuntu - 2

Hi,

In the previous post i described the method to install boost library on ubuntu.
It seems that it installed the header only version of the library.
To get the complete thing installed the command is :

apt-get install libboost-all-dev

And you will be good to go.

Regards,
Ishan

Saturday, April 9, 2011

installing boost on ubuntu 10.10 netbook remix

Hi,

After setting up boost library on my winxp machine, i wanted to install boost on my new netbook running ubuntu netbook remix.

I tried building the library from source as i did on windows but kept running on to some build errors.

Then i went to the traditional way to install from ubuntu packages, but there were some unmet dependency problem which i was unable to solve, then after a bit of searching around i got the exact package name to download.

apt-get install libboost-dev libboost-doc

This did the trick, but it installed the 1.4.2 version of the boost library ,current version being 1.4.6.

Will trying building some cpp code and get back with the results.

Regards,
Ishan

Wednesday, April 6, 2011

A way forward

Hi,

I have read some where , to be a good programmer you should know more than one programming languages, it gives you a better problem solving perspective, and i completely agree.

C++ is the primary development path i have chosen, because its close enough to the system to fiddle with the OS and its suitable for handling large projects.

Python is the second language i prefer to get the work done quickly, its a very fluid language and i love it almost as much as C++, the amount of libraries the come packaged with python is unbelievable, they are not wrong when they say that python has "Batteries Included" :)

For long i have been looking for a new language to study, but i haven't reached a decision yet.
Lets see where i end up.

Regards,
Ishan

Tuesday, April 5, 2011

Using boost static libraries with CodeBlocks

Hi,

Since the past two days , i was trying to run the most trivial multi threading code snippet using boost thread library.

And was unsuccessful, but failure is not always negative , it provided me with the matter for a new blog post to share :)

The issue i was facing was , when i built the project using dynamic boost libraries it worked fine, but as i didn't wanted to have to provide the libraries separately, i tried building the project with statically linked libraries, but no matter what i tried, build always failed with unreferenced symbol error.

Tried re downloading the boost code and recompiling it after a detailed study of bjam build option, but everything failed, then i found , hidden under the pile of junk on the internet a single line of code , and everything was working.

I'll stop being poetic and post the code below.

#define BOOST_THREAD_USE_LIB

Just add this line at the top of the source file using the library and u'll be fine.

As it turned out, the problem was with codeblocks build system, the headers being used were expecting the library to get linked dynamically , atleast this is what i was able to under stand.

So, now i can move along on an adventurous voyage of exploring the boost underworld.
Will keep you all posted.

Regards,
Ishan.

Thursday, March 31, 2011

Building Boost for codeblocks

Hi,

Boost Libraries are the best example of collaborative opensource development. But this post is not about Boost, its about installing Boost libraries for "CodeBlocks" , a free and opensource C++ IDE.

I was trying to Get the library work from the g++ toolset for boost , but was getting an error regarding g++ location, Then after many wasted hours i reinstalled CodeBlocks on C drive itself. initially it was in "program files" folder.

It worked, The libraries are being built as i write this post, the problem was with the "bjam" utility, it was having problems processing the path with spaces.

Regards,
Ishan

Wednesday, March 16, 2011

Amazing N900

Hi,

As you guys already know that i happen to be a proud owner of a Nokia N900.
Although it has been almost 1 year since i got this device, it keeps on surprising me.

If you will enable extra-devel repo, you can download RDesktop app, using this you can RDP into your windows machine and control it via your N900. Isn't that cool.

You can even control your home machine remotely over the internet.

If you happen to have static IP at your PC, then you just need to enter the IP address, username and password into the RDesktop app and viola you are in.

Having a dynamic IP makes it a bit difficult but its not impossible. Just create an account at

"www.no-ip.com" download their client on the PC and now you can just use the name given to your PC at the time of registration at no-ip to connect.

Will post the pics once i reach home.

Regards,
Ishan

Sunday, March 13, 2011

High End Nokia Phones -- Do they really exist

Hi,
Been observing the latest Nokia handsets released to compete with the iphone and the androids, but with the specs of these so called high end Nokia devices , like N8 and E7, they are nowhere near the competition.

Nokia is still using the outdated Arm11 processors, when the competition has moved on to the dual core Arm A9 architecture.

also there's only 256 MB of RAM on E7, Nokia's latest offering, that pathetic.

If Nokia want to stay relevant in the future smartphone business, they will have to produce better handsets, and ramp up the H/W specs.

Regards,
Ishan

"The Code" -- A must watch for Linux fans

Hi,

This weekend i stumbled upon an old jewel,
saw the documentary "The Code" , it tracks the early years of Linux.
Was a treat to watch, though some of the part were in Finnish ( Finland's language ).
But it was still worth it :).

Its available on google videos, just a search away.

Regards,
Ishan

Thursday, March 10, 2011

CODE_RUSH

Hi,

There are very few documentaries out there which can satisfy the geek inside you.
So , if you are like me and love your computer, go see "code rush".

It tells the doomed tale of the birth of the browser we all love "mozilla firefox".

Take my word for it, you will love it.

Regards,
Ishan

Monday, March 7, 2011

SVN issue and how i solved it

Hi,
After waiting for days to get a SVN repo for my project at work, Today i installed "VisualSVN Server" on my machine itself, basic version is free and i believe for small project team its sufficient.

Has tortoise SVN client installed on my colleagues system, but no matter how many times we tried, we faced the same error "Path '..etc...etc...etc... /trunk' is not canonicalized; there is a problem with the client.".

Searched the internet for a solution, considered updating my client, then i realized the SVN repo url contained capitalized character, retried by using all small chars in the url, and guess what

IT WORKED !!!




Regards,
Ishan

Tuesday, March 1, 2011

Vodafone 3G launched in pune

Hi all,

Vodafone launched their 3G services in pune recently on 27-28 Feb.
And i did a small test using the "Huawei umg 1831" i had recently procured.

The results were astounding, see for yourself.

The first image show the signal strength i was getting on the data card without using any usb extension cable for improved reception.



The second image show the negotiated QOS with the tower the modem has registered to, unbelievable, bsnl QOS is capped at 2 Mbps :(





The third image show the speedtest screenshot, yesterday i was getting 8 Mbps, as i haven't got any data plans for vodafone 3G, was unable to do any more test.




Will post the bsnl results too.
Till then, Just hope that sanity prevails and operators announce some affordable plan.

Regards,
Ishan

My newest gadget :)



Hi all,
Guess what i added in my ever growing gadget collection.
A spanking new "Huawei umg 1831 3G modem".

It supports 21 Mbps HSDPA, is single band UMTS, and quad band gsm.

Here are few of the pics.







Will get back with reviews.

Regards,
Ishan

starting Gdb

Hi all,
To know programming , one of the most important things to learn is Debugging.
Without this skill, no one can be a complete developer.

almost every programming environment provide a dedicated debugger integrated with the IDE for this purpose only.

As i am into C/C++ on linux platform, my development toolkit contains gcc/g++, Vim, Eclipse + CDT, and Gdb as the choice of Debugger.
Although eclipse provides GUI based debugging integrated with the IDE, learning the tools of trade and using them from command line has a different high.

So, aspiring to become a complete developer, i have embarked on the tedious journey of trying to master the untamable Gdb.

and who else to refer to than the legendary author of Gdb, Stallman himself, he along with the other developers have written an exhaustive manual covering all the intricacies of Gdb.

For those who want to follow a more user friendly text, you can refer "The Art of Debugging With GDB and DDD and Eclipse" published by "NOSTARCH".

Will keep updated on the progress i make.

Regards,
Ishan

fresh start

Hi all,
Been a long time since i last posted.
Blogging took a back seat as some life changing events happened during the time bygone.

will try and continue the blabber.

Regards,
Ishan