Search
Write a publication
Pull to refresh
60
0
Дмитрий @Pozitron

User

Send message

Начинаем изучать Cortex-M на примере STM32

Reading time15 min
Views388K
Данная статья является первой в планируемом цикле статей по изучению программирования микроконтроллеров. Изучая различные материалы я отметил, что практически все они начинаются с того, что новичку предлагается скачать (или использовать идущую со средой разработки) библиотеку для работы с периферийными устройствами и использовать ее для написания своей первой программы (обычно мигание светодиодом).

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

В этой статье, путь от фразы «Да, я хочу попробовать!» до радостного подмигивания светодиода, будет значительно длиннее чем у других авторов. Я постараюсь раскрыть аспекты программирования микроконтроллеров, которые прячутся за использованием библиотечных функций и готовых примеров.
Если вы намерены серьезно изучать программирование микроконтроллеров данная статья для вас. Возможно, она может заинтересовать и тех, кто вдоволь наигрался с Arduino и хочет получить в свои руки все аппаратные возможности железа.
Если вас не пугает написанное выше - прошу под кат

Сериализация C++ с полиморфизмом и прототипами

Reading time6 min
Views20K
Уже достаточно давно заинтересовался темой сериализации, а если конкретно, то сериализацией объектов, хранящихся по указателю на базовый класс. Например, если мы хотим загружать интерфейс приложения из файла, то скорее всего нам придется заполнять полиморфными объектами контейнер по типу “std::vector<iWidget*>”. Возникает вопрос, как подобное реализовать. Этим я недавно решил заняться и вот что получилось.

Для начала я предположил, что нам все-таки придется унаследовать в базовом классе интерфейс iSerializable, такого вида:

class iSerializable
{
public:
    virtual void serialize (Node node) = 0;
};
Читать дальше →

Заземление. Что это такое и как его сделать (часть 1)

Reading time12 min
Views592K


Мой рассказ будет состоять из трёх частей.

1 часть. Заземление
(общая информация, термины и определения)


2 часть. Традиционные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


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

Если читатель обладает теоретическими знаниями и интересуется только практической реализацией — ему лучше пропустить первую часть и начать чтение со второй части.

Если читатель обладает необходимыми знаниями и хочет познакомиться только с новинками — лучше пропустить первые две части и сразу перейти к чтению третьей.

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

Некоторая часть текста является компромиссом между точностью и желанием объяснить “человеческим языком”, поэтому допущены упрощения, могущие “резать слух” технически подкованного читателя.

Читать дальше →

Визуализация работы веб-сервера Apache — logstalgia

Reading time1 min
Views15K
image

Logstalgia скорее порадует разработчиков и системных администраторов, которые много времени проводят на «заднем дворе» сайтов, но сам результат работы программы очень красив и видео будет интересно посмотреть всем. Данная программа визуализирует работу веб-сервера Apache используя log-файлы. По ссылке видео, а саму программу можно скачать по здесь.

Выполнение USSD запросов под Linux

Reading time4 min
Views24K
Спасибо автору топика Проверка счета Киевстар модема в Linux который помог мне понять принцип работы модемов и способ работы с ними в линуксе. Мне как раз нужно было решить задачу отображения уровня сигнала, проверки баланса, пополнения счета с использованием 3ж модема. Но так как ставить на домашние машины пхп ради такой мелочи мне не хотелось, решил переписать скрипт под себя на Python, который есть в любом десктоп-линуксе из коробки.

Работать данный скрипт будет на любых модемах/телефонах которые поддерживают USSD без PDU кодирования. Для модемов требующих PDU-кодировку команд нужно написать функции-обертки аналогично php-скрипту из указаного выше топика. У меня к сожалению нету такого модема и проверить я бы не смог — потому писать не стал.

Проверена работа на 3G модеме ZTE MF100(должно работать с mf620, mf622, mf626, mf628) и тарифе Интернет 3G от Киевстара.
Читать дальше →

Фильтруем rss Хабра через Yahoo.Pipes

Reading time3 min
Views8.1K


В комментах часто жалутся на обилие нежелательного контента на главной. Посты же не могут нравится всем сразу. Duh…
Вывод один — надо фильтровать. Кэп подсказывает Интуиция подсказывает, что фильтровать мы будем с помощью Yahoo.Pipes.

С картинками.

Как и почему им - под катом

Как писать служебные документы

Reading time2 min
Views2.5K
image
Всякий молодой разработчик, начинающий карьеру в более-менее крупной фирме рано или поздно сталкивается с необходимостью написания служебных документов. Начинается история обычно с подобных фраз:
  • Уже сделал задание? Напиши отчет о проделанной работе.
  • Твой компьютер нужно забрать из сервиса. Сходишь, напишешь расписку и заберешь.
  • Тебе upgrade компа делать не надо? Пиши служебную записку.
  • Когда в отпуск планируешь? Напиши заявление в отдел кадров.


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

Обработка фотографий текста с помощью Gimp

Reading time2 min
Views17K
Здесь я предложу несколько вариантов решения этой задачи. Основная проблема фотографий это неравномерность освещенности страницы, когда в центре яркость больше, а по краям меньше или что-либо подобное. Так же часто необходимо повысить контрастность текста по сравнению со страницей. При обычной коррекции Уровней некоторые части изображения получаются засвечены, а некоторые наоборот слишком тёмные. Все методы более или менее решают эти проблемы.

В качестве материала для обработки я взял эту страничку(Предварительно обрезав всё лишнее):
Читать дальше →

ПО для взаимодействия ПК и смартфона

Reading time7 min
Views438K
С момента покупки смарта на Android меня заинтересовало его функциональное наполнение. На практике оказалось, что Android способен выполнять практически любую задачу, решаемую на обычном ПK, только медленнее и не всегда удобнее. Зато дополняет ПК он прекрасно, и механизмов использования возможностей смарта на ПК и возможностей ПК на смарте — уйма.

Статья ориентирована в основном на формирующихся и будущих пользователей Android-смартфонов; надеюсь, что продвинутые пользователи также найдут в ней что-то новое и/или внесут свою лепту. Под катом по пунктам, в вопрос-ответном стиле.
Читать дальше →

О нелегитимности копирайта

Reading time3 min
Views3K
Свою позицию по авторскому праву я излагал здесь: раз, два. Дописать это небольшое дополнение меня сподвигло небезызвестное выступление господина Акопова.

Господин Акопов, обращаясь к пользователям «ВКонтакте» пишет:

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


Господин Акопов — а он (либо его референт), судя по тексту, довольно образованный человек — употребил здесь правильное слово, которое я позволил себе выделить: легальный. Легальность означает соответствие закону — законность, проще говоря.

Но я позволю себе напомнить господину Акопову о другом термине с тем же корнем: легитимность. Легитимность — это признание обществом законности государственных институтов. В широком смысле слова, легитимность — признание справедливым социального устройства общества.

Так вот, господин Акопов: копирайт нелегитимен.

А почему?

Аналог? Забудьте это слово

Reading time5 min
Views32K
Лучше не искать аналогов, лучше искать программы, которые выполняют нужные задачи — так будет проще.
Товарищ с Лора

Как же надоедает, когда говорят «что-то аналог чего-то» в отношении софта: OpenOffice.org — аналог MS Office, Ubuntu — «бесплатный аналог Windows», Gimp — аналог Photoshop. В качестве замены слова аналог часто используют слова «замена» и «альтернатива». Да и не особо важно как говорят — главное — что имеют в виду и что в результате человек,  который прочитал, услышал — понял.

А подразумевают обычно следующее:
  1. Полная совместимость с тем, с чем сравнивают.
  2. Все нововведения из того с чем сравнивают должны появлять в этом продукте.
  3. Умеет делать всё, что умеет делать продукт, с которым сравнивают.

Я как разработчик заявляю:
  • ни один здравомыслящий программист никогда не будет писать аналог чего-то. Писать аналог — себя не уважать.
  • ни одна программа не может быть аналогом другой
  • каждая программа индивидуальна и использовать её нужно без оглядки на другие
  • совместимость с «чужим софтом» — лишь плюшка

Читать дальше →

Долгожданный релиз Хабрафутболок

Reading time1 min
Views563
image

Как и было обещано (не забыто), конкурсные дизайны футболок были выложены в магазине Gozo. Все кто хочет футболку С тематикой Хабра уже могут оформить заказ, а участники могут пойти и посмотреть чьи, и какие работы были одобрены.
Желающим, бесплатно наносится никнейм в 2 места на выбор:
— спина под воротником;
— левый или правый рукав по краю.
Читать дальше →

Юный гений Степан Большедворский из Ангарска

Reading time1 min
Views3.2K
По тенденции следующим изобретением должен стать «транспортный аппарат на двух свободно вращающихся круглых дисках, приводимых в движение мускульной силой человека через ножные рычаги. И получить название велосипед».

Карманный аэрохоккей

Reading time1 min
Views1.8K
image

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

Игрушка продается за 14 долларов и представляет собой как бы инвертированный вариант стационарного хоккея. То есть если в нормальной игре воздух поддувает шайбу через дырки на поверхности стола, то здесь сама шайба оборудована воздушной подушкой.

Для игры подходит любая ровная поверхность. Работает гаджет от двух батареек типа ААА.

via ohgizmo.com

Интернет-радио

Reading time3 min
Views4.4K
последние несколько лет постоянно, часов по 10-16 в день, слушаю интернет-радио и вот небольшой список очень хороших, на мой взгляд, станций, которые постоянно развиваются и совершенствуются, выбирал те, которые меньше всего надоедают и их можно слушать очень долго:
Читать дальше →

Небольшой лайфхак: смотрим скрытые записи на Хабре, используя Google

Reading time1 min
Views1.7K
Обычно читаю посты Хабра через Google Reader. Бывает начнешь читать какую-нибудь, возможно, интересную запись, кликаешь «Читать дальше» и получаешь «Доступ к публикации закрыт» как вот здесь: habrahabr.ru/blogs/java/73080

Метод весьма прост, открываем google.ru и в строке поиска набираем

cache:http://habrahabr.ru/blogs/java/73080/

Ну и продолжаем чтение.

Разумеется, метод сработает не всегда, а только если автор не сразу закрыл топик, и гугл успел его закешировать.

100 вирусных видео на Youtube за 4 минуты

Reading time1 min
Views1.6K


P. S. Определение, что такое вирусное видео:
en.wikipedia.org/wiki/Viral_video

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

CD bubble

Reading time1 min
Views8.4K
Если у вас есть старые CD диски и их жалко выкинуть, вы можете из них сделать шарики:



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

Развод на грани разбоя

Reading time3 min
Views715
Возможно, для многих это не будет новостью, но я столкнулся с подобным впервые. Хочу поделиться опытом и предостеречь других от совершенной мною ошибки.

Что случилось?

Меня сегодня обокрали и сделали это достаточно красиво.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity