Как стать автором
Обновить
3
0

Пользователь

Отправить сообщение

Зачем ЯОП? Зачем Racket?

Время на прочтение15 мин
Количество просмотров15K
Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце концов вызовет «глубокое просветление». Окей, как скажешь, бро.

У меня был простой вопрос: какая польза? В прошлой статье я попытался ответить на него и обобщил причины, почему кто-то захочет изучить Lisp или, в частности, Racket.

Я составил список из девяти особенностей языка, наиболее ценных для меня как новичка в Racket. Например, особенность № 5 — «создание новых языков программирования». Этот метод также называется языково-ориентированным программированием, или ЯОП.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии6

Лабиринты: классификация, генерирование, поиск решений

Время на прочтение44 мин
Количество просмотров85K

В этом классическом посте подробно рассказывается о самых популярных способах создания и прохождения лабиринтов. Статья разделена на четыре части: классификация, алгоритмы генерации, алгоритмы решения лабиринтов и другие операции с лабиринтами.

Классификация лабиринтов


Лабиринты в целом (а значит, и алгоритмы для их создания) можно разбить по семи различным классификациям: размерности, гиперразмерности, топологии, тесселяции, маршрутизации, текстуре и приоритету. Лабиринт может использовать по одному элементу из каждого класса в любом сочетании.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии13

Оценка сроков на разработку и тестирование задачи (не нужна)

Время на прочтение5 мин
Количество просмотров65K

Я в тестировании 12 лет, работал в Naumen и Яндексе. Сейчас руковожу отделом тестирования из 150 человек в Контуре и продолжаю работать тестировщиком в одной из команд.


После полугодовых performance review менеджеры из разных команд рассказали, какие цели поставили своим тестировщикам. У каждого пятого была такая: «Научиться оценивать сроки на тестирование задач». Часто такой «оценки сроков» хотят не только от тестировщиков, но и от разработчиков.



Оценка сроков в 95 % случаев. Спасибо, xkcd.


Я считаю абсолютно вредной практику, когда исполнитель оценивает сроки на выполнение отдельной задачи. Это напрямую связано с отсутствием системного образования и низкими требованиями к менеджерам.

Сейчас объясню, как это работает.

Горькая правда
Всего голосов 87: ↑76 и ↓11+65
Комментарии186

Великий исход из индустрии видеоигр

Время на прочтение13 мин
Количество просмотров17K

История о том, как Фрэнк Д'Анджело попал в индустрию видеоигр, трогательна и типична одновременно.

Когда ему было десять лет, он писал письма разработчикам и издателям любимых видеоигр. В них Фрэнк рассказывал о том, как любит их игры и просил совета, чтобы стать создателем игр. Он всегда получал искренние, личные ответы и такие послания из мира профессиональной разработки игр оказали на него волшебный, манящий эффект.

Классический пианист Д'Анджело думал о том, как можно превратить свои хобби в карьеру — он начал участвовать в жизни онлайн-форумов о музыке в видеоиграх, записал и выложил онлайн больше 200 партитур разных игровых мелодий. На последнем курсе обучения звукотехнике в 2010 году его наняла интерном компания Volition, работавшая над Saint’s Row и Red Faction Armageddon. «Это была карьера моей мечты», — рассказывает Фрэнк. «Наверно, это был самый счастливый для меня момент — результат многих лет движения к цели и её достижение».

Оглядываясь назад, Д'Анджело говорит, что считал это событие концом своих трудностей, но оно оказалось самым началом. «Я был наивен, считал, что после попадания в индустрию всё встанет на свои места. На самом деле это оказалось самым простым», — говорит он.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии11

Радиация: риски, безопасность, защита

Время на прочтение19 мин
Количество просмотров44K

Слово «радиация» у большинства из сегодняшних читателей вызывает страх. Радиация ассоциируется со смертью. Невидимый, неслышимый, неощутимый убийца, медленно убивающий — может быть, и тебя, читатель? Нужно ли бояться? Ответ — в этой статье.
КДПВ — из книги «Физики шутят».
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии89

Квантовая механика: конец войны интерпретаций

Время на прочтение6 мин
Количество просмотров42K
Квантовая механика окружена ореолом таинственности. Зачастую, этот ореол возникает из-за того, что популярные источники излагают материал, не придерживаясь какой либо определенной интерпретации, а иногда пытаются втиснуть современные факты в прокрустово ложе старой Копенгагенской интерпретации.

Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии339

Что ещё можно сделать в поиске? Доклад Яндекса

Время на прочтение8 мин
Количество просмотров5.8K
В Яндексе есть служба разработки поисковых компонент, которая строит поисковую базу на MapReduce, обеспечивает выдачу данных вёрстке для рендеринга, формирует алгоритмы и структуры данных и решает ML-задачи роста качества. Алексей Шлюнкин, руководитель одной из групп внутри этой службы, объясняет, из чего состоит рантайм поиска и как мы им управляем.


Хочешь ковыряться в ML — ковыряйся. Хочешь только MapReduce — окей. Хочешь рантайм — рантайм.

— Что такое поиск сегодня? Яндекс начался с того, что сделал поиск, развивал его. Прошло 20 лет. У нас получилась поисковая база на сотни миллиардов документов.

Всего голосов 21: ↑21 и ↓0+21
Комментарии6

Гвозди в крышку гроба рунета

Время на прочтение11 мин
Количество просмотров89K
Все конечно в курсе последних обсуждений в государственной думе по поводу автономного рунета. Многие об этом слышали, но что это такое и какое к нему это имеет отношение — не задумывались. В данной статье я попытался объяснить, зачем это нужно и каким образом это повлияет на российских пользователей глобальной сети.

image
Читать дальше →
Всего голосов 228: ↑201 и ↓27+174
Комментарии659

Как браузер помогает товарищу майору

Время на прочтение6 мин
Количество просмотров147K
Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как минимум полную ссылку на то откуда он был скачан, я пришел в легкое возбуждение и хотел тут же броситься спасать мир. Позже, немного изучив этот вопрос, почитав «коммиты» и «комменты», говорившие, что этой возможности, встроенной в ядро GNU/Linux, как минимум уже около 10 лет, что ею пользуется не только браузеры, но и, к примеру, популярная утилита wget (curl нет), и что эта вещь считается чуть ли не нормой в Linux (и, как выяснилось позже, в MacOS), то я немного подуспокоился. Одно не давало мне покоя: поиск ключевого слова getfattr в google по сайту «Хабра»: site:https://habr.com getfattr, равно как и по ЛОРУ: site:https://linux.org.ru getfattr ничего толком не дал. «Значит» — подумал я — «эта тема еще особенно не обсуждалась». — Что же, тогда пришло время ее обсудить, но для начала пришлось немного по-исследовать. И вот что я обнаружил:

image
Читать дальше →
Всего голосов 265: ↑246 и ↓19+227
Комментарии322

Самое простое объяснение принципа работы современных алгоритмов симметричного шифрования

Время на прочтение9 мин
Количество просмотров47K

(Нашёл в твиттере тред с очень крутым объяснением работы симметричных шифров. Его написал Colm MacCárthaigh один из основных контрибьюторов Apache. Я спросил разрешение Колма на перевод, он любезно согласился).


Я объясню вам доступным языком, что происходит при шифровании данных. Надеюсь, что без мистики и сложных штук, которые были придуманы криптографами.


Итак, симметричное шифрование — это именно то, что мы используем в большинстве случаев, когда хотим зашифровать кучу данных. Ваш браузер отправляет и получает данные, используя симметричное шифрование. Если вы шифруете файлы или диск, в этом случае тоже работает симметричное шифрование. iMessage, Signal, WhatsApp — все они используют симметричное шифрование для безопасности вашей переписки.


Если вы думаете, что при шифровании данные перемешиваются так, что их никто не может прочитать без ключа, так оно и происходит на самом деле.


Вот простой пример. Допустим, у меня есть строка "Ovaltine" и я хочу её зашифровать. Я мог бы воспользоваться rot13 — очень простым олдскульным шифром Цезаря, который делает хоровод из букв, где a и z держатся за ручки, и заменяет каждую букву другой буквой алфавита, которая находится от заменяемой буквы на расстоянии 13 символов. Таким образом "O" превращается в "B", а "v" становится "i", в итоге "Ovaltine" превращается в "Binygvar". Конечно, это не очень безопасно. Это наивный пример, который очень легко взломать, так как атакующий может выяснить, какая буква встречается чаще всего (обычно в оригинальном тексте это "e") и найти оставшиеся буквы подобным образом.

Читать дальше →
Всего голосов 31: ↑26 и ↓5+21
Комментарии24

C# является языком низкого уровня?

Время на прочтение11 мин
Количество просмотров26K
Я большой поклонник всего, что делает Фабьен Санглард, мне нравится его блог, и я прочитал обе его книги от корки до корки (о них рассказывали в недавнем подкасте Hansleminutes).

Недавно Фабьен написал отличный пост, где расшифровал крошечный рейтрейсер, деобфусцировав код и фантастически красиво объяснив математику. Я действительно рекомендую найти время, чтобы прочитать это!

Но это заставило меня задуматься, можно ли перенести этот код C++ на C#? Поскольку на основной работе мне в последнее время приходится довольно много писать на C++, я подумал, что могу попробовать.

Но что более важно, я хотел получить лучшее представление о том, является ли C# языком низкого уровня?
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии27

Быть технофобом бессмысленно, даже если технофобия оправдана

Время на прочтение13 мин
Количество просмотров13K


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

Иногда мне кажется, мы мыслим также, только чуть менее осознанно. Идея, что прогресс не остановить, вселяет в нас непоколебимый оптимизм. Раз не остановить, то все идет, как идет, и впереди сплошные бесконечные успехи. Надо расслабиться и грести по течению. Даже тревожные сценарии отзываются в уголке сознания романтическим восторгом. «Машины станут умными и всех перебьют? Класс! Как в кино!» Относится к этому с серьезным пессимизмом — почти безумие.

Понятно, что реальность всегда скучнее выдумок, а алармисты и луддиты обычно умирают раньше, чем прогресс оправдывает их страхи. Но если верить некоторым футурологам, мы еще на своем веку можем стать свидетелями больших точек невозврата, к которым с радостью несемся на полной скорости.
Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии96

Создание аудиоплагинов, часть 13

Время на прочтение13 мин
Количество просмотров7.6K
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Мы уже создали все компоненты классического субтрактивного синтезатора, и теперь, имея четкое понимание структуры, займемся редизайном.

Наш плагин будет полифоническим синтезатором под названием SpaceBass (КасмичискийБас):


Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии0

Почему мозгу нужно давать «передохнуть»

Время на прочтение5 мин
Количество просмотров21K


Для работы некоторых жизненно важных функций мозг должен быть в состоянии покоя

Внимание — один из ценнейших ресурсов, и его часто с трудом хватает на всё.

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

И казалось бы: что в этом плохого? Зачем тратить время на бездействие, когда можно заняться чем-то интересным или продуктивным? Если разум занят высококачественным (в основном) продуктом, какой может быть вред?

«Исследования в области теории обучения дают предельно ясную картину, — рассказывает Лорен Фрэнк, профессор Центра интегративной нейробиологии в Калифорнийском университете (Сан-Франциско). — Для эффективного обучения нужно через небольшие промежутки времени делать перерывы на отдых».

Данные исследований способностей к обучению снова и снова показывают, что лучше всего мы запоминаем новую информацию, когда у мозга есть время спокойно ее преобразовать и объединить. Даже если речь идет не об обучении, небольшие перерывы после усвоения нового материала — например, новостной статьи или важного письма, — помогают мозгу проанализировать и запомнить только что полученные сведения.

Чтобы лучше понять, как мозг обрабатывает новую информацию, Фрэнк провел на крысах эксперименты по сканированию мозга. Вместе с коллегами он показал, что если крысам дать возможность отдохнуть после прохождения незнакомого лабиринта, их мозг автоматически воспроизводит пройденный по лабиринту путь. Позже, оказавшись в том же лабиринте, крысы преодолевают его быстрее.

Переведено в Alconost
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии10

Вы как хотите, а я сделал

Время на прочтение8 мин
Количество просмотров8.9K
Как-то давно я приезжал на одну конференцию, и рассказывал об опыте ускорения работы программистов. Всем понравилось, многие захотели повторить этот опыт у себя. Начали задавать вопросы — и методические, и технические, по оптимизации собственной системы управления задачами.

Потом на другую конференцию съездил, еще раз рассказал. Опять навалились с вопросами, загорелись желанием что-то изменить.

Я отвечал — пф, в чем проблема-то? Вы же программисты, возьмите и сделайте! Добавьте измерение задач, правильную систему приоритетов, учет компетенций и т.д.

Но, как ни странно, почти никто не кинулся менять свою систему. Сейчас, занимаясь несколькими проектами по ускорению команд, я продолжаю удивляться — блин, в чем проблема-то? Я же обо всем написал, что и как надо делать. Например, в «1С, не болей». Но нет, сидят, ничего не делают, только говорят — хотим ускориться, хотим больше денег зарабатывать, хотим прогресса.

В общем, я расстроился и решил сам эту систему сделать. Получилось управление задачами Flowcon. Спешу похвастаться — может, это вас подтолкнет к изменению своей системы?
Читать дальше →
Всего голосов 57: ↑29 и ↓28+1
Комментарии63

Взгляд биолога на корни нашего старения

Время на прочтение16 мин
Количество просмотров35K
Здравствуйте!

Нижеследующий текст изначально набирался как продолжение вот этого диалога, но размер ответа превысил все мыслимые размеры, а учитывая что на Хабре существует спрос на тему истоков старения и смерти от оной, я решил оформить его (ответ) отдельной статьёй.

Дисклеймер: если вам кажется, что текст направлен определённому человеку, а не аудитории в целом, то так оно и есть, но менять я ничего не буду.

Эта статья написана полностью из головы, что называется на одном дыхании (правда в три захода), потому в ней минимальное количество ссылок и картинок – прошу понять и простить, либо написать в комментарии, возможно я что-то исправлю.
Читать дальше →
Всего голосов 79: ↑76 и ↓3+73
Комментарии156

Взгляд биолога на мутационную теорию старения

Время на прочтение15 мин
Количество просмотров18K
Здравствуйте!

По просьбам читателей я нашёл в себе силы написать продолжение вот этой статьи. Первая статья была направлена, главным образом, на обоснование существования и важности естественной смертности, а также необоснованности некоторых положений теорий «накопления ошибок». Я, пожалуй, продолжу эту статью в том же ключе, но на этот раз с небольшим уклоном к подходам поиска эликсиров бессмертия – ведь всех же интересуют именно они.

В первой статье явление естественной смертности мы рассматривали, так сказать, с самой высокой точки биологической организации. С этого уровня хорошо видно, за что могла «зацепиться» эволюция и начать устанавливать норму жизни для того или иного вида. С точки зрения создания эликсира бессмертия этот уровень нам совершенно не интересен, потому как к бессмертию мы хотим привести конкретную особь, а конкретные особи как известно не эволюционируют в биологическом смысле. Нам интересен механизм, посредством которого приговор приводится к исполнению и то, как сломать этот механизм. А значит в этой статье мы будем рассматривать проблему с более «низкой» точки зрения – индивидуальном и клеточно-молекулярном (я постараюсь сделать это как можно понятнее без зубодробительных биохимиоругательных слов).
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии121

Игры меняют мир: как Hellblade привлёк внимание к проблемам людей с психическими заболеваниями

Время на прочтение7 мин
Количество просмотров30K

Мы привыкли относиться к играм несерьёзно. Если кино, литература и телевидение ассоциируются с чем-то солидным, то интерактивные развлечения пренебрежительно называют «видеоиграми». Большинство по-прежнему видит в этом виде искусства только Operation. Впрочем, это не мешает игровой индустрии зарабатывать миллиарды долларов: так GTA V за пять лет заработал больше денег, чем оригинальная Star Wars за сорок лет. Игры распространяются всё шире, а за этим экстенсивным ростом происходит нечто более важное. Почти через 50 лет после первой компьютерной игры разработчики начали использовать уникальное качество игр — интерактивность — чтобы мы лучше чувствовали других людей. И лучший пример этому — Hellblade: Senua's Sacrifice.
Всего голосов 61: ↑59 и ↓2+57
Комментарии44

Итоги эксперимента с четырёхдневной рабочей неделей для офисных работников Новой Зеландии

Время на прочтение3 мин
Количество просмотров82K
В ноябре 2018 года новозеландская компания Perpetual Guardian стала одной из первых в мире, кто перешёл на четырёхдневную рабочую неделю, в которой количество рабочих часов уменьшено с 37,5 до 30. Это сделано по результатам предварительного эксперимента, который помогли провести и оценить учёные из Технологического университета Окленда.

Анализ одного из самых масштабных испытаний четырёхдневной рабочей недели не выявил снижения объёма производства, если для офисных работников можно говорить о «производстве». Но суть в том, что бизнес компании продолжался без изменений. Объём работ, который выполнялся при пятидневке, сохранился и при четырёхдневной неделе, при этом зафиксировано снижение стресса и увеличение вовлечённости персонала.
Читать дальше →
Всего голосов 105: ↑104 и ↓1+103
Комментарии284

Как этика стала самой дорогой проблемой Кремниевой долины, а философия — её самым практичным решением

Время на прочтение16 мин
Количество просмотров20K
Увлёкшись скоростью технического прогресса, люди совершили ошибку неопытного военачальника, чрезмерно растянувшего свои войска на марше: к авангарду цивилизации вопросов нет, но то, что осталось столь далеко позади, словно приколочено к прошлому — ненужное нужно выбрасывать, а нужное — поддерживать актуальным. Какой из этих вариантов следует применить к этике — разделу философии, посвящённому осмыслению вопросов нравственности?

Задвинутая, наряду с философией, под тегами «брехня, бесполезное», этика по важности не значимее этикета, и поэтому не рассматривается ни как фактор, оказывающий влияние на реальность, ни как источник поиска решений ряда весьма актуальных проблем — проблем, которые в чистом являются проблемами этики, но из-за отсутствия этики в публичном дискурсе, они остаются недовыявленными, недопонятыми и нерешёнными, пока издержки продолжают нарастать.



Само слово и понятие «этика» придумали древние греки для обозначения философии морали. Думаю, можно даже не касаясь природы самой морали согласиться с тем, что каждый дееспособный человек, так или иначе, обладает некой моралью, проявляющейся в его поведении и поступках даже если он этого не осознаёт. Иными словами, мораль — это не идея и не абстракция, мораль — это вполне реальный поведенческий феномен, наблюдаемый в каждом человеке; что делает вещественной и понятие общественной морали — основанной на совпадающих проявлениях морали в поведении большинства.

Поддержите новые публикации пожертвованием по ссылке money.yandex.ru/to/41001178171050 (карта, ЯД) или через кнопку «Отправить деньги» ниже (ЯД, PayPal)
Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Комментарии182

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность