Хакерская школа
Что такое хакерская школа?
Хакерская школа (сейчас называется Рекурсивный центр) — это трехмесячный ретрит для программистов и людей, интересующихся программированием. Школа — это этаж офисного здания в нижнем Манхэттене с рядом столов, идущих по всей длине комнаты, окруженных офисными стульями. Вдоль комнаты расположено несколько небольших переговорных комнат, каждая из которых помечена именем важного участника компьютерного мира, например Бэббиджа, Черча, Лавлейса, Тьюринга и Хоппера.
Я использую слово «школа» вольно, это не совсем подходящее название для того, что здесь происходит.
Нет ни классов, ни (явных) учителей, ни заданий, ни домашних заданий. Вместо этого кафедры Хакерской школы заполнены людьми, способными к самоопределению; люди, которые, предоставленные сами себе, учатся сами. И исследовать сложные концепции. И строить вещи для удовольствия.
Канал подачи заявок и приемки для школы хакеров фильтрует такое мышление. Несмотря на то, что существует фильтр, позволяющий убедиться, что люди знают хотя бы некоторые основы программирования (включая написание FizzBuzz на любимом языке и онлайн-интервью по парному программированию), этот процесс также действительно ищет людей, стремящихся учиться и исследовать для себя. ради этого.
В результате окружающие меня люди имеют разное происхождение (и возрастные группы). Оглядываясь вокруг, я вижу людей со степенью бакалавра в области компьютерных наук, докторской степенью в области компьютерных наук, несколько человек с опытом работы в области физики, статистики, микробиологии и социологии. Некоторые из нас раньше работали в индустрии программного обеспечения, некоторые учатся в аспирантуре, некоторые никогда не учились в колледже, а у некоторых даже есть дети. Все мы либо сидим перед собственным ноутбуком, либо смотрим на соседей, и всем нам нравится учиться ради этого.
Hacker School на самом деле совсем не похожа на Fullstack Academy, Dev Bootcamp или App Academy. В то время как эти программы в основном ориентированы на программирование от нуля до шестидесяти — привлечение людей, их ускорение с заданным стеком разработки, а затем выход за дверь — школа хакеров ориентирована на то, чтобы дать людям с некоторым уровнем опыта пространство для игры. и исследовать без структуры.
Каждое утро в 10:30 проходит регистрация, во время которой мы еженедельно разбиваем группы по принципу «выбери себе» по маленьким комнатам и ходим по кругу, рассказывая о том, что мы сделали накануне, и что мы планируем сделать в электрический ток. Это немного похоже на схватку для тех, кто этим занимался. Это, вероятно, самая структурированная школа хакеров, и если вы пропустите регистрацию, никто не привлечет вас к ответственности.
Также регулярно проводятся семинары и мастер-классы, проводимые как школьниками-хакерами, так и еще 6 постоянными «фасилитаторами», которые руководят организацией. Семинары основаны на интересе и опыте, где те, у кого есть второе, могут передать информацию тем, у кого есть только первое.
Хакерская школа: никогда не заканчивай.
Опыт как целое
Прошло четыре недели, и я не могу не подчеркнуть, насколько великолепна эта программа. Вот каким должен быть университет. Я узнал здесь больше за 4 недели, чем за целые семестры бакалавриата, как из-за явной направленности, так и из-за прекрасного отсутствия структуры. Возникает интересный эффект, когда в комнате около 60 человек работают над проектами, хотя бы отдаленно связанными с программированием. Когда я отвлекаюсь, я почти черпаю энергию из окружающих меня людей. Конечно, я могу добиться этой ясности, если буду задавать вопросы и получать помощь, а также выпутываться из того, в чем я застрял. Я также могу восстанавливать фокус более тонким способом, через вибрации чистой концентрации в комнате. Может быть, я тусовался не с теми группами в колледже (я сомневаюсь в этом, по отношению к моим приятелям из Пердью), но я никогда не помню, чтобы меня окружало столько людей, настолько поглощенных и увлеченных своей работой.
Некоторым нынешним и бывшим школьникам хакеров тяжело приходится из-за отсутствия структуры. В целом мы, как современные люди, настолько привыкли к структуре, навязанной школьной системой или нашими офисами, что, предоставленные самим себе, не можем действовать самостоятельно или генерировать фокус и направление. Некоторые говорят, что первую треть Hacker School они провели в плавании, переходя от проекта к проекту, в каком-то смысле мысленно приближаясь к полной свободе, которую дает Hacker School. Не будет преувеличением сказать, что даже в этом плавающем случае время, якобы потраченное впустую, было потрачено с пользой, как необходимая плата за время, необходимое для того, чтобы раскрутить свою способность работать в такого рода неструктурированной среде. В некотором смысле, это придает сил.
Проекты, над которыми я работал
Реализация Traceroute в python. Я сделал это наполовину для развлечения, а наполовину в честь моего бывшего друга, школьного хакера, который также внедрил traceroute и через которого я узнал о школе хакеров. Гитхаб.
Учебник Haskell. Несколько дней я занимался изучением Haskell, изучая первые несколько глав широко известного курса CIS-194, который вел Брент Йорги. #haskell от Freenode указал мне прямо на этот курс, когда меня спросили об учебных ресурсах, в частности, о весеннем 2013 году, на который я дал ссылку. Есть отличная страница здесь с дополнительными учебными ресурсами для Haskell.
Обмен ключами Диффи Хеллмана, обобщенный для n-участников, в Scala. Это алгоритм обмена секретным ключом, используемый в SSH, а также во многих других безопасных приложениях. Реализовано как упражнение в изучении как Scala, так и более крипто Github.
GoScore, проект приложения для iOS, использующий OpenCV для подсчета очков в настольной игре Go. Swift, соединенный через Objective C с C++, удивительно сложен. В своем текущем состоянии приложение достаточно хорошо обнаруживает круги, но мы (я и еще один школьник-хакер) решили, что это неправильный/слишком сложный способ сделать это. Этот проект находится на втором плане, пока я набираюсь смелости, чтобы снова заняться рефакторингом и решением OpenCV. Гитхаб.
Rhythmic, музыкальный проигрыватель альбомов на Scala. Обычно я слушаю музыку целыми альбомами, а музыкальные плееры, как правило, больше ориентированы на отдельные треки. Это эксперимент по созданию музыкального проигрывателя, ориентированного на альбомы, с чистым пользовательским интерфейсом с большим количеством художественных работ. Гитхаб.
Первоначально опубликовано на vsinha.com 11 марта 2015 г.