Как стать автором
Обновить
1
0

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

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

Выделяем ДНК банана в домашних условиях

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

В анонсах мероприятий, которые проходят в Leader-ID, можно встретить неожиданные вещи. К примеру — мастер-класс по выделению молекул ДНК, для которого достаточно «оборудования» и «реагентов», присутствующих на любой кухне. Этот эксперимент можно провести вместе с детьми — погрузить их, так сказать, в мир биологии и химии.

Читать далее
Всего голосов 128: ↑128 и ↓0+128
Комментарии78

История потерянного коммита

Время на прочтение7 мин
Количество просмотров18K
Был уже вечер, когда ко мне обратился разработчик. Из мастер-ветки пропал патч — коммит deadbeef.



Мне показали доказательства: вывод двух команд. Первая из них —

 git show deadbeef 

— показывала изменения файла, назовём его Page.php. В него добавились метод canBeEdited и его использование.

А в выводе второй команды —

 git log -p Page.php 

— коммита deadbeef не было. Да и в текущей версии файла Page.php не было метода canBeEdited.

Не найдя решения быстро, мы сделали ещё один патч в мастер, разложили изменения — и я решил, что вернусь к проблеме на свежую голову.
Читать дальше →
Всего голосов 77: ↑76 и ↓1+104
Комментарии49

Современные накопители очень быстры, но плохие API это не учитывают

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


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

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

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

Вот самые распространённые примеры таких заблуждений:

  • «Вполне нормально скопировать память здесь и выполнить эти затратные вычисления, потому что это сэкономит нам одну операцию ввода-вывода, которая была бы ещё более затратной».
  • «Я проектирую систему, которая должна быть быстрой. Поэтому она должна находиться в памяти».
  • «Если мы разобьём эти данные на несколько файлов, то выполнение будет медленным, поскольку возникнут паттерны произвольного ввода-вывода. Нам нужно оптимизировать выполнение под последовательный доступ и осуществлять считывание из одного файла».
  • «Прямой ввод-вывод очень медленный. Он подходит только для очень специализированных областей применения. Если у тебя нет собственного кэша, ты обречён».

Однако если изучить спецификации современных NVMe-устройств, то мы увидим, что даже в потребительском классе это устройства с задержками, измеряемыми в единицах микросекунд, и пропускной способностью в несколько ГБ/с, поддерживающие несколько сотен тысяч произвольных IOPS. Так в чём же нестыковка?
Читать дальше →
Всего голосов 33: ↑29 и ↓4+38
Комментарии40

Как попадает товар в магазины «Леруа Мерлен» с точки зрения математики заказа

Время на прочтение9 мин
Количество просмотров32K
image
Ячейка пикинга на первом этаже стеллажа

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

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

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

Сложность в том, что паллета — это довольно много смесителей. А в магазин нужно привезти 50 штук, скажем. Не везти же её целиком? И вот появляется процесс пикинга, когда паллета снимается с ячейки, кладётся вниз, а потом из неё достаётся вложенная тара. Это может быть транспортный короб, иннер и штука. Штуками распределительный центр почти никогда не оперирует, за исключением редкого и дорогого оборудования. Для единиц нужны фулфилмент-центры, но это уже немного другая часть логистики, и в этом посте про них не будет.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+42
Комментарии36

AES против осциллографа

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

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

Читать далее
Всего голосов 20: ↑19 и ↓1+20
Комментарии1

«Красивые глаза» как симптом болезни

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

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

Читать далее
Всего голосов 51: ↑42 и ↓9+49
Комментарии17

Юноше, обдумывающему электронику

Время на прочтение7 мин
Количество просмотров19K
Люди, начинающие интересоваться электроникой, рано или поздно сталкиваются с проблемой получения ответов на вопросы разной степени наивности. И здесь новообращённый адепт паяльника и вольтметра упирается в проблему технической информации по указанному направлению. Хорошо, если под боком есть терпеливый и грамотный наставник. Но такая удача выпадает не всем. Прямо скажем, мало кому так везёт. Сетевые форумы? Там новичков не жалуют и часто грубо оскорбляют репликами «RTFM» и «почитай, наконец, учебник». Короче, рано или поздно любой человек, влезающий в сложную и хорошо разработанную тему, сталкивается с проблемой поиска достойных печатных источников знаний. Печатные источники имеют массу достоинств, и самые основные из них — терпеливость и вежливость. Книга не скажет: «Ну что за тупой читатель», или «Чем ты занимался в школе?». Книгу можно неторопливо и вдумчиво читать, снова и снова проходя сложный материал, не рискуя исчерпать терпение наставника.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+20
Комментарии36

МЭМСы. Как устроены современные датчики?

Время на прочтение9 мин
Количество просмотров50K
Микроэлектромеханические системы (МЭМС) — устройства, объединяющие в себе микроэлектронные и микромеханические компоненты. Сейчас довольно трудно встретить системы в которых не используются датчики, выполненные по данной технологии. Но как устроены современные датчики и какие преобразователи используются для работы с ними? Постараемся детально разобраться в этом вопросе, основываясь на работе современных МЭМС-акселерометров.

Читать дальше →
Всего голосов 47: ↑46 и ↓1+62
Комментарии19

Связные списки, трюки с указателями и хороший вкус

Время на прочтение5 мин
Количество просмотров40K
В интервью на TED 2016 (14:10) Линус Торвальдс рассказывает о хорошем стиле программирования. В качестве примера приводит два варианта удаления элементов из односвязных списков (см. ниже). В первом варианте есть специальный случай, а в другом — нет. Линус предпочитает второй.

Его комментарий:

[...] Не надо размышлять, почему здесь нет оператора if. Важно посмотреть на задачу с другой стороны и переписать её так, чтобы особый случай исчез и стал обычным случаем, и это хороший код. — Л. Торвальдс

В качестве примера Линус показывает достаточно простой псевдокод в стиле Си. Но не даёт концептуального объяснения. Поэтому не сразу понятно, как работает косвенный указатель.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии66

Домашний тлен: токсины черной плесени

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

Если бы из всех существ, животных, грибов, бактерий и вирусов нужно было бы выбрать один, который соответствовал бы слову Тлен, пожалуй, победила бы именно плесень. Именно её мы видим в заброшенных домах Припяти, она поглощает пищу, к которой уже никто не притронется, ею обрастают старые погреба, сырые доски и вещи, брошенные на свалку, сырые обои и гипсокартон в вашем туалете.

Читать далее
Всего голосов 93: ↑89 и ↓4+108
Комментарии134

Как работали кредиты в Древнем Риме

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

Представьте, что вы житель Древнего Рима в первом веке до нашей эры. Ваша жена убеждает вас купить определённый предмет. Он довольно дорогой, поэтому вы колеблетесь, ведь наличных у вас маловато. Можно было бы представить, что подобное оправдание в те времена позволило бы вам остаться безнаказанным. Ведь какой у вас выбор: нельзя же выписать чек? Вообще-то можно, как пишет поэт Овидий в книге первой "Науки любви". И так как ваша жена об этом знает, другого выхода у вас нет:

«Женщина средство найдёт страстных мужчин обобрать.
Вот разносчик пришел, разложил перед нею товары,
Их пересмотрит она и повернётся к тебе,
«Выбери, — скажет, — на вкус, посмотрю я, каков ты разборчив»,
И поцелует потом, и проворкует: «Купи!»
Скажет, что этого ей довольно на долгие годы, — Нужную вещь продают, как же ее не купить?
Ежели денег, мол, нет при себе — попросит расписку,
И позавидуешь ты тем, кто писать не учен».

(Перевод М. Л. Гаспарова.)

Во времена Рима крупные суммы денег меняли хозяев. Люди покупали недвижимость, торговали и инвестировали в провинции, захваченные римскими легионами. Как же это происходило? В своих «Письмах Fam., V, 6» и «Письмах Att., XIII, 31» Цицерон пишет: «Я купил за 3500000 сестер­ци­ев тот самый дом через неко­то­рое вре­мя после тво­е­го поздрав­ле­ния» и «бли­жай­ший сосед — Гай Аль­ба­ний; он купил тыся­чу юге­ров [625 акров] у Мар­ка Пилия, насколь­ко я пом­ню, за 11500000 сестер­ци­ев». «Как?», — задаётся вопросом историк Харрис (в своей книге "The Nature of Roman Money"), — «Как Цицерон заплатил три с половиной миллиона сестерциев, которые он выложил за свой знаменитый дом на Палатине… Для этого бы понадобилось погрузить и переместить три с половиной тонны монет по улицам Рима. Когда Гай Альбаний купил имение у Марка Пилия за одиннадцать с половиной миллионов сестерциев, он физически отправил ему эту сумму в серебряных монетах?»
Читать дальше →
Всего голосов 81: ↑81 и ↓0+81
Комментарии24

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

Время на прочтение5 мин
Количество просмотров46K
TL;DR: Из-за блокировок Роскомнадзора большое количество ресурсов, находящихся на Amazon CloudFront и Akamai, периодически становятся кратковременно недоступны. Проблема вызвана частой сменой (ротацией) IP-адресов на доменах, использующих эти сервисы, а также балансировками на основе геопризнака и EDNS Client Subnet: периодически DNS-серверы ресурсов выдают клиентам адреса, внесённые в Реестр запрещенных сайтов. Неосведомлённому человеку сложно определить причину проблемы, так как через минуту всё, как правило, снова работает (но через какое-то время опять перестаёт).

Введение

Около двух лет в России в рамках борьбы с Telegram были заблокированы диапазоны IP-адресов Amazon Web Services, CloudFlare, Digital Ocean, Scaleway, Hetzner, Softlayer и других менее известных хостингов и CDN. Перечисленные сервисы очень популярны, их услугами пользуется значительное количество сайтов в интернете.
Во времена блокировки пользователи сообщали о недоступности Playstation Network, Viber, Spotify, основного сайта Microsoft и некоторых его поддоменов, а также множества других сервисов, сайтов и интернет-игр.
18.06.2020 Роскомнадзор разблокировал все ранее блокированные диапазоны, жалобы на недоступность сайтов резко сократились.

Однако часть сайтов, использующих сервисы Amazon CloudFront и Akamai, до сих пор периодически не открывается либо не загружается полностью, а через минуту уже работают нормально. Вы могли списывать такое поведение на проблемы у интернет-провайдера или сайта, но на деле они вызваны интернет-блокировками в России и особенностями геобалансировки этих сервисов.

Вот краткий список хостов, к которым был затруднен доступ за последние 2 недели:

  • www.adobe.com
  • leonardo.osnova.io (картинки сайтов dtf.ru, tjournal.ru)
  • cf-hls-media.sndcdn.com (аудио SoundCloud)
  • blog.playstation.com (блог Playstation)
  • clips-media-assets2.twitch.tv (видео с Twitch)
  • ocsp.int-x3.letsencrypt.org (проверка сертификатов по протоколу OCSP)
  • steamcommunity-a.akamaihd.net (форум Steam)
Читать дальше →
Всего голосов 116: ↑112 и ↓4+154
Комментарии132

Вы безумны, остановитесь пока не поздно

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

Привет Хабр! Всего каких-то пару лет назад на страницах нашего любимого ресурса красовались вдохновляющие статьи успешного успеха, как вчерашний сантехник / таксист / сварщик / сутенёр успешно интегрировался в IT сообщество и начал зарабатывать 100500$ в секунду левой пяткой. Здорово, не правда ли? Но всё ли так радужно с этими историями с точки зрения действующих разработчиков? Прошу под кат.
Читать дальше →
Всего голосов 250: ↑219 и ↓31+238
Комментарии894

Как оптимизировали экономику СССР и что из этого вышло

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

Я работаю специалистом по обработке и анализу данных (data scientist), поэтому большая часть моей работы включает в себя подбор оптимизируемых метрик и размышления о том, как выполнять процессы с максимальной эффективностью. Недавно я обнаружил совершенно удивительную книгу об экономических проблемах в СССР и о коллективе экономистов и компьютерных учёных, стремившихся решить их на основе данных. Книга называется Red Plenty. На самом деле она написана в жанре романа, что странно, однако представляет собой точную экономическую историю СССР. Автор активно заимствует информацию из книги 1973 года под названием Planning Problems in the USSR, которую я тоже приобрёл. При чтении этих книг я не мог не обратить внимания на параллели с планированием в любой современной организации. Факт, который покажется сегодня знакомым каждому data scientist: во второй книге есть цитата исследователя, жалующегося на то, что 90% своего времени он потратил на очистку данных, и только 10% — на само моделирование!

Кроме проведения интересных параллелей с современными data science и методами исследований технологических операций, эти книги помогли мне многое понять об интересных аспектах, о которых ранее я почти ничего не знал, например, о линейном программировании, ценовом равновесии и истории Советского Союза. В этом посте я расскажу о том, что узнал.
Читать дальше →
Всего голосов 104: ↑99 и ↓5+131
Комментарии2043

12 причин не идти в стартап

Время на прочтение23 мин
Количество просмотров50K
За последние 10 лет в мире IT довольно прочно укоренился ряд возвеличенных стереотипных представлений о стартапах. Этому во многом способствовали миллионные тиражи книг-биографий известных CEO, которые тогда, много лет назад основали свой стартап, а потом он вырос в гигантскую корпорацию вроде Google, Amazon, Facebook. Этому способствует и несколько однобокая и фрагментированная подача материалов в it-сообществах, в том числе и на habr.com. И вряд ли в этом можно кого-то винить, но попробовать разобраться и приоткрыть ту сторону медали, которая не так масштабно освещена, всё же можно.

Я адресую эту статью начинающим программистам, которые либо не имеют опыта работы вообще, либо имеют небольшой опыт (до 5 лет). Как показывает практика, именно эта категория людей имеет максимально искаженные представления о стартапах в сфере IT. Искаженные – в том смысле, что на вопрос «что можешь сказать положительного о стартапах?», они могут долго пересказывать чужие и в немалой степени устаревшие мысли, а на вопрос «что не так со стартапами?» — в ответ могут лишь неуверенно вопросить: «они могут не выстрелить?»

Эта статья предназначена тем, кто просто никогда не задумывался над вопросом, почему не стоит идти работать в стартап в качестве сотрудника. Поехали!
Читать дальше →
Всего голосов 120: ↑87 и ↓33+85
Комментарии221

Создаём установочный носитель с множеством версий Windows NT 6.0+ без использования стороннего софта

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

КДПВЗдравствуйте. Сегодня я расскажу как можно создать единый установочный носитель с множеством разных версий Windows не прибегая к использованию стороннего ПО. Таким образом вы будете полностью понимать какие манипуляции мы выполняем.


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


Кому интересно — прошу под кат.

А ну-ка, посмотрим
Всего голосов 34: ↑33 и ↓1+32
Комментарии108

Компьютерное кресло: критерии выбора и обзор конкретной модели

Время на прочтение42 мин
Количество просмотров261K
“Если ваш путь лишён препятствий, скорее всего он ведёт не туда.” — Че Гевара

КДПВНа Хабре не так много статей, посвящённых столь важному для долгой работы за компьютером атрибуту, как компьютерное кресло. Между тем, от того, насколько оно удобно, зависит не только продуктивность, но и здоровье. Особенно сейчас, в условиях тотального распространения формата home office. Кроме этого, кресло — предмет длительного пользования, а значит, подходить к его выбору следует основательно.

Перед тем как покупать компьютерное кресло себе любимому, я перечитал около дюжины тематических статей из различных источников, а также все отзывы на кресла с рейтингом Яндекс.Маркета от 5 до 4.5 включительно (это 6 страниц в результатах поиска, примерно 200 моделей, более 2000 отзывов).

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

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

Также поделюсь с вами личными впечатлениями о своей покупке — относительно недорогом игровом кресле AeroCool Knight Lite (далее — AKL, изображено выше). Чтобы не перемешивать мух с котлетами общее с частным, я отделил собственные комментарии от основного текста горизонтальной чертой (в конце каждого раздела).

Статья встретит вас удобным для быстрой навигации оглавлением, а проводит ссылкой на краткую версию моего отзыва о кресле AKL, а также ссылкой на полезный бонус.
Завершается статья холиварным опросом (только чур без флейма на эту тему).
Узнать подробности
Всего голосов 34: ↑28 и ↓6+35
Комментарии183

AI на минималках: пишем свой Сокобан и учим компьютер его решать

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

Компьютер играет в Сокобан


В этой статье я расскажу как написать свою реализацию известной игрушки Сокобан, а также алгоритм для её решения с нуля. Заодно применю на практике некоторые шаблоны проектирования и принципы SOLID.


Весь код расположен по адресу

Читать дальше →
Всего голосов 16: ↑15 и ↓1+22
Комментарии13

Скулятчер

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

Сижу я вчера спокойно, как водится никого особо не трогаю. Тут с двух разных контактов, почти одновременно присылают ссылку на небезызвестный твит про JSON из SQL. Одно из сообщений выглядело так:



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

Читать дальше →
Всего голосов 106: ↑106 и ↓0+106
Комментарии103

За что получает деньги наемный работник? Не понимаете? Сейчас поймете

Время на прочтение4 мин
Количество просмотров151K
«За что я плачу тебе деньги?» — обычный вопрос работодателя работнику, причем саркастический, как правило.

«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»

Читать дальше →
Всего голосов 178: ↑174 и ↓4+226
Комментарии888

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность