Thursday, January 23, 2020

OAUTH 2.0 in less than 5 min

As you had requested, here is a short video on OAUTH 2.0. More to come stay tuned.






Wednesday, January 08, 2020

GITLAB commands - High Frequency

I always notice the developers struggling to get the command line right for GIT. I was planning to put together list of frequently used command  but came across cheatsheet put by GitLab

https://about.gitlab.com/images/press/git-cheat-sheet.pdf

If you feel there are more which is good to have handy, just write a comment.

Happy Versioning!!!

Tuesday, January 07, 2020

T and Z in DateTime like 2009-08-28T23:55:16.000Z

A very simple question for a person who codes(hopefully) but for business users this can be very confusing.

What do you mean by below DateTime

2009-08-28T23:55:16.000Z

Lets explain this 

ISO 8601 (The International Standard for the representation of dates and times)
states the following definition

The "T" corresponds to Time of the date(Duhh... no brainer)  and "Z"  is special UTC designator

So the DateTime  2009-08-28T23:55:16.000Z states

Date as 2009-08-28
Time as 23:55:16.000
"Z" stands for UTC

The above time can be also be represnted in EST as
2009-08-28T23:55:16-05:00 (EST) where  -05:00 is Timezone offset


Happy coding!!!

- Metahat


Thursday, November 07, 2019

Parsing Log/Text files

One of the team member was looking for ways to parse through logs to find errors in a big dump of files. I had to go to basics to get the results

Problem Statement: Find all the entries for "Error" and "failed"  in big dump of CSV/Log files. 

Solution: Old school technique ( Use Log parser)

run below commands 

C:\Program Files (x86)\Log Parser 2.2>LOGPARSER "Select Text INTO ERROR.csv from
 D:\xyz\*.log* where Text like '%ERROR%'" -i:TEXTLINE -q:Off

Statistics:
-----------
Elements processed: 14128022
Elements output:    9845
Execution time:     81.36 seconds (00:01:21.36)


C:\Program Files (x86)\Log Parser 2.2>LOGPARSER "Select Text INTO failed.csv fro
m D:\xyz\*.log* where Text like '%failed%'" -i:TEXTLINE -q:Off

Statistics:
-----------
Elements processed: 14128022
Elements output:    2025
Execution time:     76.43 seconds (00:01:16.43)

Monday, May 27, 2019

Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.

Error when installing NPM

 Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.



Fix:
Run command and try again
touch ~/.bash_profile 


Reason

https://github.com/nvm-sh/nvm/issues/1837

your system may not have a [.bash_profile file] where the command is set up. Simply create one with touch ~/.bash_profile and run the install script again
you might need to restart your terminal instance. Try opening a new tab/window in your terminal and retry."

Sunday, May 26, 2019

Maven tool is not set in Jenkins pipeline

Maven tool is not set in Jenkins pipeline


Scenario
Error when building the Jenkins pipeline  (Pipeline project style)

Error snippet:
+ mvn clean package
/var/jenkins_home/workspace/atmosphere pipeline/spring-boot-samples/spring-boot-sample-atmosphere@tmp/durable-7c163949/script.sh: 1: /var/jenkins_home/workspace/atmosphere pipeline/spring-boot-samples/spring-boot-sample-atmosphere@tmp/durable-7c163949/script.sh: mvn: not found


Solution
Use the below script to refer to Maven


node 

{
def mvn_version = ''
    
withEnv( ["PATH+MAVEN=${tool mvn_version}/bin"] ) 
  {   
      sh  'mvn clean package'
  }

}


Image of Jenkins Home ->Manage Jenkins ->Global Tool Configuration






FOR FREESTYLE PROJECT ( REFER TO MAVEN ERROR)






SSH into a running Linux container - docker

Looking for extensive set of commands, refer
http://phase2.github.io/devtools/common-tasks/ssh-into-a-container/


 In summary, use below commands as specified in article

  • Use docker ps to get the name of the existing container
  • Use the command docker exec -it {containername} /bin/bash to get a bash shell in the container
  • Generically, use docker exec -it {containername} {command} to execute whatever command you specify in the container.

running docker as root user 
docker exec -it --user root {container id} /bin/bash

Cannot run program "mvn" (in directory : error=2, No such file or directory

Note : In below scenario jenkins was deployed in Linux container

Scenario:  Jenkins build failed with error.

java.io.IOException: error=2, No such file or directory
 at java.lang.UNIXProcess.forkAndExec(Native Method)
 at java.lang.UNIXProcess.(UNIXProcess.java:247)
 at java.lang.ProcessImpl.start(ProcessImpl.java:134)
 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
Caused: java.io.IOException: Cannot run program "mvn" (in directory "/var/jenkins_home/workspace/atmosphere"): error=2, No such file or directory



Fix:
The issue was due to absence of Maven files in container. To deploy Maven files , follow these steps:

  • Go to Global Tool Configuration (http://localhost:xxxx/configureTools/) or navigate Jenkins Home Page - > Manage Jenkins - > Global Tool Configuration
  • Scroll down and make the below configuration under Maven Section
  • Click Save
  • In Jenkins , go to teh Jenkins job and select configure
  • scroll down to BUILD Section and select MAVEN_HOME from dropdown
  • Rebuild Project



Friday, April 12, 2019

Debugging the Azure Event Grid based Azure Functions locally using Visual Studio



If you want to debug the Azure function locally in visual studio which are triggered by resources like Azure Blog storage e.g. when a file is created in Azure Blog storage account than you are in right place

Check this out

Azure Function Event Grid Trigger Local Debugging

Bad IL format - Azure function

First, try restarting the Azure Function app. 

The error generally shows up when changes are made to the function

Friday, November 02, 2018

API Unregistered in API manager

API manager showing up as "Unregistered " even after publishing the API to cloudhub

Check out the setting of clientid and secretkey in Anypoint Studio. Enter the value if missing




Issue fixed



Monday, October 08, 2018

Wednesday, August 08, 2018

The requested URL can't be reached - MuleSoft Mock Service Error

Error encountered while accessing Mock Service

The requested URL can't be reached

The service might be temporarily down or it may have moved permanently to a new web address.





for details refer 
https://docs.mulesoft.com/api-manager/v/1.x/accessing-your-api-behind-a-firewall

For testing purpose as quick fix "Bypass the proxy". Select option next to "Mock Service" stating " API is behind a firewall"





Actual fix before you implement it in Test/Production environment  is to  implement and apply a CORS Policy for your browser to be able to load the resources in the API behind your firewall and the Anypoint Platform’s browser tools

https://docs.mulesoft.com/api-manager/v/1.x/cors-policy




Sunday, March 11, 2018

Setting VPC as default VPC in AWS

Not a new question and i have been asked about it multiple times in past 2 years. How can i set VPC as "default VPC"

and answers is...

 
You cannot at this time using console/CLI/ API. If it is must contact AWS support. 

Wednesday, March 07, 2018

Mechanical Sympathy - Learning from Racing

Formula 1 world champion once stated

“You don’t have to be an engineer to be a racing driver, but you do have to have Mechanical Sympathy.” 
– Jackie Stewart, racing driver


This fits so well with technology. What Jackie meant is that understanding how a car works make you a better driver. This is so much true for writing code mainly in today's cloud technology. You need to have a basic understanding of hardware to create a good software.

Friday, February 09, 2018

Unable to connect IIS Express - Visual Studio 2017


 Delete your web application’s .vs\applicationhost.config and try rebuilding the application and launching.

.vs is a hidden folder under your solution's folder.

Reference Architecture for AI-integrated Genomic Analytics on Oracle Cloud Infrastructure ( Published in Oracle Blog)

 I have been thinking about writing this blog for some time. Genomics is a fascinating field and has potential to unlock so many hidden scie...