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

Dev environment for linux (Mainly KDE and python)

Jan 14, 2017

Download

Engineering

Assem CHELLI
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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