Pull to refresh
-4
0.2
Sergey Cheban @Sergey_Cheban

Software developer (C++)

Send message

Вселенная трансформеров Лахта Центра. Эпизод 1: вверху и внизу

Reading time8 min
Views20K
Вы верите, что трансформеры существуют? А если покажем?

image

Один из них живет в Петербурге, на улице Высотной, дом 1. Если хотите узнать, во что он превращается, как это происходит и других секретах трансформации, приглашаем в гости. Добро пожаловать под кат!
Читать дальше →

Крокодилы летают, но низко-низко (об экранопланах без эмоций, зато с отступлениями)

Reading time17 min
Views78K
Скажу сразу: ничего про «не имеющее аналогов», «бездумно разрушенное» и т.п. – не будет.

Что будет:

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

Итак, от



до


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

Первые десять дней на пути от совы к жаворонку: сон, рацион, режим питания и нагрузка

Reading time10 min
Views25K
Режим дня, режим питания, рацион и физическая нагрузка — это четыре ключевых параметра здоровой жизни. С каждым из них я экспериментировал на протяжении последних трёх лет, учась на своём опыте и изучая чужой — наблюдения, исследования, научные данные и личный опыт других людей. Десять дней назад я решил активировать все четыре, в одночасье поменяв в своей жизни как я сплю, как я питаюсь и какую себе даю нагрузку.

  • 28 июля: вес — 80,5 кг, из них жировой ткани 14,9% и мышц 44,8%. Режим сна как таковой отсутствует.
  • 7 августа, 10 дней спустя: вес — 75,3 кг, из них жировой ткани 13% и мышц 45,8%. Каждый день ложусь спать в течение часа после заката.


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

Рецепты Nginx: авторизация через ЕСИА

Reading time3 min
Views5.7K
Для приготовления авторизации через ЕСИА нам понадобится сам nginx и его плагины encrypted-session, headers-more, auth_request, uuid4, set-misc, echo, json, sign, jwt. (Я дал ссылки на свои форки, т.к. делал некоторые изменения, которые пока не удалось пропихнуть в оригинальные репозитории. Можно также воспользоваться готовым образом.)
Читать дальше →

Топ-10 распространенных ошибок в английском произношении, которые вы можете совершать

Reading time5 min
Views52K
Носители английского поголовно утверждают, что понять человека, который говорит с акцентом, можно. Правда, иногда это трудно. Английский язык разительно отличается от русского и в фонетическом, и в интонационном плане. Носителя любого другого языка всегда слышно сразу: не так произносятся гласные, не так выстроена интонация, отсутствуют нужные или присутствуют ненужные звуки в словах. Оговоримся сразу: без акцента вы не говорите даже по-русски. Но изучая иностранный язык, вы можете научиться неплохо имитировать носителей и говорить с минимальным и не режущим слух акцентом. А пока давайте изучим самые частые ошибки русских студентов, изучающих английский язык.

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

Видеонаблюдение на orange pi zero — дешево и совсем не сердито

Reading time4 min
Views56K
Недавно поставил себе задачу реализовать видеонаблюдение со следующими характеристиками:

  1. Минимальное энергопотребление
  2. Минимальный размер устройства, которое будет принимать видео с камеры (или нескольких камер). С таким небольшим размером, чтобы можно было его, к примеру, запихать в монтажную коробочку 10-10 см или вовсе спрятать в широком кабель-канале (!)
  3. IP-камеры будут подключены по wi-fi, то есть невозможно определить, кто с них смотрит/пишет видео. Запитать их можно от общей сети, будь то подъездное освещение или розетки в офисе
  4. Обязательно должна быть запись видео (в моем случае — на microsd карту), обязательно должна быть возможность просматривать видео через интернет с любой точки мира а также через мобильное приложение
  5. Само собой, должна быть возможность удаленно настраивать и всю систему — добавлять новые камеры, копировать-удалять записи, иметь доступ ко всем настройкам
  6. Минимальная стоимость! А как же? Без этого никуда

Для реализации данной идеи выбор пал на следующие компоненты:
Читать дальше →

Как использовать запятые в английском: 15 правил и примеры ошибок

Reading time5 min
Views80K


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

В общем, здесь немало трудных моментов, разобраться с которыми самостоятельно может быть нелегко. Я нашла интересный пост с правилами использования запятых в английском языке и примерами ошибок. Представляю вашему вниманию его адаптированный перевод.
Читать дальше →

Возможности Python 3, достойные того, чтобы ими пользовались

Reading time5 min
Views45K
Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как код со скобками, написанный на Python 2. По его словам, он и сам грешит чем-то подобным. Здесь он приводит примеры некоторых замечательных возможностей, доступных лишь тем, кто пользуется Python 3. Он надеется, что эти возможности облегчат жизнь тем, кто о них узнает.



Все примеры, приведённые в этом материале, написаны с использованием Python 3.7. В описании каждой возможности имеются сведения о минимальной версии Python, необходимой для её применения.
Читать дальше →

Моментальный клей и сода: дополнительные штрихи

Reading time3 min
Views157K
Про моментальный клей с содой разве что ещё анекдотов не насочиняли, но все молчат про одну интересную особенность. Итак, смесь цианоакрилата с содой моментально полимеризуется (твердеет), выделяя тепло и отлично схватываясь молекулярными связями с близлежащими слоями. Но не с любыми. С ABS-пластиком — хорошо, а с полипропиленом — плохо. Ну и что с того? При послойной заливке (точнее, «закапке») соблюдать точную форму детали непросто. Много излишков в конце приходится удалять механически (напильником). А как насчёт «опалубки» из таких же подручных материалов? Кустарная 3D-печать из кармана.


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

Довольно вычурные «Начала» Евклида в TeX-е

Reading time7 min
Views18K


«какая-то странная антикварная х██ня, написанная ирландским кулибиным в 1847 ну, хорошо, что и такая бывает, конечно» Миша Вербицкий

В 16-м году мне на глаза попались «Начала» Евклида в интерпретации Оливера Бирна. Фишка этой книги в том, что вместо буквенных обозначений навроде «треугольник ABC» там прямо в текст помещаются миниатюры частей построения, то есть, например, картинка с соответствующим треугольником. Насколько сделать такую книгу, как можно представить, было адовой работой в середине XIX века, настолько же легко, с правильными инструментами, это должно бы быть теперь. И, в общем, решил я в этом убедиться наверняка.
Читать дальше →

Как работает yield

Reading time6 min
Views723K
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.

Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?

Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist):
    if self._leftchild and distance - max_dist < self._median:
        yield self._leftchild
    if self._rightchild and distance + max_dist >= self._median:
        yield self._rightchild

Вызывается он так:
result, candidates = list(), [self]
while candidates:
    node = candidates.pop()
    distance = node._get_dist(obj)
    if distance <= max_dist and distance >= min_dist:
        result.extend(node._values)
        candidates.extend(node._get_child_candidates(distance, min_dist, max_dist))
        return result


Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?

** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/

Подробный и обстоятельный ответ

Семь неожиданных переменных Bash

Reading time3 min
Views38K
Продолжая серию заметок о менее известных функциях bash, покажу вам семь переменных, о которых вы могли не знать.

1) PROMPT_COMMAND


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

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

Попробуйте запустить это в новом шелле, и увидите, что произойдёт с сессией:

$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'
Читать дальше →

Очень простой чат-бот для Telegram для самых маленьких

Reading time3 min
Views36K


Есть 100500 способов и инструментов создать простого serverless чат-бота для телеграм. А наш все-равно будет проще, хотя бы по числу кликов в интерфейсе. Сам бот будет написан на Python, а выполнятся будет на serverless движке Swifty.
Читать дальше →

Выбор школы при переезде в США

Reading time5 min
Views42K
Многие люди с детьми, планирующие переезд в США, слышали о необходимости тщательно выбирать район проживания. Особенно важно понять, какие школы относятся к выбранному адресу.

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

Ниже предлагается пошаговая инструкция по определению школ, привязанных к конкретному адресу и анализу этих школ.

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

Прекратите скручивать (восклицательный знак)

Reading time6 min
Views1.7M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно

О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

Reading time15 min
Views107K
DIY посвящается...

Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

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

Эксплуатация подписанных загрузчиков для обхода защиты UEFI Secure Boot

Reading time7 min
Views45K
English version of this article.

Введение

Прошивки современных материнских плат компьютера работают по спецификации UEFI, и с 2013 года поддерживают технологию проверки подлинности загружаемых программ и драйверов Secure Boot, призванную защитить компьютер от буткитов. Secure Boot блокирует выполнение неподписанного или недоверенного программного кода: .efi-файлов программ и загрузчиков операционных систем, прошивок дополнительного оборудования (OPROM видеокарт, сетевых адаптеров).
Secure Boot можно отключить на любой магазинной материнской плате, но обязательное требование для изменения его настроек — физическое присутствие за компьютером. Необходимо зайти в настройки UEFI при загрузке компьютера, и только тогда получится отключить технологию или изменить её настройки.

Большинство материнских плат поставляется только с ключами Microsoft в качестве доверенных, из-за чего создатели загрузочного ПО вынуждены обращаться в Microsoft за подписью загрузчиков, проходить процедуру аудита, и обосновывать необходимость глобальной подписи их файла, если они хотят, чтобы диск или флешка запускались без необходимости отключения Secure Boot или добавления их ключа вручную на каждом компьютере.
Подписывать загрузчики у Microsoft приходится разработчикам дистрибутивов Linux, гипервизоров, загрузочных дисков антивирусов и программ для восстановления компьютера.

Мне хотелось сделать загрузочную флешку с различным ПО для восстановления компьютера, которая бы грузилась без отключения Secure Boot. Посмотрим, как это можно реализовать.
Читать дальше →

Радиация: источники

Reading time17 min
Views47K
В предыдущем посте я рассказал о единицах измерения ионизирующей радиации. А теперь поговорим об источниках излучения.

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


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

Information

Rating
2,867-th
Location
Санкт-Петербург и область, Россия
Registered
Activity