Search
Write a publication
Pull to refresh
73
0.9
Denis @isden

User

Send message

Лазерное шоу, управляемое через LPT

Reading time3 min
Views44K
image
Я раскажу Вам как можно сделать лазерное шоу управляемое через порт LPT. Используется самая простая схема подключения и самый простой способ управления.
Идеалистическое стремление данного проекта — достижение художественной ценности световых эффектов, возможное лишь при человеческом творчестве. Подразумевается, что игра света может рассматриваться и как самостоятельное произведение.
Читать дальше →

Установка Qt Embedded

Reading time5 min
Views34K
Руководство по установке инструментов для разработки и инсталляции разработанного приложения на целевую систему. Основной ПК работает под управлением Debian, а целевой машиной – mini2440 на основе процессора 400 MHz Samsung S3C2440A ARM920T.

В руководстве рассматриваются работа с эмулятором QVFB, компиляция на рабочей машине для целевого устройства, компиляция и установка драйвера tslib, установка библиотек на целевую машину.

image

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

Ethernet-лампа для Continuous Integration и не только

Reading time6 min
Views21K
image Всем хабрапользователям привет! Не так давно был запущен проект Амперка. Интерес был проявлен заметный, поэтому мы продолжаем развиваться. И это наш первый пост в корпоративный блог.

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

Этот гаджет — лампа, которая светится разными цветами в зависимости от сообщений, идущим к ней по локальной сети. Зачем это нужно? Лично мне, как участнику команды из четырёх программистов, эта штуковина нужна для индикации работы Continuous Integration сервера. Сервер, конечно, умеет при провале сборки посылать уведомления на e-mail и в jabber, но это скучно и не удобно: нет способа взглянуть куда-нибудь и мгновенно понять что происходит с проектом: всё в порядке, всё плохо или вот прям сейчас идёт сборка.

Проблема не новая. Я несколько раз читал как народ изголялся, прикручивая к компьютеру светофор, лава-лампы и usb-мигалки. Захотелось сделать что-то простое, что можно принести в офис, воткнуть в хаб и всё! И чтобы оно работало и без бубна. Что ж, попробуем!

Нам понадобится Ардуино, Ethernet Shield для него, бракованый светильник из Леруа-Мерлен, три светодиодные ленты разных цветов, горсть мелочёвки и запас терпения.
Читать дальше →

Рабочий день за 3 часа. Инструменты GTD

Reading time4 min
Views15K
Начало здесь.

Накопители



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

  1. Вне человека — хаотичная.
  2. В накопителе — хаотичная, но собранная в одном месте.
  3. В человеке, его записях, файлах — отсортированная.


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

По факту, так и есть в обычной жизни, просто это скрывается за вроде бы упорядоченным поступлением данных. Всем нужно, чтобы именно на их запрос ответ был дан, как можно раньше. Как можно раньше был выполнен именно их заказ. Немедленно, сейчас!

Многие знают, что за такими запросами стоит не действительно срочная потребность, а сумбурность мысли. Человек не всегда может осознать, к какому же сроку ему нужны те или иные данные? Зачастую, они кричат «срочно!» только потому что им хочется , а не потому что они действительно нуждаются.

Чтобы справиться с хаосом, Дэвидом Алленом был придуман простой инструмент — накопитель.
Читать дальше →

Amino — новый UI toolkit для десктопных Java приложений

Reading time3 min
Views3.6K
image
Хочу представить вам Amino — графическую библиотеку и очень классный UI toolkit. Изначально библиотека разрабатывалась Leonardo Sketch как вспомогательная, но теперь становится самостоятельным продуктом. Сейчас Amino находится в состоянии ранней alpha-версии и является 100% open source Java библиотекой, которая обладает следующими преимуществами:

  • 2D/3D сценография на различных движках (Java2D, JOGL и многие другие);
  • множественные UI контролы, синование с помощью CSS;
  • разнообразные утилиты, для ускорения процесса разработки;
  • протестирован до мелочей;
  • является 100% бесплатной (BSD);
  • 100% Java, готова к использованию на различных можно использовать в разных языках, портированных под JVM (Groovy, JRuby, Jython, JavaScript, JavaFX Script и так далее)

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

Об управлении временем, саморазвитии и деньгах

Reading time8 min
Views13K
Я хочу рассказать о том, почему в отдельности не работают подходы, которые люди начинают применять, прочитав ту или иную книгу из области time-management или управления финансами.

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

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

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

Или с деньгами.
Читать дальше →

Делаем простое веб приложение на Spring Framework MVC

Reading time13 min
Views253K
image
В данной статье я хочу рассказать начинающим Java разработчикам, как написать простое веб приложение, используя популярный фреймворк Spring Framework.

При разрабокте приложения мы будем использовать утилиту Ant для автоматизации действий и изучим, как писать простой тест с помощью библиотеки JUnit. Весь код будем писать в Eclipse IDE.

Статья написана на основе первой части руководства «Introduction to Spring MVC». Вам достаточно иметь лишь общее представление о Spring, чтобы прочитать статью с пользой.

Так что милости просим :)
Читать дальше →

Pimp my surf, или Отсутенёрь свой сёрфинг

Reading time3 min
Views2.3K
В этом посте я постараюсь заставить вас лишний раз задуматься над известной фразой «если вы не параноик, то это не значит, что за вами не следят». Я расскажу о некоторых аспектах приватного сёрфинга в интернете. Постараюсь расписывать всё подробно, ориентируясь на чайников.

Поисковые сервисы стараются проконтролировать все ваши действия во время сёрфинга, собирая информацию, какие сайты вы посещаете, что ищете. Я перечислю некоторые методы сбора этой информации под катом.
Читать дальше →

Нестандартный подход к записи Skype-конференций

Reading time2 min
Views5.3K
Решил поделиться с вами о нестандартном решении такой банальной задачи, как запись Skype-конференции.

Краткое содержание: не покупаем программу под Windows, а ставим на отдельную железку бесплатный аналог под Linux.
Читать дальше →

Ubuntu — Фейс-контроль для входа в систему

Reading time2 min
Views6.6K
На OMG! Ubuntu! привели простую инструкцию, как можно прикрутить изображение с камеры для входа в систему. Безопасность данной реализации ещё ожидает своего исследователя, тут же будет дан небольшой перевод заметки и комментарии.

Важно! Функция входа в систему пока что не работает в случае, если пользовательский каталог зашифрован.
Читать дальше →

Покрытие кода для Maven проектов (code coverage)

Reading time2 min
Views11K
Структура Java проектов с использованием Maven предполагает некоторое колличество Unit-тестов.
Но одних лишь тестов мало, хочется иметь более полную информацию насколько наши тесты охватывают код.

Для этих целей есть ряд библиотек из которых я использую Emma (офф. сайт).
Читать дальше →

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

Reading time2 min
Views20K
Здравствуйте,

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

Содержание:
1) Имплементации MPI for Java; Что это? Где взять?
2) Как установить всё это? Как настроить?
3) Напишем свою самую-самую простую программу. Как её запустить?

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

Zen Engineering

Reading time1 min
Views2.8K



Когда есть свободная минута, открываю любую методику наугад, внимательно перечитываю и «медитирую по мотивам».





Несколько дней назад ZotovSergey упомянул про свою коллекцию различных методик повышения продуктивности мышления (принятия решений) и отрывочных записей на эту тему.
По просьбам, которые здесь последовали, он открыл свой блокнот «Zen Engineering» в Evernote для публичного доступа.

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

Использование коэффициента Танимото для поиска людей с одинаковыми предпочтениями

Reading time3 min
Views13K
Решая упражнения к книге «Программируем коллективный разум», я решил поделиться реализацией одного из алгоритмов упомянутого в этой книге (Глава 2 — Упражнение 1).

Исходные условия следующие: пусть мы имеем словарь с оценками критиков:

critics={'Lisa Rose'{'Superman Returns'3.5'You, Me and Dupree'2.5'The Night Listener'3.0}
           'Gene Seymour'
{'Superman Returns'5.0'The Night Listener'3.5'You, Me and Dupree'3.5}}

Чем выше оценка, тем больше нравится фильм.
Надо вычислить: насколько схожи интересы критиков для того, например, чтобы можно было на основе оценок одного рекомендовать фильмы другому?

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

Ловушка “группомыслия” и другие эффекты работы в команде

Reading time4 min
Views13K
Возможно многие сталкивались с подобным парадоксом: почему от увеличения числа участников в команде, эффективность ее работы не только не увеличивалась, но, наоборот, снижалась? Я начал изучать данный вопрос, т.к. по ходу своей управленческой деятельности сталкивался с подобной ситуацией несколько раз.

Тем, кто непосредственно связан с организацией работы в команде и использует коллективный способ принятия решения, следует знать о таком явлении как «групповые эффекты»
Читать дальше →

StyleBot

Reading time1 min
Views15K
Отличное новое расширение для Chrome — ставим, нажимаем на иконку, кликаем (не)угодные элементы (или пишем свой CSS-селектор) и применяем к ним новые стили — от сокрытия до изменения цветов, размеров и вообще всего, что CSS позволяет; сохраняется автоматически и применяется при следующем заходе тоже.



Скачать
Домашняя страница проекта StyleBot

Кстати, сам примененный CSS можно открыть (кнопка «Edit CSS»), так что верстальщикам тоже, думаю, пригодится.

HTML5 Prefetching — Предварительная загрузка документов

Reading time2 min
Views8.2K
Аж в 2003 году Mozilla представила новый механизм для оптимизации загрузки страниц. И существует большой шанс, что технология войдет в HTML5.

Суть же метода в том, что на любой странице браузеру можно указать документы (страница, файл стилей, картинка), которые в скором времени могут понадобиться пользователю. И он заранее их закэширует.
Узнать, как использовать prefetching

Помещаем строку меню Firefox 4 в заголовок окна: расширение Personal Titlebar

Reading time2 min
Views3.7K
Есть на Тайване разработчик, действующий под псевдонимом yuoo2k это тот самый, который в своё время сочинил расширение «Hide Menubar», показывающее строку меню Firefox 4 после нажатия клавиши ALT. Таким манером стало можно держать строку меню скрытою бóльшую часть времени (до тех пор, пока она не станет действительно нужною), и тем экономить вертикальное экранное пространство.

Сегодня я пришёл познакомить вас с новым произведением этого разработчика — с расширением «Personal Titlebar», которое также направлено на экономию экранного пространства за счёт строки меню, но использует иной подход: содержимое строки меню размещается в заголовке окна Firefox 4, подменяя собою его обычный текст (название страницы да браузера).

Вот как это выглядит на примере Minefield (тестовой еженощной сборки Файерфокса):

[изменённый заголовок окна Firefox]
Сразу скажу: пример этот получился несколько сумбурным, потому что он демонстрационный, а не взят из реальной жизни.

Он показывает, что в строку меню (при помощи «View → Toolbars → Customize…») можно накидать самые разные объекты: значки с панели инструментов, папки закладок и отдельные закладки, вращающийся индикатор закачки, пункты меню — и все они будут невозбранно отображаться в строке заголовка окна Файерфокса.

Естественно, в реальной жизни никому и в голову не придёт устроить у себя в строке меню такую свалку. Например, у меня в ней лежит только меню Файерфокса, а за ним (после вертикального разделителя) ряд папок с закладками.
Расширение «Personal Titlebar» основано на новейшей способности браузера Firefox 4 помещать XUL-элементы в заголовок окна. Судя по Багзилле, эту способность пока внедрили не во всех системах. (Например, в Linux её нет ещё, а в OS X и в Windows — есть.)
В частности, хотя в вышеприведённом примере используется современное оформление Windows, элементы XUL способны отображаться и поверх классической темы оформления Windows XP (голубой полоски, оканчивающейся тремя серыми кнопками управления окном). Выглядит умопотрясающе.

Integer и int

Reading time4 min
Views145K
В этом топике я хочу описать некоторые базовые различия между примитивными типами и соответствующими им объектными на примере int и Integer. Различия эти достаточно простые и, если немного задуматься, то вполне логичные, но, как показал опыт, программист не всегда над этим задумывается.

Основное различие, разумеется, в том, что Integer — это полнофункциональный объект, который занимает место в куче, а в коде вы пользуетесь ссылками на него, которые неявно преобразуются в значения:
int a = 1000// a - число
Integer b = 1000// b - ссылка на объект
При присваивании значения переменной типа Integer обычно выделяется память в куче под новый объект, как будто вы написали new Integer(1000) (так называемый autoboxing). Однако иногда переиспользуются старые объекты. Это иллюстрирует следующий код (JDK 1.6):
Integer a1 = 50;
Integer a2 = 50;
Integer b1 = 500;
Integer b2 = 500;
System.out.println(a1==a2);
System.out.println(b1==b2);
Результатом выполнения будет:
true
false
Читать дальше →

Загрузка классов в Java. Практика

Reading time7 min
Views84K
Данная статья является продолжением статьи Загрузка классов в Java. Теория.

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

Код приложения не претендует на оригинальность, а лишь объясняет подходы и принципы написания пользовательских загрузчиков классов и методы инвокации динамического кода.
Читать дальше →

Information

Rating
3,065-th
Location
Россия
Registered
Activity