Любимият ми текстови редактор е Geany. Той е много минималистично IDE което поддържа огромен набор от езици – shell, php, python, C … etc. Има си автоматично довършване и същевременно е адски пъргаво. Липсват му някоя и друга приятна възможност но и към момента за мен е повече от напълно достатъчен. Започнах да online курса Python Programming на SoftUni – да си освежа познанията и да ги надградя тъй като не съм следил адекватно какво се случва с python 3. Лекторите от курса препоръчват PyCharm като IDE за pyton програмиране, но на мен далеч не ми е по вкуса, естествено си използвам Geany за упражненията.

По време на лекциите болезнено усетих 2 липси

  1. python autocomplete-а издиша от към документация на функции и методи
  2. няма валидация за pep8 стандарта

Хубавото е че Geany е достатъчно гъвкав от към конфигурация и може лесно да бъде допълван от към липсващи такива. Нека да добавим python документация към нашето IDE:

  • дърпаме си следният скрипт някъде в нашият PATH например /usr/bin като не забравяме да го направим изпълним
  • редактираме файла ~/.config/geany/filedefs/filetypes.python като в частта settings добавяме следният ред context_action_cmd=pydocw %s. Ако съществува само добавяме името на бинарката от предишната стъпка. Рестартираме Geany ако е пуснат.
  • Вече имаме context-action който ще ви извади информация за функцията. Аз си добавих shortcut за  да ми е по удобно като не ми е ясно някоя функционалност. Лич мен този подход много ми допада защото много ме дразни netbeans подхода.

До тук добре. След това много ми се прииска да имам валидация на кода който пиша – дали го пиша според общо приетите стандарти или пиша някакви грозотии. В общи линии намерих отново туториалче как се случват нещата но то е малко остаряло – Geany си има всичко вградено в себе си само трябва да му се инсталира pep8 пакета. В Debian apt-get install pep8 върши работа в останалите дистрота сами трябва да откриете как се случва магията. В менюто Build вторият бутон (поне при мен) е Lint след кликването му ще откриете колко грозен код сте сътворили 😀

Screenshot from 2016-01-11 20-42-21

Това е общи линии как да накарате вашият Geany да работи по добре с Python и същевременно да продължи да бъде бърз без да кара процесора ви да иска да си тегли куршума.

malmon е един изключително интересен нов проект – като цяло е замислен за защита на хостинги сървъри от зловреден софтуер на него, създаден от моя приятел и linux guru ShadowX. Да поясня какво точно се има на предвид – нищо не пречи да си метнете на кои хостинг едно приятно c99 шелче да речем и ако е не достъчно добре настроена файловата система нищо не пречи на злия хахор да докопа шел достъп. Като цяло идеята на malmon е точно така да следи качването на такива приятни мизерии и да ги премества в карантинна директория различна от document root-a. Принципа на които работи е доста приятен – следи за създадени нови фаилове в папка която е настроен да гледа софтуера и при наличие на някои фаил кото съвпада с определени сигнатури го препраща към вечните ловни полета. Нещо като антивирусен софтуер 😉 Скрипта е написан на python което го прави лек, бърз и гъвкав. За да следи за създадени нови файлове използва относително новия механизъм на ядрото inotify. Въпреки че все още скрипта не е официално стабилна версия от 3 дни не съм имал проблеми на един порядъчно натоварен сървър – единия от сайтовете там е в топ 100 на tyxo 😉

Мога да продължа да наливам сухи статистики и обяснения на дълбоко как работи кода, но няма да го направя. По скоро ще ви призова да го сваляте тествате и ако имате предложения да пишете на автора 😉 Ако видите бъгове пак му пишете хора сме грешим и е добре да се подкрепяме. Наздраве!