anton0xf
Linux tip shell если нужно что-то сделать с текстом разукрашенным с помощью ANSI escape кодов <en.wikipedia.or> (выкинуть их нафиг, или сделать текст пригодным для просмотра чем-то кроме less), то может пригодится утилка ansifilter <andre-simon.de> (app-text/ansifilter в gentoo).
Умеет конвертить в text, (La)TeX, html и rtf
ygrek
Git tip А знаете ли вы что.. с помощью git stash pop можно доставать не только последний собственно stash? Внезапно именование через git stash save становится осмысленным.
Mellon
Gentoo tip mpdsribble Понимаю, что mpdas актуальней наамного, но он как-то неясно с проксями (не)работвет. Потому пользую для скроббла на ластик второтег.
Столкнулся с проблемой, через прокси туго лезут пачки треков из кэша... то ли ластик фильтрует, толи прокся тупит...
Греп по сырцам указал на
src/scrobbler.c:#define MAX_SUBMIT_COUNT 10
сделол тупой патч, где значение подобрал методом научного внедрения пробных значений.
Заработало.
Ебилд: overlay.qmellon.googlecode.com
Патч: qmellon.googlecode.com
Значит ебилд с epatch_user, который дёргает сам /etc/portage/patches/media-sound/mpdscribble/fix_max_submit_count.patch
Почему так? А потому, что так удобней его править подбирая нужное значение.
iNode
Emacs note tip multicolumn emacs editing: M-x follow-mode

(defun all-over-the-screen ()
"use follow mode to show code in three column mode"
(interactive)
(delete-other-windows)
(split-window-horizontally)
(split-window-horizontally)
(balance-windows)
(follow-mode t))
Mellon
Gentoo tip udisks2 В общем, наверно, многие уже в курсе, что точка монтирования флешек перемещена в /run/media/$USER/
В этом есть свой смысл, и я не буду его обсуждать. Другое дело, что внешние харддрайвы тоже могут туда монтироваться а это уже сулит осложнениями, например, если вы на внешнем харде хороните торренты, или делаете туда бекап.
Лечится это дело через запись девайса в fstab.
И именно девайса, а не через определение переменной LABEL=, или UID=, так оно не заработает. Поэтому, если охотца по лейблу, или идентификатору, то пошарьте в /dev/disk/by-*, или вывод udisksctl info -b dev<девайс#> в поисках нужного симлинка, например: /dev/disk/by-label/usb_storage
Mellon
tip dict Народец, а знаете в чем кошерно хранить словари? в squashfs конттейнере:
$ mksquashfs ./lingvo ./lingvo.sqfs -comp xz
$ % du -sh .lingvo
6.9G ./lingvo
$ ls -lh ./lingvo.sqfs
-rw-r--r-- 1 user user 926M окт. 16 20:52 ./lingvo.sqfs
Whitesquall
Emacs tip dired Двухпанельный dired: (setq dired-dwim-target t) . Теперь открываем в одном фрейме два буффера dired'а с разными директориями, и при копировании с одного окна подставляется автоматом путь другого.
anton0xf
Git tip dvcs чтобы в выоде stat и прочих видеть читабельные имена файлов, названных не по русски^Wанглийски, а не заквоченную фигню нужно выполнить:
git config --global core.quotepath false

понимаю, что не часто такое встречается, да и зря, но иногда таки приходится. я, например, сохраняю в репозитории пришедщие от заказчика доки, чтобы их не потерять, и не вижу особых причин их переименовывать, при этом (наоборот, только путаницу создавать)
anton0xf
Linux tip shell cp допустим хотите вы переместить все содержимое dir1 внутрь dir2.

попытка 1:
$ cp -rv /path/to/dir1 /path/to/dir2
плучаем подпапку dir1 в папке dir2 :(

попытка 2:
$ cp -rv /path/to/dir1/* /path/to/dir2
уже лучше, но папки и файлы с именами, начинающимися с точки, не скопировались :(

попытка 3:
$ man cp
$ cp -rvT /path/to/dir1 /path/to/dir2
SUCCESS!!! :)
anton0xf
Firefox tip add-ons привык, чтобы в первотеге большинство действий открывало новый таб.
* для кликов по закладкам есть "Open Bookmarks in New Tab" <addons.mozilla.or>
* а вот как я делал для поиска — не помню. так что нагуглил (http://lifehacker.com/255171/firefox-tip-open-search-results-in-a-new-tab) опцию browser.search.openintab и, за одно, узнал о комбинации Alt-Enter, которая делает наоборот.

P.S. пока искал линк на "Open Bookmarks in New Tab" попал на их сайт, где обнаружил еще пару уже используемых мной дополнений и несколько потенциально полезных. так что делюсь линкой: <piro.sakura.ne.jp>
potapenko
Mac tip Если нужно зааплодить файл, то лучший путь драгом "бросить" файл в диалоговое окно "browse to file" открытое браузера — тогда скопируется не сам файл в папку, а диалог откроет папку с файлом и переместит курсор на него. Удобно. Обычно последовательность следующая. Файндер — открыл папку с файлом, потом идем на сайт, кликаем на кнопку аплоад, потом кидаем в диалог файл. И вот оказывается что диалог вообще открывать не нужно. Нужно потянуть файл прямо на кнопку на странице и оплоад пойдет без лишних телодвижений.
xeningem
Python Windows7 tip opencv Если у вас в OpenCV 2.4 в Windows7 не работает cv2.VideoCapture для видеофайлов:
1) Убедитесь, что opencv_ffmpeg.dll доступна в поиске (можно просто к исходникам подложить)
2) Используйте версию 2.3 :) В неё работает нормально
demiazz
CSS tip На память, выравнивание блока по горизонтали и вертикали абсолютным позиционированием для блоков с известной шириной и высотой:

#blok{
height:400px;
width:900px;
position:absolute;
top:50%;
left:50%;
margin-left:-450px;
margin-top:-200px;
}
ygrek
FAQ tip OCaml Q: Как найти пакет которому принадлежит модуль XXX?
A:
for i in $(ocamlfind list | cut -d ' ' -f 1) ; do if [ -r $(ocamlfind query $i)/XXX.cmi ] ; then echo $i; break; fi ; done
либо
ocamlfind printconf path | xargs -n1 -I/ find / -name XXX.cmi
ygrek
tip GDB Никогда не делать `x addr`, иначе можно долго искать значения по обрезанному 64-битному адресу.. Только `x/a`.
DarknessKeeper
быдло tip Никогда, сцуко, не смотри в глаза людям, которых хочешь обойти в метро или на улице. Эти твари, видя, что ваши траектории пересекаются, начинают зеркалить тебя. Глаза в сторону и ходу, ходу
iorlas
development CPP tip Про-tip #1: Не выёбывайся. У тебя есть какие-то внешние функции какого-то API, где необходимо передавать std::string? Есть необходимость делать хитрые вещи со строками? Да ты ещё и юзаешь чужой API, в котором нужно использовать "тупые" массивы байтов? ТАК НАХУЯ ТЫ БЛЯДЬ ИСПОЛЬЗУЕШЬ std?! НЕ ИСПОЛЬЗУЙ ТЫ ИХ БЛЯДЬ. НЕ ВЫЁБЫВАЙСЯ.
Откуда вытек "совет": сейчас юзаю один код, в котором используется wstring просто так, смеха ради. На деле для красоты. В результате, при подключении стороннего дебаггера, выходила ошибка "аксесс виолейшн эксепшн". Почему? Потому что c_str() функция std::string возвращает временный объект(живёт только в текущем скоупе).
Всё бы ничего, да вот только функция этого API сохраняет адрес в очередь, а затем, уже потом, производит использование этого адреса для получения строки. Вот только если функция задержится пока наша функция не выйдет из скоупа, у нас получится что мы как-бы подставили наш API, дав адрес строки, которой уже и нет.
iorlas
tip msvs Def Когда полезно то, что описано в #1570139 ? Да много когда.
Например, у меня такая функция:
extern "C" __declspec(dllexport) void* WINAPI __ProxyFunc9(UINT SDKVersion);
Надо чтобы она экспортировалась как Direct3DCreate9. Однако, если даже её назвать "Direct3DCreate9", то экспортнётся она как Direct3DCreate9@16 или _Direct3DCreate9, но не Direct3DCreate9. Через .def файл я смог позволить себе делать что угодно, но получить нужный результат.
Бтв, прокси-длл у меня почти готова, только оказалось что часть хукинг-логики придётся таки поместить внутрь прокси, ну да не беда.
iorlas
tip msvs Def Наверно, не многим приходится сталкиваться с Module Definition File в MSVS. Однако, это очень удобно, если необходимо чтобы линковщик экспортировал функции не как подумает, а как нам надо.
Создаём файл .def с любым именем. Содержимое такое:
LIBRARY "имя_выходной_длл_без.dll"
EXPORTS
myfunc = __innerfunc0 @1

Функции добавлять пока не надоест, лол. Суть в том, что можно таким образом назвать функции как захочется, а импортнутся они как надо в результате. Можно и просто объявлять их через def без присваивания.
@1 — для порядка символов. @1, @2, @3 etc.
Но мало просто создать файл! Необходимо указать студии его использовать! Да, об этом на самом деле мало где пишут, но я нарыл в одном экземпле:
Настройки проекта — линковщик — ввод — Module definition file. Вводим имя файла и компилим.
asmer
дыбр tip Только что осознал, что клетчатые антистатические пакетики для всякой электроники проводят ток по черным полосам.