LINUX.ORG.RU

Сообщения Turbid

 

Автодополнение в (neo)vim для Python

Atom я так и не победил, решил настроить IDE в neovim.

Поставил Shougo/deoplete.nvim и zchee/deoplete-jedi, но они также не подсказывают атрибуты моделей в Django как в PyCharm. Это что-то в jedi надо докрутить или оно в принципе такое не умеет?

cast kep

 , , , ,

Turbid
()

Как добавить в Atom автодополнение атрибутов в Python/Django?

Вот так это выглядит в PyCharm: http://i.imgur.com/tJP2XOj.png

В Atom в плагине autocomplete-python опцию «autocomplete function parameters» выставил в «All» и для самописных функций оно вроде работает, но что-то для полей модели Django никак.

Что нужно подкрутить?

 , ,

Turbid
()

Посоветуйте по иерархическим моделям

Есть следущая модель - подразделение конторы:

class Subdivision(MPTTModel):
    subdivision = CharField(verbose_name='subdivision', max_length=255)
    affiliate = ForeignKey(Group)
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children')

Как бы мне красивей сделать защиту от выбора parent вне родительского affiliate?

Есть модуль django-smart-selects, но он не работает с self.

Остается только через clean() или есть другие способы?

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

 , ,

Turbid
()

Два геймпада для емулятора приставок

У меня дети в последнее время угорают по классике типа Battle City, но т.к. их неттоп под телевизором погорел, я планирую прогнать их со своего десктопа и взять что-то вроде Rasberry Pi 3 + Rasbian + Kodi + эмулятор NES/SNES/Genesis/PS1 (mednafen?).

Сейчас малые играют на геймпаде от Xbox 360 + клавиатура, что, понятно, не очень удобно.

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

Подтверждаете мои сомнения?

 , , , , snen

Turbid
()

Как работать с Git на стадии эксперементов с прототипированием/моделированием

Осваиваю Git параллельно в двух проектах - маленькой игрушкой на C и корпоративным справочником на Python/Django. C первым все понятно - эволюционные изменения, которые легко кладутся в master.

А вот с Django все плохо - постоянно идут изменения в моделях, структуре каталогов, эксперименты со сторонними модулями... И самое непонятное что делать с migrations. Пробовал делить все эксперименты на бранчи, но в итоге еще больше запутываешься и получаешь гемор со слиянием. И это пока я один работаю с этим репозиторием...

Есть какие-то best practices?

 , , ,

Turbid
()

Ищу игры из конца 90-х, начала 2k

1. Игра экшн, середина-конец 90-х, 3D(?), каждый уровень - определенная историческая эпоха с соотвествующим антуражем. Помню точно, что первый уровень - первобытная эпоха, на тебя нападают саблезубые тигры. Еще помню что был уровень - метро. Вроде ее как-то показывали в "От винта", но с ходу что-то не нашел. Time Commando

2. Игра начала 2000-х. Устанавливал с пиратки друга и так и не смог поиграть - крашилась сразу после вступительного ролика, судя по которому - это триллер\хоррор. Хорошо запомнил голос протагониста из ролика - он же переводил второй Hitman (сцена в монастыре, голос 47-го, но то что нашел на youtube - не то), и еще много игр того периода.

Завязку совсем не помню, но вроде кто-то(что-то?) похитил(убил?) семью героя и тот собирается ее искать(мстить?). Возможно я ошибаюсь.

Первая локация - какая-то окраина деревни\дороги...сарай.. Все в коричневых тонах

Shadow Man

3. Добавлю бонус. Игра с NES. Аркада-платформер, играешь за парня-нинздзю (лицо открыто). Один из уровней - водопады. Little Samson

 

Turbid
()

Исключение перед попаданием в PCC

Задачу пытаюсь решить на MikroTik, но и для iptables/iproute2 она будет справедлива.

+---------------------------------------------------------+
|                                                         |
|                           ^                             |
|                           |                             |
|                           |  OSPF                       |
|                           |                             |
|                           +                             |
|                                            ISP 1        |
|                 +-------------------+ +---------------> |
|       from LAN  |                   |                   |
|    +----------> |                   |                   |
|                 |                   |      ISP 2        |
|                 +-------------------+ +---------------> |
+---------------------------------------------------------+

Допустим, у нас локальная сетка, которую мы маскарадим в инетрнеты с балансировкой и фейловером через 2-х ISP по методу PPC. Т.е. в prerouting на основании неких условий (src-address, src-port, dst-address, dst-port) маркируем исходящие из LAN соединения и загоняем на основе метки в соответствующую таблицу маршрутизации со своим default route.

И все это прекрасно работает, пока не появляется еще один линк, по которому приходит несколько сеток по OSPF. И теперь нам надо принудительно перед маркировкой в ISP проверять, не должно ли это роутиться в OSPF методом проверки сеток из address-list, что дикий костыль и рушит всю идею динамической маршрутизации.

Как бы мне это решить?

 , , ,

Turbid
()

Владелец точки монтирования в lxc-контейнере

Есть хост, на котором крутится сервис x_service под пользователем и группой x_user. Есть каталог /var/spool/x_service/tmp с владельцем x_user:x_user.

Далее, на этом хосте запускаю lxc контейнер, внутрях которого крутится сервис y_sevice, у сервиса есть каталог /var/www/y_service/tmp с правами y_user:y_user

Задача в том, чтобы оба эти сервиса могли читать и писать в общий каталог tmp. Делаю в конфиге контейнера:

lxc.mount.entry=/var/spool/x/tmp/ /var/lib/lxc/y/rootfs/var/www/y_service/tmp/ none bind 0 0

Проблема в том, что теперь владельцем каталога /var/www/y_service/tmp/ внутри контейнера, становится левый пользователь z_user, uid и gid которого совпадает с x_user хоста. Соответственно, y_service не может писать в свой tmp. Как быть?

 , ,

Turbid
()

Делимся своими ~/.bash_aliases

Мне уже давно хватает такого набора:

$ cat ~/.bash_aliases
alias ll="ls -lah"

alias tmux="tmux attach || tmux new"

alias apv="apt-cache policy"
alias aps="aptitude search"
alias apsu="aptitude -t unstable search"
alias apse="aptitude -t experimental search"
alias apu="sudo aptitude update"
alias api="sudo aptitude install"
alias apiu="sudo aptitude -t unstable install"
alias apie="sudo aptitude -t experimental install"
alias apf="sudo aptitude full-upgrade"

Что у вас?

 

Turbid
()

Эта музыка будет вечной, если я... нажму re-open

https://bugzilla.kernel.org/show_bug.cgi?id=15875

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

p.s. где я столнулся с данной траблой: Общий раздел ex4 для всех пользвателей

 

Turbid
()

Проблема со скоростью (?) у клиентского wifi на OpenWrt

Предыстория: имеется телевизор со SmartTV, стоящий в стороне от розеток с RJ-45. Долгое время он был подключен напрямую к nettop, который исполнял роль медиасервера и шлюза в интернеты, а тот в свою очередь по wifi был подключен к MikroTik. И все было прекрасно, пока ребенок не залил лимонадом nettop.

Я денек погоревал, но потом полез на антресоли, достал дедушкин DIR-300, вкорячил на него последний релиз OpenWRT (rt305x для DIR-300 B1, хотя у меня B3 и там rt3350, но говорят что они совместимы). Настроил его как клиентскую wifi-точку и интернет на TV заработал, но почему-то люто начали тормозить онлайн-программы через SmartTV. Я первым делом погрешил на слабое железо и отключил NAT на OpenWRT, прописал маршрутизацию в MikroTik, но не помогло. Поигрался с Threshold-ами и мощностью сигнала со стороны OpenWRT - тоже не помогло.

Со стороны OpenWRT:

root@ap:~# iw list
Wiphy phy0
        max # scan SSIDs: 4
        max scan IEs length: 2257 bytes
        Fragmentation threshold: 2346
        RTS threshold: 2346
        Retry short limit: 7
        Retry long limit: 4
        Coverage class: 0 (up to 0m)
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * WDS
                 * monitor
                 * mesh point
        Band 1:
                Capabilities: 0x172
                        HT20/HT40
                        Static SM Power Save
                        RX Greenfield
                        RX HT20 SGI
                        RX HT40 SGI
                        RX STBC 1-stream
                        Max AMSDU length: 3839 bytes
                        No DSSS/CCK HT40
                Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
                Minimum RX AMPDU time spacing: 2 usec (0x04)
                HT RX MCS rate indexes supported: 0-7, 32
                TX unequal modulation not supported
                HT TX Max spatial streams: 1
                HT TX MCS rate indexes supported may differ
                Frequencies:
                        * 2412 MHz [1] (20.0 dBm)
                        * 2417 MHz [2] (20.0 dBm)
                        * 2422 MHz [3] (20.0 dBm)
                        * 2427 MHz [4] (20.0 dBm)
                        * 2432 MHz [5] (20.0 dBm)
                        * 2437 MHz [6] (20.0 dBm)
                        * 2442 MHz [7] (20.0 dBm)
                        * 2447 MHz [8] (20.0 dBm)
                        * 2452 MHz [9] (20.0 dBm)
                        * 2457 MHz [10] (20.0 dBm)
                        * 2462 MHz [11] (20.0 dBm)
                        * 2467 MHz [12] (20.0 dBm)
                        * 2472 MHz [13] (20.0 dBm)
                        * 2484 MHz [14] (disabled)
        valid interface combinations:
                 * #{ managed, AP, mesh point } <= 8,
                   total <= 8, #channels <= 1
        HT Capability overrides:
                 * MCS: ff ff ff ff ff ff ff ff ff ff
                 * maximum A-MSDU length
                 * supported channel width
                 * short GI for 40 MHz
                 * max A-MPDU length exponent
                 * min MPDU start spacing


root@ap:~# iw dev wlan0 link
Connected to d4:ca:6d:b2:61:79 (on wlan0)
        SSID: d_home
        freq: 2412
        RX: 507192910 bytes (534819 packets)
        TX: 24153523 bytes (241675 packets)
        signal: -70 dBm
        tx bitrate: 150.0 MBit/s MCS 7 40MHz short GI

        bss flags:      short-preamble short-slot-time
        dtim period:    0
        beacon int:     100

MikroTik:

[admin@gw] /interface wireless> registration-table print stats  where mac-address=34:08:04:C2:9B:32
 0 interface=wlan1 mac-address=34:08:04:C2:9B:32 ap=no wds=no bridge=no rx-rate="120.0Mbps" tx-rate="150.0Mbps" packets=342600,242694 bytes=473767160,19687208 frames=342600,242730 frame-bytes=474452560,18234918
   hw-frames=400957,243026 hw-frame-bytes=567968851,27986345 tx-frames-timed-out=0 uptime=2h54m43s last-activity=400ms signal-strength=-67dBm@HT40-5 signal-to-noise=28dB signal-strength-ch0=-72dBm signal-strength-ch1=-75dBm
   strength-at-rates=-60dBm@1Mbps 2h54m40s830ms,-60dBm@2Mbps 2h54m28s810ms,-60dBm@5.5Mbps 2h54m29s900ms,-60dBm@11Mbps 2h54m27s650ms,-64dBm@HT20-0 1h3m24s410ms,-63dBm@HT20-1 1h14m38s410ms,-64dBm@HT20-2 52m41s400ms,-65dBm@HT20-3
                  26m36s430ms,-64dBm@HT20-4 27m59s430ms,-65dBm@HT20-5 21m53s460ms,-65dBm@HT20-6 11m5s350ms,-65dBm@HT20-7 2m24s400ms,-64dBm@HT40-0 2m48s840ms,-64dBm@HT40-1 3m3s410ms,-64dBm@HT40-2 2m7s410ms,-64dBm@HT40-3 46s400ms,-
                  65dBm@HT40-4 9s420ms,-67dBm@HT40-5 400ms,-64dBm@HT40-6 33s390ms,-64dBm@HT40-7 1m16s420ms
   tx-ccq=94% p-throughput=105119 last-ip=192.168.66.3 802.1x-port-enabled=yes authentication-type=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm management-protection=no wmm-enabled=yes

Куда еще смотреть, что покрутить?

 , , ,

Turbid
()

GOG.com анонсировали Steam-like клиент Galaxy

А linux тут притом, что:

We're not forgetting Linux guys. We'll be giving more info later this year. Galaxy is being done with PC, Mac and Linux in mind.

http://www.gamingonlinux.com/articles/gogcom-announce-galaxy-their-optional-c...

http://www.gog.com/news/cd_projekt_red_gogcom_summer_conference

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

 , ,

Turbid
()

Помогите найти игру

Игрушка у меня откуда-то была в середине 90-х с набором других игр от той же студии для win9x. Игра была shareware и постоянно предлагала купить себя по visa/mastercard

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

Еще вроде в названии было слово roll (rollup?).

Гугление по ключевым словам rolling balls blocks по картинкам ничего не выявило, единственное нашел что-то похожее: http://www.sharewarebay.com/Games_&_Entertainment/Arcade/Astrorix_Gold.html

 

Turbid
()

udp multicast через vlan

Мне подали в отдельном vlan мультикаст для iptv.

4: eth0.924@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    inet 192.168.10.15/24 scope global eth0.924
       valid_lft forever preferred_lft forever

прописал маршрут:

$ ip r show 233.0.0.0/8
multicast 233.0.0.0/8 dev eth0.924  scope link  metric 1

проверил всякое что может влиять:

$ cat /proc/sys/net/ipv4/conf/eth0.924/rp_filter
0
$ cat /proc/sys/net/ipv4/conf/eth0.924/force_igmp_version
0
$ cat /proc/sys/net/ipv4/ip_forward
1

даже добавил разрешение в firewall:

$ sudo iptables -nvL
[sudo] password for turbid:
Chain INPUT (policy ACCEPT 766K packets, 49M bytes)
 pkts bytes target     prot opt in     out     source               destination
    8   256 ACCEPT     all  --  *      *       0.0.0.0/0            233.0.0.0/8

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 959K packets, 1506M bytes)
 pkts bytes target     prot opt in     out     source               destination

запускаю

$ vlc --miface=eth0.924 udp://233.1.1.1:1234 -vvv

слушаю

$ sudo tcpdump -i eth0.924 -n udp and port 1234

и тишина....

хоть запрос на интерфейс то должен был попасть?

 , , ,

Turbid
()

Достаточно ли ARM MiniPC для эмуляторов NES\GEN?

У меня сейчас к телевизору подключен nettop на атоме. Железо выполняет роль небольшого NAS/Mediaserver, а также приставки для ребенка (fceux + XBox-controller).

Но в будущем я планирую перенести NAS на нормальное железо (HP Miniserver) в кладовку, а оставлять nettop для редких игр - слишком жирно, ибо он греется и шумит как не в себя.

Кто-нибудь запускал эмуляторы NES и GEN на железе типа Raspberry pi или Cubieboard? Тянет?

Сомнения у меня потому, что fceux c масштабированием Hq3x жрет ~90% cpu Atom 330 1.6GHz.

 , , , ,

Turbid
()

Теоритический вопрос про анализирование https

Есть разные DLP, которые обещают анализ и блокировку https-трафика. Например, вот здесь, судя по схеме, происходит проксирование запросов от пользователя.

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

 , ,

Turbid
()

Redirect HostFrom при пинге через бридж

Итак, есть машина:

nas:~$ ip -4 addr show  dev br0
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    inet 192.168.0.5/24 brd 192.168.0.255 scope global br0
       valid_lft forever preferred_lft forever

на этом бридже висит lxc-контейнер:

ss:~$ ip -4 addr show eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.0.8/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever

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

nas:~$ ping 192.168.0.10
PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data.
From 192.168.0.8 icmp_seq=2 Redirect HostFrom 192.168.0.8: icmp_seq=2 Redirect Host(New nexthop: 192.168.0.10)
From 192.168.0.8 icmp_seq=3 Redirect HostFrom 192.168.0.8: icmp_seq=3 Redirect Host(New nexthop: 192.168.0.10)
From 192.168.0.8 icmp_seq=1 Destination Host Unreachable
From 192.168.0.8 icmp_seq=5 Redirect HostFrom 192.168.0.8: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.10)
From 192.168.0.8 icmp_seq=6 Redirect HostFrom 192.168.0.8: icmp_seq=6 Redirect Host(New nexthop: 192.168.0.10)
From 192.168.0.8 icmp_seq=4 Destination Host Unreachable
From 192.168.0.8 icmp_seq=8 Redirect HostFrom 192.168.0.8: icmp_seq=8 Redirect Host(New nexthop: 192.168.0.10)
^C
--- 192.168.0.10 ping statistics ---
8 packets transmitted, 0 received, +7 errors, 100% packet loss, time 7006ms
pipe 3

Прерываем пинг и запускаем заново:

nas:~$ ping 192.168.0.10
PING 192.168.0.10 (192.168.0.10) 56(84) bytes of data.
From 192.168.0.5 icmp_seq=1 Destination Host Unreachable
From 192.168.0.5 icmp_seq=2 Destination Host Unreachable
From 192.168.0.5 icmp_seq=3 Destination Host Unreachable
From 192.168.0.5 icmp_seq=4 Destination Host Unreachable
From 192.168.0.5 icmp_seq=5 Destination Host Unreachable
From 192.168.0.5 icmp_seq=6 Destination Host Unreachable
^C
--- 192.168.0.10 ping statistics ---
9 packets transmitted, 0 received, +6 errors, 100% packet loss, time 8030ms
pipe 3

Вопрос - что это было?

 , , ,

Turbid
()

Посоветуйте железо для NAS/Media server

Сейчас в качестве nas/media-server используется nettop, который лежит под телевизором. Минусы понятны - шумность, невозможность подключить нормальное количество накопителей.

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

1. Пассивное охлаждение - не обязательно, но будет жирным плюсом.

2. Производительность, достаточная для FullHD (аппаратное декодирование)

3. HDMI

4. Корзина на 4 винта

На сервере будут крутиться debian с XBMC, Plex media server + несколько lxc-контейнеров с разными нужными вещами типа asterisk, nginx и прочее.

Интересует прежде всего Корпус+БП и мать.

Также в планах переезд, поэтому есть возможность выделить под это все дело место в кладовке. Но тогда встает вопрос - сколько метров потянет hdmi? Какие еще варианты с доставкой видео и звука до телевизора?

 , , xbm

Turbid
()

lxc-ls и lxc-list неправильно показывают статус контейнера

$ sudo lxc-ls --fancy
NAME  STATE    IPV4  IPV6  AUTOSTART
------------------------------------
ss    STOPPED  -     -     NO
$ sudo lxc-stop -n ss
ss is not running

тогда как:

$ ping ss
PING ss (192.168.0.8) 56(84) bytes of data.
64 bytes from ss (192.168.0.8): icmp_seq=1 ttl=64 time=0.145 ms
64 bytes from ss (192.168.0.8): icmp_seq=2 ttl=64 time=0.079 ms

и

$ ls -l /etc/lxc/auto/
итого 0
lrwxrwxrwx 1 root root 22 окт.  28 23:14 ss -> /var/lib/lxc/ss/config

 , ,

Turbid
()

Red Orchestra 2 / Rising Storm под онтопик

В продолжение хороших слухов:

http://www.pcgamer.com/2013/09/30/tripwire-steamos-steam-machines-and-steam-c...

Для Ъ:

We actually just learned about SteamOS a few days before the rest of the world and we haven’t gotten our hands on it just yet. Fortunately Valve gave us a heads up a while back that adding Linux and Big Picture support would “be a pretty good idea going forward.” So we started working on Linux and Big Picture support soon after that. We’ve now got three of our four games released on Linux and one of those games with Big Picture mode support. That has put us in a really good position to take advantage of SteamOS when it is released since it is essentially Linux + Big Picture + Awesome Performance Optimizations + Other Cool Stuff. We’ll be working on setting up the rest of our recent titles with SteamOS support in the not too distant future. We also plan on releasing our next unannounced title with SteamOS support right out of the box.

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

 , , , ,

Turbid
()

RSS подписка на новые темы