Спасибо за статью! Сделал print server на основе Sipeed Nezha Lichee RV, воспользовался ссылкой из вашей статьи на образ Armbian (https://disk.yandex.ru/d/da8qJ8wyE1hhcQ/Nezha_D1/ArmbianTV/20220627). Примечательно, что даже спустя год более новые образы как из соседних папок, так и с сайта Armbian, несмотря на заявленную поддержку как Lichee RV, так и более новых плат, не запускаются на Lichee RV (нет HDMI сигнала). По serial не проверял -- нет подходящего кабеля.
Для тех, кто, возможно, тоже захочет сделать print server на этой же плате Lichee RV для древнего HP LaserJet 1010 (для других принтеров нужно будет выбрать другой драйвер), просто оставлю последовательность действий здесь:
Скачать образ по ссылке выше, прошить на любую sd-карту с помощью Balena Etcher.
Подключиться к плате по HDMI с USB клавиатурой, войти с login/password: root/1234, следовать диалогам при первом запуске (настроить Wi-Fi, создать локального пользователя и т.д.)
Установка CUPS: sudo apt-get update sudo apt-get install cups
Разрешить вход любому пользователю в веб-интерфейс по https://адрес_платы:631/(в моем случае она доступна по https://nezha.local.:631/):
Сделать плату доступной по Bonjour для легкого добавления принтеров в систему:
sudo apt install avahi-daemon
Далее, можно заходить в web-интерфейс CUPS и попытаться настроить принтер. В случае моего принтера еще нужно поставить HP-шные драйвера (ставлю сразу оба доступных набора hpi-js и hplip, потом можно сконфигурировать принтер через один из них):
Заходим на https://nezha.local.:631/ , и добавляем два принтера: один Generic IPP (фактически, просто проброс порта через https), а второй -- полноценный PostScript принтер (в него можно будет печатать с мобильных устройств) через hpi-js или hpcups (hplip). Дело в том, что если создать только один PostScript принтер, который более универсальный, некоторые документы (с большими картинками, прежде всего) на нашей маломощной плате будут очень долго рендериться через GhostScript. Поэтому если на хосте, с которого будут отправляться задания на печать (в моем случае MacOS), есть возможность установить драйвера с host-rendering'ом (т.е. обычный драйвер от производителя), и подсунуть ему IPP вместо USB порта, то лучше это сделать на нем, т.к. это будет в разы быстрее.
Добавление принтеров в систему:
Для Generic IPP добавляем как HP -> HP LaserJet Series PCL 4/5 (под MacOS нужный драйвер то ли уже был в системе, то ли пакет для поддержки всех принтеров HP скачивался с сайта Apple)
Для PostScript принтера, нужно настроить его в системе, как Generic PostScript Printer
На стороне мака это можно делать как через Settings -> Printers & Scanners, так и через веб-интерфейс того же CUPS http://localhost:631/ (через который и устроена вся печать на маках), но его сначала нужно включить:
cupsctl WebInterface=yes
Надеюсь, этот краткий "рецепт" кому-то окажется полезным.
Задача про собеседование, аналогичная задаче невесте, приводится с решением в книге «с ослом» (Кормен, Лейзерсон, Ривест. Алгоритмы. Построение и анализ).
Если заранее известно число кандидатов (N), то нужно пропустить первых k = N/e независимо от их качеств (пусть качества каждого кандидата оцениваются одним числом), после чего либо следует выбрать первого кандидата, оказавшегося лучше первых k, либо последнего.
А если с МТС при наборе 10-значного номера в коде 499 случайно забыть «восьмерку», то попадете на какой-то платный сервис с номером 499 (около 40 руб/мин). При этом в свое время однояйцевый по отношению к МТС телефонный оператор обзванивал своих абонентов в коде 499, сообщая о том, что при звонках на номера в зоне 499 правильно набирать 10 цифр именно без 8-ки.
Главное, чтобы это кольцо не отвалилось. Надеюсь, эти модели крепкие, но у меня в разное время было 3 часов с кольцами-ободками от разных производителей, и у них у всех ободки потерялись. Часы были, конечно, не такие дорогие, хотя и оригинальные (не китайские). В следующий раз буду искать монолитные, чтобы отваливаться было нечему.
Еще там сказано, что они переписали некоторые приложения, чтобы их можно было компилировать без -fno-strict-aliasing, что дает возможность компилятору бОльшую свободу для оптимизации. От gcc 4.7 с -O3, которым они все собрали, можно ожидать лучшей векторизации под NEON. К сожалению, в «обычных» приложениях (не рендеринг или сжатие аудио/видео, для которых в OMAP все равно есть аппаратная поддержка), большого прироста ожидать не стоит. А результаты тестов — да, впечатляют) Но на реальных приложениях это будет в районе 2-3%.
Акции Facebook можно было купить на внебиржевом рынке начиная с 2008-го года, поэтому нет ничего удивительного, что те, кому акции достались по $5-10 в 2008-2009, фиксируют свою прибыль.
Здесь есть красивый timeline цен на акции FB на внебиржевом рынке до IPO с отмеченными на нем событиями, связанными с компанией: www.secondmarket.com/facebook-on-secondmarket/
Спасибо за статью! Сделал print server на основе Sipeed Nezha Lichee RV, воспользовался ссылкой из вашей статьи на образ Armbian (https://disk.yandex.ru/d/da8qJ8wyE1hhcQ/Nezha_D1/ArmbianTV/20220627).
Примечательно, что даже спустя год более новые образы как из соседних папок, так и с сайта Armbian, несмотря на заявленную поддержку как Lichee RV, так и более новых плат, не запускаются на Lichee RV (нет HDMI сигнала). По serial не проверял -- нет подходящего кабеля.
Для тех, кто, возможно, тоже захочет сделать print server на этой же плате Lichee RV для древнего HP LaserJet 1010 (для других принтеров нужно будет выбрать другой драйвер), просто оставлю последовательность действий здесь:
Скачать образ по ссылке выше, прошить на любую sd-карту с помощью Balena Etcher.
Подключиться к плате по HDMI с USB клавиатурой, войти с login/password: root/1234, следовать диалогам при первом запуске (настроить Wi-Fi, создать локального пользователя и т.д.)
Установка CUPS:
sudo apt-get update
sudo apt-get install cups
Разрешить вход любому пользователю в веб-интерфейс по
https://адрес_платы:631/
(в моем случае она доступна поhttps://nezha.local.:631/
):cupsctl --remote-admin --remote-any --share-printers
Сделать плату доступной по Bonjour для легкого добавления принтеров в систему:
sudo apt install avahi-daemon
Далее, можно заходить в web-интерфейс CUPS и попытаться настроить принтер. В случае моего принтера еще нужно поставить HP-шные драйвера (ставлю сразу оба доступных набора hpi-js и hplip, потом можно сконфигурировать принтер через один из них):
sudo apt-get install hpijs-ppds printer-driver-hpijs
sudo apt-get hplip
service cups restart
Заходим на
https://nezha.local.:631/
, и добавляем два принтера: один Generic IPP (фактически, просто проброс порта через https), а второй -- полноценный PostScript принтер (в него можно будет печатать с мобильных устройств) через hpi-js или hpcups (hplip). Дело в том, что если создать только один PostScript принтер, который более универсальный, некоторые документы (с большими картинками, прежде всего) на нашей маломощной плате будут очень долго рендериться через GhostScript. Поэтому если на хосте, с которого будут отправляться задания на печать (в моем случае MacOS), есть возможность установить драйвера с host-rendering'ом (т.е. обычный драйвер от производителя), и подсунуть ему IPP вместо USB порта, то лучше это сделать на нем, т.к. это будет в разы быстрее.Добавление принтеров в систему:
Для Generic IPP добавляем как HP -> HP LaserJet Series PCL 4/5 (под MacOS нужный драйвер то ли уже был в системе, то ли пакет для поддержки всех принтеров HP скачивался с сайта Apple)
Для PostScript принтера, нужно настроить его в системе, как Generic PostScript Printer
На стороне мака это можно делать как через Settings -> Printers & Scanners, так и через веб-интерфейс того же CUPS
http://localhost:631/
(через который и устроена вся печать на маках), но его сначала нужно включить:cupsctl WebInterface=yes
Надеюсь, этот краткий "рецепт" кому-то окажется полезным.
Если заранее известно число кандидатов (N), то нужно пропустить первых k = N/e независимо от их качеств (пусть качества каждого кандидата оцениваются одним числом), после чего либо следует выбрать первого кандидата, оказавшегося лучше первых k, либо последнего.
Здесь есть красивый timeline цен на акции FB на внебиржевом рынке до IPO с отмеченными на нем событиями, связанными с компанией:
www.secondmarket.com/facebook-on-secondmarket/