[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/]

[Burichan] [Foliant] [Futaba] [Greenhell] [Gurochan] [Photon] - [Home] [Manage] [Archive]

[Return]
Posting mode: Reply
Leave these fields empty (spam trap):
Name
Link
Subject
Comment
File
Verification
Password (for post and file deletion)
  • Supported file types are: GIF, JPG, PDF, PNG
  • Maximum file size allowed is 20480 KB.
  • Images greater than 200x200 pixels will be thumbnailed.

File: 1290671193811.jpg -(396414 B, 900x654) Thumbnail displayed, click image for full size.
396414 No.43960  

Скрипты/софт облегчающий жизнь. Прошлый тред уже в архиве: http://nowere.net/b/arch/30349/

>> No.43962  

Статистика использования блочных устройств и процессор за все время аптайма:

iostat -xm

в реальном времени:

iostat -xm 2
iotop

Управление приоритетами доступа к диску - ionice (если конечно включен и используется CFQ в ядре), например запуск программы с минимальным приоритетом доступа к диску:

ionice -c3 program

установка приоритета для уже запущенного приложения:

ionice -c3 -p pid

просмотр текущего приоритета приложения:

ionice -p pid
>> No.45118  
File: 1291481744607.jpg -(39387 B, 604x402) Thumbnail displayed, click image for full size.
39387

echo "Its" date "+%H oclock. You lost one houre more" | festival --tts

В кроне на каждый час.

>> No.45119  
at 8:00
mpc play

как замена будильнику

>> No.45120  
File: 1291482243003.jpg -(25473 B, 604x481) Thumbnail displayed, click image for full size.
25473

>>45119
sleep {} && mpc play обладает двумя преимуществами:

  1. Ты точно задумаешься о том, что мало спишь.
  2. Хоть немного поупражняешься в арифметике.
>> No.45121  
File: 1291482259735.png -(326423 B, 1576x2298) Thumbnail displayed, click image for full size.
326423

>>45118

>You lost one houre more
>one houre more
>> No.45122  
File: 1291482458719.jpg -(611148 B, 1280x1024) Thumbnail displayed, click image for full size.
611148

>>45121
I beg your pardon

>> No.45299  

Жалко, что для таких скриптов нет системы пакетов. В итоге каждый пишет для себя.

>> No.45318  

>>45299
Почему бы не сделать?

>> No.45322  

>>45318
Потому что скрипт для себя это скрипт для себя. Хорошо разобравшись в вопросе ты сам напишешь лучше.

>> No.45350  
File: 1291614899384.jpg -(61786 B, 491x640) Thumbnail displayed, click image for full size.
61786
> софт облегчающий жизнь
>> No.46881  
File: 1292879804807.png -(3441223 B, 1826x2079) Thumbnail displayed, click image for full size.
3441223

ftp://ftp.dlink.ru/pub/Router/DIR-100/Firmware/VLAN_Switch/
Прошивка делает из роутера DIR-100 простой управляемый свитч.

>> No.47199  

osd_cat -- выводит на экран текст. Меняется место, время, цвет и шрифт. Можно делать прогресс бар.
Технически рисуется окно, но оно игнорирует WM. К недостаткам можно отнести отсутствие опции "фон", зато тень, зачем-то, отбрасывать умеет.
поставляется в составе xosd.

>> No.47302  

Ещё один браузер на вебките: luakit
Очередной минималистичный (мышенезависимый), фишка в том, что он расширяем lua-скриптами, что может быть приятно awesome-фагам.

>> No.47303  

>>47302
интегрировать бы его с авесомом, заместо рабочего стола.

>> No.47307  

>>47303
вместо рабочего стола? Месьё знает толк в извращениях.
сделать его видимым на всех тегах более гибкое, хотя и всё ещё не разумное, решение.

>> No.47332  

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

>> No.51094  

Рекурсивное переименование в транслит.

#!/bin/bash

rename_files()
{
ls | while read name
do
mv -vi "$name" "`echo $name | sed 'y/абвгдезийклмнопрстуфхцыАБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/abvgdezijklmnoprstufxcyABVGDEZIJKLMNOPRSTUFXCY/; s/ш/sh/g; s/ч/ch/g; s/щ/sh'\''/g; s/ё/jo/g; s/ж/zh/g; s/э/je/g; s/ъ/'\''/g; s/ь/'\''/g; s/ю/ju/g; s/я/ja/g; s/Ш/SH/g; s/Ч/CH/g; s/Щ/SH'\''/g; s/Ё/JO/g; s/Ж/ZH/g; s/Э/JE/g; s/Ъ/'\''/g; s/Ь/'\''/g; s/Ю/JU/g; s/Я/JA/g;'`"
done
find . -maxdepth 1 -mindepth 1 -type d | while read dirname
do
cd "$dirname"
rename_files
cd ..
done
}
rename_files
>> No.51409  
File: 1296556407216.jpg -(130459 B, 800x770) Thumbnail displayed, click image for full size.
130459

/r/ скрипт который будет рекурсивно заходить в папки и переименовывать субтитры под видеофайлы ориентируясь на номера серий.

>> No.51412  

>>51409
Довольно сложная задача, если учесть что некоторые серии/субтитры содержат в своем названии CRC32, которая в свою очередь может содержать цифры, совпадающие с номерами серий. Я обычно переименовываю для каждой конкретной папки субтитры и серии чем-то вроде

for i in `seq -w 1 26` ; do mv -vi *Anime\ name\ -\ $i*mkv Anime\ name\ -\ $i.mkv ; done

ну и s/mkv/ass/g для субтитров к нему.

>> No.52092  

http://doublecmd.sourceforge.net/

новый двухпанельник, кроссплатформа. выглядит весьма годно, попробую им пользоваться вместо worker'а, если запускается быстро.

>> No.52093  

>>52092
ах нет, он на дельфиговне, отмена тревоги.

>> No.53577  

Большой буфер прокрутки у screen:

echo defscrollback 5000 >> /etc/screenrc
>> No.53738  
File: 1298771855489.jpg -(190761 B, 853x853) Thumbnail displayed, click image for full size.
190761

Включает dns резолвинг ipv6 с встроенным teredo для спермерки и глисты (после этого обычно начинает открываться ipv6.google.com в браузере):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters]
"AddrConfigControl"=dword:00000000
>> No.53752  

http://musicbrainz.org/

софтина сама находит тэги к песням по имени файла и длине. в портаже просто picard

>> No.58066  

Запретить привязку сетевух к мак адресам:

rm /etc/udev/rules.d/70-persistent-net.rules
mv /lib/udev/rules.d/75-persistent-net-generator.rules /lib/udev/rules.d/75-persistent-net-generator.rules.disabled
>> No.58073  

>>58066

>these rules generate rules for persistent network device naming

А не отвалится нейминг-то?

>> No.58088  

>>58073
Нет.

>> No.58138  
File: 1303164635730.jpg -(231174 B, 1135x1753) Thumbnail displayed, click image for full size.
231174

>>51409
если скрестить зипжпег с перебором номеров серий как у
>>51412
и брутом уникального номера серии с [##] _## -## " ##" _# и т.д.

>> No.63485  
# Change the window title of X terminals 
case ${TERM} in
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
;;
screen)
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
;;
esac

не везде это есть, где хотелось бы

>> No.63845  

Установщик ядра для генты, мне странно, что нет встроенного средства для этого.

#!/bin/sh

NAME=${1:-2.6.39.1}
ARCH=${ARCH:-x86_64}

cd /usr/arch/43960/src/linux-$NAME || exit 1

make modules_install || exit 1
make firmware_install || exit 1

echo 'Copying linux image'

cp System.map /boot/System.map-$NAME
cp arch/${ARCH}/boot/bzImage /boot/kernel-$NAME
cp .config /boot/config-$NAME

if [ -z $2 ]; then
echo 'Make default symlinks'
cd /boot
  rm -f kernel
ln -s kernel-$NAME kernel
rm -f System.map
ln -s System.map-$NAME System.map
rm -f config
ln -s config-$NAME config
fi
>> No.65584  
#!/sbin/runscript

start() {
ebegin "Disable discrete card"
echo "DIGD" > /sys/kernel/debug/vgaswitcheroo/switch
echo "OFF" > /sys/kernel/debug/vgaswitcheroo/switch
eend 0
}

stop() {
ebegin "Enable all cards"
echo "DIGD" > /sys/kernel/debug/vgaswitcheroo/switch
echo "DDIS" > /sys/kernel/debug/vgaswitcheroo/switch
eend 0
}

status() {
cat /sys/kernel/debug/vgaswitcheroo/switch
}

Делает ноутбук менее горячим. Взял из арчвики и обернул под опенрц.

>> No.65684  
HKEY_CURRENT_USER/Software/Wine/DirectInput
(string value name)                               (string value)
Logitech Logitech RumblePad 2 USB X,Y,Rx,Ry,POV1

http://wiki.winehq.org/UsefulRegistryKeys

Не то, чтобы скрипт, но я долго это искал.

>> No.67979  
File: 1315823372052.jpg -(323011 B, 1440x810) Thumbnail displayed, click image for full size.
323011

Отключить автоконфигурацию IPv6:

echo "net.ipv6.conf.all.autoconf = 0" >> /etc/sysctl.conf
echo "net.ipv6.conf.eth0.autoconf = 0" >> /etc/sysctl.conf
>> No.68283  
File: 1316266090786.jpg -(792093 B, 2608x1748) Thumbnail displayed, click image for full size.
792093

какой смысл писать свою реализацию хипа, когда есть http://www.cplusplus.com/reference/stl/vector/reserve/
?

>> No.68286  
File: 1316289708381.jpg -(87790 B, 1174x900) Thumbnail displayed, click image for full size.
87790

>>68283
Ты хотел сказать пула?

>> No.68292  
File: 1316298938211.jpg -(15755 B, 333x302) Thumbnail displayed, click image for full size.
15755

>>68286
ага, оговорился

>> No.68362  
File: 1316379572436.jpg -(83601 B, 850x850) Thumbnail displayed, click image for full size.
83601

>>68283
ну так и что?

>> No.71962  
File: 1322425673536.jpg -(420990 B, 950x785) Thumbnail displayed, click image for full size.
420990

нужный бамп

>> No.71966  
File: 1322426038530.png -(615891 B, 800x1200) Thumbnail displayed, click image for full size.
615891

>>68362
Мне больше нравится реализация пула имитирующего new и delete который сам довыделяет память блоками (заданного в темплите размера) без лишнего копирования. Удобнее пользоваться.

>> No.71989  

>>68362
ПШШ ГЛАВНЫЙ ИНЖЕНЕР ТРЕ~

>> No.72110  
File: 1322674434656.jpg -(370329 B, 800x800) Thumbnail displayed, click image for full size.
370329

dzen2 - легковесный генератор notify-сообщений.

>> No.72111  
File: 1322677028135.jpg -(353641 B, 800x600) Thumbnail displayed, click image for full size.
353641

>>72110
я всегда думал, что дзен2 это такая панелька.
Я забыл весь ворох иксовых уведомлялок (кроме xcowsay) которые я пытался юзать.

>> No.72112  
File: 1322677193062.jpg -(30272 B, 500x334) Thumbnail displayed, click image for full size.
30272

>>72111
вспомнил.
xosd с osd_cat было самым интересным решением.

>> No.72370  
File: 1323043298859.png -(367895 B, 906x1268) Thumbnail displayed, click image for full size.
367895

>>72112

(lambda t:(lambda a:(lambda b:(lambda l,e,s:((lambda(Y,o,N,A,t),a,n:e('v',(Y,o,N,A,t))or[e('v',(lambda(Y,o,N,A,t):({'>':(lambda(Y,o,N,A,t),a,n:(Y,o,N+1,A+1,t)),'<':(lambda(Y,o,N,A,t),a,n:(Y,o,N-1,A+1,t)),'+':(lambda(Y,o,N,A,t),a,n:((Y[:N]+[Y[N]+1]+Y[N+1:],o,N,A+1,t)if N>=0 else(Y,o[:-N-1]+[o[-N-1]+1]+o[-N:],N,A+1,t))),'-':(lambda(Y,o,N,A,t),a,n:((Y[:N]+[Y[N]-1]+Y[N+1:],o,N,A+1,t)if N>=0 else(Y,o[:-N-1]+[o[-N-1]-1]+o[-N:],N,A+1,t))),'.':(lambda(Y,o,N,A,t),a,n:__import__('sys').stdout.write(chr(Y[N] if N>=0 else o[-N-1]))or(Y,o,N,A+1,t)),',':(lambda(Y,o,N,A,t),a,n:(Y[:N]+[ord(t[0])if len(t)else -1]+Y[N+1:]if A>=0 else Y,o[:-N-1]+[ord(t[0])if len(t)else -1]+o[-N:]if A<0 else o,N,A+1,t[1:])),'[':(lambda(Y,o,N,A,t),a,n:(Y,o,N,n[A]+1 if(Y[N]==0 if N>=0 else o[-N-1]==0)else A+1,t)),']':(lambda(Y,o,N,A,t),a,n:(Y,o,N,n[A]+1 if(Y[N]>=1 if N>=0 else o[-N-1]>=1)else A+1,t))}[a[A]]((Y+[0]*(9+len(Y)) if A>=len(Y)-5 else Y,o+[0]*(9+len(o)) if -A>=len(o)-5 else o,N,A,t),a,n)if A<len(a)else False))(l('v')))for i in s.takewhile(lambda x:l('v')!=False,s.count())])(([],[],0,0,t),a,dict(e('g',[])or e('l',[])or[e('l',l('l')+[i])if a[i]=='['else(e('g',l('g')+[(l('l')[-1],i),(i,l('l')[-1])])or e('l',l('l')[:-1]))for i in range(len(a))if a[i] in'[]'][:0]or l('g'))))[:0])(b.__getattribute__,b.__setattr__,__import__('itertools')))(lambda:a)or None)(filter("<.+[,->]".count,open(__import__('sys').argv[1]).read())))(raw_input()) 
$ python bf.py blah.bf
>> No.73236  

Если в сотовом забить в адресную книгу номер 123p234p345 то при звонке на него он позвонит на 123, подождет секунду, отправит 234 по dtmf, подождет секунду, отправит 345 по dtmf. Хотя это наверное никому тут не нужно.

>> No.73514  
File: 1325193561637.png -(296189 B, 600x800) Thumbnail displayed, click image for full size.
296189

Внезапно, винда умеет WebDAV как диски, правда как винда.
http://wiki.zimbra.com/wiki/WebDAV#Procedure_for_XP

>> No.73523  

Voip через netcat

(read; echo; rec --buffer 17 -q -w -s -r 48000 -c 1 -t raw -)|netcat -u -l -p 8888|(read; play -w -s -r 48000 --buffer 17 -t raw -)
(echo; rec --buffer 17 -q -w -s -r 48000 -c 1 -t raw -)|netcat -u 192.168.1.1 8888|(read; play -w -s -r 48000 --buffer 17 -t raw -)

Отсюда взял http://www.lolks.ru/arc/1240588251.html

>> No.74194  
File: 1326314009263.jpg -(768922 B, 1318x1386) Thumbnail displayed, click image for full size.
768922

Дополнительное alsa-устройство с пониженной громкостью на фоне остальных звуков.
В /etc/asound.conf добавить:

    pcm.lowdefault {
type route
slave {
pcm "default"
}
ttable.0.0 0.1
ttable.1.1 0.1
}

Дальше все то, что должно работать с пониженной громкостью (например mpd) настраиваем на работу с устройством "lowdefault", для всего остального настройки менять не нужно.

>> No.80335  

Ребят, а стоит ли приобщаться к тайловым WM, если у меня монитор 1280х1024?
Просто прикидывая скриншотики, которые находились в интернете, я увидел, что это вряд ли будет удобно с таким мелким моником.
Есть у кого опыт? Поделитесь, пожалуйста.

>> No.80336  
File: 1335786486024.jpg -(6394 B, 142x155) Thumbnail displayed, click image for full size.
6394

>>80335
да. в итоге ты всё равно не будешь пользоваться тайлингом, потому что переключать экраны быстрее и удобнее.

awesome-квадратоблядь

>> No.80337  

>>80335
Оно под мелким монитором как раз таки и удобно.

>> No.80339  

>>80337
У меня 3-4 приложения открыты, обычно. На мелком монике уж очень мало места для каждого остаётся.
На большом мониторе преимущество от них как раз в том, чтобы не мышевозить, располагая окна, ящитаю.

>> No.80340  

>>80336

> awesome-квадратоблядь

Это значит, что у тебя мелкий моник, а все приложения развёрнуты? А зачем тогда тебе тайлинг, правда? Или там прямо-таки офигенное переключение экранов?

>> No.80341  

>>80340
Прямо-таки офигенное. Двумя кнопками.

>> No.80342  
File: 1335790203261.jpg -(49227 B, 604x437) Thumbnail displayed, click image for full size.
49227

>>80340
я бывшый квадратонищеблядок, теперь уже широкогосподин. просто сразу не стал говорить чтобы тебя не смущать.
это: >>80341

>> No.80343  

Если комп не совсем говно, то можно попробовать gnome-shell.
Расширение для тайлинга: http://gfxmonk.net/shellshape/,
убираешь декорации окон, ставишь более компактную тему.
Куча расширений: https://extensions.gnome.org

Если комп слабенький, то лучше действительно что-то вроде awesome, у меня стоит на нетбуке с 800 МГц процом.

>> No.80344  
File: 1335791284839.jpg -(235930 B, 400x600) Thumbnail displayed, click image for full size.
235930

>>80343

>Если комп не совсем говно
>то можно попробовать gnome-shell

чтобы комп стал совсем говно?

>> No.80347  

>>80344
Да ладно тебе, гномья щель очень даже ничего, только проц кушает из-за чего не знаю. Может потому что на яваскрипте там есть куски!?

>> No.80348  
File: 1335793797626.jpg -(43472 B, 700x546) Thumbnail displayed, click image for full size.
43472

>>80347

>гномья щель
>> No.80354  
File: 1335814158762.jpg -(322172 B, 990x1180) Thumbnail displayed, click image for full size.
322172

>>80335
Я dwm на таком-же монике гоняю. И на широкоформатнике. И на старом мелком. И на еже.
Зависимость есть, брата давно не видел.

>> No.80403  

А какой для начала посоветуешь тайловый оконный менеджер? Чтобы попроще и конфиг, и без особо сильного программирования.
Склоняюсь к dwm, всё правильно делаю?

>> No.80405  
File: 1335873813959.jpg -(254947 B, 990x1229) Thumbnail displayed, click image for full size.
254947

>>80403
либо делай что-то, либо забудь.
dwm простой, да, действительно простой.

>> No.80445  

>>80403 ставь ОВЕС и не выебывайся, его даже спермобялдь сможет настроить

>> No.80446  

>>80445
Я думал его в последнюю очередь пробовать, ведь там же расширения писать придётся. А мне бы для начала чтобы просто работал.

>> No.80537  
File: 1336134821054.jpg -(26701 B, 500x333) Thumbnail displayed, click image for full size.
26701

screen в иксах.
http://xpra.org/

>> No.82148  

pwd | xclip -i
realpath filename | xclip -i

>> No.84786  

Безумные усилия для создания глобальных переменных в баше. Альясы были бы трушнее, но зачем? Нужность EXE сомнительна, бинд каталогов был основной задачей. Можно добавить что-то типа bind '"\M-1"':"\"g 1\n\""

save() {

if   [ $# -eq 2 ]
then
local FOO="$2"
elif [ $# -eq 1 ]
then
local FOO="$PWD"
else
echo "Check parameters"
return 33
fi
local tmp=$(mktemp)
cp ~/.binds $tmp
echo FOO$1=\"$FOO\" >> $tmp
head -n 100 $tmp > ~/.binds
rm $tmp

}

go2dir() {

if [ $# -eq 1 ]
then
. ~/.binds
eval FOO='$'FOO${1}
if [[ "$FOO" != "" ]]
then
cd "$FOO"
return 0
else
echo There are nothing for FOO$1.
return 42
fi
else
echo "Check parameters"
fi

}

execute() {

if [ $# -eq 1 ]
then
. ~/.binds
eval FOO='$'FOO${1}
if [[ "$FOO" != "" ]]
then
$FOO
return 0
else
echo There are nothing for FOO$1.
return 42
fi
else
echo "Check parameters"
fi

}

alias s='save'
alias g='go2dir'
alias e='execute'

>> No.85010  

>>85007
Чем тебя не устраивает KRename?

>> No.85012  

>>85007
Хм, похоже на одну строчку с использованием rename (deb) от самого Лари на perl. (или perl-rename в arch)

>> No.85014  

>>85007
rename '$::n++,s/(.*)(\..*$)/$1$::n$2/' *

>> No.85018  

# alias
alias get='pacman -Syu'
alias search='pacman -Ss'

$ cat /usr/local/bin/aurinstall
#!/bin/bash
wget http://aur.archlinux.org/packages/$1/$1.tar.gz && tar -xzf $1.tar.gz && rm $1.tar.gz && cd $1 && makepkg -s && makepkg -i

>> No.85019  

>>85014>>85012
Не умею в перл-регексп и горжусь этим.
Кстати, оно у вас проябывает расширения файлов. Подозреваю, что это можно исправить, но мне, в любом случае, на тот момент было проще написать 50 строчек на нормальном языке.

>> No.85020  

Посоны, а можно вас попросить использовать для ваших паст gitpaste.com, pastebin.com, ваш реп на гитхабе, или вообще любой сервис для этого предназначенный? Ну или если вам религия не позволяет - хотя бы не забывать добавлять по 4 лишних пробела в начале каждой строки, перед тем, как постить сюда. Неудобно ж жутко.

>> No.88117  
File: 1358753911562.jpg -(88042 B, 635x445) Thumbnail displayed, click image for full size.
88042

SSH с капчей
http://mcyanez.wordpress.com/2010/10/06/reforzando-los-accesos-ssh-con-validacion-por-captcha/
http://vimeo.com/15587452
http://www.semicomplete.com/projects/pam_captcha/

>> No.93051  

Никому не нужный бамп.

>> No.93279  
File: 1371464548088.png -(803293 B, 1600x1875) Thumbnail displayed, click image for full size.
803293

Букмарклет, позволяющий достать HTML-страницу, даже если в кэше лишь 404.

javascript:var pw=window.open("about:blank","HTML source");pw.document.write("<pre>&lt;html>\n"+document.getElementsByTagName('html')[0].innerHTML.split("<").join("&lt;")+"\n&lt;/html></pre>");

Граббер для g.e-hentai.org (в 2011-м работал):
grabber.sh

#!/bin/bash
 
wgetargs="-w 2 -nc --user-agent=\"Wishmaster/4.0\""
page=$(wget -o /dev/null -O - "$1")
nShown=$(expr match "$(echo $page)" ".*1 - \([0-9]*\) of [0-9]*.*")
nTotal=$(expr match "$(echo $page)" ".*1 - [0-9]* of \([0-9]*\).*")
imglinks=""
if test $nShown -eq $nTotal
then
nPages=0
else
nPages=$(( $nTotal / $nShown ))
fi
 
for i in $(seq 1 $nPages)
do
page=$(echo $wgetargs|xargs wget -o /dev/null -O - "$1/?p=$i")
sublinks+=" "$(echo $page|grep -o "href=\"http://g.e-hentai.org/s/[0-9a-f]*/[0-9\-]*\">")
done
for i in $sublinks
do
 
link=$(expr match "$i" "href=\"\(.*\)\">")
while true
do
imglink=$(expr match "$(wget -o /dev/null -O - "$link")" ".*<img src=\"\(http://.*\.jpg\)\" style=.*")
if test $(expr match "$imglink" ".*/ehg/.*") -ne 0
then
sleep 1
continue
else
break
fi
done
echo $wgetargs|xargs wget --referer="$link" "$imglink"
sleep .5
done

Запускать так:

[us3r@localhost ~]$ /path/to/grabber.sh http://g.e-hentai.org/g/170847/55fc006441/

http://g.e-hentai.org/g/170847/55fc006441/ — ссылка на первую страницу альбома.

>> No.93300  
File: 1371510328496.jpg -(2920582 B, 1800x1272) Thumbnail displayed, click image for full size.
2920582

zram (который compcache) - держит сжатый своп в оперативной памяти. Отличная штука при нехватке оперативной памяти. Быстродействие несколько ниже чем при работе с несжатой памятью, но по сравнению с дисковым свопом - небо и земля.

>> No.93356  

>>93300
А вот это звучит интересно.
Даже быстрее SSD на каком-нибудь sata3, отведённого целиком под своп?
Сжатие дополнительно нагружает процессор. Плюс, если в свопе хранить какие-нибудь данные с равномерным разбросом байтиков, сжатие не спасёт.
Хотя для текста подойдёт, а SSD изнашивается.

Для чего оно применяется? Интересуют pros&cons.

>> No.93358  

>>93300
Противоположный реквест, есть 16гб памяти, хочется, чтобы шареные библиотеки вообще никогда из неё не выгружались. Есть вариант с рамфс, но это лишнее копирование и удвоенное потребление памяти.

>> No.93366  
File: 1371561860511.jpg -(2985210 B, 3507x2480) Thumbnail displayed, click image for full size.
2985210

>>93356

> Даже быстрее SSD на каком-нибудь sata3, отведённого целиком под своп?

Если у тебя есть возможность провести такой тест, то мне тоже будут интересны его результаты.

> Сжатие дополнительно нагружает процессор. Плюс, если в свопе хранить какие-нибудь данные с равномерным разбросом байтиков, сжатие не спасёт.

Естественно. Хотя сжатие там lzo, так что сильно процессор не грузит, на практике у меня сейчас эта штука сжимает где-то в 2.5 раза.

> Для чего оно применяется? Интересуют pros&cons.

Для того, чтобы поместить больше данных в оперативной памяти, не увеличивая ее физический объем. Из минусов - более загруженный процессор, большее время отклика и дополнительные телодвижения.
>>93358
Держать их в памяти так, чтобы они ее не занимали - не получится. Из альтернатив могу предложить периодическое чтение в /dev/null, чтобы они сидели в кеше vfs.

>> No.93367  
File: 1371562922362.jpg -(27551 B, 800x203) Thumbnail displayed, click image for full size.
27551

>>93366

>Держать их в памяти так, чтобы они ее не занимали

Я такого не просил.

>периодическое чтение в /dev/null

В этом весь линукс

>> No.93368  

Можно, конечно, написать скрипт, который генерит пустую программу, которая депендится на все либы в системе, а в мейне спит миллион лет. Но это тоже костыль.

>> No.93385  

>>93368
Окей, либы ты подгрузишь. Но как только какой-нибудь flashplugin захочет памяти, ядро увидит, что программа спит, и утащит либы в своп.

>> No.93387  

>>93385
это сфига что-то будет выгружаться, если памяти будет хватать и для флешплеера?

>> No.93390  

>>93385

>есть 16гб памяти >>93358

И вообще, с того компа браузер крайне редко запускаю, в интернетах с ноута сижу
На самом деле, я и в этом компьютере тоже с ноута сижу: Synergy отличная штука

>> No.93408  

Пощу сюда, чтобы блядский пост, ломающий мне форматирование новеря, ушёл под кат.

>> No.93549  

>>93358
Любопытно, а зачем такое может понадобится?

>> No.93551  

>>93549
Например, кода большая часть софта кде и гтк не использует, с каждого запуска криты или гедита охуеть можно.

>> No.93553  

>>93551
А ты уверен что проблема именно в либах, а не в том, что они пытаются запустить для себя еще какие-нибудь сервисы?

>> No.93564  

>>93553
При выходе из приложения сервисы останавливаются?

>> No.93566  

>>93564
Обычно да. Сравни процесслисты с приложением и после выхода из него. Не знаю как сейчас, а раньше кедо/гномо приложения много всякой гадости за собой тянули.

>> No.94795  
File: 1374434940939.jpg -(3353927 B, 1768x2500) Thumbnail displayed, click image for full size.
3353927

get_flash_videos - вытягивает видео с большинства сайтов

>> No.95865  
File: 1377078728905.jpg -(549179 B, 1200x847) Thumbnail displayed, click image for full size.
549179

Вручную создаем заклудку с таким однострочником:

data:text/html,<html> <head> <script type="text/javascript"> window.onload = function() { document.getElementById("form").submit(); }; </script> </head> <body> <form method="post" action="http://example.com/login.php" id="form"> <input type="hidden" name="login_username" value="vasya" /> <input type="hidden" name="login_password" value="hackme" /> </form> </body> </html>

При переходе сразу оказываемся залогиненым. Адрес отправки формы и названия полей логина и пароля беруться из оригинальной страницы логина. Если браузер не умеет в data:text/html то можно создать локальный html файл с таким же содержимым и сделать закладку на него.

>> No.95866  

>>95865
Годно, unfuddle постоянно меня теряет

>> No.95937  
File: 1377212208795.jpg -(541378 B, 1500x1800) Thumbnail displayed, click image for full size.
541378

socat unix-listen:/var/run/cups/cups.sock,fork tcp4-connect:cupsd.remote.example.com:631 & chmod a+rw /var/run/cups/cups.sock
вместо локального cupsd при отсутствии локальных принтеров

>> No.98497  

28

>> No.98728  

не особо силён в javascript\css\что там еще используют в бровзерах
на некоторых форумах таймстэмпы постов (напр., Tuesday at 6:53 AM) даются как UTC+0, и поменять можно только зарегистрированным пользователям. Eсть ли какое-то простое решение для того, чтобы сместить все метки до UTC+xx? Я, конечно, посидел два дня в гугле, читая про javascript, и написал свой скрипт, который это делает, как же я крут, но вдруг есть проще решение.

Проблема: при использовании аддона AutoPager (Opera 12) аддон грузит страницы без этого скрипта. Т.е. на первой странице мой скрипт работает, а дальше автозагруженных через аддон уже нет. What do.

>> No.98729  

>>98728
У тебя обработка висит на какое событие?

>> No.98733  

>>98729

Просто грузится однократно через специальный аддон (greasemonkey или аналогичный для оперы12, не помню уже)

>> No.98734  

>>98733
В самом юзерскрипте

>> No.98735  

>>98728
Это движок генерит при генерации страницы. Древние пхп-штуки таким увлекались. Не поменять со стороны сервера, только жс и парсинг.
Добавь в юзерскрипт вызов твоей мишуры прицепленный к подгрузке в аддоне. Некоторым манкипатчингом можно попробовать, например, если совсем все плохо там.

>> No.101664  
File: 1389971230977.jpg -(117660 B, 659x713) Thumbnail displayed, click image for full size.
117660

encfs ( http://www.arg0.net/encfsintro ) - пофайлово шифрует фс (название файлов и содержимое). Весьма актуально при хранении данных в облаках.

>> No.101677  

>>101664
http://www.ivarch.com/programs/pv.shtml
прога для работы с пайпами, визуализирует процесс передачи данных по пайпу, позволяет его разным образом насртраивать и все такое.

>> No.104627  
File: 1402139405595.png -(35701 B, 674x339) Thumbnail displayed, click image for full size.
35701

просто оставлю это тут

>> No.104654  

>>104627
Ера нет хуйня.

>> No.104659  

Вот моя:

╔════════════════════════╗
║Shift+key Shift+mod3+key║
║key mod3+key║
╚════════════════════════╝
╔════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦════╦═══════╗
║Ё ║1 ║2 ║3 ║4 ║5 ║6 ║7 ║8 ║9 ║0 ║_ ║+ ║Back ║
║ё ║! ║" ║# ║* ║: ║, ║. ║; ║( ║) ║- —║= ║space ║
╠════╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦══╩═╦═════╣
║TAB ║Й ║Ц ║У ║К ║Е ║Н ║Г ║Ш Ї ║Щ ║З ║Х ║Ъ Ѣ║| ║
║ ║й ║ц ║у ║к ║е ║н ║г 4║ш ї5║щ 6║з ║х ║ъ ѣ║\ ║
╠══════╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩╦═══╩═════╣
║Ctrl_l ║Ф Ѳ║Ы ║В ║А ║П ║Р ║О ║Л ║Д ║Ж ║Э Є║Enter ║
║ ║ф ѳ║ы ║в ║а ║п ║р ║о 1║л 2║д 3║ж ║э є║ ║
╠═══════╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩══╦═╩═════════╣
║Shift_l ║Я ║Ч ║С ║М Ѵ║И І║Т ║Ь ║Б ║Ю ║? ║Shift_r ║
║ ║я ║ч ║с ║м ѵ║и і║т ║ь 0║б «.║ю »║/ ║ ║
╠══════╦═══╩═╦══╩═══╦╩════╩════╩════╩═══╦╩════╩══╦═╩═══╦╩════╬═════╦═════╣
║NUM_LK║mod4L║alt_l ║ ║カタカナ║alt_r║menu ║mod4R║CtrlR║
║(hold)║ ║ ║ ║ひらがな║ ║ ║ ║ ║
╚══════╩═════╩══════╩═══════════════════╩════════╩═════╩═════╩═════╩═════╝
>> No.104661  

>>104659
А что у тебя в качестве mod3 используется?

>> No.104662  

>>104661
Правый альт. Кнопку menu использую как Compose.

>> No.104678  

>>104662
Алсо, переключение раскладок правым шифтом доставляет: одной рукой становится невозможно сделать, скажем, Ctrl-Shift-PLEWS.
Ситуация продиктована отсутствием на клавиатуре правого mod4. Левый уже занят awesome'ом.
Щто делать, анон? Ctrl-Shift/Alt-Shift не предлагать.

>> No.104679  

>>104678
Я капсом переключаю, брат жив, зависимость есть.

>> No.104680  

>>104679
Новерьчую капс.

>> No.104685  

>>104679>>104680
Тоже так думал. Но как заставить ctrl:swapcaps и grp:caps_toggle работать единовременно?

>> No.104686  
File: 1402452269558.jpg -(259134 B, 1181x1748) Thumbnail displayed, click image for full size.
259134

>>104685
Вместо ctrl:swapcaps можно использовать xmodmap (в man xmodmap есть пример) либо вообще переправить на свой лад /usr/share/X11/xkb/symbols/*

>> No.104692  

>>104686
Спасибо. Теперь всё просто охуенно.

>> No.105214  
File: 1404329928360.png -(2694869 B, 1920x1200) Thumbnail displayed, click image for full size.
2694869

Тут вроде маководы были.

http://pastebin.com/QaH4Kf0F

>> No.106557  
File: 1408634348594.jpg -(1627782 B, 1660x2398) Thumbnail displayed, click image for full size.
1627782

polipoid - кеширующий проксик под ведро. По второму разу страницы загружаются ощутимо быстрей и с меньшими затратами трафика. Можно не беспокоиться за прибитый OOM браузер, уже открытые вкладки прогрузятся быстро и без затрат трафика. Можно серфить в оффлайне в пределах кеша.

>> No.107277  
File: 1410287517524.webm -(889247 B, 640x360) Thumbnail displayed, click image for full size.
889247

В связи с запиливанием .webm на новерь тупоскрипт для вырезания вебмок из видео: https://gist.github.com/Mendor/0ec709799faad92d974e

>> No.107279  

>>107277
Сурс?

>> No.107280  

>>107279

Clip info:
TITLE: Gochuumon wa Usagi Desu ka_it_was_hot_webm
>> No.107289  

>>107280
Th-thanks.

>> No.109021  
File: 1413724611607.jpg -(1151282 B, 992x1403) Thumbnail displayed, click image for full size.
1151282

Телефонный дебиан
http://sven-ola.dyndns.org/repo/debian-kit-en.html

>> No.109777  
File: 1415399250621.png -(322722 B, 875x650) Thumbnail displayed, click image for full size.
322722

>>105214

>> No.109782  

>>43960
Раз пошла такая пьянка, то кто мне пояснит, почему при включенном куклоскрипте на любой борде у меня не показывает доски? Главные еще показывает. брожу по разделам - и пустой экран, словно вымели всё метлой. пару дней назад все было норм.

>> No.110594  
File: 1417550528690.png -(293833 B, 683x1024) Thumbnail displayed, click image for full size.
293833

Внезапно mpv жрет ссылки на youtube. Можно смотреть трубу бесплатно без рекламы и смс.

>> No.110595  

>>110594
Замечательно! Осталось прочитать 163 страницы инструкции, чтобы узнать как это сделать.

>> No.110606  

>>110595
В аргумент ему суешь ссылку и он ее играет, очевидно же.

>> No.111937  

Использование аппаратного генератора случайных чисел на i*. Не рекомендуется использовать для стойкой криптографии.

    int rdrand32_step (uint32_t *rand) 
{
unsigned char ok;
asm volatile ("rdrand %0; setc %1"
: "=r" (*rand), "=qm" (ok));
return (int) ok;
}
>> No.113697  
File: 1424564551197.jpg -(1076519 B, 1032x1500) Thumbnail displayed, click image for full size.
1076519

Копирование мелких файлов методом копипасты текста

на источнике:

tar zc files.* | base64

результат копируем и кормим на приемнике такой конструкции:

base64 -d | tar zx

В отличии от scp проходит любое количество вложенных сессий.

>> No.113970  
File: 1425078052409.png -(696241 B, 1280x720) Thumbnail displayed, click image for full size.
696241

>>47302

> Ещё один браузер на вебките: luakit
> Очередной минималистичный (мышенезависимый)

Но ведь уже есть vimperator для *fox

>>51409

> /r/ скрипт который будет рекурсивно заходить в папки и переименовывать субтитры под видеофайлы ориентируясь на номера серий.

Если ты ещё здесь, у меня для тебя хорошие новости: я два года назад начал пилить скрипт, который делает всё проще https://github.com/deterenkelt/watchsh

>>53738

> ipv6
> полезный

Я бака, объясните мне, в чём полезность.

>>63845
# cd /usr/arch/43960/src/linux && make help | grep -A2 -E '^ install\s'

>>72110
Это что-то типа yad, скрещённого с tinynotify-send?

>>73523
Схоронил!

>>80335

> Ребят, а стоит ли приобщаться к тайловым WM, если у меня монитор 1280х1024?

Обязательно стоит. Только не к авесоме, а к i3, напрмиер. Потому что там настоящий тайлинг, с контейнерами, а ещё там окна можно делать стэком и табами, при этом всё легко управляется с клавиатуры, если клавиши под себя настроить. Простой конфиг без lua и прочих хаскелей, подробный User guide на сайте, в общем, всё для того, чтоб взять и остаться довольным.

>>80339

> На большом мониторе преимущество от них как раз в том, чтобы не мышевозить, располагая окна, ящитаю.

В IRC i3 как-то обсуждали, как добавить пустого пространства между тайлами, этакий padding для контейнера, чтоб обоина была видна между границами окон. Вкупе с полупрозрачными терминалами выглядело действительно офигенно. Если бы мне не было жалко выжигать 40" плазму, я бы тоже так сделал.
мимо с 12-ю терминалами на одном воркспейсе

>>104627
О, какой командой это нарисовать?

У меня есть кладовка для сниппетов, которые мне периодически нужны, но которые я часто забываю. Именно сниппеты или даже коротенькие команды, которые не совсем логично (даже совсем не логично) пихать в отдельные скрипты. Каждый сниппет определён, как bash-функция с именем iforgot-…. Таким образом вспомнить сниппет можно набрав iforgot- и какое-то ключевое слово, которое там дальше в имени функции, или вызвать функцию iforgot и передать ключевые слова ей — а уже она будет искать среди имён других iforgot-* функций то, что подходит: https://github.com/deterenkelt/dotfiles/blob/master/bashrc/iforgot.sh

>> No.113972  

>>113970

> > /r/ скрипт который будет рекурсивно заходить в папки и переименовывать субтитры под видеофайлы ориентируясь на номера серий.
> Если ты ещё здесь, у меня для тебя хорошие новости: я два года назад начал пилить скрипт, который делает всё проще https://github.com/deterenkelt/watchsh

Как только люди не извращаются, лишь бы ансаб не смотреть, в котором этой порнографией с поиском субтитров и подгонкой тайминга страдать не надо.

>> No.113973  
File: 1425079809179.jpg -(17449 B, 414x287) Thumbnail displayed, click image for full size.
17449

>>113972
Честно говоря, я пока писал, уже достаточно хорошо подтянул английский, так что конкретно этой функцией сам давно не пользуюсь. А вот цикл и пережамкивание скринов — вещь для меня незаменимая. Алсо удобно DVD и блюреи играть, когд dvd:// в mpv отваливается.

>> No.113974  

>>113970

> Я бака, объясните мне, в чём полезность.

В возможности ходить на ipv6-only ресурсы не только по ip но и по хостнеймам.

>> No.113976  
File: 1425084092744.png -(558647 B, 700x693) Thumbnail displayed, click image for full size.
558647

>>113970

> Это что-то типа yad, скрещённого с tinynotify-send?

Вроде того. Можно использовать как вместо первого так и вместо второго, при этом оно не тянет за собой кучи зависимостей и работает с практически любым wm.

>> No.113977  

>>113970

> для *fox

С его легковесностью можно поспорить.

>> No.113979  
File: 1425086760733.jpg -(700297 B, 1800x1524) Thumbnail displayed, click image for full size.
700297

>>113974

> В возможности ходить на ipv6-only ресурсы

Например? /Нет, это не реквест инвайта на закрытый трекер/

>>113976
Понятно. Хотя у тех двух тоже зависимости вроде минимальные.

> и работает с практически любым wm.

Ну это уж должно быть что-то совсем прибитое к гномокедам…

>>113977

> С его легковесностью можно поспорить.
> его

Кого именно? http://en.wikipedia.org/wiki/Category:Web_browsers_based_on_Firefox

>> No.113982  

>>113979

> Например? /Нет, это не реквест инвайта на закрытый трекер/

Например на свой домашний компьютер за натом.

>> No.113984  

>>113982
А это в принципе возможно, если кто-то в цепочке между вдруг не поддерживает этот протокол?

>> No.113985  

>>113982
Хотя, мне провайдер подарил белый IP на прощанье, так что мне есть на что заходить. А ещё примеры есть? Для одного домашнего компа и динднс поднять не вопрос.

>> No.113986  

>>113984
Естественно. Мало того, начиная с win7 это работает из коробки, если оба узла не используют teredo адреса одновременно.

>> No.114016  
File: 1425160479239.png -(36910 B, 800x850) Thumbnail displayed, click image for full size.
36910

>>113986
А поше Но как же так? Ведь интернет пестрит сообщениями о том, что если ваш провайдер не подерживает IPv6, то уж извините…

>> No.114017  

>>114016

> Но как же так? Ведь интернет пестрит сообщениями о том, что если ваш провайдер не подерживает IPv6, то уж извините…

Какой-то неправильный у тебя интернет.
https://en.wikipedia.org/wiki/Teredo_tunneling
https://en.wikipedia.org/wiki/6to4
Разве что ты этот функционал фаерволом зарезал.

>> No.114018  
File: 1425163838343.png -(706379 B, 952x720) Thumbnail displayed, click image for full size.
706379

>>114017

> Teredo_tunneling

М, моя единственная мысль была о виланах, но я не сообразил как это могло бы работать через нескольких провайдеров.

> 6to4

Это всё интересно, но для того, чтобы занырнуть в домашнюю ipv6 сеть нужен какой-то белый v4 же, нет? Не на деревню дедушке ж пакеты слать?

> Разве что ты этот функционал фаерволом зарезал.

<Здесь должен быть спойлер, но С-с-с-суд-дзу его у-у-ронила, пока не-несла>
Вообще нет, я его просто не добавил его в конфигурацию ядра.
</Здесь должен быть спойлер, …>

>> No.114019  

>>114018

> но я не сообразил как это могло бы работать через нескольких провайдеров

v6 пакеты заворачиваются в v4udp и дальше идут как оычные v4.

> Это всё интересно, но для того, чтобы занырнуть в домашнюю ipv6 сеть нужен какой-то белый v4 же, нет?

Для 6to4 - да. Но достаточно одного на роутер, который раздаст v6 адреса всем остальным.

>> No.114020  
File: 1425166745715.png -(3545510 B, 1920x2130) Thumbnail displayed, click image for full size.
3545510

>>114019

> v6 пакеты заворачиваются в v4udp и дальше идут как оычные v4.

Нет, я про виланы

> PBB
> mac-in-mac
> Маки-в-Маки

Эээхе-хе…

>> No.114021  

>>114020

> Нет, я про виланы

802.1q чтоли?

>> No.114022  

>>114021
Да, точнее, я думал о чём-то вроде http://en.wikipedia.org/wiki/IEEE_802.1ah-2008

>> No.118479  

Читабельное форматирование json:
cat file.json | python -m json.tool

>> No.119089  
File: 1438207335319.jpg -(973975 B, 999x1390) Thumbnail displayed, click image for full size.
973975

Немного про оптимизацию фс в linux при монтировании
- atime (по умолчанию) - с этой опцией atime будет писаться на диск так же как и любые другие метаданные, что иногда вызывает проседание производительности
- noatime - atime обновляться не будет, быстро, но может что-то поломать, например очистку мусора по atime
- relatime - atime обновляется только если он меньше mtime или ctime или старше 24 часов
- lazytime - atime обновляется в кеше vfs, но не инициирует запись на диск. Запись может быть инициирована изменением других метаданных или выгрузкой страницы из кеша

>> No.119090  
File: 1438210041017.png -(682620 B, 822x813) Thumbnail displayed, click image for full size.
682620

>>119089
Ах да, lazytime поддерживается только ext4.

>> No.119230  
File: 1438603956372.jpg -(176416 B, 814x950) Thumbnail displayed, click image for full size.
176416

Обновился - образ 10 сожрал ключ от 7 с чужого компьютера. Все более менее, на системном разделе места вроде даже больше, только данные учетной записи грузится стали после ввода пароля, а не до.
Но естесвенно не без обязательной ложки говна - казалость бы, ранее нормально работавший windows photo viewer отказывается читать что либо кроме tif. Новый велосипед не просто неудобен, а неимоверно неудобен. Ну кто решил, что масштаб колесиком плох, а края рамки должны быть сразу в 100 пихелей! Аналоги не лучше.
Знает кто как прикрутить остальные расширения, возможно перепробовал не все способы по умолчанию? Собственные поиски уже уперлись в тупизну лень.

>> No.119231  
File: 1438610563374.jpg -(95642 B, 1101x714) Thumbnail displayed, click image for full size.
95642

>>119230

>не без обязательной ложки говна

если добавить ложку говна в бочку мёда- получится бочка говна.

>> No.119310  

Чем сниффить ком-порт? Под винду все программы требуют проприетарные драйверы, которые потом на семерке и не работают, в интернетах все голову сломали, но ничего не нашли. Нужен всего-то лог посылок между софтиной и железкой. Винда не обязательна, если заработает с виртуалки.

>> No.119311  

>>119310
А нагло открыть его как файл и читать нельзя, занят программой?

>> No.119317  

>>119310
virtualbox умеет в импорт com-порта по tcp. Ну а там дальше любой tcp-снифер.

>> No.120182  
File: 1440617482125.png -(560838 B, 600x800) Thumbnail displayed, click image for full size.
560838

xpra - такой себе screen для X11. Умеет жать картинку как в losless так и в lossy разными способами, позволяет довольно комфортно работать через интерент, что нельзя сказать про голый X11.

>> No.120185  

>>120182

>xpra

мусье знает толк в г

>> No.120221  
File: 1440646355864.jpg -(298557 B, 1427x1029) Thumbnail displayed, click image for full size.
298557

>>119230

> ранее нормально работавший windows photo viewer отказывается читать что либо кроме tif

Это не тот вьюер, это его метроогрызок. Отличный пример функциональности всех этих полноэкранных бестолковых приложений с ярлыком в виде кирпича. Настоящий пикче анд факс вьюер тоже присутствует и ничем не отличается от спермового.
Нет, ну серьёзно, это прогресс? Они выёбываются своими живыми плитками, хотя ещё в висте появились гораздо более функциональные виджеты, которые даже разрабатывать не надо было, являлись кусочками хтмл. Теперь же специальные программисты сидят и разрабатывают хуй знает зачем нужные приложения. Я кое как нашёл часы, которые не только разворачивают на весь экран ЧАСЫ, но и показывают в виджете время. Либо это ЧАСЫ, либо стоят триста рублей, либо после всего этого выглядят как гавно. С погодой то же самое, короче это как скачок назад на десять лет, причём под помпой охуенного прорыва в дизайне. Половина приложений просто клиенты к сайтам, их все заменяет браузер, потом множество тач приложений для отстающих в развитии, аля с названием фотошоп, но всего с тремя кнопками, испортить контрастность на фотке и добавить сепии с виньеткой. Я вообще в самом мрачном настроении от сегодняшнего "софта". раньше на какой нибудь файлообменник на FTP заходишь в папку soft, и глаза разбегаются, думаешь что нужно обязательно скачать какой-нибудь генератор фракталов или аудиоредактор, не представляю как без них жить. А сейчас смотришь даже на "лучший" платный софт что в виндовссторе, что в гугле, и думаешь, что даже если объявят промо акцию на неделю, все приложения бесплатно, то я бы себе на компьютер или планшет с телефоном отсюда бы даже ничего ставить не стал бы.

>> No.120222  

Ещё хорошо что виджеты от спермы можно без труда прикостылить.

>> No.120224  

>>120221
на планшетах удобно, а пекабляди ПОТЕРПЯТ.

>> No.120226  

>>120224
Что удобно? Отсутствие вменяемых виджетов? Отсутствие функционала? Куча хлама в магазине, в добавок к предустановленному?

>> No.120290  
>Это не тот вьюер, это его метроогрызок

Он самый, просто, похоже, это такой способ борьбы с пиратством.
http://www.howtogeek.com/225844/how-to-make-windows-photo-viewer-your-default-image-viewer-on-windows-10/

>> No.120302  

>>120290
Я так и не понял причём тут пиратство, и почему это одна и та же программа? Я да, обновил сперму до этого говна, и у меня в системе сразу было обе программы, успевай только выбирай. Новой Photos, кстати, умеет в анимированный гиф, вот это прорыв!

>> No.120314  

>>120302

>вот это прорыв

ничего смешного, у нас под прыщеблядиксом до сих пор таких чудес не видать.

>> No.120321  

>>120302
Новый фотос тормознутое гавно и альтернативы помимо старой версии так и нет. Я уже вернулся на старую версию, а подумывал вообще так на линухи, тк там ЕоГ. Почему вообще почти ни в одной софтине соответствующего функционала нет ,лять, масштабирования колесиком? Самая востребованная функция так по мне.

>> No.120822  

http://paulhoule.com/doskey/ - enhanced, drop-in replacement
мне же интересно, с какого раза вы поймёте, какая версия последняя

>> No.120823  

>>120822
Где ты был 10-15 лет назад?

>> No.120824  

>>120823 ты только что узнал? :D

>> No.120825  

>>120824
Да :(

>> No.120920  

>>120314
Какой-то неправильный прыщеблядикс у вас.

>> No.120921  

>>120920
а ну-ка сучечка перечисли мне нормальные вьюверы с проигрыванием гифок. я знаю ровно один, но он говно.

>> No.120925  

>>120921
FSViewer.

>> No.120930  

>>120925
это спермачевский. или ты поставил линукс ради вайна?

>> No.120932  

я, кажется, начинаю догадываться, чому у некоторых гиф-тред вызывает дискомфорт
>>120930 хочешь сказать, красноглазые до сих пор гифы в бровзере смотрят?

>> No.120937  

>>120921
Ну так напиши сам, что ты как лох последний. Можно подумать другие ебут что там есть "нормальный вьювер" по мнению какого-то мелкобуквенного неудачника.

>> No.120938  

>>120937
маняврирование

>> No.120984  

"98SE software (mostly free-to-use)": http://home.earthlink.net/~doncox/software/software.html - мож кому поможет, хотя бы как точка входа

>> No.121091  
File: 1442191125645.jpg -(156227 B, 681x900) Thumbnail displayed, click image for full size.
156227

>>120921
да ёб же твою мать, случайно обновил geeqie до 1.2, а у этих пидоров всё ещё сломан фуллскрин. что за блядь новая версия такая, котора ломает фичи? и ебилд на 1.0 выкинули из портажа, охуеть, сука. теперь у прыщеблядей 0 нормальных вьюверов.

>> No.121092  

>>121091
хорошо что старый ебилд на просторах инторнета остался.

>> No.121128  
File: 1442263129094.jpg -(438149 B, 690x1000) Thumbnail displayed, click image for full size.
438149

>>121092
Зачем искать на просторах интернета, когда все изменения портежа c августа 2005 есть в гите https://github.com/gentoo/portage ?

>> No.121137  
File: 1442290868556.jpg -(334529 B, 800x1132) Thumbnail displayed, click image for full size.
334529

>>121128
eh? там же сама портаж, а не дерево. один из нас чото п.

>> No.121141  
File: 1442303178988.png -(149806 B, 600x530) Thumbnail displayed, click image for full size.
149806

>>121137
Ой, похоже это не тот портаж. Имелся в виду https://github.com/gentoo/gentoo правда там не все так хорошо с историей, глубже заглянуть можно тут https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/

>> No.121221  

http://www.cutepdf.com/Products/CutePDF/writer.asp - виртуальный pdf принтер для винды. использует ghostscript, по сути это гуй к нему. текстовый файл с параметрами командной строки ghostscript'а: C:\Programm Files\Acro Software\PDFWrite.rsp

http://downloads.ghostscript.com/public/ - сам ghostscript. вообще-то у него есть свой драйвер виртуального принтера в gs\lib, однако работает он не на всех виндах - см. gs\lib\ghostpdf.README for details

>> No.121317  
File: 1442606729154.jpg -(965343 B, 1146x907) Thumbnail displayed, click image for full size.
965343

Syncthing - синхронизация файлов, может как в десктоп так и в андроид.

>> No.123643  
File: 1448481180794.jpg -(1305093 B, 1024x2048) Thumbnail displayed, click image for full size.
1305093

https://github.com/Xfennec/progress - показывает процент выполнения различных операций, где такая возможность не предусмотрена разработчиками (cp, xz, cat итд)

>> No.123645  

>>123643
Но зачем, если есть универсальный pv?

>> No.123646  
File: 1448491757057.jpg -(1521405 B, 1000x1414) Thumbnail displayed, click image for full size.
1521405

>>123645
pv требует чтобы данные пропускали через него и следовательно его нужно заранее вносить в состав пайпа, progress же работает резидентно и может мониторить то, что не поддерживает пайпы.

>> No.123647  

>>123646
http://www.ivarch.com/programs/quickref/pv.shtml

> -d PID[:FD], --watchfd PID[:FD]
> Instead of transferring data, watch file descriptor FD of process PID, and show its progress. The pv process will exit when FD either changes to a different file, changes read/write mode, or is closed; other data transfer modifiers - and remote control - may not be used with this option.
> If only a PID is specified, then that process will be watched, and all regular files and block devices it opens will be shown with a progress bar. The pv process will exit when process PID exits.

Флаг есть с января прошлого года.
Только не говори что тебе лень искать pid.

>> No.123648  
File: 1448494128272.jpg -(332438 B, 630x840) Thumbnail displayed, click image for full size.
332438

>>123647
Если тебе удобней каждый раз искать pid тогда pv твой выбор, да.

>> No.124457  

Няши, мне нужна штука на линуксовый сервер, чтобы она могла:
1) Проверять целостность файла (crc, md5 - не важно), если ещё может смотреть владельцев/права то вообще замечательно
2) Ходить рекурсивно внутрь каталога, не требовала бы длинного списка файлов для обработки как у md5sum -c
3) При первом запуске где-то сохранила эти состояния и потом сверялась с ними
4) При несоответствии отправляла бы письмо ну или просто ругалась бы в stdout
5) Могла нормально работать в кроне.

>> No.124458  
File: 1450261135744.jpg -(438353 B, 810x1077) Thumbnail displayed, click image for full size.
438353

>>124457
Написать полстранички на питоне или баше мешает религия или ориентация?

>> No.124459  

>>124457
AIDE например.
Лично я с ней так и не работал, но вроде бы она не совсем говно.
Либо любой другой результат из гугла по запросу "file integrity monitoring"

>> No.124462  

>>124457
git/svn/cvs?

>> No.124466  

>>124457
>>124458
Если религия не мешает, могу написать.

>> No.127145  

Compose Music From Entropy in /dev/urandom

http://blog.robertelder.org/bash-one-liner-compose-music/

>> No.130705  
File: 1466025859834.jpg -(273156 B, 565x900) Thumbnail displayed, click image for full size.
273156

На правах бампа немного файловой магии:

ls -lhs file

^ показывает размер аллоцированного под файл пространства (сколько места занимает файл на диске) и логический размер файла

cp --sparse=always src.img dst.img

^ копирует файл, но не аллоцирует место под куски, забитые нулями. Полезно для хранения образов дисков.
Ну и чтобы в обазе диска свободное место было забито нулями в смонтированной файловой системе можно сделать такое:

dd if=/dev/zero of=somefile ; sync ; rm somefile
>> No.130733  

>>47303
ActiveDesktop?

>> No.130735  

>>53752
Это freeDB.

>> No.130736  

>>93358
preload

>> No.130737  

Нихуя себе, я на даты-то и не смотрел.

>> No.130820  

>>47303

>с авесомом

Хуита для задротов не нужна.

>> No.130833  
File: 1466340113074.jpg -(223955 B, 1700x1650) Thumbnail displayed, click image for full size.
223955

>>130736
Спасибо, вроде работает. Выбросил костыли.
93358-кун

>> No.130835  

>>130833

>Выбросил костыли.

линукс что ли удалил?

>> No.134089  
File: 1477250714405.png -(188921 B, 5333x3000) Thumbnail displayed, click image for full size.
188921

>>134087
Это скорее в картинки.

>rm -rf /
>2016

Или в мусорку.

>> No.138355  

Мониторит изменения статических страниц по Last-Modified, отписывается на почту при изменении.

#!/usr/bin/env python3
import requests
import time
import sys
import subprocess
def getlastdate(a):
try:
r=requests.head(a)
return r.headers['Last-Modified']
except:
return 'fail'
def msg(m):
proc = subprocess.Popen(['mutt', '-s', 'url updated', 'me@example.com'], stdin=subprocess.PIPE)
proc.communicate(m.encode('UTF-8'))
last = {}
second = 0
f = open(sys.argv[1], 'r')
for url in f:
last[url[:-1]] = ''
f.close()
while (1):
changed = ''
for url in last:
l=getlastdate(url)
if (last[url] != l):
changed = changed + url + ' : ' + l +'\n'
last[url] = l
if (changed != ''):
print(changed)
if (second):
msg(changed)
else:
second = 1
time.sleep(300)
>> No.139084  

oem-ключ винды из acpi

sudo tail -c +56 /sys/firmware/acpi/tables/MSDM
>> No.139154  
File: 1491411838876.jpg -(773079 B, 768x1024) Thumbnail displayed, click image for full size.
773079

Еще немного про впихивание в оперативку невпихуемого

echo 1 > /sys/kernel/mm/ksm/run

и чтобы это работало с софтом, который знать не знает про KSM:
https://github.com/unbrice/ksm_preload (с браузерами скорее всего не сработает, у них собственный аллокатор памяти)

алтернативный путь:
https://github.com/dolohow/uksm

>> No.140676  
File: 1496942676962.jpg -(551363 B, 965x965) Thumbnail displayed, click image for full size.
551363

Балансировка на два провайдера + такой себе фейловер

    ip addr add 192.168.0.1/24 dev eth0
ip link set eth0 up
ip addr add 1.1.1.2/30 dev eth1
ip link set eth1 up
ip route add 192.168.0.0/24 dev eth0 table 1
ip route add default via 1.1.1.1 table 1
ip rule add from 1.1.1.2 table 1
ip rule add fwmark 0x1 table 1
ip addr add 2.2.2.2/30 dev eth2
ip link set eth2 up
ip route add default via 2.2.2.1
ip route add 192.168.0.0/24 dev eth0 table 2
ip route add default via 2.2.21 table 2
ip rule add from 2.2.2.2 table 2
ip rule add fwmark 0x2 table 2
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -t mangle -A PREROUTING -i eth1 -m connmark --mark 0x0 -j CONNMARK --set-xmark 0x1
iptables -t mangle -A PREROUTING -i eth2 -m connmark --mark 0x0 -j CONNMARK --set-xmark 0x2
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -m connmark \! --mark 0x0 -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -m connmark --mark 0x0 -m statistic --mode nth --every 2 --packet 0 -j MARK --set-mark 0x1
>> No.141466  
File: 1499708730638.gif -(136930 B, 640x259) Thumbnail displayed, click image for full size.
136930

https://www.wireguard.io/

Еще один впн, простой и легковесный

>> No.141471  

>>138355

f = open(sys.argv[1], 'r')
for url in f:
last[url[:-1]] = ''
f.close()

`with open(sys.argv[1]) as f:` и короче, и идиоматичнее. 'r' не нужно, оно и так по дефолту.

last[url[:-1]] = ''

Если последняя строка файла окажется без '\n', то обрежется кусок ссылки. Правильнее: `url.rstrip('\n')`.

    try:
r=requests.head(a)
return r.headers['Last-Modified']
except:
return 'fail'

Перехватывая все исключения, ты перехватываешь и KeyboardInterrupt. В итоге, если пользователь нажимает ^C во время блока try-except, это ^C будет проигнорировано. Придётся нажимать снова, и не факт, что на второй раз удастся выйти. Правильнее: `except Exception:`.

>> No.141472  

>>138355

Я переписал твой скрипт, для повышения readability, testability and modifiability:

#!/usr/bin/env python3
import requests
import time
import sys
import subprocess
def get_lastmod(url):
try:
r = requests.head(url)
return r.headers['Last-Modified']
except Exception:
return 'fail'
def get_lastmodset(urls):
return set((url, get_lastmod(url)) for url in urls)
def fmt(diff, urls):
lines = (url + ':' + diff[url] for url in urls if url in diff)
return '\n'.join(lines) + '\n'
def msg(m):
proc = subprocess.Popen(['mutt', '-s', 'url updated', 'me@example.com'], stdin=subprocess.PIPE)
proc.communicate(m.encode('UTF-8'))
def notify_when_changed(urls, msg, fmt, timeout):
old = new = get_lastmodset(urls)
while True:
diff = {url: lastmod for url, lastmod in new - old}
if diff:
msg(fmt(diff, urls))
old, new = new, get_lastmodset(urls)
time.sleep(timeout)
if __name__ == '__main__':
with open(sys.argv[1]) as f:
urls = [url.rstrip('\n') for url in f]
notify_when_changed(urls, print, fmt, 1)
#notify_when_changed(urls, msg, fmt, 300)
>> No.141474  

>>141471
>>141472
Спасибо. Олсо если уж на то пошло то:

> Если последняя строка файла окажется без '\n', то обрежется кусок ссылки. Правильнее: `url.rstrip('\n')`.

Тогда уже и фильтрацию пустых строк стоило запилить наверное.

Ну и

> notify_when_changed(urls, print, fmt, 1)
> #notify_when_changed(urls, msg, fmt, 300)

стоило почистить после отладки

>> No.141475  
File: 1499764721548.jpg -(115319 B, 700x700) Thumbnail displayed, click image for full size.
115319

>>141474

> Тогда уже и фильтрацию пустых строк стоило запилить наверное.

В явной фильтрации необходимости нет. Любой malformed URL при попытке его запросить при помощи requests.head() выбрасывает исключение, и get_lastmod() стабильно возвращает 'fail'. requests.head() генерирует исключение ещё до запроса к сети, поэтому оверхед от такого решения минимальный. Выходит, этот скрипт даже поддерживает «комментарии»: достаточно перед ссылкой поставить # или любой другой левый символ — и ссылка будет фактически игнорироваться.

> стоило почистить после отладки

Не вижу особого смысла. Это не законченная программа, а заготовка. Всё равно предполагается редактирование скрипта конечным пользователем.

>> No.141476  
File: 1499766544864.jpg -(208501 B, 1026x720) Thumbnail displayed, click image for full size.
208501

>>104627

Користуюся вже котрий місяць. Мені не треба українська майже ніколи, але коли усе ж таки потрібно ввести щось українською, ця розкладка дуже виручає. Та й ще російське Ё вводити зручніше.

>> No.141480  

А можно мне скрипт на питоне, который коммитил бы и пушил на гитхаб без необходимости вводить логин-пароль, которые прописаны в самом скрипте?

>> No.141481  

>>141480
SSH же: https://help.github.com/articles/connecting-to-github-with-ssh/.

>> No.141483  

>>141481
Без ssh

>> No.141484  

>>141483
Зачем?

>> No.141485  

Ещё бы скрипт на питоне, который делал и коммитил работу за меня.

>> No.141486  

>>141485
И чтоб он и деньги получал бы, и тратил их тоже за тебя. Кстати, что скриптам для счастья надо? На что бы они деньги тратили?

>> No.141487  
File: 1499789926417.jpg -(167134 B, 600x800) Thumbnail displayed, click image for full size.
167134

>>141483
Укажи origin как https://user:password@host/bla-bla-bla

>> No.141670  

Есть сотни m4a и mp3, как обрезать тишину на них в начале и в конце каждого файла?

>> No.141671  

>>141670
https://ffmpeg.org/ffmpeg-filters.html#silenceremove

>> No.141678  

Хочу качать с ютуба плейлисты. Целиком. Желательна конвертация в mp3 на лету.

>> No.141683  

>>141678
youtube-dl -i --extract-audio --audio-format mp3 -o "%(title)s.%(ext)s" <url to playlist>

>> No.141690  

>>141683
Спасибо!

>> No.149134  
File: 1517086697189.jpg -(627074 B, 1398x1984) Thumbnail displayed, click image for full size.
627074

наверх

>> No.149180  

Существуют ли работоспособные аналоги vkbot, по части сохранения медиа?
Из перебраннных браузерных дополнений и скриптов на перле и питоне с гитхаба, наиболее удачным показалось это дополнение:
https://addons.mozilla.org/ru/firefox/addon/vk-music-downloader/
Но он сохраняет все без таймаута, файрфокс давится парой тысяч загрузок в очереди, и моих байтоебских навыков в жс хватило только на busy waiting.

>> No.149630  

копипаста из топа .bash_history

> find . -name '*.py' -type f -exec grep -Hn --color=always 'kwargs' {} \;

когда-нибудь я сохраню в .bashrc функцию-интефейс для этого, но не сегодня.

>> No.149631  

>>149630

> \;

Плюсик поставь, не дёргай grep попусту.

>> No.149661  

>>149631
я работаю и он пусть работает.

>> No.149662  

>>149661
Не проще ли тупо
grep -rnie 'kwargs' .

>> No.149668  
File: 1518419813071.png -(259167 B, 1797x1149) Thumbnail displayed, click image for full size.
259167

Такие дела.

>> No.149670  

>>149662
нет, часть с файдом нужна. Вся конструкция постоянно изменяется в зависимости от того, что нужно искать.

>>149668
кул

>> No.149813  

>>149668
Чем он лучше grep?

>> No.149821  

>>149670

>часть с файдом нужна

Тогда I
grep -rnie 'kwargs' . | grep -e "\.py"

>> No.149823  

Хочу сохранять все пакеты, содержащие определённую подстроку, что-то вроде комбинации grep по tcpdump. Только чтобы не сохраняло ничего лишнего, место на жёстком диске же не бесконечное. Может, кто-нибудь подскажет готовое решение?

>> No.149826  
File: 1518803391487.jpg -(396065 B, 800x1117) Thumbnail displayed, click image for full size.
396065

>>149823
ngrep?

>> No.149827  

>>149826
То, что надо. Спасибо.

>> No.149969  

В ~/.config/youtube-dl/config пишем такое:

--external-downloader aria2c
--external-downloader-args "--max-connection-per-server=16 -k 1M"

и получаем неслабое ускорение при загрузке с трубы. Естественно нужно иметь в наличии aria2.

>> No.149971  

На случай пробития ната без посредников:
https://github.com/samyk/pwnat/

>> No.149982  

>>149971
Ебать.

Вот поэтому я не занимаюсь никакой криптографией и вообще информационной безопасностью. Даже если просят роутер настроить, я сразу отказываюсь. Я в принципе не понимаю, как определять потенциальные уязвимости своей системы.

>> No.149983  

>>149982
Нат не фаервол

>> No.149985  

>>149971
http://shouldiblockicmp.com/ ?

>> No.149987  

>>149985
Скорее "как поиграть в кубач со знакомым из другого города, если ни у кого нет внешнего ip"

>> No.149988  

>>149983
Да все равно. Я не знаю, как вычислять поверхность атаки что у файрвола, что у любой другой системы.

>> No.149989  

>>149987
И как это сделать, если Time Exceeded заблочен?

>> No.149990  

>>149989
Много ли провайдеров блочат Time Exceeded?

>> No.150037  

А вот ffmpeg, он процессором видео конвертит, да? А ускорить видеокартой его нельзя? На линуксе вообще есть не слишком задротские методы использования мощностей видеокарты?

>> No.150038  

>>150037
ffmpeg использует всякие libxxx, типа libav, а те уже в свою очередь ебут твой аппарат. Использует ли он видеокарту, зависит от самой видеокарты и её драйверов. Обычно всё по умолчанию используется, если может использоваться. Ты можешь проверить свою видяху во всяких референсах типа https://developer.nvidia.com/ffmpeg (нужно знать архитектуру) и протестировать на системе без/с видеокарты. Если сделаешь тесты, приноси, посмотрим, интересно.

>> No.150039  

>>150037
https://trac.ffmpeg.org/wiki/HWAccelIntro

>> No.150137  
File: 1519936912896.png -(975052 B, 1920x1080) Thumbnail displayed, click image for full size.
975052

http://pygments.org/demo/6718096/?style=pastie

>> No.150139  

>>150137
это для тех, кому обычный ренейм из, например, util-linux недоступен?

>> No.150143  

>>150139
Ага, под андроидом запускал.

>> No.150179  

>>150137
>>150139
>>150143
Для Android есть Termux, в котором много пакетов, в том числе и util-linux и SSH-сервер. Такая вот благая весть для тех, кто ещё не слышал.

>> No.150184  

>>150137

> OIFS=IFS
> IFS=OIFS

Забыл доллары.

> IFS=;

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

> [ "$file" == "*$1*" ]

== нет в POSIX.

> ${file/$1/$_2}
> $RANDOM

Нет в POSIX.

> [ $2 == "rand" ]
> $2

Word splitting не происходит из-за пустого IFS, но globbing произойдёт всё равно. Если твой shell этого не делает, он не совместим с POSIX.

> echo -n

Нет в POSIX. Зато есть божественный printf.

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html:

> It is not possible to use echo portably across all POSIX systems unless both -n (as the first argument) and escape sequences are omitted.
> read -r -s -n 1
> -s -n 1

Нет в POSIX.

> [[ $REPLY = [Yy] ]]
> [[

Ну ты понял.

> while [ n=$(( n - 1 )) -ge 0 ]; do

Тебе повезло, что это вообще работает. Ни dash, ни bash такое не переваривают.

> mv -i "$(eval echo \$FILE_$n)" "$(eval echo \$REPL_$n)"

Вследствие первой ошибки, любой файл, содержащий в имени O, I, F или S, будет некорректно обработан.

Если исправить первую ошибку, то некорректно будут обрабатываться файлы, имена которых начинаются с пробельных символов, заканчиваются пробельными символами, содержат несколько пробелов последовательно, содержат табы или переносы строки.

В любом случае некорректно будут обрабатываться файлы начинающиеся с -.

Судя по тому, как работает твоя версия echo, некорректно будут обрабатываться файлы, содержащие обратный слэш.

Если тебе нет дела до POSIX, то почему бы не использовать настоящие массивы? Если нет массивов, но тебе нет дела до файлов, содержащих определённые символы, то почему бы не использовать эти символы в качестве разделителя внутри переменной, выступающей в роли импровизированного массива? eval почти всегда плохое решение.

Твой скрипт всегда (кроме ситуаций, когда самый последний mv возвращает ошибку) выходит с нулевым статусом. Это намеренное решение?

>> No.150210  

>>150179
Слышал про него. Там chroot или просто кросскомпилянные бинари? Есть ли r/w доступ к внутренней памяти (sdcard) и карточке (extSdcard)?

>>150184
Спасибо за разбор. Не то чтобы я собирался заучивать шелловые грабли, конечно. Худший скриптовый язык в истории человечества.

Писалось вот для этого https://android.googlesource.com/platform/system/core/+/android-4.4.4_r2.0.1/sh
/system/bin/sh (кажется, шелл стянутый из netbsd) и работает там

>> OIFS=IFS
> Забыл доллары.

Как же оно тогда работает?

>> IFS=;
> Непонятно, зачем тебе здесь точка с запятой. Складывается впечатление, что ты присваиваешь её, а не пустую строку.

Просто…

>> [ "$file" == "*$1*" ]
> == нет в POSIX.
>> ${file/$1/$_2}
>> $RANDOM
> Нет в POSIX.

Щито за позикс и почему нужно ему соответствовать? Разве это не мертвый стандарт? Все угорают по башизмам, дрyгих шеллов уже не существует!

>> [ $2 == "rand" ]
>> $2
> Word splitting не происходит из-за пустого IFS, но globbing произойдёт всё равно. Если твой shell этого не делает, он не совместим с POSIX.

Ничего не понял, но ладно.

>> echo -n
> Нет в POSIX. Зато есть божественный printf.

File: `/system/bin/echo' -> `toybox'

>> read -r -s -n 1
>> -s -n 1
> Нет в POSIX.

Мех.

>> [[ $REPLY = [Yy] ]]
>> [[
> Ну ты понял.

gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME $ stat $(which [[)
File: `/data/user/0/jackpal.androidterm/app_HOME/app_busybox/[[' -> `/data/data/jackpal.androidterm/app_HOME/app_busybox/busybox'

>> while [ n=$(( n - 1 )) -ge 0 ]; do
> Тебе повезло, что это вообще работает. Ни dash, ни bash такое не переваривают.

А как надо?

>> mv -i "$(eval echo \$FILE_$n)" "$(eval echo \$REPL_$n)"
> Вследствие первой ошибки, любой файл, содержащий в имени O, I, F или S, будет некорректно обработан.

gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME/sdcard/Documents $ touch fffffOfffffIfFffS
gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME/sdcard/Documents $ mmv 'ffff*' rand
fffffOfffffIfFffS --> 124523481

Continue? (y/n) n
Abort.

> Если исправить первую ошибку, то некорректно будут обрабатываться файлы, имена которых начинаются с пробельных символов, заканчиваются пробельными символами, содержат несколько пробелов последовательно, содержат табы или переносы строки.

Ну опять это, и часто люди в имена файлов управляющие/непечатные символы суют? Особенно \n. Делать Правильный™ обход файлов в шелле это с ума сойти можно в процессе. Anyway
gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME/sdcard/Documents $ touch ' jjfj njd'
gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME/sdcard/Documents $ mmv njd rsmd
jjfj njd --> jjfj rsmd

Continue? (y/n) y
renaming jjfj njd as jjfj rsmd
gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME/sdcard/Documents $ l
jjfj rsmd

> В любом случае некорректно будут обрабатываться файлы начинающиеся с -.

Это да.

> Если нет массивов, но тебе нет дела до файлов, содержащих определённые символы, то почему бы не использовать эти символы в качестве разделителя внутри переменной, выступающей в роли импровизированного массива?

Ээ, и как мне по этому потом итерироваться?

> eval почти всегда плохое решение.

Намекаешь на некие призрачные проблемы с безопасностью?

> Твой скрипт всегда (кроме ситуаций, когда самый последний mv возвращает ошибку) выходит с нулевым статусом. Это намеренное решение?

Пожалуй. Т.к. он интерактивный, и всегда ожидает ввод, человеку коды выхода не нужны.

>> No.150213  

>>150210

> gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME/sdcard/Documents $ touch fffffOfffffIfFffS
> gtaxlwifi:/data/user/0/jackpal.androidterm/app_HOME/sdcard/Documents $ mmv 'ffff*' rand
> fffffOfffffIfFffS --> 124523481
>
> Continue? (y/n) n
> Abort.

Это всё происходит с пустым IFS, а фактическое переименование будет происходить c IFS=OIFS. Что делает этот баг ещё более неприятным: тебе кажется, что ты знаешь, что произойдёт, но на самом деле получится вовсе не это.

>> No.150214  

>>150210

> Ничего не понял, но ладно.

Если $2 содержит, например, *, то ты получишь [ <содержимое текущей директории> == "$rand" ].

> А как надо?

Можно по разному, но точно не так.

> Ну опять это, и часто люди в имена файлов управляющие/непечатные символы суют? Особенно \n. Делать Правильный™ обход файлов в шелле это с ума сойти можно в процессе. Anyway
> [...]

Я не говорил, что пробелы не обрабатываются. Я говорил, что не обрабатываются несколько последовательных пробелов.

> Ээ, и как мне по этому потом итерироваться?
array=1:2:3:4
IFS=:
for x in $array; do printf '%s\n' "$x"; done
>> No.150220  

>>150210

> Там chroot или просто кросскомпилянные бинари?

Чрута нет. Все приложения запускаются и устанавливаются от одного пользователя.

> Есть ли r/w доступ к внутренней памяти (sdcard) и карточке (extSdcard)?

Есть доступ ко всему, к чему есть доступ у твеого пользователя. Если у тебя есть получалка рута в основной системе, то запустив её можно получить рут.

>> No.150222  

С шестой версии андроида сделали, что право на запись в карточку памяти нужно вручную давать в специальном гуишном диалоге, который подозреваю вызывается отдельным жавовским методом, в настройках ничего такого нет. И конечно, кто будет это в терминалы впиливать? Да и остальная толпа говноразработчиков говноприложений вряд ли кинулась их переписывать и добавлять эту штуку. Какая же тупость.

>> No.151679  

Автоматизированная установка полноценного linux в chroot на android-телефонах

https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy

>> No.151681  

Давно перешёл с лапши на баше к аккуратненьким питон-скриптам, по одному взгляду на которые понятно, что они делают, чего и вам желаю.

>> No.151682  
File: 1523428049782.jpg -(88633 B, 400x400) Thumbnail displayed, click image for full size.
88633

Искал нормальную ide для того что-бы попробовать stm32, перепробовал всякие кейлы и кококсы, но всё фигння с кучей лишнего и тормозящего. А потом я наткнулся на https://www.embitz.org/ и блджад 10\10 и весит всего около 50 мегов.

>> No.151758  

Зашел в тред за

> софт облегчающий жизнь

а тут одни анимешные пердолики собрались. :(

>> No.151761  

>>151758
Чтобы смотреть аниме с комфортом (а иногда - чтобы просто смотреть), тоже нужен софт.

>> No.151827  

>>151758
Только для вас: свежие мысли, персонализированные и отобранные от сотен миллионов участвующих в наших поведенческих программах.

Спрашивайте в ближайшем отделении ВК.

>> No.151837  

Просмотр интернет-видео: https://spit.mixtape.moe/view/9acc1462

Запускаешь с параметром - ссылкой на видео (например, https://www.youtube.com/watch?v=5530I_pYjbo) и смотришь видяшку в любимом плеере. Жрётъ всё, что жрётъ youtube-dl.

Чтобы не ругалось на два отдельных URL, нужно прописать в ".config/youtube-dl/config" (или создать такой файл, если его нет):

--format best?

Плеер задаётся через переменную окружения PLAYER. По умолчанию используется smplayer.

У скрипта есть еще разные ключи, см. справку по ключу "-h".

Можно забиндить на кнопку или на ярлык вот такой скрипт:

#!/bin/sh
url="$(zenity --entry --width 600 --text "Введите ссылку" --title "Открыть видео")"
exec youtube-watch "$url"

Он будет открывать диалог с полем ввода, в которое копипастишь ссылку, нажимаешь Enter, и видео открывается в плеере.

Можно смотреть ролики с Порнхаба в нормальном плеере, не отрывая руки от мышки!

>> No.151840  

А есть какая-нибудь софтина вроде читалки RSS, но чтоб следила за тредами на бордах, и чтоб можно было быстро добавлять/удалять в нее треды или целые доски, и чтоб можно было собственные фильтры для постов прописывать (впоследствии хочу прикрутить нейросеть)? Я кроссбордер.

>> No.151841  

>>151840
Я бы сказал что вишмастер но ты же не поверишь, да? Да и не работает он уже на большинстве борд, хотя на новере должен. Нет, не тот что форматирует винт.

>> No.151846  

>>151837
Непонятно зачем только. Для скачивания youtube-dl и без обёрток неплохо работает, а ссылочки на ютуб mpv и так кушает, пропуская их предварительно через тот же самый youtube-dl.

>> No.151859  

>>151840
>>141472

>> No.151863  

>>151846
По умолчанию youtube-dl скачивает. А моя опердень открывает в плеере. И работает не только для Ютуба.

>> No.151866  
File: 1523736235288.jpg -(819579 B, 1370x1220) Thumbnail displayed, click image for full size.
819579

>>151837
Но ведь mpv умеет сам youtube-dl вызывать, когда ему ссылку на страницу скармливаешь.

>> No.151870  

>>151866
Но ведь mpv уёбищен.

Нет, не срача ради, просто еще один плюс моей опердени - я могу выбирать плеер.

>> No.151873  

>>151870

> И работает не только для Ютуба.

mpv работает тоже не только для ютуба.

> Но ведь mpv уёбищен.

Мне норм.

>> No.151876  

>>151859
Таки спасибо, но:

1) у меня скорее вопрос в интерфейсе. Я хочу лёжа на диванчике, с планшетика тапнуть ЧТО-ТО, и увидеть, где есть новые посты. И добав подписываться на новые треды/борды с минимумом телодвижений.

2) хочется больше конфигурации. На одну борду я могу заходить только через Тор, а на другой могу проверять только через приватный прокси-сервер, потому что там ёбаная Клаудфлара. На третьей борде нужна особая кука, а четвертая - вообще микроблог, и там защита от атак CSRF.

3) а еще я хочу фильтровать посты, и не видеть уведомления о новых постах, если всё было отфильтровано. Например, если был вайп. Или, например, постят только под политическими тегами или с тегом #telegram. В дальнейшем я для фильтрации постов вообще хочу прикрутить нейросеть.

>> No.151878  

>>151876
https://f-droid.org/en/packages/nya.miku.wishmaster/

>> No.151881  

>>151878
Вот воистину Wishmaster! Хоть он мне и не нужен. Там ещё какой-то форк есть, кстати: https://f-droid.org/en/packages/bus.chio.wishmaster/. Пишут, что форкнули потому, что автор перестал поддерживать оригинал.

>> No.151897  
File: 1523786076659.png -(154439 B, 368x445) Thumbnail displayed, click image for full size.
154439

>>151870
В каком месте mpv нехорош? Он весит нихрена, жрётъ нихрена, летает, читает всё, что в него кинешь, не выёбываясь.

>> No.151900  

>>151897
Я тебя еще на Нульчане накормил, жирдяй.

>> No.151901  

Пользуюсь mpsyt. Брат жив, зависимость есть.

>> No.151919  

>>151900
Нульчан умер давно.

>> No.151923  

>>151897
Два чаю. После того, как я перешёл на mpv, перестал испытывать какие-либо проблемы с видео, а мои волосы стали мягкими и шелковистыми.

>>151900
Никакой толстоты не вижу. Тут по-крайней мере есть 3 аниме-девочки, которые mpv кушают и которым он нравится. Лучше приведи аргументы, чем mpv плох и как эти проблемы решают альтернативные плееры.

>> No.151927  

>>151923

> Лучше приведи аргументы, чем mpv плох и как эти проблемы решают альтернативные плееры.

Ну, например, вот:

$ mpv https://www.youtube.com/watch?v=a5Uy9Ku74hk
Playing: https://www.youtube.com/watch?v=a5Uy9Ku74hk
[quvi] Checking URL...
[libav] https: HTTP error 403 Forbidden
Failed to open https://r3---
>> No.151928  

>>151927
УМВР. Дистрибутив, версии mpv и youtube-dl?

>> No.151932  

>>151928
Мне похуй, снес уже. Youtube-dl версии 2018.03.14.

Ну и добавлю еще (решив-таки покормить) отсутствие GUI для конфига и совершенно невменяемые умолчания.

>> No.151933  

>>151932
У тебя случайно не две версии youtube-dl установлены? В смысле, тот youtube-dl, которым ты обычно пользуешься, у тебя случайно не через pip install youtube-dl установлен?

> решив-таки покормить

Странные представления у тебя о троллинге.

> отсутствие GUI для конфига и совершенно невменяемые умолчания

Мне норм. Для жаждущих нормального GUI есть обёртки вокруг mpv, одной из которых и является упомянутый выше smplayer.

>> No.151938  

>>151933
(потыкал клавишами) Блядь.

Так. Как этот youtube-dl вычистить из системы?

>> No.151939  

>>45119
Это не ты автор https://bash.im/quote/395758 ?

>> No.151940  

>>151938
Так что, у меня верная догадка про то, что твой mpv просто запускал другой youtube-dl?

> Так. Как этот youtube-dl вычистить из системы?

Если ты про тот, который установлен через pip, то pip uninstall youtube-dl, очевидно как бы.

>> No.151941  

>>151940
И продолжает запускать. Даже в консоль у них вывод разный.

В pip я его удалил. В пакетном менеджере удалил. Блядь, даже экзешника в системе нет, Баш ругается. А он продолжает его запускать.

Либо он запускает какую-то встроенную в него хуйню.

>> No.151942  
File: 1523832379952.png -(174569 B, 1252x536) Thumbnail displayed, click image for full size.
174569

Ладно, похуй. Верну, как было.

Алсо, ради смеха натравил smplayer на mpv. LOL, блядь, оно вообще ничего не воспроизводит.

Еще попробовал натравить mpv на SFTP-шную шару. Нишмагла. А cat и smplayer спокойно рисуют.

И да, как в этом вашем mpv убрать ебанину с пикрелейтеда?

И как в нем по умолчанию включить полноэкранный режим?

Сука, ведь я же понимаю, что ты меня затроллил, нахуя я продолжаю тебя кормить?

>> No.151945  

>>151942
Мне кажется, ты не поддерживаешь должную гигиену при работе со своей системой.

> И да, как в этом вашем mpv убрать ебанину с пикрелейтеда?

У меня её нет, так что не знаю.

> И как в нем по умолчанию включить полноэкранный режим?

Добавь fullscreen=yes в ~/.config/mpv/mpv.conf или используй mpv --fs при запуске. А вообще, читай ман, там всё есть.

> Сука, ведь я же понимаю, что ты меня затроллил, нахуя я продолжаю тебя кормить?

Тащемта я рад это слышать, хотя троллеть я и не пытался.

>> No.151946  
File: 1523839012711.png -(1336823 B, 1600x1400) Thumbnail displayed, click image for full size.
1336823

>>151942

> И да, как в этом вашем mpv убрать ебанину с пикрелейтеда?

--no-osd-bar в параметры или osd-bar=no в конфиг

>> No.151962  

>>151942
RTFM.
И вообще с первого поста молчал, ты сам себя затроллил.

>> No.152189  
(echo "data:text/html;base64,"; (for i in `seq 170 220`; do echo "<iframe src=\"http://t.me/gayasylum/${i}?embed=1\"></iframe>"; done)|base64)|xclip

Чтение каналов в Telegram. Помещает ссылку-html с кучей iframe`ов на посты в буфер, меняете циферки (170, 220), канал (gayasylum) и пользуетесь. Большой диапазон лучше не ставить — сожрёт память. Где-то валялась версия с поправленным css и печатью номеров постов.

>> No.152325  

pbcopy/pbpaste for os x
управление буфером обмена через cli

>> No.152333  

>>152325
99% применения — конвертировние в плейнтекст:

pbpaste | textutil -convert txt -stdin -stdout | pbcopy
>> No.152353  

>>152333
мне удобно выхлоп команд так в буфер сразу совать.

>> No.152364  

>>152189
Улучшил: https://spit.mixtape.moe/view/e0d1efcc. Сливает все посты в один HTML. Думаю сделать из этого скрипт CGI и прикрутить пагинацию.

Если запускаешь в России, то надо прописать параметры прокси curl в конфиге (внутри самого скрипта).

>> No.152401  

>>152364
Hashbang приписал бы, чтобы было понятно, что это за язык и как это запускать.

> пагинацию

Однако. А в 90-х все новые русские ходили с пагерами, значит.

>> No.152425  

>>152401
https://spit.mixtape.moe/view/f8f489cb

> пагинацию

https://ru.wikipedia.org/wiki/Пагинация#Электронные_страницы

>> No.153365  
File: 1526213995583.jpg -(4692917 B, 3200x2400) Thumbnail displayed, click image for full size.
4692917

https://f-droid.org/packages/com.wireguard.android/

Собственно телефонный wireguard, умеет работать через юзерспейсный tun при отсутствиии модуля в ядре телефона.

>> No.153425  

>>149180
Нет, но можно сделать троллейбус из буханки. По памяти это было как-то так (несколько тысяч альбомов с 3,5 миллионов пикч):

1) открываем страницу с альбомами в старой лисе с downthemall. Прокручиванием до дна, выгребаем ссылки на альбомы.
2) ставим https://github.com/Suenweek/vkpg , регистрируем апликуху, логинимся.
3) редактируем код, чтобы вместо непосредственно загрузки сохранял прямые ссылки в файл. Шаг нужен, поскольку авторизация слетает раз в сутки, и ею желательно успеть воспользоваться в один проход
4) при помощи аймакроса скармливаем vkpg пути к альбомам. На выходе будет гора директорий в /tmp со списком прямых ссылок в каждой.
5) оттаскиваем папки на достаточно ёмкий носитель, и при помощи очевидного баш-скрипта заходим в каждую, скармливая списки прямых ссылок wget-у.
Буду признателен за более простые решения, все прочие работают только с открытыми альбомами, либо только со своими сохраненными.

>> No.153707  
File: 1526991717614.jpg -(231358 B, 604x909) Thumbnail displayed, click image for full size.
231358

В android есть встроенный скринрекордер, обычно называется /system/bin/screenrecord. Ему могут понадобится root-права и пишет он не больше 180 секунд подряд, но иногда этого достаточно.

Немного документации: https://bigflake.com/screenrecord/

Опции, включая скрытые: http://tools.oesf.biz/android-6.0.0_r1.0/xref/frameworks/av/cmds/screenrecord/screenrecord.cpp#881

>> No.153749  

Пайп на ftp сервер

./a.out | curl -T - ftp://anonymous:ftp@example.com/upload/filename.ext
>> No.153856  
File: 1527397558989.gif -(1294 B, 48x18) Thumbnail displayed, click image for full size.
1294
/usr/bin/vmware-user-suid-wrapper

Для тех, у кого сломаны vmware tools и функции ресайза и общего буфера обмена. Это не скрипт, просто команда, но в следующий раз облегчит жизнь и сэкономит какое-то время.

>> No.153929  

Что-то типа xargs с воркерами:
https://www.gnu.org/software/parallel/

>> No.153959  
File: 1527521249835.jpg -(18275 B, 400x400) Thumbnail displayed, click image for full size.
18275

Новерь, я знаю, ты хороший, хоть и забанил мой диапазон IP. Подскажи, пожалуйста, скрипт или прогу под винду, чтобы брутить форму ввода пароля путём вставки непосредственно в поле ввода, а не путём хттп запросов. Оче надо, забыл пароль от контейнера ключей на работе.

>> No.153960  

>>153959
А, всё не надо, вспомнил.

>> No.153964  

>>153960
А что за софт?

>> No.153989  

>>151923
До какого места уже дорасти успели?

>> No.155365  

Объясните пожалуйста мне гупому почему это не работает в питоне.
#объявление файлов правильное
for line in infile:

outfile.writeline(line) #tab есть если что

#закрытие файлов правильное

П.С. До скольки постов тред у вас бампается?

>> No.155366  

Файл через open() обявляю, если что.
Может файл слишком большой?

for line in infile:
outfile.writeline(line) #так получиться отступ?
>> No.155367  

>>155366
У тебя writeline(line) вместо write(line). Из текста ошибки понятно же.

>> No.155369  

>>155367
Там в цикле проблема, это тоже не работает

i = 0
for line in infile:
i = i + 1
outfile.write(str(i))

А writeline(line) не ошибка по моему.

>> No.155370  

>>155369

> Там в цикле проблема, это тоже не работает

У меня работает.

> А writeline(line) не ошибка по моему.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: '_io.TextIOWrapper' object has no attribute 'writeline'
>> No.155371  

>>155369
Ты с отступами не напутал?

>> No.155373  

Всем спасибо, разобрался, во-первых, ругался на русский язык в комментарии, а во-вторых, третьим питоном пытался запускать файл скрипта, а в-третьих, когда тестировал построчно в консоли, сдавался прежде, чем закрыть файл.
Мне кажется я умею наиболее изощренно ошибаться.

>> No.157302  

par2 - генерирует информацию для восстановления файлов при повреждении. Можно флопинетить на ненадежных носителях.

>> No.157311  

>>157302
Не нужен - у rar-a есть .rev-тома с аналогичной функциональностью, как и избыточное кодирование внутри отдельных томов. Для отдельно последнего ещё есть vdmfec, позволяющий, например, вклинить код Рида-Соломона между непрерывным tar.xz и записью напрямую в диск/флешку/стример без файловой системы.

>> No.157312  

>>157311
В отличии от приведенных тобой вариантов оно хранит избыточность в отдельных файлах оставляя оригинал без изменений и доступным напрямую.

>> No.157317  

>>157312
rar по-умолчанию тоже не удаляет оригиналы архивируемых файлов.
Но в данном случае это сомнительное преимущество - тебе в общем случае все равно понадобится средство контроля целостности, а в случае аварии будет увлекательный секс с автоматизацией запуска par2 по диффам контрольных сумм.
Дешевле с учётом стоимости времени и ошибок все же выделить места под нормальный полноценный бекап при помощи dar, умеющий в числе прочего автоматически применять par2 к своему выхлопу. Но лично мне очень важна ещё восстановибельность бекапа на любом подвернувшемся под руку устройстве с любой осью для извлечения нужного прямо сейчас одиночного файла, и для таких холодных копий rar вне конкуренции.

>> No.157319  

>>157317

> rar по-умолчанию тоже не удаляет оригиналы архивируемых файлов.

Только в случае rar архив содержит исходные данные+избыточность, в случае par2 только избыточность.

> тебе в общем случае все равно понадобится средство контроля целостности, а в случае аварии будет увлекательный секс с автоматизацией запуска par2 по диффам контрольных сумм.

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

>> No.157327  

>>157319
А есть программы, которые из файлов делают некие архивы, закодированные кодом, в котором избыточность распределена по всему архиву (не помню, как они называются, Хэмминга, вроде)? Чтобы, например, 2 бита в рандомных местах поменялись, но восстановить оригинал все равно можно было.

>> No.157328  

>>157327
Именно их мы тут сейчас и обсуждаем.

>> No.157334  

>>157319

>Только в случае rar архив содержит исходные данные+избыточность, в случае par2 только избыточность.

Звучит на первый взгляд красиво, но на самом деле нет - применение кода рида-соломона спасает от изменения битов, но не от изменений общего размера файлов, банальное дописывание мусора в текстовый файл или напротив, усечение из-за фрагментации при восстановлении photorec-ом при слетевшей файловой системе превращает избыточность в гигабайт в тыкву даже при ошибках в один байт. Записываемые в один последовательный проход крупные файлы хранящие внутри себя информацию об общем размере имеют больше шансов на восстановление.

>Там уже все это есть из коробки.

Пока фс и имена файлов целы, а количество файлов не превышает 65536, что весьма мало для бекапа всего содержимого среднего компьютера. Он неспроста настолько мало известен, им пользоваться практично только для разбиения архивов с небольшим количеством одинаковых томов, но rar умеет это из коробки, dar и bup умеет вызывать par2 на автомате, так что голыми руками с ним работать не приходится.
Было бы гораздо интереснее и безопаснее запилить прозрачную избыточность на уровне файловой системы, но почему-то кроме dm-verity нет ни одной подобной реализации, и та создана для несколько других целей.

>> No.157335  

>>157334

> но не от изменений общего размера файлов, банальное дописывание мусора в текстовый файл или напротив, усечение из-за фрагментации при восстановлении photorec-ом при слетевшей файловой системе превращает избыточность в гигабайт в тыкву даже при ошибках в один байт.

На практике он отлично работает с файлами неправильного размера или целиком отсутствующими файлами.

>> No.157342  

>>157335

>На практике он отлично работает с файлами неправильного размера или целиком отсутствующими файлами.

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

>> No.157344  

>>157342

> Но если файлов ворох разноразмерных, общий размер тома восстановления будет равен самому крупному из них

Неправда. Общий размер избыточных данных можно задать произвольно в диапазоне от 0 до суммы размера исходных файлов.

>> No.157345  

>>157344
Файлы крупнее этого размера он просто не сможет восстановить, попросту неоткуда будет взять информацию о четности для последующих байт за размером тома восстановления. Придется либо дропать файл целиком, либо не отслеживать состояние старших байтов, и то и то не айс.
Без разбиения на блоки фиксированного размера оптимально эта задача не решается.

>> No.157347  

>>157345

> Без разбиения на блоки фиксированного размера оптимально эта задача не решается.

Но он то как раз и разбивает файлы на блоки фиксированного размера.

>> No.157353  

>>157328
Ой. А я думал, вы про софтинки, которые хранят отдельно оригинальные данные, отдельно данные для восстановления. Надо будет поразбираться со всем этим.

>> No.157356  

>>157353
Тут из 3 штуки перечислено. Данные для восстановления отдельно хранит только одна.

>> No.157365  

>>157347
Применительно к группе файлов он это делает сперва сшивая их в один непрерывный тароподобный поток, базируясь на их именах, нарезает на блоки, и уже его сдабривает кодом рида-соломона. Проблема в том, что ему мало того что нужны имена файлов для корректного порядка в потоке, ему ещё и нужна информация о количестве блоков в каждом для выстраивания соответствия между содержимым пар-файла и этим потоком.
И он эти данные тупо выносит в имя файла, которое может быть легко похерено при повреждении фс, в то время как многотомный архив можно просто перебрать в порядке в котором восстановление получится.
Пар создавался не для хранения файлов, а для передачи, причем в условиях, когда можно просто определить место повреждения и отправить запрос или докачать мелкий том для восстановления только нужного, при этом имя файла можно хоть на бумажку было записать.
Поддержание целостности большого количества файлов на диске решать этими же инструментами попросту неудобно.

>> No.157367  

>>157365

>когда можно просто определить место повреждения

То есть, паром же определить место повреждения.

>> No.157368  

>>157356
Корректирующие коды называются, вспомнил.

>> No.157427  
File: 1537017477128.png -(26970 B, 450x450) Thumbnail displayed, click image for full size.
26970

http://bluemars.org/clipx/ — tiny clipboard history manager. Не свистит, не пердит, не тырит данные. Аналог старому Klipper из KDE 3.5.10. Различает пользователей, но не умеет работать в многопользовательском режиме — настройки сохраняет в свою папку, — следовательно необходимо разрешить к ней доступ для интерактивных пользователей.

https://forum.simplix.ks.ua/viewtopic.php?id=80 — Полезные программы и утилиты. Ассорти. Многие уже канули в лету.

>> No.157465  

>>157427
про менеджер клипборда. Какое-то время использовал, кажется, clipmenu
https://github.com/cdown/clipmenu
но вроде бы возникали прблемы с потерей содержимого, если там не текст, а файлы.
В остальном было очень удобно.

>> No.157762  

Да, многоуровневый буфер обмена вообще тема.

>> No.157973  
File: 1538605425361.png -(142347 B, 962x550) Thumbnail displayed, click image for full size.
142347

Подсветка постов платных троллей в комментах Youtube:
https://github.com/asrdri/yt-metabot-user-js

>> No.157977  

Существуют ли современные аналоги Visipics? Он всем хорош, но 32хбитный и нынешние количества картинок не осиливает.

>> No.160146  

http://weboob.org/
Набор утилит для работы с кучей разных сайтов без браузера.

>> No.160149  

>>157977
https://alternativeto.net/software/visipics/
Но, подозреваю, у Visipics свой, уникальный, запатентованный™ алгоритм поиска дубликатов, который ищет дубликаты именно так, как тебе и нужно, так что вряд ли ты его аналог вообще найдешь. В этом вся проблема проприетарных софтин - недостаток модульности и расширяемости по Бертрану Мейеру. Я так до сих пор не могу найти аналог Ворду XP - другие софтины либо по факту не WYSIWYG, либо являют собой жирные комбайны, загружающиеся дольше, чем если бы я руками перерисовал картинку, которую я хочу распечатать.

>> No.160155  

>>160146
Как можно работать с веб-сайтами без веб-браузера? Тогда это не работа с сайтами называется.

>> No.160156  

>>160155
Через скрипты или спец софт, очевидно же.

>> No.160157  

>>160156
Скрипты и спецсофт тогда и есть браузеры. Можно сказать, что этот комплект - веб-браузер с машиночитаемым парсером.

>> No.160160  

>>160157
Браузер рендерит html, в отличии от.

>> No.160166  

>>160160
Скрипты и спецсофт тоже рендерят HTML (если у сайта нет нормального API, а его почти никогда нет). Только рендерят они его в том виде, в котором тебе надо, в котором ты скозал, а не в том, в котором решил хипстер в оупенспейсе со смузи и макбуком.

Алсо, браузеры уже давно перестали быть только рендерилками HTML.

>> No.160169  

>>160166
Часто можно тупо кидать get/post с form data и по коду ответа определять успешность операции.

>> No.160171  

>>157973
Заангажирован в пользу одной из сторон. Не нужно.

>> No.160428  
File: 1546843338406.png -(387043 B, 2287x3181) Thumbnail displayed, click image for full size.
387043

Чем или как закэшировать полные пути к файлам на внешних носителях, чтобы при вызове дополнений табом, ls и прочих обращениях к ним не было задержки?

>> No.160429  
File: 1546848971813.png -(84756 B, 889x785) Thumbnail displayed, click image for full size.
84756

>>160428
ls -lR или find при монтировании.

>> No.160463  
File: 1546958250378.jpg -(176732 B, 1353x710) Thumbnail displayed, click image for full size.
176732

>>160171
Зато сразу становятся очень прозрачными направления работ кибердружины.

>> No.160570  

>>160149

> уникальный, запатентованный

Сомневаюсь. Вангую, обычный ресайз. Сначала из картинки делается маленькая тумбинаха 64х64, например, а затем на тумбинахи натравливается алгоритм нечёткого сравнения.
Тут сложно выдумать что-то новое. Олсо у AntiDupl.NET гораздо удобнее настраивается порог. И скорость работы выше.

>> No.160573  

>>160570
Да-да, там обычный ресайз и нечеткое сравнение с некоторыми нюансами (алгоритм ресайза, алгоритм нечеткого сравнения, какие-то предпочтения цвета при ресайзе и т. д.). И вот благодаря этим нюансам Visipics и сравнивает так, как мне надо, как я скозал, а AntiDupl.NET - не так.

>> No.160845  

https://github.com/claustromaniac/Compare-UserJS

>> No.160846  

>>160845
Выглядит как diff без фатального недостатка.

>> No.165915  

browsh (brow.sh) - обертка над фф, отдающая перепарсеный контент в терминал или в виде упрощенного html. Сыро, но если запускать на машине с толстым каналом то позволит очень сильно сэкономить трафик и выиграть по скорости.

>> No.165944  
File: 1561203186804.jpg -(115217 B, 948x1360) Thumbnail displayed, click image for full size.
115217

>>120921
Viewnior?
>>120932
Гиф литерали весят в разы больше, чем H264 или VP9/8.
Какой смысл систему забивать? В вебе это вовсе критично, легче залупить видео с автоплеем и сэкономить пару метров с одной страницы из тысячи.
>>151923
4 девочки.

*закатилась на чай*

/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~

Перезагрузка вкладки firefox - xvkbd -window Firefox -text "\Cr"

entr - отслеживание изменение файла.

Автообновление страницы после изменения файла:
echo test.html | entr -p xvkbd -window Firefox -text "\Cr"

/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~

-inurl:(htm|html|php) intitle:"index of" "last modified" "parent directory" "description" "size" (mp3|aac|m4a) <SONG NAME>
волшебная палочка
поменять <SONG NAME> на имя песни
и прямая ссылка прямо в гугле найдется на скачку любой песни

/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~/~

ffmpeg -i out -c:v libx264 -preset fast -movflags +faststart -pix_fmt yuv420p -f flv "rtmp://live.twitch.tv/app/live_*токен твича*

-filter:v "setpts=25*PTS" - для гифок, скорость. 1 - нормально. 2 - замедленно вдвое, 0.5 - ускорено вдвое.

Качалка манги с мангачана: https://bitbucket.org/shi0Chan/mangachan
Обрезалка скринов, которую. планирую перепилить на срр , хоть это и бесполезно: https://bitbucket.org/shi0Chan/crop-screan

>> No.165945  

>>165944

> Гиф литерали весят в разы больше, чем H264 или VP9/8.

Позволь не согласится. Для примера возьмем http://nowere.net/b/src/1561042822921.gif который занимает 2мб, заэнкодим в h264 через ffmpeg -i http://nowere.net/b/src/1561042822921.gif -c:v libx264 -crf 0 -preset fast 1561042822921.mkv и получим файл размером 2.5мб.

>> No.165946  
File: 1561207120787.png -(493 B, 66x20) Thumbnail displayed, click image for full size.
493
>Очень хочется чтобы в контекстном меню при клике на картинки/группы картинок были строчки "Конвертировать в png" "Конвертировать в jpg".

Из прошлого треда. Делается созданием .desktop файла, возможно. Хотя не уверен, как и брать имя файла, который нужно конвертировать.
>>165945
Но если брать vp9, то на выхлопе 83кб без потери качества. Правда парадокс: расклеивание на отдельные пнг даёт 160кб и 80 у гифки.
Если брать http://nowere.net/b/src/1551809926140.webm, то webm vp9 даёт чуть меньше 2 метров, а гифка больше 11, если напрямую%% и около 40, если собирать из пикч%%.
Либо правда от случая к случаю, либо что-то низкоуровневое, чем кодеки.

Спасибо за gif2mp4/mp42gif, кстати.
Почему-то всегда промежуточным вариантом было расклеивание пикч и думал, что иначе не работает.

*грустить по капче*

>> No.165947  

>>165946

>Из прошлого треда. Делается созданием .desktop файла, возможно. Хотя не уверен, как и брать имя файла, который нужно конвертировать.

Ах. Если брать pcmanfm, который сам юзаю, то есть в дополнении контекстного меню вкладка "user command", где это имя файла можно использовать.
Но может ещё решение какое найду.

>> No.165948  

>>165946

> Но если брать vp9, то на выхлопе 83кб без потери качества.

1.3мб в лосслесс режиме. Выигрышь есть, но не в разы.

>> No.165954  

1Gb оперативы, Pentium 4, видеокарта хуй пойми какая чисто чтобы поддерживать вывод на экран картинки. Установил xubuntu и работает ужасно медленно, даже тормознутее win7. Это нормально?

>> No.165955  

>>165954
Смотри в сторону более лёгких. Что-то вроде манжаро/арча с i3/dwm.

>> No.165958  

>>165955

> i3/dwm

Ну этим будет крайне сложно пользоваться, особенно когда всю жизнь сидел на винде.

>> No.165959  

>>165958
Можно fluxbox попробовать, он более "классический", но при этом потребляет всего 8мб оперативки.

>> No.165960  

>>165959
Спасибо, надо будет в сторону этих wm посмотреть.

>> No.165961  

>>165960
Взгляни ещё на EDE
https://edeproject.org/

>> No.165969  

>>165944

> Перезагрузка вкладки firefox - xvkbd -window Firefox -text "\Cr"

Что-то не работает.

>> No.165970  

>>165946

> Делается созданием .desktop файла, возможно. Хотя не уверен, как и брать имя файла, который нужно конвертировать.

А что, так можно было?!

Очень полезный тред, порекомендовал друзьям и знакомым.

>> No.166825  

https://github.com/RSS-Bridge/rss-bridge

Конвертирует кучу разных сайтов в rss/atom.

>> No.166831  

>>166825
И как-то сразу запахло Твиттером, Фейсбуком, Телеграмом, регистрацией по телефону, уведомлением о куках, privacy policy, стомегабайтными скриптами, подпиской на новостную рассылку, коментами, лайками, репостами, адаптивным дизайном.

Держи CGI-шку: https://pastebin.com/raw/KfsD9agi. Требует Ruby и cURL, может отслеживать как всю страницу, так и ее кусок по регулярке, умеет в куки и прокси.

>> No.166834  

>>166831

> по регулярке

Если бы еще современный веб можно было просто брать и парсить регулярками.

>> No.166846  
File: 1563817304178.gif -(1356 B, 37x25) Thumbnail displayed, click image for full size.
1356

>>166834
Допустим, я разрешил тебе его парсить. Можешь начинать. Твои действия?

>> No.166849  

>>166846
Проблема не в отсутствии разрешения а в том, что там ехал аякс через аякс.

>> No.166851  

>>166849
К сожалению, это так.
Но есть такие вещи, как, например, вот это: https://pypi.org/project/selenium/

>> No.166855  

>>166851
Зачем заморачиваться с селениумом, когда в >>166825 уже есть готовые решения с отревершеным аяксом под многие сайты?

>> No.166856  

>>166855
Потому что:

> RSS-Bridge is not a feed reader or feed aggregator, but a tool to generate feeds that are consumed by feed readers and feed aggregators

И это может не быть конечной целью парсинга.

>> No.167384  

Просто оставлю это тут:
https://delta.chat/en/

>> No.167395  

>>167384
лол ок
рано или поздно кто-то должен был это сделать

>> No.167400  

>>167395
Уже поздно. Этим удобно было пользоваться когда были сотни почтовиков где регистрируешься за три секунды без проблем. Сейчас из выживших едва наберется полтора таких что не надо давать телефон, скан паспорта, справку об отсутствии зппп и фото галочки в нужной графе при голосовании (да, Яндекс, я о тебе ты конченое сборище мудаков которое банит почту если не может читать её).
Сделаем возможность писать прямиком на айпишник снова!

>> No.167401  

>>167400
Если тебя чем-то не устраивают существующие почтовики то свой почтовый сервер поднимается за полчаса: https://mailu.io/

>> No.167415  

>>167401
1999 - sudo apt install sendmail
2019 - ехал Docker через Docker, видит образ внутри Docker, docker start --interactive, Docker в Docker в Kubernetes

>> No.167416  

>>167401
...и шлется нахуй всеми нормальными серверами как потенциальный спамер.

И моментально засирается спамом, и никакая ёбля со спамофильтрами не помогает (Яндекс.Спамооборону хуй кто переплюнет). А под конец китайцы присоединяют его к ботнету.

>> No.167429  

>>167416
Там есть встроенная спаморезка.

>> No.167430  

>>167415
Только там нужно было выучить еще один яп чтобы настроить sendmail.

>> No.167432  

>>167429
Которая либо ловит примерно нихуя, либо все полезные письма. Яндекс.Спамооборону хуй кто переплюнет.

>>167430
Что там такого настраивать, для чего не хватает дефолтов и stackoverflow-driven development?

>> No.167433  

>>167430
Вот только в 1999 эта проблема решалась написанием гуя для дебилов, а в 2019 его еще зачем-то запихивают в контейнер.

>> No.167434  

>>167432
В Яндексе работаешь? Будто нет готовых датасетов чтобы натренировать свой фильтр без тысяч хомячков.

>> No.167436  

>>167432

> Что там такого настраивать, для чего не хватает дефолтов и stackoverflow-driven development?

Второй домен добавить например.
>>167433
Для сендмыла его небыло например.

>> No.167441  

>>167415

>ехал Docker через Docker

Вот когда тебе на нагруженном сервере резко потребуется что-нибудь обновить (например, СУБД, в которую дамп заливается часов десять, а базу останавливать нельзя, разумеется) или держать одновременно с рабочим окружением ещё какое-нибудь legacy-говно, вот тогда ты поймёшь всю прелесть.
Впрочем, неумеренность вредна во всём, в контейнерах в том числе. Расходы на виртуализацию, опять же.

>> No.167457  

>>167441
судя по спутанной речи и отсутствию интелекта перед нами адепт докера чмокера

>> No.167461  

>>167457
Уж ето бы тут кукарекал.

>> No.167462  

>>167400

>Уже поздно

да дело не в том, что поздно (или рано), а в том, что это по сути pop-smtp-imap клиент на кутях (или на чём оно там), что выдается за защищенный мессенджер ололо

>да, Яндекс, я о тебе ты конченое сборище мудаков
>Яндекс.Спамооборону хуй кто переплюнет

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

>когда были сотни почтовиков где регистрируешься за три секунды без проблем

их и сейчас сотни, но пора бы уже свой иметь, действительно

>и шлется нахуй всеми нормальными серверами как потенциальный спамер

один раз настраиваешь DKIM, политики-фильтры-бэкапы и забываешь про этот сервер нахуй

>А под конец китайцы присоединяют его к ботнету

как страшно жыть, хорошо хоть владельца на органы не разбирают

>> No.167463  
File: 1565968506375.jpg -(197902 B, 999x1299) Thumbnail displayed, click image for full size.
197902
>2019 - ехал Docker через Docker, видит образ внутри Docker, docker start --interactive, Docker в Docker в Kubernetes

ыхыхы, неистово новерьчую этого наблюдателя. очень напоминает ардуинодетей, которые не имея ни малейшего представления о TTL/FPGA, объявляют свою макетную плату предвестником Общей Теории Всего и бегут вприпрыжку прикручивать её к собачей будке, мигая светодиодом. скоро, блядь, бачок в сортире откроешь, а там ардуина

>> No.167466  

>>167463

> скоро, блядь, бачок в сортире откроешь, а там ардуина

Если у тебя есть альтернативы, на которых можно за вечер сколхозить какой-нибудь слив для кота за вечер и стоимость пары обедов, то я бы хотел о них узнать.

>> No.167467  

>>167466
крайне слабо представляю себе, что такое "слив для кота" и какое там подразумевается ТЗ
если предположить, что как-то связано с сортиром — хватит пары транзисторов, конденсатора, фоторезистора/ик-датчика и соленоида, клапан дергать. ну релюхи мож ещё максимум. если построить на ПЛИСке, можно будет даже регулировать свет, вентиляцию и бонусом играть https://www.youtube.com/watch?v=3BGtiHvTUUA ололо

какие задачи там выполняет микроконтроллер? присылает тебе фотокарточки котоговна в пуш-уведомлении?

>> No.167468  

>>167466
Очевидно, он говорит не про хоббийные разовые проекты "для себя" (здесь Ардуина вполне уместна и, как ты заметил, вне конкуренции), а промышленную и бытовую встраиваемую электронику, которая делается за деньги и выпускается неким тиражом (от мелкосерийного до массового). Для не очень опытного разраба ("ардуиодетя", как высказался тот кун), получившего коммерческий заказ, очень заманчиво свалять всё на Arduino за пару дней и получить деньги, чем самостоятельно заниматься схемотехникой и прочим. Однако ставить Arduino в любой более-менее ответственной системе — моветон. Ибо тормознутая и ненадёжная. Принцип KISS в цифровой электронике очень актуален, ибо чем проще схема и низкоуровневее код — тем больше надёжность, работа железки более прозрачная, что облегчает отладку во время разработки и дальнейшие фиксы при обнаружении проблем непосредственно в условиях реальной эксплуатации. Другими словами, не нужно ставить Ардуину с её высокоуровневой системой там, где хватило бы примитивного МК вроде старичка i8051 с нативным низкоуровневым кодом.

>> No.167469  

>>167467

> присылает тебе фотокарточки котоговна в пуш-уведомлении?

Не знаю, намеренно ли, но ты почти угадал.
https://www.youtube.com/watch?v=1A-Nf3QIJjM

Вот для таких домашних проектов, как на видео выше, Ардуина — это вполне себе решение. Если смотреть на вещи реально, а не с позиции сноба-электронщика. Но вот когда решения подобного уровня пихают в условно-промышленные системы — это уже, конечно, повод для обкладывания хуями.

>>167467-кун

>> No.167470  

>>167467

> крайне слабо представляю себе, что такое "слив для кота" и какое там подразумевается ТЗ

Сливать бачок через некоторое время после того как кот сделал свои дела в унитаз.

> хватит пары транзисторов, конденсатора, фоторезистора/ик-датчика и соленоида, клапан дергать

Покажи пример схемы. Что-то мне кажется что оно куда дороже получится.
>>167468

> очень заманчиво свалять всё на Arduino за пару дней и получить деньги, чем самостоятельно заниматься схемотехникой и прочим

А какой практический смысл переусложнять и удорожать разработку? Чтобы поставить цену повыше?

>> No.167471  
File: 1565978687307.jpg -(47810 B, 604x604) Thumbnail displayed, click image for full size.
47810

>>167470

> А какой практический смысл переусложнять и удорожать разработку? Чтобы поставить цену повыше?

Т.е. ты специально проигнорил всю часть моего поста про надёжность, KISS и так далее? Лол, ну, молодец, что сказать. Когда у тебя в самый ответственный момент девайс отвалится из-за утечки памяти (что редко удаётся выяснить на этапе разработки и частенько всплывает только в условиях реальной эксплуатации) или подобной проблемы, тогда может и поймёшь.

И да, очевидно, что квалифицированный труд инженера-схемотехника всегда будет стоить выше, чем студента с ардуиной с подходом "хуяк-хуяк, модуль за $30, либа из интернетов и моргалка светодиода готова".

>> No.167472  

>>167471
Когда стоит выбор между устройством за $100 которое собирали студенты в подвале и устройством за $1000 которое разрабатывали профессионалы по всем правилам, при одинаковом функционале большинтсво почему-то предпочитает первое, даже если оно безбожно глючит, течет по памяти и вообще не работает по полнолуниям.

>> No.167473  
File: 1565979777711.jpg -(236765 B, 1600x1200) Thumbnail displayed, click image for full size.
236765

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

>call arduino a "electronics kit for dummies" and right after tell us about how he spent months because he cant put a collar on his cat. ok i guess
>Вот для таких домашних проектов

именно если

>Если смотреть на вещи реально, а не с позиции сноба-электронщика

как раз таки проще взять горсть рассыпухи и скрафтить из неё требуемую махарайку, навесным мотажом. причем за полчаса/час и значительно дешевле даже одного обеда
примечательно, что ещё задолго до появления церкви Свидетелей Пришествия Докера В Кубернетисы существовала масса вариантов, начиная с античных LXC и всяческих snap-репузиториев, вплоть до вантузообразных чудо-дистрибутивов, где каждая софтина ставится в отдельную песочницу (для совсем уж дебилов). докер хорош, если нужно поднять разные окружения на одном хосте или просто запустить какой-нибудь адовый пакет, требующий нудной и заёбистой конпеляции/конфигурации (типа openCV, tensorflow etc). использование его в финальной рабочей среде (какета парусске) — классический пример выстрела в ногу, даже если оставить за рамками вопросы безопасности

>Вот когда тебе на нагруженном сервере резко потребуется что-нибудь обновить (например, СУБД, в которую дамп заливается часов десять, а базу останавливать нельзя, разумеется)

для этого существует ansible. с которым (после сессии инициирущего пердолинга и надлежащей настройки rule- и playbook'ов) помимо ощутимого выигрыша во времени даже что-нибудь ненароком наебнуть™ становится куда сложнее

а ардуины и вовсе выглядели примерно пикрелейтед. но отчего-то никому в голову не приходило пихать их в продакшон, и даже не из-за размеров

но объяснять вам разницу между тестовым стендом и конечным устройством (или тем более изделием) — занятие довольно бессмысленное и наблагодарное

>> No.167475  

>>167473

> после сессии инициирущего пердолинга и надлежащей настройки rule- и playbook'ов

Вот в этом то и проблема.

>> No.167477  

>>167475
проблемы не вижу, скорее разница мировоззрений
как, скажем, gentoo / linux from scratch, — можно один раз построить и радоваться жизни, а можно каждый день пересобирать мир (или бесконечно вылизывать ведропрошивку в пароксизмах перфекционизма)
оба подхода оправданы и имеют право на жизнь, если обладать трезвым пониманием "вот это для души, а это пусть работает и приносит деньги"
в идеале канешн применить себя куда-нибудь, чтобы пердолинг приносил и деньги и удовольствие, но так редко бывает

>> No.167478  

>>167477
Если настраивать для себя и на локалхосте то тут действительно попердолится не проблема. А вот когда разворачивать нужно в промышленных масштабах то волей-неволей начинаются поиски способов этот пердолинг сократить.

>> No.167487  

>>167462

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

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

>> No.167492  

>>167487
Большой датасет и хитрый алгоритм для фильтрации - весьма ресурсоемкие штуки. Крупные компании предпочитают экономить на этом всем.

>> No.167496  
File: 1566040827166.jpg -(61622 B, 640x416) Thumbnail displayed, click image for full size.
61622

>>167473

> как раз таки проще взять горсть рассыпухи и скрафтить из неё требуемую махарайку

Нет, вы меня таки извините..., но это как раз подход пуриста-электронщика. Просто представь себе какого-нибудь JS-кодера (который может быть отличным программистом на высокоуровневых ЯП, но при этом ни разу в жизни не держать в руках резистора) или вовсе гуманитария. Ты всерьёз думаешь, что работающий человек, ньюфаг в электронике, будет покупать радиодетали, вместо того, чтобы взять all-in-one kit с Ардуино и запилить то же самое парой джамперов и 10 строчками копипащенного кода?

Для рассыпухи нужно с нуля проектировать схему (ибо готовой под твои нужны может не найтись), в то время как для Ардуины существуют готовые либы/скетчи/схемы под чуть более чем любые распространённые задачи. Да и не зря Ардуина считается учебным конструктором. Поэтому, повторюсь, для хоббийных домашних проектов её использование более чем резонно. Тащем-та, дома для себя хоть на основе паровой установки можно делать, главное — чтобы было интересно, давало какие-то знания/скиллы и процесс доставлял удовольствие. Результат — дело десятое. Ведь, думаю, тебе не нужно объяснять, что хоббийные проекты типа дверцы для кота делаются исключительно по фану, это процесс ради процесса? Ясное дело, что чувак с видео мог повесить на кота колокольчик или там нанять инженера (о чём он упомянул), но это же банально и скучно (не говоря уже о том, что на выступить и выебнуться на конференции с таким подходом тоже не получится).

Но вот пихать такое в промышленные системы — это уже совсем другое дело.

> странно, что нейросеть не задействована, бгг

Разве Amazon SageMaker, который он использовал для распознавания, не на их основе и работает?

>> No.167512  
File: 1566064199383.jpg -(79431 B, 640x971) Thumbnail displayed, click image for full size.
79431

>>167496
акей, давай я тебе раскидаю по мастям

>пурист-электронщик

оперативно сваяет .lay-файлик и зашлёт куда-нибудь типа itead.cc (если нет собственного производства) и в оконцовке получит аккуратную плату, слегка пахнущую изопропанолом и дихлорэтаном. потом напечатает на 3D-принтере корпус, отполирует, покрасит, вырежет лазером из нержавейки шильдик "CatPoop Enterprise Research Labs Cо" и приклеит поксиполом, где-нибудь сбоку. беспроводные интерфейсы, индикаторы и матовая подсветка — по желанию
похмельный студент захуярит чего-нибудь в компасе, принтер => утюг => хлорное железо => слышь Славян есть подстроечник на 30ком => блядь не туда прияпаял => во, теперь заебись! корпус можно залутать на лабах / в помойке
более-менее смышлёный школьник тупо всё это дело скрутит, обмотает синей изолентой и засунет в мыльницу или банку из-под жвачки, мамин симпатяга
кузьмич, (к примеру желающий чтобы у него в гараже свет загорался одновременно с открытием калитки) спиздит где-нибудь в троллейбусном парке концевик на писят ампер и уже на этом этапе останется премного доволен
и только потешная ардуиноблядь вместе со своим ёбаным котом будет дрожащими ручонками совать джампера перебором и копипастить чужой код, вместо того, чтобы учить матчасть (которой все вышеперечисленные группы лиц в той или иной степени владеют). ну а хуле, когда на это время найти, надо же видос высрать (не забывайте ставить лайки и подписываться)

>Ясное дело, что чувак с видео мог повесить на кота колокольчик

или отражатель. или чипировать. или где-нибудь снаружи кота повесить nfc-метку. или написать ему на лбу константу ЙА_КОТ. но это всё не труЪ, ясен хуй

>Разве Amazon SageMaker

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

>> No.167513  

>>167512

> Ясное дело, что чувак с видео мог повесить на кота колокольчик
> или отражатель. или чипировать. или где-нибудь снаружи кота повесить nfc-метку. или написать ему на лбу константу ЙА_КОТ.

После смерти вы попадёте в ад, где коты будут вечно кусать вас за пятки.

>> No.167518  

>>167492
Но не экономят.

>> No.167519  

Открыл для себя Tcl/Tk и wish. Оказывается, GUI тоже можно клепать "за 5 минут на коленке".

Еще бы эти GUI не выглядели так блевотно (Google-driven development-ом сделать нормальный стиль не получится) и язык для их описания был бы не настолько уёбищным.

>> No.167525  

>>167512
Ты какой-то максималист, мне даже уже неинтересно с тобой вести дискуссию, ибо все твои аргументы известны мне наперёд. Ящетаю, что делать проектики — это в любом случае хорошо, не важно даже, тру/не-тру, со знанием мат. части/без знания и прочее. Если получаешь от процесса удовольствие, то какая разница. Что касается обвинений в дилетанстве и не-трушности — что же, haters gonna hates.

Алсо, предложи адеватную альтернативу для поставленного ТЗ (блокировать коту вход в тех случаях, когда он возвращается домой с добычей в пасти) без применения МК.

Вот это —

> или чипировать. или где-нибудь снаружи кота повесить nfc-метку. или написать ему на лбу константу ЙА_КОТ

я вообще не понял, и как это будет решать поставленную задачу — блокировать дверцу только в тех случаях, когда кот возвращается домой с добычей в пасти? Ведь ТЗ именно такое стояло.

>> No.167563  

>>167519

>Оказывается, GUI тоже можно клепать "за 5 минут на коленке".

Что-нибудь уже склепал?

>> No.167595  

>>167563
Я как раз и искал что-нибудь такое для rapid GUI development, чтобы по-быстрому склепать одну гуйнюшку.

Лень выкладывать, слишком уж цугундерная вещь (обёртка для youtube-dl).

>> No.167596  
File: 1566375950889.jpg -(39174 B, 200x600) Thumbnail displayed, click image for full size.
39174

Чем можно скачать отсюда http://narbonic.com/comic/july-31-august-5-2000/ комиксы со всеми комментариями в один pdf?
У меня нет $17.

>> No.167597  

>>167596
Очевидный wkhtmltopdf очевиден.

>> No.167598  

>>167597
Не очевиден, речь идет о нескольких сотнях страниц с ненужной шапкой и комментариями. Я скорее рассчитываю на чей-то самописный скрипт который спарсит все страницы и вытащит из них полезный текст и изображения.

>> No.167599  

>>167596
>>167598
Очевидно, комментарии автора нужны, а комментарии пользователей - нет.

>> No.167600  

>>167598
Ну так напиши.

>> No.167601  

>>167598
Ну так выкуси из страниц div class="entry-comic" и рендерь только его тогда, суп тебе в помощь.

>> No.167604  

Стандартные редакторы markdown выглядят так - одна половина экрана для текса, вторая - рендерится результат. Это отстойно. Кажется, довольно давно, может быть даже тут, я видел вариант где есть только одно поле в которое ты пишешь, а после нажатия Enter написанное рендерится в этом же окне. Если нужно изменить, то дважды кликаешь на строчке и на ее месте появляется исходная редактируемая строка. Где можно достать такое?

>> No.167612  
File: 1566412586645.png -(372452 B, 493x708) Thumbnail displayed, click image for full size.
372452

>>167604
Теги маркдавна для рендеринга автоматически заменяются на теги html и получается веб-страничка, чому нет такой же схемы, только чтобы замена происходила на теги латеха и рендерилась пдфка? Каким задротом нужно быть чтобы вместо двух табов писать \subsubitem (или выбирать из выпадающего меню в 2019)?
P.S. Что сфотографировано на пике?

>> No.167617  
File: 1566433201762.jpg -(355390 B, 1211x1600) Thumbnail displayed, click image for full size.
355390

>>167612

https://rarehistoricalphotos.com/priest-dying-soldier-1962/

>> No.167619  
File: 1566440771233.png -(31543 B, 190x230) Thumbnail displayed, click image for full size.
31543

Напоминаю, что в поиске по фотографиям нашим лучшим другом является извѣстный сайт, на заглавной странице у которого изображён робот на моноколесе: https://www.tineye.com/

>> No.167620  

>>167604
Напоминает Emacs.
>>167612
Присоединяюсь к более широкому вопросу: как вообще латехеры набирают свои исходники?

>> No.167623  

>>167620
Лично я в vim набираю.

>> No.167624  

>>167619
До лучшего он не дотягивает хотябы потому что без js категорически отказывается работать. Рекомендую iqdb.org

>> No.167633  

>>167612

>Каким задротом нужно быть чтобы вместо двух табов писать \subsubitem

А зачем? Можно ведь автодополнением или алиасы под себя настроить.

>> No.167634  

>>167624

>iqdb.org

Он только для анимешных картинок.

>> No.167635  

>>167634
Он сразу генерирует линки на наносоус, тинай и гуглекартинки, если не смог найти искомое.

>> No.167638  

>>167633
Где можно найти алиасы в стиле markdown или другой адекватной быстрой разметки?

>> No.167640  

>>167638
А я в Маркдауне с кастомными макросами и пишу, потом просто регулярками форматирую в Латех.

>> No.167642  

>>167640
Редактор небось пилила вебмакака на каком-то реакте или джанго? Ничто так не раздражает когда буквально каждое второе приложение которое должно быть десктопным сделано или в браузере, или лезет в интернеты непонятно зачем.

>> No.167662  

>>167642
Редактор пилил фурфаг едва ли не в прошлом тысячелетии на чистом WinAPI.

>> No.167665  

>>167662

> WinAPI

Разве фурфаги не начинали уже тогда изучать линукс? Я видел на документальных фото.

>> No.168679  

package Code.egb.com;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.Cookie;
import java.util.Date;
import java.util.concurrent.*;
import java.util.regex.Pattern;
public class Code
{

static org.openqa.selenium.NoSuchElementException ignore;
static Integer lost = new Integer (0);
static String bet = "";
static Double odds = new Double (1);
static Integer time = new Integer (0);
static Integer RiskAmount = new Integer (0);
static Integer color = new Integer (2);
static String colour = "";
static Integer NoE = new Integer (2);
static String selectorForEvent;
static String selectorForBet;
static String TextTime;
static WebElement Bet;
private static WebDriver driver;
public static void reset ()
{
lost = 0;
odds = 1.0;
time = 0;
RiskAmount = 0;
color = 2;
NoE = 2;
}
public static void CheckForEvent()
{
try {
System.out.println(NoE);
MakeSelectorForBet();
Bet = driver.findElement(By.cssSelector(selectorForBet));
bet = Bet.getText();
colour = Bet.getCssValue("color");
System.out.println(colour);
System.out.println(driver.findElement(By.xpath("xpath=//span[contains(.,'Live!')]")));
}
catch(Exception e)
{
NoE=2;
CheckForEvent();
}
if(bet.equals("-")|!colour.equals("rgba(39, 156, 255, 1)"))
{
NoE++;
CheckForEvent();
}
}
public static void MakeSelectorForBet()
{
selectorForBet = ".table-bets__main-row:nth-child("+NoE.toString()+") .table-bets__col-1 .bet-rate";
}
public static void OpenWithCookies()
{
driver = new ChromeDriver();
InjectCookie();
driver.get("https://egb.com/play/simple_bets");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);

CheckForEvent();
System.out.println(NoE);
System.out.println(Bet.getText());
odds = Double.parseDouble(Bet.getText()); //System.out.println(odds);
System.out.println("Found suitable event under number "+(NoE-1) +" with odds "+odds);

JavascriptExecutor js = (JavascriptExecutor) driver;
String scroll = "window.scrollBy(0,"+NoE*50+")";
js.executeScript(scroll);
System.out.println("Scrolling...");
Bet.click();
    WebElement Time = driver.findElement(By.cssSelector(".match-details__item-time-left"));
TextTime = Time.getText();// System.out.println(TextTime);
Pattern ptn = Pattern.compile(":");
String[] parts = ptn.split(TextTime);
for(int i = 0;i<parts.length;i++)
{
System.out.println(parts[i]);
if(i==0)
{time += Integer.parseInt(parts[i])*3600;}
if(i==1)
{time+= Integer.parseInt(parts[i])*60;}
if(i==2)
{time+=Integer.parseInt(parts[i]);}

}// System.out.println(time);
}
public static void Increase()
{
WebElement IncreaseButton = driver.findElement(By.cssSelector(".field-number__increase"));
while((odds*RiskAmount)<=(lost+RiskAmount))
{
IncreaseButton.click();
RiskAmount++;
}
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
System.out.println("risking "+RiskAmount);

}
public static void MakeBet()
{
try
{
driver.findElement(By.cssSelector(".match-details__place-bet")).click();
driver.findElement(By.cssSelector(".modal-popup-content__submit-row > .btn:nth-child(2)")).click();

// driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
// driver.findElement(By.cssSelector(".modal-popup-content__submit-row_alert > .btn")).click();

	driver.quit();
}
catch(Exception e)
{
driver.quit();
odds = 1.0;
time = 0;
RiskAmount = 0;
color = 2;
NoE = 2;
OpenWithCookies();
driver.findElement(By.cssSelector(".tabs__link--popup:nth-child(2)")).click();//Playmoney
Increase();
MakeBet();
}
}
public static void Wait()
{
try
{
System.out.println("Waiting for "+TextTime+" for event to start.");
System.out.println(time);
Thread.sleep(time*1000);
System.out.println("Event started.");
}
catch(InterruptedException e)
{
System.out.println("Waiting failed...");
}
}
public static void InjectCookie()
{
driver.get("https://egb.com/");
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.manage().addCookie(new Cookie("__cfduid", "d0f6a3b3b27eab8f6ca06395b8e7603151536996974", ".egb.com", "/", new Date (2019, 9, 15, 10, 36, 15), false, true));
driver.manage().addCookie(new Cookie("__cfduid", "dc4856a662bd7684cdbec10283b37f9081536996976", ".egbcdn.net", "/", new Date (2019, 9, 15, 10, 36, 16), false, true));
driver.manage().addCookie(new Cookie("__zlcmid", "oPhdy6JXM8KKv5", ".egb.com", "/", new Date (2020, 4, 25, 9, 21, 32), false, false));
driver.manage().addCookie(new Cookie("_ga", "GA1.2.1505928688.1540699283", ".egb.com", "/", new Date (2021, 4, 17, 4, 36, 10), false, false));
driver.manage().addCookie(new Cookie("__zlcprivacy", "1", ".egb.com", "/", new Date (2019, 11, 16, 20, 11, 35), false, false));
driver.manage().addCookie(new Cookie("_egb_session", "UlA5Wm9VQzZ4NWo2Tm1tV1I4YTRtczArVzlqU3cxM1o4OHJLejlsSGcvKzF5Q2xxcW9WODhOdnNxOFhWQXdGR0ZSM3M0Q2dwZTBMSFVpV2NpbFZqTm9IMEVmTDRZTlRoejhHOS9rMXFDTnBWMzBSNVBIMWpiN3VqNk5SRkpreGFicnV2WEc2Q2JLWkxqejhXZEtrMTlOL2EybGNWdjVlYWdWMjJhN2VkZUFkOXFQcFI5eFRCM0NlVTJlTFAyNkRrM0Z2VVZiLzZlN0dlZHdxTU95Qlc1cG5Pd0l4ZUhkV1ZwemhaeitJQnh4KzN2T2E3MEQvNENRWWlkTGxwdFpMdlNiKzNURVJqWFJRQTNYN0Q0Y1ZGTVE9PS0tZ3JTcEF4WHBaOUlNWmpFQVprOXZtdz09--4434fba7433cc9cc4d092a99d3444e26e4cd2c1f", "egb.com", "/", new Date (2019, 5, 26, 9, 47, 36), false, true));
driver.manage().addCookie(new Cookie("cloudflare_uid", "7yysnxMFPFPv1fgnEUUV5tVgtFUMem56pvx19UCv", "egb.com", "/", new Date (2039, 4, 26, 9, 53, 03), false, false));
driver.manage().addCookie(new Cookie("cookies_policy", "1", "egb.com", "/", new Date (2023, 9, 14, 10, 38, 27), false, false));
driver.manage().addCookie(new Cookie("is_first_time", "0", "egb.com", "/", new Date (2038, 9, 15, 10, 36, 15), false, false));
driver.manage().addCookie(new Cookie("lang", "en", "egb.com", "/", new Date(2024, 3, 1, 21, 11, 02), false, false));
driver.manage().addCookie(new Cookie("onlyFutureMatches", "true", "egb.com", "/", new Date (2024, 4, 19, 11, 39, 06), false, false));
driver.manage().addCookie(new Cookie("chat-menu", "false", "egb.com", "/", new Date (2024, 4, 23, 18, 10, 01), false, false));
driver.manage().addCookie(new Cookie("filters", "[]", "egb.com", "/", new Date (2024, 5, 17, 20, 59, 13), false, false));
}
public static void Check()
{
try {
driver = new ChromeDriver();
InjectCookie();
driver.get("https://egb.com/");
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
driver.findElement(By.cssSelector(".user__name")).click();
driver.findElement(By.cssSelector(".user-menu > .user-nav:nth-child(2) > .user-nav__item:nth-child(2) > span:nth-child(2)")).click();
WebElement Bet = driver.findElement(By.cssSelector("#mySimpleBets > div.table-my-bets.js-table > div:nth-child(2)"));
String colour = Bet.getCssValue("color");
if(colour.equals("rgba(252, 93, 93, 1)")){color = 0;System.out.println("Recognized lost, increasing risk...");};
if(colour.equals("rgba(31, 203, 99, 1)")){color = 1;System.out.println("Recognized won, starting new cycle...");}

// System.out.println(colour);

			driver.quit();
}
catch(org.openqa.selenium.NoSuchElementException ignoreT)
{
driver.quit();
Check();
}
}
public static void Calculate()
{
if(color == 1){reset();}
else
{
lost+=RiskAmount; System.out.println(lost);
RiskAmount = 0;
color=2;
}
}
public static void loop()
{
try
{
OpenWithCookies();
System.out.println("Opened cycle.");
driver.findElement(By.cssSelector(".tabs__link--popup:nth-child(2)")).click(); //Playmoney
Increase();
MakeBet();
System.out.println("Made bet. Quitting driver");
driver.quit();
Wait();
while(color == 2)
{
try
{
System.out.println("Waiting event calculation.");
Thread.sleep(900000);
}
catch(InterruptedException e)
{
System.out.println("Waiting failed...");
}
System.out.println("Waited 15 minutes, cheking.");
Check();
}
Calculate();
}
catch(Exception t)
{
{driver.quit();System.out.println(t);}
loop();
}
loop();
}
public static void main(String[] args)
{
System.setProperty("webdriver.chrome.driver", "C:\\Users\\airna\\Downloads\\chromedriver_win32.74\\chromedriver.exe");
loop();
}

}

Java код совершает последовательные ставки на сайте egb.com, повышая риск при проигрыше

>> No.169102  

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){

FILE *f; 
int i, c;
char *arr_name;
if (argc < 2) {
fprintf(stderr, "usage: %s file.exe\n", argv[0]);
return 1;
}

f = fopen(argv[1], "rb");
if (f == NULL) {
fprintf(stderr, "%s: fopen(%s) error", argv[0], argv[1]);
return 1;
}
freopen ("shellcode.h","w",stdout);

arr_name = "shellcode";

printf("unsigned char %s[] = {", arr_name);
for (i=0;;i++) {
if ((c = fgetc(f)) == EOF) break;
if (i != 0) printf(",");
if ((i % 12) == 0) printf("\n\t");
printf("0x%.2X", (unsigned char)c);
}
printf("\n\t};\n");	

printf("unsigned int size = %i;\n", i);

fclose(f);
fclose(stdout);

return 0;

}

>> No.169104  
File: 1571130755345.png -(1293932 B, 1280x720) Thumbnail displayed, click image for full size.
1293932

должно было случиться же
https://techoverflow.net/2015/01/07/fixing-bad-blocks-on-hdds-using-fixhdd-py/
ну и

ddrescue --no-split --verbose /media/disk-1/ololo.vdi /media/disk-7/fixed_ololo.vdi /media/disk-7/rescue.log    

делайте бэкапы, чо

>> No.169107  

>>169104

> https://techoverflow.net/2015/01/07/fixing-bad-blocks-on-hdds-using-fixhdd-py/

Неплохо. Жаль только не все винты на такое ведутся.

>> No.169118  
#!/usr/bin/guile
Тупой вывод книжек для openbox, для работы прописать в menu.xml
запускает atril для чтения и не смотрит на расширения
<menu id="book-menu" label="read-books" execute="путь-к-скрипту.scm">
!#
(import (srfi srfi-26))
(import (sxml simple))

(define *books* (string-append (getenv "HOME") "/" "bo"))

(define (listdir dirname)
(let loop ((dir-stream (opendir dirname)) (acc '()))
(let ((current-item (readdir dir-stream)))
(cond ((eof-object? current-item) (closedir dir-stream) acc)
((or (string=? current-item "..") (string=? current-item "."))
(loop dir-stream acc))
(else (loop dir-stream (cons current-item acc)))))))

(define (wrap-book label book)
`(item (@(label ,label))
(action (@(name execute))
(execute ,(string-append "atril "
"\"" *books* "/" book "\"")))))

(define (remove-ext filename)
(let ((idx (string-index-right filename #\.)))
(substring filename 0 (or idx (string-length filename)))))

(define *n-chars* 50)

(define (last-n-chars string)
(let* ((len (string-length string))
(begin-from (- len *n-chars*)))
(substring string (max 0 begin-from))))

(define (generate-books)
(let* ((books (listdir *books*))
(labels (map (compose last-n-chars remove-ext) books)))
(sxml->xml `((openbox_pipe_menu ,@(map wrap-book labels books))))))

(generate-books)
>> No.169124  
#!/bin/sh
#chain tor -> socat proxy -> vpn in a separate network namespace

CONFIG=$1 #first argument

#a namespace file for use with namespace utilities
NAMESPACE=/tmp/nchain
#unix socket used for forwarding Tor connections from the namespace
USOCKS=/tmp/ntor

touch $NAMESPACE
sudo unshare --net=${NAMESPACE} true
sudo nsenter --net=${NAMESPACE} ifconfig lo up

#A hack for openvpn so it will replace the default route
#which is not present at the moment
#since the only network interface is lo (which is not listed in the routing table)
sudo nsenter --net=${NAMESPACE} ip route add 127.0.0.0/8 dev lo
sudo nsenter --net=${NAMESPACE} ip route add default via 127.0.0.9

#tor forwarder
socat UNIX-LISTEN:${USOCKS},fork TCP:127.0.0.1:9050 &
sudo nsenter --net=${NAMESPACE} sudo -u $USER socat TCP-LISTEN:9050,fork UNIX-CONNECT:${USOCKS} &
# we have tor in ns, add openvpn
# better use openvpn's --socks-proxy 127.0.0.1 9050

sudo nsenter --net=${NAMESPACE} openvpn --socks-proxy 127.0.0.1 9050 --config $CONFIG

#after that enter the namespace in a separate terminal with
#sudo nsenter --net=/tmp/nchain sudo $USER
#and run firefox or whatever you want to run
>> No.171672  

Если вдруг кто использует самбу:
https://www.greyhole.net/

>> No.171780  

>>167619
Да вот фиг. Как-то яндех лучше в последнее время ищет.

>> No.171781  
File: 1576367913243.png -(71500 B, 1704x616) Thumbnail displayed, click image for full size.
71500

Вот такой скриптик "last-file".
Отдает путь до последнего или последнего n-го файла в папке по времени изменения.
Делаем симлинки ln -s last-file last-screenshot чтобы выводить из своих предопределенных папок. Оче помогает жить.
Так, боюсь опростоволоситься с разметкой, поэтому http://paste.org.ru/?fbr7n9

А может есть какой-то всем известный не велосипедный способ для этого?

>> No.171783  

>>171781
Я не совсем понимаю, что должно получиться в итоге, но, наверное, как-нибудь так:

ls -t1 | sed -n '1p'

Заместо «1» — то самое «эн». Тут последний самый новый.

ls -t1 | sed -n '1,4p'

Четыре файла.
Это чтобы избежать пайпов через head/tail/head.

getlastfile `pwd`

Лучше уж

getlastfile "$PWD"

У меня не работает — пути с пробелами плохо обрабатываются. Слишком хочется спать.

>> No.171788  

Как правильно вызывать chmod из си в линуксе? А другие простые консольные утилиты?

>> No.171790  
File: 1576425605794.png -(18761564 B, 2700x3600) Thumbnail displayed, click image for full size.
18761564

>>171788
Вызываем chmod и замещаем им себя:

#include <stdio.h>
#include <unistd.h>
int main(void)
{
execlp("chmod", "chmod", "+x", "target.txt", NULL);
printf("something wrong\n");
return 0;
}

Вызываем chmod и ждем его завершения:

#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>

int main(void)
{
int pid;
pid = fork();
if ( pid==0 ) {
execlp("chmod", "chmod", "+x", "target.txt", NULL);
printf("something wrong\n");
} else {
if ( pid<0 ) {
printf("can't fork\n");
return 1;
}
wait(NULL);
printf("chmod ended\n");
}
return 0;
}

Делаем почти тоже самое что и chmod:

#include <sys/stat.h>
int main(void)
{
chmod("target.txt", 00777);
return 0;
}

За другими консольными утилитами можно подсмотреть их системные вызовы через strace.

>> No.171792  

>>171790
Спасибо, особенно за такой подробный ответ.
И про execlp, и про последний вариант, я когда-то кажется уже нагугливал потратив много времени. Не посоветуешь источник, надеюсь книгу, где про такие вещи стоило бы узнавать?

>> No.171794  
File: 1576435704423.jpg -(227792 B, 1042x1400) Thumbnail displayed, click image for full size.
227792

>>171792
Книгу посоветовать не смогу, а что касается источника то

man 3 execlp
man 2 fork
man 2 chmod

и там внизу есть еще весьма полезный раздел "see also" со ссылками на смежные документы, которые возможно стоит почитать.

>> No.172195  

/var/cache/apt/archives - пустой, возможно ли что теперь в другую папку стали сохраняться предыдущие версии пакетов? Как узнать?
Алсо, как правильно ориентироваться системных директориях и чем удобно искать по ним?

>> No.172197  
File: 1577978474129.jpg -(60639 B, 600x800) Thumbnail displayed, click image for full size.
60639

>>172195

> /var/cache/apt/archives - пустой, возможно ли что теперь в другую папку стали сохраняться предыдущие версии пакетов? Как узнать?
apt-config dump | grep Cache

Возможно также что ее просто что-то чистит по крону например.

> Алсо, как правильно ориентироваться системных директориях и чем удобно искать по ним?

Для быстрого system-wide поиска по имени файла есть такая вещь как mlocate, которая вызывается через команду locate, например:

locate \.deb
>> No.172620  

mpv
Вывод времени проигрывания в консоль по нажатию клавиши.
Помогло при нарезании кусков.

local key = 'c'
function printtime(_)
local timestamp = mp.get_property('time-pos')
mp.msg.log('warn', timestamp)
end
mp.add_key_binding(key, printtime)
>> No.172628  

Объясните вкратце за что ненавидят системд?

>> No.172631  
File: 1579433317844.png -(3495783 B, 1500x2300) Thumbnail displayed, click image for full size.
3495783

>>172628
За комбайновость, кучу глюков и местами неочевидное поведение.

>> No.172633  

>>172631
А за что любят?

>> No.172634  
File: 1579443276969.jpg -(1200877 B, 1300x1920) Thumbnail displayed, click image for full size.
1200877

>>172633
За фичи.

>> No.172637  

>>172631

>комбайновость

Но разве этого достаточно для такой лютой ненависти? Почему в этом случае комбайновость так плоха? А какие рычаги влияния на системд остаются у рэдхэта(они же контролируют разработку его?), например не выбирают ли они какую библиотеку из конкурирующих поддерживать первоочередно?

>кучу глюков и местами неочевидное поведение.

Это почти про что угодно можно сказать.

>> No.172638  

>>172634
То есть, системд любят за то, что ненавидят?

>> No.172639  
File: 1579453419167.png -(823112 B, 1100x800) Thumbnail displayed, click image for full size.
823112

>>172637

> Но разве этого достаточно для такой лютой ненависти?

Тут все вместе дает кумулятивный эффект.

> Почему в этом случае комбайновость так плоха?

Потому что практически недопускает альтернатив, при этом потребляя кучу ресурсов даже в том случае, когда они не нужны, при далеко не всех реализованных хотелках.

> А какие рычаги влияния на системд остаются у рэдхэта

Они по сути полностью контролируют его.

> Это почти про что угодно можно сказать.

Тут это превышает разумные пределы. Например:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790262
https://bugzilla.redhat.com/show_bug.cgi?id=1213781
>>172638
Фичи можно реализовать и без всего этого.

>> No.172641  

>>172639
Ну, какая самая мощная фича у системд и как её реализовывать без системд?

>> No.172642  
File: 1579455692342.png -(919722 B, 1000x1400) Thumbnail displayed, click image for full size.
919722

>>172641
Если ты про параллельную загрузку то она уже давно реализована без systemd в том же openrc.

>> No.172643  

>>172642
Я не разбираюсь хорошо в разлиичиях systemd и "того же openrc".
Насколько я знаю, старому sysvinit в вину вменялось отсутсвтие логирования и управления сервисом по умолчанию - если в баш-скрипте этого нет, значит, этого нет. И вместе с этим нельзя ни провести перезагрузку сервиса или что-то подобное.
Мне интересно знать, как сейчас обстоят дела, если ты знаешь, расскажи, пожалуйста.

>> No.172644  
File: 1579460391151.jpg -(1138535 B, 893x1253) Thumbnail displayed, click image for full size.
1138535

>>172643

> если в баш-скрипте этого нет, значит, этого нет. И вместе с этим нельзя ни провести перезагрузку сервиса или что-то подобное.

В тех случаях, когда оно было нужно, оно там как правило было. Ну и вариант killall daemon на stop тоже неплохо работал.

> Мне интересно знать, как сейчас обстоят дела, если ты знаешь, расскажи, пожалуйста.

Если под логированием ты подразумеваешь логирование самой загрузки то оно включается через rc_logger="YES", если логирование выхлопа демона то для каждого демона можно задать output_log, error_log итд. Контроль состояния на базвовом уровне есть из коробки, так же есть возможность использовать супервизор.

>> No.172694  

В рангере можно сортировать папки, но обычно это глобальное явление.
Если же надоедает постоянно переключать, то я получил ответ в ишью нашёл фичу в виде setlocal.
[code]map O***x*** chain setlocal sort=mode;[/code]
Где x и mode заменяются по примеру конфига.

>> No.172787  

Реализовать systemd без systemd можно, но едва ли осмысленно. Тем более делать это каждый раз под каждый отдельный шеллскрипт - и того затратней. И главная фича системд вовсе не паралельный запуск, логи или вотчдоги, а возможность реагировать на любой системный ивент - udev-dbus-evdev и адаптировать систему к новому железу, новым условиям и новым состояниям на лету, через единый декларативный интерфейс.

В 80-ые может и можно было запустить демон и забыть, да расчитывать что он не сдохнет, да inetd какой вытянет то мизерное число коннекшенов, что приходило на сервера до середины-конца 90-х, но после нулевых, с приходом хайлоада во все дома - это уже едва ли вариант. Во-первых сервис надо не только запустить, но и быть уверенным, что он всё ещё работает, помогать ему если он вдруг не-. Сервис так же надо переконфигурировать по мере обновлений конфигов, наплыва памяти или хотплага девайсов. Последнее особенно актуально в десктопных конфигурациях, между прочим, там источником события могут быть и действия юзера. Так же, возвращаясь к тем же серверным конфигурациям нужно не беспокоится что форкающийся динозавр выжрет все сокеты, всю память, наплодит зомбей и уйдёт в oom, нужен адекватный ресурс-менеджемент, что системд в числе прочего и предоставляет, наряду с управлением слайсами и ядерными контейнерами.

Минималистичность - это конечно здорово, но только пока не требуется на каждом шагу заново интегрировать три-четыре независимых решения для разных задач, чтобы они могли работать в тандеме, а не каждая в свою сторону, тем более в рамках изолированых кустарных скриптов. Да и никто не отбирает у минималистов опции сделать всё как сами считают нужным, пока другие человеки могут делать что-то полезное, не отвлекаясь на реализацию одной задачи в тридесятый раз.

>> No.172788  

>>172787

> Во-первых сервис надо не только запустить, но и быть уверенным, что он всё ещё работает, помогать ему если он вдруг не-.
sudo killall -9 dbus-daemon

и чет оно не.

> Сервис так же надо переконфигурировать

Как systemd научить самому перечитывать конфигурацию при ее изменении?

> Так же, возвращаясь к тем же серверным конфигурациям нужно не беспокоится что форкающийся динозавр выжрет все сокеты, всю память, наплодит зомбей и уйдёт в oom,

С какой версии наконец введут эту фичу?

>> No.172790  

>>172788

> sudo killall -9 dbus-daemon

DBUS в ядре уже давно. А для юзерспейсного варианта есть Restart=always|on-failure|on-abnormal|on-watchdog|on-abort

> Как systemd научить самому перечитывать конфигурацию при ее изменении?

ExecReload=

> С какой версии наконец введут эту фичу?

С самой первой, .socket же.

>> No.172792  

>>172790

> DBUS в ядре уже давно. А для юзерспейсного варианта есть Restart=always|on-failure|on-abnormal|on-watchdog|on-abort

Ты его процесс пристрелить попробуй. А потом расскажи, как он хорошо рестартует.

> ExecReload=

Чет не работает:

root@ubuntu:~# echo ExecReload= >> /etc/systemd/system/sshd.service 
root@ubuntu:~# systemctl restart sshd
Warning: sshd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
root@ubuntu:~#
> С самой первой, .socket же.

И каким же боком .socket поможет от той же форк-бомбы?

>> No.172799  

>>172792
...
Ты совершенно не понимаешь что делаешь?

>> No.172800  

>>172799
...
Ты совершенно не понимаешь о чем говоришь?

>> No.172804  

>>172800
Ты не прочитал ни документации, ни текста что тебе непосредственно написал systemctl в ответ на твои действия. Это выглядит как мартышка с очками.

> Ты его процесс пристрелить попробуй. А потом расскажи, как он хорошо рестартует.

С Restart=always всё рестартует.

> echo ExecReload= >>

И в какую секцию ты это записал? На 90 процентов уверен что в [Install]. Кроме того ты не указал команды для релауда. И не сделал ни daemon-reload, как тебе клиртекстом написали чтобы обновить состояние юнита, ни собственно reload для юнита. Не говоря уже что sshd.service должен быть в /usr, а в /etc/systemd/system как максимум - симлинк в конкретном таргете, если ты его сам зачем-то не написал заново. Если делать всё вселпую и не понимая что творишь - ничего хорошего безусловно не выйдет.

> И каким же боком .socket поможет от той же форк-бомбы?

Ты похоже не понимаешь не только что делаешь, но что и является предметом обсуждения. .socket в отличии от inetd использует слайсовые и таргетные ограничения, позволяет активацию сервиса с учётом таковых и не ограничен только форками - в рамках активации сервиса может быть реализована любая обработка. Как ты вобще приплёл сюда форк-бомбы кроме как по слову "форкающийся", мне сложно представить.

>> No.172806  

>>172804

> И не сделал ни daemon-reload, как тебе клиртекстом написали чтобы обновить состояние юнита

Вопрос был в том, что нужно сделать, чтобы отпала нужда делать systemctl daemon-reload, если ты не понял.

> .socket в отличии от inetd использует слайсовые и таргетные ограничения, позволяет активацию сервиса с учётом таковых и не ограничен только форками - в рамках активации сервиса может быть реализована любая обработка

man xinetd.conf

>> No.172807  

>>172806
Если ты не понимаешь насколько это плохая идея - можешь сделать .path с PathModified=/etc/systemd/system и юнитом, который делает daemon-reload в своём ExecStart. Только потом не жалуйся на последствия твоих потенциально неконсистентных правок.

>> No.172809  

>>172807
В прошлом веке с sysv все работало из коробки, а тут внезапно стало плохой идеей. Просто отлично.

>> No.173156  

Кто-нибудь ставил мультисистем(утилита для установки нескольких live-usb на одну флешку)? У меня не работала она, ставилась кажется только одна из систем. При этом обновления по паре раз в неделю приходили, что подозрительно.
Вообще установка нескольких live образов на одну флешку возможна? А возможно ли с флешки полноценно использовать систему какую-нибудь?

>> No.173159  

>>173156

> Вообще установка нескольких live образов на одну флешку возможна?

Да, но нужно хорошо заморочиться.

> А возможно ли с флешки полноценно использовать систему какую-нибудь?

Линукс на флешку ставится точно так же как и на жесткий диск.

>> No.173177  

>>173159

>Да, но нужно хорошо заморочиться.

Как? В какую сторону почитать? В сторону grub?

>Линукс на флешку ставится точно так же как и на жесткий диск.

Какой именно? На всех что я ставил сохранять файлы на флешке запустившись из неё не получалось, как это сделать? Может быть я не верно устанавливал, может надо не изо образ туда заливать, а в процессе установки указать флешку как диск?

>> No.173178  

>>173177

> Как? В какую сторону почитать? В сторону grub?

Да, расковырять образ, посмотреть что с какими параметрами запускается, творчески смерджить это все в свой конфиг.

> может надо не изо образ туда заливать, а в процессе установки указать флешку как диск?

This.

>> No.173179  

>>173178

>Да, расковырять образ, посмотреть что с какими параметрами запускается, творчески смерджить это все в свой конфиг.

То есть ты не знаешь и просто ляпнул?

>This.

Ты пробовал так делать?

>> No.173184  

Есть ли программа вроде https://github.com/hpjansson/chafa для генерирования скрипта на питоне/баше, который в свою очередь будет отрисовывать в терминале анимированную гифку?

>> No.173187  

>>173179

> То есть ты не знаешь и просто ляпнул?

Давно этим не занимался и не в курсе что там поменялось за последнее время. Раскатать tar.gz образ куда проще чем заморачиваться со всеми этими инсталяторами.

> Ты пробовал так делать?

Да.

>> No.173208  
File: 1581625851200.png -(92883 B, 956x845) Thumbnail displayed, click image for full size.
92883
>> No.173216  

>>173208
Перенаправь вывод информации от курда в девнулл, что ли.
И можно как-нибудь распарсить через awk.

>> No.173236  

>>173216

> Перенаправь вывод информации от курда в девнулл, что ли.

Но мне нравится смотреть, как оно качает, сколько процентов, времени заняло, байт. По-хакерски циферки всякие бегут...

> И можно как-нибудь распарсить через awk.

JSON-то? Думаешь? Там ведь надо и ненужные объекты и ключи выкинуть. В awk вообще такие типы и хоть циклы есть?

>> No.173237  

>>173236
Используй api anilist, там graphQL, в нем можно указать какие поля тебе нужны.

>> No.173239  

>>173237
Спасибо, уже тыкал его. Но, как говорится, работает — не трожь.
Интерфейс у этого анлилист гадость - никакой, а вот API топчик. Вот уж точно программисты делали.

>> No.173274  

>>173236

>по-хакерски

...

>умеет?

args="name url start_year"
for arg in $args; do echo $all_data | grep $arg | awk -F ":" -e '{print $2}'; done

Как-то так, наверное.

А awk намного мощнее, чем поначалу кажется, хоть и используется чаще для одной операции.

>> No.173716  

Подскажите сервис Readability (очищающий веб-страницы от мусора, делающий похожими на книги), но чтобы

  • это была простая онлайн-приложенька с формой для URL - нажал - получил чистую страницу
  • без сраных регистраций и установок чего-либо

Все которые нагуглил требуют регистраций и установок (вот тут например https://readermode.io).
Та, которая без регистрации (https://www.textise.net) не работает с нужным мне URL - там javascript.

>> No.173717  

>>173716
Встроенный в браузер не канает?

>> No.173720  

>>173717
Да вот не вылезает кнопка в Chrome Android.

>> No.173721  

>>173720
Попробуй в firefox.

>> No.173986  

>>45318
>>45299
Можно просто упаковать свой скрипты в .deb|.rpm и сделать репозиторий

>> No.173992  

Как правильно(как можно свободней, на линуксе или бсд) эмулировать среду для эпловских(mac и ios) приложений? Правда ли что на BSD лучше, так как мак на каком-то из бсдешных ядер надстроен?

>> No.173993  

>>173992
Хакинтош на виртуалке, очевидно же. Под чем именно работает виртуалка не имеет значения.

>> No.174002  
File: 1584805770133.png -(2728 B, 275x199) Thumbnail displayed, click image for full size.
2728

>>173992

>Правда ли что на BSD лучше, так как мак на каком-то из бсдешных ядер надстроен?

Ложь

>> No.174206  

Как быстро переносить настройки торбраузера? Все ли настройки cодержаться в about:config? Как бытро вписать туда всё нужное? Вручную не нашел файла похожего на конфиг.
Заметил, что сохраняется гораздо больше информации, чем отображается в интерфейсе - ай-ай-ай, не хорошо так делать.

>> No.174210  

>>174206
Скопировать профиль целиком, очевидно же.

>> No.174284  

Как переписать about:config не заходя в fireeox? Заменить на другой например.

>> No.174287  

Новый тред >>174285



Delete Post []
Password

[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/]