Pull to refresh
163
0
Валерий Макаров @valemak

Программист

Send message

Как я пытался придумать новый подход к изучению алгоритмов через интерактивные визуализации

Reading time4 min
Views28K

Представьте человека, который изучает алгоритмы. Чтобы понять как они работают, приходится разбираться в их коде и представлять, как компьютер будет его выполнять. Это странно — почему мы должны учиться думать как компьютер, вместо того, чтобы заставить его помогать нам? Какая-то сильная технозависимость.

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

Читать далее

Как айтишнику издать свою книгу. Часть первая: куда податься

Reading time9 min
Views16K

Пожалуй, многих хотя бы раз посещала мысль поделиться своим опытом. Помочь коллегам и подрастающему поколению собранными граблями, изложить сообществу любопытные (а может и поворотные, как знать!) идеи, оставить что-то “после”.

Книга, опыт выпуска которой и послужил источником данного материала, в статье ранее https://habr.com/ru/post/512460/ набрала тысячи скачиваний и десятки благодарных отзывов. 

Для тех, кто хочет узнать, как работает книжное дело сейчас, выкладывать ли онлайн самому или сотрудничать с издательством, сколько получают авторы, как попасть на полки Буквоеда, Читай-города, в главные интернет-магазины, и все ли решают лайки — прошу:

Сравнить опенсорсный и проприетарный пути

Как защититься от синдрома запястного канала? 

Reading time9 min
Views61K


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

Причины и симптоматика синдрома запястного канала


Для начала давайте определимся с терминологией, дабы в дальнейшем не возникало путаницы. Туннельный синдром (или компрессионно-ишемическая невропатия) — это совокупность клинических проявлений, обусловленных сдавлением или ущемлением нерва в узком анатомическом пространстве, образованном плотными структурами, в роли которых выступают кости, сухожилия, связки или мышцы. 

Человеческий организм имеет огромное количество подобных мест: на одной лишь руке могут развиться 8 разных туннельных синдромов. Поэтому с медицинской точки зрения называть синдром запястного канала, о котором пойдет речь в сегодняшней статье, просто туннельным синдромом, без уточнения локализации патологического процесса, некорректно. Хотя справедливости ради стоит сказать, что именно карпальный туннельный синдром (так называют синдром запястного канала неврологи) является самой распространенной формой компрессионно-ишемической невропатии из всех существующих: его общая доля в популяции составляет около 5%, а ежегодный прирост заболеваемости достигает 3 случаев на каждую тысячу населения.
Читать дальше →

CSS, JavaScript и блокировка парсинга веб-страниц

Reading time5 min
Views16K
Недавно мне попался материал, посвящённый проблеме загрузки CSS-файлов, которая замедляет обработку материалов страниц. Я читал ту статью, стремясь научиться чему-то новому, но мне показалось, что то, о чём там говорилось, не вполне соответствует истине. Поэтому я провёл собственное исследование этой темы и поэкспериментировал с загрузкой CSS и JavaScript.


Читать дальше →

Ядерная бомба для джихада

Reading time9 min
Views34K

Автор: Владимир Герасименко

28 мая 1998 года на засекреченном военном полигоне у города Чагай в Пакистане группа из двух десятков военных и гражданских кричали Аллах-Акбар и поздравляли друг друга с успехом. Среди ликующих выделялся высокий немолодой мужчина с орлиным взором, которого чествовали как героя. Для него это был грандиозный финал почти 30-летнего пути, это был триумф – триумф его воли и амбиций. Именно он – Абдул Кадыр Хан подарил ядерную бомбу Пакистану! 6 лет спустя Хан будет лишён всех своих постов и арестован за торговлю ядерными секретами. В этой истории будет всё, что вы любите – шпионаж, некомпетентность, политические сделки, преступления и много-много фраз [ЦРУ отрицает это]. Поэтому присаживайтесь поудобнее – нас ждёт путешествие длиною в 30 лет.

Читать далее

Теория вселенной часть 2, продолжение. Энергия-Пространство

Reading time15 min
Views22K


Вселенная – это единая система Энергия-Пространство, именно вместе, так как одно и тоже. Энергия это и есть пространство, это и есть вселенная.

Что такое энергия? Под энергией мы часто понимаем нефть, газ, тепло и электричество в нашей розетке, многие подумают о формуле E=mc2, и так что же это такое в самом базовом виде…
Попробуйте представить себе полотно, к примеру, скатерть или одеяло абсолютно плоским и ровным, это будет нашей пустой системой координат, если сжать это полотно в каком-то месте создав уплотнение, сгусток, мы и получим энергию, т.е. само сжатие, изменения пространства и есть энергия, отпустив полотно это сжатие распрямится обратно в абсолютно плоскую поверхность, при этом по поверхности пойдет волна, пропорциональна равная сжатию, это волна тоже и есть энергия, распространяясь, волна сжимает и распрямляет обратно поверхность, пространство, скорость распространения такой волны равна скорости света.
Читать дальше →

Психотронная тюрьма риторики: история о том, что мешает нам мыслить здраво

Reading time13 min
Views73K

Аристотель придумал, что в риторике есть четыре главных способа убеждения. Пафос — через эмоции и повествование. Логос — через факты и логику. Этос — через авторитет того, что убеждает. Есть еще кайрос, фактор контекста: того, когда вас пытаются убедить и при каких условиях.

Познакомился я с ними, когда работал академконсультантом в США: помогал получать высшее образование так, чтобы иметь хорошие оценки и не тратить слишком много денег. В колледжах США риторику изучают все гуманитарии на первом курсе, иногда даже технари. И так как всю риторику сводили именно к способам убеждения, мои клиенты из Ближнего Востока и Китая часто этим возмущались. И спрашивали меня, какой скрытый смысл в том, чтобы изучать такие очевидные вещи.

Что же, ответ у меня есть. Я считаю, что этос — это бич мыслящего человека. Кайрос — кандалы, который выковал информационный век. А понимание того, как работает риторика — базовый инструмент критического мышления. Особенно для IT-специалиста.

Я так много рассказывал об этом на кухнях и в чатах, что решил написать статью. А получился лонгрид с научными исследованиями, разбором влияния алгоритмических новостных лент, и безумным комиксом из мемов, который я делал 4 часа в Фигме. Поехали!

UPD Большое спасибо всем тем людям, что помогли мне исправить ошибки и очепятки! Только на Хабре так стремятся помочь, и это неоценимо.
Читать дальше →

Век пластика: от паркезина до загрязнения природы

Reading time8 min
Views23K

Весь двадцатый и начало двадцать первого века справедливо называют Веком пластика из-за повсеместного использования этого семейства материалов.

Пластики проникли во все аспекты жизни общества. Мы спим на заполненных пластиком подушках, чистим зубы пластиковыми щётками, печатаем на пластиковых клавиатурах, пьём и едим из пластиковых контейнеров — невозможно прожить хотя бы один день, не встретившись с пластиком в том или ином виде.

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

Как мы пришли к такому положению дел? Когда пластики стали неизменным спутником современного общества? Какими могут быть решения проблемы влияния пластика на окружающую среду?

Читать дальше →

Как в PHP улучшить читаемость регулярных выражений

Reading time11 min
Views8.3K

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

PHP использует диалект регулярных выражений PCRE — до версии PHP 7.3, и PCRE2 — в более новых версиях. Поэтому в PHP можно использовать различные продвинутые приемы, помогающие писать читаемые, самодокументируемые и поддерживаемые регулярные выражения. При этом не надо также забывать и о наличии в PHP функций фильтрации переменных, а также семейства функций ctype*, позволяющих валидировать такие распространенные значения как url-ссылки, адреса электронной почты и строки из букв и цифр — вообще без использований регулярный выражений. Во многих IDE есть подсветка регулярных выражений, помогающая их читать, а иногда даже и проверка выражений, с подсказками по их улучшению.

Читать далее

Неполнота науки: как жил и что доказал Курт Гёдель?

Reading time15 min
Views56K

«Достижения Курта Гёделя в современной логике уникальны и монументальны. Определенно, это — нечто большее, нежели памятник ученому, это — путеводная звезда, свет которой продолжит распространяться в пространстве и времени вечно». 

Джон фон Нейман

Накануне гибели Австро-Венгерская империя подарила человечеству немало великих умов. Такие громкие имена, как Эрвин Шрёдингер, Зигмунд Фрейд и Стефан Цвейг известны, пожалуй, каждому, включая даже тех, кто бесконечно далек от мира физики, психоанализа или классической литературы. С работами же Курта Гёделя знакомы не многие, хотя масштаб его вклада в математическую науку сопоставим с достижениями Эйнштейна в области физики. Ведь если теория относительности и квантовая теория помогли человечеству взглянуть под совершенно иным углом на законы мироздания, то теоремы Гёделя заставили ученых пересмотреть свои представления о научной методологии и принципах работы человеческого разума.

Логика, как образ жизни


Курт Фридрих Гёдель родился 28 апреля 1906 года в австро-венгерском городе Брюнн (ныне — статутный город Чешской Республики Брно), в семье австрийского коммерсанта Рудольфа Августа Гёделя, управляющего крупной текстильной фабрикой. Хотя Курт с детства демонстрировал недюжинные способности к языкам (еще в ранней юности он освоил английский и французский, научившись изъясняться на них не хуже, чем на родном немецком), однако карьера лингвиста его не прельщала. Окончив в 1923 году школу, молодой человек поступил в Венский университет, первые два курса которого посвятил изучению физики, однако затем переключился на математику, чему во многом способствовало прочтение книги Бертрана Рассела «Введение в философию математики».


Молодой Курт Гёдель, 1925 год
Читать дальше →

Dear Haters. За что хейтеры травят юзеров, и как с этим бороться

Reading time10 min
Views11K


Чуть больше недели назад в Фейсбуке прогремела история, на которую откликнулось множество популярных блогеров и простых пользователей. Питерский программист с ДЦП Иван Бакаидов, занимающийся, в том числе, тематикой голосового управления, написал программу для людей с дефектами речи, чтобы помочь им нормально общаться с окружающими. Некоторые пациенты с ДЦП страдают дизартрией — нарушением, делающим речь неразборчивой. Существует и множество других патологий, сопровождающихся речевыми нарушениями, которые не связаны с ДЦП, а вызваны, например, травмами, врожденными и наследственными заболеваниями. Все эти люди хотят говорить, но не могут. Иван решил им помочь. Программу заметили, с Иваном связался вице-президент Google Джейсон Титус и пригласил принять участие в гугловской конференции, а также рассмотреть возможность интеграции его разработки в Google Meet — это облегчит использование приложения для людей с ограниченными возможностями. Иван поделился новостью в социальных сетях. И его начали травить. В первую очередь — «свои», то есть, участники сообществ, страдающие, как и он, детским церебральным параличом. Случай, к сожалению, не единственный и весьма характерный. Откуда же все-таки берутся хейтеры и существуют ли методы борьбы с подобными явлениями природы?
Читать дальше →

Средства парсинга XML в PHP

Reading time8 min
Views7.8K
В личной практике задача разбирать XML средствами PHP возникла еще в 2005. Однако, при попытке разобраться и написать несложный скрипт, загружающий XML-файл в массив, я наткнулся на довольно серьёзную проблему – не существует нормальных программных средств и бинарных библиотек PHP для работы с XML. По мере работы с XML средствами PHP и эволюции PHP применялись различные технологии разбора XML кода, о них далее и пойдет речь.

Сперва приведу сводную таблицу совместимости средств PHP и библиотек XML.

image

Самым совместимым оказался SAX (Simple API for XML), он поддерживается даже в библиотеке EXPAT имеющейся во всех версиях PHP 4 и выше. Однако его возможности и способы применения вызвали резко негативную реакцию – нет возможности модификации XML, крайне громоздкий и сложный код с большим количеством мест для потенциальных ошибок.

Читать дальше →

Как Пифагор, Платон и Будда предвосхитили самую смелую гипотезу современной науки

Reading time16 min
Views78K

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

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

Как появился Пегас?

Величайшим из древнегреческих философов по праву считается ученик Сократа афинянин Платон. Именно благодаря его "Диалогам" до нас дошла большая часть сведений о греческой философской мысли.

Несмотря на то, что Платон изучал и даже преподавал математику, никаких особенных математических достижений он после себя не оставил. Но все же девизом основанной им Академии он избрал фразу "Не геометр да не войдет", тем самым подчеркнув важность математики для познания мира и формирования ума.

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

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

Читать далее

Понимаем красно-черное дерево. Часть 2. Балансировка и вставка

Reading time6 min
Views34K

Это вторая часть из серии статей "Понимаем красно-черное дерево". Если вы пропустили первую часть, настоятельно рекомендую ознакомиться с ней здесь. Там мы разобрали причину появления кчд и расставили по полочкам некоторые его свойства.

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

Читать далее

Хабр, давай поштурмим

Reading time5 min
Views7.9K
Мы написали почти 1800 статей в свой блог на Хабре: профессиональных авторских переводов, серий, статей, фан-контента, спецпроектов. Со стороны может показаться, что это очень просто: нашёл удачную идею и написал, нашёл классный пост и перевёл. Делов-то. Но кто писал на Хабр, тот в Форбсе не смеётся: важно провести фактчекинг, проверить корректность всех формулировок подобрать заголовок и изображение, сверстать, выпустить и F5, F5, F5 в ожидании плюсов минусов, комментариев, багрепортов в личку. И знаете, что самое интересное? Даже спустя пять лет эти ощущения не отпускают: каждый раз как в первый раз.

В общем, идеи начинают иссякать. Поэтому мы просим вас нам помочь.


Читать дальше →

Базовая структура HTML-документа с объяснением каждой строчки

Reading time9 min
Views134K
<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width">

  <title>Unique page title - My Site</title>

  <script type="module">
    document.documentElement.classList.remove('no-js');
    document.documentElement.classList.add('js');
  </script>

  <link rel="stylesheet" href="/assets/css/styles.css">
  <link rel="stylesheet" href="/assets/css/print.css" media="print">

  <meta name="description" content="Page description">
  <meta property="og:title" content="Unique page title - My Site">
  <meta property="og:description" content="Page description">
  <meta property="og:image" content="https://www.mywebsite.com/image.jpg">
  <meta property="og:image:alt" content="Image description">
  <meta property="og:locale" content="en_GB">
  <meta property="og:type" content="website">
  <meta name="twitter:card" content="summary_large_image">
  <meta property="og:url" content="https://www.mywebsite.com/page">
  <link rel="canonical" href="https://www.mywebsite.com/page">

  <link rel="icon" href="/favicon.ico">
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">
  <link rel="manifest" href="/my.webmanifest">
  <meta name="theme-color" content="#FF00FF">
</head>

<body>
  <!-- Content -->
  <script src="/assets/js/xy-polyfill.js" nomodule></script>
  <script src="/assets/js/script.js" type="module"></script>
</body>
</html>


Под катом — разбор каждой строчки
Читать дальше →

Зачем программисту современное искусство?

Reading time10 min
Views4.9K

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

Читать далее

Все английские времена в одной простой схеме

Reading time3 min
Views223K

В своё время я сам здорово намучился с английскими временами. Совершенно не получалось понять, как они формируются. Когда наконец удалось вызубрить все правила, самые простые существующие между временами закономерности всё равно оставались для меня неочевидными.

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

Первоначальная идея. Сначала разъяснить все английские времена за один присест удавалось, надёргав различных идей из интернета: обрывки чьих-то схем, начинали склеиваться в свою схему и обрастать собственными легендами, а применение времён почти всегда было проще пояснить, используя хрестоматийную «систему английских времен с точки зрения употребления глагола “to vodka”». С каждой новой импровизированной лекцией, схема и нарратив продолжали меняться. «Ученики» попадались с различным базовым уровнем, что позволило понять, откуда нужно начинать плясать, чтобы урок был понятен всем, кто хоть раз слышал что-то про глаголы have и be. Когда счёт обученных уже пошёл на десятки, я решил оформить идею в более стройную лекцию. От первых попыток преподавания английских времён, до этого момента прошло пять лет. За это время было обучено ещё пару сотен человек. Обучено — по приколу. Денег за эти уроки я не брал.

Читать далее

Регулярные выражения Python для новичков: что это, зачем и для чего

Reading time9 min
Views53K
image

За последние несколько лет машинное обучение, data science и связанные с этими направлениями отрасли очень сильно шагнули вперед. Все больше компаний и просто разработчиков используют Python и JavaScript для работы с данными.

И вот здесь-то нам как раз и нужны регулярные выражения. Парсинг всего текста или его фрагментов с веб-страниц, анализ данных Twitter или подготовка данных для анализа текста — регулярные выражения приходят на помощь.

Кстати, свои советы по некоторым функциям добавил Алексей Некрасов — лидер направления Python в МТС, программный директор направления Python в Skillbox. Чтобы было понятно, где перевод, а где — комментарии, последние мы выделим цитатой.
Читать дальше →

Откуда берутся хорошие идеи. Конспект книги Стивена Джонсона

Reading time14 min
Views14K

Для своего телеграм-канала я время от времени пишу конспекты интересных мне деловых книг. Одна из них — «Откуда берутся хорошие идеи» Стивена Джонсона. Тираж книги на русском закончился еще в 2014 году, купить можно только на английском языке.

Стивен Джонсон (Steven Johnson) — известный американский ученый и писатель, автор двенадцати книг о взаимодействии науки, техники и человеческого опыта, в том числе, бестселлера «Нет худа без добра: как современная массовая культура делает нас умнее».

Последние десять лет Джонсон изучает историю инноваций. Результаты его исследований и легли в основу бестселлера «Откуда берутся хорошие идеи». Стивен создал несколько сайтов, в том числе, «Магазин исчезнувшей еды», Plastic.com.

Так откуда же берутся хорошие идеи?

Information

Rating
Does not participate
Location
Кировоград, Кировоградская обл., Украина
Date of birth
Registered
Activity