Friday, May 18, 2012

Google Nexus 2013 Prediction



If the wall street journal report is true that Google will release 5 devices under the nexus line , I'll make the following predictions about the news :

1) The manufacturers will be Samsung , Motorola, HTC and Asus . Motorola and Asus will have tablets, Asus won't have a phone
2)  HTC One Nexus, Samsung Galaxy Nexus and Motorola Droid Nexus will be the names of the devices
3)  The devices will be under the google play line of devices powered by android and sold in the play store

Saturday, December 03, 2011

Firefox - The Phoenix That Might Not Rise ?






Just read an interesting article by Ed Bott  => " It hasn’t been a good year for Firefox. Mozilla has lost share to Google, it’s lost the loyalty of enterprise customers, and it’s lost key talent. And a deal with Google that supplied 84% of its revenue last year was scheduled to end in November. Can Firefox avoid a slide into irrelevance?"


$100mn out of $123mn just from Google itself, that sort of dependence is a dangerous position for anyone to be in. The incentive that Google has to renew the deal is to not let Microsoft come in with Bing and not give any market share points in the process, but with Chrome taking over from Firefox in market share a deal could be made although not anywhere near $100 mn .


Even for Microsoft coming in, it would mean paying to compete with their browser Internet Explorer which they have spent a whole lot on trying to revive. But they do want to make Bing a success as well


Its almost a case of Prisoners Dilemma here and the solution to that one would  be that they both don't do anything and take the chance of splitting the user base between them.


I've been using Firefox since it was called Phoenix and am sad to see this happening, but their recent moves have hurt them quite a bit and not having a presence in mobile is another big problem ( I mean even Opera has a great mobile browser, I use it frequently on the Xoom).


Is this a case of the phoenix not rising from the ashes ?

Sunday, November 20, 2011

Dart Experiments

As i play around with Dart, I have added my code to github over here https://github.com/kashifkhan/Dart-Experiments

The idea is to have a cube rotating using different keystrokes ( Based of an old assembly project)

Right now its projecting a cube using canvas. A new build of the dart editor was released today so it should be interesting to see how the JS has evolved.

Wednesday, November 16, 2011

Playing With Dart



When Dart came I was a bit harsh, criticizing the syntax and its closeness to Java. I felt that without even giving it a chance and playing with it that was a bit unfair. So after downloading the new Dart Editor and some sample examples later here are my quick thoughts on it

Whats Good :-

1) For people coming in from the C#/.NET and Java world, this is a great way to get started writing JavaScript and feel at  home. The syntax and styling make it really easy for anyone with those backgrounds to jump in feet first and start working with it

2) The editor is very nice and easy to use. Doesn't get in the way and the auto complete works well. I am not a big fan of Eclipse but this is really nice and easy to use and being minimal takes a lot of the confusing bits of Eclipse out and gets you straight into the nitty gritty

3) Did I mention intellisense ? I love it coming from Visual Studio and feel its important for a developer to have that available. Having a screen split across the screens to see docs as to what options I have with the object is not something I want to do. The editor does a good job here

Whats not Good:

1) Debugging. Those capabilities arent in the IDE right now and having to debug the obscure JS it outputs is a pain. I found myself switching  between Chrome and Firebug to figure out what my syntax errors were. Very annoying. A simple thing such as Lists having a fixed size on init and not being able to extend later is something the compiler should have picked up at compile time

2) The syntax, it just feels "old". I play a lot with Python and CoffeScript and would have liked the syntax to be along those lines ( its not a lot to ask for since the guy who wrote Python works for Google ). Is python still used there ?

3) Dart-to-JS is going to be the popular option here, and I doubt we will see the script type implementing dart as an option in all the major browsers. No way do I see IE implementing this at all. But going from Dart-to-JS does mean you give up on the performance gains that Dart promises running on the Dart VM


So far I think Ill stand with my earlier stance ( esp the syntax, more python please). But this is a .01 Proof of Concept and from the Groups messages it seems like optimizations, tree shaking,  changes to architecture etc are all on the roadmap so my initial opinion are bound to change as the language matures.

Lets see where Google plans to take the language.

Sunday, March 07, 2010

Pygowalla v 0.1

I have gone ahead and released Pygowalla which is a simple wrapper for the Gowalla API  in python .

At this point it wraps the functions documented in the Gowalla API explorer .

Next steps include:

1) Error Handling
2) Implement other apis ( I have heard of some more being listed on their message board )

Sunday, December 27, 2009

Nokia PC Suite Backup Bug for Organizer

A couple of days ago I noticed that the calendar events on my e71 home screen went missing .

The area below [ image courtesy e71fanatics.com] was not showing any of my appointments not even the default "No Calendar Entries Today" . Even the settings under the "work" and "home" mode showed the organizer being an option to display . Playing with those seemed to have no effect .




After searching online , I was able to find people experiencing the same problem ( after they had used the back up option) but had no solution to it . I decided it was time to a factory reset.

I backed up my contacts , calendar entries using the Nokia PC Suite and reset the device . On boot up the screen came up and the organizer entries were visible again . The interesting bit was when i was restoring my contacts and calendar using the pc suite because the display disappeared again !!!!

As an experiment i reset the decide again and restored only the contacts and the display remained the same . I had to do my calendar appointments again manually, but everything is back to normal and my apps were installed.

So anyone else with this problem, the only way i have found so far is to reset the device at this point. If anyone has a better approach than this please let me know.

Sunday, December 20, 2009

Installing QT Mobility on Windows

So i have been playing around with Symbian and QT development on my Windows XP VM .

The foursquareS project that I am trying to work on made a switch to the QT Mobility libraries to take advtange of some of the mobile functionalities ( such as location, maps etc ).

Now the library is great and works well. But installing it can be a little tricky as I discovered this past weekend . Even after moving the pre-built binaries into the proper location i was getting build errors along the lines of "WARNING: Can't find following headers in System Include Path
"

Here are the steps I took to install the libraries properly within my SDK ( Symbian SDK for FP 1 ) and get a build on QT Creator :-

Once you download the zip or tar file, unzip it at the same level and location as the symbian sdk. In my case the sdk was installed at C:\Symbian\9.2 . I unzipped the folder at C:\qt_mobility .
This step was key, because when you run the configure.bat and make the build files it looks in those relative locations for the sdk etc.

At this point if make is in your path, it will copy the files into the appropriate locations and you can check your set up by building the unit tests . You can then follow the steps in the install.txt to move the pre-built libraries .

Hopefully this helps out others running into the same problems I was having .

Friday, December 04, 2009

Setting Up QT Environment For Windows

So one of my main motivations to start blogging again was me regaining interest in mobile development after taking a stab at it with TrafficCam . TrafficCam was pretty awesome for its time because it was bringing back pictures of intersections and providing road conditions for drivers.

So now 3 years later , im working ( hopefully soon ) on another opensource application on the symbian platform using QT for an online service called foursquare .

So before one can get started , setting up the environment properly on windows can be quite a task, so ive written up a short tutorial that will help others set up on windows ( windows xp in my case )

What i learnt that order was key when getting things installed .

1) First based on your phone and target version of symbian get the appropriate SDK . I used the S60 Wikipedia Page to help me out on that .

You can download the appropriate SDK here

2) Install the Open C/C++ plug in for the sdk .

3) After installing the sdk you can head over to the Qt download site and get the latest version of Qt and Qt Creator . Makes sure you install this on the same drive as the SDK .

3) At this point you should be able to launch Qt Creator and use one of the example projects to get started.

By following the order, i found that the editor found all the locations of the builds, sdk by default . Not having to manually set all that is a real time saver .

Thursday, December 03, 2009

Motivation ... Found !!!

Alright so I think I have the motivation again to restart blogging . My next post will start off with that .

Thursday, June 18, 2009

I need to post again, just need the right motivatio

Saturday, March 14, 2009

Project Euler 63

Some more one liner fun.

I first had the program looking like this:-


total = 0
for x in range(1,10):
for n in range(1,51):
if n == len(str(x**n)):
total += 1
print (total)


After a good look, I was able to reduce it to a 1 liner:-


import time
r = time.time()

print(sum(len(str(x**n)) == n for x in range(1,10) for n in range(1,51)))

print ( time.time() - r )


The parenthesis around print sure does require some getting used to.

Project Euler 43

While working on euler functions, i have managed to come up with quite a library of functions that I use to solve problems.

Today I was playing around with Python 3.0 to see how many of the libraries can be converted, refactored or removed while utilizing the new features of python. First one that can potentially go is the permutations function since itertools now has one.

So here is my ( brute force ) solution to 43 using the permutations from itertools . Takes around 15 seconds to execute


import time
from itertools import permutations


def checkForProperty(t):


if (int(t[1:4])%2) != 0:
return False

if(int(t[2:5])%3) != 0:
return False

if (int(t[3:6])%5) != 0:
return False

if(int(t[4:7])%7) != 0:
return False

if(int(t[5:8])%11) != 0:
return False

if(int(t[6:9])%13) != 0:
return False

if(int(t[7:10])%17) != 0:
return False

return True




r = time.time()

print (sum([int(''.join(x)) for x in permutations('1234567890') if x[0] != '0' and checkForProperty(''.join(x))]))

print (time.time() - r)

Sunday, March 08, 2009

Project Euler #41

After a while I went back to Project Euler to solve a problem. Boy those are addicting. Had some fun with the fairly simple #41

The idea was to find the largest n-digit pandigital that is also a prime. A n-digit number is pandigital if it makes use of all the digits 1 to n exactly once

Based on the simple isPrime rule I was able to rule out 8 digit and 9 digit pandigitals. This is because the sum of the numbers is evenly divisible by 9, sum(1..9) = 45 and sum(1..8) = 36. So this left me with the possibility that n <= 7 .

Here is the python code I used to find it:-


def isNPandigital(number):
return set( [int(c) for c in str(number)]) == set(range(1,len(str(number))+1))


t = time.time()
primes = sieve(7654321)
answerSet = []

print "primes generated"

for prime in primes:
if isNPandigital(prime):
answerSet.append(prime)

print max(answerSet)
print time.time() - t

Sunday, January 11, 2009

Opera mini and gmail

why can't I access my gmail accounts via opera mini but fine with the default browser ?
Been playing with the phone a little bit more over this weekend. I found 2 remote programs for S60, one being Salling Clicker and the other called Remote'Em All . Since remote is free ill be trying that and see how is it to set up VLC over wifi.

As for browsers, I tried the default browser, Opera Mini and Skyfire. Skyfire felt very laggy , slow and had some rendering issues. On the other hand opera mini is the superstar, fast rendering and havent come across a problem site yet. The default browser is also good, but if you are going to browse the web Opera Mini is the way to go

Tuesday, January 06, 2009

Remote For Nokia E71

Does any one know of some good software ( freeware :) ) that can act as a remote control for VLC or window media player over the lan ? Been hunting for something on the phone since I watch movies on my laptop connected to a big screen and it would be nice to control the playback over the air from the phone....any ideas ?