How to become a better developer

:

Them: What can I do to become a better developer?

Me: Be curious, ask why something is the way it is, don’t accept status quo. Focus on quality over quantity, and veracity over velocity.

Them: I have this boss/lead/client/etc who just expects me to build and ship things fast, they won’t give me the time to learn and understand, and solve problems the right way.

Me: Sigh…

 The problem is not them, it’s you.

You bought into the lie that understanding problems fully before solving them, and solving things properly and with quality… that all that was OPTIONAL nice-to-have. No… that IS the job.

Those who respond like this act like they’re uniquely in some kind of unusually high pressure, high velocity env, and so my advice sounds “nice” for everyone else but isn’t practical for them. But they’re not special/unique.

When bosses or clients say things like “Company ABC finished this in half the time you estimate. You need to speed up!”, you should explain why your timeline is realistic and needed.

It’s like if a teacher tells a student they have 1 week to finish a big assignment, but then another student says they could finish it in 2 days. The teacher wants the first student to stick to the original 1 week plan, instead of rushing in 2 days and making mistakes.

So the main point is when people challenge your timeline and say others were faster, you should explain your reasons for the timeline you originally presented and why changing it may cause problems. Stick to your well thought out plan, instead of speeding up to match what others have supposedly done before.

Credits : Kyle Simpson LinkedIn’s Post

Daily Productivity tools

Chrome extensions :

  • Quillbot
  • Pocket
  • Bitly
  • Vimeo
  • Wordtune
  • Save to Notion
  • ChatGPT Writer
  • Merlin
  • Adblock
  • AIPRM for ChatGPT
  • Careerflow LinkedIn Optimization
  • Grammarly
  • Monica
  • CSSViewer
  • Wappalyzer
  • Wordtune Read (for summary)
  • usechatgpt.ai

VS Code extensions :

  • Auto Rename Tag
  • Better Comments
  • Codeium
  • ES7+ React/Redux/React-Native snippets
  • ESLint
  • GitLens
  • Live Server
  • Prettier
  • Tabnine
  • Tailwind CSS Intellisense

AI Chatbots :

  • ChatGPT
  • Forefront
  • Bard
  • Phind
  • LearnGPT
  • Perplexity AI
  • Quora poe
  • Claude

AI tools collection :

Resources on Notion :

Others :

  • Excalidraw
  • Lucidchart
  • Slack
  • Notion
  • Asana
  • lambdatest browser for responsiveness of web app
  • browserstack
  • caniuse

Tech Blog

In the upcoming decade

Advanced Technical Fields

  1. Quantum Computing: Quantum computing has the potential to revolutionize fields such as cryptography, drug discovery, and financial modeling.
  2. Artificial Intelligence and Machine Learning: With the increasing amount of data being generated, the demand for AI and ML technologies will continue to grow.
  3. Internet of Things (IoT): The IoT refers to the interconnectedness of everyday devices, and it is expected to see significant growth in the coming years.
  4. 5G and Edge Computing: 5G networks will enable faster and more reliable data transfer, and Edge computing will enable processing data closer to the source.
  5. Robotics and Automation: Robotics and automation are expected to play a major role in manufacturing, logistics, and other industries

Credits: ChatGPT

Few Tips

  • Never ever hesitate in investing money in yourself, investing I mean – developing your skills as a frontend developer ( hard skill, soft skill, life skill)
  • keep learning trending technologies so whenever there is a layoff or you are terminated from a job, you don’t have a fear of getting back another one.
  •  DO NOT FORGET TO HAVE FUN, GO TO MOVIES&EATING OUT, TRIP, VISIT PLACES IN THE CITY, AND TRY STREET FOOD.
  • Do side projects on weekends, follow blogs or youtube videos that may be related to your current field or other fields that interest you or you’re passionate about.
  • Join online communities on platforms like telegram groups, LinkedIn connections, and discord servers. These connections will help you reach places that you could never reach by traditional methods. And groups will help you whenever you are stuck in a difficult problem/situation.
  • Listen to podcasts, subscribe to newsletters, read blogs and read books on different topics. These things will change your way of thinking about life.
  • Do udemy or any other online platform courses for soft skills. Try writing cold emails.

Web forms

There are two methods(GET and POST requests), default is to accept only GET requests. The HTTP protocol states that GET requests are those that return information to the client (the web browser in this case).POST requests are typically used when the browser submits form data to the server (in reality GET requests can also be used for this purpose, but it is not a recommended practice).

The “Method Not Allowed” error that the browser showed appears sometimes because the browser tried to send a POST request and the application was not configured to accept it. By providing the methods argument, you are telling which request methods should be accepted.

Flask &Django beginner

Hi,

In this post, I will tell you about how to begin using Flask.

  1. Install virtualenv for development environment by this command:Sudo apt-get install virtualenv

2. Change your current working directory to the new project diary and activate virtual environment by following these commands:

cd newproject

 virtual venv

 

3. Activate the corresponding environment by:

source venv/bin/activate

to deactivate it,type this command in terminal:

deactivate

4. We are ready to install Flask environment

pip install Flask

There is another awesome python framework Django, which may seem cumbersome for beginners, but once you get used to it, you can learn a lot.

Django:

Video tutorials by Bucky Roberts – thenewboston.

Text tutorials by Djangogirls.

This website for understanding the basics of Django forms

that’s it for today.

Adding project to Github

Hi, today I will tell you how to add a project to a Github repository using command-line/terminal.I’m assuming you have Github account ready. I am telling you two ways you can do this:

1) Initialize local repository as Github repository.

  1. Create a new repository by clicking on “Add Repository” button.
  2. On the next page, write the desired name of your repository next to your username. Click on the Public checkbox and then click Create Repository option. Now, you will be directed towards your new repository page.
  3. Open your terminal. Change the current working directory to your local project(which already has the files you want to upload to GitHub). Initialize the local directory as a Git repository:  git init.Add the files to your new local repository by typing the command: git add .
  4. Commit the files that you’ve staged in your local repository by typing the command:  git commit -m “first commit”.
  5. At the top of your GitHub repository’s Quick Setup page, copy the remote repository URL. In Terminal, add the URL for the remote repository where your local repository will be pushed. Type the following command: git remote add origin remote repository URL.
  6. Now, finally git push origin master. You will be asked your Github’s username and password once entered, The files in the local project will be added to your Github repository online.

Official Github documentation – https://docs.github.com/en/get-started/importing-your-projects-to-github/importing-source-code-to-github/adding-locally-hosted-code-to-github#adding-a-local-repository-to-github-using-git

2) Adding files to a cloned Github repository

  1. First and second steps are the same. Clone the repository locally by git clone REMOTE ORIGINAL URL.
  2. Add files into this new cloned folder from your local project folder.
  3. Change the current working directory to your git cloned repository and then do git add ..Repeat step 4,5,6 and 7.

Additional Github commands :

  • git status for tracking the file changes between your local project and Github repository.
  • git remote -v to verify new remote URl

Nautilus,Air Droid,Screencast

Nautilus:

I have heard this name many times while surfing ubuntu forums, but really never cared what it was, until today. I was having a problem to copy files to my pendrive, then I found a solution :

Enter sudo nautilus in the terminal and it opened the files window and Voila! I was able to copy paste the files in my pendrive.

but when I closed that window same problem again(I haven’t found a solution to that but this temporary solution will work).

Before this problem, I was struggling to make my pc detect pendrive and renaming pendrive, but that is a topic of discussion for another day.

AirDroid

I was facing trouble in transferring files from my motoe4plus mobile to laptop through usb.

Then there came a solution AirDroid, you can wirelessly transfer your files to and fro between laptop and your mobile. You need to connect your mobile through ip address and give some app permissions, you are ready for file transfer.

Screencast

this app can be used to screencast your android phone to your laptop.

That’s it for today.

Keyboard shortcuts

 Keyboard shortcuts to use in Google Chrome :

  1. CTRL + N for the new window.
  2. CTRL + T for new tab in the same window.
  3. CTRL + J for showing downloads.
  4. CTRL + H for viewing browser history.
  5. CTRL + TAB for changing from current window to adjacent window.
  6. ALT + TAB  for changing from current application to different application
  7. CTRL + SHIFT +J  for opening developer tools.
  8. CTRL + SHIFT + T for reopening closed window.
  9. CTRL + SHIFT + N for opening incognito window.
  10. Press CTRL on any link to open in a new window(sometimes it may not work).
  11. Press SHIFT and left/right/upward/downward button to select the text.
  12. To print the web page, you can use CTRL + P.If you don’t have any printer connected ,the webpage will be saved as pdf in desired location.
  13. To save the web page in desired location, use CTRL + S (sometimes it may not work)
  14. To find any particular text in current web page , use CTRL+F
  15. CTRL + SHIFT + DEL to clear browsing data,

                                                   WARNING:

  • This will delete your browsing history(but you can choose time range)
  • Clear cached images and files.
  • cookies and other site data(Sign you out of most sites.You’ll stay signed in your google account so that your synced data can be cleared)

16.For opening task manager(System Monitor in Ubuntu),use SHIFT + ESC. To access task manager/System monitor,search for System monitor by clicking on Applications icon at left hand side bottom. To know more about Task manager,click on these links:

17.To view web page source code,use CTRL + U.

18.Press windows(Super) key to view currently running gui applications,  it can search for the application in search box if the application is not installed, it will even suggest applications from software center.You can open the application menu  by clicking on the 9 dots on the left bottom of the screen. However, a quicker way would be to use Super+A key combination.

Keyboard Shortcuts for terminal(Ubuntu)

  1. CTRL + ALT +T for opening terminal.
  2. CTRL + SHIFT + T for opening another terminal tab.
  3. Ctrl + Shift + N for New terminal window
  4. sudo -i for logging in as root on terminal
  5. CTRL + D or logout command for getting out of root on terminal or completely closing terminal window.
  6. CTRL + C for closing localhost server or  break out of a command on terminal.
  7. CTRL + Z for closing process  on a terminal. 
  8. To see the process running on particular port(need to be root) – lsof -i :8080 in terminal.
  9. To solve this error –‘E: Could not get lock /var/lib/dpkg/lock F:Is another process using it?’ Refer this website.
  10. To solve this error: Error 98:Server Error: port is already in useRefer this answer.
  11. Just start typing a command, filename, directory name or even command options and hit the TAB key. It will either automatically complete what you were typing or it will show all the possible results for you.
  12. Type “clear” to clear your entire terminal screen.
  13. Use upward arrow key to view the previous command and downward key for the next command.
  14.  Use side arrow keys to move cursor to beginning or end of line.  
  15. To lock the terminal screen ,click on top bar in terminal and select “always on top” option. 

General terminal commands

1.mkdir mydir (make directory) – create a new, empty directory.

2.cd mydir (change directory) go to a directory and cd .. to go to previous directory.

3.pwd (Print Working Directory) – use this command to know in which directory you are currently in.

4.ls (list) – list all the files and directories of the directory you are currently in and

5.ls -l will list all your files

6.touch newfile – easiest way to create new, empty files.

7.gedit/nano newfile to edit newfile

8.cp filelocation newlocation (copy) – copy a file from one location to a new one.

9.mv myfile newfile (move) – this command is moving files and folders.

10.man mycommand (user manual) – if don’t know how to use a command or if you just want to know more about it, use man command.

11.rm myfile (remove) – delete a file.

12.rmdir mydir (remove directory) – delete a directory, but this will only work if the directory is empty. If it isn’t and you still want to delete it, use rm -r mydir. I advise you to use this command very cautiously since you could end up deleting all or most of your files.Similarly rm -rf deletes all files,so use carefully.

13.For Applying Ownership and Permissions in Linux,follow this link