shoorick: (Рыжий)
С тех пор, как я из-под Windows переехал под юниксоподобные ОС, я в оконных средах стал использовать несколько рабочих столов, число коих в конце концов дошло до шести — стол для всяких задач, для редактора, терминала, браузера, почты∕аськи∕скайпа и для графики. Естественно, что между столами я переключаюсь с помощью клавиатуры, а не мыши — так быстрее.

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

Однако, нашёлся способ — он описан на https://github.com/linuxmint/Cinnamon/issues/544 — можно нужные последовательности задать с помощью dconf-editor, настройки клавиатурных команд хранятся в org.gnome.desktop.wm.keybindings

dconf-editor

http://shoorick.ru/2016/08/30/fast-switching-desktops-in-gnome-third/


UPDATE∕20:00: оказывается, полтора года назад я на эти грабли уже наступал.
shoorick: (Рыжий)
Попробовал в яваскриптовый файл добавить shebang, чтоб проще было запускать:
#!/usr/bin/node
console.log('Hallo, Welt!');

Прекрасно работает. Node.js на shebang не ругается.

http://shoorick.ru/2015/09/11/shebang/
shoorick: (Рыжий)
Только сейчас обнаружил интересную штуковину: если в убунте выполнять общесистемную установку перловых модулей командой
sudo cpan Имя::Модуля

то модуль встаёт куда надо — в моём случае это /usr/local/share/perl/5.18.2 (а мануалы ложатся в /usr/local/man/man3), но если сначала взять себе рутовую консоль командой
sudo bash

и из такой консоли запускать cpan — модули встанут в ~/perl5/lib/perl5, чего я не ожидал.

P. S. Про sudo apt-get install libимя-модуля-perl я в курсе.
shoorick: (Default)
Жизнь под Убунтой, где принято ставить программы уже готовыми, а не собирать их из исходников самому, как это практикуется в некоторых других юникосоподобных ОС, усиливает лень. Вот, например, вышла Subversion 1.8 (и сменила формат данных в рабочих копиях) — вроде, надо обновить, а фиг: в репозиториях хранилищах программ нет свежих версий — есть лишь 1.7.9.

На форуме askubuntu.com предлагают какой вариант:
sudo sh -c 'echo "# WANdisco Open Source Repo" >> /etc/apt/sources.list.d/WANdisco.list'
sudo sh -c 'echo "deb http://opensource.wandisco.com/ubuntu precise svn18" >> /etc/apt/sources.list.d/WANdisco.list'
wget -q http://opensource.wandisco.com/wandisco-debian.gpg -O- | sudo apt-key add -
sudo apt-get update

С последующим apt-get upgrade либо apt-get install subversion. Хоть рецепт содержит слово precise, что намекает на Ubuntu 12.04 LTS, он работает и в 13.10.
shoorick: (Рыжий)
При экспорте лилипондовых нот в формат PNG происходит странный сбой, наблюдающийся в юниксоподобных опрационных системах — внутри добавочных линий появляются вытянутые белые треугольники. Оказывается, баг известен и его сваливают на кривизну гостскрипта, используемого для преобразования готовых нот из векторных форматов в растровые.

Один из способов обхода (есть всякие) — добавить к команде вызова лилипонда параметр -dpixmap-format=pngmono — он заставит лилипонд выводить безглючную монохромную картинку вместо серой. В случае с низкой разрешающей способностью получится, наверное, коряво. Но если выставить разрешающую способность побольше, например, в 600 dpi — получается вполне хорошо.
shoorick: (Рыжий)
Пытаюсь сверстать нотный сборник, не выходя из под линукса. Исходный материал — какой попало: и тексты, и ноты в PDF (внутри которого — растр на 600 dpi), и ноты в лилипонде (ну их-то можно куда угодно вывести).

Делать с помощью lilypond-book не стал, хоть там и есть возможность собрать книгу их нескольких пьес: слишком уж разный исходный материал.

За LaTeX я не брался — без практики всё забыл.

Попробовал поставить Scribus, почитал мануал, поковырялся — совсем непривычно.

Решил пойти знакомым путём — взять офисный пакет: тут тоже не без грабель. Во-первых, LibreOffice (даже самый свежий), как и его предшественник OpenOffice, видит кучу каких-то своих шрифтов, но не видит шрифты формата Type 1, которые видны остальным программам. Во-вторых, в нём нельзя в результате замены получить ручной перевод строки (который вводится сочетанием клавиш Shift+Enter) — последовательность \n имеет разный смысл в разных полях ввода: она обозначает ручной переввод строки, когда используется в поле «Search for» и конц абзаца — в поле «Replace with». То есть, замена \n → \n может заметно изменить документ. Проблема замечена ещё в 2005 году в OOo версии 1.1.3 и до сих пор висит в багтрекере.

Задумался...

upd/09.06: потратил ночь — разобрался в Скрибусе и сверстал в нём.
shoorick: (Рыжий)
Надя [livejournal.com profile] zyakwa, преподаватель и сисадмин, просит не звать её настраивать компьютеры:
...у меня к вам просьба: пожалуйста, не рекомендуйте меня как настройщика компов. Сейчас поясню.

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

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

Во-вторых, я давно не специалист в области ПК. Network engineer - совсем другая профессия. Ну, то есть вообще другая. Примерно, как проектировщик дорожных развязок и мастер по ремонту авто.
Конечно, базовые знания есть. Конечно, из-за них и прошлого опыта могу разобраться с поверхностными проблемами. С глубокими и экзотическими - не всегда, либо очень долго и трудозатратно. Придя на «полчасика посмотреть», совершенно не готова убить на разборки весь день.

Там, где мне может понадобиться час, человеку, занимающимся обслуживанием ПК постоянно, надо 15-20 минут. Бывает, проблема, которую надо решить, отнюдь не уровня эникейщика. Это правда профессия со специальными знаниями и навыками.
Иногда приходится долго разбираться с новой виндой, которой в глаза не видала (у меня уже несколько лет Linux на ноуте), а там кое-что принципиально поменялось за 10 лет (не говоря уж про забылось), с новыми железками и никогда не виданными операционками. Многие приложения типа 1С не знаю в принципе. То есть ни капельки, и знать, простите, не хочу. Мне интересно другое.

Получается, человеку, которому вы меня подогнали как «спеца», тоже не очень-то помогли.

В-третьих, расценки на услуги «слесаря по компьютерам» ниже моих. Парадокс: вы можете нанять специалиста ДЕШЕВЛЕ, который выполнит работу лучше. Потому что это его профессия, а не моя, потому что рынок специалистов в области обслуживания ПК весьма богат. А мне за его ЗП заниматься несвойстенной деятельностью не интересно...
У меня — аналогичная ситуация:
— в новом железе я не разбираюсь,
— винду я забыл за ненадобностью: вокруг меня в основном Linux и FreeBSD,
— программирование мне гораздо интереснее подобных наладочных работ.
shoorick: (Рыжий)
Незадолго до UWDC решил всё-таки найти в телефоне то место, где у него вайфай-антенна. В прошлом году телефон несколько раз падал, и после одного из таких падений WiFi почти пропал — ловился на расстоянии не больше метра от роутера. Поясняющих надписей на плате китайцы не делают. Под рукой был такой же аппарат, из которого я когда-то брал экран — он WiFi ловил хорошо. Внимательное сравнение деталей позволило выяснить, что антенна для вайфая похожа на куб стороной 2 миллиметра. Значит, всё-таки придётся брать внутренности донорского аппарата.

Собрал телефон, сбросил до заводских настроек — аппарат стал вместо названий операторов выдавать надписи «Invalid IMEI», при этом входящие и исходящие вызовы исправно проходили. Меньше чем через сутки вторая SIM-карта потеряла сеть. Восстановить связь не помогали ни переключение режима радиомолчания, ни перезагрузка аппарата.

Гугление показало, что с подобной проблемой часто сталкиваются владельцы разных китайских ведроидофонов. Нашлись и методы решения. Самый (для меня) простой — посылка AT-команд в устройство /dev/pttycmd1

Поставил эмулятор терминала, которым пользовался на предыдущих версиях телефона. Аннотация гласит: «This app won't help you root your phone or change your phone's IMIE». Практика показала, что IMEI через терминал поменять можно.
shoorick: (Рыжий)
Китайфон Star X12 вчера окончательно сошёл с ума, заявив, что память кончилась вся. Дело не ограничилось отказом приёма SMS — телефон заявил, что не видит SIM-карт и на попытку запустить что угодно (включая автоматически запускающиеся задачи вроде Google Services Framework) отвечал всё тем же сообщением, что памяти нет, после чего убивал свежезапущенную задачу. Удаление не очень нужных приложений не помогло. Взял терминал, поглядел на файловые системы: команда du показала, что в /data занято около 60 мегабайт из 220, команда df — что занято всё (как так?), fsck выполняться не стала, ругаясь на отсутствие файла /etc/fstab

Скопировал почти всё из /data на microSD и вызвал загрузочное меню, нажав при включении телефона вместе кнопки питания, Home и увеличения громкости (может, есть и другой метод, но этот работает). Перемещаться по меню можно кнопками изменения громкости, выбирать нужный пункт — кнопкой Menu. В меню есть пункт wipe data/factory reset — его вызов полностью очищает /cache и /data — его и вызвал.

Телефон теперь снова может принимать SMS. Телефонная книга восстановилась автоматически.
shoorick: (Default)
Китайфон которую неделю ругается на отсутствие мозгов — не может даже СМС принять несмотря на наличие свободного места на обеих сим-картах. Поэтому, ув. тоф. френды, не пишите мне СМС — всё равно не смогу прочесть. Звоните голосом, пишите почтой, шлите твиты, используйте всякие IM да соцсети — сообщения оттуда я увижу.

Вариантов решения проблемы несколько:
  1. Выкинуть китайфон и устроить даунгрейд до двух сименсов (неохота) или апгрейд до чего-то нового (а смысл?).
  2. Устроить телефону factory reset — говорят, иногда помогает. Неохота, ибо потребует телодвижений по сохранению и восстановлению данных.
  3. Разобраться с переносом части информации из памяти телефона на карточку. Насколько я понял, для этого надо: α) сделать на карточке раздел с какой-либо юниксовой файловой системой (ужé); β) смонтировать этот раздел и сделать так, чтоб он монтировался автоматически (/etc/fstab я не нашёл); γ) перенести туда что-нибудь тяжелое из памяти телефона, поставив симлинк из исходного места (память телефона к линуксовому ПК не монтируется, команд cp и mc на телефоне почему-то нет, mv между разными ФС файлы не переносит, а копировать отдельные файлы командой cat — утомительно, потому что автодополнение в консоли тоже не работает). Толкового мануала нет, чтение форумов раздражает.
Бубен есть, но пока не применил. Так что, не пишите мне СМС.
shoorick: (Рыжий)
После покупки минувшей зимой китайфона с встроенным GPS-приёмником, количество сохранённых треков резко выросло: во-первых, телефон я беру с собой гораздо чаще, чем старый потрёпанный навигатор, во-вторых, все программы, которыми я пробовал пользоваться (Navitel Navigator, OsmAnd, OSMTracker) создают кучу файлов: по файлу на каждый запуск программы, в то же время при сливании трека любой длины с железного навигатора получается всего один файл. Если в прошлые годы набиралось около 40 файлов в год, то за 9 месяцев текущего года набралось уже почти 200 файлов.

OpenStreetMap позволяет передавать файлы не по одному, а пачкой — в виде зип-архива, однако перед тем, как отправить файлы на сервер, надо бы их слегка почистить — например, убрать скопления точек возле мест, где часто бываю. Делать такое с каждым файлом — неправильно, правильнее будет объединить файлы, а лишние точки удалять из уже объединённого.

Объединять можно разными путями. Для любителей консоли — gpsbabel, тот самый, который позволяет преобразовывать треки и сливать их с навигатора:
gpsbabel -i gpx -f one.gpx -f two.gpx -f n.gpx -o gpx -F sum.gpx
Понятно, что можно использовать его совместно с другими программами — например, слить воедино все GPX-файлы текущего каталога можно так:
perl -e '@f = <*gpx>; $cmd = "gpsbabel -i gpx -f " . join(" -f ", @f) . " -o gpx -F sum/2012.gpx"; print `$cmd`'
Можно попробовать поискать файлы и с обходом подкаталогов:
find . -type f -name '*gpx' | perl -nle 'push @f, $_; END{$cmd = "gpsbabel -i gpx -f \"" . join("\" -f \"", @f) . "\" -o gpx -F sum/2012-summer.gpx"; print `$cmd`}'
Если в именах файлов есть специальные символы (например, точка с запятой — такое попадается в треках OSMTracker), то имена таких файлов должны быть в кавычках, что и видно на примере.

Для любителей рисовать карты OpenStreetMap — JOSM: им можно открыть несколько треков и объединить (Merge) слои с этими треками.

JOSM можно использовать и для очистки треков от мусора: трек может быть преобразовать в слой данных, после чего становится доступным его редактирование — краткую инструкцию по очистке треков можно найти на http://wiki.openstreetmap.org/wiki/RU:Editing_GPX_Tracks. Viking, хоть и позволяет удалять точки трека, делает сей процесс весьма неудобным: приходится либо удалять точки по одной, либо разбивать трек на мелкие кусочки и удалять те куски, что не нужны. Чистить треки другими программами я не пробовал — мне вполне хватило JOSM.

P. S. Слил треки, почистил — получил 376 тысяч точек общим весом в 33 мегабайта несжатого GPX-файла (меньше 3 МБ в виде зип-архива), залил на сервер — сервер уже больше часа пытается всё это обработать. На трек в 10 тысяч точек обычно хватало одной минуты.
shoorick: (Рыжий)
После нескольких неудачных попыток прилогиниться к сайту, сделанному на друпале 7.15, пользователь натыкается на сообщение:
Sorry, there have been more than 5 failed login attempts for this account. It is temporarily blocked. Try again later or request a new password.
Насколько позже стóит повторить попытку — непонятно.

Полез в БД — в таблице `users` никакой информации об активности пользователей. А вот в таблице `flood` — есть: в поле `event` — название события, `identifier` — идентификатор: IP либо строка вида UID-IP для попыток залогиниться, если логин существует, `timestamp` и `expiration` — время попытки входа и истечения бана (в секундах с начала эпохи). Продолжительность бана — 3600 секунд (час) для случаев, когда UID не указан и 21600 секунд (6 часов) — для пары UID-IP.

Если удалить из таблицы `flood` лишние записи — вход открывается.

P. S. Узнать текущее время в секундах с начала эпохи в юниксоподобных операционных системах можно командой
date +%s
в MySQL для этого есть функция UNIX_TIMESTAMP.
shoorick: (Default)
Update Manager сегодня выдал:

Your Ubuntu release is not supported anymore

You will not get any further security fixes or critical updates. Please Upgrade to a later version of Ubuntu Linux.
То есть, Ubuntu 10.10 (Maverick Meerkat) теперь, спустя полтора года после релиза, считается устаревшей. До выхода следующей, Ubuntu 12.04 LTS (Precise Pangolin) осталось недели две — вроде, релиз планируется на 26 апреля. А обновляться до какой-нибудь 11.10 смысла нет.

Впрочем, сторонний софт обновился.
shoorick: (Default)
Нашёл способ ленивой установки XnView MP под убунтой 10.10:
sudo add-apt-repository ppa:ferramroberto/maverickextra
sudo apt-get update
sudo apt-get install xnview
XnView MP выглядит гораздо приятнее, чем древняя линуксовая xnview — эта версия больше похожа на то, что было под виндой.
shoorick: (Default)
Продолжаю ковырять transition — повернул баян на 90°.

Код с действующим примером выложен на http://jsfiddle.net/shoorick/bp7QM/ (там сразу видно всё: и код с подсветкой синтаксиса, и результат), кроме того, как и в прошлый раз, пример — на http://shoorick.ru/lj/net/accordion-horizontal.html, код — на гитхабе и под катом )
shoorick: (Default)
Разбираюсь с модными HTML5 и CSS3, а точнее, с бесскриптовой анимацией, с помощью transition. Попробовал сделать вертикальный (обычный) аккордеон — почти получилось. Ни один яваскрипт не пострадал. Работает под линуксом в Firefox 10, Opera 11.60 и Chromium 14. Под виндой в IE 8 — не работает. В остальных браузерах и ОС пока не тестировал. Modernizr пока тоже не прикручивал.

Действующий пример лежит на http://shoorick.ru/lj/net/accordion-vertical.html, код — на гитхабе и под катом )
Следующая задача — повернуть получившийся баян на 90° — с ней я почти придумал, как справиться. Дальшейшие — смена картинок и прокрутка содержимого блока без участия яваскрипта и посетителя сайта — пока туманны. Но всё равно придумаю. Или нагуглю. Хотя в девизе моей альма-матери другой порядок действий: Нагуглю или придумаю. Aut viam inveniam, aut faciam.
shoorick: (Default)
Пробовал снюхивать телефон Siemens SK65 с Убунтой — не получалось. Сегодня нашёл статью Доступ к файловой системе телефонов Siemens в Ubuntu Linux — оказалось, что требуется небольшое применение бубна, уже народом опробованное и подробно описанное. Попробовал — получилось. Теперь для обмена файлами с телефоном не надо запускать старую машину с виндой, многократно втыкать туда кабель (потому что телефон не сразу определяется), а потом елозить мышью — всё можно сделать в линуксовой консоли.

Минус у предложенного решения нашёлся пока один — оно требует рутовых прав: и для монтирования, и для чтения-записи. Но это не так страшно.
shoorick: (Default)
Кто-то взглючил: то ли ридер (плохо карточку воткнул?), то ли фотоаппарат, то ль пингвин в ноутбуке шалит — куча фоток перестала читаться. Сел за виндовую машину, нашёл там древний VaioSoft Recovery Manager — восстановил почти всё (а как подобное делать под линуксом?), да только с неродными именами. Что делать? Как сравнивать с тем, что нормально списал?

Помогло то, что в никонах (про остальные фотоаппараты не скажу) есть счётчик фотографий, который тикает с самого выпуска аппарата. Переименовать файлы в текущем каталоге к виду №.jpg можно так:
exiftool '-filename<${shuttercount}.%e' .
Почти всё переименовалось, остались только повреждённые файлы (около половины процента от общего числа). Переименовал всё: и удачно списавшиеся файлы, и восстановленные — к единой нумерации. Сравнивать стало гораздо проще :-)

Требует perl и Image::ExifTool. Под виндой не взлетело (хоть всё нужное и было) — ну и ладно.

Провёл эксперимент — прицепил аппарат, запустил списывающий скрипт — работает как надо. Будем ридер проверять...
shoorick: (Default)
Решил проблему, описанную час назад. Естественно, методом тыка проб и ошибок.

Итак, задача для начала достаточно проста: соединить синтезатор (тут он выступает как MIDI-клавиатура) с компьютером и вывести описанный MIDI-командами звук через компьютер. Потому как встроенный MIDI-синтез в клавишах ужасен (а чё вы хотите за 100 баксов?). Задачу ввода нот с MIDI-клавиатуры решать пока не будем — не до неё сейчас (хотя, насколько мне известно, rumor и Rosegarden могут MIDI-команды преобразовывать в ноты и сохранять их в формате LilyPond).

Рецепты и решение )
shoorick: (Default)
Пытаюсь соединить синтезатор с линуксовым ноутбуком. Нагуглил рецепты, пробую — не выходит. Точнее, JACK в настройках не даёт послать входящие с синтезатора данные на qsynth — показывает их на разных вкладках окна «Connect».

Пробую метод научного тыка — меняю разные параметры и смотрю, что произойдёт. Умудрился добиться обратного эффекта: звук с виртуальной клавиатуры уходит на синтезатор и там воспроизводится. Но в нужную мне сторону — не идёт :-(

upd/00:55: Соединил. В нужную сторону.

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 26th, 2017 04:13 pm
Powered by Dreamwidth Studios