Pull to refresh
4
0
rich @rich

User

Send message

Развертывание радиостанции на GNU/Linux. Часть I

Reading time5 min
Views20K
Прежде всего, хочу сказать, что я читал на хабре много топиков о развертывании радио, но ни один не дал мне исчерпывающей информации.
Я решил все сделать сам. Это не какой-то проект или стартап, а просто just4fun. Возможно, это покажется полезным для вас.
Итак, я использовал только свободное ПО в развертывании радио-стрима, так что пользователи window$ и ma o$ могут дальше не читать ;). Хотя нет, все же прочитайте, возможно это откроет вам GNU/Linux с новой стороны.

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

Qt Designer & Runtime Qt библиотеки на службе OpenCV разработчика, или тащим IplImage на QLabel

Reading time15 min
Views14K

Введение


Как и большинства разработчиков Qt, использующих библиотеку OpenCV, меня заинтересовала тема представления изображения, полученного из web-камеры, как компонент визуального проектирования интерфейса для Qt Designer.
Перерыв кучу информации в сети, заметил, что большинство статей повторяют друг друга, и найти «изюминку» слишком трудно. Думаю, мой обыт создания визуальной компоненты по представлению изобравжения библиотеки OpenCV для Qt Designer будет полезен. К тому же, поделюсь информацией, как разделить библиотеки времени проектирования дизайна и времени выполнения кода. Подобный подход весьма удачно зарекомендовал себя в RAD Delphi для операционных систем семейства Windows.

Замечания

  • Автор coffeesmoke не «разжёвывает» простые истины, методы и тонкости. Код понятен. Функции не превышают 20 строк.
  • Проект и пример использования реализован на Qt Creator для ОС Linux. Разработчики Windows-приложений должны установить настройки в файлох .pro соответственно своей ОС
  • Автор не пускается в дискуссии типа «а так было бы лучше». Нашли оптимальное решение, реализуйте.
  • Автор не отвечает на вопросы настроек Qt Creator и/или Qt Designer. Поисковые системы вам в помощь!
  • Пост несёт ознакомительный характер и служит обозначению направления движения ваших мыслей. Куда они пойдут, вам виднее.


Проектирование и выполнение


Выполнение

Оставим ненадолго библиотеку OpenCV работы с изображениями. Наша задача — универсальная runtime-библиотека (библиотека времени исполнения кода).
Возможно, то, что я сейчас покажу используется повсеместно. Однако, не встретил я на просторах сети по тематике построения плагинов под Qt Designer подобного подхода.
Задача состоит в том, чтобы не «тащить» библиотеку плагина Qt Designera в проект, а обойтись библиотекой времени исполнения. Очевидно, что runtime-библиотеку можно «обрамить» виджетом представления компонента на палитре Qt Dessigner
Читать дальше →

Быстрое создание 3D изображений из обычных фотографий — технология из Японии

Reading time1 min
Views26K


Сейчас каждый день появляется огромное количество новых технологий, включая сферу и аппаратного, и программного обеспечения. За всем уследить невозможно, уж слишком много всего. Но иногда появляются разработки, не обратить внимания на которые просто нельзя. Именно такую технологию на днях представили разработчики из Токийского Технологического Института. Японцы разработали достаточно быструю и эффективную технологию создания 3D изображений на ПК из обычных фотографий, полученных цифровой «мыльницей».

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

Библиотека Qwt: как построить график функции на плоскости?

Reading time8 min
Views38K
Скриншот простейшей программы, демонстрирующей использование виджетов Qwt
Уже пять лет я не пишу приложения с GUI, потому предложение зав. кафедрой подготовить для его лекции программу, строящую некие графики, поначалу меня несколько расстроило.

Как настоящий программист я решил найти самый легкий (и полезный для саморазвития) путь.
А именно, это задание оказалось хорошим поводом для того, чтобы познакомиться с Qt и библиотекой Qwt. Заодно я узнал, что приложения с GUI, оказываются, могут быть кроссплатформенными, а их код не менее элегантным, чем у приложений с «интерфейсом в стиле Unix™».

Итак, Qwt — библиотека виджетов для программирования приложений, имеющих техническую направленность. Она содержит набор виджетов, представляющих собой всевозможные слайдеры и дисковые «номеронабиратели», виджеты для построение гистограмм. Но здесь я расскажу, как Qwt применить для построения самых обычных двумерных графиков функций вида y = f(x).

Дальше в данной заметке
  • приводится ссылка на исходный код моего простейшего примера (+ исполняемые файлы) и инструкция по его компиляции;
  • рассказывается, как же в этом примере всё устроено;
  • для новичков описывается компиляция и установка Qwt.

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

Опубликовано досье ФБР на Ричарда Фейнмана

Reading time1 min
Views6.8K
Федеральное бюро расследований опубликовало досье, собранное на Ричарда Фейнмана — известного физика и математика, одного из создателей квантовой электродинамики и первой атомной бомбы, лауреата Нобелевской премии по физике (1965 г., совместно с С. Томонагой и Дж. Швингером). Оказывается, долгие годы за ним осуществлялось скрытое наблюдение, а близкие друзья Фейнмана работали информаторами.
Читать дальше →

Киоск электронного правительства с пасьянсом и маджонгом

Reading time2 min
Views5.4K
Доброго вечера,
Сегодня я расскажу вам о киосках электронного правительства, которые может выключать любой желающий, который любит тыкать куда не надо или хоть раз пользовался GNOME 2. А еще там есть пасьянс.



Локация


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

В статье в основном фото ЖК-дисплея с мыльницы, их много, не боящихся испортить глаза прошу под кат.
Читать дальше →

Использование bash completion в командной строке, собственных скриптах и приложениях. Часть 2

Reading time5 min
Views26K
Про bash completion на хабре я уже писал тут, и даже конце пообещал рассказать про настройку автодополнения для собственных скриптов.

Однако, прошло уже полтора года, а лично у меня до продолжения руки так и не дошли. Зато эту почетную обязанность взял на себя хабраюзер infthi, опубликую от его имени.

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

Xscreensaver из часов на Esquire.ru

Reading time2 min
Views4.6K
Мне, жуть, как понравились вот эти часы, очень захотел на скринсэйвер. Сказано — сделано.

Dev Tools Chromium'а дал понять, что урл видео-файла, проигрываемого плеером выглядит примерно следующим образом:
http://176.9.156.38/clock/big_<часы>-<минуты, округлённые вниз до делителя 5>.mp4?start=<смещение в секундах относительно округлённого времени>
Читать дальше →

Радиоуправляемая Wi-Fi машинка с камерой

Reading time8 min
Views117K

Начало


Летом появилась мысль сделать радиоуправляемую машинку, но не просто нечто похожее на творение китайской инженерной мысли, которое продается на каждом шагу, а машинку, управлять которой можно было бы с компьютера или телефона. Понято, что машинка, которой можно управлять через Wi-Fi в чистом виде, совершенно не интересна. А вот если бы у нее была бы камера? А если еще и управление через 3G/EDGE/GPRS? Вот это – другое дело!
Читать дальше →

Единая авторизация пользователей с поддержкой нескольких сервисов

Reading time6 min
Views68K
Yii EAuth extension При реализации одного из проектов на Yii framework у меня возникла задача сделать регистрацию и авторизацию пользователей через сторонние сервисы (Google, Facebook, Twitter, etc).

У данной задачи есть два пути решения:
  • Использовать сервис авторизации, например Loginza;
  • Реализовывать функции авторизации самостоятельно для каждого сервиса.
UPDATE: Актуальная версия и инструкция по настройке доступны на github.com. Инструкция в данной статье подходит для EAuth версии <= 1.1.3.
Я выбрал второй вариант...

Arduino LCD Informer

Reading time9 min
Views97K
Заинтересовавшись таким хобби, как Ардуино, я вскоре понял, что суть этого замечательного проекта — позволить таким, как я, ничего не смыслящим в схемотехнике, пайке и микросхемах, зато немного понимающим в программировании, заставить работать что-либо кроме персонального компьютера; прошить микроконтроллер, не имея программатора и каких-либо специальных знаний на эту тему.

Поэтому я хочу помочь пропаганде этого проекта — программисты, это прекрасное развлечение именно для вас!

Пока моторчики для моего следующего, мобильного проекта едут в кибитке, запряжённой тройкою самых быстрых брюхоногих скакунов Почты России, я задумал и, надо сказать, осуществил, другой (разминочный) проект под звонким названием “Arduino LCD Informer”. Суть проекта в том, чтобы Ардуино отображал на LCD данные, получаемые с компьютера. На компьютере их собирает и отправляет отдельная программа.


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

Применение вакуумного люминисцентного индикатора

Reading time3 min
Views15K
Некоторое время назад мне подвернулся недорогой VFD-экранчик. Из него я сделал что-то вроде часиков, подключив к домашнему серверу.



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

Я использовал дисплей IEE 036X2–122–09220 (он же IEE 36199-01), их можно найти на ибее. Скорее всего, работа с любым другим VFD от IEE не будет отличаться (также, как и со многими другими похожими дисплеями, например, от кассовых аппаратов).
Читать дальше →

Как я строил свой датацентр — часть первая, подготовительная

Reading time2 min
Views39K
Как известно, любой стартап начинается с фразы «Как же вы за***ли, лучше сам сделаю лучше».

В 2007 году положение с датацентрами в Москве, да и во всей России было критическим. Попасть туда простому хостеру можно было только по предварительной записи. Драли с него втридорога, сервера частенько перегревали, электричество периодически отсутствовало, и еще, стоило датацентру начать генерировать 2-3 гигабита полосы, как он тут же воображал себя царем горы, пытался барыжить твоим трафиком, а с несогласными боролся методом пускания моего трафика через узкий зашейпенный канал ***телекома зарубеж.
А общение с ночными дежурными датацентра — это отдельная песня. Чаще всего было проще приехать и самому найти вывалившийся патчкорд, чем полночи пытаться добиться от мало вменяемого, ничего не хотящего юноши. И это хорошо, если дежурный был и попасть в датацентр ночью было возможно. Некоторые датацентры работали с 9 до 5, кроме праздников и выходных дней. Все остальное время там не было НИКОГО. Сервер, упавший в пятницу вечером, пролежит, минимум, до дня понедельника.

Картинка, о том, что творилось внутри типичного датацентра того времени.
картинка Взято с сайта Nag.ru

Мне, к тому времени, это порядком надоело, и, как выход, я решил строить свой датацентр, ориентированный на запросы меня и моих пользователей.
Читать дальше →

Ричард Столлман ответил, как он встречает Новый год

Reading time3 min
Views3.4K
Вопрос, встречает ли Столлман новый год, и как именно, на короткое время стал столь частым предметом дискуссий, что пришлось пойти и установить великую истину.

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

Обработка архива видео записей в виртуальной машине LiveVideoArc

Reading time2 min
Views1.4K
Если у Вас есть множество одинаковых видео записей в однотипном формате (например Dvd диски) и Вы хотите их с лёгкостью преобразовать и сжать, то Вам сюда. Я хочу рассказать Вам о моём проекте, который поможет Вам это сделать.
image
LiveVideoArc — этокая мясорубка, на вход которой поступают различные файлы (закачиваются по ftp), и после обработки на выходе вы скачиваете сжатые файлы xvid mpeg4.
Попробую ответить на возможные вопросы:
  1. Это программа?
    Нет. Это целый дистрибутив линукс, с надстроеными скриптами для обработки
  2. Чем это лучше чем другой универсальный конвертер?
    Мы можем обрабатывать любые файлы и настраивать параметры обработки.
  3. А что произойдет если появится новый кодек и алгоритм сжатия?
    Обновим программу через репозитарий OpenSuse и получим новые кодеки.
  4. Это бесплатно?
    Да. И доступно под открытой лицензии GPL3, что позволяет нам копировать, модернизировать сборку под себя и распространять данную сборку.


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

Создание круговых панорам (flash)

Reading time5 min
Views142K
Как сделать панорамное фото с трехмерным обзором


Вертеть головой — потянув мышкой, или курсорами ← →, приближение/удаление — колесиком мышки.

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

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

Перечислю всё, что нам понадобится:
Читать дальше →

Строим гусеничного Bluetooth-робота с камерой. Часть 1

Reading time7 min
Views147K
По многочисленным просьбам я решил описать процесс создания вот такого робота с камерой на гусеничном шасси и управлением по bluetooth с помощью джойстика.

Я всегда мечтал создать робота, которым можно управлять с помощью компьютера и смотреть за его перемещениями от первого лица.
Весь процесс я условно разделил на три части:
1. Сборка робота
2. Программирование боротового микроконтроллера
3. Программирование управления с ПК
Читать дальше →

31 метод эффективного программирования под Android

Reading time5 min
Views24K
Данная статья является переводом очень хорошего топика с форума Stack Overflow. Так как английский язык не является для меня родным, то какие-либо непонятные мне места я просто пропускал, что бы не разгневать тех, кто его действительно знает. Статья содержит список советов и рекомендаций для начинающих разработчиков под Android.

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

Одновременная межсайтовая аутентификация без велосипеда

Reading time6 min
Views22K
Одновременная межсайтовая аутентификация (SSO), для чего же она нужна? Допустим у нас есть, назовём его анахроничным термином «портал», с блогами, фотками, фейлами (или файлами, кому как), назовём его fail.ru (не путать с одноимённым сервисом почты на букву М), причём всё это усложнено следующими факторами:
— функционал совершенно разный;
— код написан разными людьми, с испольованием разных технологий;
— работает всё это на разных серверах в разных датацентрах и с разными базами данных;
— сервера находятся на разных доменах.

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

Об этом уже достаточно много писали, причём и код в том числе. Но мы не пойдём по проторенной дороге велосипедостроения, а как настоящие инженеры возьмём готовые наработки и используем их. Способ прост, и подходит даже для такой сложной ситуации.

Далее мы рассмотрим самописные альтернативы, OpenID, OAuth, SAML, и почему всё это в общем случае не слишком хорошее решение, вопросы хранения аутенитификационных данных, а также некоторые вопросы безопасности в которые без хороших знаний самому лезть не стоит, что такое вообще межсайтовая аутентификация, развеем некоторые мифы.
Шок, ужас, потрясение

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity