• SVN-репозиторий для личного медиа?

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Как совершенно справедливо отмечено,
    сервер не обязательно должен быть габаритным, шумящим и прожорливым

    Аппаратная часть Вашего решения, даже в базовом варианте = компьютер(в общем смысле, ЭВМ, то бишь) + носитель. Лучше и проще, чем готовый NAS или роутер с USB и внешним винтом найти вряд ли удастся. Здесь уже нечего удешевлять и упрощать.

    А значит, логично было бы посмотреть, какие части Вашей задачи уже реализованы в готовых NAS и в открытых прошивках для роутеров (openwrt, dd-wrt) или для NAS (freenas).

    1. Проще и лучше, чем NAS или роутер c USB + диск, вряд ли получится.
    2. Для «просто» доступа к storage по сети — ключевое слово: iSCSI.
    3. В коммерческих решениях у тех же WD, как, опять же, было отмечено, есть варианты с резервным копированием и удаленным доступом к Вашим данным. Надо только в каждом конкретном случае проверить, не надо ли за это платить сверху, и не нужен ли бешеный софт на машине-клиенте.
    4. Поднять все, что угодно на коробке, в которой крутится *nix-совместимая ОС — только вопрос свободного времени. Готовые решения и опыт коллег уже с Вами.
    Ответ написан
    Комментировать
  • Верстка генеалогического древа

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Я бы сделал тупо в лоб — человек рисуется любым элементом, хоть div, хоть button, но по рассчитываемым в жаваскрипте координатам.

    Наколбасить рекурсивную (причем скорее head-recursive) функцию, скажем, draw_ancestors(). В ней, когда отрисуется нижний, заведомо более населенный уровень, и только тогда уже по полученным снизу координатам уже рассчитывать координаты для текущего и вернуть их в верхний уровень в стеке.

    Как оптимизировать структуру БД и общение с ней в таком случае — отдельный вопрос. Я бы попробовал интереса ради вообще no-sql решение с получением сразу всего дерева в JSON.
    Ответ написан
    1 комментарий
  • tee, но не в файл, а на udp port

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Я был бы чуть более осторожен — не в каждом дистрибутиве в баше доступны /dev/tcp и /dev/udp.
    Можно использовать netcat (вызывается как nc, есть по умолчанию почти везде)

    Соответственно,
    
    #!/bin/sh
    
    mkfifo dummy
    cat dummy  | nc -u 177.22.37.11 6800
    my_process 2>&1 | tee -a dummy
    rm dummy
    


    Ключ -u выбирает UDP, если не указывать — по умолчанию TCP.
    Ответ написан
    1 комментарий
  • Бэкап файлов (архивация)

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Глупый вопрос, но последняя ли версия 7z, и, самое главное, не 32-битная ли система — может быть, Вы натолкнулись на какой-то неочевидный баг с переполнением?
    Ответ написан
  • Как на Хабре искать тест в своих комментариях?

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    А вот и ответы:

    1) венда/wget — в одну строку не влезает, плюс c задержкой в CMD туго:

    set MAXPSTO=30
    set HABRUSER=tangro
    for /L %i in (1,1,%MAXPSTO%) DO @echo http://%HABRUSER%.habrahabr.ru/comments/page%i/ >> tmp.url
    wget -w 5 tmp.url
    


    2) никсы/wget — без комментариев:

    $ for i in {1..30} ; do wget http://tangro.habrahabr.ru/comments/page$i/ && sleep 5 ; done
    


    3) Кроссплатформенно — жаваскрипт в адресную строку браузера, в опере и хроме вроде, работает, главное — заранее отрубить картинки и плагины. По ходу нашел странное поведение setInterval, и вообще, некоторый код в формате «javascript: код», похоже, работает только из ссылки, а не из адресной строки, поэтому скрипт резко вырос.

    pastebin.com/EXc7DFQC

    Ногами пинать бессмысленно, на-коленочное решение же :)
    Ответ написан
    Комментировать
  • Как на Хабре искать тест в своих комментариях?

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Комментарии лежат на странице вида %USERNAME%.habrahabr.ru/comments/page%NUMBER%/
    Номер последней страницы находим руками — наводим мышку на стрелку.

    Далее варианты:

    ( 0) YQL, к сожалению, отпадает из-за запрета на индексацию в robots.txt )
    1) шелл-скрипт, который вызовет wget с задержкой. Получим N хтмл-ников, найти можно.
    Для винды, если нет wget или неохота писать батник, можно на VBScript/JScript — это тоже недолго.
    2) жаваскрипт-one-liner в адресную строку браузера, который с задержкой добавит в страницу N ифреймов.
    В браузере отключаем картинки и флэш, получим голую текстовую страницу, Ctrl + F рулит.

    Если это не подпадает под определение «написать паука», по-моему — вполне себе выход.
    Ответ написан
    Комментировать
  • Восстанавливаемый генерируемый пароль

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    В качестве сугубо личного генератора паролей можно все, но всегда надо понимать:
    1) Какова процедура «Incident response handling» для Вашего решения — что делать, если пришла лисичка и что-то подсмотрела
    2) Пароль для системы аутентификации — это то, что знает мистер Х и не знает мистер Y. Без вариантов. Если кто-то знает алгоритм генерации пароля и угадает исходные данные, этот кто-то для системы — Вы.
    Ответ написан
    Комментировать
  • Как используете внешний HDD ?

    ntkt
    @ntkt
    Потомственный рыцарь клавиатуры и паяльника
    Использую как носимый бэкап для некритичных данных (архив софта, дистрибутивы ОС, книги и подборки материалов).

    Вспомогательное назначение — multiboot usb — загрузочный диск с rescue, pentesting и проч. дистрибутивами. Это отдельный раздел с FAT, на нем grub4dos iso-шники подхватывает.
    Ответ написан
    Комментировать