Обновить
@kantocoderread⁠-⁠only

Пользователь

2
Подписчики
Отправить сообщение

Cache pollution? Запасайтесь тестами

Время на прочтение16 мин
Охват и читатели13K

Всем ведь приходилось заниматься улучшением производительности? Для игр особенно актуально, ну может какая-то три-в-ряд не страдает этим. Как обычно серебряной пули нет, начинаем со структур данных, алгоритмов, спускаемся ниже если не помогает, придумываем SoA, AoS шаблоны. Если проблема не решается, подтягиваем профайлеры и предметно разбираем узкие места, но все чтобы мы не делали зачастую таким узким местом всегда будет "железо". Можно сколько угодно оптимизировать другие места, но CPU c его гигагерцами будет простаивать 90% времени если его неправильно "кормить" данными. Одной (только одной из проблем) проблемой организации эффективной работы с данными будет меньше, если знать и уметь работать с кэшами разных уровней. Тут на вики описано, как "на пальцах" быстренько убить перф на обходе массива, простого и общего решения для такого обхода нет. Можно и дальше увеличивать размер кэша, что собственно и делают (гдето здесь на хабре была новость, что Интел при переходе на L1 кэш размером 32кб, заново спроектировал блок доступа к нему, сорян не нашел ссылку), но это дорого, неэффективно на масштабах современных процов, и всегда найдутся данные, которые этот кэш отравят, опять. Интересно как починить? го под кат...

Читать далее

Пробоина выше ватерлинии. Как починить гематоэнцефалический барьер

Время на прочтение7 мин
Охват и читатели16K

Привет, на связи сообщество RISE. На неделе у пользователей возник вопрос касательно основной системы безопасности мозга — гематоэнцефалического барьера. Обсуждение привело к короткому посту про ГЭБ и этому лонгриду о «прохудившемся гематоэнцефалическом барьере» . Разберем кратко, что такое ГЭБ, в чем угроза его целостности и как с этим бороться.

Читать далее

Бутстреп и А/Б тестирование

Время на прочтение10 мин
Охват и читатели98K

Привет, Хабр! В этой статье разберёмся, как с помощью бутстрепа оценивать стандартное отклонение, строить доверительные интервалы и проверять гипотезы. Узнаем, когда бутстреп незаменим, и в чём его недостатки. 

Читать далее

7 причин почему вы не худеете. Ожирение, инсулинорезистентность и диабет простыми словами

Время на прочтение16 мин
Охват и читатели60K

С лишним весом я на ты. Со 115 кг я «сбросился» до 72, затем в течение 3-х лет вернулся обратно к 94-м, а сейчас опять худею (уже грамотно) и в данный момент вешу 88.7 кг (ещё 7 скину и остановлюсь). Таких историй много, поэтому об этом я не буду, а вот причины (биологические и поведенческие), по которым вы можете не худеть, не видел, чтобы кто-то описывал в полном объёме и понятным языком. Сегодня я постараюсь сделать это для вас, обобщив все свои знания о лишнем весе. 

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

Читать далее

Собеседование наоборот: Альфа-Банк, Иннотех, РТ Лабс, ALM Works, Simbirsoft

Время на прочтение23 мин
Охват и читатели15K

В марте на Хабр Карьере завершилась неделя фронтендеров. Карьерная неделя — это что-то вроде дня открытых дверей, который длится всю неделю. В этот раз в битве за сердца фронтендеров сошлись пять компаний: Альфа Банк,  РТ Лабс,  ALM Works, Иннотех и Simbirsoft. 

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

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

Читать далее

Интервью с разработчиками SpaceX

Время на прочтение14 мин
Охват и читатели9.8K
image

Год назад на Reddit прошла серия вопросов и ответов с разработчиками из SpaceX и Starlink

На вопросы отвечали:

  • Jeff Dexter — руководитель Flight Software and Cybersecurity в SpaceX
  • Josh Sulkin — software design lead в Crew Dragon
  • Wendy Shimata — отказоустойчивость и безопасность для Dragon
  • John Dietrick — разработчик софта для Demo-2
  • Sofian Hnaide — Crew Displays software для Demo-2
  • Matt Monson — работал для Dragon, а теперь разработчик софта для Starlink

Какую самую безумную/невозможную вещь руководство (ака Илон) просило вас сделать?

Jeff Dexter: Я помню, как я был в кабинете Илона и сообщил ему новость о том, что мы никак не сможем реализовать весь новый код для посадки S1 вовремя для предстоящего запуска через 2 недели. После некоторого раздумья он посмотрел на Ларса Блэкмора, который был там с нами, и спросил, если мы внедрим этот код, какова вероятность посадки. Ларс ответил, что около 90%. Перефразируя, Илон посмотрел на нас и, по сути, сказал: «Вы можете дать мне 50%». Я сказал, что за 2 недели мы точно сможем написать достаточно логики, чтобы вероятность посадки составила 50%! Мы не посадили F9-14 (вы можете увидеть это в нашем ролике), но мы многому научились, и это помогло нам в конечном итоге посадить F9-21. Важнейшей частью нашего успеха является наша готовность к неудачам, которые не ставят под угрозу миссию, при условии, что мы постоянно учимся на наших неудачах.
Читать дальше →

Огромные недостатки разработки программного обеспечения по Agile

Время на прочтение5 мин
Охват и читатели11K

У всего хорошего есть и плохое. Почему разработка программного обеспечения по методике Agile не решит все ваши проблемы.

Читать далее

Почему инженеры презирают Agile

Время на прочтение5 мин
Охват и читатели28K

Мы продолжаем цикл публикаций о недостатках Аgile методологии. Сегодня перевод статьи о том, почему инженеры презирают Agile (много новых удивительных наблюдений!)

Читать далее

Иммутабельная архитектура

Время на прочтение6 мин
Охват и читатели11K

Эта статья является переводом материала «Immutable architecture».

В этом посте автор оригинала хотел бы показать общий подход к внедрению иммутабельности в кодовую базу на архитектурном уровне.

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

Читать далее

Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 1)

Время на прочтение4 мин
Охват и читатели66K

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

Читать далее

Парсим протобаф на скорости больше 2 Гб/с.: как я научился любить хвостовую рекурсию в C

Время на прочтение10 мин
Охват и читатели13K


Отличную функцию недавно добавили в основную ветку компилятора Clang. С помощью атрибутов [[clang::musttail]] или __attribute__((musttail)) теперь можно получить гарантированные хвостовые (tail) вызовы в C, C++ и Objective-C.

int g(int);
int f(int x) {
    __attribute__((musttail)) return g(x);
}

(Онлайн-компилятор)
Читать дальше →

«Вам здесь больше не рады...» Или что делать, если вы думаете, что работаете здесь, а начальник думает, что уже нет

Время на прочтение7 мин
Охват и читатели74K

Представьте, что однажды Вы приходите на любимую работу, но начальник встречает Вас нервно, напряжен как струна, и, вызвав Вас к себе, объявляет Вам, что Вы уволены. Вам это объявление портит настроение, опускает самолюбие ниже плинтуса, Вы теряетесь, не знаете, как поступить, что говорить, и о чем начинать беспокоиться в первую очередь - чем оплачивать жилье, квартиру, ипотеку или отдавать долг Сашке и т. п. Попутно Вам начальник/кадровик подсовывает в руки пустой лист бумаги и ручку и говорит написать заявление. Туман в голове, дрожащими руками Вы начинаете выводить на белоснежном листе «генеральному директору ООО «Компания» Иванову И. И., заявление» ниже «прошу уволить меня по собственному желан…» СТОП. Какая-то ерунда получается. Может сказать чудаку начальнику, что у меня желания-то увольняться совсем нет, и зачем тогда писать это заявление, если я уже уволен? Если я уволен – отдайте трудовую книжку, зарплату и отпустите восвояси. Непонятно…

Поделившись своими сомнениями с кадровиком, Вы замечаете, что Инспектор по кадрам багровеет и рассказывает, что Ваши коллеги-соратники уже написали заявление и советует Вам сделать то же самое - это в Ваших же интересах – «иначеуволимпостатьеиотправимсволчьимбилетом».

Вам становится еще страшнее от ее уверенности, но у Вас уже просыпается любопытство, подбадриваемое логикой и верой в справедливость - «За что уволите, я ж ничего не нарушал(а)?». Инспектор, не ожидая такого поворота, багровеет еще больше и выбегает из кабинета. Немного погодя, у Вас уже разговор с начальником отдела кадров и Вашим начальником. Они участливо с Вами беседуют, но припоминают Вам Ваши старые грешки: опоздания, болезни без бюллетеня пусть даже с разрешения начальника (этожепрогул!) и убедительно описывают Вашу низкую квалификацию, не выполнение Вами поручений руководителя, невыполнение плана продаж/обзвонов и т. п. и повторно убеждают Вас, что заявление – лучший вариант. Вы послушно отправляетесь писать заявление на увольнение. Вроде все логично и ситуация знакома многим, но есть три момента, о которых обычно забываем(или не знаем) при оценке того, что Вам говорят. С тех пор, как у нас в стране отменили крепостное право многое изменилось и государство больше защищает работников, чем работодателей и при любых спорах действует презумпция невиновности работника. Именно работодатель обязан оправдываться и доказывать, что он все корректно сделал и оформил. Допустил малейшее нарушение - отмена увольнение и оплата всего времени с момента незаконного увольнения.

Читать далее

Как заставить код выполняться за одинаковое время? Способы от Яндекс.Контеста

Время на прочтение5 мин
Охват и читатели13K
Недавно мы объявили на Хабре, что начинаем принимать заявки на Яндекс.Алгоритм и другие треки чемпионата по программированию Yandex Cup. Уже много лет онлайн-соревнования Яндекса и других компаний проходят на платформе Контест. Меня зовут Павел Тыквин, я один из разработчиков Контеста. Основная задача нашей платформы — получить от участника чемпионата исходный код решения, скомпилировать и запустить этот код, прогнать тесты и вернуть результат. Звучит не очень сложно. Давайте попробуем.

int main()
{
	int n = 500000000;
	int *a = new int[n + 1];
	for (int i = 0; i <= n; i++)
		a[i] = i;
	for (int i = 2; i * i <= n; i++)
	{
		if (a[i]) {
			for (int j = i*i; j <= n; j += i) {
				a[j] = 0;
			}
		}		
	}
	delete[] a;
	return 0;
}
Читать дальше →

Три редко используемых возможности Python 3, о которых каждый должен знать

Время на прочтение3 мин
Охват и читатели13K

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

Данная статья является переводом 3 Neglected Features in Python 3 That Everyone Should Be Using.
Читать дальше →

Изобретаем велосипед или пишем персептрон на С++. Часть 1 и 2

Время на прочтение7 мин
Охват и читатели18K

Изобретаем велосипед или пишем персептрон на C++. Часть 1


Напишем простую библиотеку для реализации персептрона на C++



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

«Просто похудеть» — непросто

Время на прочтение15 мин
Охват и читатели131K

Интернет наводнен статьями о том, как похудеть "просто съедая меньше чем потратил" и отчетами об успешном опыте некоторых везунчиков. Чего нету (ну или очень мало) в интернете — это отчетов о том, как миллионы людей безрезультатно пытаются просто "съесть меньше", садясь на все новомодные диеты и неизменно возвращаясь к тому, с чего начинали, а иногда и скатываясь по шкале индекса массы тела в еще более красную зону.


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

Хакнуть свой мозг

Указатели на методы классов в C++

Время на прочтение6 мин
Охват и читатели46K
Привет, интернет.

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

Как найти скрытую камеру в съемной квартире или номере отеля

Время на прочтение4 мин
Охват и читатели244K

Airbnb и его аналоги решают множество проблем со съемом жилья. Но такая аренда также включает и некоторые риски. Например, недобропорядочные собственники могут устанавливать скрытые камеры в квартирах, комнатах и домах и не сообщать о съемке своим постояльцам, тем самым нарушая закон.Аналогичным образом поступают и отели, хотя и гораздо реже, чем собственники жилья.

Случаев, когда постояльцы обнаруживают в своих комнатах и номерах скрытые камеры, становится все больше. Согласно результатам исследования, скрытые камеры находит 1 из 10 пользователей Airbnb. Не меньше таких устройств в отелях и хостелах. Представим масштабы проблемы, если учесть, что постояльцы обнаруживают далеко не все камеры, а только те, что установлены небрежно. Как обезопасить себя от шпионажа? Как минимум можно внимательно обследовать помещение, прежде чем поселиться в нем. В статье мы расскажем, что, где и как искать.

Космические технологии в беспилотном транспорте: фильтр Калмана (из Архивов NASA)

Время на прочтение4 мин
Охват и читатели4K
image

В 51-ю годовщину первой человеческой высадки на Луну, состоявшейся в июле 1969 года, давайте вспомним фундаментальную технологию, которая помогла сделать эту высадку возможной: фильтр Калмана. Названный в честь Рудольфа Калмана, американского электротехника, математика и изобретателя венгерского происхождения, фильтр представляет собой математическую методику, которую он предложил в 1960 году. Он особенно полезен при оценке положения объектов на основе наблюдений с помощью нескольких датчиков и широко применяется в системах наведения, навигации и управления транспортными средствами и самолетами.

Именно во время визита Калмана в Исследовательский центр Эймса NASA в Маунтин Вью, инженеры NASA увидели, что методы Калмана могут решить нелинейную задачу оценки траектории для программы «Аполлон». Однако запуск алгоритма фильтра Калмана на компьютере 1960-х годов был невозможен. Технический меморандум (из архивов НАСА, см. ниже) иллюстрирует исследовательскую работу в 1960-е и 1970-е годы, в ходе которой был внедрен «численно точный фильтр Калмана в вычислительной системе с ограниченным объемом памяти, пригодный для применения в реальном времени, например, для бортовой навигации самолетов или космических аппаратов».
Читать дальше →

Чеклист для проекта по машинному обучению

Время на прочтение5 мин
Охват и читатели6.1K
image

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

Зачем мне вообще нужен чеклист?

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

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

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

Как говорит Атул Гаванде в своей книге ”The Checklist Manifesto”,
объем и сложность того, что мы знаем, превзошли нашу индивидуальную способность правильно, безопасно и надежно предоставлять свои преимущества.
Итак, позвольте мне провести вас по этому четкому и краткому списку действий, которые уменьшат вашу рабочую нагрузку и улучшат ваши результаты…

Чеклист проектов по машинному обучению

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность