четверг, 23 августа 2012 г.

Печать из Ubuntu на Windows принтер

В одноранговой сети имеется компьютер Windows 7 с подключенным на его USB порт принтером HP LaserJet 1320. Требуется организовать печать на этот принтер по сети с компьютера под управлением Ubuntu 12.04 LTS.

понедельник, 20 августа 2012 г.

Мониторинг обмена между TC65 и внешним устройством RS-232

У меня есть терминал Cinterion TC65 к порту RS-232 которого подключен внешний прибор учета из которого необходимо тянуть информацию. Прибор общается по собственному протоколу фирмы изготовителя, но при этом имеет некоторое сходство с промышленным Modbus. Реализовав протокол в виде библиотеки J2ME я задумался о том, как с минимальными усилиями протестировать обмен с прибором. Оказалось, сделать это не так уж и просто ...

четверг, 16 августа 2012 г.

Мультизагрузочный flash-накопитель

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

среда, 15 августа 2012 г.

Полезные ссылки

Специализированные пакеты:
  1. Freenas - операционная система, основанная на FreeBSD, для создания сетевого файлового хранилища (Network Attached Storage). Очень удобен когда в наличии имеется старый, но все еще работоспособный компьютер;
  2. Zentyal - пакет серверного программного обеспечения с открытым исходным кодом, ориентированный на малые и средние корпоративные сети. Пакет позиционируется разработчиками как Linux Small Business Server, конкурируя с аналогичным продуктом от Microsoft;
  3. Clonezilla - свободное программное обеспечение с открытым исходным кодом, предназначенное для клонирования дисков и отдельных разделов жёсткого диска, а также создания резервных копий и аварийного восстановления системы.
  4. Frenzy - LiveCD на базе операционной системы FreeBSD. Предназначен для настройки, проверки и анализа компьютерных сетей, тестирования компьютерного аппаратного обеспечения и ряда других задач. Frenzy полностью русифицирована, в её состав входит русскоязычная документация по FreeBSD, а также краткая справка по работе с системой.
  5. SystemRescueCD - дистрибутив Linux, основанный на Gentoo. Распространяется в виде загрузочного LiveCD-образа. Предназначен для обслуживания и выполнения административных задач.
Операционные системы:
  1. http://www.freebsd.org/ru/ - FreeBSD Unix OC;
  2. http://www.debian.org/ - Debian Linux OC;
  3. http://www.ubuntu.ru/ - Ubuntu Linux OC;
  4. http://opensuse.org/ru/ - openSuSe Linux OC;
  5. http://www.gentoo.org/ - Gentoo Linux ОС;
  6. http://centos.org/ - CentOS Linux ОС.
Промышленные коммуникации:
  1. RS-232 рекомендованный стандарт;
  2. Интерфейс RS-232;
  3. RS-485 начальные сведения;
  4. RS-485 для чайников;
  5. RS-485 наука и искусство;
  6. Интерфейс RS-485: описание, подключение;
  7. Стандарты EIA RS-422A/RS-485;
  8. Передача сигналов по витой паре.
Разработки:
  1. jSSC - Работа с последовательным портом компьютера на java. Очень актуальный и работоспособный проект на фоне застывшего изваяния Java Communications API.
  2. gsmpager - Документация, дистрибутивы, программирование устройств на базе Simens/Cinterion TC65 (среди прочего). Очень неплохая точка старта для решившего войти на территорию J2ME.

четверг, 2 августа 2012 г.

Не запускается TrueCrypt

TrueCrypt при запуске выдает сообщение, что он уже запущен, и естественно не запускается! Вот такой каламбур получился на одной из Ubuntu систем в конторе, где я имею честь работать. Если быть точным, то сообщение выглядит как "TrueCrypt is already running". Первая мысль пришедшая в голову была банально простой, а может действительно TrueCrypt запущен? Проверка активных процессов дала ясно понять, что это не так. Немного погуглив проблему натолкнулся на высказывание, что возможно запуску TryeCrypt препятствует лок-файл оставшийся от предыдущей сессии работы программы. И действительно в домашнем каталоге пользователя USERNAME был обнаружен файл .TrueCrypt-lock-USERNAME. Точка впереди означает, что файл является системным и обычно не отображается на экране (является скрытым). Удалив его ручками TrueCrypt благополучно запустился.

P.S.
  1. Исходная ссылка на проблему http://sebs-blog.de/truecrypt-is-already-running-what-to-do.html.
  2. Чтобы временно включить отображение скрытых файлов или директорий в Ubuntu нажмите Ctrl+H

После обновления Ubuntu не запускается VirtualBox

После очередного обновления Ubuntu 12.04 LTS вдруг неожиданно перестал запускаться VirtualBox. Исчерпывающее решение этой проблемы я нашел по ссылке "Исправление ошибки запуска гостевой ОС в VirtialBox после обновления Ubuntu". Автору респект за понятное и четкое описание проблемы и ее решения. Привожу оригинальный текст.
Исправление ошибки запуска гостевой ОС в Virtualbox после обновления Ubuntu. После обновления ОС Ubuntu гостевая ОС в virtualbox может не запуститься. При запуске гостевой системы выдается такое сообщение: kernel driver not installed (rc=-1908) The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing '/etc/init.d/vboxdrv setup' as root. Users of Ubuntu, Fedora or Mandriva should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary. Это происходит из-за обновления модулей ядра. Для того, что бы в будующем этого не происходило необходимо установить пакет DKMS. Dynamic Kernel Module Support или DKMS — фреймворк, который используется для генерации тех модулей ядра Linux, которые в общем случае не включены в дерево исходного кода. DKMS позволяет драйверам устройств автоматически пересобираться, когда ядро уже собрано. Источник: http://ru.wikipedia.org/wiki/Dynamic_Kernel_Module_Support. Устанавливаем DKMS любым менеджером пакетов, например через Synaptic. Для устранения уже возникшей ошибки выполняем команду:
   sudo /etc/init.d/vboxdrv setup
После этого у меня все заработало. Для успешной работы DKMS должны быть установлены linux-headers для той версии ядра, которой Вы пользуетесь. Установку linux-headers можно выполнить командой:
   sudo aptitude install linux-headers-$(uname -r)
У меня пошло и без этой команды... видимо linux-headers уже стоял
Как говорится - no comments ...

среда, 1 августа 2012 г.

Случайные числа в VC++

Часто в задачах определенного типа требуется строить последовательности чисел лежащие в заданных границах и удовлетворяющие условиям равномерного распределения. Перед практической частью изложения материала неплохо бы освежить в памяти теоретические аспекты случайных чисел. Для этого вполне достаточным на мой взгляд будет переход по ссылке Генераторы случайных чисел...

Chart Controls в MS Visual Studio

Рано или поздно у любого программиста появляется задача в которой надо отобразить какой-нибудь график или диаграмму. Для тех кто разрабатывает приложения в среде Microsoft Visual Studio под платформу .NET Framework имеется штатный компонент Chart Controls, который однако по умолчанию поставляется в составе Framework только лишь начиная с версии 4.0. Для версии 3.5  компонент необходимо устанавливать отдельно. Итак приступим...

Установка доп. x86 драйвера принтера в Win7 64bit

На днях переставил на одной рабочей станции Windows платформу. Сменил 32 разрядную XP на 64 разрядную Windows 7. Подключил по USB принтер Brother DCP-7030 и установил основным драйвером 64bit версию. Расшарил принтер в сеть, и с XP клиента попытался к нему подключиться...

Аутентификация форм ASP.NET

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

Java доступ к ODBC

В языке Java для работы с источниками данных применяются различные технологии, в частности доступ к базе данных возможен через ODBC подсистему Windows. В составе Java™ Platform имеется набор классов объединенных общим названием JDBC-ODBC Bridge...

Запуск проводника в VC#

Чтобы запустить из программы на C# проводник Windows нам понадобиться пространство имен System.Diagnostics и класс Process. Данный класс предлагает метод Start() который и организует вызов внешней программы. Для этого разместим на форме проекта C# WinForms объект Button, определим его имя как btnExplorer и зададим содержание функции Click() обрабатывающей нажатие кнопки:
using System.Diagnostics;

private void btnExplorer_Click(object sender, EventArgs e)
{
     Process.Start("explorer");
}

В результате, после клика на кнопке экран монитора отобразит проводник Windows в заданном по умолчанию виде, соответствующем запуску проводника через кнопку Пуск->Выполнить. Но не всегда этот вид удовлетворителен. Усложним задачу, требуя, чтобы проводник отображал не папку "Мои документы", а некоторую наперед заданную...

Нестандартный планировщик задач в Windows

Если у вас возникло желание иметь на Windows машине планировщик задач отличный от стандартного, то посмотрите в сторону crond. Благодаря усилиям http://www.kohnos.net/ эта чисто unix`совая утилита может выполняться и в среде Windows!...

Выбор последних записей в ACCESS

Необходимо выбрать из таблицы ACCESS последние N записей. Предполагая, что [Время] поле по которому ведется сортировка в таблице Table, выполним SQL-команду:

   SELECT TOP N * FROM Table ORDER BY [Время] DESC

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

Список оборудования в Ubuntu

Для вывода списка оборудования в Ubuntu существует графическая утилита Hardware Lister, доступная для установки из центра приложений по имени Lshw. После установки ярлык запуска этой программы появляется на панели задач слева, но почему-то не работает. После небольшого исследования оказалось, что для запуска используется команда
   su-to-root -X -c lshw-gtk
из которой явствует, что lshw требуются права root`а. И действительно, в man`е об этом четко говориться в разделе NOTES
   lshw-gtk must be run as super user or it will only report
Запуск с меньшими правами, как показала практика, приводит к ограничению выводимой информации. В частности я не смог увидеть характеристики моей материнской платы, в то время как остальные параметры были доступны. Придется все-таки разбираться что скрывается за фасадом su-to-root? ...