Skip to content
loading...
Discussion
markdown guide
 

After years of experimentation, my development stack has mostly settled out.

Environment:

  • Ubuntu 17.10 (currently MATE)
  • LLVM Clang 5.0 (for C and C++)
  • CMake (3.9.1 right now)
  • Python 3.6
  • Sphinx: for documentation
  • Git

Editors and IDEs:

  • Atom: My primary IDE/editor for C/C++/Python/RestructuredText/Markdown/HTML/CSS/etc.
  • Visual Studio Code: I'm experimentally using this right now, and I may switch to it from Atom.
  • Vim: Any time I need a command-line or quick-and-dirty text editor
  • Guake: This serves for most of my terminal needs.
  • Terminator: I use this when I need a dedicated terminal for a long work session.

Coding Tools:

  • cppcheck (1.80)
  • Pylint
  • Pytest: Python testing
  • PawLIB Goldilocks: C++ testing
  • Banshee and Spotify (because music IS a programming tool!)
  • Valgrind: Memory checking and dynamic analysis
  • KCachegrind: Profiling data visualizer
  • Clang memory sanitizers: Memory checking and dynamic analysis
  • Speedcrunch: Calculator

Other Tools:

  • LibreOffice Draw (migrating to Dia): Flowcharts and diagrams
  • Hamster Indicator: Time tracking.
  • Calibre: eBook viewer
  • Hexchat: IRC client
  • Jenkins: CI
  • Phabricator: Issue tracking/repository hosting/wiki (I use GitHub instead for personal projects)
  • Inkscape: Vector graphics
 

Atom as an editor (sometimes even emacs) and vagrant (with VirtualBox) for the environment.

 

JetBrains IDEs for code and vagrant for environment

 

I just switched to Emacs from SublimeText and I'm really loving it. I don't spend my whole day deep in code, so a full-blown IDE isn't something I need, but the built-in shell and git integration (via magit) are amazing.

Also, I highly recommend Fish Shell

The best pro-tip I've ever received is to set my font size in all my applications to be relatively large (14pt+). This decreases eye strain and has had the biggest impact on making my day more enjoyable.

 

Here is mine.

  • iTerm 2 with oh-my-zsh configured. (always open)
  • VSCode (with material theme)
  • Docker, if environments are necessary
  • Chrome for dev, Firefox otherwise.
 
 

I wanted to try the new rendering engine and it looks like its faster!

If you like Firefox engine, you have firefox developer edition for development purposes too :)

 

Here are the tools I use:

Editors: VS Code, Atom, LightTable, Emacs(amateur though)
IDEs: CodeBlocks, JetBrains
Browser: Chrome(mostly), Quantum Firefox for a change
Terminals: Git Bash, Powershell,Cmder, Ubuntu Bash (too many)
Note taking: Typora, Sticky Notes
Chat apps during dev: Slack, Gitter
Resources & Bookmarks: Airtable,Chrome
Hosting code: Github, Bitbucket
Blog: Medium
Project Plan: Asana, Trello
Prototyping: JustInMind, Pencil & Paper

 

Here it is:

  • Mac book pro (with an external monitor and a wireless keyboard)
  • sublime text - for front end stuff
  • vs code
  • gitlab.com - I see it as part of my tooling.
    • I create a private repo for all the projects
    • I have a ES6, Webpack, Gulp and Grunt builder which I clone and use

  • Codekit - when I want to design something and can't be bothered using a builder

  • terminal - of course, it's always open

  • Photoshop - I've been a "design on browser" person since it was questionable but when I have a fuzzy layout idea, moving things around a photoshop canvas is easier

  • Frank a fantastic color picker

Strange but extremely helpful:

Mac's text-to speech feature! - When writing the best advice is to read your content out loud. I can't be bothered, so I use the text-to-speech feature and I manage to get all the spellings but also, if I can be bothered, I'm able to make what I write sound more like me!

 

My toolchain is as follows:

  • Macbook / MacOS, Ubuntu machines in the cloud, and Termux on Android for dev
  • Docker for application containers, still testing the waters for a good orchestration tool (Using Convox atm, Kubernetes seems to be what ppl recommend these days)
  • Homebrew / Linuxbrew for software management
  • Iterm2 (probably the most used app on my mac after the browser, always open)
  • ZSH shell (zplug for plugin management, and many, many functions and aliases, I don't know how I manage to remember most)
  • Tmux (iTerm tmux integration is godsent!)
  • Vim is my "IDE" (too many plugins I've crafted over the years, and now things just work right. First thing I do on a new dev box is open vim, source my .vimrc, PlugInstall)
  • various shell tools
  • Gitlab for personal stuff (shell config, scripts, etc)
  • Github + SemaphoreCI for actual work
  • Dash for API documentation
  • Alfredapp for navigation (it has a great plugin for dash which allows searching docs a breeze)
  • Android Studio / XCode when I really, really have to (haven't been able to replicate their toolchain at the shell to a level I'm comfortable with yet)
  • Chrome + Devtools, Firefox here and there (need to spend more time with FF, I like their devtools better)

I don't really use graphical IDEs because they tend to be resource-heavy on my underpowered machines, and I like my dev environment as portable as can possibly be. My routine whenever I connect to a new box is to run a shell script that installs the tools I use and configures the shell just the way I like :)

 

I use Cloud9 for a couple of years now and I am very happy with it! It offers a cloud IDE where you can create multiple workspaces. They have templates for workspace setups like Django app, NodeJS, Angular, Python and more but what you get in the end is a container with an ubuntu system that you can configure how you need it. With it the IDE of course!
Recently Amazon teamed up with them and now there are different pricing models and it uses AWS now. I still enjoy the "old" control panel and contracts but the new ones look promising also!

 

Editor: emacs
Version Control: git/GitHub
GitClient: magit(emacs)
OS: macOS(office), Arch Linux(home)
Language: Go, Python
Shell: zsh
Terminal: iTerm2
CI: Travis CI
Other:

  • Vagrant
  • Docker
  • Slack
 
  • vscode - take time and setup your debugging environments depending on what app you working on. The debugging features have saved me tons of time. There is a bit of a learning curve but worth it.

  • iTerm - always open

  • Insomnia - for API requests

  • nvm - switching between node envs

  • Pomy - personal pomodoro time keeper, I like working in 25 minutes increments and breaking my tasks up that way. Then 5 minutes of whatever to think about something else for a bit then back to it. Goal is 4 - 8 Poms each day which is ~2 - 4 hours of solid coding which yields more than you might think.

  • Brave - browsing and reading for breaks in between poms

  • Chrome + Devtools - majority work and some browsing

  • SimpleNote - quick notes, pseudocode, articles to read later

Pretty much all of these are open all the time. Also when I am working I mute my notifications as they get pretty distracting and annoying.

 

Sublime Text & Cloud 9 have been a joy to work with! Definitely makes things easier. Also honorable mention would be Eclipse!

 

Debian, Arch/Manjaro or OBSD. Termux under Android.

vim for editing. strace and gdb for low level debugging.

tmux or XFCE, usually.

picoLisp for general programming, sh/bash/dash for general scripting environment.

tcl and pdflatex for fun and fud.

Tools like socat, nmap, tcpdump, sqlmap, gforth, swipl, NightCode.

 

Sublime Text all the way! Been using it for 4 years now.

 

Sublime as my Text Editor and Linux as my Enviroment

 

Vs Code - for JS, TS projects
Intelijidea - for Java and Groovy
Dbeaver - for postgresql connection
Vim
Ngrok for https tunnel
Bitbucket and bitbucket pipelines
Slack

 

iterm 2 with zsh
pyenv, rvm and nvm for multiple versions of python, ruby and node
visual studio code

 

Sublime Text, then jetBrains IDEs. Now I am giving VIM a try. Initially, it is a brainf***, but it is slowly getting better! But it is great to be able to use the same text editor anywhere.

 
 

Yeah, for example when you are SSHing into a server, you can use the same environment you have in your computer, for example. As long as you install your .vimrc file ;)

 

Since I'm primarily a Microsoft stack developer, I use Visual Studio 2015 and Visual Studio Code. I use Notepad++ sometimes for quick editing of stuff.

Classic DEV Post from Jul 26 '19

🎩 JavaScript Enhanced Scss mixins! 🎩 concepts explained

In the next post we are going to explore CSS @apply to supercharge what we talk about here....

Aravind Balla profile image
Never not learning. When not writing code 👨🏻‍💻, he is climbing a mountain 🧗‍♂️ or writing ✍️ or recording a podcast 🎙 or drinking coffee ☕️