Приятно видеть, что хабравчане регулярно интересуется другими предметными областями – например, биологией (более конкретно – структурой и функцией биологических макромолекул). Однако некоторые посты (например, этот), вызывают у специалиста просто физическую боль из-за обилия совершенно диких фактологических ошибок. В этом посте мне хочется рассказать о структуре и функции белка. О том, что мы знаем и о том, чего не знаем, а так же об имеющихся в этой области вычислительных задачах, требующих решения и интересных IT-специалистам. Постараюсь рассказывать сжато и тезисно, чтобы информации было больше, а воды – меньше. Всех, интересующихся структурой белков, прошу под кат, там очень много букв.
Юрьев Дмитрий @PM1630
Пользователь
Графики в бухгалтерии. За полвека до Excel
5 мин
82K![image](https://habrastorage.org/getpro/geektimes/post_images/fda/ff7/c21/fdaff7c21563e47f508acae66ef6ad45.jpg)
Сегодняшний ретро-обзор посвящен графикам, вообще наглядному представлению данных в бухгалтерии.
А вам известно, чем пользовались бухгалтеры за полвека до Excel?
+106
Путешествие через вычислительный конвейер процессора
16 мин
134K![](https://habrastorage.org/storage2/090/705/f14/090705f141001ec9344e923a4b807220.png)
Что происходит внутри процессора? Сколько времени уходит на исполнение одной инструкции? Что значит, когда новый процессор имеет 12, или 18, или даже 31-уровневый конвейер?
Программы обычно работают с процессором, как с чёрным ящиком. Инструкции входят и выходят из него по порядку, а внутри совершается некая вычислительная магия.
Программисту полезно знать, что происходит внутри этого ящика, особенно, если он будет заниматься оптимизацией программ. Если вы не знаете какие процессы протекают внутри процессора, как вы сможете оптимизировать под него?
Эта статья рассказывает, как устроен вычислительный конвейер x86 процессора.
+158
LabVIEW и вариабельность сердечного ритма (+исходники)
4 мин
19KДобрый день, всем! Учусь я в техническом вузе и занимаюсь разработкой программных и аппаратных средств для обработки и регистрации биомедицинских сигналов и данных. Поскольку начал этим заниматься около трех лет назад, в настоящее время скопились некоторые наработки, с одной из которых хотелось бы вас познакомить.
Одним из самых распространенных биомедицинских сигналов является электрокардиосигнал. Именно его обработкой занимается наш преподавательский состав. Сигнал этот относительно легко получить. В настоящее время достаточно всего лишь двух электродов, прикладываемых к телу человека, чтобы увидеть электрокардиограмму. В нашей работе мы использовали три электрода по стандартной схеме Эйнтховена:
![](https://habrastorage.org/storage2/eba/608/89c/eba60889c0df9755a6f7e0ab465873b6.png)
Одним из самых распространенных биомедицинских сигналов является электрокардиосигнал. Именно его обработкой занимается наш преподавательский состав. Сигнал этот относительно легко получить. В настоящее время достаточно всего лишь двух электродов, прикладываемых к телу человека, чтобы увидеть электрокардиограмму. В нашей работе мы использовали три электрода по стандартной схеме Эйнтховена:
![](https://habrastorage.org/storage2/eba/608/89c/eba60889c0df9755a6f7e0ab465873b6.png)
+28
Скрытые цепи Маркова, алгоритм Витерби
5 мин
60KНам нужно реализовать детектор лжи, который по подрагиванию рук человека, определяет, говорит он правду или нет. Допустим, когда человек лжет, руки трясутся чуть больше. Сигнал может быть таким:
![Исходный сигнал](https://habrastorage.org/storage2/dc3/881/b6e/dc3881b6ea209ba018596bf7186569ac.png)
Интересный метод, описан в статье «A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition» L.R. Rabiner, которая вводит модель скрытой цепи Маркова и описывает три ценных алгоритма: The Forward-Backward Procedure, Viterbi Algorithm и Baum-Welch reestimation. Несмотря на то, что эти алгоритмы представляют интерес только в совокупности, для большего понимания описывать их лучше по отдельности.
![Исходный сигнал](https://habrastorage.org/storage2/dc3/881/b6e/dc3881b6ea209ba018596bf7186569ac.png)
Интересный метод, описан в статье «A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition» L.R. Rabiner, которая вводит модель скрытой цепи Маркова и описывает три ценных алгоритма: The Forward-Backward Procedure, Viterbi Algorithm и Baum-Welch reestimation. Несмотря на то, что эти алгоритмы представляют интерес только в совокупности, для большего понимания описывать их лучше по отдельности.
+72
Angry Birds на PLC?
4 мин
18K![image](https://habrastorage.org/getpro/habr/post_images/c64/b4c/1f2/c64b4c1f23331303665933466c25a86a.jpg)
+13
Стартовала вторая фаза конкурса Intel® Perceptual Computing Challenge
6 мин
6.6K![](https://habrastorage.org/storage2/6e5/81d/49d/6e581d49dc5477d90d42b2f89e30eb42.png)
Неделю назад, шестого мая, официально стартовала вторая фаза конкурса Intel Perceptual Computing Challenge. Поскольку в корпоративном блоге компании Intel на хабре так новость и не появилась, решил написать об этом сам. Подробности под катом.
+6
Intel Perceptual Computing SDK
4 мин
24K![](https://habrastorage.org/getpro/habr/post_images/20a/8c1/b4e/20a8c1b4eb64b595bb2d2ab1124768e6.png)
Что такое Perceptual Computing? Это новая технология, которая позволит пользователю взаимодействовать со своим мобильным устройством посредством голоса, рук, лица, т.е. более естественных для человека способов взаимодействия.
+29
Правильные имена и полезные ошибки
3 мин
31K![image](https://habrastorage.org/getpro/habr/post_images/385/b7c/92a/385b7c92ae6c6661c0618d056aaa5a37.jpg)
Эта статья для тех, кто получает от разработки приложений больше удовольствия, чем денег.
Тем не менее, здесь пойдет речь об увеличении дохода с Ваших приложений.
В 2013 году я совершенно случайно столкнулся с тремя способами увеличить денежный поток раза в два, то есть вместо 25 долларов в день мне стало капать 50. А иногда 100.
Кому эти суммы кажутся смешными, проходите мимо.
А кто знает цену каждому заработанному доллару — прошу под продолжение.
+58
1986ВЕ91Т: Что же внутри российского Арма?
3 мин
76K![](https://habrastorage.org/getpro/habr/post_images/c1d/1cb/14f/c1d1cb14f86daadb7d0da6a669b0d371.jpg)
Сегодня возможность удовлетворить этот закономерный интерес наконец появилась. Ковырять будем 1986ВЕ91Т — это микроконтроллер Миландра, основанный на ядре ARM Cortex-M3 (официально лицензированного). Внутри — 128 КиБ флеш-памяти, 32 КиБ статической памяти, аппаратный USB и 80Мгц ядро, изготовлено по технологии 180нм.
+135
Дайджест интересных новостей и материалов из мира айти и веб-разработки за последнюю неделю №55 (27 — 5 мая 2013)
7 мин
27KПредлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.
![](https://habrastorage.org/storage2/256/9f3/3ff/2569f33ffec8365f6a1572d5680623a0.png)
![](https://habrastorage.org/storage2/256/9f3/3ff/2569f33ffec8365f6a1572d5680623a0.png)
+27
Рецепты против взаимных блокировок на сигнальных переменных
5 мин
22KДоброго времени суток, уважаемые Хабраюзеры!
Этим постом я продолжаю серию статей, направленных на борьбу за чистоту и безопасность разрабатываемых многопоточных программ.
![](https://habrastorage.org/storage2/e61/72d/730/e6172d730c71b58a18d965cf4a1443c0.png)
Рисунок 1 – Взаимная блокировка 1-го рода с участием сигнальной переменной.
В рамках этого поста мы рассмотрим проблемы, которые возникают при использовании сигнальных переменных, и покажем, как их можно избежать.
Этим постом я продолжаю серию статей, направленных на борьбу за чистоту и безопасность разрабатываемых многопоточных программ.
![](https://habrastorage.org/storage2/e61/72d/730/e6172d730c71b58a18d965cf4a1443c0.png)
Рисунок 1 – Взаимная блокировка 1-го рода с участием сигнальной переменной.
В рамках этого поста мы рассмотрим проблемы, которые возникают при использовании сигнальных переменных, и покажем, как их можно избежать.
+37
Два простых правила для предотвращения взаимных блокировок на мьютексах
6 мин
57KЗдравствуйте, уважаемые Хабраюзеры!
Так сложилось, что это третий пост в блоге нашей компании, и, как и первые два, он посвящен вопросам многопоточного программирования и проблемам, которые при этом возникают. Получилось так неслучайно, ведь мы на собственной «шкуре» испытали, что ситуации, возникающие при написании многопоточных программ, невероятно сложны для отладки, так как во многом определяются динамикой работы программы на конкретной аппаратной платформе. Уверен, что большинство программистов сталкивались с ситуацией, когда программа, которая прекрасно работает на одном компьютере, на другом совершенно неожиданно начинает дедлочиться практически «на ровном месте».
Так сложилось, что это третий пост в блоге нашей компании, и, как и первые два, он посвящен вопросам многопоточного программирования и проблемам, которые при этом возникают. Получилось так неслучайно, ведь мы на собственной «шкуре» испытали, что ситуации, возникающие при написании многопоточных программ, невероятно сложны для отладки, так как во многом определяются динамикой работы программы на конкретной аппаратной платформе. Уверен, что большинство программистов сталкивались с ситуацией, когда программа, которая прекрасно работает на одном компьютере, на другом совершенно неожиданно начинает дедлочиться практически «на ровном месте».
+64
Жизненная позиция пользователей ВКонтакте. Бонус-трек. Корреляции
2 мин
46KПочти сразу после того, как я опубликовал пост Жизненная позиция пользователей ВКонтакте в зависимости от пола и возраста, появилась идея проверить, как зависит тот или иной аспект жизненной позиции от других. Как упоминалось в предыдущем посте, для этого опять-таки не нужно было делать сложных расчетов, всего лишь обратиться к поиску по профилям ВКонтакте.
Статистику по общему кол-ву людей разных возрастов см. в первой части. Напомню, что по горизонтали на всех графиках отложен возраст людей.
Вот как на жизненные ориентиры мужчин влияет пристрастие к спиртному:
![](https://habrastorage.org/storage2/4dc/192/128/4dc192128d87437a27c3ca6d33223937.png)
Оправдывается очевидное предположение, что любители выпивки гораздо чаще трезвенников считают главным в жизни развлечения и отдых. Кроме того, положительно относящиеся к алкоголю мужчины больше сконцентрированы на красоте, искусстве, славе, карьере и деньгах, меньше — на саморазвитии, семье и детях.
Статистику по общему кол-ву людей разных возрастов см. в первой части. Напомню, что по горизонтали на всех графиках отложен возраст людей.
Вот как на жизненные ориентиры мужчин влияет пристрастие к спиртному:
![](https://habrastorage.org/storage2/4dc/192/128/4dc192128d87437a27c3ca6d33223937.png)
Оправдывается очевидное предположение, что любители выпивки гораздо чаще трезвенников считают главным в жизни развлечения и отдых. Кроме того, положительно относящиеся к алкоголю мужчины больше сконцентрированы на красоте, искусстве, славе, карьере и деньгах, меньше — на саморазвитии, семье и детях.
+57
Простой способ обнаружения эмуляторов ключа Guardant
7 мин
71KПри работе с ключом защиты Guardant (не важно какой модели) разработчик использует соответствующие API, при этом от него скрыт сам механизм работы с устройством, не говоря уже о протоколе обмена. Он не имеет на руках валидного хэндла устройства, пользуясь только адресом шлюза (т.н. GuardantHandle) через который идет вся работа. В случае если в системе присутствует эмулятор ключа (особенно актуально для моделей до Guardant Stealth II включительно) используя данный шлюз разработчик не сможет определить, работает ли он с реальным физическим ключом, или его эмуляцией.
Задавшись в свое время вопросом: «как определить наличие физического ключа?», мне пришлось немного поштудировать великолепно поданный материал за авторством Павла Агурова в книге "Интерфейс USB. Практика использования и программирования". После чего потратить время на анализ вызовов API функций из трехмегабайтного объектника, линкуемого к приложению, в котором собственно и сокрыта вся «магия» работы с ключом.
В итоге появилось достаточно простое решение данной проблемы не требующее использования оригинальных Guardant API.
Единственный минус — все это жутко недокументированно и техническая поддержка компании Актив даже не будет рассматривать ваши вопросы, связанные с таким использованием ключей Guardant.
Ну и конечно, в какой-то момент весь данный код может попросту перестать работать из-за изменений в драйверах Guardant.
Но пока что, на 27 апреля 2013 года, весь данный материал актуален и его работоспособность проверена на драйверах от версии 5.31.78, до текущей актуальной 6.00.101.
Задавшись в свое время вопросом: «как определить наличие физического ключа?», мне пришлось немного поштудировать великолепно поданный материал за авторством Павла Агурова в книге "Интерфейс USB. Практика использования и программирования". После чего потратить время на анализ вызовов API функций из трехмегабайтного объектника, линкуемого к приложению, в котором собственно и сокрыта вся «магия» работы с ключом.
В итоге появилось достаточно простое решение данной проблемы не требующее использования оригинальных Guardant API.
Единственный минус — все это жутко недокументированно и техническая поддержка компании Актив даже не будет рассматривать ваши вопросы, связанные с таким использованием ключей Guardant.
Ну и конечно, в какой-то момент весь данный код может попросту перестать работать из-за изменений в драйверах Guardant.
Но пока что, на 27 апреля 2013 года, весь данный материал актуален и его работоспособность проверена на драйверах от версии 5.31.78, до текущей актуальной 6.00.101.
+13
Изучаем отладчик, часть вторая
45 мин
24KВ первой части статьи были рассмотрены некоторые нюансы работы с интегрированным отладчиком Delphi — не все конечно, но наиболее необходимые разработчику. Теперь задача выглядит несколько иначе: рассмотрим его работу изнутри на примере его исходного кода. Для того чтобы не сильно утомлять вас описанием API функций и не разжевывать все этапы отладки, описывать его работу я буду на примере класса TFWDebugerCore. Часть не особо важных моментов я опущу, при желании вы их сможете уточнить просмотрев код данного класса.
Если вы уже знакомы с работой отладчика — ничего страшного, вполне вероятно что некоторые аспекты его работы, упомянутые в статье, будут вам интересны.
Если же вы ранее никогда не сталкивались с самостоятельной реализацией отладчика, но заинтересованы в ней, то как минимум вы должны начать с данной ссылки: Debugging and Error Handling
По ней вы сможете узнать об основных аспектах отладки, как-то структурной обработке исключений, работой с отладочной информацией, минидампами. Работой с образом исполняемого файла, заголовками, секциями, картой памяти процесса, что такое RVA и VA и прочее-прочее.
Но это только если захотите разобраться во всей этой кухне.
Я же попробую описать только часть ее более простым языком, дабы у вас была точка, от которой можно было-бы оттолкнуться, если вы вдруг заинтересовались, ну и конечно, если вы реализуете защиту приложения, то вникнуть в тонкости работы отладчика вам необходимо как минимум (а иначе-то как по другому?).
В тексте статьи будет много кода, но рассматривать все параметры каждой из структур при возникновении отладочных событий я не буду, для этого есть MSDN. Остановлюсь только на необходимых для работы отладчика и попробую раскрыть некоторые нюансы, с которыми вы скорее всего столкнетесь при самостоятельной реализации движка отладки.
От вас же желательно наличие хотя-бы минимальных знаний ассемблера, т.к. без него в данной статье увы не обойтись.
Если вы уже знакомы с работой отладчика — ничего страшного, вполне вероятно что некоторые аспекты его работы, упомянутые в статье, будут вам интересны.
Если же вы ранее никогда не сталкивались с самостоятельной реализацией отладчика, но заинтересованы в ней, то как минимум вы должны начать с данной ссылки: Debugging and Error Handling
По ней вы сможете узнать об основных аспектах отладки, как-то структурной обработке исключений, работой с отладочной информацией, минидампами. Работой с образом исполняемого файла, заголовками, секциями, картой памяти процесса, что такое RVA и VA и прочее-прочее.
Но это только если захотите разобраться во всей этой кухне.
Я же попробую описать только часть ее более простым языком, дабы у вас была точка, от которой можно было-бы оттолкнуться, если вы вдруг заинтересовались, ну и конечно, если вы реализуете защиту приложения, то вникнуть в тонкости работы отладчика вам необходимо как минимум (а иначе-то как по другому?).
В тексте статьи будет много кода, но рассматривать все параметры каждой из структур при возникновении отладочных событий я не буду, для этого есть MSDN. Остановлюсь только на необходимых для работы отладчика и попробую раскрыть некоторые нюансы, с которыми вы скорее всего столкнетесь при самостоятельной реализации движка отладки.
От вас же желательно наличие хотя-бы минимальных знаний ассемблера, т.к. без него в данной статье увы не обойтись.
+21
Изучаем отладчик, часть первая
24 мин
156KЯ думаю, вы знаете, что взлом программного обеспечения производится не какими-то мистическими «хакерами» – его осуществляют такие же программисты, как и большинство читающих данную статью. При этом они пользуются тем же инструментарием что и сами разработчики ПО. Конечно, с оговорками, поскольку по большей части инструментарий достаточно специфичен, но, так или иначе, при анализе ПО используется отладчик.
Так как большинство моих статей ориентированы на людей, интересующихся применением защиты в своем ПО, я решил, что подача материала с конкретными кусками кода защиты (наподобие опубликованных ранее) только запутает читателя. Гораздо проще начать от азов и потихоньку давать новый материал на уже готовой базе.
Поэтому в данной статье будет рассмотрен один из базовых инструментов программиста – отладчик.
Цели статьи: рассмотреть основные методы работы с отладчиком, показать его расширенные и редко используемые возможности, дать понимание работы механизмов отладчика на примерах и рассмотреть некоторый набор методов противодействия.
Объем статьи получился неожиданно большим, поэтому я разбил ее на три части:
Собственно, приступим.
Так как большинство моих статей ориентированы на людей, интересующихся применением защиты в своем ПО, я решил, что подача материала с конкретными кусками кода защиты (наподобие опубликованных ранее) только запутает читателя. Гораздо проще начать от азов и потихоньку давать новый материал на уже готовой базе.
Поэтому в данной статье будет рассмотрен один из базовых инструментов программиста – отладчик.
Цели статьи: рассмотреть основные методы работы с отладчиком, показать его расширенные и редко используемые возможности, дать понимание работы механизмов отладчика на примерах и рассмотреть некоторый набор методов противодействия.
Объем статьи получился неожиданно большим, поэтому я разбил ее на три части:
- В первой части будут рассмотрены возможности интегрированного в IDE Delphi отладчика, даны рекомендации по наиболее оптимальному его использованию и общие советы по конфигурации среды. Материал данного раздела предназначен как начинающим разработчикам, так и более подготовленным специалистам.
- Во второй части статьи будет рассмотрена изнаночная сторона работы отладчика на примере его исходного кода, подробно рассмотрены механизмы, используемые им при отладке приложения, показаны варианты модификаций памяти приложения, производимые отладчиком во время работы.
- В третьей части статьи будет рассмотрено практическое использование отладчика на примере обхода защиты приложения, использующего некоторый набор антиотладочных трюков.
Собственно, приступим.
+18
Изучаем отладчик, часть третья
22 мин
29KЧто такое отладчик, как им пользоваться и как он реализован, после прочтение первой и второй части статьи, вы знаете. В заключительной части статьи попробуем рассмотреть некоторые методы борьбы с отладчиком, на основе знаний о принципах его работы. Я не буду давать шаблонный набор антиотладочных приемов, благо при желании все это можно найти на просторах интернета, попробую это сделать немного другим способом, на основе некоего абстрактного приложения, у которого буду расширять код защиты от самой простейшей схемы до… пока не надоест :)
Сразу-же оговорюсь, в противостоянии приложение/отладчик, всегда победит последний :)
Но, только в том случае, если им будет пользоваться грамотный специалист, а с такими спецами бороться практически бесполезно (ну, если вы конечно не обладаете как минимум такой же квалификацией).
Правда как показывает практика, грамотные спецы не занимаются неинтересными им задачами, оставляя их на откуп начинающим реверсерам, которые еще не прогрызли свой гранит науки и могут спотыкаться на некоторых не очевидных трюках.
Вот что-то такое мы и рассмотрим, только в очень упрощенной форме.
Сразу-же оговорюсь, в противостоянии приложение/отладчик, всегда победит последний :)
Но, только в том случае, если им будет пользоваться грамотный специалист, а с такими спецами бороться практически бесполезно (ну, если вы конечно не обладаете как минимум такой же квалификацией).
Правда как показывает практика, грамотные спецы не занимаются неинтересными им задачами, оставляя их на откуп начинающим реверсерам, которые еще не прогрызли свой гранит науки и могут спотыкаться на некоторых не очевидных трюках.
Вот что-то такое мы и рассмотрим, только в очень упрощенной форме.
+29
Рейтинг фантастических романов, или Я сделаю свой «IMDB для книг», с преферансом и библиотекаршами
8 мин
7.6KДолго выбирал между «Алгоритмами», «Читальным залом» и «Я пиарюсь», в итоге остановился на Data Mining.
Эта история началась в конце октября, когда я очередной раз пытался выбрать, что бы мне почитать. Лично я с собой в отпуск/в дорогу беру что-нибудь из фантастики (как, думаю, и большинство присутствующих), причем категорически не люблю всякий модный новодел.
И вот, терзаясь муками выбора, я забил в поиск «IMDB for books» и… не нашел ничего пристойного. Весь интернет забит рекомендательными сервисами для книг, и все они выдают полную чушь. Вот, например, топ имхонета для раздела «Самая лучшая фантастика и фэнтези»:
Эээ… Это совсем не то, что я ожидал увидеть на первых местах в рейтинге фантастики. «Мы пойдём другим путём», — подумал я. Отказавшись от идеи найти нормальный читательский рейтинг, я просто пошёл в Вики, нашёл список лауреатов премий Хьюго и Небьюла и выбрал пару-тройку книг — как, собственно, я всегда раньше и делал.
«А не замутить ли мне свой рейтинг книг, взяв за основу престижные премии?» — внезапно подумал я. И замутил. Знакомьтесь: top-books.info
Эта история началась в конце октября, когда я очередной раз пытался выбрать, что бы мне почитать. Лично я с собой в отпуск/в дорогу беру что-нибудь из фантастики (как, думаю, и большинство присутствующих), причем категорически не люблю всякий модный новодел.
И вот, терзаясь муками выбора, я забил в поиск «IMDB for books» и… не нашел ничего пристойного. Весь интернет забит рекомендательными сервисами для книг, и все они выдают полную чушь. Вот, например, топ имхонета для раздела «Самая лучшая фантастика и фэнтези»:
1. Мастер и Маргарита. Михаил Булгаков, 1940 год
2. Цветы для Элджернона (рассказ). Дэниел Киз, 1959 год
3. Цветы для Элджернона. Дэниел Киз, 1966 год
4. Битва Королей. Джордж Мартин, 1998 год
5. Рыцарь Ордена: Клинки у трона. Сергей Садов, 2000 год
6. Голубятня в Орехове. Владислав Крапивин, 1983 год
Эээ… Это совсем не то, что я ожидал увидеть на первых местах в рейтинге фантастики. «Мы пойдём другим путём», — подумал я. Отказавшись от идеи найти нормальный читательский рейтинг, я просто пошёл в Вики, нашёл список лауреатов премий Хьюго и Небьюла и выбрал пару-тройку книг — как, собственно, я всегда раньше и делал.
«А не замутить ли мне свой рейтинг книг, взяв за основу престижные премии?» — внезапно подумал я. И замутил. Знакомьтесь: top-books.info
+67
«Релкомизация всей страны»
18 мин
15K![](https://habrastorage.org/storage2/bd0/b3d/36e/bd0b3d36e1c04b016169ef324e6940a6.jpg)
(КомпьютерПресс, январь 1995)
Слухи о рождении домашнего компьютера немного преувеличены
Н.Иванов
В летнее время, под тенью акации,Приятно мечтать о дислокации.
Фаддей Козьмич Прутков
В последнее время в российской прессе, не только компьютерной, но и общечеловеческой, все чаще можно встретить словосочетание «домашний компьютер». Шум, поднятый вокруг «компьютера для народа», несколько напоминает кампанию повальной информатизации и всеобщей компьютерной грамотности начала перестройки. Та кампания была вызвана невиданными успехами советских инженеров, которым удалось-таки скопировать Intel 8080 и освоить серийный выпуск клона (прошу не рассматривать это как упрек в адрес вышеупомянутых инженеров — все мы выпали из одного гнезда). Вы помните, что 3-4 года назад в каждом магазине культтоваров можно было по дешевке приобрести уродца, программируемого на Бейсике, со стримером «Электроника-302» и черно-белым монитором высокого разрешения, который к тому же можно было использовать в качестве телевизионного приемника. Правда, массовый покупатель не пошел на поводу у пророков компьютерной эры, отдав предпочтение колбасе, а профессионалы собирали из подручных средств компьютеры и помощнее (если им не удавалось утащить с работы буржуазную АТ-шку). В общем, первая волна одомашнивания «умных машин» разбилась о стену безразличия.
![](https://habrastorage.org/storage2/0bb/76b/3d3/0bb76b3d387b725e53a45dca4b63b1c1.png)
+26
Информация
- В рейтинге
- Не участвует
- Откуда
- Саров (Нижегородская обл.), Нижегородская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность