CarbonRider

You make a matrix, you define the limits.

Windows 8.1 upgrade

August4

I was bit excited waiting for new upgrade of Windows 8 – Version 8.1. I have Samsung Ativ Smart PC Pro – XE700T1C model, bought almost 2 years back. The strong feature of this model is that it can be detached from the keyboard and has i5 processor with 128gb SSD. I found its quite handy while reading books, surfing, listening music and yes sometimes even coding Java-Eclipse. Overall this is the best purchase, I have ever made. There is only one thing that bugs me – is the keyboard docking. Anyways, lets move to what I experienced after upgrading to Windows 8.1.
Few months back one of senior manager has indicated in the post that he is bit obsessed with the Windows 8.1 upgrade. But I still thought of upgrading my laptop cum tablet without even thinking what was waiting for me. It was just a week old story that I started seeing windows 8.1 upgrade was waiting for me in the store. I thought lets just upgrade it and see what new features are available.

Upgrade Size
After pressing the install button, I was informed that it will take a while to download a total package of 3.82 gb. Yes you read it write. The upgrade package is big, its not simple Service pack just to upgrade few components. It took almost 5-6 hours on home internet, but meanwhile it allowed me to continue working on other programmes. Once the download was complete, it started installing the package. Though it had green flat progress bar indicating the progress of installation, most of the time I felt it is just stuck. The designers should have at least given an option like “show details” which will indicate what is really going on. But nothing, I just left my tablet idle for an hour and yes it did worked.

Fresh new start
Once the installation was done, it asked me to restart the tablet. The restart took some time, and it presented me with fresh new login screen waiting for my Hotmail password to be keyed in. What??? Why, Hotmail password? Do I have to turn on internet, every time I start tablet and want to login. This is simply annoying. I don’t start tablet just to surf internet, but for lot of other uses. Unfortunately, I didn’t had an option and had to login using Hotmail account. But after few hours, I realized that once I key-in my credentials in login, it gets cached and subsequent logins really don’t require internet to be connected. If I key-in correct password and internet is not on, I am still able to login. Hurray!!! But yes, it can be a security risk as well.

What’s going on?
I noticed there are few differences in the some of the areas that I use daily like taskbar, metro home page, ie, keyboard etc. But after sometime, I felt that my tablet stopped responding to touch and it completely went into frozen state. I tried swapping all my fingers :P, but it didn’t responded to any of my gestures. I was bit frustrated and hence plugged Logitec wireless mouse (pebble) and started using tablet. The tablet responded well to mouse gestures and click operations, in fact the windows key on the tablet was working properly. After few efforts, I could able to get into Task Manager to see what is really happening and to my surprise one of the process named “Tablet driver for ISD…” was taking almost 1.5 gb to 1.8 gb of RAM. This was close to 40-50% of my RAM and after few search on google, I realized this was the main culprit.

Final relief
After visiting few forums, I came across a post indicating that there is a problem with the WACOM driver released for windows 8.1. It crashes suddenly and consumes lot of memory. It was advised to upgrade to latest version to overcome this issue. I thought of giving it try. The package size was 20mb and it did magic!!! My tablet has again gone to normal and it is working fine till now (it is merely a day now, but I didn’t find any problem).

Conclusion
While the upgrade experience was good, the things that came with it was a nightmare. I almost felt as if my tablet is now useless and I will have to format it and somehow get older version installed. But thanks to the latest version of WACOM driver, my nightmares didn’t come to reality.

Eclipse product export with features

May21

Sometime back, I started doing a formal release of one of the Eclipse RCP product, I was working on. While doing the release, I came across lot of problems. My product has very simple structure and it consists of

  1. Plug-in (Core functionality for RCP)
  2. A Feature (Contains above plug-in)
  3. Another feature (To list all the eclipse dependencies)
  4. Product definition plug-in (Contains branding and workbench details)
  5. Product definition (Created inside above plug-in)

That seems pretty simple huh!!! But while exporting above structure, I came across lot of things that one may find useful. Let evaluate everything from the beginning.

Simple Plug-n
I first started with the definition of simple plug-in, refer the following screenshot for details. Make sure the option for “Rich Client Application” is selected as “No”.

Sample Plugin

Sample Plugin

To begin with, I selected the template for “Hello,World” in next step

Sample plug-in template

Sample plug-in template

Feature for plug-in
RCP product configuration allows two options while clubbing plug-ins. You can either use “Feature” based product or “Plug-in” based product. I prefer “Feature” based product, as it helps to categorise plug-in easily. Create “Feature” project, which will look similar to following

Sample Feature

Sample Feature

Feature for Eclipse dependencies
This step isn’t mandatory, you can still list down all the required plug-ins in one feature. But as I said earlier, features provide better way to categorise plug-ins. Hence, I preferred to have a separate feature that will only list down the plug-ins that I have developed and another feature to just list down eclipse dependencies required in order to export product. Check below screenshot for details.

Sample Dependencies Feature

Sample Dependencies Feature

Plug-in for Product definition
It’s time to create another plug-in which will be useful for branding the product with Splash screen and intro. Well again, you have a choice to club everything within first plug-in that we created or you can create separate one. I prefer separating things (SRP). Check below screenshot and yeah most important this time choose “Yes” for “Rich Client Application” section.

Sample Product Plug-in

Sample Product Plug-in

Product Definition
Time to create product definition, which will provide us finer control over various customizations for our very own product. Create the product definition, inside the plug-in just created above.

Sample Product Definition

Sample Product Definition

Open the product configuration file and make sure that the “Product” and “Application” drop-downs have appropriate value selected.

Sample Product with Application

Sample Product with Application

Also go to “Dependencies” tab and selected the two features created in the above step.

Product With Features

Product With Features

Lets open the configuration for the feature which will only contain plug-ins created by us. Make sure both the plug-ins (including Plug-in for product definition) is added to the feature.

Plug-in to feature

Plug-in to feature

Once the plug-ins are added, it is time to switch to the feature which should list down eclipse dependencies. But wait!!! do we know the list of dependencies that should be included in the feature. Definitely not, so how can we get the list? Eclipse has a nice feature, which will help us to solve this mystery. Just open the product configuration and locate “Validate” icon available in the toolbar. Click on the icon and it will list down dependencies required by each plug-in we have included in the feature list.

Missing Product Dependencies

Missing Product Dependencies

Note that you will have to click this icon multiple times as and when you start adding the depending plug-ins to the feature. Once all the dependencies are satisfied, the “validate” option will indicate that the product configuration is valid. If you face a problem indicating “Missing Constraint : Import-Package: org.w3c.dom.css…”, just ignore it. Now you are ready to export the product, choose “Export an Eclipse product” and it will prompt you for location where the product should be exported. Here is the final output

RCP Final

RCP Final

Click here to download the source code for all the projects mentioned above. The plug-ins have been tested with Eclipse Kepler (4.3.2)

posted under Eclipse | No Comments »

Eclipse Context Help – Complete

March9

You may be confused as why I am posting about the feature which is covered by so many posts/articles/documentation. Though there are many sites which does this job, I found one or the other configuration aspect is missing from either of the site. I personally followed many articles and could never able to get the context help worked. I had to visit many sites and understand what are all combined configuration aspects are required to get it done. This provoked a thought to put all those things together. Here we go
Read the rest of this entry »

posted under Articles | No Comments »

I am lost

December25

Long time, no see. Nothing came from my side, for a long time. Hmm, thats bit scary and even made me think, as what I am doing? I am bit lost these days, lost in the plethora of information, reading lot of books on topics ranging from Javasript, Java, .Net, performance, coding best practices etc. (list will not end and the backlog is still increasing). The sad part is I am not able to use my knowledge at my workplace and mostly it is fact that I must accept I am working in a country where management is more of value than hard-core technical skills (hmm god knows, I can tell you from my experience).
Read the rest of this entry »

posted under personal | 3 Comments »

Nodejs and custom modules on windows

August20

It has been a long time, I was planning to hit on Node.js, but I got stuck with other topics and somehow it slipped my mind. Few days back, I thought to give it a try and check what Node.js offers. I like the idea of using JavaScript to write code for Node.js (After all thats my first programming language and the most fav. language :P ).
The first baby step with “Hello World” and writing your own web server, made me comfortable and I realised its so much of fun to write code for nodejs as you have to just learn the APIs and start modularizing them. As soon as I started making the progress, I found an example making use of Node.js’s custom module “connect”.
Read the rest of this entry »

posted under Articles | No Comments »

Books that help to write better code

July14

I have been reading lot of books on various frameworks and technologies from my college days. I am always fascinated by new technologies and frameworks that help to ease developer’s life by writing less and manageable code. While all these years, I was spending too much time on reading syntaxes and APIs exposed by various languages and frameworks, from last 2 months, things have taken different turn. I put too much emphasis on using design patterns, but I was introduced to quite a few good books by my seniors and I was really surprised, the way these books have changed my thoughtprocess. No, I dont mean stop using design patterns or blah blah… but before start using all those geeky words like scalability, design patterns and other stuffs, you need to first learn to write clean code. Yes! here are some of the best books, I have been reading.
Read the rest of this entry »

posted under Articles | No Comments »

Firefox 22 Installer – usability

July6

It was just like a regular day and I was going through few sites, suddenly I felt to checkout if there is any new version of Firefox has came up (I check bi-weekly). And yeah, there was new version available. As usual, I tried to upgrade using the Help > About firefox menu and it showed that there is new version is availble. While usually it updates the firefox without doing much and just by opening About box, but this time it failed. So to get the latest version, I tried to download it manually. Hmm… and then I was bit shocked by the installer.
Read the rest of this entry »

posted under Articles | No Comments »

Is it wise to use unsafe – Hidden secret of Java

June15

I have been visiting quite a few sites and going through few forums, when I stumbled upon an article talking about the hidden weapon of Java, not made publicly known due to some reasons. But it is claimed that many of the Java internals and third party softwares do use this API to gain monstrous power.
While we have learned from academic days that heap space is home for Java objects, it is a place where the objects come to life and die. JVM with its GC algorithm makes the kill and creates space for new objects. While in the process of moving objects from various places (eden, young generator etc), it sometimes may bring down the application performance to its knees and can prove costly affair.
Whlie GC has been seen as life savior for people who dont want to worry about memory management, it also imposed restriction in terms of no control over deciding fate of the object as when it will get garbage collected. While this may not sound so serious problem as people end up allocating higher heap space for JVM (without realising the fact that it is actually hampering performance), some felt it bit uncomfortable (geeks from C, C++ playing with memory functions).
Read the rest of this entry »

posted under Articles | No Comments »

Unusual Graphs with JavaScript – Infovis Toolkit

March18

I was looking for a tree based graph displaying library possibly in JavaScript. The purpose of this library was to purely demonstrate pure technical things but instead of just collapse and expand functionality, I needed something more which will catch user attention. While going through nearly 70-80 libraries, I found an interesting library which almost hit the bulls-eye.

JavaScript Infovis Toolkit

This library provides quite an interesting implementation of tree, graph based implementations which can be used at various places in an application. I will be using this library in one of the implementation I am assigned to, but I would suggest you to have a look at it. It is worth giving a shot.

posted under Articles | No Comments »

Apache Forrest – Document Generation

March17

I have been working on document generation utility and decided to explore what options are already available. The features I was looking into the framework were
1. Less learning curve
2. Extendable
3. Various Output Formats
4. Pluggable with Java
5. Open Source and Freeware
6. Should have popular community
Read the rest of this entry »

posted under Articles | No Comments »
« Older Entries