Профиль пользователя заблокирован сроком «навсегда» без указания причины
  • Как объяснить девочке-обладательнице iMac, как передать мне файлы?

    @MikhailEdoshin
    Cyberduck, FTP-клиент для Mac OS. Есть русская локализация.
    Ответ написан
    Комментировать
  • Умный pdb_trace() - как поставить брейкпоинт на конкретную итерацию?

    @MikhailEdoshin
    Можно просто жать Enter — он повторяет последнюю введенную команду. Удобно также пользоваться n[ext] — он выполняет команды, не заходя в вызываемые функции или unt[il] — выполняет команды до тех пор, пока не окажется строчкой ниже (т. е. если в последней строчке цикла сказать until, он промотает весь цикл и остановится на следующей команде. Чтобы поставить условный breakpoint, нужно сказать b[reak] ([file:]lineno | function)[, condition], например, break 42, a = 5. Команда перехода к нужной строке — j[ump]. Вот насчет отлавливания типичной ошибки не скажу — таким не пользуюсь. Но вообще такое вроде есть — например, можно завернуть вызов программы в собственный try/except, отловить ошибку, посмотреть ее текст, и если совпадает — запустить отладчик (вот тут не помню, как из кода его запустить), чтобы посмотреть стек вызовов (w[here]).

    Кстати, он вам ошибку выводит, а traceback не печатает, что ли?

    См. также руководство к модулю и внутреннюю справку (h[elp]).
    Ответ написан
  • Библиотеки/средства, способные напечатать текст в изображение, пригодное для печати на принтере?

    @MikhailEdoshin
    Текст и картинка разные вещи. Текст печатается с разрешением принтера (например, 300 dpi — это достаточно низкое разрешение, недостатки будут заметны невооруженным глазом), а картинка — с линеатурой растра (например, 75 lpi — это, напротив, довольно высокая линеатура). Если печатать текст картинкой, он всегда будет дробиться растром, тут ничего не сделать. Копайте все-таки в сторону измерения длины строки как-то.
    Ответ написан
    4 комментария
  • Как при сборке ffmpeg под ubuntu явно указать нужную библиотеку libx264?

    @MikhailEdoshin
    configure ругается, а не последующий make? configure же вроде больше общие библиотеки проверяет, да компилятор. Посмотрите configure --help, может, там что-то полезное будет. В принципе, обычно тонкие настройки передаются configure через временные переменные окружения, например:

    LFLAGS=путь/к/новой/библиотеке.lib ./configure
    

    но это зависит от проекта, скорее всего.
    Ответ написан
    1 комментарий
  • Можете подсказать алгоритм поиска наиболее часто встречающихся подстрок в тексте?

    @MikhailEdoshin
    Суффиксное дерево (также на английском). Строится за линейное время, время поиска пропроционально длине искомой строки, памяти, правда, много занимает. (Забавно, что в Дискретном анализе (2003) И. В. Романовского в главе «Суффиксное дерево» дается пример как раз с этой же фразой о Карле и Кларе.)
    Ответ написан
    4 комментария
  • Как правильно спроектировать протокол обмена данными между клиентом и веб-сервисом?

    @MikhailEdoshin
    Часто выбор формата делают либо через «расширение файла» (domain.com/method.xml vs method.json), либо через HTTP-заголовок Accept.
    Ответ написан
    Комментировать
  • Как правильно построить гладкую кривую имея набор точек?

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

    См. также StackOverflow.
    Ответ написан
    Комментировать
  • Нахождение двух пересекающихся массивов среди k отсортированных

    @MikhailEdoshin
    Сливать отсортированные массивы удобно с помощью кучи. Пусть n — общее число элементов и k — количество массивов. Делаем кучу из k элементов, укладываем в нее первые элементы массивов. Затем на каждом шаге извлекаем из нее минимальный элемент (log k) и добавляем обратно тот, который следует за ним в массиве (log k). Общая сложность этого шага — 2n log k.
    Ответ написан
    Комментировать
  • Гражданский договор на работу с иностранным заказчиком?

    @MikhailEdoshin
    Это в чистом виде случайный заработок, оформляйте только то, что требуется американской стороне (а им вряд ли что-то требутеся, разве что NDA), в следующем году сдадите декларацию о доходах, укажите полученные суммы, заплатите налог. Никаких договоров и актов не надо.
    Ответ написан
    2 комментария
  • Какие книги стоит прочесть?

    @MikhailEdoshin
    У нас в отделе иностранной литературы есть несколько толстых американских учебников по разным предметам — деловая переписка, финансы, менеджмент. Они все примерно одного формата — квадратные такие, большие — наверное, это стандарт. Я несколько так или иначе просмотрел — и менеджеру, финансисту и т.п. я очень советовал бы проработать такой учебник по специальности :)

    Вообще же скажу банальность — все люди разные, то, что пригодится одному, никак не поможет другому. У меня несколько крупных сдвигов в мировоззрении начинались с одной фразы в случайной книжке.
    Ответ написан
    2 комментария
  • Как сменить Culture на Mac OS X

    @MikhailEdoshin
    Culture-- это ж локаль, т.е. форматы дат и т.п. Они от языка не зависят, их нужно отдельно менять.
    Ответ написан
    Комментировать
  • Как интегрировать СУБД FileMaker и 1С?

    @MikhailEdoshin
    Лично я бы делал это из FileMaker: создание счета — через Execute SQL, получение статуса — через Import ODBC. (Предполагается, что Postgres доступен через ODBC.) Если бы это был MS SQL, MySQL или Oracle, то можно было бы подсунуть их FileMaker в качестве внешнего источника данных.
    Ответ написан
    1 комментарий
  • Как получить деньги из-за рубежа?

    @MikhailEdoshin
    Банковский перевод (wire transfer), стоит около $30, обычно в деловом обороте платит тот, кто переводит. У меня, например, карточка Сбербанка в долларах, перевожу таким образом на ее счет, никаких комиссий сверх нет, деньги сразу на карточке, СМС сообщает, когда приходят. Если они могут перевести в долларах на Moneybookers, то вывод с Moneybookers на долларовый счет в России — около $2.5. (Но там может быть дополнительная плата за обмен валют плюс при серьезных суммах придется разово выслать им всякие подтверждения.) Правда, банковский перевод в российский банк, разумеется, доступен для налоговой (что, впрочем, не значит, что они их активно отслеживают). В принципе, если просто платить НДФЛ, то это будет раз в год декларация и 13% соответственно в апреле и в июле следующего года. Ну или как вам советуют ИП на УСН, там больше хлопот, но налог всего 6%.

    Если стоит задача затихариться, то обсуждать это на публичном форуме — не самая лучшая идея, разумнее искать в пассивном режиме :)
    Ответ написан
  • HTTPSConnection.getresponse() ...reesponse.read() протекает память. Нет?

    @MikhailEdoshin
    А какой у вас питон и операционка, кстати?
    Ответ написан
  • HTTPSConnection.getresponse() ...reesponse.read() протекает память. Нет?

    @MikhailEdoshin
    Я бы проверил pdb этот код и на response.read вошел бы в функцию. Насколько я понимаю, это вызывается HTTPConnection.read из httplib, но там несколько вариантов — хорошо бы понять хотя бы в какую ветку идет код.
    Ответ написан
    4 комментария
  • Чем заменить медленный запрос с LIKE?

    @MikhailEdoshin
    На всякий случай проверьте, проиндексировано ли поле с телефонами; если нет или index minimal, переставьте на all. Скорее всего, проиндексировано, конечно.

    Оптимальный вариант — переделать как советует da0c, только фиксированной длины не надо и пробелами не надо добивать, в FM это бессмысленно. Я тут потестировал одну относительно несложную переделку, но она еще медленнее оказалась.

    Если база на сервере и SQL не принципиален, можно через HTTP GET данные запрашивать; данные будут в XML, но при желании в версии до 11 включительно можно их прямо там через XSLT прогнать.
    Ответ написан
    6 комментариев
  • Проверка исходников python с целью ограничить им доступ к классам проекта?

    @MikhailEdoshin
    Если модуль импортирует sys, то он может добраться до уже импортированного модуля через sys.modules, не используя явный import. Плюс у каждой питоновской функции есть func_globals, ссылка на словарь модуля, в котором она определена. Со всем содержимым модуля, естественно. Так что если вы передаете безопасную питоновскую функцию из опасного модуля, можно будет получить доступ ко всему модулю, и, соответственно, по цепочке ко всем другим модулям из которых тот что-то импортировал.
    Ответ написан
  • Вывод денег с oDesk через Skrill (Moneybookers)

    @MikhailEdoshin
    Переведите небольшую сумму посмотреть. Если у вас обычный счет, то Scrill за зачисление, по моему, вообще не берет. За перевод на счет в России у них фиксированная плата $2.5, так что общая стоимость перевода будет около $3.5. (То есть если у вас карта российского банка, просто узнайте номер ее счета и переводите на счет. Наверное, проще, если карта в долларах.)

    Если же у вас merchant-счет, то начинают брать процент за зачисление и переводить с oDesk суммы больше $1000 будет дешевле по wire transfer.
    Ответ написан
    Комментировать
  • Visual c++ redistributable

    @MikhailEdoshin
    Это, кроме последней, микрософтовская C/C++ рантайм-библиотека (последняя — тоже какая-то библиотека). Рантайм нужен всем программам, некоторые встраивают его статически, некоторым это не подходит, поэтому они таскают с собой вот эту библиотеку. Она ставится в системный каталог и инсталлятор-деинсталлятор у нее отдельный, хотя обычно инсталлируется она прозрачно во время установки основной программы.

    Микрософт, в своей безграничной мудрости, сделал разные версии рантайма несовместимыми, поэтому чем больше у вас программ, тем может быть больше и рантаймов. (И это вы еще не все видите, некоторые программы хитрым образом укладывают рантайм рядом с собой.) Так что да, это нормально. Может, как раз Стим их и ставит на всяких случай для поддержки старых игрушек.
    Ответ написан
    1 комментарий
  • Рекурсивные(?) регулярные выражения в tcl?

    @MikhailEdoshin
    Я не совсем понял вопрос, может быть, но если вам нужно проверять соответствие скобок регулярным выражением, то это в принципе невозможно. Регулярные выражения могут описывать только регулярные грамматики, это третий тип грамматик, их можно разбирать автоматом без памяти, а соответствие скобок — это грамматики второго типа, более мощные, для них нужен парсер. Вы можете проверять соответствие скобок, если у вас, допустим, не более пяти пар в строке (то есть ограниченное число), но в общем случае нет.

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