Search
Write a publication
Pull to refresh
5
0
Tolkachev Konstantin @kasperos

ИТ: администрирование, рем., диагн., и т.д. и т.п.

Send message

Toyota: 81 514 нарушений в коде

Reading time5 min
Views105K


Люди: — Эй, Тойота, мы тут посчитали, у вас из-за корявой электроники и софта 89 человек погибло с 2000 по 2010.
Тойота: — Да они сами виноваты, путают педали.
Люди: — Хьюстон, у нас проблемы.
NASA: — Ща разберемся, нам надо 10 месяцев и 3 миллиона долларов.
Люди: — На.
Тойота: — 3 миллиона мало, вот вам еще сверху кэшем.
(прошло 10 месяцев)
NASA: — Эй, Тойота, мы у вас пару ошибок в коде нашли, а точнее 7134 нарушения стандартов MISRA, рекурсию, функцию на 740 строк и 9000 глобальных переменных.
Тойота: — А у нас свои стандарты. А вы ваще на Луну летали?
NASA (публично): — Тойота ни в чем не виновата.
(Акции Тойота подскочили на 4,6%)
Люди: — Ну ё-моё.
(спустя 3 года)
Два американских тестировщика (у которых дедушки погибли в Перл-Харбор): — Нет багов? А если найдем?

Современная операционная система: что надо знать разработчику

Reading time22 min
Views68K

Александр Крижановский (NatSys Lab.)


Александр Крижановский

Нас сегодня будет интересовать операционная система – ее внутренности, что там происходит… Хочется поделиться идеями, над которыми мы сейчас работаем, и отсюда небольшое вступление – я расскажу о том, из чего состоит современный Linux, как его можно потюнить?

По моему мнению, современная ОС – это плохая штука.




Дело в том, что на картинке изображены графики сайта Netmap (это штуковина, которая позволяет вам очень быстро захватывать и отправлять пакеты сетевого адаптера), т.е. эта картинка показывает, что на одном ядре с разной тактовой частотой до 3 ГГц Netmap позволяет 10 Гбит – 14 млн. пакетов в сек. отрабатывать уже на 500 МГц. Синенькая линия – это pktgen – самое быстрое, что, вообще, есть в ядре Linux’а. Это такая штуковина – генератор трафика, который берет один пакет и отправляет его в адаптер много раз, т.е. никаких копирований, никакого создания новых пакетов, т.е., вообще, ничего – только отправка одного и того же пакета в адаптер. И вот оно настолько сильно проседает по сравнению с Netmap (то, что делается в user-space показано розовой линией), и оно вообще где-то там внизу находится. Соответственно, люди, которые работают с очень быстрыми сетевыми приложениями, переезжают на Netmap, Pdpdk, PF_RING – таких технологий море сейчас.
Читать дальше →

Оптимизация кода: процессор

Level of difficultyHard
Reading time18 min
Views117K
Все программы должны быть правильными, но некоторые программы должны быть быстрыми. Если программа обрабатывает видео-фреймы или сетевые пакеты в реальном времени, производительность является ключевым фактором. Недостаточно использовать эффективные алгоритмы и структуры данных. Нужно писать такой код, который компилятор легко оптимизирует и транслирует в быстрый исполняемый код.

image

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

EmDrive: Работа от НАСА Eagleworks прошла независимую экспертизу

Reading time4 min
Views36K


Независимый учёный подтвердил, что работа, проделанная учёными лаборатории НАСА Eagleworks Laboratories по достижению тяги с использованием крайне спорной технологии космических двигателей EmDrive, прошла независимую экспертизу и вскоре будет опубликована в Американском институте аэронавтики и астронавтики (AIAA).

Доктор Хосе Родал разместил на форуме NASA Spaceflight – этот его комментарий уже удалён – сообщение о том, что новая работа будет называться «Измерение импульсной тяги закрытой радиочастотной полости в вакууме», и её авторами указаны Гарольд Уайт, Пол Марч, Лоуренс, Вера, Сильвестр, Брэйди и Бэйли [Harold White, Paul March, Lawrence, Vera, Sylvester, Brady and Bailey].

Поклонники EmDrive считают, что одно найденное ими предложение как раз цитирует эту статью: «Данные по тяге у модели TM212 при давлении, не превышающем 8*10-6 мм рт. ст., полученные от тестов по прямому, обратному и нулевому движению, позволяют заключить, что система выдаёт постоянную тягу с отношением тяги к мощности равным 1,2 ± 0.1 мН/КВт ()».
Читать дальше →

Жизнь до IoT или зарисовки инженера АСКУЭ

Reading time15 min
Views46K
Что-то на гиктаймс стало мало технических статей от независимых не новостных и не проплаченных авторов.

Попробую исправить данную ситуацию и рассказать про то, как работают и из чего устроены автоматизированные системы коммерческого учета электроэнергии (АСКУЭ). А точнее про то, как создавалась одна из таких систем на отдельно взятом предприятии.



Советую относиться к статье как к будничным зарисовкам инженера с элементами отзывов на оборудование.
Читать дальше →

Простой способ получения высококачественного графена: две секунды в микроволновой печи

Reading time3 min
Views55K

Волокна графена под сканирующим электронным микроскопом. Чистый графен восстановлен из оксида графена (GO) в микроволновой печи. Масштаб 40 мкм (слева) и 10 мкм (справа). Фото: Jieun Yang, Damien Voiry, Jacob Kupferberg / Rutgers University

Графен — 2D-модификация углерода, образованная слоем толщиной в один атом углерода. Материал обладает высокой прочностью, высокой теплопроводностью и уникальными физико-химическими свойствами. Он демонстрирует максимальную подвижность электронов среди всех известных материалов на Земле. Это делает графен практически идеальным материалом в самых различных приложениях, в том числе в электронике, катализаторах, элементах питания, композитных материалах и т.д. Дело за малым — научиться получать качественные слои графена в промышленных масштабах.

Химики из Ратгерского университета (США) нашли простой и быстрый метод производства высококачественного графена путём обработки оксида графена в обычной микроволновой печи. Метод на удивление примитивный и эффективный.
Читать дальше →

Математик оптимизировал решето Эратосфена, чтобы искать простые числа с меньшим расходом памяти

Reading time4 min
Views31K

38-летний перуанский математик Харальд Хельфготт три года назад доказал тернарную гипотезу Гольдбаха, а сейчас сумел оптимизировать компьютерный алгоритм для расчёта решета Эратосфена. Фото: Matías Loewy

В III в. до нашей эры древнегреческий математик, астроном, географ, филолог и поэт Эратосфен Киренский придумал гениальный способ поиска простых чисел. Очень эффективный и быстрый метод, который используется до сих пор, получил название решето Эратосфена.

Суть понятна из названия. Решето Эратосфена означает поиск простых чисел методом исключения. Берём список чисел, исключаем из него все составные числа — и получаем список простых чисел, словно просеяв список через решето.
Читать дальше →

Литий-ионные и литий-полимерные аккумуляторы: маркетинговые уловки и распространенные ошибки

Reading time7 min
Views102K
Неоднократно сталкиваюсь в статьях и комментариях (в статьях все же гораздо реже) с использованием неправильных данных или названий, которые впоследствии приводятся, как аргументы, хотя на самом деле они ошибочны изначально. И эти ошибки распространяются по всем ресурсам, включая Гиктаймс.

Этой статьей я бы хотел разъяснить некоторые моменты и провести своеобразный ликбез.
Читать дальше →

Лабораторные чёрные дыры помогают учёным изучать квантовые свойства Вселенной

Reading time4 min
Views15K


Чёрные дыры – это песочница для физиков. В них можно наблюдать и проверять самые ненормальные и фундаментальные концепции физики. Но пока не существует способа изучать чёрные дыры напрямую; эти объекты не испускают излучения, такого, как видимый свет или рентген, которое бы могли уловить телескопы. К счастью, физики придумали, как можно сымитировать условия, существующие в чёрных дырах, в лаборатории – и, создавая аналоги ЧД, они начинают раскручивать самые удивительные загадки физики.

Джефф Стейнхауэр, исследователь с физической кафедры Израильского технологического института (Техниона) недавно привлёк к себе внимание, объявив об успешном использовании аналога чёрной дыры для подтверждения теории Стивена Хокинга от 1974 года об испускании ЧД электромагнитного излучения, известного, как излучение Хокинга. Хокинг предсказал, что это излучение будет идти благодаря спонтанному созданию пар частица-античастица на горизонте событий, в точке на краю ЧД, за которую ничего, даже свет, не может убежать. Согласно теории, одна из частиц попадает в ЧД, а другая убегает в космос [на самом деле всё немного сложнее, и объяснено по ссылке выше – прим. перев.]. Эксперимент Стейнхауэра впервые продемонстрировал поддерживающие вычисления Хокинга спонтанные флюктуации.
Читать дальше →

Лекарства от радиации в чрезвычайных ситуациях

Reading time13 min
Views397K
image
Американские учения «Desert Rock» с применением ядерного оружия. 1951 год.

Несмотря на то что человек всегда жил в условиях естественной радиации, с середины прошлого века у него возникла новая радиационная угроза техногенного облучения в чрезвычайных ситуациях. Это может быть ситуация применения атомного оружия, авария на ядерном объекте или террористический акт с применением “грязной” бомбы.

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

Что необходимо знать о резисторах?

Reading time5 min
Views95K


Резистор: кусочек материала, сопротивляющийся прохождению электрического тока. К обоим концам присоединены клеммы. И всё. Что может быть проще?

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

Начнём с самого простого и старого.

Углеродные композиционные резисторы


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

Работа с датчиками тока на эффекте Холла: ACS758

Reading time7 min
Views95K
Всем привет!

Пожалуй, стоит представиться немного — я обычный инженер-схемотехник, который интересуется также программированием и некоторыми другими областями электроники: ЦОС, ПЛИС, радиосвязь и некоторые другие. В последнее время с головой погрузился в SDR-приемники. Первую свою статью (надеюсь, не последнюю) я сначала хотел посвятить какой-то более серьезной теме, но для многих она станет лишь чтивом и не принесет пользы. Поэтому тема выбрана узкоспециализированная и исключительно прикладная. Также хочу отметить, что, наверное, все статьи и вопросы в них будут рассматриваться больше со стороны схемотехника, а не программиста или кого-либо еще. Ну что же — поехали!

Не так давно у меня заказывали проектирование «Система мониторинга энергоснабжения жилого дома», заказчик занимается строительством загородных домов, так что кто-то из вас, возможно, даже уже видел мое устройство. Данный девайс измерял токи потребления на каждой вводной фазе и напряжение, попутно пересылая данные по радиоканалу уже установленной системе «Умный дом» + умел вырубать пускатель на вводе в дом. Но разговор сегодня пойдет не о нем, а о его небольшой, но очень важной составляющей — датчике тока. И как вы уже поняли из названия статьи, это будут «бесконтактные» датчики тока от компании Allegro — ACS758-100.
________________________________________________________________________________________________________________________

Даташит, на датчик о котором я буду рассказывать, можно посмотреть тут. Как несложно догадаться, цифра «100» в конце маркировки — это предельный ток, который датчик может измерить. Скажу честно — есть у меня сомнения по этому поводу, мне кажется, выводы просто не выдержат 200А долговременно, хотя для измерения пускового тока вполне подойдет. В моем устройстве датчик на 100А без проблем пропускает через себя постоянно не менее 35А + бывают пики потребления до 60А.

image
Рисунок 1 — Внешний вид датчика ACS758-100(50/200)
Читать дальше →

Глупые часы не такие уж глупые

Reading time3 min
Views55K

ДО и ПОСЛЕ — почувствуй разницу

Почти год назад я писал про придуманные мной часы.
Закончилась та статья такой фразой: “Теперь в моих планах, когда ничто меня не торопит, сделать устройство более технологичным и решить пару вопросов, всплывших во время создания первой модели”. Как говорится — не прошло и года.

Самые первые часы, в итоге, перекочевали в комнату сына, т.к. они создают мягкое, уютное освещение и ему не страшно спать. А мне как раз этот свет мешал. И сейчас в моей спальне стоят часы версии 2.0 под кодовым названием LUMO. И они уже чуть поумнее.

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

Плохо документированные особенности Linux

Reading time8 min
Views67K
Привздохнув, произнесла:
«Как же долго я спала!»
image Когда-то, впервые встретив Unix, я был очарован логической стройностью и завершенностью системы. Несколько лет после этого я яростно изучал устройство ядра и системные вызовы, читая все что удавалось достать. Понемногу мое увлечение сошло на нет, нашлись более насущные дела и вот, начиная с какого-то времени, я стал обнаруживать то одну то другую фичу про которые я раньше не знал. Процесс естественный, однако слишком часто такие казусы обьединяет одно — отсутствие авторитетного источника документации. Часто ответ находится в виде третьего сверху комментария на stackoverflow, часто приходится сводить вместе два-три источника чтобы получить ответ на именно тот вопрос который задавал. Я хочу привести здесь небольшую коллекцию таких плохо документированных особенностей. Ни одна из них не нова, некоторые даже очень не новы, но на каждую я убил в свое время несколько часов и часто до сих пор не знаю систематического описания.

Все примеры относятся к Linux, хотя многие из них справедливы для других *nix систем, я просто взял за основу самую активно развивающуюся ОС, к тому же ту, которая у меня перед глазами и где я могу быстро проверить предлагаемый код.

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

Построчный разбор лицензии MIT

Reading time15 min
Views111K

171 слово, которое должен понимать любой программист


Лицензия MIT – самая популярная лицензия для программ с открытым кодом. Здесь приводится одно из её прочтений, с построчным разбором.

Читаем лицензию


Если вы разрабатываете программы с открытым кодом, и не читали эту лицензию подробно – а она состоит всего из 171 слова – вам нужно этим заняться. Особенно, если вы не занимаетесь лицензиями на ежедневной основе. Отметьте всё, что вам непонятно. А я повторю все эти слова, по порядку и по кусочкам, вместе с контекстом и комментариями. При этом важно представлять себе её целиком.
Читать дальше →

Структуры данных для самых маленьких

Reading time22 min
Views346K
James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.


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

Когда ты изменил мир, а никто этого не заметил

Reading time4 min
Views73K
Знаете, что происходит на этой фотографии? Буквально одно из самых важных событий в истории человечества.



А самое удивительное в этой истории то, что в то время практически никто этого не заметил.

Братья Уилбур и Орвилл Райт покорили полёты 17 декабря 1903 года. Мало какие изобретения изменили мир так сильно за последовавший век. Путешествие на поезде из Нью-Йорка в Лос-Анджелес занимало в 1900 году четыре дня. К 1930-м его можно было проделать за 17 часов по воздуху. К 1950-м за шесть часов.

В отличие от, допустим, расшифровки генома, непрофессионал может сразу же осознать чудо полёта для человека. Человек сидел в коробке и превратился в птицу.

Но через несколько дней, месяцев и даже лет после первого полёта Райт, почти никто этого не заметил.

Почему форматы файлов Microsoft Office такие сложные?

Reading time7 min
Views49K
Статья от 19 февраля 2008 года

На прошлой неделе Microsoft опубликовала спецификации форматов бинарных файлов для Office. Эти форматы выглядят безумно. Формат файла Excel 97-2003 представляет собой 349-страничный файл PDF. И это ещё не всё! В документе содержится такой комментарий:
Каждый лист [workbook] в Excel хранится в составном файле.

Видите ли, файлы Excel 97-2003 – это составные документы OLE, которые в свою очередь представляют собой некое подобие файловой системы в одном файле. Чтобы в этом разобраться, нужно прочитать 9 страниц документации. А сами спецификации больше похоже на структуры данных в С, чем на то, что мы привыкли называть спецификациями. Это иерархическая система файлов.

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

  • сделан запутанным специально
  • придуман каким-то страдающим от старческого маразма представителем кибернетической расы боргов
  • создан безумно плохими программистами
  • не может быть правильно создан или прочитан

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

Экспансия фронта бактерий по арене с антибиотиками: зрелищный эксперимент Гарвардской медицинской школы

Reading time4 min
Views43K

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

Обычно в лабораторных опытах бактерий разводят в однородной среде. Учёные из Гарвардской медицинской школы пошли дальше. Они организовали необычный эксперимент по эволюции бактерий в смешанной среде — на огромном «блюде» размером 120×60 см.

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

Анализ данных с электросчетчика Eastron SDM220 средствами ThingSpeak

Reading time5 min
Views11K
Всем привет. В статье на geektimes я рассказывал, как подключиться к электросчетчику Eastron SDM220-Modbus и забрать с него данные по шине RS-485. Сегодня я хочу рассказать про сбор и анализ статистических данных о потреблении электричества в доме.


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

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity