DEV Community

Cover image for My Dev Tools 2024: Streamlining Development
Ehsan Pourhadi
Ehsan Pourhadi

Posted on

My Dev Tools 2024: Streamlining Development

For a developer, possessing a proficient collection of tools is crucial for optimizing processes and enhancing productivity. By 2024, my toolbox comprises essential applications and configurations that I deem indispensable. Below is a summary of the tools and their respective justifications that I employ.

Web Browsers; Firefox and Chrome

Firefox is my preferred browser for development work because of its powerful developer tools, advanced privacy features, and compatibility with the newest web standards.

Although Firefox is my preferred browser, I also use Chrome. Due to its widespread use and extensive set of development tools, Chrome continues to be essential for testing and debugging purposes.

I optimize my Firefox browsing experience by utilizing a variety of essential plugins.

  • Empty Cache Button: A simple extension to clear the cache without needing to dig into the settings.
  • React Developer Tools: Essential for working with React applications, providing a detailed view of component hierarchies and props.
  • Redux DevTools: Critical for debugging Redux state changes in complex applications.
  • RescueTime for Firefox: Tracks time spent on various sites, helping me stay productive and focused.
  • Apollo Client Devtools: A must-have for developers working with GraphQL, this tool allows for deep inspection of GraphQL queries and caching.
  • FoxyProxy: Simplifies proxy management, allowing easy switching between multiple proxy configurations.
  • WAVE Evaluation Tool: Useful for accessibility testing, providing visual feedback about the accessibility of web content.
  • User-Agent Switcher: Allows quick switching between different user-agent strings for testing purposes.

The Command Line Interface; Warp

The Command Line Interface, sometimes known as CLI, is a user interface that allows users to interact with a computer program or operating system through text commands. One example of a CLI is Warp.

Warp is a terminal that provides a user-friendly interface. The software is equipped with AI-powered command recommendations, block-based workflows, and a range of keyboard shortcuts, which distinguishes it as an alternative to traditional terminals.


IDE: Visual Studio Code

Visual Studio Code functions as my integrated programming environment (IDE).

brew install  cask visual studio code
Enter fullscreen mode Exit fullscreen mode

Exploring VS Code Extensions

General Development:

- actionforge.actionforge: Automate routine tasks and boost productivity.
- amodio.tsl-problem-matcher: Simplifies TypeScript linting and problem matching.
- better-ts-errors.better-ts-errors: Enhances TypeScript error messages for easier debugging.
- bradlc.vscode-tailwindcss: Tailwind CSS IntelliSense support for rapid UI development.
- christian-kohler.npm-intellisense: Autocompletes npm modules, saving time during development.
- dbaeumer.vscode-eslint: Integrates ESLint into VS Code, ensuring consistent code quality.
- esbenp.prettier-vscode: Formats code consistently across projects using Prettier.
- github.copilot: AI-powered code completion for faster and smarter coding.
Enter fullscreen mode Exit fullscreen mode

Specialized Tools:

- ms-azuretools.vscode-docker: A must-have for containerized application development.
- ms-vscode-remote.remote-containers: Seamlessly connect to and develop within containers.
- vscode-icons-team.vscode-icons: Customizable icons for a visually pleasing workspace.
- yoavbls.pretty-ts-errors: Further improves the clarity of TypeScript error messages.
Enter fullscreen mode Exit fullscreen mode

Productivity Enhancers:

- gruntfuggly.todo-tree: Organizes TODO comments in your code.
- oderwat.indent-rainbow: Colorizes indent levels, making code structure more visible.
- silofy.hackthebox: A specialized extension for cybersecurity enthusiasts.
- vscjava.vscode-java-pack: Comprehensive tools for Java development.
- wix.vscode-import-cost: Displays the cost of importing npm packages.
Enter fullscreen mode Exit fullscreen mode

Additional Tools

  • Password Manager: I utilize the Keeper® Password Manager & Digital Vault to effectively handle and safeguard my passwords, guaranteeing that all my accounts are shielded using robust and distinct passwords.

  • API Testing: I utilize both Postman and Insomnia for the creation and testing of APIs. Both tools have robust capabilities for testing RESTful APIs, with Postman offering a wider range of functions and Insomnia standing out for its simplicity and superior performance.

  • Web performance analysis can be effectively conducted using the remarkable tool called YellowLabTools. The tool offers comprehensive analyses on performance bottlenecks, aiding in the optimization of online applications for enhanced speed and efficiency.

  • Note-Taking: I utilize the software application Obsidian to fulfill all of my note-taking requirements. Obsidian's versatility and robust linking structure make it well-suited for effectively organizing intricate information. The plugins that are crucial for me include:
    - Dataview: Enables me to retrieve and exhibit notes in a well-organized fashion.
    - The GitHub Link feature facilitates convenient connecting of notes to GitHub repositories.
    - Jira Issue: Enables the direct monitoring of Jira issues within Obsidian.
    - The Templater feature offers sophisticated templating capabilities, making it easier to create new notes and documents.


Automating Routine Tasks

In order to ensure that all aspects are current and functioning well, I employ a daily script that automates updates and carries out regular maintenance tasks. This script guarantees that my environment is consistently prepared for the day's tasks.

The link provided is a GitHub gist with the URL:

https://gist.github.com/ehsanpo/1c205438c1e67b7c8e12a35e996e50f3

Here’s a breakdown of the script:

Homebrew Updates:
The script checks for and installs updates for all Homebrew packages, including cask applications.

brew update
brew upgrade
brew upgrade --cask 
brew cleanup -s
Enter fullscreen mode Exit fullscreen mode

System Diagnostics:
It runs diagnostics to ensure the system is in good health.

brew doctor
brew missing
Enter fullscreen mode Exit fullscreen mode

Log Maintenance:
To manage disk space and keep the system clean, the script deletes logs on the first Monday of each month.

DAY_OF_WEEK=$(date +%u)
DAY_OF_MONTH=$(date +%d)

if [ "$DAY_OF_WEEK" -eq 1 ] && [ "$DAY_OF_MONTH" -le 7 ]; then
    rm ~/bin/brew_update_logs.txt
fi
Enter fullscreen mode Exit fullscreen mode

MAC Address Spoofing:
For privacy and security, the script changes the MAC address each day.

NEWMAC=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
sudo ifconfig en0 ether $NEWMAC
Enter fullscreen mode Exit fullscreen mode

Weather Report:
The script greets me with the weather forecast, adding a personal touch to my start of the day.

Weather=$(curl -s http://wttr.in/malmo?T | grep -m 1 -Eo -e '-?[[:digit:]].*°.+')
say "Weather today is $Weather"
Enter fullscreen mode Exit fullscreen mode

Tools Powered by Artificial Intelligence

By 2024, AI tools have seamlessly integrated into my development workflow, offering indispensable aid, streamlined automation, and innovative contributions throughout different phases of development:

  • ChatGPT is utilized for various purposes such as ideation, code debugging, content generation, and document drafting. The natural language comprehension of this tool simplifies intricate problem-solving tasks and enhances my productivity by delivering prompt and precise responses.

  • GitHub Copilot is seamlessly integrated into Visual Studio Code, providing advanced coding assistance by offering code completions, producing complete functions, and even predicting the subsequent steps in my code. It is akin to having an always available AI-driven partner coder to provide assistance.

  • I depend on Midjourney to create AI-powered visual content for my design and creative projects. Midjourney specializes on transforming abstract concepts into visually captivating outcomes, expediting the design workflow. Their expertise lies in producing graphics, concept art, and UI elements.

  • Suno offers cutting-edge audio tools powered by artificial intelligence, which are highly valuable for producing soundscapes, voiceovers, and several other types of audio content. Suno enhances my work by providing great audio capabilities, whether it's for an application, a game, or even just improving a presentation.

Top comments (0)