Index: ntent/posts/dobryakov.sxml
===================================================================
--- content/posts/dobryakov.sxml	(revision 0ec459ed3f66bb191fdc2244fbff42c85bda3553)
+++ 	(revision )
@@ -1,284 +1,0 @@
-;;; -*- scheme -*-
-
-(use-modules (haunt utils))
-
-`((title . "Григорий Добряков об устройстве на работу")
-  (date . ,(string->date* "2019-03-20 12:00"))
-  (tags "Выдержка" "Hexlet" "Найм")
-  (summary . "Григорий Добряков провел вебинар с заголовком «Как
-составить резюме мечты и пройти собеседование».")
-  
-  (content
-
-   (p "Григорий Добряков провел вебинар с заголовком «Как составить
-резюме мечты и пройти собеседование». Вебинар показали на
-YouTube-канале " (a (@ (href "https://hexlet.io")) "Хекслет") ",
-онлайн-площадке, обучающей программированию.")
-
-   (p (a (@ (href "https://www.dobryakov.com/")) "Григорий
-Добряков") " — Project Manager с 20-летним стажем. Он собеседует,
-нанимает и руководит людьми. Он рассказывает о том, как составлять
-резюме, что делать на собеседовании и как влиться в коллектив.")
-
-;;; Webinar
-   (p (@ (class "video"))
-      (iframe
-       (@ (src "https://youtube.com/embed/lJiWvv5Krbk"))))
-
-   (p "Далее представляю запись его ключевых идей. Некоторые идеи могут быть
-искажены моей редактурой, но в целом всё в том или ином виде есть в
-записи.")
-
-   (h3 "Что писать в резюме")
-
-   (p "Пишите ваше желания, к чему вы стремитесь. Так вы выделитесь
-среди большинства. Унылое резюме — это резюме, где указано только то,
-что ты умеешь делать.")
-
-   (p "Укажите ту область, в которой вам интересно работать. Например
-интернет-магазин, развлекательный проект, ритейл, геймдев и так
-далее. Таким образом вы отсеете людей, у которых явно не то что вам
-надо. Вы сэкономите время.")
-
-   (p "Если у вас есть релевантное образование, то указывайте и
-его. Если вы учились профессии, которая никак не связана с желаемой
-работой, то не стоит.")
-
-   (p "Также не забудьте:")
-
-   (ul
-    (li "Ссылку на Github")
-    (li "Готовность к релокейту")
-    (li "Возраст")
-    (li "Контакты")
-    (li "Желаемая ЗП")
-    (li "Опыт работы в компаниях и проекты"))
-
-   (p "Что касается размеров, в США стандарт — 1-2 страницы, в Европе
-2 страницы. В целом короткие резюме лучше, потому что читать все
-леняться.")
-
-   (h3 "Как писать о предыдущей работе")
-
-   (p "Дайте краткое описание о сфере деятельности компании и ее
-размере. Размер можно указать в количестве юзеров, продуктов или
-доходе компании. Люди, которые смотрят ваше резюме, не пойдут гуглить
-и узнавать информацию.")
-
-   (p "Укажите вашу роль в организации и сферу вашей
-ответственности. Что происходило в бизнесе благодаря вашей
-работе. Когда ваше резюме читают, ваши предыдущие действия хотят
-сопоставить с тем какие цели стоят у компании сейчас.")
-
-   (p "Вас нанимают не для того, чтобы писать код, а для того, чтобы
-решать бизнес-задачи. Потому никогда не пишите просто списки рутинных
-задач вроде “исправлял баги” и “делал фичи”. Пишите о пользе
-бизнесу.")
-
-   (h3 "Стоит ли указывать различные курсы")
-
-   (p" Обязательно указывайте, что вы учитесь, что вы читаете книги,
-что вы интересуетесь, потому что ленивых жоп в мире очень
-много. Самообучение — это очень мощный драйвер для того, чтобы вас
-выделить среди толпы.")
-
-   (h3 "Кто кого выбирает при найме")
-
-   (p "Найм — двусторонний процесс с небольшим дисбалансом в
-зависимости от того джун вы или нет. Необходимо выбирать
-компанию-работодателя также тщательно как выбирают вас. Вас исследуют
-при найме и вы исследуйте. Например вы можете узнать юридические
-данные компании, чтобы понять все ли с ней в порядке.")
-
-   (h3 "Что происходит на стороне работодателя при получении резюме")
-
-   (p "Самая главная ошибка — думать, что на стороне заказчика есть
-какой-то хорошо отлаженный конвейер, через который проходит каждое
-резюме. В большинстве компаний HR по тем или иным причинам не
-обрабатывает все резюме, потому при отправке учитывайте, что ваше
-резюме может быть просто не прочитано. Если вам не ответили, это не
-значит, что у вас неподходящая квалификация или плохое резюме.")
-   
-   (h3 "Когда обновлять резюме")
-
-   (p "Резюме надо обновлять не в тот момент, когда вы запарились на
-текущей работе, а в тот день, что вы пришли на новую работу. Это нужно
-для фиксации активностей, достижений и стека технологий. По мере роста
-как специалиста этот список будет расширяться, держать все детали в
-голове станет сложно.")
-
-   (h3 "Узнайте об отношениях внутри команды")
-
-   (p "Вы можете попросить присоединить к собеседованию членов той
-команды, в которой вам предстоит работать, и их руководителя. Таким
-образом вы сможете узнать отношения руководства к
-подчиненным. Руководитель может прессовать и хамить, а может давать
-высказаться и прислушиваться к мнению подчиненных. Вы сможете
-спроецировать то, как этот человек в будущем будет общаться с
-вами. Привлекательные технологии и бонусы не стоят того, чтобы
-работать с плохим начальством.")
-
-   (h3 "Что делать если не умеешь себя презентовать")
-
-   (p "Чтобы себя презентовать, нужно быть в себе уверенным:")
-
-   (ul
-    (li "надо уметь себя ценить")
-    (li "надо понимать чего ты стоишь")
-    (li "надо понимать, что ты человек, а не винтик в чужой машине."))
-
-   (p "Нужно дать понять, что ты пришел поговорить. Ты пришел не
-просить о работе, ты не пришел из-за того, что тебе нечего есть. Ты
-пришел поговорить как равным с равным. Ты идешь на сделку,
-договариваться. Если тебя прессуют, если тебе говорят, что ты джун и
-ты не заслужил еще человеческого отношения, вставай - уходи.")
-
-   (h3 "Что насчет удаленной работы")
-
-   (p "Я считаю, что сейчас надо всем работать удаленно. Я сам работаю
-последние четыре года удаленно в качестве руководителя, консультанта
-или приглашаемого специалиста. Не стоит бояться удаленки.")
-
-   (p "Для удаленной работы надо быть дисциплинированным и дать
-работодателю понять, что вы можете работать в то время, которое
-обозначаете, что у вас есть рабочее место и вам никто не мешает, что
-над вами не нужно стоять над душой.")
-
-   (h3 "Почему вы ушли с предыдущего места работы")
-
-   (p "Единственная причина, по которой вы меняете работу — потому что
-вы захотели. Вы — хозяин своей жизни. Обозначайте уход с места работы,
-как позитивное подведение итогов. Даже если это не так, даже если
-начальник был полный дятел.")
-
-   (h3 "Методика STAR")
-
-   (p "Situation, Task, Action, Result. Эта методика для описания
-места работы.")
-
-   (p "Situation — это профессиональные ситуации, которые вы даете
-работодателю, чтобы он сравнил их с тем, что есть у него.")
-
-   (p "Task — это задачи, которые перед вами поставили. Допустим, есть
-кривое апи продукта, задача — сделать его хорошим.")
-
-   (p "Actions — это то, что вы предприняли для достижения
-   Task. Нельзя просто писать “Я кодил код”, “Я исправлял ошибки”, “Я
-   делал новые фичи”.")
-
-   (p "Result — это то, что поменялось в продукте, в бизнесе после
-   того как вы пришли и накодили.")
-
-   (p "Если вы используете STAR, вы описываете ситуацию в целом, ваш
-   опыт работы с точки зрения бизнеса. Это демонстрирует работодателю,
-   что вы осознанно подходите к делу и выполняете конкретные
-   бизнес-задачи.")
-
-   (h3 "Как планировать график собеседований")
-
-   (p "Если вы активно работаете над поиском работы, то у вас может
-быть по 2-3 собеседования в день. Существуют сервисы, которые
-облегчают организацию графика собеседований.")
-
-   (ul
-    (li (a (@ (href "https://youcanbook.me/")) "YouCanBookMe"))
-    (li (a (@ (href "https://calendly.com/")) "Calendly"))
-    (li (a (@ (href "https://doodle.com/")) "Doodle")))
-
-   (p "Эти сервисы позволяют гибко назначать время вместе с HR’ом. Вы
-кидаете ссылку, HR выбирает подходящее время. Эти сервисы
-интегрируются с Google Calendar.")
-
-   (p "Таким образом вы избегаете лишнего общения с уточнением деталей
-встреч.")
-
-   (h3 "Советы")
-
-   (h4 "Запись собеседований")
-
-   (p "Полезно делать записи skype-собеседований. Позже вы сможете их
-переслушать, пересмотреть, увидеть в себе какие-то недостатки и
-сделать необходимые выводы.  Уточняйте кто будет на собеседовании")
-
-   (p "Уточните имена тех, кто будет собеседовать. Зачем это нужно? Вы
-сможете прогуглить эти имена и выяснить чем они живут. Так будет легче
-найти точки соприкосновения.")
-
-   (p "Если не удалось выяснить имена, вы можете взять блокнот и
-записать имена уже непосредственно на собеседовании.")
-
-   (h4 "Процесс онбординга")
-
-   (p "Онбординг — процесс вовлечения сотрудника в проект. Спросите
-есть ли он, как и кто вам будет помогать вовлекаться в новый вид
-деятельности. В подавляющем большинстве мелких компаний процесс
-онбординга отсутствует.")
-   
-   (h4 "Узнайте о допустимом уровне самодеятельности")
-
-   (p "В некоторых компаниях программиста считают за человека, который
-должен делать только то, что ему говорят. В таких компаниях у вас
-скорее всего будет отсутствовать профессиональный рост. Это называется
-“нанять рабов на галеру и заставить грести”.")
-   
-   (h4 "Контактируйте с гуманитариями")
-
-   (p "К сожалению, многие программисты не любят гуманитариев,
-некоторые думают, что это существа с другой планеты. Контактируя с
-гуманитариями, вы сможете получать обратную связь с точки зрения
-бизнеса. То есть какой профит приносит бизнесу ваша деятельность,
-потому что именно это выгодно подавать в вашем резюме.")
-
-   (p "Недостаточно презентовать себя с технической точки зрения,
-необходимо помимо этого показывать работодателю какую конкретно пользу
-вы можете принести компании.")
-
-   (h4 "Помоги HR’у")
-
-   (p "HR’ы очень часто перегружены, им платят маленькие зарплаты, они
-испытывают давление от заказчика, другими словами находятся в
-постоянном стрессе. Они могут не понимать технических деталей вакансии
-и путать термины. Вы можете использовать это и помочь HR’у, подсказать
-термин, попросить подходящую вакансию. Обратная связь с HR окупится
-очень быстро.")
-
-   (h4 "Переработки")
-
-   (p "Вы — не раб, не прислуга, не любовница. Вы продаете 8 часов
-своего рабочего времени в обмен на деньги. Все, что вы хотите давать
-сверху этого — это жест доброй воли, а не обязанность. Вас не должно
-грызть чувство вины, если вы покидаете рабочее место вовремя без
-переработки. Работодатель просто выжмет все соки за сверхурочные часы
-и ничего не даст взамен.")
-
-   (p "Очень важно уметь заботиться и ценить себя. С точки зрения
-менеджмента, человек, который умеет заботиться о себе, ставить границы
-и говорить нет, более выгоден, потому что он может рассчитать свои
-силы и не покинет проект посередине. Человек же, который говорит, что
-готов работать сверхурочно, скорее всего в какой-то момент опустит
-руки.")
-
-   (h4 "Выгорание")
-
-   (p "Выгорание происходит когда ты занимаешься тем, чем не
-хочешь. По-моему мнению, почва для выгорания — это недостаток
-осознанности своего “Я”, своих личных глубоких потребностей. Чтобы
-предотвратить выгорание, вам нужно научиться уважать себя и уметь
-говорить “нет”.")
-
-   (p "Не пытайтесь бороться народными средствами. Не надо пить,
-уходить в отпуск на год и так далее. Это не работает. Если вам это
-помогло, то это не выгорание, а усталость.")
-
-   (p "Выгорание — это медицинское явление, гормональный сбой, который
-происходит в голове. Желательно сходить к врачу. Этот недуг
-исправляется только таблетками.")
-
-   (p "Если вы не преступаете себя, свои интересы и моральные
-принципы, то у вас не будет выгорания.")
-
-   (h3 "Заключение")
-
-   (p "Спасибо Григорию и команде Хекслета за вебинар. Большая часть
-стрима была посвещена ответам на вопросы зрителей, которые не попали в
-эту выдержку. Они повторялись и были слишком короткими.")))
Index: ntent/posts/libreboot-x200t.sxml
===================================================================
--- content/posts/libreboot-x200t.sxml	(revision 0ec459ed3f66bb191fdc2244fbff42c85bda3553)
+++ 	(revision )
@@ -1,287 +1,0 @@
-;;; -*- scheme -*-
-
-(use-modules (haunt utils))
-
-`((title . "Libreboot X200T")
-  (date . ,(string->date* "2019-03-17 12:00"))
-  (tags "Железо")
-  (summary . "Ноутбук с свободным BIOS")
-  
-  (content
-   
-   ((p "Вот уже несколько месяцев я использую x200t в качестве
-основной рабочей машины. Этот ноутбук убивает желание иметь дома
-настольный комьпютер и учит ценить ограниченный вычислительный
-ресурс. После покупки я полностью отказался от использования мыши. Его
-удобно таскать с собой, он быстро загружается и держит заряд 4 часа.")
-
-    (h3 "Libreboot")
-
-    (p "Libreboot — свободная альтернатива BIOS и UEFI. Многие любят
-свободный софт, но исторически сложилось так, что программы,
-отвечающие за инициализацию системы полностью закрыты.")
-
-    (p "Активисты свободного ПО создали открытую реализацию BIOS /
-UEFI, которая помимо того, что открыта для всех желающих и расширяема,
-так еще работает быстрее встроенных закрытых систем. Одна из таких
-реализаций называется Coreboot, она содержит проприоритарные блобы от
-производителей железа, а Libreboot является версией Coreboot без
-блобов и входит в проект GNU. Libreboot не является форком Coreboot,
-это отдельная поставка Coreboot.")
-
-    ;;; Leah Rowe about Libreboot
-    (p (@ (class "video"))
-       (iframe
-        (@ (src "https://youtube.com/embed/W1ta--tHenE"))))
-
-    (p "Libreboot был создан Leah Rowe. Он несколько раз выступал с
-докладами про свое детище.")
-
-    (h3 "Чем закрытые системы опасны")
-
-    (p "Используя закрытый софт, люди доверяют целиком и полностью
-производителю, на его совести безопасность и функционал
-системы. Эксплуатация подобной системы напоминает ящик пандоры, мы
-знаем, что система должна делать, но не уверены, что она делает именно
-то, что необходимо и только то, что необходимо.")
-
-    (p "Начиная с 2008 года Intel начала встраивать подсистему Intel
-ME в чипсеты. А AMD с 2013 года начала встраивать AMD PSP в свои. Эти
-обе подсистемы действует примерно одинаково, они созданы для
-мониторинга работы процессора, они автономны, они закрыты, их нельзя
-выключить. В этих системах всплывают дыры в безопасности, которые
-может исправить только сам производитель.")
-
-    (p "Libreboot позволяет избавиться от этих подсистем, но работает
-он на " (a (@ (href "https://libreboot.org/docs/hardware/")) "очень
-ограниченном ряде устройств") " и требует использования программатора,
-внешнего устройства для записи данных в BIOS. Только Thinkpad T60
-позволяет прошить Libreboot, используя программные средства.")
-
-    (h3 "Ноутбук")
-
-    (p (a (@ (href "https://minifree.org/product/libreboot-x200-tablet/")) "Libreboot
-X200T") " — это восстановленный ThinkPad X200T с прошитым на Libreboot
-BIOS. Помимо этого в нем заменена сетевая карта для совместимости с
-открытыми драйверами. ThinkPad известен своей надежностью и
-модульностью. Суффикс T в конце обозначает, что это Tablet версия
-ноутбука, здесь IPS монитор от Wacom, когда в X200 обычный TFT, и
-сенсорный экран, который можно разворачивать на 180 градусов и делать
-из ноутбука планшет.")
-
-    (p "Несмотря на то, что данная модель вышла в 2009 году, она
-пригодна для использования даже спустя 10 лет. Geoff
-Greer " (a (@ (href "https://geoff.greer.fm/2017/01/23/oldest-viable-laptop/")) "называет")
-" ThinkPad X60 - самой старой моделью ноутбука, которым можно
-пользовать и по сей день. Это другой ноутбук, он вышел еще раньше чем
-x200t. Его
-пост " (a (@ (href "https://news.ycombinator.com/item?id=19246406")) "запустил
-ветку обсуждений на HackerNews")", в котором комментаторы делятся
-своим опытом использования старых машин в настоящее время.")
-
-    (h3 "Характеристики")
-
-    (table
-     (thead
-      (tr
-       (th "Комплектующие")
-       (th "Описание")))
-     (tbody
-      (tr
-       (td "CPU")
-       (td "Intel Core 2 Duo SL9400"))
-      (tr
-       (td "GPU")
-       (td "Intel GMA 4500MHD"))
-      (tr
-       (td "Screen")
-       (td "12.1″ 1280×800 TFT LCD (IPS panel)"))
-      (tr
-       (td "LAN")
-       (td "Gigabit ethernet as standard"))
-      (tr
-       (td "Ports")
-       (td "1x VGA, 3x USB 2.0, 1x Headphone, 1x Microphone, 1x
-Gigabit Ethernet, 1x ExpressCard/54"))
-      (tr
-       (td "WIFI")
-       (td "Upgraded with an 802.11n wireless card (Atheros AR5B95,
-AR9285 chipset), ensuring full compatibility with free drivers in
-GNU+Linux."))))
-
-    (p "Я использую GNU/Debian, Ratpoison, Emacs и Firefox, эта связка
-ест не больше 1GB RAM при обычном использование и не больше 2GB при
-разработке. Видеочип позволяет без труда выводить FullHD на внешний
-монитор. А процессорной мощности вполне хватает, чтобы компилировать
-программы и манипулировать текстом в редакторе. Нехватку ресурсов
-скорее всего почувствуют люди, которым нужно редактировать видео или
-работать с 3D.")
-
-    (p "Возможно данный воркфлоу подойдет не всем, а ограничение
-ресурсов станет решающим фактором для отказа от использования
-устройства.")
-
-    (h3 "Преимущества")
-
-    (ul
-     (li
-      (h4 "Прочный")
-      (p "Корпус сделан из прочного пластика, имеющий магниевый
-каркас. Ноутбук дольше служит и меньше подвержен внешним
-разрушениям. Если загуглить “Thinkpad Torture Test”, то найдете видео,
-где люди тщетно пытаются вывести ноутбук из строя."))
-     (li
-      (h4 "Модульный")
-      (p "ThinkPad’ы в разы легче чинить чем монолитных современников
-вроде MacBook. До некоторых комплектующих можно добраться, не разбирая
-весь ноутбук благодаря удобному делению на сектора."))
-     (li
-      (h4 "Док-станция")
-      (p "Ноутбук имеет док-станцию, в которой содержатся
-дополнительные порты, dvd-привод или дополнительные накопители. Ее
-удобно использовать, если часто таскать ноутбук с собой, приходя
-домой, вам не нужно переподключать тонну кабелей, вставили в док и все
-работает. Представьте Nintendo Switch."))
-     (li
-      (h4 "Совместимость с Unix")
-      (p "Ноутбук позволяет без проблем установить и использовать
-UNIX-совместимые операционные системы. Необходимые драйвера либо уже в
-ядре, либо лежат в открытом доступе."))
-     (li
-      (h4 "Trackpoint")
-      (p "Также известен как “клитор”. Это
-резиновый манипулятор, заменяющий мышь, который находится между
-клавишами “G”, “H” и “B”. Убирает усталость рук из-за вечного
-переключения между мышью и клавиатурой. После покупки я перестал
-использовать мышь вовсе, рекомендую попробовать работать только c
-TrackPoint.")
-      (img (@ (src /images/trackpoint.png))))
-     (li
-      (h4 "Клавиатура")
-      (p "Полноценная 7-строчная клавиатура. Ход клавиш не такой как у
-большинства ноутбучных клавиатур, нажать что-то случайно практически
-невозможно. Расположение клавиш немного изменено, но не так радикально
-как на MacBook’ах."))
-     (li
-      (h4 "Планшет")
-      (p "Экран от Wacom и стилус. Перо хранится прямо в корпусе
-ноутбука в специальном отсеке. Экран можно развернуть на 180 градусов
-и положить на клавиатуру. Скорее всего это самый дешевый вариант для
-“планшета с экраном”."))
-     (li
-      (h4 "Экран")
-      (p "В отличии от других Libreboot-моделей, X200T имеет IPS
-матрицу вместо TFT. Экран отлично передает цвета и не подвержен
-ШИМ’у. Хотя всего-лишь HD."))
-     (li
-      (h4 "Отсутствие тачпада")
-      (p "Только TrackPoint, никаких случайных задеваний
-тачпада. Впрочем на большинстве ThinkPad’ов тачпад присутствует."))
-     (li
-      (h4 "Тихий и холодный")
-      (p "Не шумит. Во всяком случае из библиотеки вас вряд ли
-прогонят, если начнете что-то компилировать. Куллер обеспечивает
-нужный сброс температуры. В простое +40°C, под нагрузкой максимум
-+70°C."))
-     (li
-      (h4 "Мобильность")
-      (p "Несмотря на толщину, сам ноутбук по ширине и длине не
-занимает много места. Легко брать с собой.")))
-
-    (h3 "Недостатки")
-
-    (ul
-     (li
-      (h4 "Нельзя редактировать поведение железа в биос")
-      (p "В качестве фронтенда Libreboot использует Grub. В нем
-отсутствует возможность изменения работы железа, только возможность
-выбрать с чего загружать систему."))
-     (li
-      (h4 "Батарея")
-      (p "Держит 4 часа, что по меркам современных ноутбуков
-мало. Батареи продают часто уже просевшие."))
-     (li
-      (h4 "Нет HDMI / DVI порта")
-      (p "На самом ноутбуке присутствует только VGA порт. В
-док-станции есть DisplayPort. Потому если используете внешний монитор
-и хотите цифровой сигнал, то придется приобрести док-станцию и
-переходник DisplayPort -> HDMI / DVI."))
-     (li
-      (h4 "Только Б/У")
-      (p "Так как производство данных ноутбуков уже давно закрыто, то
-его возможно приобрести только с рук. Из-за этого на ноутбуке могут
-присутствовать потертости и другие дефекты."))
-     (li
-      (h4 "Слабое железо")
-      (p "Для меня это не недостаток, но многие могут испытать
-трудности в эксплуатации. Часто приходится сталкиваться с жирным
-софтом, который очень нерационально тратит ресурсы компьютера, если
-такой софт перестать использовать, то проблем в использовании не
-возникнет.")))
-
-    (h3 "Где достать")
-
-    (p "Ноутбук можно достать на Б/У рынке, Авито, Юла, Ebay. Прошить
-Libreboot можно самому. Для самостоятельной прошивки вам понадобится
-программатор и инструкция по перепрошивке BIOS. Проблема в том, что
-эти два процесса сопряжены с рисками, да и в целом достаточно
-времязатратны, потому существуют организации, которые облегчают этот
-процесс.")
-
-    (p "Одна из таких организаций
-— " (a (@ (href "https://minifree.org/")) "MiniFree") ". MiniFree
-берет название из популярного романа антиутопии 1984 и
-расшифровывается как Ministry of Freedom (Министерство Свободы). Эта
-организация была основана главным разработчиком Libreboot, существует
-на его деньги и деньги с покупок ноутбуков. Помимо того, что Minifree
-прошивает Libreboot, магазин предлагает апгрейд RAM и накопителей.")
-
-    (p "Магазин принимает SWIFT-платежи и доставляет при помощи службы
-UPS. UPS — не самая хорошая служба доставки, особенно в РФ. В моем
-опыте ребята задержали заказ на несколько недель + мне пришлось
-заплатить дополнительную плату в размере ~1200 рублей за растаможню
-ноутбука. Но в конце концов всё пришло в целости и сохранности.")
-
-    (h3 "Другие модели")
-
-    (p "X200T достаточно дорогой, а на Б/У рынке еще достаточно
-редкий. Есть альтернативы для ноутбука с Libreboot.")
-
-    (p "Рассмотрите: "
-       (mark "x200") " "
-       (mark "t400") " "
-       (mark "x60") " "
-       (mark "t60"))
-
-    (p "Если вам необязательно наличие Libreboot, то рассмотрите: "
-       (mark "x220") " "
-       (mark "t410") " "
-       (mark "t420"))
-
-    ;;; Luke Smith about choosing Thinkpad
-    (p (@ (class "video"))
-       (iframe
-        (@ (src "https://youtube.com/embed/La3sb5y7e-k"))))
-
-    (h3 "Полезные ссылки")
-
-    (ul
-     (li (a (@ (href "https://libreboot.org/"))
-            "Свободный BIOS/UEFI Libreboot"))
-     (li (a (@ (href "https://libreboot.org/docs/hardware/#list-of-supported-hardware"))
-            "Список устройств с поддержкой Libreboot"))
-     (li (a (@ (href "https://minifree.org/"))
-            "Организация Minifree"))
-     (li (a (@ (href "https://www.truefla.me/free-stuff/used-thinkpad-buyers-guide"))
-            "Гайд по покупке Thinkpad"))
-     (li (a (@ (href "https://www.thinkwiki.org/wiki/ThinkWiki"))
-            "Thinkpad Wiki"))
-     (li (a (@ (href "https://ru.wikipedia.org/wiki/ThinkPad"))
-            "Статья на википедии"))
-     )
-
-    (h3 "Обновление")
-
-    (p "Сейчас (06.05.2019) я использую GNU/GuixSD, Emacs, EXWM (WM в emacs) и Icecat.")
-
-    )))
Index: ntent/posts/pirogov-o-fp.sxml
===================================================================
--- content/posts/pirogov-o-fp.sxml	(revision 0ec459ed3f66bb191fdc2244fbff42c85bda3553)
+++ 	(revision )
@@ -1,296 +1,0 @@
-;;; -*- scheme -*-
-
-(use-modules (haunt utils))
-
-`((title . "Алексей Пирогов про ФП")
-  (date . ,(string->date* "2019-03-22 12:00"))
-  (tags "Выдержка" "Hexlet" "ФП")
-  (summary . "Алексей Пирогов провел вебинар на тему «Функциональное
-программирование как парадигма: цели, способы, применимость».")
-  
-  (content
-
-   (p "Алексей Пирогов провел вебинар на тему «Функциональное
-программирование как парадигма: цели, способы, применимость». Вебинар
-был транслирован на YouTube-канале Hexlet, автоматизированной площадке
-обучающей программированию.")
-
-   (p "Алексей Пирогов — хаскеллист, в прошлом питонист. Недавно он
-пополнил ряды преподавателей Hexlet и теперь готовит курс по Python на
-этой площадке. Он сделал мини-курс
-на " (a (@ (href "https://code-basics.ru/languages/python")) "Code-Basics")
-". Имеет канал
-в " (a (@ (href "https://t.me/brain%5Fdump%5Fetc")) "Telegram") " и на "
-(a (@ (href "https://www.youtube.com/channel/UCXk1kxTjZwluYLyijyKVsAA")) "Youtube") ",
-а также он является соорганизатором " (a (@ (href "http://prog.msk.ru/")) "«Клуба Программистов в Москве»")
-". В " (a (@ (href "https://hexlet-ru.slack.com/")) "слак-канале
-Hexlet") " Алексея можно найти под ником @astynax.")
-
-;;; Webinar
-   (p (@ (class "video"))
-      (iframe
-       (@ (src "https://youtube.com/embed/0GX4JRAGEzc"))))
-
-   (p "Этот вебинар рассматривает тему обзорно. Он будет полезен тем,
-   кто не знает, что такое ФП и зачем оно существует или знает о нем
-   недостаточно много. Далее представляю набор ключевых идей с
-   трансляции. Информация в том или ином виде сказана на трансляции.")
-
-
-   (h3 "Что такое ФП")
-
-   (p (i "Функциональное программирование") " — это отделение чистого кода от
-   кода с побочными эффектами.")
-
-(p "Чистые функции похожи на функции из математики. Они возвращают
-   всегда один и тот же результат при одинаковых аргументах. Это их
-   главное свойство. Они не затрагивают все то, что находится за их
-   телом. Не пишут в консоль, не трогают БД, не генерят случайные
-   числа.")
-
-(p "Функция, которая оперирует с “внешним миром”, то есть вне
-   своего тела, производит " (i "побочные эффекты") ". Побочные эффекты,
-   они же сайд-эффекты, это как правило операции ввода-вывода, хождение в
-   сеть, диск. Эти операции возможно делать в небольших участках
-   программы, а логику описывать функционально.")
-
-(p "В языках с единственной доступной парадигмой функционального
-   программирования есть четкое разделение чистого кода от
-   нечистого. Такое разделение всячески поощряется. В большинстве языков
-   с элементами функционального программирования нельзя проверить
-   является ли функция чистой или нет.")
-
-(h3 "Ключевые свойства")
-
-(ul
- (li "Функции высшего порядка")
- (li "Иммутабельные структуры данных"))
-
-(p (i "Функции высшего порядка") " — возможность возвращать и передавать
-   функцию в качестве аргумента.")
-
-(p (i "Имутабельные структуры данных") " — данные, которые нельзя изменить
-   на уровне языка. Оперируя над такими данными, мы не можем изменить
-   саму структуру, а можем вернуть новую версию этой
-   структуры. Иммутабельные структуры данных реализованы везде
-   по-разному. В современных компиляторах они оптимизированы и работают
-   быстро.")
-
-(h3 "Чистый код просто:")
-
-(ul
- (li "Анализировать")
-
- (p "Самое важное свойство ФП — способность рассуждать о
-    функциях. Человеку легче оперировать с тем, что находится вблизи
-    него. В ФП легче держать весь контекст функции в голове. Не надо
-    думать о глобальных переменных, которые могут быть изменены после
-    вызова функции. Посмотрев тело функции, можно легко понять все, что с
-    ней происходит.")
-
- (li "Тестировать")
-
- (p "Тут все просто. Если мы знаем, что функция всегда возвращает
-    одинаковое значение при одинаковых аргументах — значит ее легче
-    тестировать. Не нужно учитывать внешний мир, от которого она может
-    зависеть.")
-
- (li "Переиспользовать")
-
- (p "Чистый код легко переиспользовать, потому что мы можем код
-    спокойно копировать. Он не зависит от контекста.")
-
- (li "Вычислять параллельно и/или конкурентно")
-
- (p "Большинство проблем при запуске параллельных функций связаны с
-    разделением данных, которые изменяются. Мы вынуждены делать семафоры,
-    локи и так далее, потому что у нас есть процессы, которые могут менять
-    общие данные произвольно.")
-
- (p "В чистых функциях, работающих с иммутабельными структурами
-    данных нет таких проблем. Мы можем отдать структуру десяти разным
-    процессам и они ее не смогут поменять."))
-
-(h3 "Удобно писать")
-
-(ul
- 
- (li "Компиляторы, парсеры, генераторы чего-либо")
-
- (li "Сложную логику, ложащуюся на DSL (Например Sigma)")
-
- (li "Высококонкурентный код (Например код на Erlang)")
-
- (li "GUI (Например React)"))
-
-(h3 "Как научиться")
-
-(p "Чтобы научиться настоящему ФП, нужно изучить Haskell.")
-
-(h3 "Почему Haskell?")
-
-(p "Haskell – чистый функциональный язык, который позволяет изучить
-   ФП как подход и писать идиоматический для ФП код. Есть другой вариант
-   для изучения, например Standart ML, но этот язык мертвый. Haskell же
-   хорош тем, что у него есть живое сообщество. Помимо этого Haskell —
-   статически-типизированный язык, который заодно научит интересному
-   подходу к типам, отличающегося от типов в других языках.")
-
-(p "Функциональное программирование можно изучить в вузе под
-   руководством преподавателя на каком-то другом языке, хоть на
-   Python. Но здесь потребуется именно преподаватель.")
-
-(p "Фишка брать функциональный язык в том, что мы не сможем
-   схалявничать и использовать старые знакомые нам подходы. Уроки,
-   которые мы получим изучив Haskell, могут быть применены в повседневной
-   жизни потом, вне зависимости от языка программирования.")
-
-(h3 "Теория категорий")
-
-(p "Есть такой миф, что в Haskell не стоит лезть, если не знаешь
-   теорию категорий. Это неправда. Я из теории категорий примерно знаю
-   содержание первых двух страниц типичной книги и это мне это не мешает
-   писать production-код на Haskell.")
-
-(p "Теория категорий — это приятная штука для развития мозгов в
-   первую очередь, она даже не про программирование. Она может помочь
-   стать лучше как программист, а может и не помочь.")
-
-
-(h3 "Что еще из языков")
-
-(ul
- (li "Изучите Clojure (ибо LISP и макросы)")
-
- (p "Потому что современный живой лисп в функциональной парадигме.")
-
- (li "Изучите Erlang (ибо акторы)")
-
- (p "Erlang — не язык, который создавался, чтобы быть функциональным, а создавался для того, чтобы быть надежным. Функциональная парадигма в нем применяется, чтобы создавать устойчивые к отказам программы. Поэтому в языке не очень хорошо с выразительностью.")
-
- (p "После Erlang можно пописать на Elixir. Он похож на Ruby с рельсами."))
-
-(h3 "Про парадигмы")
-
-(p "Существует мнение, что стоит изучать по одной новой парадигме в
-   год. Изучать их нужно на максимально ярких для этих парадигм
-   языках. Хотим изучить ФП — берем Haskell. Хотим изучить ООП — берем
-   SmallTalk. Хотим изучить Мета-программирование — берем лиспы. Хотим
-   логическое программирование — берем Prolog.")
-
-(p "Какая парадигма лучше всего? Никакая, все парадигмы клевые.")
-
-(p "Изучать новые парадигмы всегда сложно, но это интересно. Чем
-   больше мы сформируем отличных друг от друга навыков, тем будем ценнее
-   вне зависимости от того, что мы будем делать. Это происходит, потому
-   что разные парадигмы позволяют нам бо́льшими способами решить задачу.")
-
-(h3 "Для каких задач не подходит ФП")
-
-(p "Функциональные языки общего назначения являются версиями
-   лямбда-исчислений. Так как мы знаем, что лямбда-исчисление может
-   выразить любую вычислительную задачу, на ФП языке мы можно решить
-   любую задачу.")
-
-(p "Функциональные языки хорошо себя чувствуют в тех областях, где
-   можно использовать много памяти. Потому ФП не подходит для
-   встраиваемых систем и всему тому, что должно быть близко к железу.")
-(h3 "О типизации")
-
-("Лямбда-исчисление как таковое является безтиповым. Все типы — это
-   хитро-сделанные функции в оригинальном лямбда-исчислении.")
-
-(p "Очень круто пописать на типизированных функциональных
-   языках. Если я знаю, что в функцию будут приходить только строчки, а
-   выходить только числа, то это позволяется мне проще рассуждать о
-   функции. Не нужно думать, что придет что-то не то.")
-
-(p "Также круто пописать на динамически-типизированных
-   языках. Например Clojure.")
-
-(h3 "Про работу")
-
-(p "Все люди, которых я знаю, если хотят писать на Haskell, то
-   пишут на Haskell за деньги. Люди, которые ищут отговорки, продолжают
-   писать на чем-то ином. Я в этом убежден. Работа есть.")
-
-(p "Если технология не мертва, значит она кому-то нужна.")
-
-(p " Сейчас, когда можно работать удаленно, найти работу по Haskell
-   не составляет сложности. Если ты вчерашний студент, можно очень круто
-   устроиться. Раз в полгода приходят вакансии от Tesla идти в
-   магистратуру в Штаты, чтобы потом писать на Haskell ПО, которое
-   анализирует метрики приходящие с автомобиля.")
-
-(h3 "Ответы на вопросы")
-
-(h4 "Lisp — функциональный язык")
-
-(p "Это неправда. Лисп — не функциональный язык. Код на лиспе
-   содержит присваивание и измененных структур данных. Это процедурный
-   код.")
-
-(p "SICP — это не книжка по функциональному программированию. Она
-   использует некоторые моменты, свойственные ФП. Это книга про
-   информатику в общем. В самой книге присутствуют термин “Процедура”, а
-   не “Функция”.")
-
-(p "Clojure — это Lisp-подобный язык, но функциональный. Clojure вдохновлялась Lisp’ом на этапе зарождения концепций, но в отличии от него это functional-first язык. Все структуры данных иммутабельные. Разделения на чистые и грязные функции там нет, тем не менее в нем отсутствует практика злоупотреблять побочными эффектами.")
-
-(h4 "Применяются ли ФП-элементы в Python")
-
-(p "Применяются, но в Python принято их избегать
-   исторически. Использование только map, filter, reduce не делает код
-   функциональным. Это синтаксический сахар для пайплайнов, которые их
-   обрабатывают.")
-
-(h4 "ООП vs ФП")
-
-(p "Нельзя сказать что ООП очень сильно противоречит ФП. Они про
-   разное. Они не противоположны, они ортогональны.  Что важнее для
-   создания продукта парадигма языка или библиотеки?")
-
-(p "Библиотеки, конечно же, важны, но приходится и самому писать
-   код. Лучше писать код, понимая, что ты делаешь. Порой сами библиотеки
-   могут быть плохо спроектированы и вам придется самому что-то
-   писать. Лучше иметь возможность смотреть на задачу шире.")
-
-(p "Если вдруг у кого-то работа связана только со склеиванием
-   библиотек и не приходится писать свой код, то не важно какая парадигма
-   будет использована. Но такое происходит редко.")
-
-(h3 "Материалы для изучения")
-(ul
- (li (a (@ (href "https://www.manning.com/books/exploring-haskell"))
-        "Книга Exploring Haskell"))
- (li (a (@ (href "https://stepik.org/course/75/"))
-        "Курс по Haskell на Stepic"))
- (li (a (@ (href "https://www.ohaskell.guide/"))
-        "Книга О Haskell по-человечески")))
-
-(h3 "Задачи")
-(ul
- (li (a (@ (href "https://www.codewars.com/"))
-        "Codewars"))
- (li (a (@ (href "http://www.4clojure.com/"))
-        "4clojure")))
-
-(h3 "Другие ссылки")
-
-(ul
- (li (a (@ (href "https://www.meetup.com/Moscow-Clojure-Script-Meetup/"))
-        "Clojure DOJO"))
- (li (a (@ (href "https://t.me/haskellru"))
-        "Сообщество Haskell в Telegram")))
-
-(h3 "Заключение")
-
-(p "На стриме присутствовали звуковые искажения, которые порой
-   останавливали повествование Алексея. Надеюсь что-нибудь с этим
-   сделают. Помимо этого у Натальи, представляющей докладчика ведущей, на
-   записи присутствовало эхо.")
-
-(p "Тем не менее спасибо Алексею и команде Hexlet за
-   вебинар. Человека для создания курса по питону наверное лучше не
-   найти, с нетерпением жду нового материала от него. Было бы круто
-   дополнить раздел с книгами.")))
Index: ntent/posts/test.org
===================================================================
--- content/posts/test.org	(revision 0ec459ed3f66bb191fdc2244fbff42c85bda3553)
+++ 	(revision )
@@ -1,5 +1,0 @@
-#+TITLE: Test
-
-* Test
-
-Meow >^.^<
