Pull to refresh

Мороз не помеха: новый тип холодостойкого электролита

Reading time13 min
Views2.3K


Писатели-футуристы в своих произведениях описывают мир будущего, где наука превозмогла мыслимые и немыслимые преграды, позволим нам получить невероятные технологии и устройства. Современники этих писателей часто воспринимали их труд за безумие или банальную глупость. Однако для науки практически нет ничего невозможного, и вот мы уже обсуждаем этические вопросы применения робототехники и аугментации человеческого тела, планируем строительство колоний на других планетах, и с опаской наблюдаем за развитием искусственного интеллекта. Несмотря на столь внушительное технологическое развитие, многие вещи все еще остаются несовершенными. К примеру, столь распространенные литий-ионные аккумуляторы крайне негативно относятся к низким температурам, а потому их работа в холодное время года или в холодных регионах планеты сопряжена с трудностями. Ученые из Аргоннской национальной лаборатории (США) нашли решение этой термозависимой проблемы в виде нового типа электролита. Из чего сделан этот электролит, как именно он работает, и насколько холодостойкими он делает батареи? Ответы на эти вопросы мы найдем в докладе ученых.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Сортировка предупреждений статических анализаторов по приоритету при поиске и исправлении программных ошибок

Reading time16 min
Views3.2K
За 2015 год в Национальной базе данных уязвимостей США (National Vulnerability Database, NVD) было зарегистрировано 6,488 новых программных уязвимостей, всего же в ней насчитывается 74,885 уязвимостей, найденных за период 1988-2016 гг. Инструменты статического анализа проверяют исходный код программ на наличие дефектов, в том числе потенциальных уязвимостей защиты, и выдают диагностические сообщения (предупреждения), в которых указывается местоположение предполагаемого дефекта, его характер, и, как правило, дополнительная контекстуальная информация. Достоверность таких предупреждений затем оценивается пользователем. Трудозатраты на проверку всех предупреждений и исправление всех подтвержденных ошибок вручную зачастую значительно превосходят бюджет и сроки проекта. По этой причине пользователи нуждаются в инструментах, которые позволили бы сортировать предупреждения по степени важности, тем самым определяя порядок их проверки. Настоящая статья посвящена проводимому нами исследованию данного вопроса с использованием классификационных моделей, призванных помочь специалистам по анализу и программистам в классификации предупреждений по приоритету и определении оптимального порядка исправления соответствующих ошибок.
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments1

Технология MIPS SIMD и процессор Байкал-Т1

Reading time42 min
Views17K

Коллеги из Байкал Электроникс предложили поработать с процессором Байкал-Т1 [L1] и написать о своих впечатлениях. Для них это способ рассказать разработчикам о возможностях и особенностях своего процессора. Для меня — шанс поближе познакомиться с системой на современном процессорном ядре и в будущем изобретать поменьше "велосипедов", добавляя, к примеру, новую функциональность в проект MIPSfpga-plus [L2]. Ну и обычное инженерное любопытство, опять же...


Сегодня речь пойдет о векторном расширении архитектуры MIPS SIMD, которое доступно в ядрах MIPS Warrior P-class P5600 [L3], а значит присутствует и в процессоре Байкал-Т1. Статья ориентирована на начинающих разработчиков.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments13

ИБ и ИТ, давайте жить дружно. Вот как это возможно

Level of difficultyHard
Reading time14 min
Views11K
Безопасность во многих компаниях стоит особняком. Вместо того чтобы беспокоиться о качестве вашего продукта, безопасники твердят о ГОСТах и ISO, о разных сертификациях и авторизационных протоколах — вещах важных, но вне фокуса основного архитектора. При этом их деятельность «подрывает» производительность, debugability, да вообще все.

image

Однако есть способы сделать безопасность своим союзником на пути к качеству. В этой статье — о дихотомии разработки и безопасности. О том, что, вообще говоря, миры информационной безопасности и архитектуры ИТ-систем не столь далеки друг от друга, как может показаться. И что на самом деле практики безопасности пересекаются с практиками повышения качества кодовой базы, а ПО можно сделать безопасным без потери качества. Поскольку я сама довольно долго занималась системной разработкой, после чего ушла в безопасность и сейчас работаю в команде собственной микроядерной операционной системы «Лаборатории Касперского» KasperskyOS, то отлично знаю, что хотела бы услышать еще тогда, когда ИБ была для меня другой стороной :)

Читать дальше →
Total votes 16: ↑15 and ↓1+17
Comments12

Использование внешнего беспроводного термометра Buro H999 совместно с самодельными устройствами

Reading time14 min
Views6.1K
Всем хороша погодная станция Buro H146G с внешним беспроводным термометром H999. Но вот только чтобы увидеть показания на её блеклом ЖК-дисплее требуется хорошее освещение. А мне было бы лучше, если бы вывод температуры и влажности за окном отображался на достаточно ярких индикаторах (например, совместив отображение температуры и влажности с часами на газоразрядных индикаторах ИН-12). Сделать такую поделку несложно, но нужно знать протокол обмена с беспроводным термометром. Здесь уже были статьи про использование беспроводного термометра метеостанций для получения температуры и влажности по радиоканалу. Но для станций Buro протокол обмена ещё не был описан. Значит, надо это исправить: возможно, кому-то он может пригодиться.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments15

Разработка средств измерения температуры

Reading time20 min
Views10K

Объект. Микроконтроллер ATmega16.

Предмете. Измерение температуры.

Цель. Измерение температуры контактным методом.

Задачи. Измерение температуры контактным методом, обработка измерительного сигнала с помощью микроконтроллера и вывода значения температуры на 7-сегментный дисплей.

Программное обеспечение:

1. Программная среда разработки AVRStudio или AtmelStudio, для разработки программ для МК AtmelAVR® (Atmel).

2. Стандартный Windows-приложение - калькулятор (Microsoft).

3. Пакет программ для автоматизированного проектирования электронных схем – Proteus DesignSuite CAD Software (Labcenter electronics).

Ход работы предусматривает последовательное выполнение рекомендаций и действий, описанных далее в этом проекте по пунктам.

Читать далее
Total votes 10: ↑4 and ↓60
Comments13

Маленький Hello World для маленького микроконтроллера — в 24 байта (и чужое решение в 12 байт)

Reading time7 min
Views35K
Классической тестовой программой для большинства программистов на системах, имеющих хоть какой-то дисплей, является Hello World. Такая традиция была введена Керниганом и Ритчи в 1978 году.

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

image

UPD: В комментариях привели ссылку на рекордное решение в 12 байт. Браво!
UPD2: Путем насилия над контролером, удалось выиграть еще 2 байта.
UPD3: И еще одно решение, с еще большим насилием над контроллером.
UPD4: Еще один вариант — в одну инструкцию (но исполняется при этом вся память программ), как и в вариантах 2 и 3.
UPD5: Вариант с использованием возможности выдать тактовый генератор на один из пинов контроллера, при помощи FUSE-бита

Читать дальше →
Total votes 60: ↑58 and ↓2+56
Comments41

PVS-Studio 7.12 New Features for Finding Safety and Security Threats

Reading time7 min
Views510

Security. What does this word mean to you? Nowadays, companies spare no effort to ensure that their product is secured from hacking and all sorts of information leaks. PVS-Studio decided to help its users and expand the functionality in this area. Therefore, one of the main innovations of the upcoming release will be the introduction of analyzer new features which will ensure code safety and security. This article aims to present these features.

Read More
Total votes 2: ↑1 and ↓10
Comments0

Новые возможности по поиску угроз безопасности и защищённости в PVS-Studio 7.12

Reading time7 min
Views1.1K

Безопасность. Что для вас значит это слово? В наше время компании тратят много усилий для того, чтобы их продукт был защищён от взлома и разного рода утечек информации. PVS-Studio решил помогать своим пользователям в данном направлении и расширять функционал в этой области. Поэтому одним из главных новшеств предстоящего релиза станет появление в анализаторе новых возможностей обеспечения безопасности и защищённости кода. Об этом и будет рассказано в данной статье.

Читать далее
Total votes 4: ↑3 and ↓1+3
Comments1

Управление LCD и OLED дисплеями на AVR-ассемблере

Reading time27 min
Views16K
Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основном это небольшие проекты, а также системы, в которых требуется точный расчет времени. Немаловажное достоинство этого подхода — простота необходимого инструментария. Но один из крупнейших недостатков в сравнении с языками высокого уровня — отсутствие готовых библиотек хотя бы для базовых задач. Для того же Arduino они имеются на все случаи жизни, но, к сожалению, совмещать их с ассемблером оказывается сложно и потому нецелесообразно — проще уж все и сделать с помощью самого Arduino. Поэтому некоторое время назад я задался целью создать более-менее законченную экосистему для проектов на основе AVR-контроллеров с программированием на чистом ассемблере.

Основные результаты по созданию такой экосистемы изложены в книжке под названием «Программирование микроконтроллеров AVR: от Arduino к ассемблеру». Там же вы найдете подробное изложение целесообразности и границ применимости изложенного подхода. Руководствуясь приведенными в книге примерами, можно строить вполне законченные проекты с минимальной затратой сил и средств, и получить в результате девайс, ласкающий взор своей компактностью, экономичностью и скоростью работы. В этой статье я привожу один из примеров обращения с современными периферийными устройствами с помощью ассемблера, который работает лучше, быстрее и стабильнее, чем его аналог на Arduino.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments22

Как наша компания получила 3 уровень CMMI. Опыт внедрения и получение сертификата

Reading time7 min
Views12K
image

Привет!
Какое-то время назад на Хабре была вводная статья в CMMI (Модель CMMI).
Мне повезло лично участвовать в процессе получения организацией 3 уровня этой модели. Хочется рассказать о том, как это происходит на практике.

Читать дальше →
Total votes 41: ↑34 and ↓7+27
Comments33

Творим оригинальный подарок при помощи химии физики и электроники: часть 3

Reading time6 min
Views27K
Третья, заключительная часть моей статьи о создании светящегося кристаллического сувенира. В ней описывается программная часть, то бишь прошивка микроконтроллера ATTiny13 из славного рода AVRок.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments32

Удаленный оповещатель о критических температуре и влажности на основе МК AVR и датчика DHT22

Reading time7 min
Views24K

После подряд 2х поломок кондиционера в серверной и последующего перегрева помещения в течение нескольких суток, встал вопрос о слежении за температурой в ней. Можно было бы ежедневно(ежечасно/ежеминутно) смотреть температуру со встроенных в сервера датчиков температуры используя интерфейс управления IPMI. Но в этом случае присутствует человеческий фактор на который, в данном случае, оказывает свое негативное осознание того, что можно было бы автоматизировать все гораздо лучше. Так случилось, что я как раз не так давно увлекся такой крайне интересной штукой как микроконтроллеры, поэтому задача автоматизации с использованием МК была новой и интересной возможностью реализовать накопленные знания в полезном для мира проекте.

Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments31

Немного теории об управлении рисками

Reading time7 min
Views20K

Вводная информация по управлению рисками


К теме управления рисками я решил обратиться по нескольким причинам:
  • недавно я разрабатывал методику и процедуру по управлению рисками в компании, где я работаю (разработка ПО под заказ, аутсорсинг) – соответственно, было перерыто и изучено очень много материалов, информация из которых потом была структурирована и оформлена в отдельный документ, который сейчас используется
  • само по себе управление рисками является одной из ключевых активностей на проекте: на мой взгляд одной из самых сложных, но в то же время интересных (из каждого риска и события можно извлечь выгоду)
  • как показывает опыт работы в компаниях-разработчиках ПО, управлению рисками выделяется либо очень мало времени, либо ими начинают управлять только тогда, когда они становятся проблемами (что, согласитесь, довольно поздно). Надеюсь, что информация, собранная здесь, подтолкнет интересующихся к дальнейшему изучению темы и внедрению соответствующих практик в работе

Однако стоит помнить следующее – управление рисками в любой сфере человеческой деятельности, на мой взгляд, это все-таки только прикладная дисциплина, которая предоставляет общие и практические рекомендации.

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

Определение риска


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

Risks are schedule delays and cost overruns waiting to happen (by Peter Kulik)
Risk is the possibility of suffering loss (SEI, Dorofee 96)


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

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments11

Цикл статей по основам Software Configuration Management

Reading time5 min
Views23K

Пролог


Что такое управление конфигурацией в разработке ПО? Зачем оно нужно? Думаю, немногие способны полностью и внятно ответить на этот вопрос. Большинство обычно вспоминает системы контроля версий, которые сами используют. Кто-то упоминает багтрекинг. Кто-то считает вершиной CM отращивание веток в любимой системе контроля версий. А кто-то вообще уходит в сторону и начинает говорить про ITIL и про то, как он записывает в какую-нибудь базу параметры всего софта, который установлен у него в фирме.

Несколько странно и немного досадно наблюдать за этим. Дело в том, что я проработал в SCM в общем сложности около 5 лет, из них 3 года — интегратором в Motorola, на одном из проектов по разработке софта для сотовых телефонов. По ходу дела прочитал кучу материалов по этой теме и получил большой практический опыт — в том числе по работе с одной из мощнейших систем контроля версий IBM Rational ClearCase (см. linkedin в профиле). В итоге в голове сформировалась некоторая целостная картина того, что же это на самом деле — software configuration management.
Ну а дальше-то что?
Total votes 44: ↑41 and ↓3+38
Comments42

Международные и национальные стандарты управления информационными проектами

Reading time10 min
Views25K
Аннотация: в статье проведен хронологический обзор популярных стандартов в области управления информационными проектами, присущие им особенности, затрагиваемые области знаний и процессы. Представлена роль международной ассоциации по управлению проектами (IPMA) в формирование национальных стандартов отдельных стран.

В 1986 году институтом Software Engineering Institute (SEI) начинается разработка системы оценки возможностей компаний по разработке программного обеспечения «Capability Maturity Model» (CMM) на основе техник описанных Филиппом Б. Гросби, специалистом и известным лектором в области управления качеством, в его книге «Quality is Free» [1]. Разработка была инициирована запросом от ВВС США, обусловленным острой необходимостью иметь возможность оценивать профессиональность подрядных организаций.
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments0

Еще один термостат на Arduino, но с OpenTherm

Reading time28 min
Views97K


Читая первую часть заголовка многие из вас, наверняка, подумали – еще один термостат на многострадальной Arduino. И… Это правда – да, это очередной термостат для очередного котла, очередного дома, но правда это только отчасти – в статье я не хочу концентрироваться на самом устройстве – их (статей) действительно предостаточно. Несомненно, я опишу термостат, но больше хотел бы рассказать о том, как я связывал сам микроконтроллер с котлом. Итак, кому интересно – прошу…
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments14

Самодельный ИК-пульт для iRobot Roomba

Reading time4 min
Views27K
Опрос в моём предыдущем посте «Управляем роботом-пылесосом iRobot Roomba через ИК» показал, что сообществу интересно узнать, как изготовить самому ИК-пульт для Roomb-ы. Итак, встречайте! =)

Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments29

Простой осциллограф за 1 день

Reading time7 min
Views179K
Здрасьте!
Ну нет у меня денег на нормальный осциллограф(и на нормальную камеру). Так что сильно не деритесь.
Но было 500 рублей на экран и простой 8-битный микроконтроллер.

Небольшое описание под катом.
Читать дальше →
Total votes 80: ↑60 and ↓20+40
Comments45

Беспроводная передача данных, ISM-диапазон

Reading time16 min
Views39K

В последнее время на Хабре было описано множество примеров реализации погодных термометров, систем сбора информации, управлением в системах «умный дом» — как проводных, передающих информацию по Ethernet, так и беспроводных, по WiFi™. В каждом конкретном случае — есть своя специфика, есть свои плюсы и минусы. И в данном материале речь пойдет об еще одном способе передачи данных — передаче в ISM-диапазоне 868 МГц.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments16
1
23 ...