Skip to main content


Decrypt maven passwords

As we all know and most probably use the maven's password encryption feature and with that, we also tend to forget the password which is when we think it would be great if I could decrypt/recover the password. Honestly, thanks to my "sharp" memory, I required it a few times and then I end up googling. So here is a note to self and since you are still reading this, you are also looking for the same :-). Download the maven-settings-decoder  tool Extract it to some directory you can remember In your terminal, enter the following command ./settings-decoder -f /path/to/your/maven/ settings.xml -s /path/to/your/maven/ settings-security.xml You should see output like following Done. Cheers !!! - Jay
Recent posts

Different SSH keys for different Git hosting provider

It's quite normal and natural that we as developers are working on multiple projects at the same time and these projects can/will be a mix of your professional and personal projects or other opensource projects. It's also likely that you have these projects stored and versioned in git (if not stop reading this and add your code to version control NOW) either on public Git hosting like GitHub, BitBucket etc or within your organizations privately hosted Git. So all is good, you have your code in your local Git, you have it in your remote, it's versioned, backed up etc. But how do you keep your access separate, say, for example, your work identity and personal? You obviously do not want to use your work identity in your personal projects and vice-versa and at the same time, you also want to just work seamlessly between projects without always remembering on these identity part. Most common and secure way to access your git repo is through your SSH keys and by default git ref

VMWare Tools installation error 'struct file' has no member named 'f_dentry'

This is one of the annoying issues with VMWare tools installation I face at least twice while having Ubuntu as my guest OS on VMWare. As soon as I install the VMware tools on fresh VM, I get the following error /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsPackDirOpenRequest’: /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:417:26: error: ‘struct file’ has no member named ‘f_dentry’ file->f_dentry) < 0) { ^ /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsDirLlseek’: /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:707:32: error: ‘struct file’ has no member named ‘f_dentry’ struct dentry *dentry = file->f_dentry; ^ In file included from /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:39:0: /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsReaddirNextEntry’: /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:993:31: error: ‘struct file’ has no member named ‘f_dentry’ si = HGFS_SB_TO_COMMON(file->f_dentry->d_inode->i_sb); ^ After searching on google for some ti

Tomcat: One or more listeners failed to start. Full details will be found in the appropriate container log file

A quick post on annoying tomcat startup error SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file Why annoying? As in the logs, this is all you get and if you have more than one or many listeners registered, you just keep guessing which one failed and why? I've faced this couple of times and every time I forget the "cure". So here is a small note-to-self on how to find the cause - how to make tomcat spit out details. Whenever you face this error, under your WEB-INF/classes directory, create file with the following content and restart the tomcat server. org.apache.catalina.core.ContainerBase.[Catalina].level=INFO org.apache.catalina.core.ContainerBase.[Catalina].handlers=java.util.logging.ConsoleHandler After the restart, you should see the full stack trace of the error which is causing the startup failure. Cheers! - Jay

Deploying Angular 2 App with Angular-CLI support on Google Cloud - Revisited

A couple of weeks ago I wrote a post on how to deploy an Angular 2 app build with angular-cli on Google Cloud App Engine. This was when Angular 2 was still at RC4 and cli at beta 10 .  I was trying to figure out how can I host an app build with angular 2 on Google Cloud and obviously the easy way like deploying any microservice on App Engine. When I read the App Engine Flexible Environment now supports nodejs, I kind of headed in the direction of deploying a nodejs app on App Engine and in that pursuit I completely missed the basics i.e. Final angular app is nothing but a bunch of static html, css, images and javascript resources and for that using nodejs container would be overkill and moreover not the right way (why would you build your app on your deployment server?). This wrong decision/strategy was quickly reflected as soon as RC5 was released and eventually the 2.0.0 . So after realizing the obvious mistake, I revisited the deployment scenario after upgrading my android 2 sc

Deploying Angular 2 TypeScript App with Angular-Cli support on Google Cloud (App Engine)

[Update: October 5th, 2016] This post is deprecated and not a right way to deploy angular 2 app on App Engine. Check this post for right way to build and deploy angular 2 app on Google Cloud - App Engine or Firebase. So as a part of exploring Angular 2 , after scribbling couple of components and directives, next thing I wanted to know is how such an app can be built/packaged and deployed. Since Angular 2 apps are at the end static JS apps, it can be practically installed on any webserver for example Apache . What I am more interested is on how to deploy it on Google Cloud . So my first challenge was how to build an Angular 2 app? Angular 2 is very much in development stage and changes so fast with each new RC there are breaking changes and also the getting started/quick start and other examples don't cover the packaging/building part properly. Also on interweb there is divided opinion (as always) on which build system is better - SystemJS, Webpack, jspm etc. So after getti

Upgrading Angular 2 from Beta to RC

And the learning continues in the world of Angular 2. So as I posted in my previous post , with every new upgrade of Angular, something breaks (breaking changes as they like to say). And with the release of release candidates ( 0 and 1 ) there are many breaking changes. So again my Angular 2 Quick Start app broke and here are the steps which I performed in order to upgrade it to rc1 and get it working. Delete node_modules and typings directory under your app root Update your tsconfig.json. You can refer tsconfig.json tab in official quick start  guide . { "compilerOptions": { "target": "es5", "module": "commonjs", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false }, "exclude": [ "node_modules"