28 дек. 2012 г.

Робот-паук


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


Влиться в компанию людей, занимающихся подобным, можно здесь:

  1. СПбГУ ИТМО, факультет КТиУ, кафедра вычислительной техники. Научно-образовательное направление «Встроенные вычислительные системы»
  2. Научно-производственная фирма "ЛМТ"


Под катом moar фотографий и видео работы сего агрегата.

20 нояб. 2012 г.

Оформление списка литературы в Word 2010 по ГОСТу

Понадобилось мне тут, намедни, отформатировать огромный, набитый вручную, список литературы по ГОСТу. Естественно, перенабивать все ручками - полный бред. Хотелось бы иметь автоматически создаваемый список с ссылками, которые автоматом перенумеруются при добавлении/удалении новых книг.
К счастью, LaTeX Word предоставляет для этого какой-то, относительно возможный к использованию инструмент, которым можно пользоваться, после допиливания его напильником.

8 сент. 2012 г.

О сколько нам открытий чудных готовит просвещенья дух

Сегодняшний день был для меня полон удивительных открытий.
Во- первых, оказалось, что explorer.exe в Windows умеет выделять файл, буквы имени которого вы печатаете. Да-да, просто открываете Проводник и, не кликая ни на какие другие элементы интерфейса, начинаете печатать. Проверял - работает в Windows XP и в Windows 7.

Второе открытие несколько посерьезней...
С давних пор я храню свои конфигурационные файлы в системе контроля версий: https://github.com/h0rr0rrdrag0n/dotfiles. Преимущества: история изменения файлов, с возможностью откатиться к любому из стабильных состояний, что были в прошлом. Также, для меня бывает удобно посмотреть, что же там такое поменялось в конфигах...
И сегодня, мне в голову пришла идея использовать один из механизмов системы контроля версий, а именно - ветки (branches), для того чтобы получить несколько версий одного и того же конфигурационного файла для разных платформ. Например: в Linux'е я использую расширение Emacs'а AuCTeX, а в Windows же оно мне не нужно и, соответственно, я хочу иметь две разных версии ~/.emacs - со включенным плагином и с отключенным.

23 авг. 2012 г.

Какой калибр у проводов?

Сравнительно недавно мне нужно было нарисовать футпринт для одного выводного резистора. А чтобы нарисовать футпринт правильно, мне нужно было знать диаметр выводов для этого резистора.
Но увы, внимательно и несколько раз прочитав даташит на резистор, я не нашел ни слова про диаметр вывода. Рядом с последним было лишь такое примечание:
Как показало гугление по словам "#22 AWG" и "AWG" - не все люди в этом мире измеряют диаметр проводов в миллиметрах. Некоторые используют какие-то странные, исторически сложившиеся единицы измерения. Например, американцы используют свой американский калибр проводов (American Wire Gauge - AWG).
По формулам, приведенным в вышеприведенной статье, получается что 22 AWG = 0.127 * 92 ^ ((36-22)/39) = 0.64 мм.

5 авг. 2012 г.

Организационное

С недавних пор я решил, что все мои посты о покатушках, сборищах и о прочих подобных штуках будут на моем новом блоге на Тумблере. Здесь же - только о вычислительной технике.
Адрес блога: http://h0rr0rr-drag0n.tumblr.com/

2 авг. 2012 г.

Футпринты для танталовых конденсаторов

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

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

В этот раз мне улыбнулась удача и я раскопал таки документацию, по которой можно рисовать футпринты - в ней есть необходимые чертежи:
На всякий случай я сохранил себе в гугл-диск все PDF-документы, доступные по вышеприведенным ссылкам, и к ним можно получить доступ по ссылке: https://docs.google.com/open?id=0BwO0D4bM8z6vSW52U0pySk5LRDA

2 июл. 2012 г.

Велопробег "За велогород", 1 июля

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

1 июл. 2012 г.

Велопробег "Белые ночи 2012" от ВелоПитера


Сегодня, как известно, одна из самых коротких ночей в году, плюс, ко всему прочему, у нас, в Санкт-Петербурге белые ночи. И именно в этот день (30 июня), стартовал наверное самый старейший, если такое слово уместно по отношению к данному мероприятию, велопробег в Петербурге - "Белые ночи".

2 июн. 2012 г.

Как начать программировать под Android, используя Linux и Emacs

Недавно, мне захотелось научиться программировать под Андроид ибо мне не хватает одного приложения - клиента для ЖЖ. Просмотренные мною аналоги либо падают через некоторые время, либо имеют не всю необходимую мне функциональность, либо напичканы рекламой =(.
Поскольку я пользуюсь линуксом и Emacs'ом, я ориентировался именно на их использование в разработке. Eclipse может и хорош, но я не готов ждать как минимум с десяток секунд, пока эта IDE запустится.
Пост будет в формате сборника ссылок с моими краткими примечаниями к ним.

Пост - ответ. Вступил в силу запрет на свободную продажу кодеиносодержащих болеутоляющих препаратов.

Этот пост - ответ на еще один пост одного хорошего человека.

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

31 мая 2012 г.

Немного о преподавательской практике

Думаю, читатели моего блога уже успели заметить, что я уже достаточно давно не писал ничего нового, а кто-то может быть даже решил, что блог "успешно" помер. Поспешу всех обнадежить, мой блог по-прежнему живее всех живых. Просто, у меня не было достаточно времени, чтобы в чем-то, достаточно интересном, досконально разобраться и написать об этом в блог - я был занят стажировкой, учебой и, в том числе, преподавательской практикой, о которой я и хочу немного поведать.
В этом семестре, мне довелось принимать лабораторные по предмету "Информационно-управляющие системы". Несмотря на столь заковыристое название предмета, на лекциях по нему рассказывают различные вводные для эмбеддеров вещи - что такое реальное время, зачем нужна RTOS, что такое watchdog, чем так хороши устройства сопряжения с объектом вообще и гальваническая развязка в частности. А на лабораторных счастливые студенты программируют драйвера для периферийных модулей стенда SDK1.1 на языке C.

18 мар. 2012 г.

Обычный день обычного ВТшника

Не так давно, мне в голову пришла идея сделать небольшой пост о том, как протекает день у меня, как у одного из студентов кафедры ВТ. И в этом посте, под катом, вы найдете много фотографий, описывающих, чем я занимаюсь "от рассвета до заката".
Сразу оговорюсь, что я уже на 5 курсе, поэтому не стоит по этому посту судить о том, как протекает день вообще у всех ВТшников. Например, на 2 курсе все несколько печальнее - им приходится приходить в универ пока солнце еще не встало, а уходить, когда оно уже зашло. Ну и нагрузка у них соответствующая...
Возможно, данный пост будет полезен тем, кто собирается поступать на ВТ, но не знает, что его там может ожидать.

Итак, поехали.

5 мар. 2012 г.

Подготовка самоката Razor A5 Lux к началу сезона

В Питере весна занимается отвоевыванием своих позиций, правда увы пока-что с переменным успехом. Солнечный день, когда почти весь асфальт становится сухим, сменяется на следующие сутки утром с падающим снегом и слякотью пополам с солью на дорогах.
Но настоящие роллеры, велосипедисты и ... эээ ... "скутеристы" уже занимаются подготовкой своих железных коней к началу сезона.
Настоящий пост будет посвящен описанию подготовки самоката Razor A5 Lux к тому времени, когда асфальт наконец-то станет чистым и сухим.

26 февр. 2012 г.

Установка Linux с нуля на SK-AT91SAM9260-SIM300 (part 2 - загрузчики)

Предыдущие посты:

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

20 февр. 2012 г.

Как убрать посты "Hot on Google+" из своей ленты


Меня, как и многих других изрядно достали внезапно появившиеся чужие, "самые популярные" посты в ленте Google+. Естественно я полез их отключать и нашел лишь фильтры для Adblock'а, которые к тому же совсем у меня не работали...
Как оказалось, есть решение куда как проще, найденное мною буквально методом тыка. К сожалению, это решение совершенно не очевидно, поэтому я и публикую этот пост - вдруг кому пригодится.
Подробности под катом.

30 янв. 2012 г.

Установка Linux с нуля на SK-AT91SAM9260-SIM300 (part 1 - инструментальные средства)

Как очевидно, данная серия постов будет посвящена процессу установки Линукса на отладочную плату SK-AT91SAM9260-SIM300. Особенностью данных постов является то, что я не буду использовать готовую инструментальную среду, которая поставляется вместе с платой на прилагаемом диске в виде образа VMWare. Кросскомпиляторы, загрузчики, ядро и корневую файловую систему я буду патчить и компилировать сам, используя оригинальные исходные коды с сайтов разработчиков.
Эта серия постов, увы, ориентирована в первую очередь на меня - чтобы я не забыл как делается то или иное действие. Поэтому, возможно некоторые, очевидные для меня моменты будут пропускаться. Если же я в чем-то не разобрался или в чем-то не уверен, то я отдельно напишу об этом в тексте поста и если у вас есть ответ на мой вопрос - пишите его в комментариях!

Предварительно, я дам ссылку на ресурс, который мне очень помог: .http://dmilvdv.narod.ru/AT91SAM9260/index.html

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

11 янв. 2012 г.

Профилировка программ в Linux'е

Для начала определим, что же такое "профилировка программ" и зачем она нужна. Профилировка программ - это процесс определения времени выполнения отдельных элементов программы с целью поиска "бутылочного горлышка".
Книга "Техника оптимизации программ" Криса К., дает еще одно определение профилировки:
Профилировкой мы будем называть измерение производительности как всей программы в целом, так и отдельных ее фрагментов, с целью нахождения "горячих" точек (Hot Spots), — тех участков программы,  на выполнение которых расходуется наибольшее количество времени.
Профилировка программ выполняется при помощи специальных утилит - профилировщиков, которые на основе собранных при выполнении программы данных вычисляют время выполнения практически для каждой логической единицы программы - строка кода, функции и так далее. А затем, эта информация представляется пользователю в виде таблиц или графиков.
Подобная информация может быть полезной если в вашей программе есть узкие места из-за которых ее производительность оставляет желать лучшего. Либо же, такая информация может пригодиться если вам необходимо портировать программу с "большого" PC на какой-нибудь низкопроизводительный микроконтроллер.

10 янв. 2012 г.

Программа для создания карточек настольной игры "Алиас"

Недавно, мне подарили настольную игру под названием "Алиас", суть которой заключается в угадывании слов и всяких "известных персонажей" по словесному описанию от партнера по команде.
Именно с угадыванием известных персонажей и возникли проблемы у компании из двух программистов и одного филолога. Если с такими людьми как Арнольд Шварценеггер или Уилл Смит не возникало никаких проблем, то попытки описать Колин Фарелл или Род Стюарта наталкивались на препятствие вида "эээ, а кто все эти люди?".
Тогда же, одному из двух программистов пришла в голову светлая идея - заменить всех этих "звезд эстрады и шоубизнеса" на таких привычных и понятных программистскому уху именах и фамилиях как: Линус Торвальдс, Ричард Столлман, Деннис Ритчи и так далее.
Естественно, рисовать карточки от руки было, что называется "не с руки", поэтому мною была написана простенькая программка, рисующая карточки автоматически.

1 янв. 2012 г.

Статический анализ кода на C в Linux'е

Теоретически ребенок может предпочесть общение с консолью и компилятором общению с реальными людьми, особенно если со сверстниками проблемы. Плюсы общения с машиной для него будут очевидны: даешь задание получаешь результат(кому еще ребенок может дать задание), если результат не верен, значит сам напортачил(а люди могут врать или ошибаться по морю причин и пойди разбери по какой именно). А еще у машины всегда есть время общаться с ребенком(она не скажет что устала на работе и ей нужно попить пивка).

К сожалению, поиски того, где же ты напортачил, могут затянуться если не использовать анализаторы кода. Там, где человек от усталости вполне может и пропустить какую-то, не вполне очевидную, ошибку, программа ничего не упустит и предупредит о том, что "здесь что-то не так".
Поскольку я пишу на C и использую GNUтые или же просто опенсорсные средства разработки (GNU Emacs, GNU GCC, Doxygen и так далее), то меня интересовали, в первую очередь, средства для статического анализа кода с открытыми исходниками. О них то, по меньшей мере о тех, которые мне приглянулись, и пойдет речь в данном посте.