Pull to refresh
4
0
Мовчан Павел @Forget

User

Send message

Ускоряем программу для 50-летнего процессора на 180000%

Level of difficultyHard
Reading time36 min
Views46K

В прошлом году я написал программу, вычисляющую 255 цифр числа π на самом первом микропроцессоре от Intel - 4004. В той статье я упоминал рекорд ENIAC'a - 2035 цифр [^1], но побить его не смог. Настало время закрыть гештальт. В этот раз возьмём одного из преемников от Intel - 4040.

Читать далее
Total votes 225: ↑223 and ↓2+285
Comments41

Про импортозамещение

Reading time15 min
Views252K

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

Читать далее
Total votes 472: ↑454 and ↓18+558
Comments1189

11 Aтрибутов Хорошего Firmware

Level of difficultyEasy
Reading time6 min
Views18K

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

Читать далее
Total votes 41: ↑36 and ↓5+46
Comments115

Смущающая разработка софта. 4 байки с завода

Reading time5 min
Views18K

Моя первая настоящая работа была странной

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

1С-программистом с нулевым знанием 1С. С записью в трудовой «Системный администратор» с нулевыми знаниями системного администрирования. Ну то есть как — эникействовать же все могут, вот и могу. Наверное.

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

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

Дисклеймер. Всё пишу по расплывчатым воспоминаниям, поэтому если бывшие коллеги читают это — привет на сто лет.

Читать далее
Total votes 13: ↑11 and ↓2+14
Comments21

Издатель/подписчик для распределённых отказоустойчивых бортовых систем реального времени в 1500 строк кода

Reading time31 min
Views17K

Сап, котятки.


Я пришёл рассказать о проекте UAVCAN — новом сетевом стандарте для организации взаимодействия узлов и компонентов современных транспортных средств с высоким уровнем автономности/автоматизации. Название является акронимом от Uncomplicated Application-level Vehicular Computing And Networking (несложные бортовые сети и коммуникации уровня приложения).


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



Конъюнктура


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


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

Ну и что?
Total votes 21: ↑21 and ↓0+21
Comments17

Несеребряные пули или кратко про методы софтостроения

Reading time9 min
Views11K
Давайте пробежимся по способам софтостроения, придуманным примерно за 70 лет его существования. Их не так много, как может показаться. Но достаточно много, чтобы завести в тупик.
Читать дальше →
Total votes 16: ↑15 and ↓1+22
Comments8

Всё о проекте «Спутниковый интернет Starlink». Часть 20. Внутреннее устройство терминала SL

Reading time5 min
Views16K
Предлагаю ознакомиться с ранее размещенными материалами по проекту Starlink (SL):

Часть 1. Рождение проектаЧасть 2. Сеть SL Часть 3. Наземный комплекс Часть 4. Абонентский терминал Часть 5. Состояние группировки SL и закрытое бета-тестирование Часть 6. Бета-тестирование и сервис для абонентов Часть 7. Пропускная способность сети SL и программа RDOF Часть 8. Монтаж и включение абонентского терминала Часть 9. Сервис на рынках вне США Часть 10. SL и Пентагон Часть 11. SL и астрономы Часть 12. Проблемы космического мусора Часть 13. Спутниковая задержка в сети и доступ к радиочастотному спектру Часть 14. Межспутниковые каналы связи Часть 15. Правила предоставления услуг Часть 16. SL и погода Часть 17. Второе поколение SL Часть 18. SL на рынке COTM Часть 19. Что у SL в будущем

Внешний вид абонентского терминала UT-201 компании SpaceX для работы в сети Starlink был приведен ранее, как и его технические характеристики. В данной главе рассмотрим его внутреннее устройство. Тем более, как только терминалы Starlink пошли «в народ», тут же появились желающие их разобрать. Первый оказался «жмотом» и не стал его ломать, ограничившись разбором пластика и выяснением устройства электропривода (см. видео ниже)


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

Однако, другой обладатель терминала от SpaceX, которого зовут Кеннет Кейтер, не пожалел 600 Долларов (цена терминала с учетом доставки и налога с продаж) и разобрал его, что называется «до последнего гвоздя»
Total votes 17: ↑17 and ↓0+17
Comments34

Ещё несколько доводов в пользу того, почему водяное охлаждение не нужно вашему ПК

Reading time5 min
Views89K


Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC.

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

Давайте поговорим об одном диссиденте из мира пользовательских ПК. Да, речь пойдёт о водяном охлаждении. В частности, почему это не есть хорошо. На протяжении пяти лет мне довелось собрать около 60 персональных компьютеров. 12 из них имели различные СВО, не считая сборки AIO. Так что я имею достаточно полное представление об этом весьма специфичном хобби. И, увы, могу сказать о том, что водянка – это лажа. Далее я объясню подробно, почему.
Читать дальше →
Total votes 34: ↑24 and ↓10+22
Comments135

Два успеха частной космонавтики

Reading time5 min
Views26K
На прошлой неделе произошло два достаточно важных события для частной космонавтики. Прежде всего, два пилота Virgin Galactic могут сверлить дырки в своих костюмах под значки астронавтов — поднявшийся 13 декабря до 82,7 км SpaceShipTwo оказался выше линии 50 миль, которая определяет астронавтов по американским критериям. А Rocket Lab сумели отправить в полет Electron всего через месяц после предыдущего пуска, что подтверждает осуществимость их планов запускать свои ракеты часто.


Старт ракеты-носителя Electron, фото Brady Kenniston
Total votes 69: ↑69 and ↓0+69
Comments132

Полёт свиньи, или Оптимизация интерпретаторов байт-кода

Reading time13 min
Views19K


"No matter how hard you try, you can't make a racehorse out of a pig. You can, however, make a faster pig" (комментарий в исходном коде Емакса)

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


Во второй части серии статей об интерпретаторах байт-кодов я на примере небольшой стековой виртуальной машины ПВМ («Поросячья Виртуальная Машина») постараюсь показать, что не всё потеряно для трудолюбивых поросят с амбициями и что в рамках (в основном) стандартного C вполне возможно ускорить работу таких интерпретаторов по меньшей мере в полтора раза.

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

Отзыв на книгу Growing Object-Oriented Software, Guided by Tests

Reading time13 min
Views13K
Эта статья — ревью на книгу «Growing Object-Oriented Software, Guided by Tests» (GOOS для краткости). В ней я покажу, как можно имплементировать проект-пример из книги без использования моков (mocks).

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

Версия на английском: ссылка.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments13

Критика книги Боба Мартина «Принципы, паттерны и методики гибкой разработки на языке C#»

Reading time15 min
Views50K
Если спросить у десяти разработчиков о лучшей (или достойной) книге о проектировании, то как минимум 6 из них назовет книгу Боба Мартина «Принципы, паттерны и методики гибкой разработки». Если же после этого показать им на некоторые интересные моменты писанины «дядюшки» Боба, то большая часть из них с недоумением почухает лоб и несколько изменит свое мнение.

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

Читать дальше →
Total votes 43: ↑33 and ↓10+23
Comments15

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

Reading time3 min
Views10K


Публикуем материалы открытой отчетной встречи разработчиков лунного микроспутника. Цель проекта: запустить космический аппарат на окололунную орбиту и снять места высадок астронавтов NASA и Луноходов СССР. В настоящий момент реализуется первый этап программы — разработка проектного облика космического аппарата и основных этапов полета.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments62

Список ресурсов для изучения Ассемблера

Reading time4 min
Views438K
Доброго времени суток!
Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…

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

UPD
В список начали добавляться ресурсы по программингу микроконтроллеров.
Читать дальше →
Total votes 135: ↑130 and ↓5+125
Comments46

Особенности использования и тестирования кода С++ на микроконтроллерах

Reading time11 min
Views25K
Так сложилось, что основным языком для работы с микроконтроллерами является C. Многие крупные проекты написаны именно на нем. Но жизнь не стоит на месте. Современные средства разработки уже давно позволяют использовать C++ при разработке ПО для встраиваемых систем. Однако такой подход до сих пор встречается достаточно редко. Не так давно я попробовал использовать С++ при работе над очередным проектом. Об этом опыте я и расскажу в данной статье.

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

Список ресурсов по машинному обучению. Часть 1

Reading time3 min
Views30K


Ранее мы говорили о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решилие еще раз (1, 2) взглянуть в сторону темы машинного обучения и привести адаптированную (источник) подборку полезных материалов, обсуждавшихся на Stack Overflow и Stack Exchange.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments0

Надёжен ли твой компьютер?

Reading time9 min
Views24K
Представляю вашему вниманию перевод статьи Джеффа Атвуда о тестировании новых компьютеров. Я не видел ни одной статьи подобного качества на эту тему; в статье приведена вся необходимая информация и ничего лишнего, а так же хорошо структурирован материал. Надеюсь, и вам она придётся по нраву.

Джефф — основатель StackOverflow. Ныне он работает над проектом Discourse.

Оригинальная статья: Is Your Computer Stable?

Дисклеймер: Хоть статья и называется "Надёжен ли твой компьютер?", речь идет не о надёжности как термине(англ. reliability), а, скорее, о стабильности (англ. stability). Статья о том, как автор тестирует новые компьютеры на стабильность и прочность.


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

Например, вот что может понадобится для сборки Scooter Computer:

  1. Нанести немного термопасты на верхнюю часть корпуса.
  2. Поместить в корпус материнскую плату.
  3. Прикрутить материнскую плату к корпусу.
  4. Вставить плату SSD.
  5. Вставить плату RAM.
  6. Подключить внешнее питание.
  7. Загрузиться.

Вот и все.



Это до смешного просто. Мы с моим шестилетним сыном собирали конструкторы Лего, которые были намного сложнее. Сборка традиционных ПК отличается всего парой дополнительных шагов: вставить процессор, радиатор, подключить кабели. И, наконец, сборка сервера добавляет еще пару незначительных действий, возможно, с ограничениями на размер сборки. Мини-компьютер, обычный ПК или сервер — если вы смогли собрать один из них — считайте вы собрали их все.

Каждый из нас выдыхает с облегчением, когда только что собранный компьютер загружается первый раз, и не важно сколько собранных машин на вашем счету. Но загрузка это только начало. Это отлично, если он загружается, но этим никого не удивишь. На самом деле, нам нужно знать, надёжен ли этот компьютер.
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments75

«Психология влияния». Книга за 15 минут

Reading time14 min
Views193K


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

Итак…
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments22

Три технических совета по работе со слайдами

Reading time3 min
Views4.3K


Сегодня советы не философские, а практические, и при этом довольно простые, за исключением второго. Те, кто выступают регулярно, до них, возможно, и сами уже додумались, но новичку они, надеюсь, помогут спасти несколько нервных клеток. На фото к посту — Евгений Потапов, гендиректор "Сумма АйТи", рассказывает на Highload++ 2015 об особенностях организации круглосуточной техподдержки. Контент выступения — огонь, между прочим. Мне самому довелось принимать участие в организации службы, работавшей круглосуточно (это была служба асессоров Яндекса), но там не требовалось иметь конкретный график дежурств: нужно было выполнять определённый объём работ, но ни одна конкретная задача не была критичной. Здесь же у задач всегда должен быть ответственный, и ни одну из них нельзя упустить. Соответственно, необходимо иметь как минимум чёткий график дежурств, который выполняется и от которого люди не захотят уволиться через пару недель. Организовать службу, которая при этом работает без сбоев и накладок за разумные деньги — задача, имеющая свою специфику, и Евгений рассказывает о том, как ему удалось её решить и на какие грабли он по дороге наступал.

Но я отвлёкся. Фотография важна, потому что на ней запечатлена ошибка, которую на конференциях допускают довольно часто.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments0

Планета в плену у Земли. Прошлое, настоящее и будущее Луны

Reading time7 min
Views31K

Славянское имя нашего естественного спутника – Луна, имеет те же праиндоевропейские корни, что и латинское Luna. «Louksna», «светлая» царица ночи, издревле оказывала сильное влияние на сознание человека. Фазы естественного спутника нашей планеты стали основой календаря землян, а сама Луна основным объектом изучения человеком космической среды в начале космической эры. Два десятка экспедиций на Лунную поверхность, 6 из которых были пилотируемыми, сильно обогатили наши познания об этой невольнице Земли. Под катом относительно краткое содержание наших знаний о Луне, накопленных за последние полвека.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments38
1
23 ...

Information

Rating
4,507-th
Location
Красноярск, Красноярский край, Россия
Registered
Activity