Sublime Text 2, Firefox… Пет софтуера, които ползвах през 2013

В края на всяка година хората се отдават на ретроспекция какво е станало през всичките тези 365 дни, изминали от предишната ретроспекция. Ако трябва да съм честен, тази година можеше да е много по-добра. Но каквато е била–такава. Ще има още много от тях (със или без нас), и по-хубави, и по-лоши. А тази публикация е на една по-весела тема, а именно с какъв софтуер злоупотребявах основно тази година и защо. Впрочем става дума за личното ми потребление, не за супер скъпите модерни технологии, които ползвам, докато съм на работа. Абсолютно.

firefox-512-noshadow

Mozilla Firefox

Не съм с нея от съжаление. Наистина, лисицата е поостаряла и вечно задъхана да настигне Google Chrome, но си е моят браузър. По-бавен, по-тромав и не се харесва на любителите на прекаления минимализъм. За сметка на това ми харесва как изглежда, как се държи, възможността да го разширявам, факта, че не принадлежи на компания, която иска да знае какво искам, какво правя, къде живея, къде гледам и изобщо всичко, от което да може да извлече полза. Фондацията Мозила се стреми към един по-добър свят, където всеки има право на добър софтуер.  Разбира се, това само по себе си не би ме спечелило. Но браузърът им може всичко, от което се нуждая, независимо дали искам да чета, да пазарувам, да разработвам софтуер или просто да си губя времето в интернет.

Eclipse icon

Eclipse

Стоя и се взирам в него, час след час, ден след ден и не е възможно между нас никога да не припламне някоя искра… И тогава да ми се прииска да го прасна през екрана, за да не ме мъчи повече. Макар и своеволен, Еклипс е лесен за употреба и предлага куп опции, които да улеснят живота на програмиста (аз усетих това с особена сила, тъй като преминах към него не от друга развойна среда, ами от текстови редактор), може да бъде разширяван и е с отворен код, което позволява ползването му за работа с редица езици и за множество различни задачи.

Google Apps

Пакет от най-доброто, което предлага Гугъл, специално за бизнеса. GMail, Drive, Sites и още, под ваш домейн, за вашата организация. Можете да управявате потребителите си – да ги създавате, премахвате, да редактирате правомощията им… За да изградите мрежа, предлагаща подобни услуги и с такова ниво на контрол, ще ви е нужна инфраструктура и хора, ако не разчитате на Гугъл. Е, това не е моят случай. Аз си нямам организация или група хора, които да менажирам, но ми харесва да разполагам с Гугъл на свой домейн. Това ми дава известна доза независимост – днес ми харесват условията им, утре не – следователно се махам, но запазвам адреса си. Не съм вързан към тях и адресът ми не е ivaylo_smk1991@gmail.com. От самите приложения най-полезни за мен са Drive, с което мога да синхронизирам файловете си между устройствата, които ползвам, и офис приложенията, с които създавам, споделям и редактирам документи в екип. Гугъл поддържат Майкрософтските формати и могат да записват в тях. Няма го и проблема на OpenOffice.org/LibreOffice, които до последно не се научиха да четат нещо по начина, по който е било създадено и да записват така, че Office да го вижда правилно. А за разлика от Office, приложенията на Гугъл са безплатни. Само да не беше Големия брат…

Google Search

Вече споменах Гугъл с лошо. Не ги харесвам, но няма как да не намирам част от продуктовата им гама за полезна (или необходима). Търсачката им е отлична, а картинките по случай различни празници и събития лесно могат да изтръгнат от мен някоя усмивка сутрин. Друго наистина интересно нещо е Google Street View. Когато търсиш да намериш къде живееш или искаш да видиш дали някой случайно е бил паркирал пред гаража ти, когато е минала колата на Гугъл, е просто забавно. А когато ще пътуваш някъде и искаш да видиш какво, по дяволите, те очаква там, вече става и полезно.

Google Apps menu

Sublime Text

sublime

Това определено е най-добрият текстови редактор, който можете да намерите. Натъпкан с полезни функции за ваше улеснение – регулярни изрази, възможност да маркирате няколко неща наведнъж, отлична навигация, преглед на целия текст в десния ъгъл на прозореца и най-сетне тъмен интерфейс в текстов редактор и то по подразбиране! Какво повече да искаш? Не е безплатен, но за сметка на това прилага интересен бизнес модел – можете да изтеглите Sublime Text и да го изпробвате колкото време си искате без да се налага да го крадете. Когато прецените, че това е редакторът, превеждате 70$ на автора (който е само един) и програмата е ваша. Лицензът е за потребител, а не за компютър. Това ще рече, че можете да я използвате на всеки компютър, на който седнете, дори когато сте на работа и то без да нарушавате лицензионното споразумение. Sublime е мултиплатформен – ще го подкарате и под Уиндоус, и под Линукс, и под Мак.

Май това ми стига засега. В обобщение ще кажа, че обичам софтуерът ми да е безплатен. Нямам предвид пиратски. Понеже в света на компютрите има безплатен обяд и той не е гаден като храна за микровълнова. Програма, написана от един чoвек, може да е далеч по-полезна от нещо, в което голяма компания е вложила колосални средства. А нещото, което ме ядосва най-много в софтуера, е натрапчивостта на компаниите, които стоят зад него. Те не искат да улеснят живота ни. Те искат да ни следят, за да ни предложат реклами, насочени специално към нас. Искат да знаят какво искаме да споделим, но ни е страх от това, което може да си помислят другите. Искат да завземат по-голям дял от вниманието ни за себе си. Нека не правим това лесна задача. Ние сме личности, а не безплатна статистика.

Raspberry Pi

Глътка хардуер + линукс любов от пръв поглед за изобретатели с ограничен бюджет

Инцидентно, малината е един от любимите ми плодове. Именно на нея е кръстена Raspberry фондацията, производител на едночиповия компютър Raspberry Pi, създаден да предлага една функционална среда за експирементиране на най-достъпна цена. Целта е да се предизвика интересът на младите хора към програмирането и към мисленето като цяло.

Raspberry Pi

За 68,30 лв. с ДДС (или 29,06 евро) станах собственик на едно удивително парче полимер, метал и полупроводник с размер на кредитна карта, което се хвали, че може да възпроизвежда Full HD видео, докато се задвижва от линукс. Неочаквано за мен се оказа, че да си набавиш подобно нещо е съвсем лесно и доставката отнема два дни, ако се намирате в столицата. В България Пай можете да закупите от „Комет Електроникс“.

По същество, какво толкова представлява тази платка? Ами, имате 700MHz ARM процесор, 512MB RAM и доволен брой изходи – HDMI, за да свържете телевизор или монитор (VGA не се поддържа, окачествена от фондацията като отмираща технология), аналогов composite video изход, така че да можете да се закачите и за най-обикновен телевизор, 3,5 mm аудио жак, Ethernet (който отсъства при по-евтиния 25-доларов вариант на устройството), слот за SD карта, от която да се зарежда операционната система, 2 USB порта (или един при по-евтиния вариант), удобни например за мишка и клавиатура. Захранването става чрез Micro USB и ще ви е необходим 5V, 700-1200mA DC източник, за да гарантирате нормална функционалност на компютъра.

Но какво можете да правите с такова нещо? Честно казано, ако сега си задавате този въпрос, вместо да сте хукнали да поръчвате, не знам точно какво да ви кажа. С Pi можете да направите нещо просто и типично от рода на самоделна система за видеоигри, емулираща DOS и стари конзоли, мултимедиен център, домашен файлов/HTTP/FTP/.. сървър или, при повече свободно време, знания и желание, система за домашна автоматизация, уред, който автоматично храни котката ви или дори микровълнова фурна с гласово управление, която може да се управлява през интернет и да пуска в Twitter какво е сготвила последно. Това не си го съчиних, направено е вече.

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

Най-необходимото включва:

  • SD карта, препоръчително поне 4GB. Макар да можете да добавяте допълнителна памет чрез USB портовете, няма да можете да стартирате системата без валидно изображение върху SD картата. Като начало аз си взех 8GB на Kingston за около 15 лв.
  • 5V DC, 700-1200mA Micro USB захранване. Лесно за намиране, всеки магазин за техника има, понеже повечето телефони се зареждат с Micro USB. Моето струваше 17 лв. Създателите на устройството препоръчват да не се опитвате да свързвате своето Raspberry Pi с USB порта на някой компютър.
  • Монитор или телевизор и клавиатура, поне докато настроите SSH, което не е включено по подразбиране. Ако пък нямате, прочетете тук.

Според мен най-големите плюсове на Raspberry Pi са ниската му цена, приемливите параметри и обществото, което го обгражда. Лесно е да потърсите помощ и да намерите каквото ви трябва, а това съвсем не е малко.

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

Как да настроим C/C++ под Windows

Често с тези езици започват в университетите в самото начало. Когато не можете да се доверите не знанията на възрастните ви асистенти, взимате всякакви неудачни похвати към това да се научите да програмирате. Най-напред ви трябва IDE и за да е гарантирано тромавото и тежко начало, избирате Visual Studio, n-гигабайтова свръх-тежка система на Майкрософт, която или изтегляте безплатно от някой мъглив торент, в който „всичко, което се споделя, е отговорност на качилия го“, или се сдобивате с легалната версия за студенти, за която университетът плаща парички на голямата американска компания. При втория подход най-вероятно първо си губите времето с разни регистрации и търсите асистенти, отговарящи за въпросния софтуер.

Има по-лесен начин

Отнема по-малко от пет минути. Но не пишете на развойна среда, която ви дописва всичко, затваря скобите вместо вас и едва ли не, ви чете мислите. Това е дълга тема, но макар в последствие да намерите за по-продуктивно да не пишете всичко вие, а да се възползвате от автоматичните подсказки, смятам, че е правилно първите ви стъпки да са именно пеша….

  1. Инсталирайте MinGW (mingw.org).mgwОт мениджъра на пакети изберете тези, които отговарят за езиците, които бихте искали да ползвате. Това става с десен бутон > Mark for Installation. Щом сте готови, от меню Installation изберете Apply Changes. Избраните пакети ще бъдат изтеглени и разположени на твърдия ви диск.
  2. Инсталирайте си IDE (развойна среда). Аз препоръчвам Geany, понеже е идеална (geany.org). Тя дори не претендира да е IDE, а просто текстов редактор, но ви ще свърши прекрасна работа за която и да е училищна задача.
  3. Проверете дали всичко е готово, като в командния ред (Start > Run > cmd) въведете gcc. Ако получите съобщение, че gcc не е разпозната като команда или име на файл, ще се наложи да добавите директорията на MinGW в PATH. Това най-лесно може да стане пак от командния ред:
    setx PATH "%PATH%<пътека до MinGW>/bin;"

    В най-честия случай, точната команда е setx PATH “%PATH%C:\MinGW\bin;”
    Ако използвате по-стара версия на Windows, няма да имате достъп до командата setx и ще трябва да добавите пътеката към PATH променливата през графичния интерфейс. Последвайте тези инструкции.

  4. Стартирайте Geany и компилирате първата си програма.

Geany

Приятно програмиране :)

Някога пишех на Паскал… (за кода)

Спомням си, че когато бях малък, не разбирах нищо от компютри, но много ми се искаше. Попаднах на едни стари списания (PC World или нещо подобно?), в които се говореше за компилатори, програмни езици и какво ли не още. Така научих, че да направиш програма за компютъра било да пишеш. Мисля, че споделих това откритие с нашите, но те очевидно не се впечатлиха колкото мен. Чувал съм, че има книги с имена като „Програмиране за 9-годишни“. Аз обаче не получих такава и си останах неук още дълго време.

Програма на C

В училище учехме Паскал и честно казано не ми беше много интересно. Задачите бяха, по мое мнение, ужасно тъпи и безсмислени. Такива щяха и да си останат, докато не се появи тя. Тя беше умна и което е най-странното, беше била около мен вече години без да я забележа. Трябваше да я впечатля и как, мислите, се впечатлява умно момиче? Точно така, с Pascal!

Започнах да решавам задачи, свалих си Free Pascal и скоро заседнах. Мое помагало тогава стана един форум в интернет. Не кой да е, ами 4chan. Там имаше раздел за програмиране и аз като не нагъл човек публикувах каквото бях написал до момента и питах защо не ми се получава. Сигурно всички знаете вица „Питаш в американски форум, те ти отговарят. Питаш в руски форум – отговарят ти и на свой ред те питат нещо. Питаш в български форум и всички ти казват колко си тъп.“ Може да има и нещо вярно в това, но никъде няма да ти обърнат внимание, ако просто поискаш да ти направят домашното. Нужно е да видят, че си го мислил, че си се опитал и че не си успял, но искаш да се научиш.
Най-полезния съвет, който получих от 4chan, беше да използвам отстъпи, за да е четлив кодът. Дотогава ни бяха учили винаги да започваме от началото на реда. Изведнъж програмите станаха доста по-разбираеми.

После изрешавах всички задачи, изкарах шестица по програмиране, написах (наченки на) книга-игра и най-вече грабнах момичето – макар че това май не стана точно заради писането на код.

Да пиша се оказа много приятно. За мен най-хубавата част е това, че можеш да вмъкваш част от себе си в кода. В една програма бих сложил всякакви интересни неща, които ми хрумнат, ей така, докато си пиша. И после ще се радвам на получения резултат, знаейки, че това е моята програма. Че друг не би я направил така.

Не би? Писането на код е работа като работа. Има си стандарти. Конвенции. Това не е като да съчиняваш стихове, където, както казал беше някой поет, чието име не мога да си спомня в момента, граматиката може да се пренебрегне, за да имат думите своята сила. Красивият код е добре структурираният, изчистен, добре документиран и придържащ се към ред други правила. А една програма трябва да прави това, което ѝ е задачата. Не може да има скрита поддръжка на емотикони, например (като едно мое творение, която общо взето беше нещо като форма за контакт с претенции).
Така мислят даже от Майкрософт и затова в продуктите им открай време няма великденски яйца.

Code is Poetry - WordPress

Всичко това обаче не означава, че във вашата програма не може да има и помен от изобретателност или че ако я има, тя се простира до хитрото използване на алгоритъм, който е с две милисекунди по-бърз от този, които би се използвал традиционно за този вид действие.

Вярвам, че кодът действително трябва стриктно да следва правила и конвенции – може би други хора ще го четат някога, а може би след време и вие ще се опитвате да разберете какво, по дяволите, прави собственото ви творение. Творческата част идва, когато прочетете задачата си, която вие или някой друг ви е поставил и си кажете „Ей, аз това мога да го направя така“ и мисълта, която ви е осенила, ви се стори наистина прекрасна.

Може и да грешите, но нима победата в това да сгрешиш няколко пъти, за да успееш накрая, не е най-сладка?