Pull to refresh
21
0.8
Send message

Водяная линза и не только

Reading time 12 min
Views 12K
Картинка Pikisuperstar, Freepik

Периодически возникает необходимость работы с линзами. Однако существующих линз может быть недостаточно для удовлетворения предъявляемых требований, или же, покупка готовых линз может быть сопряжена с определёнными трудностями, среди которых как время доставки, так и их стоимость. В любом случае — для ряда конструкций может быть полезно изготовление самодельных линз, о необычных путях достижения чего мы и поговорим в этой статье.
Читать дальше →
Total votes 60: ↑58 and ↓2 +56
Comments 33

HTTP-заголовки для ответственного разработчика

Reading time 15 min
Views 98K

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

Разработчики соединяют людей.
Разработчики помогают людям.
Разработчики дают людям возможности.

Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
Читать дальше →
Total votes 92: ↑90 and ↓2 +88
Comments 64

Резистор в цепи затвора или как делать правильно

Reading time 4 min
Views 79K


Всем доброго времени суток!

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

Любому из этих случаев я буду очень рад.
Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Comments 70

Почему программные задачи всегда занимают больше времени, чем вы думаете

Reading time 6 min
Views 21K
Каждый в IT-индустрии знает, насколько сложно оценить срок выполнения проекта. Трудно объективно оценить, сколько времени займёт решение трудной задачи. Одна из моих любимых теорий заключается в том, что здесь имеет место просто статистический артефакт.

Предположим, вы оцениваете проект в 1 неделю. Предположим, есть три одинаково вероятных результата: либо он займёт 1/2 недели, либо 1 неделю, либо 2 недели. Медианный результат фактически такой же, как и оценка: 1 неделя, но среднее значение (aka average, aka expected value) составляет 7/6 = 1,17 недель. Оценка фактически откалибрована (беспристрастна) для медианы (которая равна 1), но не для среднего.
Читать дальше →
Total votes 50: ↑49 and ↓1 +48
Comments 24

Разгон подсветки монитора

Reading time 6 min
Views 29K
Оверклокинг процессора или памяти — это понятно, но зачем разгонять подсветку монитора?



Речь пойдёт о стареньком 23-дюймовом Samsung SyncMaster BX2340 (выпущен в январе 2011) со светодиодной подсветкой. Со временем стал замечать, что работать за ним утомительно, а сосредоточиться всё сложнее. И даже не только работать, просто читать, например. Сам монитор остался тот же, но мне стало труднее. А за другими экранами работалось вполне нормально.
Может выкинуть его, и купить новый?
Total votes 61: ↑60 and ↓1 +59
Comments 76

Коренные микробы

Reading time 8 min
Views 9.6K
С 2007 года моя судьба связана с микробами: вот уже 13 лет они меня не отпускают. По моим прикидкам, это гораздо больше, чем 10 000 часов — что-то около 30 000. Как и с любой областью знаний, в определенный момент мозг начинает подкидывать новые идейки. Об одной из них я и хочу рассказать.

В моей голове возникло слово indibiome. Русский звучный аналог этого термина — «коренные микробы» — в выдаче Google находится семь раз, причем три упоминания приходятся на созданные мной сайты и тексты. Мне больше нравится англоязычный аналог этого слова. Indibiome происходит от indigenous microbiome (по аналогии с indigenous people). Впервые с коренными народами я столкнулся несколько лет назад, снимая документальный фильм про оленеводов. Коренные народы и коренные микробы с тех пор меня не отпускают.

Термин indibiome в выдаче Google встречается 396 раз. Наверняка есть придуманные кем-то слова или термины с такой же статистикой. С первого взгляда кажется, что indibiome — просто редкое слово. Если изучать выдачу поисковика, то можно обнаружить, что это слово используется в одной итальянской книге (Lodovico Antonio Muratori, ‎Filippo Argelati — 1723 — ‎Italy). Однако, если присмотреться, то становится понятно, что в сканированной копии Google books ошибается. На той же странице буква b в других словах выглядит по-другому. Остальные 395 упоминаний содержат еще несколько ошибочных прочтений Google, но в большей части, публикации порождены одним автором.

У этого слова есть и значение, и несколько смыслов. Придумывать слова может каждый, но если они не адаптируются к языку и не проявляют разные грани смысла в зависимости от окружения, то для выражения мыслей они бесполезны. У indibiome есть несколько смыслов, слово даже претендует на отдельную философию, образ жизни, способ поведения человека.
Читать дальше →
Total votes 38: ↑34 and ↓4 +30
Comments 8

SIP от Мегафона по домашнему тарифу

Reading time 3 min
Views 74K
UPD: Телеграм чат для обсуждения операторов сотовой связи tg.guru/opsosru

У многих современных смарфонов есть проблема: совмещённый слот под SIM2 со слотом под карту памяти. То есть либо симка, либо флэшка…

Основной номер у меня на TELE2. Но есть и номер Мегафон с привязкой ко всяким сервисам по типу банк-клиентов. Я планировал перенести эти сервисы на номер в Теле2 и выкинуть Мегафон. Но Мегафон сделал «ход конём» и предложил мне скидку 50% на тариф «Включайся! Общайся». При этом в него входят настоящий безлимитный интернет (С возможностью раздачи трафика с телефона и скорость не режут) и 1100 минут по России в месяц. Разумеется, при поездке по РФ никаких дополнительных платежей. Правда я и 200 минут в месяц не выговариваю…

Теперь выкинуть номер Мегафона — жаба давит. Но желание освободить слот под карту памяти осталось.

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



Мой внутренний оптимист приказал думать дальше. И не зря. По итогу я получил полноценный sip аккаунт (могу звонить с компьютера) по адекватному тарифу, ходят СМС, второй слот занят картой памяти без напильника, а сама sim стоит в модеме с HiLink.
Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Comments 38

Экономика радости. Наставничество как частный случай. Закон трёх процентов

Reading time 7 min
Views 4.9K

Знаю, что написав этот пост, не стану Паисием Святогорцем. Однако, я надеюсь, найдётся хотя бы один читатель, который, возможно, поймет какой это кайф – быть педагогом (ментором) в IT. И наша страна станет чуточку лучше. И этот читатель (который поймет) станет чуточку счастливее. Тогда этот текст написан не зря.


Я – преподаватель-совместитель. И уже давно. Лет семь-восемь. И мне – не стыдно.
Текущий выхлоп: более 20 трудоустроенных ребяток, с которыми занимался тет-а-тет. Знаю, не густо. Могло быть побольше… Ребятки пока не жалуются (вру, конечно жалуются, но всё у них – ок). В своё оправдание скажу, что есть ещё неизвестное мне количество "потоковых" студентов, которым мой предмет был полезен, но с которыми я в дальнейшем тет-а-тет не работал и не натаскивал…


Огромное количество раз я слышал: «ты – фрик», «ах зачем ты возишься с этими студентиками», «да тебе они в рот смотрят и ты компенсируешь… ну что-то компенсируешь, короче», «что ты нашёл в этой Кате? Она твоя любовница?», «что ты нашёл в это Васе? Он тебе брат?», «заняться нечем?», «у тебя же жена, дочь и ипотека!», «ты – наркоман», «у тебя много свободного времени?», «лучше бы Игру Престолов посмотрел, а то совсем отстал, дядя»… Ну и так далее. Если бы я любил творчество Oxxxymeron-а и проконсультировал Мирона (лично, увы, не знаком с ним), то «Где нас нет» можно было бы составить из вот этих вот фраз и оборотов… И вот тогда это была бы бомба!.. Ах какой классный рэпчик получился бы...


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

Дальше читать
Total votes 26: ↑18 and ↓8 +10
Comments 44

Стажёр Вася и его истории об идемпотентности API

Reading time 11 min
Views 220K

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Total votes 219: ↑216 and ↓3 +213
Comments 163

Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет

Reading time 26 min
Views 147K


Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
Читать дальше →
Total votes 162: ↑135 and ↓27 +108
Comments 381

Знакомство с Neural ODE

Reading time 20 min
Views 35K

Neural Ordinary Differential Equations


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

Есть также и другой тип последовательных данных, это дискретные данные, например, данные NLP задач. Состояния в таких данных меняется дискретно: от одного символа или слова к другому.

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

На последней NIPS-конференции была представлена одна очень интересная статья, которая может помочь решить эту проблему. Авторы предлагают подход, который они назвали Нейронные Обыкновенные Дифференциальные Уравнения (Neural ODE).

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


Читать дальше →
Total votes 79: ↑76 and ↓3 +73
Comments 6

Lehmann Linear DIY или как клонировать породистого немца с хорошим результатом

Reading time 3 min
Views 25K

Началось все с того, что как то на прослушке своих ушей Beyerdynamic DT880 600ohm(!) я воткнул их в какой-то породистый ламповый усилок и понял, что жить со своим старичком (тоже ламповым) я уже не смогу.


Спойлер, конечный результат:


Читать дальше →
Total votes 55: ↑40 and ↓15 +25
Comments 194

Сеть компании и MitM. Часть 1

Reading time 8 min
Views 14K
Перехватить конфиденциальную информацию? Получить несанкционированный доступ к различным приложениям и системам? Нарушить нормальный режим работы? Все это и многое другое выполняют атаки типа Man in the Middle.


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

Заинтересовались? Добро пожаловать под кат.
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 2

Можно ли считать статистику при малом количестве данных?

Reading time 6 min
Views 14K
В целом ответ – да. Особенно, когда есть мозги и знание теоремы Байеса.

Напомню, что среднее и дисперсию можно считать только, если у вас имеется определенное количества событий. В старых методичках СССР РТМ (руководящий технический материал) говорилось, что чтобы считать среднее и дисперсию необходимо 29 измерений. Сейчас в ВУЗах немного округлили и используют число 30 измерений. С чем это связано – вопрос философский. Почему я не могу просто взять и посчитать среднее, если у меня есть 5 измерений? По идее ничто не мешает, только среднее получается нестабильным. После еще одного измерения и пересчета оно может сильно измениться и полагаться на него можно начиная где-то с 30 измерений. Но и после 31го измерения оно тоже пошатнется, только уже не так заметно. Плюс добавляется проблема, что и среднее можно считать по разному и получать разные значения. То есть из большой выборки можно выбрать первые 30 и посчитать среднее, потом выбрать другие 30 и тд … и получить много средних, которые тоже можно усреднять. Истинное среднее бывает недостижимо на практике, так как всегда имеем конечное количество измерений. В таком случае среднее является статистической величиной со своим средним и дисперсией. То есть измеряя среднее на практике мы имеем в виду «предположительное среднее», которое может быть близко к идеальному теоретическом значению.

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

Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 49

Как интеллект-карты помогают вести IT-проекты

Reading time 10 min
Views 48K
В продолжение статьи о тайм-менеджменте предлагаю вашему вниманию историю о своем опыте использования инструмента по работе с интеллект-картами. Последние десять лет я занимаюсь управлением проектами в ИТ и телекоме, и всё это время я использую MindJet MindManager. Сегодня я расскажу, как с его помощью можно организовать задачи проекта и всё то, что происходит в голове проектного менеджера. Рассчитываю, что вы прочтете эту статью, пока пьёте одну чашку кофе, а за несколько последующих — мы с вами её обсудим.

Из этого поста вы узнаете о принципах формирования интеллект-карт, основных фишках MindJet MindManager (далее — Mind) и особенностях его применения в проектной работе управленца.

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

Источник
Читать дальше →
Total votes 68: ↑66 and ↓2 +64
Comments 44

Транспилятор PAS2JS из Паскаля в JavaScript: несовместимости с Delphi и пути обхода

Reading time 3 min
Views 7.9K

В наше время в кармане обычного человека лежит мощный персональный компьютер, о котором 10-20 лет назад можно было только мечтать. И если у вас километры отлаженного Windows-кода и отлично работающие приложения и утилиты, написанные на Delphi, вы наверняка хотели бы задействовать это богатство для мобильной разработки. А также опыт, накопленный за время программирования под Windows. PAS2JS поможет вам совместить два мира: разработку под Windows и создание Web-приложений и Node.js модулей.


О некоторых обнаруженных трудностях из личного опыта идёт речь в этой статье.

Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Comments 17

HL 2018. Конспект доклада «Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем»

Reading time 19 min
Views 21K

Passwords are like underwear


Привет, Хабр! Меня зовут Ахмадеев Ринат, я Sr. PHP developer.


Представляю вашему вниманию конспект доклада Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем от Алексея Ермишкина из Virgil Security с HighLoad++ 2018.


Когда я шел на доклад, то был настроен пессимистично. Но т.к. это Virgil Security, то я все же решил сходить. В начале доклад казался действительно капитанским, и я даже начал терять интерес, но потом, как оказалось, даже узнал несколько новых подходов защиты паролей, отличных от обычного хеширования с солью.


В докладе рассматриваются способы защиты паролей начиная от хешей и заканчивая более современными подходами, такими как Facebook's password Onion, Sphinx и Pythia. В самом конце рассматривается новый Simple Password-Hardened Encryption Services (PHE).


Мне так понравился доклад, что я подготовил конспект. Всем рекомендую к ознакомлению.

Total votes 55: ↑55 and ↓0 +55
Comments 29

Разъяснительная беседа об асинхронном программировании в Javascript

Reading time 15 min
Views 20K
Привет всем!

Как вы, возможно, помните, еще в октябре у нас переводилась интересная статья о применении таймеров в Javascript. Она вызвала огромную дискуссию, по результатам которой мы давно хотели вернуться к этой теме и предложить вам подробный разбор асинхронного программирования в этом языке. Рады, что нам удалось найти достойный материал и опубликовать его еще до конца года. Приятного чтения!
Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 16

Айсберг

Reading time 14 min
Views 10K
Все знают, что такое айсберг – большой кусок льда, который плавает в океане. Все помнят, что не так с айсбергом – видна лишь небольшая его часть, которая над поверхностью воды, остальное скрыто. И сколько его там, этого остального – никто не знает.

Аналогичная ситуация – с данными в автоматизированных системах.
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Comments 5

Теория шардирования

Reading time 26 min
Views 115K
Кажется, мы так глубоко погрузились в дебри highload-разработки, что просто не задумываемся о базовых проблемах. Взять, например, шардирование. Чего в нем разбираться, если в настройках базы данных можно написать условно shards = n, и все сделается само. Так-то, он так, но если, вернее когда, что-то пойдет не так, ресурсов начнет по-настоящему не хватать, хотелось бы понимать, в чем причина и как все починить.

Короче, если вы контрибьютили свою альтернативную реализацию хэширования в Cassandra, то вряд ли тут для вас найдутся откровения. Но если нагрузка на ваши сервисы уже прибывает, а системные знания за ней не поспевают, то милости просим. Великий и ужасный Андрей Аксёнов (shodan) в свойственной ему манере расскажет, что шардить плохо, не шардить — тоже плохо, и как это внутри устроено. А еще совершенно случайно одна из частей рассказа про шардинг вообще не совсем про шардинг, а черт знает про что — как объекты на шарды мапить.

Фотография котиков (хоть они случайно и оказались щеночками) уже как бы отвечает на вопрос, зачем это всё, но начнем последовательно.
Total votes 37: ↑37 and ↓0 +37
Comments 6

Information

Rating
1,406-th
Registered
Activity