Как стать автором
Обновить
36
1.2
Константин @Cerberuser

Разработчик, экспериментатор

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

Вы не хотите усиливать иммунитет. Или крайности организма человеческого

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

Что бывает, если сильно повысить иммунитет, простимулировать кроветворение или просто кушать не то, что "прописано в спецификации"? Почему общепринятый образ "больше == лучше" применительно к организму совсем не полезен для здоровья?

Читать дальше →
Всего голосов 67: ↑55 и ↓12+61
Комментарии41

Самая короткая программа вывода десятичного числа

Время на прочтение7 мин
Количество просмотров16K
В 1984-ом году вышла культовая книга Стивена Леви “Хакеры: герои компьютерной революции”. Существует любительский русский перевод, но он далёк от идеала. Я было взялся исправлять неточности в нём, положив рядом английский оригинал (кстати, и он не без греха), да забросил после второй главы. Так или иначе, хочу обратить ваше внимание на фрагмент (можно прочитать его в виде отдельной статьи), посвящённый подпрограмме печати числа в десятичной системе. Насколько можно уменьшить такую программу? Каков предел?
Читать дальше →
Всего голосов 48: ↑46 и ↓2+69
Комментарии43

Unigine Engine — новый уникальный

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

Пролог


Не так давно я увидел showreel движка, который выглядит более чем конкурентно

showreel


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

зарегестрироваться и скачать тут

Немного про историю


Все началось в 2004(!) году с Александра Запрягаева и его opensource проекта.

В 2010 году вышел Heaven Benchmark на основе Unigine.

В 2012 вышла спорная с точки зрения геймплея, но симпатичная OilRush.

OilRush

В 2017 вышла забавная индюшка

Sumoan

Текущее состояние


10 апреля 2020 вышла Community версия, которую можно, использовать если у вашей компании доход меньше 100к$ или для некоммерческого проекта.
Всего голосов 22: ↑19 и ↓3+25
Комментарии46

Маленький, но гордый: DuckDuckGo против рекламных монстров

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


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

Знакомьтесь: DuckDuckGo — поисковая система, в корне отличающаяся по своей принципу работы от «большой пятёрки» поисковиков (Google, Yahoo, Bing, Baidu, Яндекс). Основное отличие DuckDuckGo заключается в том, что он уважает принципы конфиденциальности и анонимности в интернете и не собирает никакой информации о своих пользователях.

Как появился DuckDuckGo


Основателем этого стремительно набирающего популярность поисковика является американец по имени Гэбриэл Вайнберг (Gabriel Weinberg). Вайнберг, уже имевший опыт нескольких стартапов различной степени успешности (от опередившей время, но не слишком популярной школьной соцсети Learnection, в которой могли общаться родители и учителя, до более успешного проекта NamesDatabase, предшественника Facebook), в один из дней неожиданно обнаружил, что Google выдаёт пользователям далеко не самые релевантные результаты по их запросам, и решил это улучшить.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+43
Комментарии46

Как я отказался от вычисления квадратного корня

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


Очень часто при цифровой обработке сигналов необходимо вычислить длину вектора, обычно это делается по формуле A=SQRТ(X^2+Y^2). Здесь возвести в квадрат значение не сложно, но операция вычисления квадратного корня не является простой операцией, особенно для микроконтроллеров. Кроме того, алгоритмы вычисления корня выполняются не стабильное время, и для алгоритмов, в которых таких вычислений много, становится сложно прогнозировать время, необходимое для вычислений.

С такой задачей столкнулся и я. О том, как я отказался от процедуры вычисления корня, читайте ниже.
Читать дальше →
Всего голосов 95: ↑88 и ↓7+112
Комментарии93

Маски сброшены

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

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

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

Что-то подобное происходит и сейчас. На волне всеобщей изоляции резко возрос спрос на товары, которые раньше мало кого интересовали. Возьмем, к примеру, медицинские маски. За три месяца с октября по декабрь 2019 года было зарегистрировано чуть более 2300 доменных имен с частицей *mask*. Как вы думаете, сколько из этих ресурсов предназначалось для продажи медицинских масок?..

Ноль… Ни одного… К слову, в аптеках маски продавались в среднем по цене от 7 до 15 рублей за штуку.

Наступил 2020 год, а с ним коронавирус. Все резко изменилось. За те же 3 месяца с января по март в сети появилось 32 000 доменных имен с частицей *mask*, 80 процентов из которых эксплуатировали тематику уже именно медицинских масок. Далее все развивалось двумя путями. Часть ресурсов была предназначена для реальной продажи масок, только вот их стоимость маски возросла в среднем до 60-рублей за штуку. Другие же сайты носили откровенно мошеннический характер.
Читать дальше →
Всего голосов 158: ↑155 и ↓3+210
Комментарии91

Главная причина, почему не Linux

Время на прочтение4 мин
Количество просмотров174K
Сразу хочу сказать, что речь в статье пойдёт исключительно о настольном применении Линукса, т.е. на домашних компах/ноутах и рабочих станциях. Всё нижеизложенное не касается Линукса на серверах, встроенных системах и прочих подобных устройствах, т.к. то, на что я сейчас вылью тонну яда, этим сферам применения, наверное, как раз на пользу.
Читать дальше →
Всего голосов 439: ↑239 и ↓200+108
Комментарии2551

Язык программирования karasic

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

Привет, друг.


Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования karasic.


Читать дальше →
Всего голосов 153: ↑146 и ↓7+189
Комментарии110

О математике и пандемиях

Время на прочтение5 мин
Количество просмотров16K
Disclaimer 1

Я математик, НЕ ВРАЧ и не являюсь профильным специалистом-эпидемиологом, а свою последнюю научную работу на тему матмоделирования эпидемий написал без малого 20 лет назад. По всем вопросам здоровья, коронавирусов и смысла жизни консультируйтесь с лечащим врачом, не будьте глупыми людьми.
Disclaimer 2

Ниже будет некоторое количество графиков. Перед их построением я умышленно декалибровал и упростил модель, отстроившись от параметров COVID-19. Приведенные графики демонстрируют развитие эпидемии некоторого условного вируса в некоторой условной популяции в условном времени. Не делайте предсказаний о ходе текущей пандемии, опираясь на мои картинки, не будьте глупыми людьми.
Ну, а теперь — поехали! По понятным причинам, ныне изрядно подскочил интерес ко всякому пандемическому, и всевозможные математические и не очень математические модели бродят по соцсетям стаями. Число же эпидемиологов и специалистов по системам дифференциальных уравнений и вовсе превысило все мыслимые пределы. Тем не менее, во всем этом информационном буйстве странным образом обойдены молчанием перколяционные, они же стохастические имитационные, модели. Этот недостаток мы сейчас немедленно исправим. Кстати, впервые о подобных моделях (как и многом другом) я прочитал в замечательной книжке Гулда и Тобочника «Компьютерное моделирование в физике».
Читать дальше →
Всего голосов 23: ↑17 и ↓6+19
Комментарии30

В софте всё восхитительно, но все недовольны

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


Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже».

Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, пришедшие лишить нас счастья и памяти. Мобильные приложения стали прожорливее, чем старые операционные системы. А в самих операционных системах уже толком нет прогресса, но почему-то они продолжают разбухать в размерах. То ли дело было, когда люди умели уместить ОС на дискету!

Скажу прямо: когда я вижу подобные заявления, у меня бомбит. По-моему, в них упускают целый ряд важных факторов. А в итоге ситуация напоминает классическую речь Луи Си Кея «Everything's amazing and nobody's happy»: всё стало удивительно хорошо, а люди сидят и жалуются.

Поэтому решил описать эти упущенные факторы. Поскольку текст получился резким, хочу подчеркнуть, что мнение сугубо моё личное (хоть я и ссылаюсь на конференции компании, в которой работаю).
Всего голосов 145: ↑114 и ↓31+122
Комментарии1295

Функциональное программирование — то, что вам (наверно) рассказывали. Если вы слушали

Время на прочтение16 мин
Количество просмотров31K
Мне нравятся разговоры на тему «мне раньше в школе/институте/родители говорили, а теперь я узнал». Если по счастливой случайности я оказываюсь хоть немного компетентен в обсуждаемом вопросе, то такие разговоры обычно сводятся к одному из трех вариантов: «где вообще ты раньше слышал такую чушь?» (если собеседник прав), «а с чего ты взял, что это так?» (если он не прав) и «ты прав, только это не противоречит тому, что тебе говорили раньше» (в подавляющем большинстве случаев). Нравятся такие разговоры мне по следующей причине: обычно их инициатор не обременен излишним предварительным знанием вопроса, что в некоторых случаях позволяет ему указать на некоторые моменты, которые принимались как очевидные, на самом деле таковыми не являясь. И одной из тем для подобных бесед оказалось функциональное программирование.

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

Насколько это соответствует истине?
Читать дальше →
Всего голосов 42: ↑38 и ↓4+46
Комментарии299

Внезапно: кавычки против мракобесия. Что бы это ни значило

Время на прочтение6 мин
Количество просмотров29K
Есть на свете вещи действительно важные. Наверное, есть. Должны быть. Да по любому есть.
А есть на свете вещи «важные». Чувствуете разницу? «Важных» вещей полно на работе, в политике, в телевизоре и интернете. Сегодня поговорим только про работу.

Итак, есть у нас (а может, и у вас) на работе личности, которые любят придать важности тому, что делают и говорят. Со стороны это выглядит и забавно, и комично, и нелепо. Хотя, если не обращать на важность внимание, то происходит чудо: перестаешь ее замечать и начинаешь верить. И все вокруг начинают верить.

Так исчезают вещи «важные», и появляются важные, Важные, ВАЖНЫЕ и СУПЕРВАЖНЫЕ!!! Я за то, чтобы такого не было. Всё должно быть адекватно реальности. Поэтому я, читая письма и слушая речи, всегда применяю к ним фильтр. Он уже автоматом срабатывает, как предустановленное сглаживание и размывание фона в камере смартфона.

Главный фильтр, конечно, кавычки.
Читать дальше →
Всего голосов 87: ↑64 и ↓23+59
Комментарии67

Как я взломал мошенников, или просто внутренности фишинг-панелей

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

INTRO


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


Я увлекаюсь безопасностью, поэтому решил из интереса проверить безопасность фишингового ресурса.


"Админку" мошенников удалось успешно взломать, внутри нашлось n-количество украденных учеток. Их логины были переданы в службу безопасности VK, плюс соответствующие "abuse" жалобы были направлены регистраторам, хостерам.


А теперь расскажу как и какие оказываются бывают Phishing-as-Service панели...

Читать дальше →
Всего голосов 111: ↑109 и ↓2+137
Комментарии37

Кто умнее чем IDEA?

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

Два года назад я вызвался постоять на стенде нашей компании JetBrains на последней конференции JBreak в Новосибирске. Перед конференцией мне спустили сверху вот такие карточки:



И сказали, мол, ну раздай каким-нибудь людям на конференции на своё усмотрение. Я запаниковал. Как же я буду людей-то выбирать?


Тогда я довольно плотно работал с анализом потока данных в статическом анализаторе IntelliJ IDEA для Java. Во-первых, я обкатывал новые фичи, проверяя код самой IDE. Во-вторых, разгребал входящие баг-репорты. Иногда IDEA находила удивительные проблемы, и мне приходилось долго разбираться, чтобы вообще понять, правильное ли предупреждение она выдаёт или это баг.

Читать дальше →
Всего голосов 32: ↑31 и ↓1+35
Комментарии42

Речевой бот в банке — худший UX ever

Время на прочтение4 мин
Количество просмотров33K
— Добрый вечер, меня зовут Наталья, чем я могу Вам помочь?
— Здравствуйте, у меня была заблокирована карта.
— Хорошо, назовите свое имя.
— Василий Моржаков.
(вбивает на клавиатуре)
— Ваше кодовое слово?
— Декобраз через Е.
— Простите, Вас не слышно.
— Де-ко-браз, через ЕЕ
— Что-то со связью, извините, можете повторить? (и кажется вешают трубку)

И вот я знаю немного про речевой ИИ, про ботов читал вчера Хабр, но все еще не могу понять, что же происходит.
Читать дальше →
Всего голосов 78: ↑77 и ↓1+103
Комментарии178

Как я проект с JavaScript на Scala переписывал

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

Я никогда не смогу ходить! Потому что я ползаю.
—Цитаты великих

    Меня всегда учили прежде всего здороваться, так что — здравствуйте. Сегодня я расскажу про творческие (и не очень) муки, страдания и боль, которые я испытывал на протяжении определенного периода своей жизни, который я обозначу как ПРОЕКТ. Сначала он был на JavaScript (node.js), а теперь он на Scala (Play). Сразу скажу, что я — один из самых субъективных негодяев в обозримой Вселенной, поэтому некоторые обороты, высказывания и иже с ними могут быть восприняты уважаемыми читателями весьма неоднозначно. Короче, я предупредил. И у меня еще одна небольшая просьба — если уж взялись прочитать статью, то не кидайтесь сразу строчить разоблачающие комментарии. Дочитайте. Я не Пастернак, правду говорю. И вообще, почти все спорные моменты так или иначе освещаю, объясняю.
Ну что там
Всего голосов 130: ↑102 и ↓28+74
Комментарии56

15 тривиальных фактов о правильной работе с протоколом HTTP

Время на прочтение7 мин
Количество просмотров237K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →
Всего голосов 191: ↑186 и ↓5+181
Комментарии120

История человека, чувствительного к электромагнитному излучению, или как мы щупаем край обрыва… UPD: +FAQ

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

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


Да без проблем. В наше время есть даже какая-то ностальгия встречаться по старинке, заранее обговорив, кто во что одет и все такое.

Мы встретились и мило пообщались пару часов. Он подробно ответил на все мои вопросы. Ему были интересны наши исследования, и он по ним много вопросов задал. А уже под конец, когда мы готовились расходиться, я, как человек любопытный, спросил:
— А почему вы не носите сотовый? 
Он с задумчивой американской улыбкой посмотрел на меня и спросил в ответ:
— Тебе короткую версию или длинную? 
Я осторожно предложил начать с короткой, а там как пойдет. Честно говоря, моя основная рабочая версия была — слежка Большого Брата. Я был неправ…

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


Кому интересно, как оно (очень редко) бывает, добро пожаловать под кат.
Читать дальше →
Всего голосов 166: ↑78 и ↓88+12
Комментарии935

Deadlock Empire — игра для разработчиков

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

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

Встречайте: Deadlock Empire!

Суть игры — управление планировкой потоков, код которых приведен в заданиях. Управлять нужно так, чтобы добиться ошибочной ситуации: взаимблокировки, повторных значений счетчиков, достижения определенных участков кода и прочих непредвиденных ситуаций, которые нужно осознавать при разработке многопоточных приложений.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии5

Я добавляю 3-25 секунд задержки сайтам, которые посещаю

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


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

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

Доход и многие вещи влияющие на него, по мнению многих «авторитетных» компаний зависит от задержки на вашем сайте. Чем задержка меньше, тем выше конверсия, люди проводят больше времени на сайте, успевают потребить больше информации и так далее.
Читать дальше →
Всего голосов 38: ↑30 и ↓8+34
Комментарии97

Информация

В рейтинге
1 501-й
Откуда
Новосибирск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность

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

Fullstack Developer
Senior