Pull to refresh
4
0
Павел Кизернис @pashakiz

Веб-разработчик

Send message

О, «Герои»? Дайте две! Как я писал очередной браузерный клон легендарной стратегии, в который уже почти* можно играть

Level of difficultyEasy
Reading time14 min
Views35K


TL;DR для тех, кому некогда читать™:




Вот как всё начиналось
Total votes 191: ↑191 and ↓0+191
Comments79

Механико-цифровые часы из стальных шариков

Reading time2 min
Views80K
Перевод с сайта про самоделки instructables.com


Как работают часы

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


Total votes 98: ↑98 and ↓0+98
Comments81

Как работать с джуниорами?

Reading time14 min
Views21K
Если попробовать ответить на вопрос в заголовке одним предложении, то получится — доверять, но проверять. Доверьте джуниорам какую-то работу, проверьте, помогите, повторите цикл. Но это грубое и упрощённое правило, потому что в работе с джунами возникает так много тонкостей, что об этом нужно рассказывать обстоятельно.



Рассказывать будет Серёжа Попов, CEO Лига А. и директор по талантам в HTML Academy. В Лига А. работа с джуниорами поставлена на поток: половина фронтендеров компании — это выпускники HTML Academy. Выпускники приходят в компанию на стажировку, где им помогают развиваться, а 95% тех, кто после стажировки ищет другую работу — трудоустраивается.

Серёжа уже больше 3 лет выполняет роль наставника для джуниор-фронтендеров и научился работать с ними так, чтобы новички быстро росли до крутых специалистов и приносили пользу компании. Нюансами, принципами, правилами и секретами работы, он поделился в докладе на TeamLead Conf 2020, а мы расшифровали.
Total votes 32: ↑29 and ↓3+26
Comments52

Простой статический сайт на Webpack 4

Reading time15 min
Views140K


После прочтения ряда статей (например, этой) решил перейти на современный подход с использованием Node.js при написании простых сайтов с подхода «динозавров». Ниже представлен разбор примера сборки простого статического сайта с помощью Webpack 4. Статья написана, так как инструкции с решением моей задачи не нашел: пришлось собирать всё по кусочкам.

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments88

Коронавирус: опасная иллюзия смертности

Reading time12 min
Views1M
Безответственная пресса начинает заполнять наше информационное поле новостями о погибших от коронавируса, хотя таких сведений не озвучивает ни лечащий врач, ни ВОЗ. Из-за своей невнимательности журналисты де-факто самостоятельно называют причины смерти. И эта маленькая неточность в формулировке имеет колоссальное значение для общества. Сегодня крайне важно не путать общую смертность людей с подтверждённым коронавирусом и смертность непосредственно от коронавируса.

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

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

В своей предыдущей статье «Коронавирус: как мы себя обманываем» я уже демонстрировал разницу между смертностями на примере демографических данных Италии по одной возрастной группе. А сейчас я хочу поделиться свежим графиком Дэвида Шпигельхальтера, именитого статистика из Университета Кембриджа. В его распоряжении был полный объём данных по Великобритании от Имперского колледжа Лондона.

Таблица с данными + те же значения на логарифмической шкале
Читать дальше →
Total votes 474: ↑246 and ↓228+18
Comments2163

Git Rebase: руководство по использованию

Reading time8 min
Views795K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


Читать дальше →
Total votes 122: ↑121 and ↓1+120
Comments169

Расставляем точки на Li: Нужна ли тренировка литиевых аккумуляторов?

Reading time7 min
Views755K
Прошло уже достаточно времени с тех времен, когда Ni-Cd и Ni-Mh аккумуляторы безраздельно властвовали в мобильных устройствах, но с самого начала эпохи Li-ion и Li-pol все не утихают споры по поводу того, надо ли «тренировать» эти аккумуляторы сразу после покупки.
Доходит до смешного, в теме обсуждения ZP100 на china-iphone всем новичкам рекомендовали в приказном тоне пройти 10 циклов зарядки-разряда, а только потом приходить с вопросами о аккумуляторах.



Давайте попробуем разобраться, имеет ли такая рекомендация право на жизнь, или это рефлексы спинного мозга (за отсутствием головного, наверное) некоторых индивидуумов, у которых они остались со времен никелевых батарей.
Читать дальше →
Total votes 328: ↑306 and ↓22+284
Comments194

Новый MTProto-прокси сервер от Telegram

Reading time5 min
Views159K
Прокси-сервер является посредником между клиентом и сервером. Для обхода ограничений прокси-сервер должен быть установлен там, где нет ограничений доступа к требуемой информации, при этом не должно быть таковых ограничений и между клиентом и прокси-сервером.

image

Обновлённая поддержка прокси-серверов в клиентах Telegram


  • Новый MTProto-прокси. Работает с родным для Telegram протоколом MTProto
  • Открытый исходный код сервера на GitHub
  • Docker-образ на DockerHub
  • В мобильных клиентах появилась возможность добавлять несколько прокси-серверов каждого типа. Пользователь может выбрать наиболее подходящий
Читать дальше →
Total votes 106: ↑98 and ↓8+90
Comments261

Outline: Делаем свой личный VPN от Google за 5$ в месяц (и за 1€ для продвинутых)

Reading time3 min
Views187K
image

В последнее время использовать VPN стало популярно с чего бы это?, но все инструкции которые мне попадались — могут «осилить» только пользователи хотя бы чуть-чуть знакомые с тем что такое Linux. Компания Google всех порадовала, выпустив прекрасное приложение, которое позволяет вам установить VPN в два клика (правда в два!) на своем личном сервере без каких либо знаний.
(Если у вас нет сервера — не беда, появится)
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments124

И снова о блокировке Telegram. Разворачиваем собственный VPN

Reading time3 min
Views81K


О том, что мессенджер Telegram заблокирован на территории России, сейчас не говорит и не пишет только ленивый. Общее количество пользователей мессенджера в РФ по словам Павла Дурова составляет примерно 15 млн, что весьма немаленькая цифра. Если Telegram сделать недоступным, то все эти люди (то есть и мы с вами) будут недовольны. Собственно, они уже недовольны.

Но проблему можно решить. Например, есть возможность воспользоваться плагином для браузера со встроенным VPN. Ну а если хочется чего-то более интересного, то можно попробовать поднять собственный VPN-сервер.
Читать дальше →
Total votes 68: ↑63 and ↓5+58
Comments89

Масштабирование текста в блоке с помощью Jquery

Reading time3 min
Views15K
Недавно получил заказ, где между всего прочего нужно было сделать блок, в котором текст должен масштабироваться внутри блока. Т.е не зависит, сколько текста в блоке – весь текст должен быть видимым! Сначала думал считать символы, строки… Сверстал блок в котором должен находиться контент и при вводе текста заметил, что блок растягивается в зависимости от наполнения. Родилась идея сделать функцию, которая будет подбирать размер шрифта, сравнивая исходную высоту блока и настоящую. Так родилась вот эта функция:

image

Читать дальше →
Total votes 30: ↑18 and ↓12+6
Comments13

Хакерский квест

Reading time1 min
Views5.6K
image

Недавно обнаружил в сети очередную убивалку времени. На этот раз вашему вниманию предлагается интересный хакерский квест, сделанный с юмором. В рунете упоминания о нем практически не встречаются. Состоит из 5 «разгревочных» уровней и 50 посложнее, для прохождения которых придется применить знания из самых разных областей.

После решения первых 5 уровней предоставляется возможность зарегистрироваться и получить в качестве приятного бонуса shell аккаунт на сервере с Debian Lenny. Дисковая квота до 2 Гб, подробнее про сервер можно узнать тут.

Желаю удачи :)
Total votes 59: ↑54 and ↓5+49
Comments339

Способы сокрытия IP-адреса в сети Internet

Reading time7 min
Views156K
Прежде чем мы подробно рассмотрим известные технологии сокрытия своего настоящего IP-адреса, нам следует узнать свой IP-адрес и выяснить некоторые вещи, обличающие наш компьютер в сети, например адрес DNS-сервера. Для этого достаточно зайти на любой сервис проверки анонимности, например www.whoer.net, главное чтобы он обладал интерактивной проверкой вашего компьютера с помощью Java, ActiveX, Flash и Javascipt. Изменить свой IP-адрес, например с помощью Socks или VPN, недостаточно, т.к. существует множество технологий, позволяющих его выявить, которые нужно либо отключить на своем компьютере, либо обмануть. Также не лишним будет изменить передаваемые НТТР-заголовки, это позволит «сбить» определение установленного ПО и географическое место расположения компьютера. Более детально проверить свой компьютер можно в расширенной версии www.whoer.net/ext.

Читать дальше →
Total votes 108: ↑85 and ↓23+62
Comments135

ДНК глазами программиста

Reading time15 min
Views88K
От переводчика: Так как я не являюсь биологом, возможны неточности в переводе терминов (и не только :). Оригинал находится здесь.

Если ты – молоток, то во всём увидишь гвоздь


Это всего лишь размышления программиста о ДНК. Я не являюсь молекулярным генетиком.

Исходный код


Находится здесь. Это не шутка. Исходники можно просмотреть с использованием замечательного набора скриптов Perl под названием "Ensembl". Геном человека занимает приблизительно 3 гигабайта, которые можно сократить до 750 мегабайт, если отбросить шелуху. Немного печалит, что это всего лишь 2.8 браузеров Mozilla Firefox.

ДНК похожа скорее не на исходники на языке C, а на байт-код для виртуальной машины под названием «ядро клетки». Крайне сомнительно, что существуют исходники, которые можно скомпилировать в этот байт-код: то, что мы видим, – это всё, что у нас есть.
Читать дальше →
Total votes 115: ↑114 and ↓1+113
Comments308

Формирование изображений без объективов

Reading time14 min
Views32K

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


Ещё средневековые ремесленники умели создавать стеклянные линзы и искривлённые зеркала для проецирования изображений. Такие конструкции использовались для изготовления микроскопов, камер-обскур, телескопов и прочих инструментов, позволяющих нам лучше увидеть очень маленькие и большие объекты, расположенные вдалеке и поблизости, на Земле и в небесах. Следующая революция в формировании изображений произошла примерно в середине XIX века: была изобретена фотография. Появилась возможность запечатлевать «остановленные моменты», воспроизводить их и тиражировать. Сегодня эра химической фотографии подходит к завершению, расцветает новая эпоха — цифровое формирование изображений. Его корни лежат в технологии телевидения, но мы будем считать началом эпохи 1975 год, когда появилась первая цифровая фотокамера. Сегодня миллиарды веб-камер и камер в мобильных телефонах по всему миру снимают более триллиона изображений в год, и многие из них сразу же выкладываются в интернет. Несмотря на взрывной рост количества, разнообразия и способов применения систем формирования изображений, задачи инженеров-оптиков остаются по большей части неизменными: создавать высококачественное оптическое изображение, как можно точнее передающее снимаемую сцену — чтобы «выглядело хорошо».

Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments215

Реакции глаза на разные программы психики, и что надо знать в быту

Reading time6 min
Views60K

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

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

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

Ниже я хочу рассказать о довольно общих, но не всегда очевидных вещах для моих пациентов. И также о том, откуда берутся разные рекомендации. Я окулист, сегодня попробую рассказать об иннервации глаза и слёзозамещении. В исследовательском направлении мы работаем с глазами в реанимации, при тяжёлых системных заболеваниях организма (в том числе у детей), плюс я просто принимаю как врач.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments25

Ковры и зрение, как умываться, чистить очки и гладить кошку

Reading time5 min
Views52K


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

Например, приходит взрослый уже человек, у которого в анамнезе 7 лет ношения линз, и говорит: «Что-то я видеть стал хуже». А у него там красивый гнойный конъюнктивит. Я прошу его снять линзы, чтобы всё это рассмотреть, так он плюёт на палец и собирается лезть им в глаз. С причинами воспаления сразу всё становится понятно.

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

В общем, дальше — ликбезы.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments128

Как устроена и как работает слеза, и что бывает, когда глаз сохнет

Reading time7 min
Views37K
Я около 5 лет занимаюсь биополимерами для лечения глаз. В конце расскажу немного, что такого удивительного есть в России в этом направлении.

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

Она работает барьером от пыли, защищает глаз от царапин как смазка, убивает экзогенные бактерии своими иммунными реакциями. При движении век жидкость размазывается по поверхности роговицы и образует перикорнеальную плёнку, которая выравнивает переднюю линзу глаза. Это важно, потому что неровности от 0,3 мкм² по площади уже хорошо заметны и искажают зрение. Кроме того, влажность важна для слоя неороговевающего эпителия глаза — благодаря этому слою наши глаза в конечном итоге могут получать достаточно кислорода.

Вопреки распространённому мнению, слёзная железа делает довольно мало для постоянной защиты глаза. Это своего рода резервный накопитель для жидкости, необходимой для промывания глаза, либо для повышения иммунитета глаза (к примеру, в результате эмоционального потрясения). Основная же слёзная жидкость, которая делает глаз влажным постоянно, поступает из относительно небольших желез Краузе и Вольфринга.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments23

Создаем CSS кейлоггер

Reading time4 min
Views33K

Часто бывает так, что внешние JS файлы выглядят как угроза для клиента, в то время как внешнему CSS не придают особого значения. Казалось бы, как CSS правила могут угрожать безопасности вашего приложения, и собирать логины? Если вы считаете что это невозможно, то пост будет вам полезен.


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

Читать дальше →
Total votes 88: ↑87 and ↓1+86
Comments32

Отслеживаем действия пользователя с помощью CSS

Reading time4 min
Views26K

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


Также здесь мы рассмотрим метод, как получить поведенческую информацию от пользователей используя только HTML и CSS.


Возможно, после прочтения поста, вам покажется что я "изобрел колесо". Так и есть, методы описанные в этом посте не новы, и используют спецификации которые поддерживают практически все браузеры.


Так или иначе, эта информация поможет вам понять один нестандартный метод отслеживания поведения пользователей, который на данный момент нельзя "отключить" (в настройках) или заблокировать (плагинами вроде AdBlock или Ghostery).

Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments49
1

Information

Rating
Does not participate
Location
Донецк, Донецкая обл., Украина
Date of birth
Registered
Activity