28
Dev Environment for Linux (Mainly for KDE&Python) By: Assem Chelli

Dev environment for linux (Mainly KDE and python)

Embed Size (px)

Citation preview

Page 1: Dev environment for linux  (Mainly KDE and python)

Dev Environment for Linux

(Mainly for KDE&Python)

By: Assem Chelli

Page 2: Dev environment for linux  (Mainly KDE and python)

- Software engineer at ioGrow

- Founder of Alfanous.org

- Contributor at many open source projects: OWASP OWTF, XAPIAN...

- assem.ch @ gmail.com

- assem_ch @ twitter

- assem-ch @ Github

- bigother @ stackoverflow

Who am I?

Page 3: Dev environment for linux  (Mainly KDE and python)

What is this presentation about?- There is no standard environment

- Those are Suggestions , not Rules

- I will talk Mainly from a Python developer point of view

- Underlined and Bold the tools I use personally

Page 4: Dev environment for linux  (Mainly KDE and python)

Objectives- Efficiency

- Lightness

- Customization

- Updates in time

- Easiness

- Stability

- Clarity

Page 5: Dev environment for linux  (Mainly KDE and python)

Choosing Distribution- Debian

- Ubuntu and derivatives

- Fedora and derivatives

- Suse (Alliance with Microsoft)

- Arch-linux (Rolling-release)

Choose a well-known one and Customize anything you want!

Page 6: Dev environment for linux  (Mainly KDE and python)

Choosing Desktop- Unity (notification problem)

- Gnome Shell (notification problem)

- KDE

- Gnome fallback forks (MATE, CINNAMON ...)

- LXDE

- XFCE

- ...

Page 7: Dev environment for linux  (Mainly KDE and python)

Terminals- Konsole

- Gnome-Terminal

- Terminator

- Yakuake

- Guake

Page 8: Dev environment for linux  (Mainly KDE and python)

Command-line tools VS

Graphical tools

Page 9: Dev environment for linux  (Mainly KDE and python)

Text Editors- VIM

- Emacs

- Sublime

- Geany

- Gedit / Kate

- Nano

Page 10: Dev environment for linux  (Mainly KDE and python)

Interpreters / Compilers / DebuggersPython:

- python

- iPython

- Bpython

- IDLE

C/C++: gcc

...

Page 11: Dev environment for linux  (Mainly KDE and python)

Version Control- Git --local-branching-on-the-cheap

- Hg

- SVN, CVS

- TFVC

Page 12: Dev environment for linux  (Mainly KDE and python)

Version control tools- gitk, gitg, qgit

- Git-cola

- SmartGit

- Git-gui

Page 13: Dev environment for linux  (Mainly KDE and python)

Diff tools- Kdiff3

- Kompare

- diff

Page 14: Dev environment for linux  (Mainly KDE and python)

Search & Replace tools- find / grep / sed

- locate

- Kfind

- Kfilereplace

Page 15: Dev environment for linux  (Mainly KDE and python)

DocumentationNote: keep offline documentation when possible

- Command: man

- Command: pydoc

- Zeal (Dash-alternative)

- Pdf Search

- Stack Overflow

- youtube-dl to download video tutorials

Page 16: Dev environment for linux  (Mainly KDE and python)

TODO list tools- Tasque (KDE)

- GToDo (gnome)

- iKog (terminal)

- Github issues

- EMACS org-mode

- ...

Page 17: Dev environment for linux  (Mainly KDE and python)

IDEs : Integrated Development Environments - Jetbrains

- PhpStorm

- WebStorm

- PyCharm

- CLion

- RubyMine

- Eclipse with extensions- PyDev

- Netbeans

- Vim with extensions

- EMACS with packages

- Spyder (Scientific Python )

Page 18: Dev environment for linux  (Mainly KDE and python)

Using IDEs: Advantages and DisadvantagesAdvantages:

- Less time and effort- Enforce project or company standards- Project management

Disadvantages

- Learning curve- A sophisticated IDE may not be a good tool for beginners- Will not fix bad code, practices, or design

Page 19: Dev environment for linux  (Mainly KDE and python)

Browsers- Chrome

- Firefox Developer Edition (Multi-processing)

- Opera

- IE 11 (wine)

Page 20: Dev environment for linux  (Mainly KDE and python)

Browser extensions- Adblock

- GetPocket

- BetaSpeed

- ...

Page 21: Dev environment for linux  (Mainly KDE and python)

Email Readers- Mutt ( too complicated)

- Kmail (too slow)

- Evolution

- Thunderbird

Page 22: Dev environment for linux  (Mainly KDE and python)

Calendars- Google Calendar

- Evolution

- KOrganizer

Page 23: Dev environment for linux  (Mainly KDE and python)

Chat messengers- IRC

- Konversation

- Xchat

- Quassel

- + botbot history

- Slack & alternatives - + Browser notification

- + Email notification

- + History

- General chat- Pidgin

- Kopete

- Skype

Page 24: Dev environment for linux  (Mainly KDE and python)

KDE Desktop / Activities

Page 25: Dev environment for linux  (Mainly KDE and python)

MISC- A virtualization tool for simulating other OSes (eg. VirtualBox)

- An RSS reader like akregator or RSSOwl

Page 26: Dev environment for linux  (Mainly KDE and python)

My tool set ( Python + web dev) - OS&Desktop: Ubuntu / KDE

- Editors: VIM / Sublime

- Terminals: Konsole / Yakuake

- Version Control: Git +Git-cola

- Interpreter: pbython

- IDEs: PyCharm pro edition

- Browsers: Chrome / Firefox Dev +getpocket

- Email reader: Thunderbird

- Calendar: Google Calender (integration with KDE)

- RSS reader: Akgregator

- Chat: Konversation / pidgin / skype

Page 27: Dev environment for linux  (Mainly KDE and python)

Important tips- Avoid social networking because it’s the main source for

Procrastination.

- Keep it clean, Keep It Simple Stupid

- Avoid over-customization

- Choose always the best tools and focus on them

Page 28: Dev environment for linux  (Mainly KDE and python)

Questions? Additions?assem.ch @ gmail.com

assem_ch @ twitterassem-ch @ Github

bigother @ stackoverflow