Pull to refresh
130.2
Karma
0.4
Rating
Иващенко Иван @defuz

Разработчик

  • Followers 39
  • Following 11

Открытое письмо авторам российской вакцины от COVID-19

BiotechnologiesHealth
Translation

TLDR (примечание переводчика): 4 сентября российские ученые опубликовали результаты 1 и 2 фазы исследования российской вакцины «Спутник V» от SARS-CoV-2. В ответ на публикацию статьи, 22 ученых подписали открытое письмо редакторам журнала и авторам статьи, в котором усомнились в достоверности приведенных данных. В предоставленных результатах неоднократно обнаружена корреляция результатов независимых экспериментов, в том числе полное совпадение анализов и совпадение измерений с точностью до множителя 2x у двух независимых групп добровольцев. Указанные в письме свидетельства говорят об ошибке в подготовке статьи либо намеренной подтасовке данных. Ученые попросили авторов статьи предоставить сырые данные для детального анализа. Журнал Lancet передал содержимое письма авторам статьи и предложил принять участие в научной дискуссии. Российские ученые публично отказались отвечать на критику, заявив что приведенные в статье данные достоверные и точные.

О противоречивых данных в исследовании
Total votes 175: ↑149 and ↓26+123
Views90K
Comments 576

Кого вы пытаетесь впечатлить своими дедлайнами?

ProgrammingDevelopment ManagementProject managementAgile
Translation
Подсказка: явно не ваших пользователей.

Поднимите руку те, чья компания провозгласила «Клиентоориентированность» как одну из своих корпоративных ценностей. Для тех из вас, кто читает этот текст на Хабре и не видит аудиторию: почти весь зал поднял руку, кроме пары человек сзади.

Они работают в Oracle.

Удовлетворенность клиентов является одной из корпоративных ценностей компании Oracle. Но корпоративные ценности — они как абонемент в спортзал — недостаточно их просто иметь.

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

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

Дедлайны нужны в первую очередь не клиентам, а менеджменту.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Views18K
Comments 18

Rust превосходит по производительности C++ согласно результатам Benchmarks Game

High performanceC++CRust
В начале этого месяца случилась маленькая победа. Согласно последним результатам популярного бенчмарка, сравнивающего производительность языков программирования, Rust занимает второе место, разместившись между C и С++:

image

Для сравнения производительности используется геометрическое среднее времени выполнения 10 различных программ. Согласно последним результатам Rust превзошел С++ в 6 задачах из 10.

Под катом некоторое детали и мнение о дальнейших перспективах.
Читать дальше →
Total votes 45: ↑36 and ↓9+27
Views20K
Comments 281

И все-таки, почему Posit являются достойной альтернативой IEEE 754

High performanceProgrammingC++AlgorithmsManufacture and development of electronics
Месяц Posit на Хабре объявлен открытым, а значит я не могу пройти мимо и проигнорировать обрушившуюся на них критику. В предыдущих сериях:

Новый подход может помочь нам избавиться от вычислений с плавающей запятой
Posit-арифметика: победа над floating point на его собственном поле. Часть 1
Posit-арифметика: победа над floating point на его собственном поле. Часть 2
Испытания Posit по-взрослому

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

Именно с таким неприятием сегодня сталкивается формат Posit: критикующие зачастую просто “не туда смотрят“ и даже банально неправильно используют Posit в своих экспериментах. В данной статье я попытаюсь объяснить почему.
Читать дальше →
Total votes 93: ↑87 and ↓6+81
Views12K
Comments 72

Rust и парадокс Блаба

C++System ProgrammingCompilersRustTypeScript
Translation

Несколько недель назад я наткнулся на сравнительный анализ Rust, D и Go от Андрея Александреску. Андрей, уважаемый член сообщества C++ и главный разработчик языка программирования D, нанес Rust сокрушительный удар под конец своего повествования, высказав нечто, что выглядит довольно проницательным наблюдением:



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



После нескольких встреч с Андреем, увидев некоторые из его выступлений, я убедился, что он любит подшучивать. Тем не менее, давайте проглотим наживку. Эта шутка смешная только потому, что она выглядит смешной, или может быть потому, что в ней только доля шутки?

Читать дальше →
Total votes 49: ↑47 and ↓2+45
Views29K
Comments 134

Rust в 2016 году

ProgrammingSystem ProgrammingCompilersRust
Translation
2015 год был значительным годом для Rust: мы выпустили версию 1.0, стабилизировали большинство элементов языка и кучу библиотек, значительно выросли как сообщество, а также реорганизовали управление проектом. Может показаться что 2016 год не будет таким же интересным (будет трудно превзойти выпуск 1.0), но это будет супер-важный год для Rust, в котором произойдет много захватывающих вещей. В этой статье я расскажу о том, что, как я думаю, должно произойти. Это не официальная позиция и не обещание разработчиков Rust.

2015


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

В 2015 году силами сообщества Rust:

Читать дальше →
Total votes 44: ↑44 and ↓0+44
Views20K
Comments 59

Обработка ошибок в Rust

ProgrammingSystem ProgrammingRust
Translation

Как и многие языки программирования, Rust призывает разработчика определенным способом обрабатывать ошибки. Вообще, существует два общих подхода обработки ошибок: с помощью исключений и через возвращаемые значения. И Rust предпочитает возвращаемые значения.



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



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


Читать дальше →
Total votes 37: ↑36 and ↓1+35
Views32K
Comments 73

Стражи ночи

Website developmentSystem Programming
Translation
Будучи высококвалифицированным исследователем, я потратил немало времени на продвижение науки вперёд. Но я родился на Юге и искренне убеждён, что прогресс — это выдумка, и что нужно готовиться к Судному дню, к жатве того, что мы посеяли и к появлению быстрых зомби, медленных зомби, и даже вежливых зомби, которые обращаются к вам «сэр» или «мадам», но в итоге пытаются съесть ваш мозг дабы заполучить ваши навыки. Когда нагрянет революция, нужно быть готовым; поэтому в моменты тишины и покоя, когда я не произвожу очередной прорыв в науке, я размышляю над тем, что же я буду делать, когда прогноз погоды изменится на «РЕКИ КРОВИ ЦЕЛЫЙ ДЕНЬ ДО СКОНЧАНИЯ ВРЕМЁН».

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

Но! Но… Самым важным членом моей банды будет системный программист, ибо в гоббсовском кошмаре невероятных масштабов умеющему отладить драйвер устройства или распредёленную систему человеку можно доверять; системный программист видел ужасы Вселенной и понимает безысходность бытия. Системный программист писал драйверы для устройств, прошивку которых создавал то ли пьяный ребёнок, то ли трезвый карась. Системный программист отлавливал проблему с сетью через восемь машин, три часовых пояса и с дружеским визитом в Омск, откуда ее перенаправили в левое переднее копыто той лошади, что избавила Трою от перенаселения.1 Системный программист читал исходники ядра для лучшего понимания процессов мироздания и видел комментарий «И ЭТО РАБОТАЕТ ЛОЛ» в коде планировщика, и не смеялся он, но плакал; и отправил он патч ядра для восстановления баланса Силы и устранения инверсии приоритетов, что приводила к зависанию MySQL. Системный программист знает, что делать, когда общество падёт, потому что он уже живет в мире, где царит беззаконие.
Читать дальше →
Total votes 157: ↑136 and ↓21+115
Views78K
Comments 49

Что не так с ООП и ФП

Designing and refactoringООPFunctional Programming
Translation
Я не понимаю причины существования бесконечных споров вокруг Объектно-ориентированного (ООП) и Функционального (ФП) программирования. Кажется, что такого рода вещи находятся за пределами человеческого понимая, и о них можно спорить бесконечно. Много лет занимаясь исследованием языков программирования, я увидел четкий ответ, и зачастую я нахожу бессмысленным обсуждение этих вопросов.

Если кратко, то как ООП, так и ФП неэффективны, если доходить в их использовании до крайности. Крайностью в ООП считается идея о том что “все что угодно является объектом” (чистое ОП). Крайностью для ФП можно рассматривать чистые функциональные языки программирования.
Читать дальше →
Total votes 148: ↑116 and ↓32+84
Views69K
Comments 166

Re: Проблема «maximum-subarray» на примере курса доллара

Algorithms
После прочтения недавней статьи «Проблема «maximum-subarray» на примере курса доллара» 3 раза, мне захотелось плеваться. В статье предлагается найти промежуток дат, за который можно было заработать больше всего на разнице в курсе доллара к рублю за последние 5 лет. Автор предлагает свое «красивое» решение этой задачи, которое он нашел сам (разделяй и властвуй называется, ага), и которое работает за O(n lg n)…

Товарищи, это стыд и срам в блог «Алгоритмы» публиковать очевидно не оптимальное решение тривиальной задачи. Максимальная сумма элементов подмассива в массиве ищется за O(n)! Хоть бы википедию почитали по этой задаче.

Нормальное решение под катом.
Читать дальше →
Total votes 190: ↑182 and ↓8+174
Views2.4K
Comments 30

List Revolution. Нумерация списков начиная с единицы? Считайте, уже сделано! [UPD]

Python
Недавно на просторах интернета наткнулся на вот это сообщение из меил-листа сообщества python:
Christopher King: Первый элемент в списке имеет индекс 0, второй имеет индекс 1, третий это 2, и так далее. Иногда это сбивает с толку новичков python и программирования в целом. Такая система нумерации была принята в то время, когда 1 бит все еще имел большое значение. Пришло время обновления. Имейте ввиду, что это предложение для четвертой версии, так-как из-за него не будет обратной совместимости. Я говорю о том, что мы должны сделать первый элемент с индексом 1, второй — с индексом 2 и т.д. Другие языки последуют за этим. Мы хотим сделать питон легким и читабельным, и в эпоху, когда нельзя получить что-то меньше килобайта через USB, мы должны сделать первое первым, второе вторым, а третье третим, как это и должно быть. Я даю этому "+1".
Guido van Rossum: Считайте, что это уже сделано.
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Views12K
Comments 100

Реализация объектов-словарей, как в Javascript

Python
Недавно, после длительного взаимодействия моего мозга с Javascript я вернулся к привычному для меня Python, и понял, что чего-то мне не хватает, а именно объектов как в Javascript, тех что хеш-таблицы, ага. Фууууу, может быть скажете вы и, возможно зря.
Читать дальше →
Total votes 63: ↑58 and ↓5+53
Views6.2K
Comments 41

Information

Rating
1,256-th
Location
Киев, Киевская обл., Украина
Works in
Date of birth
Registered
Activity