make power

2013-10-30

Пока я работал с Неназываемым — столкнулся с необходимостью многократно прогонять комплект действий с питоновскими скриптами. Потратив примерно полчаса (чуть меньше на самом деле — учитывайте, что я не профессиональный программист, а скромный power user) разобрался в GNU make и написал себе такой вот файлик:

all: struc func

clean:
    rm *.csv
    rm *.dot
    rm *.png

struc:
    python st.py 
    find . -name '*.dot' -exec dot {} -Tpng -o {}.png \;
func:
    python fun.py 
    find . -name '*.dot' -exec dot {} -Tpng -o {}.png \;
one:
    python st.py 
    dot struct_kond_B1_01.dot -Tpng -o poligon.png
    geeqie poligon.png

В данном случае make struc считает одни аспекты Неназываемого и с помощью graphviz (точнее dot) рисует к ним диаграммы, make func делает тоже самое для других аспектов Неназываемого, make one — отладочный «единичный сценарий», make clean чистит папку от лишних файлов (храните в версионном контроле только то, что редактируется руками, ага). make или make all прогоняет сценарии всех аспектов Неназываемого.

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

Например. Читать далее…

Реклама

2013-10-26


комстрока в firefox

2013-10-25

В firefox начинают появляться полезные приложения для командной строки. Например, оказывается оттуда можно сделать скриншот видимой части страницы или ее всей полностью.

По ссылке можно посмотреть подробную инструкцию. Если коротко, открываем командную строку (Shift+F2) и набираем screenshot либо screenshot —fullpage Как и у всякой уважающей себя command-line поддерживаются автодополнение по табу и help screenshot. Теперь можно грохнуть одну лишнюю плагинку :)


Яндекс диск в linux

2013-10-22

Яндекс-диск рулит уже тем, что в отличие от Гуглодиска они сделали прекрасное консольное приложение под linux. Ну и 10 Гб, что тоже прекрасно. Нюансы использования: Читать далее…


Социальные сети

2013-10-18

В курсе «Управление IT-проектами» я читаю (а что можно читать предполагаемым инженерам портовых сооружений? :) в том числе системы контроля версий. Это я стараюсь компенсировать оторванность от отрасли — у нас читают 100500 языков программирования (90% которых устареют через пару лет), а чтобы поднять примитивную инфраструктуру обеспечения любого проекта, где работает больше трех человек (по простейшей формуле: система контроля версий + багтрекер + инфо- и документсборник на движке вики) — никто даже не почешется, так что мне есть где разгуляться. Простите, отвлекся.

Я про что? Мы закончили SVN и перешли к mercurial. Первым заданием было завести аккаунт на bitbucket.org и поработать с ним по ходу пары. Кто-то справился, кто-то — нет. И тут кто-то обнаружил «соцсетевую» функцию (на битбакете можно добавлять друг-друга во френды в наблюдатели и фолловеры). Естественно, они все тут же зафрендили друг друга и сетевая активность забурлила. Вы бы видели этот взрыв энтузиазма! В общем не зря, не зря в бакет встроена социальная функция :)


День Джона Коннора и поездка под дождем

2013-10-15

В Вс я рискуя жизнью, приблизится к пылающим обломкам и слил топливо в бак своего броневика отладил на Хаусе тормоза и тормозные колодки, заклеил порванную камеру (чем порванную я так и не понял), положил в рюкзак нетбук и выкатился на другой конец географии — к своему первому научному руководителю. Кажется, я наверстываю то, что упустил летом. Было тепло, так что «туда» я вполне себе ехал в одной футболке.

С компьютером все получилось проще, чем я ожидал. Не могу в очередной раз не восхититься линуксами и Puppyrus Linux’ом в частности. В незапамятные времена (четыре с большим хвостиком года назад) поставил человеку Паппирус. Железо у него было старенькое, но на линуксе все летало. По дефолту работал интернет, плейер на все сорта и вкусы, офис и все такое прочее. Никаких вирусов, никаких проблем — «поставил и забыл». Недавно у него начал отваливаться интернет. Я приехал, поставил диагноз — начало сыпаться железо. Меня в этот момент захватило Неназываемым, проблемами на семейном фронте етс, етс и железо сменили уже без меня. При этом менявший железо человек поставил WinXP. Через пару месяцев оная приказала долго жить. То есть совсем. Народ откопал флэшку с паппирусом и отзвонился мне. Я приехал, воткнул флэшку, произвел нехитрые манипуляции с Grub4Dos — и все завелось. Нетбук, который я захватил с собой на всякий случай, оказался ненужным. Полчаса и народ остался счастлив.

Уже успело стемнеть. Возвращаться по короткой дороге (это отдельная история) мне не хотелось, я вспомнил, что в «Сове» сегодня тренировочный день и отзвонился к ним. Они сказали — ага, приезжай и я направил протекторы своих покрышек в сторону Тенистой улицы. Правда по дороге мне захотелось поисследовать незнакомые мне дебри географии. В результате меня последовательно занесло на Жаботинского и Октябрьской революции, где я до того не бывал. Немного удлинил маршрут, но остался доволен.

В «Сове» было прекрасно — это (наравне с «Горизонтом») один из тех клубов где всегда уютно и здорово. Ни разу не пожалел, что заглянул по дороге. Следующим пунктом был дом, но я еще немного покружил по городу — в поисках рабочего банкомата, но ничего так и не нашел.

Сегодня выкатился к уважаемому сэру un_welcome — под начинающимся дождем, а обратно возвращался уже по полноформатному ливню и в темноте. Неприятным сюрпризом были рытвины — дождевая вода и темнота скрадывают их. Не успел отъехать и ста метров — влетел в воронку и чудом не заработал восьмерок и остался в седле. Дальше катил аккуратнее. Простенькие дешевые крылья рулят и педалят. Жалею, что не поставил их раньше. Тогда бы наверняка удалось избежать дизастера подобного тому, который настиг меня прошлой осенью. Еще бы догадался захватить с собой накидку и чулки от ОЗК (афигенная вещь по такой погоде) — было бы совсем комфортно, поскольку мокнут в основном руки и ноги.


Простой словарик для vim

2013-10-05

Иногда удобно подсмотреть в словаре определение для того или иного слова. Когда это понял — написал небольшой скриптик для ~/.vimrc, который по F7 гуглит грепает слово под курсором и выводит результаты. Минимум телодвижений и максимум гибкости — вместо grep может быть любой другой скрипт, понимающий stdin (никто не запрещает привинтить сюда, скажем, гуглопереводчик.

function! Mul()
    " мюллеровский словарь

    let TempQ = @q
    let @q = ''

    " копируем слово в буфер 
    normal "qyaw
    let MuWord = @q

    " восстанавливаем буфера назад
    let @q=TempQ 

    " скармливаем его grep - и добавляем ключей для вывода контекста 
      exec ':!grep "'.MuWord.'" ~/enc/muller.txt -C 1' 

endfunction

nnoremap <F7> :call Mul()<CR>

%d такие блоггеры, как: