My functional dev setup

Problem statement:

The expectation from my dev setup is:
a) It must support multiple projects in plug and play basis and switch over time from one project to another should be less.
b) It should be able to run two inter linked projects simultaneously with conflicting env requirements like python and java side
c) It should be able to support Web Application, Mobile Application and Desktop Application devlopment

Solution:

I will try docker to accomplish the target, but the minimum is to achieve web application development. I have learned something. similar to my expectations at Pluralsight course for docker i.e. docker-fundamentals-for-developers.

Below is my current machine configuration:

  • My HP Pavillion 15 Gaming laptop with lntel i5 8th gen, 256gb SSD and 16gb ram and latest Windows 11 Pro installed will act as host machine.
  • The basic technology stack support in host machine will Open JDK 11, Python 3 and NodeJS LTS.
  • The Nginx in host machine will be act as load balancer.
  • The browsers MS Edge, Google Chrome and Mozilla Firefox with latest version will be used for testing.
  • IntelliJ Idea community edition, MS VS code, and Notepad ++ will be used as development IDE. GIT for version control.

Sanskrit Quotes

Sanskrit Shlok:
सुखार्थिनः कुतो विद्या नास्ति विद्यार्थिनः सुखम्।
सुखार्थी वा त्यजेद्विद्यां विद्यार्थी वा त्यजेत्सुखम्॥

Transliteration:
sukhārthinaḥ kuto vidyā nāsti vidyārthinaḥ sukham।
sukhārthī vā tyajedvidyāṃ vidyārthī vā tyajetsukham॥

English Translation:
There is no knowledge for the seekers of comfort, and no comfort for the seekers of knowledge. A seeker of comfort should give up knowledge, and a seeker of knowledge should give up comfort.​


काकचेष्टो बकध्यानी श्वाननिद्रस्तथैव च।
अल्पाहारी गृहत्यागी, विद्यार्थी पञ्चलक्षणः॥

कौए की तरह चेष्टावान्, बगुले की तरह ध्यान मग्नता तथा कुत्ते जैसी निद्रा (अर्थात् नींद में भी सावधान), स्वल्प (कम) आहार करने वाला तथा घर का त्याग करने वाला-इस प्रकार विद्यार्थी के ये पाँच लक्षण होते हैं।


Story of Aanish

Beginning and end of dreams.

In year 2005, With the idea of doing business ,I ended up selecting this name “Aanish Services” later “Aanish” for my start-up. Friends with different expertise and places collaborated together and journey begins. The domain was initially registered in year 2006. We together provided solutions:

  • Java and Visual Basic based desktop application development
  • PHP , ASP, Python based website and web application development
  • Web hosting and Domain registration services
  • Computer and Printer Repairing , Network installation , Server setup and AMC
  • Computer Training

The journey successfully continued till end of year 2007 and operations was completely closed by mid of year 2008.

As a freelance software developer, I worked to deliver multiple project which includes 20+ websites, 12 web application and 2 desktop application for telecom, industrial auction, travel & hospitality, schools and colleges, retail business like grocery store, fertilizer store.

Although the journey ends and we all parted away with individual career path. This small it gives each team member a very good practical experience and helped all of us survive our struggle days. it helped each one to become financially independent from their family.

Critical Learnings:
  • Business is full time job. It demands commitment. You must face challenges, learn, adapt and grow. It cannot be done along with second job in hand.
  • Financial inflow and outflow should be correctly handled.
  • Resource planning, Risk management, Contingency planning, Legal and Market fluctuation should be considered before bidding for a project. Do not quote randomly without proper analysis.
  • Innovation and resource upgradation as per market trend and business flow is important.
  • Never hesitate in taking advice from expert and real-life experienced people.
  • Work responsibilities should be divided. Healthy & clear communication between partners is important.

Conclusion:

Burry the past. Do not stuck with it. Move ahead and never repeat mistakes.

Fresh start, fresh targets, new adventure, new experience, and new mistakes and never-ending learnings.

GIT Recipes

1) Make the current commit the only (initial) commit in a Git repository?

git checkout --orphan newBranch
git add -A
git commit -m "Initial Commit"
git branch -D master
git branch -m master #rename the mastyer
git push -f origin master
git gc --aggressive --prune=all

Another Way:
git init
git add *
git commit -m 'Initial commit'
git remote add origin [repo_address]
git push --mirror --force


2) Preventing push to upstream repository
A way to avoid pushing into a repository is providing a dummy url address to the repository.
This is accomplished by issuing the git command:
git remote set-url --push upstream no_push


3) To fix Git Detached head issue with master.
Mostly small steps like this will fix it
a)git reset --hard
b)git pull
c)git checkout master

src : https://stackoverflow.com/questions/10228760/fix-a-git-detached-head

Preparing my dev laptop with docker from scratch

Problem Statement:

To learn docker, kubernetes and cloud platform and use it for further learning spring boot and python development.

Solution:

  1. Get a capable machine with minimum Intel I5 or equivalent processor virtualization support, 16GB RAM, 256GB SSD. I got my HP Pavilion Gaming Laptop 15 upgraded.
  2. Install OS which support virtualization and is supported by Docker. I got my laptop upgraded from windows 10 home edition to Windows 10 professional edition. which has now automatically upgraded to windows 11 pro. You can also install Linux OS like Ubuntu or Fedora as your host machine if you prefer.
  3. Created a personal GitHub Account and Docker Hub account…
  4. Installed latest version of Python 3, open JDK 11, Git-bash, Docker desktop for windows, Notepad++, Visual studio code and IntelliJ Idea Community edition for Java.
  5. I was able to create sample repo and sample docker container was up and running.

With base environment ready, I will now start exploring further.