Total Pageviews

Thursday, June 21, 2018

Pack Unpack Jar

sudo service stop
cd /opt/tomcat/webapps
sudo mkdir tmp; cd tmp
sudo jar -xvf ../myapp.war
#make edits...
sudo vi WEB-INF/classes/templates/fragments/header.html
sudo vi WEB-INF/classes/application.properties
#end of making edits
sudo jar -cvf myapp0.0.1.war *
sudo cp myapp0.0.1.war ..
cd ..
sudo chown tomcat:tomcat myapp0.0.1.war
sudo rm -rf tmp
sudo service start

Wednesday, August 2, 2017

Bulk unfollow people on LinkedIn

If you are using chrome go the page that shows who you are following (LinkedIn) and run this code in the chrome developer console. It will go and click the unfollow button for you. I had to scroll down on the page first so all the profiles would load before I ran the script.
  1. var buttons = $("button"),
  2. interval = setInterval(function(){
  3. var btn = $('.is-following');
  4. console.log("Clicking:", btn);
  5. btn.click();
  6. if (buttons.length === 0) {
  7. clearInterval(interval);
  8. }
  9. }, 1000);

Sunday, July 23, 2017

http URL not calling in Angular


Http uses rxjs and is a cold/lazy observable, meaning that you should subscribe to it to make it work.
  this.http.get(`http://swapi.co/api/people/1`).map((response:Response) => {
                console.log(response.json());
                response.json();
            }).subscribe();
Or if you want to subscribe from somewhere else , you should return the http.get method like this : :
 getAllPersons():Observable<any>{
    console.log("Here");
       return this.http.get(`http://swapi.co/api/people/1`).map((response:Response) => {
        console.log(response.json());
        response.json();
    });
    } 
and then :
   getAllPersons().subscribe();

building and Deploying Google Firebase cloud functions

https://firebase.google.com/docs/functions/get-started

$ firebase deploy --only functions
$ firebase deploy --only functions:addMessage

Tuesday, July 18, 2017

Cannot set variable of undefined

https://stackoverflow.com/questions/38807643/error-uncaught-in-promise-typeerror-cannot-set-property-isadmin-of-null

when variable not set in function "then" block, this doesnt work, need to a copy of "this" reference with in the calling function.



down voteaccepted
Either you can use arrow function
firebase.database().ref('/userProfile/' + user.uid).once('value')
.then((snapshot) => {
or use
var self = this;

firebase.database().ref('/userProfile/' + user.uid).once('value')
.then(function(snapshot) {
   self.isAdmin = true;
otherwise this doesn't point to the current function when it's called.

Monday, July 17, 2017

promise-polyfill error while using Firebase in Angular


ERROR in ./~/firebase/app/shared_promise.js

Module not found: Error: Can't resolve 'promise-polyfill'

Solution: 
npm install promise-polyfill --save-exact

Friday, July 14, 2017

continuous integration | angular cli + firebase + travis ci

https://houssein.me/continuous-integration-angular-firebase-travisci

Angular project with gitHub

http://developer.telerik.com/featured/quick-angular-2-hosting-angular-cli-github-pages/

Tuesday, July 11, 2017

Udemy course videos download


CourtesyPankaj Barnwal, Quora ( https://www.quora.com/How-do-I-download-videos-from-Udemy)

How to Download your subscribed course videos from Udemy:

If you don't mind getting your hand dirty in coding, may i suggest you a python script 'python-dl' which is best to download videos from the mentioned course site.
Step-by-step Guide -
if you dont have pip installer, have it installed via following command-
  1. sudo apt install python-pip
Now download python script "python-dl" through pip install-
  1. sudo pip install udemy-dl
Below is the command to download entire udemy course using this script
  1. udemy-dl course-link
Next type your username & password and you will be good to go, or you can type them in the same sentence like this
  1. udemy-dl -u username -p password course link
Advance Usage - This is where it gets fun. if you want to download specific video from the list, use following command -
  1. udemy-dl -u username -p password --lecture-start lecture No where you want download to start --lecture-end end point
For Example -
  1. udemy-dl -u abcd@xyz.com -p HND$#$5 --lecture-start 52 --lecture-end 58 https://www.udemy.com/COURSE_NAME
Note - This script does not pull written docs but it works great for videos.


Wednesday, October 7, 2015

API centric devlopment

The shift in software design thinking from User Interface design to API first design.
The plethora of devices, Web, Thin clients, thick clients, varied mobile screens, smart watches, IOTs, touch screens- which produce and consume lot of data to/from the back-end systems, demands diversified User interfaces and user experiences, however the interaction with back system remains same.
Due to proliferation of devices, so the user interaction with the system, the only way to gain control is from API first design approach.  
Abstraction of API interface is critical to orchestrate the back-end interaction, which allows dynamic adoption of User offerings and allows UI developers think without worrying the back-end access mechanisms.
The Internet of Things (IOT)- really driving the paradigm shift and forces developers to think API way.
Amazon AWS, Google, Salesforce, Apple and any large enterprises are all API centric which are creating an echo system to expand their offerings, so their market, by opening APIs to developers. A Win-Win approach.
Larger legacy systems like banks, Insurance companies, Automobile companies what not , shall start API centric design thinking to get ready for the future or perish.
The consequences of failing to adapt to API centric development is huge from un-happy customers, large maintenance costs and outdated service offerings etc.
Mule helps to adapt API centric approach and transcend legacy systems or design new products on latest technology platform whether Cloud or on-premise with out-of-box offerings.
Mule is an open source ESB platform which has strong active developer support.

Friday, August 21, 2015

MAVEN with MULE- Any Point Studio

1. Download latest version of Maven from https://maven.apache.org/download.cgi
(just unzip maven in a folder- no other installation required)

2. Goto Window->preferences->AnyPointstudio->Maven settings
   - Add Maven path in Maven install home directory

3. Go to Window->preferences->Java->Installed JREs
     - JRE location - change to JDK path

Create sample Mule project and try running the app as Maven app.

Now the build process will download all dependent poms and jars, it takes a while

4. While downloading if encounter a problem of permission denied:
add Maven options in (Window->preferences->AnyPointstudio->Maven settings)

MAVEN_OPTS environment variable ad  "-Djava.net.preferIPv4Stack=true" (no quotes)

Wednesday, July 22, 2015

Easiest way to transfer files over LAN in ubuntu

Go to a given directory with cd, then serve the current directory as a web server with the command:
python -m SimpleHTTPServer
On the other machine go to the address http://server-ip:8000/

Friday, July 17, 2015

Setting up Multiple Wordpress sites on EC2

1. Create sub folder with the new site name- in /var/www/html/
2. Copy wordpress folder to the new subfolder
3. Copy index.php to the new sub-folder
4. Go to your phpmyadmin and copy first wordpress database to the new one
5. Edit wp-config.php (inside wordpress folder) with new database name and credentials.

Add virtual host to the file: /etc/apache2/apache2.conf with reference to url

<VirtualHost *:80>                                            
ServerName subdomian.yoursite.com                          
ServerAdmin youremail@email.com                            
DocumentRoot "/var/www/html/thenewsubfolder"                          
</VirtualHost>




Setting up Wordpress sites on EC2

Refer:
http://coenraets.org/blog/2012/01/setting-up-wordpress-on-amazon-ec2-in-5-minutes/

Step 1: Install the Apache Web Server

To install the Apache Web Server, type:
yum install httpd
Start the Apache Web Server:
service httpd start
To test your Web Server, open a browser and access your web site: http://ec2-50-17-14-16.compute-1.amazonaws.com (Use your actual public DNS name). You should see a standard Amazon place holder page.

Step 2: Install PHP

To install PHP, type:
yum install php php-mysql
Restart the Apache Web Server:
service httpd restart
Create a page to test your PHP installation:
cd /var/www/html
vi test.php
  1. Type i to start the insert mode
  2. Type <?php phpinfo() ?>
  3. Type :wq to write the file and quit vi
Open a browser and access test.php to test your PHP installation: http://ec2-50-17-14-16.compute-1.amazonaws.com/test.php (Use your actual public DNS name).

Step 3: Install MySQL

To install MySQL, type:
yum install mysql-server
Start MySQL:
service mysqld start
Create your “blog” database:
mysqladmin -uroot create blog
Secure your database:
mysql_secure_Installation
Answer the wizard questions as follows:
  1. Enter current password for root: Press return for none
  2. Change Root Password: Y
  3. New Password: Enter your new password
  4. Remove anonymous user: Y
  5. Disallow root login remotely: Y
  6. Remove test database and access to it: Y
  7. Reload privilege tables now: Y

Step 4: Install WordPress

To install WordPress, type:
cd /var/www/html
wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gzcd
This will uncompress WordPress in its own “wordpress” directory. I like having WordPress in a separate directory, but would rather rename it to “blog”:
mv wordpress blog
Create the WordPress wp-config.php file:
cd blog
mv wp-config-sample.php wp-config.php
vi wp-config.php
  1. Type i to start insert mode.
  2. Modify the database connection parameters as follows:
    define(‘DB_NAME’, ‘blog’);
    define(‘DB_USER’, ‘root’);
    define(‘DB_PASSWORD’, ‘YOUR_PASSWORD’);
    define(‘DB_HOST’, ‘localhost’);
  3. Type :wq to write the file and quit vi
Open a Browser and access your blog: http://ec2-50-17-14-16.compute-1.amazonaws.com/blog (Use your actual public DNS name). This should trigger the WordPress configuration process.

Sunday, June 14, 2015

Migrating Mantis from one server to other in ubuntu

1. tar/zip your mantis folder (in /var/www/)
tar command to compress:
tar -czpf <..tar file name (destination file name with extention:tar.gz)...> <..source directory..>

Extract command:
tar -zxvf <..tar.gz file..>


2. move it to your home folder (/home/ubuntu)

3. Use SCP to copy from remote server to local machine ( can copy directly to another remote server)
4. Use SCP to copy from local server to new remote server

SCP command:
Copy from remote server to local machine:
scp -i <..your .pem file...> user@ip-address:/home/ubuntu/<..tar.gz file..> <..local folder..>

Copy from local machine to remote server:

scp -i <..your .pem file...> <..local folder..> user@ip-address:/home/ubuntu/<..tar.gz file..>

5. Extract mantis tar.gz in remote folder in /var/www folder (Apache, Mysql client and Mysql server and PHP must have installed in new server refer other article to install LAMP)

6. Copy mantis database from old server (can use phpmyadmin to connect to old server)
7. Import mantis database in new server (can use phpmyadmin to connect to NEW server)
8. Can change DB connection setting in config_inc.php inside mantis folder




Tuesday, June 9, 2015

Solution for GWT XULRUnner in GWT designer issue

Solution for GWT XULRUnner in GWT designer issue:

refer: https://packages.debian.org/squeeze/amd64/xulrunner-1.9.1/download


1. You should be able to use any of the listed mirrors by adding a line to your /etc/apt/sources.list like this:
deb http://ftp.de.debian.org/debian squeeze main 
Replacing ftp.de.debian.org/debian with the mirror in question.
For japan mirror:
deb http://ftp.jp.debian.org/debian squeeze main
2. apt-get update

3. apt-get install xulrunner-1.9.1

test:
type: xulrunner-1.9.1

After the xulrunner installation, if eclipse get crashed, when opened the design view, install the folowing from the terminal.

sudo apt-get install libwebkitgtk-1.0-common
sudo apt-get install libwebkitgtk-1.0-0

Saturday, May 16, 2015

Debugging with GWT SuperDev Mode

In Eclipse install SDBG.

follow SDBG installation instructions as per link: http://sdbg.github.io/p2/

then follow the video: http://sdbg.github.io/

Note that: For debugging, both debug and superdev mode shall be running.


Friday, April 17, 2015

Bitnami wordpress EC2 AMI:

Default User: "User"
PWD: check from ec2 instance-Settings->System Log

Mysql Access:

USer: root
PWD: ramdom generated password: check from ec2 instance-Settings->System Log

PhpMyadmin for Bitnami:

From your PC, by which you trying to connect the AWS server:

$ ssh -N -L 8888:127.0.0.1:80 -i bitnami-hosting.pem bitnami@xyz.bitnamiapp.com

to access phpmyadmin:
http://127.0.0.1/phpmyadmin/

user name: root
pwd: random generated password (check from ec2 instance-Settings->System Log)

reference:
https://wiki.bitnami.com/Components/phpMyAdmin

Sunday, April 12, 2015

GWT Eclipse installation issues

GWT not shown in eclipse:
Make sure the Java JDK is as per the min. requirements. JRE is different from JDK.
To make sure: run in terminal:
java - version.


GWT designer not shown ever after all the required plugin are installed:

Use the plugin link from:
https://code.google.com/p/gwt-designer/

from GWT 2.6.0 above, GWT designer is not supported. so use 2.5.1 as gwt sdk version in eclipse preferences, under google.

Saturday, April 11, 2015

Setting Password for new Mysql database on MAC

http://stackoverflow.com/questions/6474775/setting-the-mysql-root-user-password-on-os-x

Try the command FLUSH PRIVILEGES when you log into the MySQL terminal. If that doesn't work, try the following set of commands while in the MySQL terminal
$ mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("NEWPASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
Change out NEWPASSWORD with whatever password you want. Should be all set!


If you don't remember the password you set for root and need to reset it, follow these steps:
  1. Stop the mysqld server, this varies per install (on my MAC: sh-3.2# mysqld stop)
  2. Run the server in safe mode with privilege bypass
    sudo mysqld_safe --skip-grant-tables
  3. In a new window connect to the database, set a new password and flush the permissions & quit:
    mysql -u root
    UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
    FLUSH PRIVILEGES;
    \q
  4. Stop the safe mode server and start your regular server back. The new password should work now. Worked like a charm for me :)

On Mac OSx Mavericks (2014) use sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop|start|restart