Pull to refresh
42
-0.2
Вадим Румянцев @vadimr

Разработчик аппаратно-программных комплексов

Send message

Концепция построения кустов сетецентрической системы управления войсками

Level of difficultyMedium
Reading time12 min
Views1.5K

«Без применения военной науки победить нельзя»
В.И.Ленин

В предыдущей статье «Применение стационарных умных приёмников звука в составе сетецентрической системы» упор делался на одиночном кусте сетецентрической системы уровня батареи. Куст предназначен для установления 3–х мерных координат цели, производящей или отражающей специфический звук.

В настоящей статье предпринята попытка выработать принципы взаимодействия кустов единой сетецентрической системы управления [1], например, системы артиллерийской разведки уровня дивизиона.

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

Читать далее
Total votes 19: ↑13 and ↓6+7
Comments33

1008F — или как раскирпичить свой Mac

Reading time4 min
Views38K

Всем привет! В этом посте речь пойдет о бесконечном режиме восстановления macOS, ошибках 1008F, 2003F, 2004F и о том как их побороть. 

Подобные ошибки можно встретить при попытке выполнить Internet Recovery своего Mac, а причин побуждающих к этому действию - множество. В моем случае, дело было так..

Читать далее
Total votes 43: ↑41 and ↓2+39
Comments18

Создание своего UEFI приложения

Level of difficultyMedium
Reading time5 min
Views39K

Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++

Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.

Читать далее
Total votes 86: ↑85 and ↓1+84
Comments80

Кто трогал мой mac? Ловим горничную или evil maid detection

Level of difficultyEasy
Reading time4 min
Views6.3K

Я часто нахожусь в командировках и путешествиях, внимательно отношусь к безопасности своего macbook. Недавно, вернувшись в отель, я обнаружил признаки того, что кто-то что-то делал с моим ноутбуком в мое отсутствие.

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

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments32

Файловый ввод, сделанный по-человечески

Reading time21 min
Views16K

Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так вот, у студентов, выбравших для выполнения этого задания язык C++ [язык программирования выбирается студентом для каждого задания, но чаще всего выбирают C++ или Python], почему-то иногда читалась из файла лишняя пустая строка. В прошлые годы я не придавал этому большого значения, но в последний раз решил таки разобраться в чём проблема.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments134

COBOL — древний код, который управляет вашими деньгами

Reading time19 min
Views89K
image

Язык программирования COBOL старше Игоря Николаева. Люди, умеющие им пользоваться, часто того же возраста. Он лежит в основе целой финансовой системы и его нельзя оттуда убрать. Мы расскажем о том, как компьютерный язык управляет финансовой жизнью мира.

Когда Томас начинал программировать, на дворе стоял 1969 год. Он был обычным парнем, только что выпустившимся из старшей школы в Торонто, не имея особых целей в жизни. Его отец был плотником, но в двери его семьи постучалась удача: оказалось, что руки у Томаса растут не из того места. «Мой отец знал, что я даже не смогу приколотить одну доску к другой», — смеётся он.

Поэтому его мать предложила нечто странное и новомодное: как насчёт… программирования компьютеров?

В 1969 году компьютеры всё ещё были странными новыми диковинками размером с большой шкаф. Но по всему миру компании начали понимать, что эти устройства бесценны для всех задач, требующих мгновенных бухгалтерских расчётов, например, подсчёта зарплат. Вакансии предлагались любому, кто хотя бы немного умел кодить. Поэтому Томас нашёл «небольшую школу-однодневку» в деловом центре Торонто и за следующие два месяца изучил самый популярный на то время компьютерный язык: COBOL (Common Business-Oriented Language).
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments66

Негативное свойство отрицательных чисел

Level of difficultyEasy
Reading time2 min
Views4.4K

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

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments19

Повышаем быстродействие расчётов на примере медианного фильтра

Level of difficultyMedium
Reading time6 min
Views1.5K
Рассмотрим некоторые приёмы повышения быстродействия вычислительных программ на примере алгоритма медианного фильтра.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments1

Построение планов параллельного выполнения программ для процессоров со сверхдлинным машинным словом (проект)

Level of difficultyMedium
Reading time14 min
Views2.2K

Процессоры архитектуры  сверхдлинного машинного слова (VLIW - Very Long Instruction Word) относятся к специфическим классам архитектур, прямо нацеленным на использование внутреннего параллелизма в алгоритмах (программах), причём параллелизм этот анализируется и планируется к рациональному использованию при вычислениях на программном уровне; собственно аппаратная часть освобождается от процедур распараллеливания  (и поэтому должна стать проще и экономичнее использующих внутреннее распараллеливание).

VLIW-подход основан на идее загрузки во входной буфер процессора одновременно набора (bundle) допускающих параллельное выполнение  машинных команд и исполнения этого ряда команд аналогично единой команде в процессорах классической архитектуры. VLIW-процессоры реализуют параллелизм уровня ILP (Instruction-Level Parallelizm, параллелизм уровня машинных инструкций) и SMP (Symmetric MultiProcessing, системы с общей памятью)   идеологему работы с оперативной памятью. Несмотря на выпуклое преимущество (программным путём дешевле реализовать сложные процедуры параллелизации), работа VLIW-процессоров сопряжена с известными проблемами. Среди них называют статичность полученных планов параллельного выполнения и проблемы с излишней неравномерностью времени доступа к оперативной памяти разных вычислительных ядер   (временна́я антиплотность кода,   следствием является резкое снижение производительности из-за неизбежности  определять время выполнения всей связки команд сверхдлинного слова по продолжительности наиболее длинной из них).

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

Основы MPI

Reading time4 min
Views111K
Прочитал статью «Основы MPI для «чайников»» и понял, что статья новичка способна отпугнуть.

Теория


Начнем с начала

Первое время не было единого стандарта (API) для параллельных вычислений и программистам приходилось писать для каждого кластера архитектурно-специфический код. Но, как известно, программисты люди рациональные и быстро было решено организовать стандарты (самые известные — MPI, OpenMP).
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments19

Операции, функции и специальные формы в императивных языках программирования

Level of difficultyEasy
Reading time4 min
Views1.7K

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

Если читатель владеет одним из языков семейства Лисп (Common Lisp, Scheme, Clojure и т.д.), а в особенности если читал SICP, то ему излагаемый вопрос не в новинку, и он может пропустить эту статью. Если читатель использует Хаскель или другой язык, основанный на модели ленивых вычислений, то там всё немножко по-другому, и впрямую изложение материала в данной статье к таким языкам не относится, хотя фундаментальные принципы в основе лежат те же.

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments38

Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках

Level of difficultyEasy
Reading time5 min
Views163K

На фоне событий последних лет в РФ, в прошлом году решил я распрощаться с компанией в США, в которой проработал 6 лет. Закрыл ИП, юр. счета.
На фоне заявлений, дескать, сейчас в секторе ИТ кадровый голод, и такие специалисты на "вес золота", я приступил к поиску работы. Ставка была сделана на банковский сектор, т.к. довольно быстро стало понятно, что более менее устраивающие меня ЗП именно там.

Читать далее
Total votes 564: ↑553 and ↓11+542
Comments835

Взлёт и падение «Пути IBM»

Reading time11 min
Views5.8K

IBM — одна из старейших технологических компаний в мире, на счету которой множество инноваций, включая вычисления на мэйнфреймах, языки компьютерного программирования и инструменты, работающие на основе искусственного интеллекта. Но спросите обычного человека в возрасте до 40 лет, чем именно занимается (или занималась) IBM, и ответы будут в лучшем случае расплывчатыми. «Что-то связанное с компьютерами, верно?» — это лучшее, что смогли придумать представители поколения Z, которых я опрашивал. Если миллениалы и знают что-то о IBM, то это Watson, прототип системы искусственного интеллекта компании, которая победила в игре Jeopardy в 2011 году.

Однако в летописи гаражного предпринимательства IBM занимает одно из легендарных мест в качестве не очень страшного монстра. В 1980 году, уязвлённые 13-летними антимонопольными разбирательствами, её руководители совершили колоссальную ошибку, разрешив 25-летнему Биллу Гейтсу, соучредителю компании с несколькими десятками сотрудников, оставить за собой права на операционную систему, которую IBM по субподряду разрабатывала для своего тогда ещё секретного проекта персональных компьютеров. Эта ошибка стала причиной создания Microsoft. К январю 1993 года компания Гейтса оценивалась в $27 миллиардов, ненадолго опередив IBM, которая в том году понесла одни из самых крупных убытков в истории американских корпораций.

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments10

Книги, о которых редко говорят

Reading time4 min
Views46K

Дал ему подборку книг, он приходит месяца через два, и с порога такой сразу:
— Я с друзьями не могу разговаривать.
— Ну да есть такой, недостаточек.
интервью Жака Фреско

Читать далее
Total votes 91: ↑89 and ↓2+87
Comments26

Малоизвестные и интересные особенности C и C++

Level of difficultyMedium
Reading time43 min
Views45K

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

Целью статьи является не освещение какой-то конкретной особенности языка или подготовка к собеседованиям, и уж тем более нет цели рассказать все потайные смыслы языка, т. к. для этого не хватит одной статьи и даже книги. Напротив, статья нужна для того, чтобы показать малоизвестные и странные решения, принятые в языках C и C++. Своего рода солянка из фактов. Вопрос “что делать с этими знаниями?” я оставляю читателю.

Если вы, как и я, любите и интересуетесь C/C++, и эти языки являются неотъемлемой частью вашей жизни, в том числе и его углубленного изучения, то эта статья для вас. По большей части я надеюсь, что эта статья сможет развлечь и заставить поработать головой. И если получится, рассказать что-то, чего вы, возможно, еще не знали.

Читать далее
Total votes 161: ↑160 and ↓1+159
Comments61

Почему в MIT больше не изучают SICP

Reading time3 min
Views91K
На днях широкое внимание привлекло состоявшееся в начале года на митапе NYC Lisp выступление Джеральда Джей Сассмана, — одного из авторов великого и могучего SICP, а также крестного отца Scheme. Всему виной — ответ на вопрос, почему в MIT прекратили преподавать ставший легендарным курс 6.001, построенный на основе книги Сассмана и Абельсона «Структура и интерпретация компьютерных программ» (вопрос задан на 59 минуте).



Сассман назвал две причины; впрочем, сразу замечу, что в первой из них нет ничего особенного. К 1997 году Абельсон и Сассман уже устали рассказывать практически одно и то же с 80-ых, поэтому решили оставить преподавание и предложили главе кафедры самостоятельно решить, как поступить с самим курсом. Здесь удивляться действительно нечему — что угодно может осточертерть, если заниматься им достаточно долго.

Впрочем, вторая причина гораздо серьезнее. По мнению Сассмана, они с Абельсоном осознали, что учебный план SICP больше не в силах подготовить инженеров к тому, что представляет собой «инжиниринг» сегодня. В 80-ых и 90-ых инженеры строили сложные системы, комбинируя простые и хорошо изученные «части». Целью SICP было предоставить язык абстракций для рассуждений о таких системах.
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments37

Основные отличия PascalABC.NET

Level of difficultyEasy
Reading time4 min
Views4.2K

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

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments46

Костыли для ddrescue. Что делать если SSD перестает отдавать данные

Level of difficultyEasy
Reading time11 min
Views11K

Первая версия GNU ddrescue была выпущена 12 августа 2004г 19 лет назад. Но не спешите проматывать статью. Это не очередной пересказ мануала или описание алгоритма работы, коих полно в сети. Сегодня я расскажу о ней кое что новенькое.

Если заинтриговал, то обо всем по порядку.
Total votes 22: ↑22 and ↓0+22
Comments37

QtCreator: Qt кросс-компиляция из linux 64 в linux 32, win32, win64 и Mac OS X; upx, usb, dmg, etc

Reading time14 min
Views80K


Библиотека Qt позволяет делать действительно кроссплатформенные приложения. Единожды написанный код можно откомпилировать под многие операционные системы. Но проблема именно в слове «компилировать», т.к. подразумевается, что необходимо перезагрузиться под целевую систему, иметь в ней настроенную среду разработки, установленный и настроенный зоопарк библиотек. Спасает кросс-компиляция — компиляция, производящая исполняемый код для платформы, отличной от той, на которой исполняется.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments24
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Specialist
Lead