Lazarus, отображение интерфейсных элементов в разных ОС

Сегодня мы поговорим о кроссплатформенном программировании 🙂 и его проблемах. Есть такая штука — Lazarus. Это не что иное, как open source реализация знакомого многим Delphi. Практически все 1 в 1, да еще и изначальная кроссплатформенность. Код написаный на Windows, без проблем переноситься на Linux, WinCE, Mac или куда пожелаете. Поддержка множества графических библиотек для построения интерфейсов (gtk, gtk2, win32, wince, carbon, cocoa, fpgui) делает очень быстрым разработку интерфейса программы, а простота языка (freepascal) позволяет стремительно писать код. Это не панацея, но для некоторых вещей — вполне достойное решение.

Но т.к. графические виджеты, по разному выглядят в разных ОС, встает проблема, как их синхронизировать и корректировать в зависимости от графической подсистемы. Обычно, самое что бросается в глаза — это разница размеров и начертания шрифтов между Linux и Windows. Привести примерно к одному виду позволит небольшой хак.
Читать далее

Автомонтировка cd/dvd/bd и расшаривание по лейблу

Предупреждение: Нижеописанное решение можно смело отнести к так называемым «костылям», но в наших условиях оно работает стабильно (плевок*3) 😀

Для внутренних нужд у нас есть отдельно стоящий системник с 3 BD приводами. Доступ туда лишь консольный, либо через NX. Внутри живет что-то из последних Ubuntu. Мы пишем на нем BD диски, индексируем Архивариусом 3000 и убираем на долгую память.

В процессе этих дел возникла задача. Очень хочется, чтобы

  • Диск монтировался сразу как только попал в привод (и демонтировался) т.е. без лишнего клика в файловом менеджере. Ну как в Windows т.е.
  • Диск был доступен по самбовской шаре с именем из метки диска.

Читать далее

Perl 5.14. для CentOS 6 x86_64

Конец света прошёл, с чем вас и поздравляю. Ну а у меня тем временем возникла одна задача, для ее реализации нужен был Perl не ниже 5.12. Печально то, что на машине под CentOS 6, штатно идет лишь perl 5.10 (а под CentOS 5.x лишь perl 5.8.x).
Разрешить эту проблему можно тремя способами

  • Perlbrew. Это позволит иметь хоть все версии перла на машине, и переключаться между ними по мере необходимости. Удобно, но не всегда.
  • Установить непосредственно из исходников. Универсально и для всех, но еще менее удобно, особенно в будущем
  • Придумать, что-то свое. Желательно в rpm

Читать далее

Bash, препарируем путь до файла

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

Вот у нас есть файл

[user@ora6 ~]$ ls -l  /tmp/project/Геофизическая\ изученность/Таблица\ изученности\ геофизическая.doc

получить путь до файла

[user@ora6 ~]$ dirname '/tmp/project/Геофизическая изученность/Таблица изученности геофизическая.doc'
/tmp/project/Геофизическая изученность

получить имя файла

[user@ora6 ~]$ basename '/tmp/project/Геофизическая изученность/Таблица изученности геофизическая.doc'
Таблица изученности геофизическая.doc

А если вам необходимо получить, к примеру, третью папку пути, то на помощь изящно приходит awk

[user@ora6 ~]$ echo /tmp/project/Геофизическая изученность/Таблица изученности геофизическая.doc | awk -F '/' '{print $4}'
Геофизическая изученность

На этом урок для начинающих закончен 🙂

Bash, файлы, пробелы, скобки и прочее…

Привет,

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

zip, русские имена файлов, linux

Распаковать zip, содержащий файлы с русскими буквами в именах и созданный в windows. Выполните последовательно 2 команды

convmv --notest -r -f cp-1252 -t cp-850 /path/to/unzipped/files
convmv --notest -r -f cp-866 -t utf-8 /path/to/unzipped/files

База знаний. Надо? Надо!

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

  • Как поменять пароль?
  • Я отправляю 100Гб почтой, а мне приходит непонятное письмо, что делать?
  • Где посмотреть адресную книгу отдела АБВГД?
  • Как поменять столбцы в тектовом файле?
  • Мне пришло письмо «иероглифами», что делать?
  • и так далее

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

Т.е. нужно какое-то хранилище информации, структурированное, гипертекстовое. Желательно с возможностью правки самим пользователем (с заделом на будущее, когда некоторые осознанные работники будут описывать свои знания для других), с поиском. Читать далее

Пункт коллективного доступа в интернет :)

Приветствую уважаемый %USERNAME%

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

  • Выделенный прокси-сервер (squid, без вариантов), который собственно и связывал,в общих словах, сеть внутреннюю с внешней.
  • SAMS2 — решения для создания шаблонов и политик доступа в интернет.
  • Контроллер домена (samba+ldap)

Интегрируя эти три компонента получали неплохое сочетание удобства и надежности. Более того, этот способ многим будет подходить и до сих пор, но для нас реалии диктуют другие правила. Пока есть интернет на рабочем месте, есть вероятность утечки информации (способов уйма, хотите поспорить — welcome to comments..).

И было решено оставить доступ в интернет, но убрать его с рабочих машин o_O. Интересно? Читать далее

Obnam vs. Duplicity — неудачные эксперименты

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

К примеру, у нас в компании, особо не экспериментируя, много лет работают на ура множество самописных скриптов, которые на выходе дают классические tar.gz архивы, которые, в дальнейшем, записываются на ленту . Из плюсов — уникальная неприхотливость и универсальность. Понятно, что есть множество минусов…

Когда нужен бэкап всего раздела не брезгуем и dump\restore, ну да это уже отступление.

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

Читать далее

Первая запись, тестовая

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

cat folderlist_with_spaces.txt | sort -u | xargs -d '\n' mkdir -p

на этом тестовая запись окончена