Search
Write a publication
Pull to refresh
3
0
Send message

Использование цветовых пространств в ATTiny13a для WS2811

Reading time6 min
Views18K
image

И вновь приветствую, Хабр!


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

Искусственный рассвет

Reading time9 min
Views234K
Началось всё год назад. Перед Новым 2014 годом несколько пришел в упадок жизненный тонус. Процесс самокопания привел к следующей мысли:



— А, что ж так темно-то, Господи? © День радио.

Впрочем, для человека, живущего зимой по летнему времени — мысль вполне естественная.
Что же делать?

Создание консоли управления MMC

Reading time7 min
Views231K
Вы видели кабину пилота? Всё под рукой, никаких лишних телодвижений. Для того, чтобы взлететь, пилот не идёт в другой конец самолёта включать двигатель.



Так и в ситуации с консолями MMC. Вы создаёте для себя «пульт управления» и при определённых ситуациях нажимаете на нужные «кнопки».
Публикация рассчитана на системных администраторов, желающих познакомиться с методом создания консолей управления Windows, путём использования mmc.exe.
Читать дальше →

STM32 и USB-HID — это просто

Reading time14 min
Views384K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать

Онлайн, оффлайн и мобильные планетарии

Reading time3 min
Views32K


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

Встраивание в ядро Linux: перехват системных вызовов

Reading time17 min
Views27K
Под термином «системный вызов» в программировании и вычислительной технике понимается обращение прикладной программы к ядру операционной системы (ОС) для выполнения какой-либо операции. Ввиду того что такое взаимодействие является основным, перехват системных вызовов представляется важнейшим этапом встраивания, т.к. позволяет осуществлять контроль ключевого компонента ядра ОС — интерфейса системных вызовов, что, в свою очередь, даёт возможность инспектировать запросы прикладного ПО к сервисам ядра.

Данная статья является продолжением анонсированного ранее цикла, посвящённого частным вопросам реализации наложенных средств защиты, и, в частности, встраиванию в программные системы.

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

Git Workflow

Reading time6 min
Views120K

1 Вступление



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


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

Постигаем Git

Reading time6 min
Views56K
От переводчика: в этой статье нет описания команд git, она подразумевает, что вы уже знакомы с ним. Здесь описывается вполне здравый, на мой взгляд, подход к содержанию публичной истории в чистоте и порядке.

Если вы не понимаете, что побудило сделать git именно таким, то вас ждут страдания. Используя множество флагов (--flag), вы сможете заставить git работать так, как по вашему мнению он должен работать, вместо того, чтобы работать так, как git того хочет. Это как забивать гвозди отверткой. Работа делается, но хуже, медленнее, да и отвертка портится.
Читать дальше →

Удачная модель ветвления для Git

Reading time10 min
Views1M
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

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

Домашняя бухгалтерия на платформе CUBA. Часть 2

Reading time9 min
Views20K


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

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

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

Краткий конспект по языку JavaScript

Reading time15 min
Views114K
Я —.NET разработчик. Но в последнее время всё чаще сталкиваюсь с JavaScript. Причём, процентах в 50 случаев я что-то на нём пишу, в остальных 50 — разбираюсь с чужим кодом, да ещё и прошедшим через минификацию, а иногда и обфускацию. В этой статье захотелось поделиться теми моментами, которые мне показались важными для понимания языка и эффективной работы с ним. Тут не будет ничего нового или неизвестного для людей, уже имевших дело с языком, и не будет чего-то такого, чего нельзя найти в других источниках. Для меня статья будет полезна как способ лучше разобраться в предмете, для читателей, я надеюсь, — как повод освежить знания.

Брендан Айк упоминал, что JavaScript был создан за 10 дней. Думаю, идея вынашивалась дольше. Как бы то ни было, язык получился и с тех пор только набирает популярность. Особенно после появления AJAX.

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

JavaScript состоит из трёх обособленных частей:

  • ядро (ECMAScript),
  • объектная модель браузера (Browser Object Model или BOM),
  • объектная модель документа (Document Object Model или DOM).


В статье, в основном, пойдёт речь о ядре. Конечно, в примерах кода будут использоваться элементы DOM и BOM, но заострять на них внимание не буду.
Читать дальше →

Рецепт новогоднего корпоратива в стиле ИТ

Reading time6 min
Views30K
«А ну-у-у-ка теперь все выходим в центр и встаём в круг, мальчик-девочка, да поплотнее-е-е-е!». На третий раз после такого мы чуть было не выбросили ведущую из окна четвёртого этажа. Пронесло. Успели бы выпить чуть больше, трагедии не миновать.

Знакомая ситуация? Вы долго и упорно ищете ведущего на корпоратив, тщательно описываете ситуацию и публику, обсуждаете все нюансы выступления, а он устаивает деревенскую свадьбу. Ну это когда всем надо отплясывать под Сердючку, передавать подбородком апельсины, попадать карадашом в бутылку и щупать друг дружку с завязанными глазами.

Примерно так мы пару лет назад отмечали 8 марта. После чего решили, что впредь развлекательную программу будем готовить только сами. И на прошлый Новый год жребий пал на меня. В то время мне пришлось серьёзно потрудиться и с моей стороны было бы в высшей степени неправильно не поделиться полученным опытом.

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

Мой первый Eclipse-плагин

Reading time4 min
Views26K
Приветствую, дорогие хаброчитатели!
Некоторое время назад мне выпала интересная задача – написать плагин для Eclipse. Причем плагин не простой, а с хитрой задумкой.
Опыта написания плагинов для Eclipse у меня никогда не было, но надо – так надо, а что из этого получилось – под хаброкатом.
Читать дальше →

Когда нельзя но очень хочется: два разных монитора от одного DVI порта

Reading time2 min
Views115K
Привет Хабр!

Началось всё с того, что я захотел подключить к своему компьютеру второй монитор, для увеличения продуктивности, так сказать. Им оказался собранный из двух нерабочих Acer AL1716 с аналоговым d-sub входом. Первый монитор — Dell 2007WFP, подключен по DVI-D(Single Link). Как оказалось, существует возможность запустить оба монитора в режиме расширения рабочего стола от одного DVI порта на матплате.
Читать дальше →

Исключения в Java, Часть I (try-catch-finally)

Reading time23 min
Views445K
Это первая часть статьи, посвященной такому языковому механизму Java как исключения (вторая (checked/unchecked) вот). Она имеет вводный характер и рассчитана на начинающих разработчиков или тех, кто только приступает к изучению языка.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

1. Ключевые слова: try, catch, finally, throw, throws
2. Почему используем System.err, а не System.out
3. Компилятор требует вернуть результат (или требует молчать)
4. Нелокальная передача управления (nonlocal control transfer)
5. try + catch (catch — полиморфен)
6. try + catch + catch + ...
7. try + finally
8. try + catch + finally
9. Вложенные try + catch + finally


1. Ключевые слова: try, catch, finally, throw, throws


Механизм исключительных ситуаций в Java поддерживается пятью ключевыми словами
  • try
  • catch
  • finally
  • throw
  • throws


«Магия» (т.е. некоторое поведение никак не отраженное в исходном коде и потому неповторяемое пользователем) исключений #1 заключается в том, что catch, throw, throws можно использовать исключительно с java.lang.Throwable или его потомками.
Читать дальше →

Декодирование JPEG для чайников

Reading time9 min
Views282K

[FF D8]


Вам когда-нибудь хотелось узнать как устроен jpg-файл? Сейчас разберемся! Прогревайте ваш любимый компилятор и hex-редактор, будем декодировать это:


Jpeg file in hex editor


Специально взял рисунок поменьше. Это знакомый, но сильно пережатый favicon Гугла: Google favicon


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


Даже не зная, как происходит кодирование, мы уже можем кое-что извлечь из файла.


[FF D8] — маркер начала. Он всегда находится в начале всех jpg-файлов.


Следом идут байты [FF FE]. Это маркер, означающий начало секции с комментарием. Следующие 2 байта [00 04] — длина секции (включая эти 2 байта). Значит в следующих двух [3A 29] — сам комментарий. Это коды символов ":" и ")", т.е. обычного смайлика. Вы можете увидеть его в первой строке правой части hex-редактора.

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

Уютный книжный пост для вас и вашего проекта

Reading time8 min
Views131K
Как заработать миллион за день, стать искусным оратором за неделю, похудеть на 100 кг за 2 дня, стать успешным в тысяча ста начинаниях и прочая мишура регулярно засоряет наше информационное пространство. А порой так хочется взять в руки книгу, которая не просто съест кусок вашего свободного времени повествуя о неприменимых в отечественных реалиях вещах, но и подкинет хотя бы несколько полезных советов, способных оказать позитивное влияние на развитие вашей личности и вашего проекта.

Если вы хотите найти и/или поделиться хорошими книгами, добро пожаловать под кат.

image

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

Выразительный JavaScript: Введение

Reading time9 min
Views470K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



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

Семь принципов создания современных веб-приложений

Reading time19 min
Views189K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

JavaScript бесспорно стал незаменимым инструментом для разработчиков фронтенда. Сейчас сфера его применения расширяется на другие области, такие как серверы и микроконтроллеры. Этот язык программирования выбрали престижные университеты, чтобы обучать студентов основам информатики.

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →

IceCash 1.3. Linux рабочее место кассира на php, с драйвером Штрих-М

Reading time1 min
Views26K
image

Всем привет. Как-то давным придавно писал статью первый пост о проекте IceCash. Собственно никуда этот проект не потерялся, живет себе в моей организации и понемногу совершенствуется. Работает примерно на сорока кассах. Не шедевр, конечно, но свою функцию выполняет.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity