Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Posts Tagged ‘Хакери

Як Garage48 допоміг мені нарешті почати проект

with 7 comments

Минулих вихідних я відвідав Garage48 – мені дуже сподобалось. Тому дуже вдячний Анастасії за те що повідомила і склала компанію, і компанії N-iX за те що надали можливість провести таку подію.

Що там було гарного?

Garage48 – це хакатон, слово що складено об’єднанням слів хакер і марафон. Тобто по суті мало б бути 48 годин програмування протягом вихідних.

В якомусь гаражі. Так, в тому місці де захід проводився (офіс компанії N-ix знаходиться на 7-му поверсі заводу Електрон), зліва від “сцени” була купка шин. Коли я мав нагоду поговорити з директором, я запитав чи то запас з євромайдану, чи аби створити гаражну атмосферу. Виявилось він просто літню гуму зберігає на роботі.

Garage48 придумали е-стонці. Е-стонія – дуже е-лектронна держава. А все тому що вони якось розробили скайп, їм сподобалось і вони вирішили спробувати зробити ще щось таке. Естонія невелика, всього лише 1.3 мільйона населення, але подушна кількість стартапів там чи не вища ніж в Каліфорнії. Окрім електронного уряду, відомі ще компанією Transferwise, яка здешевлює міжнародні перекази між різними валютами до одного євро, замість % обміну.

Garage48 естонці не тільки придумали, вони й проводили. Вони займались всією організацією, презентаціями і т.д. А так як це вже не перший хакатон – все було досить чітко. Єдиний мінус – це був мій перший хакатон такого роду, і тому я був не зовсім в курсі що головне не так писати код, як правильно подати ідею, і зорганізувати роботу. Наступного разу знатиму, що якщо є ідея – на хакатон треба приходити вже з командою. Або хоча б з менеджером. Або бути нормальним менеджером, що не так вже й просто. Треба мати people skills.

Ragnar Sass не надто вражений нашим демо. 😦

Що крім коду мені довелось робити? Ну спершу – презентувати свою ідею за 90 секунд одним слайдом. Добре що в мене вже є досвід публічних виступів. Досвід 90-секундних виступів тепер теж є. 🙂 Далі – знайти “співробітників”. І тепер я краще розумію як тяжко HR. Я вже готовий був до того що проект буде на .Net, або мікроконтролерах, але пощастило і таки знайшлась одна людина на Python. Далі – змусити їх робити те що я хочу, а не те що вони хочуть. І це при тому я їм ніяку зарплату не платив. Перший день і половину другого ми провели за суперечками про те що ми будемо робити. На щастя нікого звільняти не довелось, самі звільнились. А поки всі сперечались, одна людина зробила все за нас, почала Django проект, описала всі залежності, встановила всі бібліотеки і бекенд був готовий. Далі два фронтендщики зробили фронт-енд кілька разів.

А в ніч з суботи на неділю ми пішли на “тім-білдінг”. Хоча напевне раніше варто було. Можна було б звісно довше програмувати, але ж ми прийшли на хакатон також і заради розваги, тому цікаво було також познайомитись. Особливо тому що один з нашої команди, Алекс, який власне все й зробив, був з Донецька, але через те що їх офіс зі зрозумілих причин зараз не достатньо зручний для роботи – переїхав у рідне місто – Костянтинівку. І мало того що він крутий розробник, він ще й має футболку з логотипом The Pirate Bay і знає тексти Фліта і Тостера.

Тім-білдінг полягав просто в тому що ми сиділи на пиві в цілодобовому кафе “Цісар” на городоцькій біля церкви Анни. Ціни там дуже навіть помірні, але меню не відповідає можливостям кухні, тому треба додатково питати про наявність певних страв. А ще там була офіціантка, дуже добра, чим мені дуже сподобалась. Я навіть запросив її на танці, хоча вона звісно відмовилась. Чомусь 95% дівчат яких я запрошую на танці – відмовляються. Я напевне роблю щось неправильно, може не треба питати так прямо в лоб, а спочатку зайнятись якимись попередніми ласками бесідами, щоб вони були поступливіші? 🙂 Потім офіціантка напевне тому що не було чим зайнятись (то була десь 2:30) заспівала пісню сербською краще за Марію Шерифович. Так гарно заспівала що я аж закохався. Тільки от не бачив її відтоді, ніяк не можу на її зміну потрапити. Думаю якби вдягнувся нормально, вмився і побрився, мав би більші шанси її запросити.

Ліричний відступ закінчуємо, тепер до того що ми робили далі.

Після тім-білдінгу ми почали спроби інтегрувати фронтенд і бекенд і фіксити баги які виникали в процесі. Не всі встигли, але як виявилось – цього не потребувалось, потребувалось зробити гарне демо. І я не думав що це займе так багато часу. А ще, мене змушували двічі ходити на репетицію демо-презентації (на першу з яких ми спізнились бо не були в курсі). Демо мало тривати 180 секунд і його треба було багато разів пробувати, аби сказати все цікаво, пояснити важливість і корисність свого продукту і вкластись в час. На першій репетиції естонці сказали мені що спочатку треба сказати як мене звуть. Я спитав кого то обходить, але мені сказали що то важливо так само як і про що проект. А ще, що мені треба тримати зоровий контакт з аудиторію а не руки в кишенях.

Біля сусідньої до нашої кімнати свою презентацію репетирувала дівчина, команда якої зрештою отримала перше місце. Я домовився з нею про співпрацю, і ми одне одного засікали, критикували та вчились підтримувати зоровий контакт. То було трохи незручне, але досить цікаве заняття, думаю варто ще потренуватись на інших людях. Або як Віктор Суворов (пробачте, я не втримаюсь і вставлю ще ліричний відступ):

С глазами у меня хуже, чем с языком. У меня есть опыт из Спецназа смотреть в глаза собакам. Но тут этого недостаточно. Нас тренируют с зеркалом: смотри в глаза, не моргай. Не отводи взгляд. Если хочешь завербовать человека, ты должен прежде всего выдержать взгляд. Дружба начинается с улыбки, вербовка – со взгляда. Если ты не выдержал первый тяжелый взгляд своего собеседника-то и не пытайся потом его вербовать: психически он сильнее. Он не поддастся.

Я выхожу на станции метро “Краснопресненская” и иду в зоопарк. Если у вас та же проблема, то приходите к закрытию – вам никто не помешает. Я смотрю в глаза тиграм, леопардам, Я направляю свою волю, я сжимаю челюсти.
Неподвижные желтые глаза хищника расплываются передо мной. Я сильнее сжимаю кулаки, впиваясь ногтями в ладони. Глаза нужно осторожно сощуривать и вновь медленно-медленно широко раскрывать, так можно не моргать. Глаза режет, наворачиваются слезы. Еще мгновение – и я моргнул. Огромная ленивая рыжая кошка презрительно улыбается мне и отворачивает разочарованно морду: слаб ты, Суворов, со мной состязаться.

Ничего, кошка. Я настойчивый. Я приду сюда в следующее воскресенье. И в следующее. И потом еще. Я – настойчивый.

В кінцевому результаті вийшло як завжди – розмахував руками або тримав їх в кишенях і дивився в підлогу. Відео виступу

Ще, нам пощастило мати в команді маркетолога, і організатори казали що це теж дуже важливо. Можливо варто було довірити презентацію їй, а самому зайнятись кодом, але знову ж таки – менеджмент був поганий, і пояснити ідею, про яку думав протягом кількох місяців простіше самому.

Після хакатону залишається проблема підтримки цього всього. 48 годин – за вихідні – це гарний копняк для того щоб ідея почала рухатись, бо це навіть більше ніж робочий тиждень. Це як робочий тиждень з суботою. Навіть якщо ми не ввесь час працювали. Проблема в тому що ми використали python2, а я щиро вболіваю за python3, на якому вже є купа можливостей писати. І що хостинг позичений на Azure, а переносити – довго, бо залежностей багато, і деякі такі – в назві яких я навіть слова не знаю:

django-annoying==0.8.4
django-wysiwyg-redactor==0.4.2.1
django-formtools==1.0
django-flat-theme==1.1.1
django-tastypie==0.12.2
django-location-field==1.6.1
django-cors-headers==1.1.0
django-sitemetrics==0.5.0

uwsgi==2.0.11.2
newrelic==2.56.0.42

Хоча я багато повикидав, тому що ніякого New Relic там не потрібно. І простори імен в проекті вийшли заглибокі. Взагалі він вийшов занадто ентерпрайзним, як на таку просту ідею. Але нічого, потрохи переробляю.

Ах, і найгірше, в нас головний select зроблений в python циклі. 🙂 Жахіття! Нічого, це теж перероблю. Біда от що я повністю нулячий в керуванні конфігурацією. Те що я пишу публікації про docker, Vagrant, (про fabric бракує) – означає тільки те що я час від часу роблю спроби там освоїтись.

А ще, думаю, може б то open source? З одно боку, якщо ідея злетить, було б шкода давати конкурентам можливість обігнати нас, а з іншого боку – мало хто вірить в таку ідею крім мене.

Поки що живий сервер можна спостерігати за адресою http://46.101.226.138/. Не знаю наскільки довго.

Одним словом, ми не виграли, але головне не перемога, а участь, а ця участь окрім втоми дала дуже багато – весело проведений час, мотивацію робити щось далі, без ілюзії про те що це буде легко, і купу нових знань і досвіду.

Якщо буде ще одне таке подібне – обов’язково піду. А поки що попереду LvivPy #5 та Django girls Хмельницький. І хоча я не дівчина та погано знаю Django, але в мене в дипломі написано що я можу викладати (здається), тому я спробую викладати.

See you!

Advertisements

Written by bunyk

Листопад 18, 2015 at 00:50

Оприлюднено в Нещоденник

Tagged with , ,

Герої комп’ютерної революції: Хакерська етика

with 3 comments

Вирішив зробити продовження перекладу книжки “Хакери – Герої комп’ютерної революції”, і опублікувати другий її розділ. Перший розділ, Клуб Технічного Моделювання Залізниці, вже давно можна знайти на моєму блозі.

Так як їх обидвох можна знайти на сайті Проекту Гутенберг. Ліцензія сайту.

Обкладинка хакерів

Обкладинка хакерів

Кембрідж: П’ятдесяті і шістдесяті

Розділ 2
Хакерська етика

Щось нове об’єднувалось навколо TX-0 – новий спосіб життя, з новою філософією, етикою та мрією.
Прочитати решту цього запису »

Written by bunyk

Червень 21, 2014 at 19:08

Оприлюднено в Передруки

Tagged with ,

Особистий захист особистих даних (oplop)

with 6 comments

Або, позбудьтесь втоми від паролів раз і назавжди (реклама в кінці). Це важлива проблема, і мені цікава також ваша думка, і способи її вирішення.

Пам’ятати багато паролів важко. Але куди подітись, якщо потрібно:
Прочитати решту цього запису »

Written by bunyk

Січень 12, 2012 at 23:54

Хакери дужкастих і не дуже мов

with 5 comments

Так, от, я дочитав “Coders at work” майже до кінця. Залишився тільки Кнут, і ще один. Книжка яких мало. Програміст бере інтерв’ю в програмістів (при чому відомих: два з них писали нетскейп, один з яких придумав JavaScript, ще один Erlang, ще один Хаскель, ще один регулярні вирази, ще один мову Smalltalk, і ще один Unix. А ще одна – жінка з премією Тюрінга).

Інтерв’ю бере журналіст, який якось раптом вирішив познайомитись з програмуванням, і так захопився що навіть написав книжку “Practical Common Lisp”. Відповідно він задає запитання, які нормальний журналіст би не здогадався задати, типу:

Як вам “грамотне програмування” Кнута?
За якими критеріями ви вирішуєте чи брати на роботу людину після співбесіди?
Що вам подобається в програмуванні, чому ви обрали свою галузь, і як ви того навчились?
Ви для зневадження використовуєте print чи інтерактивний зневадник?
Ви проектуєте зверху вниз, чи знизу вверх?
Вам подобається система коли код має власника, чи коли кожен може змінювати код всіх інших?
Ви пробували формальні методи? Контрактне програмування? Автоматичне доведення коректності?

І розглядаються важливі проблеми, як от, чому закон Мура не працює в програмному забезпеченні, чому університети відірвані від потреб індустрії (бачте, на заході ті ж проблеми), чим відрізняється програмування й мислення молодих і старих програмістів.

Так от там є кілька речей які мені особливо запам’ятались.

Прочитати решту цього запису »

Written by bunyk

Січень 3, 2012 at 01:53

Оприлюднено в Кодерство, Психософія

Tagged with , , ,

Орудування ліхтариком свідомості в битвах з драконами складності

with 4 comments

Нотатка на дві метафори. І запасайтесь батарейками!

На обкладинці класичної книжки про компілятори дракон символізує складність, про що на ньому й написано. Програміст озброєний генератором парсерів, та іншими грізними штуковинами, які допомагають йому побороти дракона.

Це перша метафора. А друга взята з перекрученої цитати: “Коли ми відмежовуємось від зовнішнього світу ліхтарик свідомості спрямовується всередину”. Так здається писав про медитацію Хофштадтер. Медитація в мене ще не виходила.

Але недавно, в “найкращого програміста в світі“, я вичитав ще одну цитату з “Code Complete” (за який очевидно варто взятись):
Прочитати решту цього запису »

Written by bunyk

Грудень 15, 2011 at 00:53

В підтримку культурного різноманіття

with 2 comments

І знову завдяки Джоелу який розповідав про програмування буде нотатка. Цього разу про толерантність і стосунки між інтернет-спільнотами.

Єдина причина через яку Microsoft не роздає свої засоби розробки безкоштовно – аби не перекрити кисень іншим виробникам IDE, бо розуміє яке важливе для розробників різноманіття в цій області.
Джоел Спольський

Джоел пояснює причину постійних жорстоких суперечок програмістів навколо своїх технологій. Все від того що вони зазвичай до такої міри складні, що вивчити кожен повністю неможливо, а відповідно вони один одного ніколи не зрозуміють повністю.

Зручність використання кожного інструмента залежить від кількості його користувачів в вашому соціальному колі (чим більша спільнота, тим краща підтримка від спільноти і легше її отримати). Таким чином виникає мережний ефект. І тому кожен учасник спільноти хоче залучити в свою “секту” якомога більше інших учасників. І взагалі є дуже багато ігор, в яких всі тільки й кажуть “ви виграєте, якщо приймете нашу стратегію”. І це може бути правдою для будь-якої стратегії.

І ще трохи про холівари. Звісно вони при достатній тривалості скорочуються до вияснення хто ідіот, і що сам Гітлер схвалював розробку під .Net. Психологічні причини цього ще варто вияснити. Ще Мерфі здається писав про те, що якщо хочете людину в чомусь переконати – намагайтесь зробити це так, щоб вона ніяким чином не запідозрила що ви знаєте що вона думала неправильно. Наефективніше – зробити inception.

Але зазвичай холівари ведуться не так, і не на ті теми. Фалометрія це круто – це вершина піраміди потреб, і кожен благородний чоловік повинен бути гідно представленим… Мене кудись заносить. Отож, суперечки зазвичай ведуться навколо того що зроблено “правильно”, а що ні. Насправді хвалитись треба не правильністю розробки – а результатами – тими пікселями/буквами які користувач побачить на екрані, і довжини серії клавіш необхідної йому щоб отримати ці результати.

Недавно прочитав цікаву штуку про виховання дітей. Є дві дитини. Обидві дитини розв’язали якусь задачу. І одній дитині сказали – “Який ти розумний!”. Іншій дитині сказали – “молодець, чудово попрацював!”. Коли наступного разу цим дітям запропонували на вибір кілька задач, розумна дитина вибрала легшу, аби невдачею не підірвати свій статус розумної, а інша дитина вибрала важчу задачу, бо їй натякнули що головне не який ти розумний, а чого ти хочеш і можеш добитись. А люди, навіть в інтернеті, не сильно відрізняються від дітей.

Ніщо в світі не зроблено ідеально, бо по-перше все в світі зроблено людьми, які за визначенням помиляються. По-друге, ідеальне на те і ідеальне, аби існувати в Платонівському світі ідей.

Тому, яким би кривим не було навіть третє ядро Лінукса (наприклад порівняно з Plan 9), і скільки в ньому б не було зайвої зворотньої сумісності – нікуди ми від нього не подінемось, бо в нього вкладено стільки праці, що навіть Microsoft не снилось. І навіть той же Plan 9 неправильний, тому що він реально існує.

А ще іноді критика чужих технологій виникає від того, що людина наткнулась на перші підводні камені, і вирішила повернутись в знайомі води, думаючи що там далі суцільна мілина, хоча це не завжди так.

Я якось вичитав про Есперанто, що на певному етапі вивчення мови з’явиться бажання її виправити, замінити правила, внести якесь вдосконалення. Ну, мова і так штучна, чому б і ні? Ні! Мова вже жива, і нею користуються мільйони людей. Тому перестаньте нити про недоліки, і вчіть далі. Якщо думаєте що можете вкласти більше зусиль – вкладайте і зробіть світ кращим, чому б ні.

І цікава особливість блогера. Іноді найкращі ідеї (може взагалі не мої, але від того вони не подобаються мені менше) приходять мені в голову коли до текстового редактора взагалі нема доступу. От цей пост я починав писати в робочому блокнотику дочитавши книжку Джоела Спольски недільного вечора в поїзді Івано-Франківськ – Київ. Плюси блокнотика в тому, що він куди надійніший за всякі там штуки які потребують акумуляторів, і має найзручніший метод вводу як на девайс такої компактності. Правда клавіатура все одно краща.

Друга цікава особливість цього поста в тому, що він пишеться в Emacs. Загалом – редактор як редактор, навіть простіший за Vim, бо немає ніяких режимів. Тільки от зберігання по C-x C-s, а вихід по C-x C-c. Ось так просто.

Третя цікава особливість – вже 11 днів пройшло відколи я його почав писати. Все ніяк не можу опублікувати бо він занадто заплутаний. Але я не Вітгенштайн, який може написати трактат лише з семи тез з зауваженнями до цих тез і з зауваженнями до зауважень (хоча іноді так роблю (але ж це напевне заплутує ще більше (всіх крім лісперів напевне (може дочитати SICP, і після цього я й Трактат подужаю?)))). І мені важко мовчати про те чого не можна сказати, тому я не мовчу.

Коротка мораль тексту: замість того щоб розказувати яке щось лайно – треба просто старатись показати який ви молодець. Будьте позитивними, бо світ і без того занадто складний.

Written by bunyk

Листопад 11, 2011 at 01:13

Студенте – задумайся!

with 13 comments

Я вже майже зав’язав з університетом, але забув зробити головне, що зробили всі “нормальні” люди:

Лінус Торвальдс
народився в 1969 (42 роки),
почав писати Лінукс в 1991
коли йому було 22 роки, будучи ще студентом.

Джон Кармак
народився в 1970 (41 рік),
винайшов і почав писати FPS (Wolfenstein 3D) в 1990,
коли йому було 20 років,
вчився два семестри, потім забив і почав кодити в своє задоволення.
Що не заважало йому придумати Binary Space Partitioning і інший матан.

Бред Фіцпатрік
народився в 1980 (31 рік),
почав писати ЖЖ в 1999,
коли йому було 19 років, будучи ще студентом.
Розібрався з високонагруженими системами ще коли в інтернеті майже нікого не було, і тепер його memcached пом’якшує навантаження на бекенд на кожному ресурсі, якому не соромно за свою відвідуваність.

Марк Цукерберг
народився в 1984 (27 років),
почав писати Facebook в 2004,
коли йому було 20 років, будучи ще студентом.

Маю ще десять місяців щоб зробити щось, аби потім не довелось казати “Лінус в моєму віці вже… 😦 ”

Ви теж думайте що робите, потім часу вже не буде.

P.P.S. Загрузив собі книжку Coders at Work, може натхнення прийде. 🙂

Written by bunyk

Листопад 3, 2011 at 00:23

Оприлюднено в Всяке, Нещоденник

Tagged with ,