• Python - Рекурсивный поиск по строкам и файлам?

    @immaculate
    Программист-путешественник
    Читать документацию по функции стандартной библиотеки os.walk()
    Ответ написан
    Комментировать
  • Какое средство резервного копирования для Ubuntu лучше всего?

    @immaculate
    Программист-путешественник
    Я использую утилиту duplicity уже около 6 лет. Причем как для резервного копирования своего ноутбука, так и для копирования серверов, которые поддерживаю и администрирую.

    Она простая, запускается из командной строки, поддерживает шифрование (GPG), бэкапы в определенную папку, на S3, ftp, и т.д. и т.п. Инкрементальное копирование с полным через определенные интервалы, разбиение копий на тома заданного размера.

    Настоящий комбайн, при том достаточно простой. Например, вот часть моего скрипта для бэкапа ноута:
    duplicity \
        --full-if-older-than 3M \
        --volsize 150 \
        --exclude='**/*.pyc' \
        --exclude='**/firefox/*/cache2' \
        --exclude='**/lib/python2.7' \
        --exclude='**/.thumbnails' \
        --exclude='**/.virtualenvs' \
        --exclude='**/.virtualenv' \
        --exclude='**/thumbnails' \
        --exclude='**/.xsession-errors*' \
        --exclude='**/.PyCharm*' \
        --exclude=/home/jmv/.Private \
        --exclude=/home/jmv/.ecryptfs \
        --exclude=/home/jmv/.cache \
        --exclude=/home/jmv/.macromedia \
        --exclude=/home/jmv/.adobe \
        --exclude=/home/jmv/.nvm \
        --exclude=/home/jmv/.local/share/zeitgeist \
        --include=/etc \
        --include=/home/jmv \
        --exclude='**' \
        / $DEST
    
    duplicity remove-older-than 12M --force $DEST
    Ответ написан
    11 комментариев
  • Отобразить свою страницу в админке django?

    @immaculate
    Программист-путешественник
    Думаю, не обойтись без переопределения шаблона django/contrib/admin/templates/admin/index.html в своем проекте.
    Ответ написан
    3 комментария
  • Если сделать refund восстановится ли JSS?

    @immaculate
    Программист-путешественник
    Я вчера писал в поддержку по этому вопросу. Мне попался неадекватный проект с неадекватным менеджером. Украинская аутсорсинг-компания (Light IT - пускай страна знает героев) сдала заказчику неработающий проект в виде набора zip-файлов с враньем, что это на 80% готовый проект. Теперь он ищет людей, которые довели бы проект до ума.

    Поскольку до принятия контракта на исходники взглянуть нельзя, я потратил несколько часов, понял, что его развели как последнего лоха. Эти ребята никогда в жизни не писали на Python/Django, и, скорее всего, ни разу в жизни не закончили хоть сколько-нибудь сложный проект. Они оставили после себя аморфное месиво из велосипедов, демонстрирующее, что они приступили «к работе» даже не прочитав Django Tutorial.

    У заказчика ожидание, что за месяц это надо кровь из носу оживить. Я сказал ему, что это абсолютно нереалистичный срок, так как ценность этого кода даже не нулевая, а отрицательная. Т.к. он не технический человек, то в общем он мне не поверил, и вообще, сложно работать в условиях, когда перед тобой десятки тысяч строк мусорного кода, надерганого не знаю откуда (если бы из StackOverflow дергали, было бы и то лучше), а тебя каждые 30 минут дергают: «Когда будет хоть что-то готово? Счетчик уже на $200 натикал, сделай же что-нибудь наконец!»

    Я закрыл контракт и сделал refund, так как начал работать с пятницы, и граница недели уже прошла.

    В поддержке мне ответили, что любая работа после ее принятия, влияет на рейтинг и изменить это никак нельзя. Посоветовали тщательнее выбирать проекты и утешили тем, что на мой рейтинг все равно этот опыт большого отрицательного влияния не окажет.
    Ответ написан
    1 комментарий
  • Как организовать коммуникацию с заказчиком?

    @immaculate
    Программист-путешественник
    Я использую OnlyOffice. Он мне не нравится, если честно (особенно редактор: тыкать мышкой, вместо того, чтобы писать не отвлекаясь markdown, это ужасно), но намного удобнее почты.

    Думаю, что помимо OnlyOffice можно много чего более удобного на эту тему найти. Я когда-то на выбор заказчику предложил несколько альтернатив, и он выбрал OnlyOffice.
    Ответ написан
    1 комментарий
  • Истории, которые вас тронули?

    @immaculate
    Программист-путешественник
    Мой список постоянно меняется. Если говорить о тех произведениях, которые однозначно бесповоротно изменили мою жизнь, то это:
    - фильм «Матрица» (впервые заставил серьезно задуматься о природе реальности)
    - книга «Дзен и искусство ухода за мотоциклом» (эта вообще на многое повлияло, такой мощный удар по всем направлениям, в частности, на то, что я проехал на мотоцикле более 15,000 км по одной только Индии, хотя книга не совсем о путешествиях на мотоцикле)
    Ответ написан
    Комментировать
  • Менеджер заметок или простой планировщик задач?

    @immaculate
    Программист-путешественник
    Противоречивый набор требований. Из собственного опыта:
    1) emacs org-mode. Очень навороченный инструмент, но если нет желания углубляться, то можно использовать подмножество возможностей
    2) workflowy.com — мега-удобный интернет-аутлайнер, впрочем, не проверял, работает ли при отсутствии подключения.
    Ответ написан
    Комментировать
  • Не качаются большие файлы (~15Гб) в Ubuntu c шифрованием?

    @immaculate
    Программист-путешественник
    А какое шифрование используется? То, что встроенный инсталятор включает?

    Я сразу же перестал им пользоваться, переустановил при первом удобном случае домашний каталог на раздел, зашифрованный dm-crypt. Основная причина: при некорректном завершении работы (свет выключили, например, а дома я из ноута батарею достаю) многие файлы на этой недо-фс на основе FUSE безвозвратно портятся.

    Теперь знаю вторую причину не использовать его. :) С dm-crypt подобных проблем ни разу не было.
    Ответ написан
    Комментировать
  • Почему пытаются уменьшить площадь процессоров, а не увеличить?

    @immaculate
    Программист-путешественник
    Еще скорость света хоть и велика, но конечна. Насколько я знаю, при увеличении длин проводников возникают проблемы синхронизации работы различных компонентов процессора.
    Ответ написан
    5 комментариев
  • Сборка, непрерывная интеграция, развертывание в проектах на python?

    @immaculate
    Программист-путешественник
    Для «сборки» использую buildout. По сравнению с virtualenv приходится меньше действий делать руками, все более-менее стандартизировано.

    Для CI пока не использую ничего. :( Запускаю тесты руками перед push'ем в репозиторий.
    Ответ написан
    Комментировать
  • Как протестировать новый компьютер на стабильность?

    @immaculate
    Программист-путешественник
    Я гоняю memtest несколько часов, иногда еще cpuburn.

    memtest один раз позволил выяснить, что на б/у ноуте обе планки памяти битые. До этого ноут периодически беспричинно зависал, после замены памяти 1,5 года работает без проблем, даже как-то архив домашнего видео кодировал сутками.
    Ответ написан
    Комментировать
  • Django, NGinX/FastCGI или Nginx+Apache/ModWSGI?

    @immaculate
    Программист-путешественник
    Я в высоконагруженном проекте использую Nginx + gunicorn.
    В другом высоконагруженном проекте успешно используется Apache + mod_wsgi.

    А вот FastCGI не советовал бы. Периодически вылезали с ним проблемы (django fastcgi переставал отвечать на запросы при невыясненных обстоятельствах, периодически были проблемы с рестартом/шатдауном fcgi демона), под runit не удавалось его загнать. Все это наверное решаемо, но зачем мучиться?..
    Ответ написан
    Комментировать
  • Пара «ламерских» вопросов знатокам UNIX?

    @immaculate
    Программист-путешественник
    1) прочитать полностью командную строку нужного процесса:
    xargs -0 echo < /proc/$pid/cmdline

    Еще:
    ps ax --width=$COLUMNS

    2) не сталкивался с таким, но команда reset должна гарантированно помочь
    Ответ написан
    Комментировать
  • Скорочтение и развитие памяти

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

    Ну какой толк от «скоропрочитанного» «Преступления и наказания»? Наверное можно пролистать его за час. А понять, что автор хотел сказать? Многие книги надо читать медленно и вдумчиво, периодически возвращаясь, даже перечитывая спустя какое-то время.

    А закидывание в себя стопок книг, по-моему, неспособно принести ни пользы, ни удовлетворения.
    Ответ написан
    Комментировать
  • 8Gb памяти и CentOS: 32bit или 64bit?

    @immaculate
    Программист-путешественник
    32-х разрядное ядро будет использовать все 8Gb если собрано с поддержкой PAE (может быть в CentOS оно по умолчанию, не знаю, в Ubuntu отдельным пакетом идет).

    Но смысла в этом нет. Некоторые ставят 32-х битные системы на дешевые VPS с небольшим объемом памяти, так как 64-х битный софт отъедает несколько больше памяти. Но на 8Gb это экономия на спичках.

    Подводных камней нет и быть не может, т.к. Linux работал на 64-х разрядных системах едва ли не с рождения (первые порты на альфу и спарк появились где-то в 1995-ом году).
    Ответ написан
    Комментировать
  • Выбор СУБД для проекта?

    @immaculate
    Программист-путешественник
    У вас не требования, а черт знает что. «Операции выборки и вставки» — под это определение любой проект подходит. «100К клиентов» — это столько посетителей сайта или подключений к БД? В секунду, час, месяц?

    Хотя, если брать свободные/бесплатные решения, то выбор все равно между MySQL и PostgreSQL. Ну, еще firebird, но у нее непонятно какие преимущества, а недостатков достаточно много.

    PostgreSQL всегда превосходил по возможностям MySQL, но до версий 8.1-8.2 отставал по производительности. Уже несколько лет как догнал и даже перегнал, поэтому особого смысла использовать MySQL я не вижу. Причем возможности, которые предоставляет PostgreSQL не какие-то экзотические, а вполне применимые в любом проекте, например, window functions.
    Ответ написан
  • Миграция на Linux?

    @immaculate
    Программист-путешественник
    Аналоги OneNote по степени убывания навороченности: basket, tomboy, gnote, zim.
    Аналог Notepad++: мне кажется, что если уж переходить, то на нативные аналоги, такие как vim или Emacs.

    Gimp с нативными файлами Photoshop работает плохо. Запускаю Photoshop в VirtualBox, к счастью, это редко требуется. Если не надо работать с чужими файлами, то Gimp поддерживает отлично слои в своем собственном формате.
    Ответ написан
    2 комментария
  • Чем аккуратно прочитать битый CD-R в Ubuntu?

    @immaculate
    Программист-путешественник
    ddrescue, gddrescue, в репозиториях Ubuntu они есть.
    Ответ написан
    1 комментарий
  • Покупка акций на NASDAQ?

    @immaculate
    Программист-путешественник
    Сергей Голубицкий из Компьютерры — довольно противоречивая личность, на мой взгляд. У него есть школа интернет-трейдинга, на сайте которой более-менее подробно расписано как покупать и продавать акции западных компаний. В открытом доступе. Название сайта не помню, что-то вроде internettrading.{com, net}, думаю, точное название легко нагуглить.

    DISCLAIMER: не имею никакого отношения к этой школе, более того, никогда не приобретал никаких акций, просто бродил по сайту школы из чистого любопытства.
    Ответ написан
    Комментировать
  • Контроль версий базы данных (сайта)

    @immaculate
    Программист-путешественник
    Сомневаюсь, что существую такие базы данных. В MySQL и PostgreSQL такого точно нет. Вам правильно предложили, необходимо либо хранить лог всех запросов к базе, другого решения нет, если вам важна возможность увидеть буквально любое изменение.

    Или перейти с Drupal на что-либо более продвинутое. Например, для Django существует несколько приложений, реализующих версионирование.
    Ответ написан