Internet will change again

If you remember those days, when one has to wait for an email to open, then for sure you know that its changed now. Not only fast internet, but the central delivery system, has changed from one server to cloud servers. And that is perfect for the problem in hand. Now all the data is residing in someone’s server(ok, cloud server). In the beginning, it felt perfect as it syncs to all the devices and one seamless experience for the user. With this, comes the security breach and that has already showed its effect in last year.
Fortunately, world is a better place. Individuals and startups have already acted upon this. There are so many cool products and services being tried last year that we may start to see the fruits starting from this year.
The philosophy has changed from “mobile first app” to “offline first app”, from “connected app” to “noBackend app”, its a revolution again.
The very chances are the experience may remain the same for the user, but the underlaying data and functionality of the applications are going to change again as it changed first from single server to cloud servers, now it would be single again, but only for your own data (So, it would be Re-Decentralizing).

redecentralize : taking back the net

Well, exciting beginning for the year. Below is the list of, some of the many initiatives, which will change the internet again.

arkos.io : Your data, your rules.
sovereign : build and maintain your own personal cloud
Ansible : Ansible is the simplest way to automate IT.
mailpile : A modern, fast web-mail client
Lima : Lima unifies the memory of your devices so they can act as one. Just for you.
owncloud : self-controlled free and open source cloud.
cozycloud : your personal cloud
Cozy: A personal Cloud you can host, hack and delete

Redecentralize ยท taking back the net

offlinefirst
nobackend

Backendless
deployd, THE SIMPLEST WAY TO BUILD AN API.
Firebase
Hoodie, VERY FAST WEB APP DEVELOPMENT
Kinvey
Parse
remotestorage, An open protocol for per-user storage
sockethub
unhosted : freedom from web 2.0′s monopoly platforms

This interview with Mailpile founder seems a nice start if you are wondering whats coming in near future.

Happy new year,
Cheers

javascript : prototype

Moving on with my study of javascript, the next thing is “prototype”. Before that, lets say it three times, “Everything in javascript is an Object“.

There are only 3 primitive datatypes in javascript! Though some refer as, there are 5 types, but all in all those are the only ones. These primitive data types are

string
numeric
boolean
//The other two are
null
undefined

Apart from these basic datatypes, everything else is an Object. Though there are predefined Objects in javascript with these primitive datatype names such as String,Number,Boolean,Null,Undefined respectively. Please refer this for a detailed understanding.
Well, the point here is everything is an Object in Javascript. Unlike other programming languages where a Class is needed to create an Object, Javascript comes with Objects from the beginning. The dynamic nature of the language allows us to do so many things in so many ways that there really needs an eye who can see the details, of how things are done.
We know from past tutorial that “prototype” is a property of an Object created with “new” keyword. What does this do? Well, this allows us to link Objects internally!! Lets take a pause and understand another very important lesson of javascript and object oriented programming in general.
In a Class based language(Java or Actionscript) it is thought as, “how to relate the Classes, so that something is possible?”, where in a dynamic language such as javascript, it is thought as “how to relate the Objects, so that something is possible?” Read it for a number of times so that you will get a hang of the metaphor and thought process difference, in mind.
So the point here is the same, we have to relate the Objects itself but not the Classes(Anyway, we do not have classes here in javascript but can fake them though).
Coming back to our “prototype”, its the property of an Object created through the use of “new”. This “prototype” property is also an Object in itself. To test this, let us refer our previous post, and the all in one page test. Go down to the “Understanding Javascript class.” box and click on the “what is prototype” button. The pop-up will say, its an Object. That’s good, lets move on and click on “prototype test” button, now it alerts “undefined” that means, “prototype” is an object but not yet defined! So lets define a prototype and call the same method again. First to assign an object to the “prototype” property click on “initiate with custom prototype” button. That will assign a custom object as the “prototype” property. Now click on the “prototype test” button again, and this time it will alert with some value, other than “undefined”.
Whoa!! Its that simple. Yes it is that simple and for the same reason many confuse with the concept. After all the world has become complicated to understand simple things :) :)

The source code of the example is here to download.
Happy coding.

StartUp : Geek Mentors

It’s very exciting to see these people at geek mentors doing a nice job porting angrybirds to a local version.
Flash is not always about flashplayer, its much more than that if we really follow the philosophy of Flash community. These guys at this startup began their career in Flash, but as of any cool dude in Flash, they always tried to push the technology and dove into new platforms for the learning and broadening the horizon. They are hungry for technology and fun, both at once.
The momentum is always there for fun and learn new things all the time. The work never seem to be complete but then they never seem to rest ;) that does not mean they are working under pressure, that means simply they keep on working for what they love. Apart from developing games for Apple appstore, there is a quality mentoring option for people who want to learn things the fun way by doing it. The best part is there is no project manager to manage you, come to work and do it by how you want to do.
There is a heavy investment on new technology learnings. When the world was fighting for whether to Html5 or Flash, this new startup solely concentrate on GameSalad. A solid platform for publishing your games to IPhone, iPad and even HTML5. The point is if there is a tool which can produce quality applications, why fight over how many lines of code one need to write in a particular platform!
GameSalad link for Angry Anna : http://www.angryanna.com/
The content below is kind of an interview with the company

Introduction of the team :
Mohd Shah Nawaz : Co-Founder,
Mohd Faisal: Co-Founder,
Himanshu Himthani: Art Director,
Abhishek Chawla: Production Lead.
Ajay Joshi: Educational Advisor
Experience till now : Don’t know what to write…..
Vision : At Geek Mentors Studios, our vision is to be the best company in the world–in the eyes of our customers, shareholders, communities, Employees and people.

Wishing the team all the best.

Git Svn

While the dialogue can go on as to what to use for version control system, central or distributed, the truth is the whole developer community is inclined towards Git.

If you are a Git user, chances are you come across teams, who still uses Svn. Never to worry though, since Git has native support for Svn. So basically, while all of the team will be using Svn, you can still use Git and work on the same repository as the team, with the added power of Git.

My often used commands to work with Svn through Git are below,

git svn init https://svn.repo.org/dev/trunk/
git svn rebase (or git svn fetch)
git svn dcommit

Basically, once you have your repository locally, everything else is plain Git.

git branch myLocalDev
git checkout myLocalDev
git add .
git commit -m 'my comment'
git checkout master
git merge myLocalDev
git svn dcommit

Below is a description taken from here, which makes it clear as to what to do when Svn is updated and you need to update the local repository before pushing your update to the central repository.

Solve git-svn rebase problems

Put aside your changes using the command :

 git-stash 

Update your working copy using :

git svn rebase 

Take back your changes typing :

git-stash apply 

Clear “the stash” typing :

git-stash clear 

Hope that helps someone out there.

Posted from WordPress for Android through my “HTC Wildfire”.

Internals of this blog is updated!

Yesterday, the internals of this site is updated again. Now it runs WordPress version 3.2 Beta. This is for the first time I have updated to a development version of the engine.
Well, I must say the transition was just smooth. The best of all is it now has the new default theme and that is pretty awesome in itself. All my custom widgets are intact and I have applied them here without any hassel. Overall I am impressed with the progress of the WordPress engine and this is probably the best update in recent times.
The admin panel is sleeker and lot of confusing settings are provided in a simple UI.
Well done WordPress team. I am happy with my new design. Obviously want to listen from you, what do you think of this site.

Posted from WordPress for Android through my “HTC Wildfire”.

Lua : My experience with it.

Well, on my journey with mobile development, I picked up Lua for sometime. I am quite impressed with its simplicity and power. If you do not know, Corona SDK provides Lua scripting language to build applications for mobile devices. The popular Angrybirds game utilises the power of Lua.
Basically its a simple language with very minimum number of key words and language syntaxes. Anyone familiar with javascript or actionscript can start jumping into it and be productive from day one. There are variants of the installer for Mac and Windows. Some what I feel Windows installer is the best and has got its own IDE, which is on top of popular SciTE IDE.
There is a complete 2D game engine / framework for Lua named Love. With that one can instantly start creating Lua games. As Lua is simple, so as Love is. But then one gets a whole lot of goodies out of a framework. I would say a must try for any game developer.
There is a nice framework for iPhone, which uses Lua and its called WAX. This also fits Lua’s philosophy as to keep the framework simple and easy. The best part is, once you start coding in WAX, you do not have to think about memory management, which is very important and sometimes most time consuming act, while developing application with ObjectiveC.
Now that I have seen Lua’s power and simplicity, I will try that out more and more and post updates about my experiments. Here are some Lua related links for you to get used to
1. Users, tutorials and more
2. Love : 2D game engine
3. WAX : iOS development framework
4. 2D Engine A 2D game engine (I Have not tried yet)
5. Luxinia 3D game engine (I have not tried yet)
6. Lua Forge Projects, tutorials and more
7. Baja Engine A game engine (I have not tried yet)

With that I think I also have to pick up some engines and start playing with it. Overall, Lua feels just perfect as its simplicity and power. Its portable and lightweight. After all its Opensource and Free.

Enabled mobile update.

Well, must say WordPress is a nice framework if you want a php framework for your content management system. Appart from just a framework, it is a blogging engine and a full blown CMS ( Content managent system ) . I must say, after using its free service for a long time , I started to experiment with the engine and put forward this blog. Now I have just enabled its mobile publishing facility. It is a setting on the administration area, under writing section.
Is not that just wonderful about a free and opensource software.
This post itself I am publishing from my cell phone, just to test and feel the service.

Finally updated the internals of this blog

well, its been a long silence. But better late than never. I have finally updated the base wordpress engine and the plugins to its current available state. I am not saying I will post this update message every time I will update, but this one needs a mention as I have taken log time ignoring this. Partly for ignoring and partly too enthusiastic. But then, i think I am better now to get up and keep going.
I least I am hoping so and wish me luck for the same.

Thank you all for stopping by.