През изминалият уикенд се изтъркаля TuxCon 2017. Според повечето хора съм се справил прилично добре с лекцията ми. Аз персонално не съм съвсем доволен, определено има много неща върху които да работя, защото планувам да не е последната ми подобна изява за в бъдеще. Ако трябва да съм честен по голямата част от презентацията почти не си я спомням, беше като в транс. Спомням си откъслечни моменти в които поглеждам часовника и установявам, че е изтекло прилично количество време.

Определено не беше никак лесно, дори като се има на предвид, че аудиторията беше изключително тясно насочена и нямаше някаква голяма бариера с публиката.

 

Любимият ми текстови редактор е 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 и същевременно да продължи да бъде бърз без да кара процесора ви да иска да си тегли куршума.

От време на време ми се налага да ползва Bitcoin URI и когато ми се наложи клиента ми не се е асоциирал е дразнещо, че трянва да правя всичко на ръка. Продцедурата е изключително тривиална по въпросната асоциация. Може да бъде синтезирана в следните 5 точки

  1. Отворете в адрес бара си about:config
  2. Създайте нов ключ от тип boolean (клис с десен бутон на мишката -> new -> boolean)
  3. Въведете име: network.protocol-handler.expose.bitcoin
  4. Изберете стойност false
  5. Следващият път когато кликнете на Bitcoin URI ще бъдете попитани за избор път до Bitcoin клиента си. Бъдете сигурни че е с изпълними права.

Аз лично използвам MultiBit клиента който е има всичката необходима фунционалност и е достатъчно пъргавичък

Когато правите RAID слоя над него го направете на LVM така ще си спестите много терзания ако сте задали не съвсем добре преценени размери на дяловете. Идеята е че ако не ползвате XFS или ZFS или някоя друга FS която позволява преоразмеряване на дяловете както EXT2/3/4 например нещата стават голяма кочина като осъзнаеш, че не си направил най- доброто делене. В общи линии получавате максимална пластичност ако е необходимо намаляне или увеличаване на размеря на дяла и същевременно сте подсигурени против неприятни случки на данните ви. В общи линии се получава нещо от този вид

| / | /var | /usr | /home  |
 --------------------------
|       LVM Volume         |
 --------------------------
|       RAID Volume        |
 --------------------------
| Disk 1 | Disk 2 | Disk 3 | 

Както писах наскоро моите хора от Debian преминават на multiarch support. Това само по себе си е хубаво нещо доста неща ще вървят по нормално например някой проблеми с wine на x64 архитектурата ще отпаднат. Понеже моята система е доста по сложно конфигурирана по принцип е sid (unstable) обаче се ползват пакети и от тестинг и с multiarch-а нещата се смазват. Крайно неприятно при това. Та днес ми се наложи да си почистя системата от всички i386 зависимости за да може да палне както хората 🙂

В общи линии процедурата е изключително тривиална. Почистваме пакетите забраняваме i386 архитектурата и живеем щастливо 😉 как се случва това със следната команда по долу. Т.е те са 2, в случай че на някой му е интересно колко пакети е успял да нашие покрай всичките неща дето си е качил реално втората почиства системата.


dpkg -l | grep i386
apt-get remove --purge .*:i386

До тук всичко е ясно с чистичка система сме. Остана само да забраним архитектурата дето ни мачка системата


dpkg --remove-architecture i386

apt-get update

Здравей чист живот.  Ако някой ден не ме мързи ще седна да си напиша pin-овете за приоритети на пакетите като хората че да не се мачка и multiarch-а но като цяло нямам много голямо желание да го правя предпочитам чиста x64 система пред  множество повтарящи се библиотеки.