Kreatori i alati: Aleksandar Ružičić, Appricot

Aleksandar nas upoznaje sa alatima koje koristi za editovanje koda, project management, komunikaciju, a tu su i predlozi pozadinske muzike za održavanje koncentracije

Marija Gavrilov - 26. Decembar, 2015.

Aleksandar Ružičić je Software Developer u beogradskom Appricotu. U poslednjih nekoliko meseci Aleksandar i njegov tim rade na razvijanju mesindžera za timove, Indigo, koji ulazi u konkurenciju Slacku.

Računar

Poslednjih par godina koristim isključivo laptop računare jer mi omogućuju lak rad od kuće i generalno van kancelarije. Trenutno, to je MacBook Pro (15-ica, sa „retina“ displejom) koji se pokazao kao jako dobra i izdržljiva mašina. Primarni operativni sistem mi je Windows (trenutno verzija 10, koju koristim još od prvih Windows Insider build-ova) i to je prva stvar koja je mnogima iznenađujuća kada im pomenem svoj setup ali meni Mac OS X jednostavno „ne leži“, na Windows-u sam mnogo produktivniji.

Jedina zamerka koju imam na korišćenje Windows-a na MacBook-u je kvalitet Apple-ovih Boot Camp drajvera koji su verujem namerno loše napisani. Na primer, podrške za multi-touch trackpad gesture nema u Boot Camp drajverima pa sam bio prinuđen da koristim third-party drajver Trackpad++ koji nije savršen, ali makar radi.

Mac OS X i dalje imam na računaru jer iOS i OSX aplikacije mogu samo na njemu da se kompajliraju pa sam prinuđen i njega da koristim povremeno. Pored računara neizostavni deo moje opreme čine i dva Dell-ova monitora od 27 i 24 inča (manji koristim u portrait modu i na njemu se uvek nalazi code editor) a od perfierija tu su Microsoft Natural Ergonomic Desktop 7000 set tastatura i miš kao i Sennheiser HD429 slušalice.

Razvojni alati

Za editovanje koda i dalje najčešće koristim Sublime Text 3 ali se polako prebacujem na Atom jer je po svemu sudeći razvoj na Sublime-u stao a i Atom je open source što je kod mene uvek veliki plus kada su razvojni alati u pitanju.

Tu je naravno i neizostavni Vim za situacije kada je potrebno odraditi nešto direktno na serveru (kao i za brze izmene fajlova iz komandne linije). Pored klasičnog editora koristim i Visual Studio IDE za razvoj u TypeScript , C# i (doduše ređe u poslednje vreme) C/C++ jezicima.

Veliki deo vremena provedem radeći u komandnoj liniji što na Windows-u ume da bude problem pa sam tokom godina uložio dosta truda isprobavajući razne kombinacije dodataka i shell okruženja da bih se na kraju skrasio sa Cmder-om kao console emulatorom i MSYS2 okruženjem koje mi omogućava da na Windowsu koristim standardne UNIX komande na koje sam navikao koristeći Linux, bez ikakvih slojeva emulacije (kao što je npr Cygwin).

Za verzionisanje koda već par godina koristim isključivo Git i to iz komandne linije, naravno uz veliki asortiman alijasa da olakšaju svakodnevnu upotrebu. Svi GUI klijenti koje sam probao su jednostavno bili neupotrebljivi za bilo šta osim za najosnovnije operacije (tu uključujem i razne Git integracije za Sublime Text i Visual Studio).

Aleksandar R

Browser

Kao primarni browser koristim Mozilla Firefox čiji sam verni korisnik još od vremena dok je nosio naziv Mozilla Firebird. Jedno kratko vreme sam koristio i Google Chrome jer je bio brži ali sam se ubrzo vratio na Firefox, a Chrome, Operu i Internet Explorer pokrećem samo kada je potrebno da nešto testiram u njima.

Ekstenzije koje koristim su Download Status Bar (prikazuje skinute fajlove slično kao Chrome), Adblock Edge (jer, ko voli reklame na internetu?), KeeFox (za password management), GitHub Notifier (olakšava mi da pratim dešavanja na raznim GitHub repo-ima i issue-ima koji su mi bitni zbog posla) i Sage (RSS/Atom feed reader).

Glavni search engine koji koristim je DuckDuckGo, a u poslednje vreme i jedini (Google koristim jako retko, a Bing samo na telefonu). Najveću prednost koju vidim kod DuckDuckGo-a je to što mi je zagarantovana privatnost (makar od strane pretraživača) o čemu većina ljudi, nažalost, ne vodi računa. Druga korisna stvar su tzv bang komande, odnosno mogućnost da sa npr !gh prefiksom pretragu izvršim direktno na GitHub-u (jako koristan je i !so za StackOverflow). Takođe, detaljnije isticanje prvog rezultata pretrage je jako korisno jer često informaciju dobijem odmah na strani sa rezultatima pretrage, ne moram da idem na pronađenu stranicu da bih saznao šta me interesuje.

Project management

U Appricot-u koristimo Atlassian-ove alate, što znači JIRA za task management, Confluence za dokumentaciju, Stash za code hosting i code review i Bamboo kao build server. Pored JIRA taskova za organizaciju koristim i to-do liste i to PlainTasks plugin za Sublime Text i OneNote za stvari koje želim da imam sinhronizovane sa telefonom.

Za lične projekte u poslednje vreme koristim GitLab za code hosting i issue management. Dok su ranije to bili Trello i (nekada davno) Trac.

Komunikacija

Za poslovnu komunikaciju koristim Indigo, naravno. Uz Indigo tu je i e-mail komunikacija za koju koristim Outlook, jer nisam našao bolje rešenje koje odgovara mojim potrebama (skoro 10 aktivnih e-mail adresa od kojih su neke na Exchange serverima, a samo dve na GMail-u).

Za ličnu komunikaciju tu su Skype i na telefonu uglavnom WhatsApp. Takođe koristim i HexChat za pristup IRC-u, najviše da bih bio u koraku sa dešavanjima na raznim open source projektima koji po pravilu na Freenode serverima imaju svoje zvanične IRC kanale.

Ostali alati

Ostali bitniji alati koje koristim su KeePass za password management (već pomenuta KeeFox ekstenzija za Firefox mi pruža integraciju KeePass-a sa browserom a CodeSafe Pro koristim da pristupim bazi passworda i ostalim osetljivim informacijama sa telefona).

Seafile za sinhronizaciju fajlova i bekap (na privatnom dedicated serveru, zarad veće privatnosti i kontrole) a uz njega i OneDrive za manje bitne stvari kao što su fotografije i razni dokumenti koji su mi potrebni i na telefonu. Takođe neretko koristim i Photoshop i Illustrator za doradu/seckanje grafike pa i njih uvek imam pri ruci.

Informisanje

Glavni izvor informacija mi je Reddit uz newlettere i RSS feedove sa nekoliko sajtova uglavnom iz oblasti programiranja (Dr.Dobb’s, Coding Horror i High Scalability su neki od njih). Kao i nekoliko grupa na Facebook-u iz raznih drugih oblasti.

Code

Programski jezici i tehnologije koje najviše koristim uključuju JavaScript (ES6+ sintaksa, zahvaljujući Babel-u), CSS/Sass, React/React Native, Node.js i Electron, dok za privatne projekte koristim još i C#, TypeScript i od skora eksperimentišem malo sa Rust-om kome predviđam jako svetlu budućnost.

Muzika

Dok radim uglavnom mi je bitno šta slušam i u zavisnosti od nivoa koncentracije koju određeni problem zahteva ili ću pustiti neku pozadinsku „muziku“ na Noisli-u ili soundtrack iz nekog filma (Howard ShoreHans Zimmer i Ennio Moriccone su mi omiljeni filmski kompozitori). Takođe sam u poslednje vreme otkrio da mi progressive/psychedelic rock instrumentali prijaju dok programiram pa sve češće to slušam na poslu (usput otkrivam i relativno nove a svakako slabo poznate bendove koji se bave ovom vrstom muzike, kao što su, na primer, ukrajinski The Machine, čija numera Moons of Neptune mi je postala jedna od omiljenih pesama za rad).