Избранные сообщения xDShot
Github как онлайн Desktop Publishing платформа: Markdown + Pandoc + Travis CI = PDF (и/или LaTeX)
TL;DR
Автоматическая генерация (
.md->
1) Создаем документ или книгу в формате Markdown в виде репозитария на Github, например:
>>> https://github.com/mikepan/GameEngineBook
2) Настраиваем Travis CI для автогенерации PDF (оформляем .travis.yml, и т.д.) и выгрузки полученного PDF обратно в репозиторий на Github
- https://github.com/search?o=desc&q=pdf travis&s=updated&type=Repo...
- http://vaibhavsagar.com/blog/2015/02/26/automate-resume/
- https://gist.github.com/willprice/e07efd73fb7f13f917ea
- https://github.com/mkulesh/microMathematics/tree/master/autobuild
P.S.: MikTeX или TeXLive возможно будет нужен при конвертировании в PDF для Pandoc под Linux
ЛИТЕРАТУРА:
- Markdown -> PDF & HTML
- https://tex.stackexchange.com/questions/253262/pandoc-markdown-to-pdf-doesnt-...
- https://stackoverflow.com/questions/16965490/pandoc-markdown-page-break
- https://m.habrahabr.ru/post/339340/
- http://pandoc.org/demo/example19/Extension-citations.html
- https://groups.google.com/forum/m/#!topic/pandoc-discuss/3RCJpoCtuVk
- https://github.com/jgm/pandoc/wiki/Using-pandoc-in-Travis-CI
- https://m.habrahabr.ru/post/338126/
- https://puppet.com/blog/how-we-automated-our-ebook-builds-pandoc-and-kindlegen
- https://milinda.svbtle.com/academic-writing-with-markdown-pandoc-and-emacs
- https://blog.jez.io/reach-for-markdown/
- http://blogs.harvard.edu/pamphlet/2014/08/29/switching-to-markdown-for-schola...
- ...
Нет 3D-ускорения графики
Привет всем. Дистрибутив Gentoo-based (Funtoo), xorg-server 17.4-r2 с флажками udev и xorg. Видеодрайвер nvidia-drivers-381.22, ядро gentoo-sources-4.13.7 - собирал для NVidia согласно Gentoo wiki. После обновления с 4.13.5 возникли проблемы с glx: не хочет загружаться.
zuiho ~ # glxinfo
name of display: :0
Error: couldn't find RGB GLX visual or fbconfig
cat /etc/X11/xorg.conf.d/20opengl.conf
Section "Files"
ModulePath "/usr/lib64/opengl/nvidia"
ModulePath "/usr/lib64/xorg/modules"
EndSection
cat /etc/X11/xorg.conf.d/20-opengl.conf
Section "Files"
ModulePath "/usr/lib64/xorg/modules"
EndSection
Содержимое /var/lox/Xorg.log: https://pastebin.com/8CYQad3p
Кто что посоветует? Да, драйверы ставил пакетным менеджером.
Upd. Совет удалить оба файла 20-opengl.conf и 20opengl.conf, после чего заново выполнить команду eselect opengl set nvidia помог.
Хотеть осциллограф, но не мочь выбрать.
Когда мне стукнуло четыре, я засунул пальцы в розетку.
С тех пор я изъясняюсь исключительно матом, писаюсь в штанишки, почесывая правой пяткой левый глаз, не закусывая пью тёплую чачу по полтора литра за присест и постоянно мечтаю об осциллографе.
Внимание, вопрос!
Какой осциллограф из недорогих моделей подскажет уважаемый all?
Нужно для мелкобытовых нужд. Ну, там, починить телевизор, планшет, мобильник etc.
Также интересует опыт с aliexpress.
Спасибо!
()
Не могу найти работу джуном в бэкенд разработке.
Есть небольшой опыт разработки сайтов. Верстка, фронтенд, посадка на cms. В общей сложно сверстал и посадил на cms 7 сайтов. Один из которых интернет-магаз на OpenCart 2. Остальные на WP & MODX Revo. Есть сайт-портфолио с блогом на Yii2. Последняя работа - сайт-портфолио с блогом, тегами, категориями, раздельной авторизацией и аутентификацией (полностью раздельная, с двумя разными таблицами юзера и админа которым можно назначать разные роли) и системой комментирования с премодерацией из админки на Laravel 5.5. Так же есть работы на vue js, создал блог с помощью WP REST API и прикрутил его к интернет-магазину на OpenCart2. Работаю в Ubuntu. Git, Sass, Vanilla js, Gulp, Composer - все эти технологии активно применяю в разработке. Да опыт небольшой, но неужели его слишком мало для того чтобы работать джуном в бэкенде? Ожидаемую з.п выставил 200 баксов. Были пару откликов на мое резюме, но там совсем уж неадекваты. Первый работодатель начал рассказывать про какую-ту структуру напоминающую сетевой маркетинг и обещал через три месяца бесплатного испытательного срока увезти в США но для этого первые три месяца я должен буду вкалывать без выходных-проходных, удаленно, на своей старенькой машине, плюс какие-то психотесты и сканы своих документов должен выслать. Второй работодатель предлагал тоже работать бесплатно, уже пол года и не в команде, а как только чему-то научусь то будет платить, правда старый комп с гигом оперативы и хр виндой на борту которую нельзя менять обещал предоставить)) Вобщем хз что делать. А на сайте поиска работы одни и теже объявления болтаються месяцами.
Rust vs C
Я Rust не знаю.
Допустим решил я написать быстрый лексер (разбиватель токенов),как я делаю это в Си:
typedef struct {
const char* text;
size_t text_len;
size_t text_pos;
const char* token;
size_t token_len;
} lexer_t;
void lexer_next_token(lexer_t* lexer);
И я могу получить все токены без выделения памяти,я просто иду по тексту и ставлю lexer_t.token в начало токена, и в token_t.token_len записываю длинну токена.А в расте как сделать подобную вещь?Тоже без выделения памяти естественно (ну кроме стека,где выделяется код возврата и 2 size_t для функии next_token).Верней можно ли сделать такое в расте?
Новый язык для микросервисов
Посоветуйте мощный роутер (с радиочастью или самой дешёвой, или самой топовой)
Приветствую.
Никогда не думал, что мне будет сложно выбрать роутер... В любом случае, here it goes. Мне нужен мощный роутер, способный NAT'ить 200 Mbps и пропускать через IPsec/WireGuard хотя бы 100 Mbps, и при этом работающий под управлением OpenWRT/LEDE или любого другого полноценного современного GNU/Linux (необязательно «из коробки», но вышеописанные требования должны достигаться на OpenWRT/LEDE, а не только на прошивке от вендора).
К радиочасти (Wi-Fi) требований особых нет: чем дешевле, тем лучше. Она нужна только в качестве временного решения до того, как я куплю UniFi AC HD. Или же, как вариант, она должна быть не хуже UniFi AC Pro (т. е. 802.11ac Wave2 3x3:3), чтобы мне не пришлось покупать AP как таковую (хотя бы до тех пор, пока у меня нет клиентов лучше 2x2:2).
Мне пока что приходит в голову только Turris Omnia + <рандомный Wi-Fi чип из ящика с барахлом> или QCA9982. Кстати, никто не знает, с какими чипами поставляется эта самая Omnia?
Решение: Xiaomi Router 3G.
Как заставить Tesseract распознавать текст посимвольно, без словаря и повысить качество?
Добрый день. Нужно распознать текст с качественно сканированной книги (Каталога латинских названий), без искажений, RGB, преимущественно черно белый. Все знаки - латиница, но часто попадаются из немецкого, французского и испанского. Несколько шрифтов. Часто попадаются слова наклонным шрифтом, знаки в числах всегда на разной высоте, т.е. 069 - хвостики будут выше и ниже строки, такой стиль. Орфография преимущественно латынь, но почти все слова могут, по определению, не иметь никакого смысла, т.е. могут быть произвольным набором букв только подчиняющихся(и то не обязательно) правилам латинского языка. Т.е. заранее построить словарь всего массива текста нельзя. Целью распознавания является построение этого словаря. Объем большой, порядка 10000 страниц. Tesseract ошибается в первом же слове. Качество распознавания очень плохое. Очевидно, что он распознает не буква в букву, а ищет слова или сочетания букв по словарю по максимальной вероятности в заданном языке. Вместо правильного маловероятного «Aaages» пишет более благозвучное и более вероятное «Anages», хотя символы видны достаточно четко. Хотя национальные символы он распознает правильно. Предполагаю, что если частично отключить ему «мозги», то он бы правильнее распознавал.
1. Посоветуйте, как заставить его распознавать текст буквально, а не гадать по вероятностям? Как повысить качество распознавания? Загрузить пример затрудняюсь. Для сравнения, online FineReader распознает почти всё правильно, но дорого для меня.
2. Не получается сделать вывод в PDF-текст, получается PDF-исходное-изображение
Гаражная конторка 1978 года
Сделал сцену в Blender v2.79. На переднем плане изображены терминалы DEC VT100, а на фоне мейнфрейм VAX-11/780 той же компании. На это ушло порядко 5.8 миллионов полигонов
При рендере использовалось новое шумоподавление Blender v2.79, а также активно использовался Principled BSDF в материалах. Логотипы были сделаны в Inkscape.
При чем тут Linux? На ближнем терминале изображена компиляция ponysay в Gentoo.
256 samples, 3840x2160 px, Time: 44:20.56 min, Mem: 2316.86M, Peak: 3042.14M
Изображение сшакалено, т.к. в оригинале занимает более 7 МБ.
Как набирать emoji? 😕
Собственно на OSX нажимаешь Ctrl + ⌘ + space и лепишь
На ubuntu touch есть отдельная emoji клавиатура
На вендах легко вызывать виртуальную клаву с ними http://36.media.tumblr.com/ba1d1a2e7ab0265f7231c09869b53b66/tumblr_inline_ns5...
А как набирать emoji символы на десктопных линуксах?
Arch занимает слишком много оперативной памяти
Вчера захотелось попробовать установить Arch. Подготовил установщик, открыл их Arch Wiki и, в общем-то, где-то за одну ночь удалось развернуть минимальное окружение, чтобы потом можно было загрузиться и залогиниться в какого-нибудь пользователя.
Всё, в общем-то, работает, даже сумел настроить работу с некоторыми маргинальными железками, но пока беспокоит объём занимаемой оперативной памяти. Всего у меня 2 GiB, однако при старте чистой (!) системы Arch отнимает больше половины. Появляется только консоль я предложением ввести логин.
Что могло пойти не так?
Пока никаких конфигов не предоставляю, потому что, в общем-то, не знаю, куда копать. Да и всё дефолтное стоит, исключая незначительные правки всевозможных .bashrc по инструкции с Wiki.
p.s. Cвап настроил, но он работает на жёстком диске. Это медленная штука.
Git с централизованным репозиторием
Всем привет
Объясните плз, в чем преимущество git перед svn, если используется централизованный репозиторий кода? Пришел на проект. В нем 2 разработчика, используют гит, разработчики друг с другом сливали между собой изменения.
Я в проекте реализую отдельную функциональность, для которой уже развернут svn-репозиторий. Я сразу был этому рад, так как никаких религиозных проблем с выбором vcs не имею, но svn знаю намного лучше git. Спросил у коллег, почему они его не используют. Ничего внятного мне не сказали, одно мычание. В их группу пришел еще один разработчик - они задумались над централизованным репозиторием, но это должен быть git-репозиторий. Обсуждают возможность купить корпоративный акк на gitbucket, на мои вопросы о целесообразности отвечают что я просто люблю svn, а им нравится git.
И да, они используют TortoiseGit для работы :-) Позже я узнал, что этот хайп с гитом накрыл практически всю контору в других городах. Теперь уже мне приходится объяснять, почему я использую svn вместо git.
Чего в гите такого крутого?
ребята, помогите портировать tbftss 1.3
Пытаясь разобраться со старым мейкфайлом от 0.4, в итоге получил примерно такой файл (все патчи от 0.4, понятно, я удалил):
# $OpenBSD: Makefile,v 1.1.1.1 2015/12/10 06:44:52 bentley Exp $
COMMENT = 2D mission-based space shooter
# http://www.battleforthesolarsystem.com/downloads/tbftss-1.3-1555.src.tar.gz
V = 1.3
DISTNAME = tbftss-$V-1555.src
PKGNAME = tbftss-$V
CATEGORIES = games
HOMEPAGE = http://www.battleforthesolarsystem.com/games/pw/
# code GPLv2+, data CC BY-NC-SA 3.0 or freer
PERMIT_PACKAGE_CDROM = Non-commercial
PERMIT_PACKAGE_FTP = Yes
WANTLIB += SDL2 SDL2_image SDL2_mixer SDL2_ttf c m pthread
MASTER_SITES = http://www.battleforthesolarsystem.com/downloads/
LIB_DEPENDS = devel/sdl2-image \
devel/sdl2-mixer \
devel/sdl2-ttf
MAKE_FLAGS = CC="${CC}" \
CXXFLAGS="${CFLAGS} `sdl2-config --cflags` \
-DDATA_DIR=\\\"${PREFIX}/share/tbftss\\\" \
-DLOCALE_DIR=\\\"${PREFIX}/share/locale\\\" \
-DVERSION=$V" \
BIN_DIR=${PREFIX}/bin \
DATA_DIR=${PREFIX}/share/tbftss
USE_GMAKE = Yes
NO_TEST = Yes
MAKE_FILE = makefile
WRKDIST = ${WRKDIR}/tbftss-$V
.include <bsd.port.mk>
PLIST получил по make plist
первая проблема - иконки и десктоп-файл помещает куда-то не туда, но это мелочи
вторая проблема, она же и есть проблема - при запуске ругается на data/missions/sol/07 - wingmates.json и 08 - final.json, после чего падает в core-dump. чем мотивирует, неизвестно
linux-версия запускается и работает нормально.
помогите довести порт до ума
OpenBSD: тысяча мелочей для Pentium II
Иногда на форуме попадаются вопросы о том, что поставить на Pentium II/III. Рекомендации ответов, которые там даются, меня не всегда радуют - у меня есть личный опыт эксплуатации старых систем, где рекомендованные форумчанами ОС-и показали себя плохо.
На основе своего опыта я собрал набор софта на базе OpenBSD 6.1, в виде iso-образов 700 и 1700 мб.
Пригодно как для десктопа, так и для home-сервера.
Скачать (плюс краткое описание) можно здесь: http://51t.ru/txt-openbsd-pentium2.html
Вот нашёл для себя очень прикольную игрушку для игры по инету.
Собственно это что-то типа мода для RtCW. Хотя идёт независимо и с обычным вульфом не совместима (на движке обычного вульфа не пойдёт). Только гораздо интереснее. И трафика жрёт меньше.
Естевственно, гоняю я в фуллскрине и 800х600. Это только на скрине такой. :)
NVIDIA Prime на не-Ubuntu
Эта инфа есть в Gentoo Wiki и Arch Wiki, но всё равно тема с завидной регулярностью поднимается на ЛОРе. Поэтому я решил написать об этом здесь. Красивой переключалки не будет: только правкой конфигов.
Практическая часть
Убедитесь что версия вашего ядра Linux ≥ 3.13, X-Server ≥ 1.13, xrandr ≥ 1.4, драйвера NVIDIA ≥ 319.xx. Версию ядра Linux, минимально необходимую для NVIDIA Prime, подняли в драйвере 364.xx: раньше была 3.9.
Создайте /etc/X11/xorg.conf со следующим содержимым:
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
Option "AccelMethod" "none"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "1:0:0"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "UseDisplayDevice" "none"
EndSection
Вместо PCI:1:0:0 и PCI:0:2:0 подставьте свои значения, узнав их с помощью lspci. Чаще всего, значения именно эти.
Добавьте в конфиг-файл своего графического менеджера входа в систему эти команды:
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
GDM:
Файл /etc/X11/gdm/Init/Default, просто добавьте в конец, перед «exit 0»
KDM:
Файл /usr/share/config/kdm/Xsetup, просто добавьте в конец.
LightDM:
Создайте файл /etc/lightdm/display_setup.sh со следующим содержимым:
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
Выполните chmod +x /etc/lightdm/display_setup.sh.
В файле /etc/lightdm/lightdm.conf найдите секцию [Seat:*], а в нём display-setup-script=. Добавьте/раскомментируйте эту строку, затем приведите к виду:
[Seat:*]
display-setup-script=/etc/lightdm/display_setup.sh
Остальные графические менеджеры входа в систему
https://wiki.gentoo.org/wiki/NVIDIA/Optimus#Display_manager_configuration,
https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Display_Managers
Решение бага с обрезанным экраном в Minecraft
В Minecraft, при нажатии клавиши F11, включается полноэкранный режим. С приведённым мной конфигом, вы увидите прямоугольник 640x480, и чёрный экран на остальной площади. С другими полноэкранными играми такого бага нет.
Я нашёл решение проблемы, когда читал Xorg.0.log. Виртуальный экран стартует с разрешением 640x480, затем пробрасывается на Intel, затем меняет размер на реальный. Нужно сделать так, чтобы виртуальный экран создался сразу с нужным разрешением.
В xorg.conf в секцию «„Screen“, Identifier „nvidia“», добавьте это (поменяв моё разрешение на ваше):
SubSection "Display"
Virtual 1600 900
EndSubSection
Теоретическая часть
( читать дальше... )
Что почитать?
http://ru.download.nvidia.com/XFree86/Linux-x86_64/384.69/README/randr14.html
https://github.com/Bumblebee-Project/Bumblebee/wiki/History-of-the-project
https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchronization/post/4964506/#4964506 Важная информация ↓
https://wiki.gentoo.org/wiki/NVIDIA/Optimus
https://wiki.archlinux.org/index.php/NVIDIA_Optimus
Проблема с камерой в mass effect
Установил mass effect 2008 года на POL, добавил как стороннюю игру ибо лаунчер писал что не мог найти исполняемый файл, загрузил и запустил, но в самой игре проблема с камерой, камера поворачивается на несколько градусов и все, дальше ее не развернуть никак, даже вверх и вниз никак не повернуть ее.
Запуск полноценного ArchLinux без root прав на android
Навеяно вопросом mandala ниже
Все действия на ваш страх и риск
Немного теории
Есть такая библиотека ptrace.h
ptrace - тоже самое что strace, только позволяет изменять результат системных вызовов
Например подменив вызов getuid()/setuid() можно заставить приложение думать что оно запущено из под рута
Подменив fstat() можно изменить структуру файлов
proot
На этой библиотеке написана утиля proot.
proot умеет эмулировать chroot и mount --bind без root прав.
Где добыть ArchLinux под arm
Здесь - https://archlinuxarm.org/platforms/armv8/generic ,если у вас aarch64 (на нём тестировал)
Здесь - https://archlinuxarm.org ,если armv7
Исправляем проблемы архива
0) Для начала распакуем архив (на компьютере)
umask 022
mkdir arch
cd arch
sudo tar xvfp ~/Downloads/ArchLinux.tar.gz (важно это сделать из под рута)
1) Неправильные права директорий
Часть директорий связаных с openssl имеют права 555, и при распаковке под обычным пользователем, это приводит к ошибке.
chmod -R u+w ./arch
2) Жесткие ссылки
Не знаю зачем они нужны (если есть symlink), но android на «ln a b» выдает «permission denied»
Поэтому упаковываем с флагом "--hard-dereference"
sudo tar cvzfp arch.tar.gz --hard-dereference ./arch
Запускаем ArchLinux
Разумеется нам понадобится эмулятор терминала.
Лучше всего изпользовать Termux (бесплатный, OpenSource), так как в нем есть менеджер пакетов, и proot устанавливается очень просто.
1. (В termux)
termux-setup-storage (SD Карта)
pkg install proot
2. Копируем перепакованый arch.tar.gz на телефон (например используя netcat)
3. Распаковываем в ~/arch
umask 022 (В termux)
tar xvfp arch.tar.gz (В termux)
4. Пишем скрипт для запуска
#!/data/data/com.termux/files/usr/bin/bash
rootdir="/data/data/com.termux/files/home/arch" # /
tmp_prefix="/data/data/com.termux/files/usr/tmp" # здесь будут храниться временные файлы (/tmp, /run)
sid="${RANDOM}${RANDOM}${RANDOM}${RANDOM}" # mktemp -d для слабаков
run_bind="${tmp_prefix}/run${sid}" # /run
tmp_bind="${tmp_prefix}/tmp${sid}" # /tmp
resolv_conf="${run_bind}/resolv.conf" # список dns
mkdir "$tmp_bind"
chmod 777 "$tmp_bind"
mkdir "$run_bind"
chmod 777 "$run_bind"
for i in `seq 1 4`; do
if [[ ! -z `getprop net.dns${i}` ]]; then
echo nameserver `getprop net.dns${i}` >> "$resolv_conf"
fi
done
# настроили dns
proot --link2symlink -0 -m "${run_bind}:/run" -m "${tmp_bind}:/tmp" -m /sdcard -m /dev -m /sys -m /proc -w / -r "${rootdir}" /bin/su - root # сам proot, флаг --link2symlink не документирован, но черезвычайно полезен
rm -rf "$run_bind"
rm -rf "$tmp_bind" # Стираем временные файлы перед выходом
Настраиваем dns в ArchLinux
chmod +x ./arch.bash (В termux, arch.bash - скриптик выше)
./arch.bash (В termux)
rm /etc/resolv.conf (В ArchLinux)
ln -s /run/resolv.conf /etc/resolv.conf (В ArchLinux)
Укртелеком начал подменять http-запросы
С https тоже пытаются что-то делать — стало ощутимо тормозить.
Все http-запросы перенаправляются на http://info.ukrtelecom.ua/pages/page.jsp, который генерирует вредоносный скрипт. Например, для http://google.com сейчас генерирует вот это:
$(document).ready(function(){
$(".my-form_onclick__content").hide();
});
var count = 0;
if (true) {
setTimeout( function(){
$.post("../submit",
{
"isKeyPressed": true
},
function(data,status){
document.location.href = "http://google.com/";
}).error(function (){
document.location.href = "http://google.com/";
});
} , 15000);
}
document.querySelector(".my-header__btn-close").addEventListener("click", function() {
if (count === 0) {
$(".my-form_onclick__content").show();
$(".my-form__content").hide();
var xhr = new XMLHttpRequest();
xhr.open('POST', '../submit', true);
count++;
xhr.send();
xhr.onreadystatechange = function() {
if (xhr.readyState != 4) return;
if (xhr.status != 200) {
} else {
window.location = "http://google.com/";
}
}
}
}, false);
Клиенту показывают отвратительную рекламу укртелекомовского телевиденья. Вот скрин.
POST-запрос в скрипте на http://info.ukrtelecom.ua/submit возвращает:
< Server: Apache/2.4.6 (CentOS) mod_jk/1.2.42
< Set-Cookie: JSESSIONID=<номер-сессии>.node2; Path=/; HttpOnly
Теперь интернетом от Укртелеком точно не следует пользоваться без VPN. Лучше всего вообще перестать быть их клиентом и посмотреть в сторону других провайдеров. В дальнейшем от них следует ожидать еще более враждебных действий.
| ← назад |