Что бывает, если сильно повысить иммунитет, простимулировать кроветворение или просто кушать не то, что "прописано в спецификации"? Почему общепринятый образ "больше == лучше" применительно к организму совсем не полезен для здоровья?
Разработчик, экспериментатор
Самая короткая программа вывода десятичного числа
Unigine Engine — новый уникальный
Пролог
Не так давно я увидел showreel движка, который выглядит более чем конкурентно
В этой статье я максимально кратко расскажу об этом движке и косвенно сравню с прямыми конкурентами.
Немного про историю
Все началось в 2004(!) году с Александра Запрягаева и его opensource проекта.
В 2010 году вышел Heaven Benchmark на основе Unigine.
В 2012 вышла спорная с точки зрения геймплея, но симпатичная OilRush.
В 2017 вышла забавная индюшка
Текущее состояние
10 апреля 2020 вышла Community версия, которую можно, использовать если у вашей компании доход меньше 100к$ или для некоммерческого проекта.
Маленький, но гордый: DuckDuckGo против рекламных монстров
Сохранение анонимности было одним из ключевых принципов первоначально свободного интернета, который, однако, уже более 20 лет постоянно попирается крупнейшими титанами рынка интернет-технологий: поисковыми системами, социальными сетями и торговыми площадками. И тем ценнее в этом океане тотального надзора желанные «островки свободы», с одним из которых мы и хотели бы познакомить вас в этом обзоре.
Знакомьтесь: DuckDuckGo — поисковая система, в корне отличающаяся по своей принципу работы от «большой пятёрки» поисковиков (Google, Yahoo, Bing, Baidu, Яндекс). Основное отличие DuckDuckGo заключается в том, что он уважает принципы конфиденциальности и анонимности в интернете и не собирает никакой информации о своих пользователях.
Как появился DuckDuckGo
Основателем этого стремительно набирающего популярность поисковика является американец по имени Гэбриэл Вайнберг (Gabriel Weinberg). Вайнберг, уже имевший опыт нескольких стартапов различной степени успешности (от опередившей время, но не слишком популярной школьной соцсети Learnection, в которой могли общаться родители и учителя, до более успешного проекта NamesDatabase, предшественника Facebook), в один из дней неожиданно обнаружил, что Google выдаёт пользователям далеко не самые релевантные результаты по их запросам, и решил это улучшить.
Как я отказался от вычисления квадратного корня
Очень часто при цифровой обработке сигналов необходимо вычислить длину вектора, обычно это делается по формуле A=SQRТ(X^2+Y^2). Здесь возвести в квадрат значение не сложно, но операция вычисления квадратного корня не является простой операцией, особенно для микроконтроллеров. Кроме того, алгоритмы вычисления корня выполняются не стабильное время, и для алгоритмов, в которых таких вычислений много, становится сложно прогнозировать время, необходимое для вычислений.
С такой задачей столкнулся и я. О том, как я отказался от процедуры вычисления корня, читайте ниже.
Маски сброшены
В трудные моменты общество делится на две категории. Одни люди стремятся помочь ближним, чтобы совместными усилиями как можно скорее и эффективнее преодолеть трудности. А другие используют критическую ситуацию исключительно для наживы. И их ничуть не волнует, что наживаются они за счет тех, кому и так не просто в сложившейся ситуации.
За примерами далеко ходить не надо. Можно вспомнить теракты в московском метро в 2010 году, когда одни водители бросали свои дела и отвозили людей в больницы бесплатно, а другие взвинчивали цены за услуги такси в 10 и более раз.
Что-то подобное происходит и сейчас. На волне всеобщей изоляции резко возрос спрос на товары, которые раньше мало кого интересовали. Возьмем, к примеру, медицинские маски. За три месяца с октября по декабрь 2019 года было зарегистрировано чуть более 2300 доменных имен с частицей *mask*. Как вы думаете, сколько из этих ресурсов предназначалось для продажи медицинских масок?..
Ноль… Ни одного… К слову, в аптеках маски продавались в среднем по цене от 7 до 15 рублей за штуку.
Наступил 2020 год, а с ним коронавирус. Все резко изменилось. За те же 3 месяца с января по март в сети появилось 32 000 доменных имен с частицей *mask*, 80 процентов из которых эксплуатировали тематику уже именно медицинских масок. Далее все развивалось двумя путями. Часть ресурсов была предназначена для реальной продажи масок, только вот их стоимость маски возросла в среднем до 60-рублей за штуку. Другие же сайты носили откровенно мошеннический характер.
Главная причина, почему не Linux
Язык программирования karasic
Привет, друг.
Как известно, каждый уважаемый кодер рано или поздно пишет свой логер, парсер json и язык программирования. Поскольку первое и второе мы уже написали, то нам ничего не остаётся, как представить наши наработки по новому инновационному языку программирования karasic.
О математике и пандемиях
Disclaimer 1
Я математик, НЕ ВРАЧ и не являюсь профильным специалистом-эпидемиологом, а свою последнюю научную работу на тему матмоделирования эпидемий написал без малого 20 лет назад. По всем вопросам здоровья, коронавирусов и смысла жизни консультируйтесь с лечащим врачом, не будьте глупыми людьми.
Disclaimer 2Ну, а теперь — поехали! По понятным причинам, ныне изрядно подскочил интерес ко всякому пандемическому, и всевозможные математические и не очень математические модели бродят по соцсетям стаями. Число же эпидемиологов и специалистов по системам дифференциальных уравнений и вовсе превысило все мыслимые пределы. Тем не менее, во всем этом информационном буйстве странным образом обойдены молчанием перколяционные, они же стохастические имитационные, модели. Этот недостаток мы сейчас немедленно исправим. Кстати, впервые о подобных моделях (как и многом другом) я прочитал в замечательной книжке Гулда и Тобочника «Компьютерное моделирование в физике».
Ниже будет некоторое количество графиков. Перед их построением я умышленно декалибровал и упростил модель, отстроившись от параметров COVID-19. Приведенные графики демонстрируют развитие эпидемии некоторого условного вируса в некоторой условной популяции в условном времени. Не делайте предсказаний о ходе текущей пандемии, опираясь на мои картинки, не будьте глупыми людьми.
В софте всё восхитительно, но все недовольны
Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже».
Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, пришедшие лишить нас счастья и памяти. Мобильные приложения стали прожорливее, чем старые операционные системы. А в самих операционных системах уже толком нет прогресса, но почему-то они продолжают разбухать в размерах. То ли дело было, когда люди умели уместить ОС на дискету!
Скажу прямо: когда я вижу подобные заявления, у меня бомбит. По-моему, в них упускают целый ряд важных факторов. А в итоге ситуация напоминает классическую речь Луи Си Кея «Everything's amazing and nobody's happy»: всё стало удивительно хорошо, а люди сидят и жалуются.
Поэтому решил описать эти упущенные факторы. Поскольку текст получился резким, хочу подчеркнуть, что мнение сугубо моё личное (хоть я и ссылаюсь на конференции компании, в которой работаю).
Функциональное программирование — то, что вам (наверно) рассказывали. Если вы слушали
Вообще про ФП написано и сказано столько, что вроде бы все вопросы о его применимости, крутости, производительности и т.п. обглоданы до костного мозга. И все-таки такого рода вопросы поднимаются снова и снова, и всегда найдется желающий рассказать о том, что вы все неправильно поняли, а на самом деле оно эвона как. Пожалуй, сегодня я примерю на себя эту неблагодарную роль, поскольку недавно попались на глаза несколько постов на эту многострадальную тему. В первом и втором в очередной раз рассказано, что ФП — дрянь и изучать его — только портить свою карму будущего специалиста. Другие (раз и два) куда более адекватны, в них автор ставит целью объяснить, что все эти ваши лямбды, комбинаторы, категории — не более, чем пыль в глаза, а само ФП — штука простая, понятная и приятная в быту.
Насколько это соответствует истине?
Внезапно: кавычки против мракобесия. Что бы это ни значило
А есть на свете вещи «важные». Чувствуете разницу? «Важных» вещей полно на работе, в политике, в телевизоре и интернете. Сегодня поговорим только про работу.
Итак, есть у нас (а может, и у вас) на работе личности, которые любят придать важности тому, что делают и говорят. Со стороны это выглядит и забавно, и комично, и нелепо. Хотя, если не обращать на важность внимание, то происходит чудо: перестаешь ее замечать и начинаешь верить. И все вокруг начинают верить.
Так исчезают вещи «важные», и появляются важные, Важные, ВАЖНЫЕ и СУПЕРВАЖНЫЕ!!! Я за то, чтобы такого не было. Всё должно быть адекватно реальности. Поэтому я, читая письма и слушая речи, всегда применяю к ним фильтр. Он уже автоматом срабатывает, как предустановленное сглаживание и размывание фона в камере смартфона.
Главный фильтр, конечно, кавычки.
Как я взломал мошенников, или просто внутренности фишинг-панелей
INTRO
Недавно столкнулся с обычной для интернета ситуацией — классической просьбой от родственника отдать свой голос за него в каком-то голосовании. Оказалось, человека "взломали" мошенники, а ссылки на голосование вели на фишинговые ресурсы.
Я увлекаюсь безопасностью, поэтому решил из интереса проверить безопасность фишингового ресурса.
"Админку" мошенников удалось успешно взломать, внутри нашлось n-количество украденных учеток. Их логины были переданы в службу безопасности VK, плюс соответствующие "abuse" жалобы были направлены регистраторам, хостерам.
А теперь расскажу как и какие оказываются бывают Phishing-as-Service панели...
Кто умнее чем IDEA?
Два года назад я вызвался постоять на стенде нашей компании JetBrains на последней конференции JBreak в Новосибирске. Перед конференцией мне спустили сверху вот такие карточки:
И сказали, мол, ну раздай каким-нибудь людям на конференции на своё усмотрение. Я запаниковал. Как же я буду людей-то выбирать?
Тогда я довольно плотно работал с анализом потока данных в статическом анализаторе IntelliJ IDEA для Java. Во-первых, я обкатывал новые фичи, проверяя код самой IDE. Во-вторых, разгребал входящие баг-репорты. Иногда IDEA находила удивительные проблемы, и мне приходилось долго разбираться, чтобы вообще понять, правильное ли предупреждение она выдаёт или это баг.
Речевой бот в банке — худший UX ever
— Здравствуйте, у меня была заблокирована карта.
— Хорошо, назовите свое имя.
— Василий Моржаков.
(вбивает на клавиатуре)
— Ваше кодовое слово?
— Декобраз через Е.
— Простите, Вас не слышно.
— Де-ко-браз, через ЕЕ
— Что-то со связью, извините, можете повторить? (и кажется вешают трубку)
И вот я знаю немного про речевой ИИ, про ботов читал вчера Хабр, но все еще не могу понять, что же происходит.
Как я проект с JavaScript на Scala переписывал
Я никогда не смогу ходить! Потому что я ползаю.
—Цитаты великих
Меня всегда учили прежде всего здороваться, так что — здравствуйте. Сегодня я расскажу про творческие (и не очень) муки, страдания и боль, которые я испытывал на протяжении определенного периода своей жизни, который я обозначу как ПРОЕКТ. Сначала он был на JavaScript (node.js), а теперь он на Scala (Play). Сразу скажу, что я — один из самых субъективных негодяев в обозримой Вселенной, поэтому некоторые обороты, высказывания и иже с ними могут быть восприняты уважаемыми читателями весьма неоднозначно. Короче, я предупредил. И у меня еще одна небольшая просьба — если уж взялись прочитать статью, то не кидайтесь сразу строчить разоблачающие комментарии. Дочитайте. Я не Пастернак, правду говорю. И вообще, почти все спорные моменты так или иначе освещаю, объясняю.
15 тривиальных фактов о правильной работе с протоколом HTTP
Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.
Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.
Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
История человека, чувствительного к электромагнитному излучению, или как мы щупаем край обрыва… UPD: +FAQ
С этой впечатлившей меня драматичной историей я познакомился довольно банально. Находясь по делам в Калифорнии, я написал человеку, что хотел бы с ним встретиться по работе. Он ответил, мы договорились о дне, месте и времени. Какая-то кафешка в паре километров от гостиницы, вполне удобно. Единственное, когда договаривались, человек предупредил, что сотового у него не будет:
Да без проблем. В наше время есть даже какая-то ностальгия встречаться по старинке, заранее обговорив, кто во что одет и все такое.
Мы встретились и мило пообщались пару часов. Он подробно ответил на все мои вопросы. Ему были интересны наши исследования, и он по ним много вопросов задал. А уже под конец, когда мы готовились расходиться, я, как человек любопытный, спросил:
— А почему вы не носите сотовый?
Он с задумчивой американской улыбкой посмотрел на меня и спросил в ответ:
— Тебе короткую версию или длинную?
Я осторожно предложил начать с короткой, а там как пойдет. Честно говоря, моя основная рабочая версия была — слежка Большого Брата. Я был неправ…
Пошло хорошо. Мы просидели практически до закрытия кафе. Впечатление от разговора было сильным.
В общем — это история про человека, который в расцвете сил в 40 с гаком лет стал инвалидом. Но нашел в себе силы выжить и (пусть не полностью) восстановиться.
Кому интересно, как оно (очень редко) бывает, добро пожаловать под кат.
Deadlock Empire — игра для разработчиков
Хабр, как известно, не место для игр, но мы нашли одно исключение, которое, как нам кажется, достойно упоминания здесь!
Встречайте: Deadlock Empire!
Суть игры — управление планировкой потоков, код которых приведен в заданиях. Управлять нужно так, чтобы добиться ошибочной ситуации: взаимблокировки, повторных значений счетчиков, достижения определенных участков кода и прочих непредвиденных ситуаций, которые нужно осознавать при разработке многопоточных приложений.
Я добавляю 3-25 секунд задержки сайтам, которые посещаю
Bounce rate — показатель отказа. Термин в веб-аналитике, обозначающий процентное соотношение количества посетителей, покинувших сайт прямо со страницы входа или просмотревших не более одной
В индустрии программного обеспечения, все гонятся за ускорением всего и вся.
Доход и многие вещи влияющие на него, по мнению многих «авторитетных» компаний зависит от задержки на вашем сайте. Чем задержка меньше, тем выше конверсия, люди проводят больше времени на сайте, успевают потребить больше информации и так далее.
Информация
- В рейтинге
- 1 501-й
- Откуда
- Новосибирск, Новосибирская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность