Getting rid of yellow stains from white gadgets (Laptops, Mobiles etc)


Recently I bought an Asus laptop. At the time of purchase, I was little hesitant not because of the specs or price but primary concern was its available color which is White.

I am from an area where sandstorms and dust are pretty common and thus white colored gadgets start losing their glaze and whiteness pretty soon. However at the prices range I wasn’t able to find any other alternative and thus I went ahead and purchased it through Amazon.

Since the day it arrived, I am using it on daily basis for my work. Recently I noticed that it started getting yellow stains, particularly at the area where my palm touches most during typing. Being a new gadget, I was really upset and immediately tried certain solutions including Colin (which is a glass cleaner and sometime I use to wipe my wood desk too), water with little soap. But nothing worked, specially due to matte finish surface. I started looking for solutions and found some people claiming to clean their mac books using plastic erasers. Most of them were talking about Mars plastic eraser or Mr X Magic erasers.

I searched for those and found that in India, those were available for around $25 on Amazon in pack of 20 (as they imported). But I needed only one to try, and I couldn’t find a single packing under $1-1.5. On eBay someone was selling it for $4 though.

So I decided to use what I had easily accessible, and it worked for me. So sharing it for others too. Original idea of using eraser isn’t mine and I came across to this over the internet. I take no guarantee and it must be used carefully at your own risk!!

What you need:

  • A laptop / gadget having yellow stains due to oil and sweat in hands
  • A brand new non-dust eraser (I used Apsra non-dust, but you should be fine with any other too)
  • A clean & soft cotton cloth
  • A bowl filled with filtered water
  • A paper cutter (optional)


  • Using paper cutter, cut down eraser into 4 equal pieces or at least 2. Remember to have piece of size which you can comfortably hold using your thumb and forefinger.
  • Now put one of those piece into water filled bowl and leave 10-15 minutes.
  • Turn off your gadget completely and unplug it from electric outlet if connected.
  • Use part of the cloth to clean your gadget to wipe any immediate dust on it.
  • Now take the eraser out from water bowl and start erasing the stain using that gently. Don’t put too much pressure else eraser will break into small pieces or you will get more stains on surface. Rub it gently.
  • Eraser will start shredding, but since its non-dust eraser and wet too, it won’t spread too much.
  • Use the cloth to wipe it off from your device’s surface frequently.
  • Be careful that water must not get into keyboard area or screen or any other opening of your gadget as it may damage the hardware.
  • Keep rubbing stains and wiping it with cloth. You will see the change immediately.
  • If required, use paper cutter to take out a thin slice of eraser which you are using, so that after some time when it gets dirty, it doesn’t turn into a negative exercise. Soak it again in water frequently to keep it wet, else it will start shredding very fast and will spoil the process.

You may repeat the process if required, but don’t overdo else you will find that particular area of gadget is now more whiter than other area of surface 🙂

You may use the remaining piece of eraser next time. Just ensure that eraser which you use to clean gadget surface is not used to erase pencil or pen writings else instead of making gadget surface white, it will give a different shade to it. You can always use paper cutter to takeout thin slice to remove any such part from eraser before using it in cleaning process. If stains are very hard and since long time, you may pour some drops of regular cleaner in the water.


Deploying AngularJS – Video Review


Just wrapped a small tutorial series on AngularJS deployment on Heroku. While entire tutorial length is around 1.5 hours, I completed in 2 weeks, with gaps due to some busy schedule. However the way it demonstrate by deploying a complete application, I was able to catch easily from the point I left even with the gaps. Good part of the tutorial series was intro to Karma and JSHint. While those are not covered in much detail obviously, including that section is totally in sync with context of deployments. Overall for pace & method of video tutorial, I will give it 8 out of 10. If you are exploring AngularJS, worth spending few hours.

You can get more information & video tutorial from

Disclaimer: I got a review copy from publisher.

Phonegap and AngularJS for Cross-platform Development – Book Review


PhoneGap and AngularJS for Cross-platform DevelopmentPhoneGap and AngularJS for Cross-platform Development by Yuxian, Eugene Liang

My rating: 3 of 5 stars

Reason I have rated this book 3/5 is that I find it incomplete. Print quality and arrangement of content is good as other Packt books and that enabled to it score good part of this rating.

When I got my review copy from publisher, while working on a Phonegap project I was excited to try AngularJS and Phonegap combo in my ongoing project, replacing the existing conventional way of handling pages and data in Phonegap application (thats creating different pages and navigating to those, showing preloaders while fetching data or reloading entire page).

However, I didn’t find it as a cookbook from which I can adopt tech skills and implement immediately in the application I was building. So I paused this book for a while and shipped that app with the old way, while reading other books as my hobby.

Then I returned back to this book and started following it with its own samples. This book is using AngularJS and Phonegap to build a To Do list application. Enhancements like FB login, CSS3 UI and animations are made in the basic application to make it a complete app.

However there is lack of information about Angular framework and Phonegap itself. That move the target audience to intermediate to advance from starters. And if target audience is of that level then there isn’t much for them in this book. But if you just learnt AngularJS and have handy experience with Phonegap, then you will get a good idea how to combine both.

Overall I won’t refer this book to any beginner or advanced reader. But if you are a student or hobbyist developer who is building Phonegap apps in a conventional way, and want to change that to SPA, then grab a copy of the book and experimenting with sample code provided will be helpful.

PS: I got this book as a review copy from publisher. You can get your copy from their website

Building Scalable Apps with Redis and Node.js – Book Review


Building Scalable Apps with Redis and Node.jsBuilding Scalable Apps with Redis and Node.js by Joshua Johanan

My rating: 5 of 5 stars

Regardless you are exploring NodeJS or not, this is a must have & must read book if you want to get experience and knowledge how to build scalable web applications.

Techniques described in the book (RabbitMQ, Redis) are not NodeJS specific but works with any programming language of your choice.

I liked the way author introduced express, NodeJS and packages in first chapter. While book target audience seems someone with basic NodeJS knowledge, if you know javascript well and can read & make sense of javascript code, it take few minutes to an hour to get going with NodeJS.

Socket.IO is has grown up as a replacement of Java or C# based socket servers these days due to its simplicity and scaling nature. And a complete practical chapter on implementing Socket.IO to express application with an example chat server and client add this title to cookbook category too.

Introduction of passport library to enable social logins in application without much digging into to oauth or 3rd party library make it very easier for any development of new web application these days. RabbitMQ and Redis implementation with practical use cases make it easier to understand and adopt these to any other programming language like PHP or .NET.

Chapter 7 about backbone is good but unless you already have idea about Backbone framework, you might get confused. I found myself searching and referencing Backbone documentation few times while going through this chapter. However, since this book is not about Backbone, and its used to demonstrate that while developing full stack applications, how you an make use of MV* frameworks in javascript and link those with events dispatched from backend (Socket.IO) layer, I don’t have any complaint about it.

Chapter 8 & 9 are focusing on deployment and best practices about scaling any web application. Author used Amazon EC2 but you can use any cloud server like Azure. Chapter 10 is about debugging and if you are building web applications, you must be already aware of some of tools mentioned in this chapter like Chrome developer tools (Inspect elements, network requests, console etc). However, CPU profiling, heaps and backend debugging topics are really helpful.

Overall I would suggest this book as a quick hands on guide and suggest that you get a separate book for RabbitMQ and Redis to get full benefit.

PS: I got a review copy from Publisher. You can grab book from publisher site

AngularJS Services – Book Review


AngularJS ServicesAngularJS Services by Jim Lavin

My rating: 4 of 5 stars

First of all if you are new to AngularJS, don’t pick this book with assumption that you will catch basic framework too. In fact, this book is about a particular topic of Angular JS aka Services. Angular JS is a great and growing framework for SPA and web based apps. Following logic of separation of logic and view layer, Angular provide a solid base for development of large and mid scale projects.

Author described not only Services but also building best practices, providers and factories are explained in easy to understand and follow manner. Practical examples showing how to develop AngularJS services and also how to test them with use of mock data and mock timers. Use case of authenticating with oAuth is something which is really useful. Chapter 6 is focused on using external services inside AngularJS services. Chapter 7 is completely focused on models & services and when to use which feature of AngularJS out of these two while implementing business logics.

Overall a must have book on AngularJS services and architecture in general.

Disclaimer: I got a review copy from publisher. You can get book from their website

View all my reviews

Unity 4 Game Development Hotshot Review


Unity 4 Game Development HotshotUnity 4 Game Development Hotshot by Jate Wittayabundit
My rating: 4 of 5 stars

Unity 4 Game Development Hotshot is written for developers who already explored basics of Unity game engine. If you expect to pick this book and start learning Unity3D, you will be disappointed to a degree, cause you as a complete fresher to Unity3D, don’t fall into target audience of the book.

However, you have basic knowledge of Unity3D, you can use this book as a quick how to guide. In initial chapters book focus on 2D game development with Unity3D native 2D features including physics, sprites, animations and camera. Taking a step further in next chapter creation of menu and scrollers are explained with new GUI system.

Third project of the book is dedicated to Shaders (a mystery for me yet). Following the project, was able to create some basic ambient and lighting shaders. Faced some issues while creating new shaders, mainly because of less detail about shader programming, but that altogether content for a separate book.

In fourth project unity’s mecanim animation system is explained with implementation of character animation. Making game character to walk, run, jump and fall and transition of states make it complete guide of creating FPS. Adding 3rd person camera gives unity’s powerful 3D environment feel to game.

Fifth chapter is about projectiles. Use of MouseLook and CameraControl script is explained along with particle effects. By following book upto this chapter, one can try hands on creating a FPS, yet incomplete due to missing smart enemies. Next chapter complete that part. Explaining waypoint concepts and how to create an editor for waypoints. Finally how to assign movement to enemy objects with AI script. Following addition it help to learn how to create a destructible world in response of firing weapons and triggers. Using ragdoll objects one can mimic effect of spring movements.

Last project section complete the FPS game by saving and loading high scores and implementing server side communication using XML format. A XMLParser script is created to read xml formatted data. At the end of book, 4 appendix sections are provided out of which actually A and C are not much useful, because these explains mostly basic functions which one would have known already and difference between C# and unity3D Javascript, which is less helpful and one will want to stick with either of the programming languages.

Only part I felt missing is mobile porting, which is a big reason of picking Unity3D among other options. There could have been few more pages explaining how to port game developed so far to any mobile platform and deal with resolution and performance issues (if any). Overall this book is a good companion for any unit developer. On a scale of 5, I will rate it 4 and recommend to other developers exploring Unity3D for next big game project.

Disclaimer, I got a review copy of this book from Packt Publishing. Grab your copy from

View all my reviews

OUYA Game Development by Example


Ouya Game Development by ExampleOuya Game Development by Example by Jack Donovan

My rating: 4 of 5 stars

I found this book very easy for beginners. Though having knowledge of unity3d is always going to be helpful. This book starts with an intro to hardware console itself. First chapter is dedicated to features of the OUYA device. If you own OUYA device then probably can skip this chapter, but otherwise author has tried to provide a good detailed feature description, so that you can learn about OUYA hardware and features available in it.

Chapter 2 is completely dedicated for setting up Unity3D and installing core development toolchain like Java, Android SDK, ODK and configuring connections. Author took around 15 pages to explain everything for both MacOS X and Windows platform and also a quick intro about building and exporting OUYA packages. So far all slow paced and nicely written.

Real action starts from Chapter 3, in which author walkthrough to first OUYA application and towards end make it to run on hardware itself.

Chapter 4 & 5 are for inputs mainly (both keyboard and touch) and taking action based on inputs. Making marble reacting to player’s input and then adding force based on touch dynamics and reading mouse positions in unity3d are some basic elements from these 2 chapters, which are not specific to OUYA, but since Unity3D maps buttons of OUYA controller with input schema, without any additional effort same game is being ported and author has explained it well. Chapter 6 focus on saving data for various game states and highlight OUYA API for the same.

Chapter 7 is dedicated for In App Purchases implementation, an important aspect for any game. While on OUYA every game has to be free to try, at the end every developer would want to add some sort of revenue generation model in game. This chapter guide how to implement purchase screen, make it function and unlock content / feature based on purchases etc. Also there are 2 pages towards end of the chapter which explains which model of monetization to be picked.

Chapter 8 is about polishing, packaging and submission. One of the key part, which is usually not found in many books like how to submit real product to app stores. Author took time to explain core screens, features, audio, camera actions and then how to export package and create game in developer portal.

Chapter 9 is the best part for any Unity3D beginner, even if you are not going to use it for OUYA. It explains about version control, various development methodologies like Agile, Waterfall. Also it covers basic design patterns considering projects with larger code base. Also to make complete use of Unity3D’s powerful UI features author has provided intro about shaders, particle effect, GUI skins and physics materials. This last chapter itself is enough for a reason to buy this book.

Disclaimer: I received a review copy of the book from Packt Publication. Though this review is not influenced by that. You can grab one from here

View all my reviews