Pull to refresh
30
0

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

Send message

Математика на пальцах: давайте посчитаем хотя бы один ряд Фурье в уме

Reading time6 min
Views87K

Нужно ли вам читать этот текст?


Давайте проверим. Прочтите следующее:

Тригонометрическим рядом Фурье функции  называют функциональный ряд вида



где







Страшно, но всё же хочется понять, что это значит?


Значит, вам под кат. Постараюсь формул не использовать.
Читать дальше →
Total votes 86: ↑76 and ↓10+66
Comments99

Примеры кода с летней школы по Node.js и JavaScript в КПИ

Reading time6 min
Views21K

Товарищи инженеры, докладываю вам об успехах в подготовке научно-технических кадров в области программной инженерии на Факультете ИВТ в Киевском политехническом институте и публикую интересные примеры кода, которые были написаны для учебного курса, но будут, надеюсь, интересны и с практической точки зрения. Идея, внедрить JavaScript и Node.js в учебный процесс, вызревала у меня уже несколько лет. Но для освоения базовых вещей в программировании мне больше нравится C, чтобы люди прочувствовали машину, научились контролировать себя и свой код. А вот для прикладных задач, в которых уровень абстракции C уже не достаточно иллюстративен, мультипарадигменный и гибкий JavaScript прижился. При помощи мощного и простого API Node.js можно писать концептуальный код прямо на паре. Кроме того, знания JavaScript обязательно пригодятся на практике любому инженеру, работающему в ИТ. Часть кода, разработанного студентами курса, уже попала в серьезные Open Source проекты и это прекрасная практика, которую может повторить каждый, ведь лабораторные работы мы постепенно выкладываем на github и будем делать это и дальше, снабжая их методическими указаниями и не заботясь о том, что студенты будут списывать из форков, ведь все это нужно в первую очередь им самим. Эти материалы были использованы при подготовке порядка 300 студентов политехнического ВУЗа за 2015-2016 учебный год. Примеры я еще раз разложу по полочкам на летней школе, которая проходит с 9 по 26 августа 2016 года в Киеве, и расписание которой можно найти тут. Итак, переходим к самым показательным примерам кода.

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments18

AI монстров и поиск пути с помощью тепловых карт

Reading time5 min
Views25K
image Допустим, у нас есть плоская карта, состоящая из тайлов. На некоторых тайлах стоят монстры, а на некоторых других – всякие штуки, которые монстров интересуют: игрок, оружие, зелья, боеприпасы и прочее в том же духе. Задача состоит в том, чтобы объяснить монстрам, к каким штукам им идти и как. Путь должен быть близким к оптимальному, а время вычисления – настолько маленьким, насколько это возможно. Один из самых простых способов – использовать тепловую карту дистанций до определённой цели или целей.
Читать дальше →
Total votes 61: ↑61 and ↓0+61
Comments26

Биохакинг мозга: куда располагать электроды, чтобы стать умнее?

Reading time10 min
Views60K
Сейчас в поле зрения общественного внимания попадает всё больше исследований tDCS – транскраниальной стимуляции постоянным током. Довольно большое количество научных работ последних лет демонстрируют, что tDCS может улучшать когнитивные способности не только при лечении болезней, но и у совершенно здоровых людей. Среди них – реакция, внимание, память и обучение иностранным языкам. Успехи научных исследований привлекли внимание DIY сообщества, которое взяло технологию на вооружение и стало активно применять tDCS на себе.

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

Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments91

У вас нет высыпаний? Будут

Reading time5 min
Views63K
Меня зовут Евгений и я жаворонок. Сегодня проснулся в 6 утра, открыл окно в кухне, заварил кофейку и решил глянуть, «что нового». Мне написал мой бывший коллега «Андроид»… Точнее «Андроид-разработчик» Максим, но так звучит фантастичнее…

image

Он спросил:
– Женя, привет. (wave) Вопрос к тебе, как мега лайв хакеру. Сколько времени нужно спать, что бы мозг отдохнул и можно было плодотворно работать? Умные будильники сильно помогают?

Я ответил, а потом подумал, ведь и парочке сотен человек с Хабра тоже пригодится хоть один пунктик из вычитанных мною ранее советов, ведь «так как никто не слушает, приходится повторять»:
Читать дальше →
Total votes 88: ↑63 and ↓25+38
Comments203

Создание игры Doodle Jump для Android в Intel XDK за 2 часа на JavaScript с нуля

Reading time11 min
Views26K
Здравствуй, Хабр.

Непривычно для меня писать статьи спустя такое долгое время, так как я привык к записи материала на видео, где можно свободно что-либо рассказывать. И так уж получилось, что решил написать статью об Intel XDK, но не просто обзор возможностей, а разобрать среду на примере вполне конкретного проекта. Проектом таким для меня стал «клон» игры «Doodle Jump».

image
Читать дальше →
Total votes 17: ↑11 and ↓6+5
Comments13

Летняя стажировка в Positive Technologies: результаты отбора и немного статистики

Reading time2 min
Views9.9K


Не так давно мы объявили на «Хабре» о запуске новой образовательной инициативы — летней стажировке для студентов, практиков информационной безопасности, HackQuest-еров и просто любителей ИБ.

Составленный экспертами Positive Technologies курс онлайн-вебинаров называется «Основы практической безопасности» и состоит из нескольких разделов, посвященных как и важным теоретическим вопросам, вроде классификаций уязвимостей, так и исключительно практическим аспектам поиска уязвимостей и противодействию атакам.

Желающих прокачать свои навыки в информационной безопасности оказалось немало — сегодня мы подведем итоги отборочного тура и поделимся некоторой интересной статистикой.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments32

Чат на Go (часть 1)

Reading time4 min
Views40K

Начинаем разработку чата на Go. Со стеком технологий пока не определились, но для начала сделаем каркас на Go. Берем за основу стандартный пример и пробуем разобраться, что здесь к чему:


https://github.com/golang-samples/websocket/tree/master/websocket-chat


Структура


Вводим 3 структуры Message, Client, Server, которые определяют сервер, клиента со стороны сервера и сообщение.


Message


Сообщение определено структурой:


type Message struct {
    Author string `json:"author"`
    Body   string `json:"body"`
}

func (self *Message) String() string {
    return self.Author + " says " + self.Body
}

С сообщением все совсем просто… Так, что перейдем сразу к клиенту.

Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments7

Full Disk Encryption (FDE)

Reading time3 min
Views27K
В большинстве случаев шифрование диска является излишним или даже вредным. Однако, когда дело касается ноутбука, паранойя не помешает. Получив в руки новый ноутбук, именно шифрованием диска я первым делом и озаботился.

На данный момент во многих дистрибутивах уже из коробки предоставляется возможность создавать шифрованные разделы. Однако, все те варианты, что мне попадались, предусматривают нешифрованный /boot. Не критичное, но неприятное упущение. Информация о том, как сделать полностью шифрованный диск, ищется в интернете достаточно легко, но подавляющая её часть на английском языке и некоторые подводные камни всё же не описаны. Я постараюсь наиболее кратко, понятно и по шагам объединить эту информацию в одном тексте.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments53

Девять простых UX истин

Reading time6 min
Views36K
Предлагаю читателям «Хабрахабра» перевод замечательной статьи «Nine Nasty UX Truths» за авторством Antoine Valot. В интернетах есть множество материалов по теории UX, но советы ниже являются результатом тяжелой работы автора, что-то вроде шишек, набитых в процессе. Antoine признается, что облажался бессчётное количество раз за последние 20 лет, и описанные истины — это лишь некоторые из способов избежать провалов. Не повторяйте ошибок, наслаждайтесь.
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments42

Иммунная система и поведение человека: есть ли связь?

Reading time6 min
Views14K

Якобы «психологическая» склонность к одиночеству может быть чем-то вроде карантина по команде иммунной системы, чтобы защититься от патогенов



Знаменитый математик и нобелевский лауреат Джон Нэш страдал шизофренией. Как выясняется, это психическое расстройство может быть связано с работой иммунной системы. Фото: кадр из фильма «Игры разума»

Исследователи из медицинской школы университета Вирджинии сделали удивительное открытие, о котором уже сообщалось на Geektimes. Оно заставляет задуматься о природе человеческого поведения. Почему одни люди общительные, легко идут на контакт и с удовольствием беседуют на бессмысленные темы, а другие предпочитают замыкаться в себе и размышлять в одиночестве? Причина не только в соотношении коэффициентов IQ и EQ, на которые влияет генетика и воспитание. Оказывается, прямое воздействие на мозг, в том числе на социальное поведение, оказывает иммунная система человека.

Другими словами, «драгоценная» и «уникальная» личность человека во многом формируется под воздействием посторонних патогенов и иммунного ответа на них.
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments9

История зрения или миф о «нечленимой сложности»

Reading time12 min
Views46K
Факты не перестают существовать
оттого, что ими пренебрегают.

Олдос Хаксли

Попытаюсь развеять «миф о нечленимой сложности» на примере глаза. Его часто любят приводить в пример креационисты.

Основная претензия звучит так: «Если глаз создала эволюция, то как она смогла создать столь сложный инструмент без промежуточных форм? Какая польза в половине глаза?» (есть ещё вариант с половиной крыла, по сути, мало отличающийся от этого вопроса).

Я далёк от биологии, но ответ на этот вопрос могу попробовать дать, поскольку это не так сложно, как кажется, и потому, что «ничто в биологии не имеет смысла, кроме как в свете эволюции», как сказал Ф.Г. Добржанский. Только с этой позиции «необъяснимое», на первый взгляд, биологическое явление становится простым и логичным.

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

Отрывок из книги «Самое грандиозное шоу на Земле»
Глаз позвоночного в своем лучшем случае, скажем у ястреба или человека, это превосходный точный инструмент, способный на чудеса высокого разрешения, конкурирующий с лучшими приборами от Цейсса и Никона. Будь это не так, Цейсс и Никон напрасно бы тратили время, производя фотографии высокого разрешения для наших глаз. С другой стороны, Германн фон Гельмгольц, великий германский ученый 19 века (вы можете назвать его физиком, но его вклад в биологию и психологию еще больше), сказал о глазе:

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

Одна из причин, по которым глаз кажется лучше, чем его оценил физик Гельмгольц, в том, что позже мозг выполняет удивительную работу по улучшению изображения, как ультра-сложный автоматический фотошоп. Что касается оптики, человеческий глаз достигает качества Цейсса/Никона только в фовеальной области — центральной части сетчатки, которую мы используем для чтения. Когда мы сканируем сцену, мы передвигаем фовеальную область в разные части изображения, видя каждую в максимальной четкости и деталях, и мозговой «фотошоп» обманывает нас, заставляя думать, что мы видим всю сцену в одном и том же качестве детализации. Высококачественные Цейссы и Никоны между тем на самом деле отражают всю сцену с почти одинаковой четкостью.

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

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

Но теперь представьте, что я скажу вам, что фотоэлементы глаза направлены назад, в обратную сторону от сцены, на которую смотрят. «Провода» соединяющие светочувствительные клетки с мозгом идут через всю поверхность сетчатки, так что световые лучи должны пройти через ковер собравшихся проводков перед тем, как попасть на светочувствительные клетки. Это неразумно, но все и того хуже. Одно из последствий того, что светочувствительные клетки направлены назад — то, что провода, передающие данные от них, должны как-то пройти через сетчатку назад к мозгу. В глазу позвоночного они собираются к особому отверстию в сетчатке, где ныряют сквозь нее. Отверстие, заполненное нервами, называется слепым пятном, поскольку оно не видит, но «пятно» — это слишком мягко сказано, поскольку оно весьма велико, скорее, как слепая область, что тем не менее не является слишком большим неудобством для нас благодаря «автоматическому фотошопу» мозга. И снова, верните его [инструмент] назад, он не просто плохо спроектирован, это дизайн полного идиота.

Или нет? Будь это так, глаз бы ужасно видел, но это не так. Он, в действительности, очень хорош. Он хорош потому, что естественный отбор, как чистильщик работая над бесчисленным множеством мелких деталей, прошелся после большой исходной ошибки установки сетчатки задом наперед и спас высококачественный точный инструмент. Это напоминает мне сагу о телескопе Хаббла. Вы помните, он был запущен в 1990 году и, обнаружилось, что он имеет крупный дефект. Из-за незамеченной ошибки в калибровке аппарата, когда его полировали на земле, основное зеркало хотя и немного, но [функционально-] значимо отклонялось от нужной формы. Дефект обнаружился после того, как телескоп был запущен на орбиту. Решение было смело и изобретательно. Астронавты, доставленные на телескоп, успешно смонтировали на нем нечто вроде очков. После этого телескоп заработал очень хорошо, и три последующих сервисных миссии обеспечили дальнейшее улучшение. Я хочу сказать, что даже крупный дефект конструкции, грубая ошибка может быть скорректирована последующей починкой, искусность и тонкость которой при соответствующих обстоятельствах совершенно компенсируют исходную ошибку. В эволюции в основном крупные мутации, даже если они могут привести к улучшению в правильном направлении, почти всегда требуют много дальнейших поправок, операций по зачистке множеством мелких мутаций, возникающих позднее и получающих преимущество при отборе, поскольку сглаживают острые кромки, оставленные исходной крупной мутацией. Вот почему люди и ястребы видят так хорошо, несмотря на грубую ошибку в их исходной конструкции. Снова Гельмгольц:

Глаз имеет все возможные дефекты, которые могут быть найдены в оптическом инструменте, и даже несколько специфичных только для него; но они так скомпенсированы, что неточность получаемого изображения при обычных условиях освещения очень незначительно превышает ограничения чувствительности, устанавливаемые размерами колбочек сетчатки. Но коль скоро мы делаем опыты в каких-либо других условиях, нам становятся заметны хроматическая абберация, астигматизм, слепое пятно, сосудистые тени, несовершенная прозрачность среды и все другие дефекты, о которых я говорил.

Каждый организм — и результат и, одновременно, жертва своей собственной истории. На каждом шаге эволюции отбор обеспечивает решение актуальных задач, без учёта перспективы. Заглядывать в будущие перспективы развития в эволюции просто некому (кроме «Создателей» из сказок, нарушающих принцип причинности – один из основных постулатов науки). Главный механизм эволюции — преимущественное выживание и оставление потомства существами, более приспособленными к тому образу жизни, который они ведут в данный момент, в той динамично изменяющейся среде, которая их окружает. Конечно, выживание, помноженное на отрезки времени, слабо понимаемые неискушённым разумом. В каждый следующий момент приспособления, которые были достигнуты на предыдущем этапе, могут оказаться морально безнадёжно устаревшими и стать «ископаемыми» генами.
Исследовать
Total votes 64: ↑62 and ↓2+60
Comments351

Как сделать тестовое окружение максимально похожим на боевое

Reading time7 min
Views22K
image

Одной из возможностей повышения качества выпускаемого продукта является соответствие окружений на боевых серверах и в среде тестирования. Мы постарались минимизировать количество ошибок, связанных с различием конфигураций, путем перехода от нашего старого тестового окружения, где настройки сервисов сильно отличались от боевых, к новому окружению, где конфигурация практически соответствует боевой. Сделали мы это с помощью docker и ansible, получили много профита, но и не избежали различных проблем. Об этом переходе и интересных подробностях я постараюсь рассказать в данной статье.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments2

Установка и настройка LXC на Debian 8

Reading time4 min
Views26K
На предыдущих версиях Debian я успешно использовал технологию виртуализации OpenVZ. Она меня полностью устраивала, несмотря на наличие некоторых спорных моментов. На Debian 8 Jessie установка этой технологии не шла ни под каким соусом. Позже мои догадки о невозможности существования OpenVZ на Debian 8 и старше нашли свое подтверждение на toster.ru. Там же была предложена альтернатива — LXC, что я и решил попробовать.

Кратко опишу способ установки и настройки LXC на Debian Jessie.
Читать дальше →
Total votes 19: ↑13 and ↓6+7
Comments18

Поняв Docker

Reading time14 min
Views222K

Если вы еще никогда не поддерживали чужие приложения, или пусть даже свои, но таких размеров, что уже не помещаются в одной голове, то прошу вас расслабиться, откинуться на спинку кресла и воспринимать прочитанное как поучительную сказку с надуманными проблемами, забавным сюжетом и очевидным счастливым концом. В противном случае, если реальный боевой опыт у вас имеется, добро пожаловать в ад, но с IDDQD и IDKFA.


К вашему сведению! В этой статье мы рассматриваем само явление docker-контейнеров, а не составляем список микросервисов, которые гнездятся внутри. Этим мы займемся в следующей серии, во имя справедливости!


UPDATE: пришлось заменить «докер» на «docker», иначе статья не ищется. Заранее прошу прощения за все «docker'ы» в тексте. Селяви.


Что мы имеем сегодня


  • Зоопарк дубовых VPS-хостингов.
  • Дорогие IaaS и PaaS с гарантированным vendor lock in.
  • Уникальные сервера-снежинки.
  • Ворох устаревших зависимостей на неподдерживаемой операционке.
  • Скрытые связи частей приложения.
  • Незаменимый админ полубог на скейтборде.
  • Радуга окружений: development, testing, integration, staging, production.
  • Генерация конфигов для системы управления конфигами.
  • Feature flagging.
docker run docker
Total votes 92: ↑83 and ↓9+74
Comments245

Эффективное онлайн изучение программирования с помощью Сode Avengers

Reading time3 min
Views27K


В поисках качественных онлайн сервисов по изучению программирования, дизайна и гейм-разработки, я нашел несколько сервисов, выделяющихся качеством материала, об одном из них я решил написать статью и поделиться опытом с вами.
Сегодня речь пойдет о Сode Avengers | https://www.codeavengers.com
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments27

Проецируя Google Material Design на десктопную систему… (часть вторая)

Reading time5 min
Views25K


Краткое содержание первой части: контрактный клиент, редизайн их собственной CRM-ки, стиль Google Material, привычная среда обитания, аудитория — опытные айтишники. Кто не вдохновился первой частью и остальных тоже — приглашаю под кат.
Читать дальше →
Total votes 25: ↑18 and ↓7+11
Comments40

systemd: getty-подобный сервис для htop

Reading time4 min
Views30K

htop — это интерактивная программа для наблюдения за процессами; она — альтернатива программы top. Каждый, кто работает за машиной с линуксом на борту, хоть раз использовал её: будь то поиск процесса (и его последующее убийство) или тщательный мониторинг используемых ресурсов.


Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments27

Умоляю, не тратьте время на чтение плохих книг! И балансируйте-балансируйте-балансируйте…

Reading time4 min
Views6.9K
Давайте так – я не буду строить из себя гуру GTD и прочее-прочее. Я простой любитель железок, который получает кайф от написания топиков на Хабр/Гиктаймс (к сожалению, количество комментариев на Гиктаймс очень маленькое, но возврат Мегамозга сюда позволяет снова надеяться на нормальное общение).



Так вот, я не гуру и не коуч. Однако, в свои овер 35 лет, я понял одну простую штуку – не стоит дочитывать плохие книги. Этот потрясающий по своей новизне вывод следует из простого математического расчета:
Читать дальше →
Total votes 23: ↑12 and ↓11+1
Comments17

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity