Mobile Application Development Frameworks Compared - Native, Steroids, Appcelerator, Kivy

Disclaimer: I’m not an expert on mobile application development. Just a newbie leaning towards the direction of the strong blaze.I would like write my trials with the frameworks that I’ve tried to use to make mobile applications, especially for android. In this process, I had some hands on experience with Appgyver Steroids, Titanium Appcelerator and finally native android SDK.Some background: Steroids is a framework developed on top of Adobe’s phonegap which gives you chance to create platform agnostic mobile apps by using HTML, CSS and Javascript. While doing this, it uses Apache cordova.js to connect with low level phone APIs like camera, accelerometer, gyro etc. NativeOutcomeFully native and optimized appDevelopment speedInitially slow, after ramping up on SDK, decent.App performanceSuperfastEnvironmentADT(Android Development Tools), Android StudioDebuggingSuper easy with Eclipse java debugging capabilitiesEmulatorLarge variety of emulatorsPerformance factorsJava is a beast. You ...

My First Native Android App

Learning new stuff, leaving your comfort zone is always hard. I like python, I like my python frameworks, I like html, css and javascript. Why would I learn yet another framework? Native SDK of android was something I have been running away for a long time. However, after trying 3 alternative frameworks which are Kivy, steroids and titanium. Finally, I decided to try native. I will write a comparison among those 3 frameworks soon.Here is the application:’s not saving the world, just showing some random comics, making you save your favorites into local storage and share via your apps. It was a good training application for me.There is a big misunderstanding among newbie mobile developers. Going with html or js is not always good. It depends on your use case. Sometimes putting a share button would be a real pain with html (phonegap and steroids). However, with native SDK, you can have an easy share button with a cou...

Ubuntu hard drive mount problem due to Windows 8 and 8.1 fast startup

I really like windows 8 and windows 8.1. Especially if your laptop is optimized for w8, it boots up blazing fast, restarts lightning fast, shuts down incredibly fast.  However, the problem is that I don’t really use w8 (only for gaming, photoshop and flash). I have just recently upgraded my w8 to w8.1 and forgot to shut down fast startup. It took me 5-6 times rebooting to understand the problem. Every time I log in to ubuntu, it could not mount NTFS drives and gave an error like “This drive is locked by windows, do not hibernate blah blah”. Although I was always shutting the windows down, fast startup was enabled and it was not releasing the lock on the hard drives.Ubuntu hard drive mount problem is caused by Windows 8 and 8.1 fast startup. To turn it off follow the steps here:

N-Grams of 5 million books

I watched a cool and short video about n-grams created from 5 million books by using Google’s computational power.Here is a little background info about N-gram: are used in natural language processing (NLP) a lot. We can basically say that they are mostly used to guess the next word according to the previous word sequence.[youtube][/youtube]Here is the talk pageGoogle’s N-gram viewer:  

Increase productivity on Mac OS with Alfred

I’m already productive on Mac OS :P If you are big fan of spotlight and ava find, alfred is just for you. I like using keyboard and my shortcuts. Alfred embraces this usability with snappy and sleek UI to increase productivity on Mac OS.It works similar to spotlight but it’s highly customisable. You can change the UI colors, indexing features, results structure etc. In addition to these nice features it also provides quick web search options plus giving you chance to create your custom searches which is the coolest feature in my opinion.Here is the best part, Alfred is a free application for Mac OS, you can get powerpack for 17.To try the free version of Alfred

Ubuntu USB mouse scrolling problem workaround

In Ubuntu 13.10, If you are using desktop based viewport switching which basically makes you change virtual desktops by scrolling to switch to next/previous desktop, you will possibly see this bug. Some of the core ubuntu apps are not getting scroll events if you are using a usb mouse. On the other hand, touchpad works just fine.Here are some of the buggy apps which are affected by ubuntu usb mouse scrolling problem: nautilus gedit synapticName: Regression: Enabling typical bindings in “Desktop-based Viewport Switching” breaks scrollwheel scrolling in some windows with a usb mouse on a laptopHere is the bug: I understand is that it’s related to gtk and the only way to solve is disabling desktop based viewport switching from compizconfig settings manager. To install it:sudo apt-get install compizconfig-settings-managerLet’s wait for next ubuntu update.PS: I have just updated my ubuntu 13.10, and still no fix of the bug. 

MapReduce explained in one pic

Google’s paper: MapReduce: Simplied Data Processing on Large ClustersGoogle IO 2011, mr on app engine: with python

How to run Weka on large data sets without getting memory heap errors?

I guess Weka is the official tool of each Msc in CS student.I was trying to work with Weka on a relatively large data, ~50k rows, it gave me this java heap error. The trick is running weka with an additional flag.By default its memory is less than 128mb I guess, I was generous and gave 1024mb, you can tweak it according to your computer’s memory plus your task’s consumptionjava -jar weka.jar -Xmx1024m

My notes - Python tutorial for beginners

I found my notes from the time when I was learning python. They are not quite tidy but might be useful. So I created this small python tutorial for newbies.Python is a hybrid language which is interpreted by interpreter in the shell (or cmd). it has its own shell. You can easily switch to python shell from terminal by just writing “python”.Python is a scripting language just like bash. It is high level and functional. This makes it readable. Nearly every job has a function in python. You can handle so many things in one line.Python scripts can be run from python shell and they can be also run from python modules which are files with "py" extension. Every line in the module is interpreted and run by python shell and if there is an error, the operation stops. If the error is in a condition which is not reachable during that runtime, this error won't be seen by python shell. That's an interesting feature of python. Open a new file. Name it. For ex: hello and Change its extension to "py...

Dataset repositories for academic research

I found a couple of nice and comprehensive ones. If you have any, just share it here. UCI repositories: Infochimps: New York university: The Office of National Statistics in the UK: Machine learning dataset repository: Computer vision/Image processing: 

subscribe via RSS