• Так ли безопасно использование абсолютного пути в *nix системах, как мы привыкли считать?
    0
    Не в качестве «эксперта», а скорее в качестве КО, выступающего в качестве набюдателя :) — многие юзают ключи только для того, чтобы не вводить пароль для доступа к удалённому серверу, а ввод passphrase для них — это почти то же, от чего они хотят избавиться :)
  • Интересные особенности Python, о которых вы могли не догадываться
    0
    Не понимаю, за что qrck13 заминусовали.


    Думаю, что минусы в основном за:

    интересной особенностью о которой я не догадывался
    и
    нигде вообще не удиляют внимания
  • Интересные особенности Python, о которых вы могли не догадываться
    –2
    GIL при необходимости можно легко разблокировать с помощью cython

    Но это уже будет не совсем python, хоть и запускаться процесс будет из python.
    По тому же принципу можно просто через system запускать другие процессы (скрипты на python) в бекграунде и говорить, что GIL совершенно ничем никому не мешает :)
  • 15 малоизвестных команд Linux
    0
    А ещё можно этот поиск сделать более полезным/избирательным
    !ssh — вызовет последнюю команду, которая начиналась на ssh
  • 15 малоизвестных команд Linux
    0
    Это фишка zsh. Ещё Вы можете написать cd ~/d/p/p/a/c и точно так же попадёте в ~/dev/project/production/app/controllers
    Но sh и bash так не умеют ;)
  • Как я мониторил Avito по SMS
    0
    )) Ну это уже не должно быть проблемой языка ;)
  • Как я мониторил Avito по SMS
    0
    :)
    Не, на perl'е можно писать просто чтобы писать на perl'е, можно писать неподдерживаемый код, можно писать просто странный код, а можно писать хорошо читаемый и поддерживаемый код. Он многое позволяет, нужно просто правильно использовать и по ситуации. Вон, python вполне не плох, порог вхождения не высокий, есть рекомендации как писать правильно, но он так же позволяет написать откровенно странный и сложно поддерживаемый код.
  • Как я мониторил Avito по SMS
    0
    Я ни в коем случае не в претензию :) Просто по запросу perl http get в первых пяти результатах речь как раз про LWP, с примерами :), т.е. довольно распространённая и простая библиотека.
  • Как я мониторил Avito по SMS
    +1
    s — позволяет внутри одного регекспа проводить поиск в нескольких строчках

    Немного не так. Модификатор просто позволяет точке («.» — любой символ) соответствовать вообще любым символам, переносу строки в том числе. ;) Используется обычно вместе с m. А без этого модификатора регулярка всё равно работает со всем содержимым переданной переменной, просто переносы строки придётся указывать явно… Т.е. при указании этого модификатора все \n можно/лучше заменить на «точки», иначе пропадет смысл использование модификатора.

    У Вас регулярка указана не строкой в кавычках, поэтому внутри кавычки экранировать не нужно.
    Ленивые квантификаторы, это правильно, ну чуть быстрее будет обрабатываться если их заменить на что-то вроде [^"]+, например (в нужном месте). В данном конкретном случае это почти ничего не изменит, но вырабатывать правильные привычки — правильно :)
  • Как я мониторил Avito по SMS
    0
    * … уступив затем зачем-то место … :)
  • Как я мониторил Avito по SMS
    +1
    В моджо вникать дольше и сложнее, чем в регулярки и вызов system :)
    Но почему wget, а не LWP мне всё равно не понятно.
  • Запуск DOS-приложения в Linux
    0
    У меня на Linux x64 что-то под dosemu работало, т.е. проблем из-за разрядности не было.
  • История одного факапа Яндекс.Навигатора. В шести действиях с прологом и раскаянием
    +4
    Кроме синхронизации не помешал бы импорт/экспорт избранного в файл на карте…
  • ATtiny13a: Контроллер управления СТОП-сигналом и габаритными огнями автомобиля
    +1
    Вы жалуетесь на яркость стопов другой машины и сами пишете про 1000 люмен для габаритов и 2000 для стопа, и про десятиваттные диоды. Может быть для светодиодов красного свечения всё обстоит совсем иначе, но у меня рабочий свет по бокам был как раз из десятиваттных фонарей. В каждом фонаре один десятиваттный диод и заявлено 1500 люмен. Я бы таким просто в лицо светить не стал, не говоря уже про во время движения. Или есть жаление найти тот приус, пристроиться перед ним и отомстить? :D
  • Создание фотомозаик с помощью языка Wolfram Language (Mathematica)
    0
    Анализировать мобильником многогиговую фотоколлекцию? Тогда уж делать в web'е и для итоговой картинки использовать «свою» коллекцию фотографий из интернета…
  • Это правильно, но неверно
    +1
    Такая формула может запутать, я почему-то не сразу понял почему она именно такая :) Поезда столкнутся через два часа, значит два часа муха будет летать со скоростью 75 км/ч.
  • Это правильно, но неверно
    0
    Как только пояснили про «только один раз взвесить» так сразу нашёлся ответ. Хотя тут тоже можно позадавать вопросы — можно ли открывать банки, много ли таблеток в каждой банке (вдруг их там по три всего)… Но такая задачка-головоломка лучше определена, полнее условие, etc.
  • Это правильно, но неверно
    –1
    Это уже не похоже на бесконечность :)

    Я к тому, что без дополнительных условий/ограничений корректными могут быть более одного способа подсчёта, а рандом, он такой рандом, что теоретически вероятность 50:50, а на деле при недостаточно большой выборке соотношение результатов получается совершенно другим.
  • Это правильно, но неверно
    –1
    А если допустить бесконечность кол-ва родов одной семьёй и бесконечность числа семей?
    Имеем 100 семей с первенцем — мальчиком.
    Ещё 100 семей с одной девочкой и одним мальчиком
    Ещё 100 семей с двумя девочками и одним мальчиком
    Ещё 100 семей с тремя девочками и одним мальчиком
    Ещё 100 семей с четырьмя девочками и одним мальчиком

    Начиная с семей, в которых по четыре ребёнка, девочки начинают заметно перевешивать.

    Хотя такой ответ скорее всего не посчитают ни правильным, ни верным :)
  • Семейный фильтр Яндекса дал сбой
    0
    Ну можно, на самом деле, ещё вспомнить, что многое зависит от контекста. Темы бывают разные, и не важно какого профиля ваши коллеги — когда вы обсуждаете что-то определённое, то имеет смысл называть это что-то определённое его же названием. Другой вопрос, что многие в большинстве случаев не начнут с коллегами ни с того ни с сего обсуждать влагалище, селезёнку и прочие органы.
    Могут быть разные ситуации, иногда маленькому ребёнку лучше что-то объяснить в более простой форме (в более простой для ребёнка, родителю будет только сложнее )) ), но на то они и ситуации, что иногда можно что-то упростить/заменить, а иногда это просто не имеет смысла. В разговоре с врачом, например, вы вряд ли станете подменять слова, а потом ещё и говорить всем какой этот врач невоспитанный и как много говорит неприличных слов.
    Контекст, ситуация… Какие-то темы просто затрагиваются реже в силу специфики окружения, работы и т.д., из-за чего могут казаться неподходящими, но не более того…
  • MediaTek MT6595: впечатления от… чипсета
    0
    Здесь больше вопрос к производителю девайса, а не чипа. Некоторые пару раз выпускают багфиксы и через три месяца забывают о модельке, некоторые поддерживают модель пока она не устареет (в текущих реалиях год-полтора).
    У меня MT6577, выходил с 4.0.4 версией. Официально обновился до 4.1.2, кастомная последняя ставится 4.2.2.
    Не могу сказать, что очень долго поддерживали. Но между версиями андроида больше года.
    С нынешними темпами развития производительности и прожорливости ПО постоянные обновления до последних версий противопоказаны :)
  • MediaTek MT6595: впечатления от… чипсета
    0
    Многое зависит от качества сборки… даже не производителя, а конкретного устройства.
    У меня уже старенький китайский jiayu с MT6577. После покупки радовался хваткому GPS по сравнению с заменённым HTC (на квалкоме). Но как-то выпал период частых падений телефона и теперь gps отвратительный :(
    Супруге взял jiayu c MT6592, из первых партий. Холодный старт GPS не сильно отстаёт от полноценных gps-навигаторов. Но при этом на «телефонных» форумах не мало тем по данному телу типа «Как поправить ужасный GPS». В этом китайце всё равно дешёвая gps-антена, но вот с качеством сборки, видимо, повезло.
  • Сервис мониторинга свободного места на Bash
    +1
    Это же «сертифицированная ОС». Systemd в ней только года через два появится, а то и позже :)
  • Сервис мониторинга свободного места на Bash
    0
    > Скрипт обрабатывает посылаемые ему сигналы с задержкой указанной в
    > переменной CHECK_PERIOD, а не моментально.
    > … зависит именно из-за цикла


    Здесь не цикл виновал, а sleep. Сигнал отправляется bash'у, им же получается и обрабатывается, но bash в скрипте — это то, что находится между вызовами внешних утилит, то есть как только по завершении sleep'а к bash'у вернётся управление, так он сразу же сделает всё, что от него требуется…
  • Выпущен чипсет MediaTek MT6795: «первый», «восьмиядерный», «64-разрядный»
    0
    > печально известный rolling shutter

    Да, я как раз про него. С одной стороны досадная особенность некоторых матриц, с другой стороны при правильном подходе и снижении размера картинки можно получить более «быстрое» видео на тех же мощностях.

    .
    > нужно стараться допустить как можно меньше размытия.

    С этим не поспоришь. Но мы же про бюджетный сегмент…

    А хочется качественного видео — вот гоупрошка hero4 вышла, всего $500. Правда там для 1080p только 120fps, но уверен, что с их качеством можно будет построить отличные 240fps. Благо реализаций алгоритма уже достаточно, в том числе есть и opensource.

    Хотя с китайцев станется реализовать алгоритм с похожим результатом vimeo.com/27681404 на аппаратном уровне :) Тогда им и кадров много снимать не нужно, лишь бы каждый кадр был достаточно чётким.

    Посмотрим чего будет на выходе, когда пойдёт в серию…
  • Выпущен чипсет MediaTek MT6795: «первый», «восьмиядерный», «64-разрядный»
    0
    В таком контексте не хотелось тратить время на поиск этой далеко не свежей инфы.

    Сразу оговорюсь — про реализацию этой возможности именно в данном чипе я могу только предполагать, но я описал давно применяемую практику для решения озвученной проблемы с требованием «короткой выдержки». Собственно в моём предыдущем комменте формулировка как бы намекает на решение задачи в общем случае, а не конкретно в смартфонах на чипе из темы.

    Вы сами упомянули фото, поэтому от него и оттолкнусь.
    Когда-то давно (ну как давно, лет шесть-семь назад :) ) я озадачился выбором фотоаппарата. На тот момент анонсировали casio ex-f1, который мог снимать видео в 1200fps. Так как на тот момент это был довольно свежий аппарат, и такая возможность в нём тоже была свежа, то постепенно по нему появилось много инфы. Сейчас, увы, найти её сложнее. Но там была инфа на интересующую Вас тему.
    Это было вступление и указание в каком направлении можно найти запрошенную информацию :) Почитайте каким образом на небольшой и не очень дорогой шестимегапиксельной матрице с не самым дорогим чипом удалось получить видео с таким фреймрейтом.

    Вы никогда не замечали, что при фотографировании на смарт при не самых подходящих условиях на экране во время «прицеливания» всё отображается довольно чётко, а сама фотография получается смазанной? При этом смазанная она не при просмотре 1:1, а при просмотре в том же масштабе на том же экране. А при увеличении iso в настройках (это я всё про смартфоны) до максимального значения фотография из 8 мегапиксельной превращается в 1.3 мегапиксельную. Можем сделать вывод, что есть зависимость от того, сколько информации за раз надо снять с матрицы.
    А почему горизонтально двигающийся предмет (быстро двигающийся) может поменять форму на видео?
    1. image, 2. image
    (1 — падает вниз, 2 — летит горизонтально)
    Правильно. Потому что снимая изображение построчно для 300fps-видео нижняя строка кадра снята примерно на 1/300 сек. позже, чем верхняя. Т.е. при самой короткой выдержке упомянутого фотоаппарата в 1/40000, при построчном считывании мы как бы получаем 1/115000 выдержку для каждой строки. Тут это достаточно условно, так как можно снимать по две-три-пять строк за раз, в большинстве случаев это почти никак не скажется на полученном изображении. Но при тех же 300fps-ах мы получаем каждую строку с гораздо более короткой выдержкой.
    Для видео картинки вроде второй (с мячом-эллипсом) — обыденность. Даже при съёмке на киноплёнку верх и низ кадра «получают» изображение в разный временной период, так как затвор не может открыть весь кадр целиком мгновенно.

    .
    > видео снимаемое через 9 строк весьма неслабо «плыло». Это во-первых

    Попробуйте взять 20-мегапиксельную картинку (5K x 4K) и в фоторедакторе уменьшить до 2.08-мегапиксельной (1920x1080). Потом исходное изображение сдвинуть на 1 пиксель наверх и опять уменьшить, потом так же сделать ещё несколько «кадров». Посмотрите насколько сильно «поплыл» результат.
    Да и про девять строк я написал примерно, шаг может быть как меньше, так и больше.
    Подумайте как реализуется в цифровых фотоаппаратах съёмка фотографий разного размера (5, 8, 12, 20 мегапикселей). Думаете для мЕньших разрешений задействуется меньшая площадь матрицы? Ну так в кадр и там и там попадает одинаковая область…

    .
    > Во-вторых, физику тут никто не отменял. Чтобы делать 480fps надо объект на матрице фиксировать не дольше 1/500сек

    Не путайте фото и видео. Это в фотографии нужно зафиксировать полное изображение на матрице и считать его за раз, чтобы не получилось как с мячом на картинке. У видео цель немного другая, а при отсутствии возможности в бюджетном сегменте снимать огромное кол-во полных кадров за секунду, требование к получению полных кадров (где все пиксели изображения получены с одного временного периода) просто отпадает.
    Я, скорее всего, просто не достаточно точно выразился. Я не утверждаю, что видео будет сниматься с выдержкой 1/50 сек, просто данной выдержки будет вполне достаточно.

    Это видео, не фото. Матрица не фиксирует статичное изображение, она его принимает постоянно. Тут нет затвора как на зеркалке, считывается со строки то изображение, которое пришло сейчас, а не зафиксированное какое-то время назад. Почему Вы думаете, что отсчёт 1/50 сек для всех строк должен начинаться в одно время? Для первой строки он начинается во время t, для девятой в t+1/200000 сек. (например), и т.д. для первого кадра, при этом вторая строка (которая первая для второго кадра) начинает считываться в t+1/480 сек.
    и т.д.

    Если 20-мегапиксельная матрица + чип позволяют сделать фотографию с минимальной выдержкой в 1/100 сек. и снимают изображение построчно, то на каждую строку может приходиться более короткая выдержка. Ограничение на минимальную выдержку накладывается в том числе и пропускной способностью и скоростью обработки данных чипом. Если все 4000 строк начнут «принимать» изображение одновременно, а считывать мы их будем последовательно, то последняя строка будет на 1/100 сек переэкспонирована по сравнению с первой, т.о. получаем, что каждая строка должна начинать отсчёт своих 1/100 сек на 1/400000 сек позже предыдущей.
    (все цифры примерные, только для пояснения, при считывании по 4 строки за раз задержка должна будет составить 1/100000 сек, например).

    Посмотрите action-камеры, которые умеют большой fps. Почему для бОльшего fps нужно уменьшать размер изображения? Почему на 240fps картинка получается не очень чёткой? Это не 848x480 пикселей чёткого изображения, это 848x480 пикселей достаточно размытого изображения. При этом 1080p 60fps — каждый кадр чёткий и резкий. Т.е. проблема не в пропускной способности и скорости обработки чипом (тут я уже про gorpo hero 3).

    .
    > Любому фотолюбителю изестно, что делая короче выдержку надо увеличивать либо диафрагму, либо чувствительность

    В том-то и прелесть «построчной съёмки» видео с большой матрицы. Нам не нужно делать выдержку короче, нужно просто в правильном порядке и с правильной задержкой считывать изображение последовательно.

    Любому видеоператору знаком эффект, как на картинке с мячом, и большинство из них знает природу этого эффекта.

    Да и расчёт тут пришёлся в пору.
    заявлена матрица в 20Mpx
    заявлено видео 1080p, т.е. 2.08MPx
    видео меньше разрешения матрицы в 9.6 раз
    при выдержке 1/50 сек получаем 50*9.6 = 480

    Вот честно — не подгонял результат, не подбирал перебором. Оно само так получилось.
    Само собой, это может быть простое совпадение. Но почему-то же не сделали 500 или 600 fps, а обещают именно 480.
  • Выпущен чипсет MediaTek MT6795: «первый», «восьмиядерный», «64-разрядный»
    0
    Для решения подобной задачи видео снимают черезстрочно. Если учесть, что fullhd видео — это 2.08 мегапикселя, то в заявленной 20 мегапиксельной камере в «одном снимке» уже есть чуть больше девяти кадров (точнее 9.6). Т.е. сенсор «принимает» изображение постоянно, а «снимается» оно с него построчно — сперва снимаются 1,10,19,28,… линии вертикальной развёртки, потом для следующего кадра 2,11,20,29,…, потом 3,12,21,… и т.д., пока «снимается» один кадр, проходит некоторое время, и следующий кадр снимается вроде бы и с того же изображения, но всё же в другом временном промежутке. Соответственно при выдержке в 1/50 мы получаем ровно 480 кадров в секунду.
  • Обзор FineVu CR-2000S: как я изучал люксовый регистратор с двумя Full HD-камерами
    0
    Эм. HD-SDI по USB-проводу? Да и не слабовата ли начинка для такого потока…
  • IT-эмиграция: Сингапур
    0
    Затраты указаны ощутимые. А каков порядок з/п?
    Прочитал комменты, вопрос снят :)
  • Как я воевал с компанией HP и победил
    0
    А то что в категорию не попадёт будет немедленно потрогано сотрудниками организации, в кототорую принесут товар для оформления возврата )
  • Как я воевал с компанией HP и победил
    0
    Не совсем так. Есть неустойка. А есть 50% от суммы иска, которые так же выплачиваются истцу (а не в казну). Т.о. если магазин тянет чуть более трёх месяцев, то имеем 100% стоимости товара в качестве возврата за товар, 100% стоимости товара в качестве неустойки и 50% от суммы возврата и неустойки, т.е. ещё 100% стоимости товара. Многие клиенты угрожают судом, но туда идут единицы, именно поэтому многие организации пытаются обмануть клиента. Но возвращать деньги за товар и сверху выплачивать ещё две его стоимости они тоже не любят, поэтому когда дело доходит до получения автографов в бумажки, довольно часто сразу же находится ответственный сотрудник, который «пойдёт на встречу» нерадивому клиенту, чего-то напутавшему в законах, но настолько дорогому для магазина, что его требования будут выполнены…
  • Mojolicious Perl Style
    0
    Положу здесь, вдруг кому пригодится :)
    20 most important Perl Best Practices
  • Mojolicious Perl Style
    0
    Вообще я не планировал обсуждать непосредственно код, потому и написал, что у каждого свой подход. Но пример привести могу.

    Например я согласен, что такой вариант может улучшить читаемость. Я и сам не люблю подобные короткие блоки разносить на пять строк.
    Методы в одну строку.
    sub node { shift->tree->[0] }
    
    * само собой при условии, что они достаточно короткие и рядом есть аналогичные по длине


    Но такой вариант записи вряд ли улучшит читаемость/понимаемость кода.
    Срез массива.
    $_ eq $child ? last : $i++ for @$parent[$i .. $#$parent];
    

    Здесь конечно не метод, но тоже некий блок, да ещё с условием в краткой форме. По мне так гораздо читабельнее было бы записать этот фрагмент как метод в одну строку (из примера выше). Да и при необходимости выполнить более одной операции в результате сравнения такой вариант придётся переписывать, а не просто добавить новое действие. Тут на мой взгляд и ухудшение читаемости и закладывание необходимости большего объёма работ для любой небольшой правки кода…
  • Оптимизация Linux для desktop и игр
    0
    Ну она точно так же использует hg/git/bzr/… и имеет набор хуков для менеджеров пакетов в разных дистрибутивах. Мне проще/понятней будет самому выполнять commit :). А так как пока меня подход заинтересовал исключительно в плане содержимого конфигов, то действительно для меня проще напрямую использовать привычную vcs.
  • Mojolicious Perl Style
    0
    А вообще по теме… Соглашаться или не соглашать со стилем программирования — тут у каждого свой подход. А вот стиль изложения мыслей довольно сложный, путанный. Где-то описание к примерам похоже именно на описание, или пояснение, а где-то это просто заголовок.


    используется такая конструкция условия, если первое истина, а второе ложь, чтобы не выполнялось второе условие, если первое ложь.
    Там собраны некоторые функции, в методе import, через вышеописанную функцию monkey_patch добавляются.

    Понимать сложно…


    И если часть примеров вроде бы нацелены на улучшение читабельности кода, то остальные совершенно противоположны этой цели :)
  • Mojolicious Perl Style
    0
    Вот говорю я коллегам, что perl — это не страшно, perl — это не сложно, perl — это читабельно/понимабельно, perl — это не обфускатор. И что я теперь скажу, если они прочтут эту статью? :-D

  • Mojolicious Perl Style
    0
    Плагином к vim'у не поделитесь? :)
  • Оптимизация Linux для desktop и игр
    –1
    А /etc под hg запихнуть — интересная идея. Сам сижу на arch'е (выше про убунту — это скорее наблюдение со стороны и последующая помощь в возврате системы к жизни :) ), конфиги тут сами по себе не меняются, а вот чтобы свои бекапы при серьёзных изменениях не плодить использование cvs может оказаться удобным/полезным…
  • Оптимизация Linux для desktop и игр
    +1
    На моей памяти ни разу ubuntu после обновления (например, 12 -> 13) не вела себя как свежеустановленная система или хотя бы не хуже этой же системы до обновления. Почему-то всегда вылезали какие-то проблемы, когда больше, когда меньше, и проще было форматнуть / и переустановить систему не форматируя /home — 30 минут работы (с учётом скачивания дистрибутива и записи на флешку) и получаем свежеустановленную почти полностью настроенную систему.
  • Вышел BitTorrent Sync 1.4
    +1
    У них написано, что он очень похож на bittorrent. Но «очень похож» не равно «такой же».