Monday, August 6, 2012

Hardware/Software stack:
 iPhone 3Gs having iOS 5.1.1(latest as of today). 

The Xcdode 4.2 failed to detect this iphone as it has support only till SDK 5.0..

[UPDATE]
 Follow this : http://stackoverflow.com/questions/9614918/xcode-4-2-snow-leopard-and-ios-5-1
Copy few ios 5.1 folders/version.plist/SDK and you are ready

The below steps will mostly not work. Too many to tackle.. Best go with the link above..tada
--------------

I had 2 choices for getting iPhone ready for development:

1. Upgrade Xcode to 4.4
       - This was not possible as Xcode 4.4 would only run on Lion or more (i have snow leopard which i thought is pretty new ,,but no you need the lion) . So had to drop this option as it was too much effort and setup for new OS..

2. Downgrade iPhone iOS 5.1 to 5.0 or less
        - Had to look around for jailbreaking iphone . But no luck using iFaith, redsn0w.
        - iFaith 1.4.2 runs on windows support SHSH extract till ios 5.0 only. But as i did not had shsh saved. I was literally screwed. Googled more, then found TinyUmbrella5.11.01 had support to extract SHSH from 5.1 . With a catch - in advanced tab uncheck Request SHSH from cydia - very important.
If you not uncheck you get the below error:
05/21/2012 17:10:21.796 CYDIA DOES NOT HAVE YOUR SHSH FOR iPhone3GS 4.3.5 (8L1) THERE IS NO WAY FOR YOU TO GET THEM. SORRY. YOU ARE JUST TOO LATE.

Then got the SHSH for 4.1 from TinyUmbrella. I had an SHSH for 4.1, using it i downloaded the IPSW (the iOS) file from iFaith --> Download from server..

So far so good, it is downloading IPSW for 4.1 SHSH file.  

Hope these steps saves time for someone stuck with iOS 5.1.1 as I spent almost 10 hrs figuring and downloading softwares. 

References:

Glossary:
SHSH blobs  -  Hash signature system (Signature HaSH blobs) to control manual software downgrades on iPhonesiPads, and iPod touches (using this we download IPSW file from iFaith)
IPSW file - iOS package i think
iFaith - Tool for downgrading iOs 5.1 to 5.0 or less
TinyUmbrella - Tool to extract SHSH (details below

Friday, June 29, 2012

iphone Game development - Game ON

To realize my dream of awesome game development(iphone for now), I am posting my learnings here so its easy for anyone interested to get started:

Tech stack for game development:
  - Mac laptop (running Snow leopard. Intel based only)
  - Xcode - IDE like eclipse
  - Cocos 2d : gaming engine library (built on top of C based open gl )
  - Box 2d : physics engine(optional)
  - Objective C : much like C++ progging language
  - Graphic designer (hire a freelancer)

Other:
  - App store account ($100/ year registration)
  - Provisioning profile (kind of license which should be there before deploying to app store)
  - Motivation : money, self satisfaction, something i can give to the world and keep my self engaged

Risks:
    - Initial learning curve. Best to follow some samples and get the basic stuff running to avoid disappointment
    - Game ideas can be copied. You will quickly loose revenue
    - Users may not like the game if its paid. (So release free with ads + paid)
    - Is it worth the time and money?
    - Stress, work life balance? (No pain no gain)

Learn Cocos2d
    Justin Dike tutorial (best material for starters)
    Sample game starter kit  (paid, but i think its worth it)

If you are here and have similar interests and want to join me in designing awesome games, please give me a shout. Group learning and coding is fun

Thursday, June 28, 2012

Ibastis mappings

Gotchas with Sybase
1. Getting error 'JZ0SM: Unsupported SQL type 0'

I've not seen Sybase require this, but DB2 needs the type for null

values.  In general it's a good idea for portability.  MySQL is a

little loose with what it accepts, for better or worse.

2.  If you are using jconn3. driver, ensure you set the sybase jdbc url with
    &DYNAMIC_PREPARE=true
Without this jdbc query may silently fail even with precision errors.

More http://old.nabble.com/ibatis---Sybase-String-problem-td22554502.html


Wednesday, June 13, 2012

jQuery - take 2

Its been a while i used jquery + javascript (mostly into boring GWT as it takes ages to convert java to script)

Lucky i got back into jquery work now. Will be posting more findings here. This post will be dedicated for all the good jquery plugins i evaluate

The good thing about jquery is its plugings which can be easily integrated. But the question is what is the best of the lot and its version compatibility (as some cease development or are hobby projects ):

Jquery tools: Tabs + validator + tooltip + date inputs (the usual requirements - all in one) - ceased development, but saves you from looking around for handling these features.

Blackbird : Debugging console for jquery. Look no more for debug tools as its the one. Its like log4j with console.





Tuesday, June 5, 2012

Mobile app mania - Phonegap vs Titanium

Sandeep: want platform independent Mobile apps?
Sandeep: Trouble trying to build interface for different mobile platforms
          - iOS - bitten by enigmatic xcode UI designer
          - Stuck with android complex xml for simple UI layout
?
God: Use HTML + css for frontend.. with phonegap plugin to call the native API.
Trade off: No native look and feel. but HTML +css should do most of the time

Choices: Phonegap or Titanium
Have used phonegap, but limitation is that it is browser based and only one web view so cant do cross domain site based apps. [edit: There is a child browser plugin for that]
yet to figure out how titanium works(though it sounds promising for native view)

Here is some comparison to start with:
http://developer.appcelerator.com/blog/2012/05/comparing-titanium-and-phonegap.html

And man started creating platform independent apps ...ha ha haah

Friday, April 27, 2012

Scotland scientists

So many amazing scientists were born here

Some I know
Alexander Fleming - Pencillin
James Watt - steam engine
Alexander Graham Bell - telephone
James maxwell - mathematician
John Napier - mathematician
Sean connery -sherlock holmes creator Conan Doyle


Monday, April 2, 2012

Mobile Ad Services (adwhirl)

Apps are the current market buzzword esp. with explosive smart phone sales.

A developer can earn some side income by releasing value add apps for free and integrating a small ad. A few learnings on ad revenue so far(more to come)

- You can generate better revenue if your ad request are filled (fill rate) and eCPM($ earned per thousand impression) will be improved.
      - Ad networks use some algorithm to decide if it has to serve the ad or not which impact the fill rate. 
      - I think if the click through is high, then that will impact the fill rate, etc
      - The aim should be to improve the fill rate

- To increase your fill rate, you would need to integrate with serveral ad networks (admob does it behind the scenes, millenial media does provide integration with just a few networks, but still their fill rate is quite low)
- Adwhirl can be a good option to increase fill rate and reduce dependency on one single ad provider.
      -Adwhirl is an opensource ad integration library which fills this gap of using multiple ad service networks for the  
        same banner. It is a one stop shop to integrate most of the ad networks. Moreover it is opensource, hence you
        can virtually implement any ad network.
      - % of ad to be served can be controlled in their site(this is retrieved using their free mediation server. How nice of them, it is all for free :) )

Gotchas:
1. Adwhirl needs other ad service provider libraries in the class path.
2. Adsense needs additional parameters like company name, app name etc.
3. A mediation server is run by adwhirl.com for free which provides configuration (about what % of ad service to use etc). You can optionally run your own server if required
4. Adwhirl is a loosely couple integration and relies on third party libraries, so have to test that the ad is served individually.