• Есть ли смысл платить за использование опенсорс библиотек наподобие Awesomium?

    @nirvimel
    СНГ, по вашему, это что Папуасия какая-то? Тут что не действует законодательство в сфере авторского права?
    1. Обладатель исключительных прав на интеллектуальную собственность (произведение) в праве самостоятельно устанавливать условия, на которых он предоставляет право использования данного проведения. Эти формальные условия составляют лицензию.
    2. Потребитель в праве отказаться от предложенных ему (по лицензии) условий, это означает отказ от использования произведения, или согласиться на эти условия и осуществить использование. В случае согласия между потребителем и правообладателем начинает действовать договор использования, условия которого прописаны в лицензии.
    3. Не исполнение любого из пунктов договора одной из сторон может повлечь судебный иск от потерпевшей стороны.
    4. Суд четко пояснит непонятливым смысл "черных буковок на белом фоне".
    Ответ написан
    3 комментария
  • Что я не понимаю в замыканиях?

    @nirvimel
    Сама функция inBetween вызывается на этой строке.
    alert( filter(arr, inBetween(3, 6)) ); // 3,4,5,6
    Обратите внимание, она не передается в filter, а именно вызывается в этом месте. Дальше из себя она возвращает другую функцию function(x), внутри нее переменные a и b принимают конкретные значения 3 и 6 в этот момент. Дальше возвращенная функция function(x) передается в filter в качестве параметра func, именно она и вызывается в этой строке:
    if (func(val)) {
    Ответ написан
    Комментировать
  • Вывести output в один столбец на python?

    @nirvimel
    Если я правильно понял вопрос, то проблема только в форматированном выводе.
    print '\n'.join(('%s;%s' % (key, value) for key, value in grades.most_common()))
    Ответ написан
    2 комментария
  • Как в СССР писали свои операционные системы/языки?

    @nirvimel
    Начать можно с этого:

    .
    1. Было ли влияние и связь с Западом(если да, то как и какое?)

    Влияние было огромное. Обратите внимание, все наиболее успешные разработки - клоны созданы под сильным впечатлением известных западных аналогов.
    Серия ЕС (самый знаменитый советский мейнфрейм) -> IBM System/360 (самый знаменитый несоветский мейнфрейм).
    Серия "Электроника" -> PDP-11 (самая знаменитая Мини-ЭВМ до прихода персоналок).
    В 80-х пошла куча клонов ZX Spectrum, Apple, IBM PC. В основном, неплохие клоны.
    А вот полностью оригинальные ни с чем не совместимые разработки (много было их) как-то не оставили значительного следа в истории.

    2. Технические подробности, как дебажили, как писали и всё такое.

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

    @nirvimel
    Ваш roboto-icons.rp - это ZIP-архив. Распакуйте его, разберитесь со структурой каталогов, найдите ваши стили, подредактируйте, запакуйте все обратно и верните архиву расширение .rp.
    Ответ написан
    7 комментариев
  • Какая математическая формула?

    @nirvimel
    x = s / (2^(n-1) - 1), где s - сумма выигрыша; n - количество "мест".

    1531f4d51b2d46ff85df51323d91b79f.png
    Ответ написан
    Комментировать
  • Можете подсказать какие-нибудь статьи\курсы связанные либо вообще с анонимизацией в интернете, либо отдельно с криптологией?

    @nirvimel
    8fa368a5ee40cf3bcf8a02fe622.jpg
    К сожалению в русском переводе есть только несколько устаревшее 2-е издание. Но все равно это лучше, чем вторичная продукция тех, кто сам учился по этой книге.
    Ответ написан
    1 комментарий
  • По какому принципу работают программы по оптимизации ОЗУ?

    @nirvimel
    Они работают по принципа маркетинга:
    1. В момент когда юзер узнает что-то про выделение/освобождение оперативки, с вероятностью 0,5% ему в голову придет мысль (по привычке) скачать программу для оптимизации этого процесса (как зачем? это же такая ОПТИМИЗАЦИЯ).
    2. После окончания триала 1 из 10 юзеров (так же по привычке) оплатит full version.
    3. ???
    4. PROFIT!


    В действительности управление выделением памяти - исключительная прерогатива операционной системы и никакие прикладные программы не способны ей в этом помочь (разве что помешать).
    Ответ написан
    3 комментария
  • Возможно ли передать картинку на объектив видеокамеры через оптоволокно?

    @nirvimel
    По оптоволокну возможно передать только цифровой сигнал (последовательно импульсов и пауз между ними). Чтобы как-то применить оптоволокно в вашем случае придется ставить с одной стороны ip-камеру + одноплатный комп + сетевую карту под оптоволокно; с другой стороны - тоже самое только без камеры, но с диском для записи (работа в роли регистратора). Думаю, это - не то, чего вы ожидали.

    Совет: Берите авто-регистратор на две камеры (одна в встроенная, одна внешняя) и не заморачивайтесь.
    Ответ написан
  • Компиляция только для одной платформы?

    @nirvimel
    В общем случае - да, лучше перекомпилировать.
    Но это зависит не от названия дистрибутива, а от версий конкретных библиотек от которых зависит проект. Некоторые различия версий допускают бинарную совместимость зависимых пакетов, некоторые - нет. Поэтому для каждого (скомпилированного) бинарного пакета всегда четко устанавливается допустимы диапазон версий библиотек от которых он зависит. Это означает, что на этом диапазоне пакет протестирован, работает корректно и может быть перенесен в любой debian-based дистрибутив при условии соответствия версий библиотек, иначе он не установится.
    Ответ написан
    1 комментарий
  • На чем реализовывать интерфейс для Java-приложения?

    @nirvimel
    Вариантов GUI под десктоп не много:
    1. Swing/AWT.
    2. JavaFX - призван на замену Swing самим Oracle.
    3. SWT - альтернатива от IBM, лежит в основе Eclipse.
    4. Qt Jambi - хорошая задумка, но так и не успел набрать популярность, Nokia (основной разработчик) бросила его после поглощения M$.

    С выбором GUI под web дела обстоят чуть лучше.
    Ответ написан
    Комментировать
  • Как сделать свой SJ Data Killer?

    @nirvimel
    Держать аккумулятор постоянно заряженным - это все крайне ненадежно.

    У нас (только не спрашивайте - где) делали так:
    • Из флешки вынимается плата (чип занимает большую часть платы) с разъемом, корпус выбрасывается.
    • Ровно по середине чипа (можно условно) проводим линию.
    • Плата погружается в эпоксидку ровно по эту линию. Застывает первая половина "кирпича".
    • Край заливки на линии смазывается каким-нибудь жиром.
    • Плата погружается в эпоксидку другой стороной. Застывает вторая половина "кирпича". Смазка не дает половинам слипнуться вместе.
    • Получается эпоксидный "кирпич" из двух половин, которые соединены между собой только одним чипом (под ним еще плата, но не важно).
    • Когда вас просят достать все из карманов (сами они туда не полезут), вы одной рукой нажимаете пальцами на вашу "флешку" посильнее (щелчок практически не слышен в шаге от вас) и кладете на стол две разломанные половинки, в каждой из которых торчит по половине кристалла (!).
    Ответ написан
    8 комментариев
  • Используются ли все зависимые библиотеки при импорте в Python?

    @nirvimel
    В Python импорт полностью динамический и происходит в runtime. Можно написать:
    if moon_phase == 42:
          import sqlalchemy

    Тогда ImportError будет вылетать при определенной фазе луны.
    Зависимости пакетов в setuptools к этому отношения не имеют.

    Что касается best practice, то абстракция от ORM или любого другого уровня часто реализуется так:
    • Общий функционал, не зависящий от реализации, выносится в ядро, которое оформляется отдельным пакетом mylibrary_core.
    • Связи с конкретной реализацией оформляются в виде плагинов в отдельных пакетах (mylibrary_django, например).
    • Каждый такой плагин имеет зависимость к ядру и к конкретной реализации (django, например).
    • Конечный юзер начинает установку сразу с mylibrary_django, который автоматом подтягивает mylibrary_core, о котором юзеру беспокоится не приходится.
    Ответ написан
    4 комментария
  • Какой язык выбрать для "системного" программирования?

    @nirvimel
    Для системного программирования под Linux язык не выбирают, тут существует в основном один язык - Си.
    Порог вхождения у самого языка не очень высокий. Гораздо выше порог вхождения в системное программирование как специальность.
    Ответ написан
    Комментировать
  • Как выполнить действие после yield?

    @nirvimel
    try:
        while condition:
            yield something
    finally:
        db.close()

    И замените это
    except:
        continue
    на
    except StandardError:
        continue
    Ответ написан
    4 комментария
  • Как лучше хранить огромное число небольших файлов?

    @nirvimel
    Хранить ли их в одной папке

    Ни в коем случае!

    Если лучше хранить в дереве папок, то какая глубина вложенности оптимальная?

    Цель - распределить файлы так, чтобы в любом каталоге находилось не более тысячи (максимум - несколько тысяч) файлов. То есть, до нескольких миллионов файлов - двух уровней иерархии достаточно.

    Почему так? - См. ответ Как лучше организовать электронную библиотеку?
    Ответ написан
    Комментировать
  • Как реализовать разборку/сборку картинки в одномерный массив?

    @nirvimel
    Не может быть никакой разборки/сборки, потому что картинка - это и есть одномерный массив, индексация в котором происходит по двум переменным image_data_ptr[x + y * width]

    Если у вас картинка (массив пикселов) имеет другой тип, то просто приводим его к char *, например:
    char * _1d_image_data_ptr = (char *) image_data_ptr;
    Ответ написан
    Комментировать
  • Почему не выполняется запрос с выдачей прав?

    @nirvimel
    Узнать подробности об ошибке можно, например, так:
    try:
        self.cursor.execute('GRANT SELECT, INSERT ON TABLE log_fields TO manager;')
    except psycopg2.Error as e:
        print(e.pgerror)
        print(e.diag.message_primary)
        print(psycopg2.errorcodes.lookup(e.pgcode))
    Ответ написан
    1 комментарий
  • Основное понятие по virtdev в Django?

    @nirvimel
    1. Поправьте заголовок: virtdev -> virtualenv.
    2. В Django нет никакого virtualenv. Но в virtualenv есть можно поместить Django.
    3. Если вы не можете понять зачем все это нужно, то, вероятно, все это вам не нужно.
    Ответ написан
    Комментировать