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

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

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

Польза от вредного: психоделики и критические периоды

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


За долгие годы своего существования наука повидала немало экспериментов. Некоторые из них привели к удивительным результатам, другие — к катастрофе. Ирония заключается в том, что многие положительные и отрицательные аспекты современного мира существуют исключительно благодаря человеческому любопытству и неудержимому желанию все понять, а еще все потрогать и попробовать на вкус. К примеру, фосфор был открыт Хеннигом Брандом в 1669 году, который пытался создать философский камень из мочи человека. Безумие ли это? Возможно, но любое научное изыскание содержит в себе щепотку безумия. От уринотерапии перейдем к психоделикам. Эти наркотического действия препараты, как природного, так и синтетического происхождения, обладают способностью менять человеческое сознание на определенный период времени. История применения человеком данных веществ насчитывает тысячи лет, а цели варьируются от духовного просвещения до лечения различных заболеваний. Ученые из Школы медицины Джонса Хопкинса (Балтимор, США) провели исследование на мышах, в ходе которого установили, что психоделики позволяют возобновлять критические периоды, связанные с развитием мозга и обучением на базе социального вознаграждения. Что это за периоды, о каком обучении идет речь, и как результаты этого труда могут помочь в медицине? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+31
Комментарии25

C++0x (С++11). Лямбда-выражения

Время на прочтение13 мин
Количество просмотров304K
Буквально на днях случайно наткнулся на Хабре на статью о лямбда-выражениях из нового (будущего) стандарта C++. Статья хорошая и даёт понять преимущества лямбда-выражений, однако, мне показалось, что статья недостаточно полная, поэтому я решил попробовать более детально изложить материал.

Читать дальше
Всего голосов 75: ↑71 и ↓4+67
Комментарии83

Векторное управление электродвигателем «на пальцах»

Время на прочтение17 мин
Количество просмотров328K
— Что такое векторное управление?
— Держать ток под 90 градусов.


Термин «векторное управление» электродвигателями знаком всем, кто хоть как-то интересовался вопросом, как с помощью микроконтроллера управлять двигателем переменного тока. Однако обычно в любой книге по электроприводу глава про векторное управление находится где-нибудь ближе к концу, состоит из кучи волосатых формул с отсылками ко всем остальным главам книги. Отчего разбираться в этом вопросе совсем не хочется. И даже самые простые объяснения всё равно держат путь через дифференциальные уравнения равновесия, векторные диаграммы и кучу другой математики. Из-за чего появляются примерно вот такие вот попытки как-то закрутить двигатель без использования мат.части. Но на самом деле векторное управление – это очень просто, если понимать принцип его работы «на пальцах». А там уже и с формулами разбираться в случае надобности будет веселее.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии48

В США умер безумный математик-террорист Качинский, который кошмарил страну в течение 17 лет! Его цитировал даже Брейвик

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


Математик, окончивший Гарвард, а затем террорист, на протяжении 17 лет державший в страхе население США. Теодор Качинский (Унабомбер) умер в федеральном тюремном медицинском центре в Батнере утром 10 июня.

История неуловимого террориста и неплохого математика...

Читать далее
Всего голосов 51: ↑33 и ↓18+24
Комментарии267

Быть инженером, а не фреймворкером

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров29K

Эта статья — призыв к самосовершенствованию. У вас все получится. Станьте инженером.

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

Что же такое фреймворки? Фреймворки — это инструменты разработки ПО, которые обеспечивают базу для реализации проектов определенного типа. Так, если вам нужно написать одностраничное веб-приложение на TypeScript, необязательно делать это с нуля, ведь есть Angular. Хотите заняться машинным обучением на Python? Позвольте представить вам моих друзей Scikit-Learn и Keras. Хотите построить бэкенд на C#? (О боже, вы чертовски круты.) Уверен, вы уже знакомы с ASP.NET. Можно продолжать эту мысль на протяжении еще 1500 слов, но вы и так все прекрасно поняли.

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

Это похоже на путешествие. Из фреймворкеров в программисты, из программистов в инженеры. Взглянем на каждую из этих ступеней. Я расскажу о каждой из них и о том, как должен выглядеть профессиональный рост на данной ступени.

Читать далее
Всего голосов 27: ↑26 и ↓1+30
Комментарии46

21 фича современного C++, которые вам обязательно пригодятся

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

Итак, судьба снова свела вас с C++, и вы поражены его возможностями с точки зрения производительности, удобства и выразительности кода. Но вот незадача: вы теряетесь в этом многообразии замечательных новых фич и, как следствие, затрудняетесь сходу определить, что из этого всего вам действительно стоило бы взять на вооружение в своей повседневной работе по написанию кода. Не стоит расстраиваться, в этой статье вашему вниманию будут представлены 21 новая фича современного C++, которые помогут сделать ваш проект лучше, а работу над ним легче.

Сообщество C++ дополняет стандарт чаще, чем Apple выпускает новые iPhone. Благодаря этому C++ теперь больше похож на большого слона, а съесть целого слона за один присест невозможно. Вот почему я решил написать эту статью, чтобы дать вашему путешествию по современному C++ своего рода отправную точку. Моя целевая аудитория здесь — люди, которые переходят со старого (т.е. 98/03) С++ на современный (т.е. 2011 и далее) С++.

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

Читать далее
Всего голосов 52: ↑47 и ↓5+53
Комментарии160

Стратегии развертывания (деплоя) и стратегии кэширования

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.6K

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

Читать далее
Всего голосов 13: ↑10 и ↓3+10
Комментарии1

Система оповещения открытых портов на Alma Linux. Теория и реализация

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров4.4K

Привет, Хабр! В данной статье я постарался максимально подробно описать создание данной системы, при этом параллельно предоставить читателю хорошую теоретическую базу и понимание происходящего. Также хотел бы уточнить, что поскольку в статье объясняются достаточно базовые вещи и задействован относительно маленький спектр инструментов, то статья будет полезна в большей степени новичкам.

Как результат, в конце мы получим систему, которая каждый указанный промежуток времени будет запускать скрипт с сканером портов и проверять список IP-адресов, отправляя сообщение в беседу telegram о всех открытых портах на указанных адресах.

Читать далее
Всего голосов 11: ↑7 и ↓4+8
Комментарии5

Чему я научился после проведения тысячи собеседований: часть первая

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров74K
Найм сотрудников – одна из самых важных задач, которую приходится выполнять менеджеру или предпринимателю. Ее исход решает, будет ли успешным ваш стартап, команда или проект.

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

Как мне удалось дойти до рубежа в тысячу собеседований? Сначала я был техническим руководителем в стартапе, и на мои плечи ложилось комплектование технических команд, а затем, когда стартап выкупили, мне пришлось формировать весьма объемный штат программистов для офиса в Европе. В среднем для заполнения одной должности нужно было проводить по шесть-семь собеседований, а нанял я суммарно более ста пятидесяти человек разного уровня, с разными знаниями, навыками и функциями.
Читать дальше →
Всего голосов 32: ↑24 и ↓8+26
Комментарии53

Что для вас Linux? Или как устроен запуск процессов

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров39K

Как бы вы ответили на вопрос, что такое операционная система?

Скорее всего, вы легко сможете ответить на этот вопрос человеку далекому от IT, но подобный вопрос вам может задать, например, HR - в попытке переманить вас в какой-нибудь Facebook или Google. С одной стороны, ответить на этот вопрос очень легко и в интернете можно найти много определений, но относится ли, например, конфигурация DNS и файл /etc/resolv.conf к ОС ? Или в какой области памяти работает ОС - в памяти с безграничными возможностями для кода, называемой kernel space, или все же в лимитированной user space?

На эти вопросы даже в этой статье вы не найдете однозначного ответа, и только вам решать, что для вас ОС, а что пользовательские приложения. Но в конце статьи я все же приведу свои аргументы, почему важно знать, как это работает, даже если вы сеньор программист/админ/девопс, проживший без этих знаний 35 лет и весьма успешно запустивший множество проектов. 

Читать далее
Всего голосов 78: ↑78 и ↓0+78
Комментарии20

О вычислительной природе реальности

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

Я объясняю экспериментальные результаты проверки теоремы Белла супердетерминизмом. Далее я показываю, как такая Вселенная может возникнуть и быть совместимой с субъективным опытом свободы воли.

Читать далее
Всего голосов 66: ↑57 и ↓9+67
Комментарии307

«Сначала на себя, потом на ребёнка»: как мы запустили DevOps для себя, а потом начали продавать клиентам

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.9K

Привет! Меня зовут Сергей, я занимаюсь направлением DevOps в KTS.

Из-за того, что наша компания занимается аутсорсом разработки, в работе одновременно много проектов. На разработку и поддержку каждого требуется много времени и ресурсов. 

Мы уделяем большое внимание инфраструктуре и различным способам повышения эффективности разработки. В общем, по сути это и есть DevOps — Development & Operations. Только отдельных специалистов для этого у нас не было, и задачи закрывали хаотично и силами лидов.

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

В статье рассказываю, как запустить новую услугу в компании по уму, а не как это обычно бывает.

Читать далее
Всего голосов 24: ↑23 и ↓1+24
Комментарии0

Какая ты кривая, или математика вокруг нас

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров22K

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

Читать далее
Всего голосов 94: ↑94 и ↓0+94
Комментарии37

За золотым щитом сидели, или Что происходит в китайском интернете

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

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

Читать далее
Всего голосов 23: ↑22 и ↓1+29
Комментарии20

Как работает FPGA?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров34K

Введение


Давайте начнём с самого начала. Что такое FPGA? FPGA расшифровывается как Field Programmable Gate Array (программируемая пользователем вентильная матрица).

FPGA относятся к классу устройств программируемой логики, иногда называемых программируемым оборудованием. По сути, сама по себе FPGA ничего не делает, но может быть сконфигурирована так, чтобы превратиться практически в любую нужную цифровую цепь. Магия заключается в том, что физически при этом ничего не меняется. Достаточно просто загрузить конфигурацию в FPGA, и она начнёт вести себя так, как нужная вам цепь. Не нужны ни пайка, ни перемычки, ни возня с другими соединениями. FPGA можно переконфигурировать так, чтобы она вела себя, как другая цепь, и делать это множество раз. Конфигурация хранится в ОЗУ, то есть, по сути, устройство можно переконфигурировать бесконечно.

На плате Alchitry Cu выделена FPGA Lattice iCE40 HX На плате Alchitry Au выделена FPGA Xilinx Artix 7
Хотя мы говорили об использовании FPGA для создания цифровых цепей, обычно для разработки их архитектуры не рисуют схемы. Если бы нам пришлось чертить схему, то размер и сложность цепей, которые могут содержать FPGA, стали бы очень громоздкими. Вместо этого мы можем описать поведение нужной нам цепи, а инструменты используют это описание для создания цепи, соответствующей этому поведению.

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

Если создание оборудования при помощи текста кажется вам магией, не волнуйтесь. Концепция его работы на самом деле довольно проста, и в этом туториале мы подробно о ней расскажем.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+59
Комментарии13

Wireshark — подробное руководство по началу использования

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров211K

Wireshark – это широко распространённый инструмент для захвата и анализа сетевого трафика, который активно используется как для образовательных целей, так и для устранения неполадок на компьютере или в сети. Wireshark работает практически со всеми протоколами модели OSI, обладает понятным для обычного пользователя интерфейсом и удобной системой фильтрации данных. Помимо всего этого, программа является кроссплатформенной и поддерживает следующие операционные системы: Windows, Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD.

Читать далее
Всего голосов 32: ↑30 и ↓2+36
Комментарии21

Как «эффективный менеджмент» создаёт катастрофы: изучаем причины техногенных аварий. Часть 1

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров75K

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

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

Конечно, крушение ИТ‑компании, логистического оператора или юридической консалтинговой фирмы не будут так же эффектны или так же опасны, но вряд ли от этого собственники и адекватные руководители захотят наступления своих критических рисков и краха всего бизнеса.

Погрузиться в бездны катастроф
Всего голосов 192: ↑188 и ↓4+231
Комментарии374

Менеджеры заметок, BrainMap'ы, RoadMap'ы, вот это всё

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.7K

Изначально, я все идеи и мысли писал в блокноте, так как боялся потерять какую-либо мысль из головы, а вдруг она понадобится?

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии35

Поговорим об оптимизирующих компиляторах. Сказ первый: SSA-форма

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров17K

Всем привет. Сегодня я хотел бы поговорить об устройстве современных оптимизирующих компиляторов. Я никогда не публиковался на Хабре ранее, но надеюсь, что мне удастся написать серию статей, которая просуммирует мой опыт в этой области.

Коротко обо мне. Меня зовут Макс, и так получилось, что я вот уже 10 лет, почти с самого начала своей карьеры, занимаюсь оптимизирующими компиляторами. Я начинал в Intel, потом перешёл в Azul Systems, год провёл в Cadence и вернулся обратно, всё это время занимаясь компиляторными оптимизациями для Java, C++ и нейросетевых моделей. На момент написания статьи у меня чуть за 900 патчей в LLVM, большинство из них посвящено цикловым оптимизациям.

За это время я провёл десятки собеседований на позиции как интернов, так и инженеров сеньорного уровня, и довольно часто люди, приходя на эти собеседования, многих вещей не знают или знают поверхностно. И я подумал: а мог бы я написать такой цикл статей, чтобы человек, прочитав их, узнал бы всю ту базу, которая, на мой собственный взгляд, необходимо начинающему компиляторному инженеру? Очень бы хотелось, чтобы новичку в этой области можно бы было дать один (относительно небольшой по объёму) набор текстов, чтобы он получил оттуда всё необходимое для старта. Это не перевод, текст оригинальный, поэтому в нём могут быть ошибки и неточности, которые я буду рад исправить, если вы мне их укажете.

Итак, поехали.

Погрузиться
Всего голосов 93: ↑91 и ↓2+117
Комментарии58

Информация

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

Специализация

Специалист
Intern
C++
OOP
Git
GitHub
Python