LINUX.ORG.RU

Сообщения makoven

 

Есть ли прогрес в полку серверных динамических языков?

Пару лет назад осваивал джангу, webpy, еще что-то с каким-то пошлым немецким названием. Все шло хорошо пока не понадобилось выпустить свое детище в реальный мир. Тут я вмиг осознал и был раздавлен темной стороной питона, что зовется GIL.

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

Некоторые с помощью mod_python (mod_php/ruby/..) выстраивают в памяти батарею из python-рантаймов. Каждый этот рантайм пользуется один раз, после чего mod_python смывает за собой и создает новую копию (ну или как-то так).

Некоторые с помошью fastsgi/uwsgi. Которые, по-сути дублируют первый вариант, только ответственность за батарею процессов теперь лежит не на веб-сервере. А веб сервер только балансирует запросы к этой батарее.

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

makoven
()

Сети, подсети и взаимоотношения между ними

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

Есть два компьютера К-1 и К-2. Оба воткнуты в один свич

У К-1 адрес 10.10.0.1/16

У К-2 адрес 10.10.1.1/24

Маршрутизация никакая специально не настраивалась. Просто вбиты IP-адрес, маска, шлюз (Ш-1, Ш-2)

К-1 отправляет пакет на К-2:

  • К-1 смотрит в своей таблице маршрутизации, что пакет идет на адрес 10.10.х.х и делает вывод что этот адрес локальный.
  • Посылает широковещательный ARP-запрос с IP-адресом К-2, чтобы выяснить его MAC-адрес
  • Отправляет фрейм с данными на этот MAC-адрес

К-2 отправляет пакет на К-1:

  • К-2 смотрит в своей таблице маршрутизации, что пакет идет на адрес 10.10.0.х и делает вывод что этот адрес НЕ локальный.
  • Посылает широковещательный ARP-запрос с IP-адресом Ш-1, чтобы выяснить MAC-адрес своего шлюза_по_умолчанию.
  • Отправляет фрейм с данными на этот MAC-адрес
  • Шлюз (предположим), не находит нужного маршрута для адреса К-1 и возвращает на К-2 ICMP-ответ с ошибкой

То-есть, комп из сети может отправить пакет в свою подсеть, но ответа не получит?

makoven
()

Что будет если воткнуть три IPTV в один свитч?

Извиняюсь что вопрос не по линуксу. Не знаю где еще спросить.

С крыши в квартиру приходят три витых пары от Ростелекома. На каждой витой паре гнездится по одному IPTV.

Покурив про IPTV, выяснилось, что используется целый стек неприятных технологий (udp, мультикастинг, rtp на фиксированнные прты, широковещательные запросы...)

Правильно ли я понимаю, что если просто воткнуть все три IPTV в один свитч и в этот же свитч воткнуть TV-приставки, то ничего не заработает?

Возможно ли как-то внутри свича (mikrotik) полностью изолировать эти три iptv друг от друга чтобы потом изолированно передать их по одной витой паре на приставки, как показано на картинке?

https://cloud.mail.ru/public/18afafbbee5b/iptv_scheme.png

 

makoven
()

Почему dyndns вообще работает?

Мне dns представляется очень инерционной штукой, в которой пара [hostname]:[ip address] кешируется на целой куче перевалочных пунктов, начиная от моего браузера и провайдера и заканчивая цепочкой кеширующих серверов. И во многих случаях dns-запрос так и не доходит до обслуживающего его неймсервера.

Однако, динамические dns-ы вполне себе нормально работают даже если ip меняется каждые пару часов. Как же так?

makoven
()

перенос Windows 8.1 и ее 4(четырех) разделов на диск с gummiboot

Здравствуйте. Заранее извиняюсь за оффтопик.

Есть ssd-шка с тремя разделами

  • 1. UEFI с линукс ядром и загрузчиком gummiboot
  • 2. Арчик, все директории на одном разделе
  • 3. Пустой раздел, ожидающий венду

И есть hdd с только что установленной windows 8.1, которая при установке создала 4 раздела:

  • 1. 300Мб с папкой Recovery
  • 2. 100Мб с папкой EFI
  • 3. Microsoft Reserved Partition без файловой системы
  • 4. Собственно ОС

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

Хочется перенести винду с hdd на ssd, чтобы она мило соседствовала рядом с арчиком. В голове вырисовывается такой алгоритм:

  • Скопировать папку EFI/Microsoft второго раздела hdd в папку EFI на ssd.
  • В gummiboot добавить пункт с виндой (EFI/Microsoft/Boot/bootmgfw.efi (или bootmgr.efi - еще не разобрался))
  • Скопировать содержимое раздела 4 hdd на третий раздел ssd
  • Где-то что-то поменять, чтобы виндовый EFI-загрузчик искал винду на третьем разделе ssd.

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

 ,

makoven
()

Как вывести содержимое C-структуры?

После нескольких лет джаваскрипта осваиваю сишечку. Не хватает аналога console.dir(object), который выводит на экран содержимое объекта в виде:

поле: значение
... 

Возможно ли такое в си для структур?

makoven
()

Не понятна связь между endpoint и aor

В вики по pjsip.conf написано:

«In the case of endpoint and aor their names must match the user portion of the SIP URI in the „To“ header for inbound SIP requests.»

«В случае (с именами секций) endpoint и aor, их имена должны совпадать с именен пользователя из поля „То“ SIP запроса для входящих соединений.»

То есть, если на астериск звонят по урлу lena@bpx.ru, то в pjsip.conf должны быть секции

[lena]
type=endpoint
aors=lena
...

[lena]
type=aor

Вопрос:на кой хрен в первой секции нужен «aors=lena» если, судя по документации, aor и так обязан совпадать с именем пользователя?

 ,

makoven
()

Совокупление с H.264 SIP

Здравствуйте.

Есть SIP-домофон Robin SmartView SIP с поддержкой H.264. Целый день примерял всевозможные SIP-клиенты под линукс (linphone, ekiga) и андроид (sipdroid, csipsimple, linphone, vimphone). Ничего не показывает H.264! (Показательно, что первый попавшийся клиент под маздай - MisroSIP - заработал с пол оборота)

Домофон предполагается подключать к Asterisk (или чему-то аналогичному. FreeSwich?). Посему возник вопрос. Возможно ли астериском (или еще чем-нибудь) транскодировать H.264 в VP8 чтобы потом раздавать видеовызов на планшеты?

Или может есть какой-нибудь иной способ доставить H.264 видео-звонок в андроид?

 ,

makoven
()

Прошу дополнить и поправить картину мироздания

Не совсем понимаю где кончается clang, начинаются llvm и binutils

1. Clang препроцессит си-код и получает чистый си-код

2. Clang берет чистый си-код и строит AST.

[ тут магия ]

4. LLVM берет LLVM-байткод из магии и производит на свет файл ассемблера для конкретной архитектуры

[ Здесь clang и llvm больше не используются. Вступают в дело binutils, а именно as и ld ]

5. as берет файл ассемблера и производит объектный файл

6. ld превращает объектный файл в исполняемый

 ,

makoven
()

Пакет mpd тянет с собой пол мира

Здравствуйте.

Есть безголовый сервер на archlinux. Хотел поставить mpd, а он хочет сотни мегабайт и половину xorg-библиотек. При дальнейшем анализе обнаружился виновник - ffmpeg.

Возможно ли штатными средствами получить mpd без ffmpeg не прибегая к компиляции исходников?

Или может есть альтернатива mdp умеющая управление по сети с андроидофона?

 ,

makoven
()

Cubieboard 2 не хочет грузиться с карточки SanDisk 16 Gb UHS-l Extreme

Здравствуйте. Приобрел данную карточку взамен обычной Transcend SDHC, залил образ как обычно по инструкции, вставляю в кубиборд, включаю - черный экран, а на плате мигает красный светодиод.

Карточка рабочая, читается встроенным в кукиборд андроидом, если отформатировать ее в fat.

Везде написано что у SDHC UHS-I полная обратная совместимость с SDHC-ридерами.

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

 

makoven
()

Подскажите как красивее описать такую задачку в make-файле

Здравствуйте.

В процессе сборки програмы нужно некоторые файлы из исходников скопировать в директории с програмой. Например файл foo/bar/file1 в baz/, файл a/b/c/file2 в d/e/ и.т.д.

Может как-нибудь можно описать это одним правилом? Чтобы не писать для каждого:

baz/file1: foo/bar/file1
  cp $< $@

 

makoven
()

Ни одного wayland-ready текстового редактора?

Как ни странно есть и терминал (sakura) и менеджер файлов (spacefm). А вот текстового редактора на gtk3/qt5 не нашел.

makoven
()

Хочется чего-нибудь строгого и маленького

Есть одни данные, которые надо хранить. Безрезультатно пытаюсь найти хранилище своей мечты для nodejs. js славится своим пластилиновым подходом к типизации, поэтому хотелось бы хранилище построже в плане типов данных. sql или nosql значения не имеет.

  • Mysql/Postgresql слишком громоздкие для маленького проекта.
  • Тут советовали sqlite. Почитал про его type affinity, что можно записать строку в целочисленное поле, а он даже не поперхнется. Ужас по-моему. Может что-то не так понял, могу ошибаться.
  • не нашел не одного nosql решения со встроенной схемой

 , ,

makoven
()

Как заставить хромиум воспроизводить видео в HTML5 вместо флеш

Здравствуйте.

Есть один сайт(xhamster, pornub, ...)

1. Ставлю в настройках хромиума пункт «Блокировать плагины». Однако вместо html5 видеоплеера показывается заглушка забокированного флеш-плеера.

2. Однако! Если в настройках плагинов полностью отключить flashplayer, по html5-видео работает

Создается впечатление, что в первом случае браузер говорит сайту, что плагин у него есть, но блокирует его загрузку. А во втором случае сообщает, что плагина нет и сайт переключается на html5.

Хотелось бы оставить флешплугин включенным лишь для сайтов из белого списка (в настройках есть такое). Но при этом чтобы на остальных сайтах включался html5.

Может кто-нибудь решал такую проблему?

 , ,

makoven
()

ОС на флешке

Давно не дает покоя эта мысль. Прошу меня поправить если ошибаюсь.

Если флеш-{стик, карту} отформатировать в CoW-файловую систему (f2fs, tux3) то мы, по сути, получим SSD у которого вместо мудреного и ненадежного аппаратного контроллера - програмная реализация уменьшения износа блоков. Это представляется мне очень красивым решением. Особенно вкупе с дешевизной флешек по сравнению с SSD.

Подскажите, в правильном ли направлении я мыслю. И какая CoW-fs на данный момент достаточно стабильна для повседневной работы?

 ,

makoven
()

Serial port, output выдает эхо input'а

Уже задавал этот вопрос ранее. Здесь более развернуто.

Имеется прибор управления кондиционерами (CoolMaster) с COM-портом.

Если общаться с ним через putty, то вывод строго следует спецификации: на ввод отправляем строку «stats all\n», на выходе получаем

«1005 ON  173C ,67C High      MJ 0»
OK


Если же общаться с этим прибором через bash (cat/printf) или в програме, через обычные функции работы с файлом, то вывод получается

stats all

1005 ON  173C ,67C High      MJ 0

OK


То есть, в начале вывода появляется строка ввода «stats all» и лишние переносы строк между строками. Возможно переносы появляются из-за того, что прибор оканчивает строки на «\r\n». А вот почему вылазиет «stats all» в начале понять не могу.

Причем это происходит при «stty -F /dev/ttyS0 -echo». Если эхо включено - прибор в бесконечном цикле выдает абракадабру - пытается выполнить части входных строк, жалуется на ошибку синтаксиса и так до бесконечности.

COM-порты пробовал USB и родной, встроенный в материнку. Результат один и тот же.

Почему в выводе появляется «stats all»? И почему его нет в putty?

 

makoven
()

Непонятное поведение com-порта с bash

Имеется USB-to-Serial PL2303 адаптер и подключенное к нему устройство CoolMaster1000D, которое принимает строковые команды, оканчивающиеся на «\r\n»

При подключении через putty все нормально. Ввожу команду - жму Enter - получаю ответ.

Пробую через bash. В одном окне пишу cat /dev/ttyUSB0. В другом printf «stat\r\n» > /dev/ttyUSB0. Должен получиться такой ответ:

OK


Но получается вот такой, вывод, который длится бесконечно, пока не нажмешь Ctrl+C

stat

OK



t

Unknown command

OK

Unknown command

UnK

Unknown command




n

Unknown command ..........

 

makoven
()

Сервер из нескольких nodejs-процессов вместо одного. Есть ли смысл?

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

  • Сервис, взаимодействующий с димерами/реле (по telnet, с ПО от производителя)
  • Сервис, взаимодействующий с девайсом, управляющим кондиционерами (по rs232)
  • Сервис, отвечающий за сцены (сцена - это несколько устройств, включаемых одним нажатием. Создание, включение, выключение, редактирвание)
  • Сервис, отвечающий за события (активация устройств в зависимости от времени, температуры, освещенности, ...)
  • Web-сервис, умеющий отдавать JSON клиентам

    .

    И возникла идея сделать каждое приложение независимой сущностью отдельно запускаемым экземпляром nodejs. А взаимодействие между ними осуществлять через Redis pub/sub. Или через http.

    Но что-то терзают меня сомнения что плохо так делать и лучше все эти сервисы собрать в один node-экземпляр.

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

 ,

makoven
()

Подскажите по linux bridge

Здравствуйте. По причине неглубокого понимания маршрутов и мостов возник вопрос:

Создаю мост br0 (при помощи netctl в archlinux). В этот мост добавлена только одна сетевая карта eth0. (Мост для того, чтобы qemu-процессы при запуске добавляли в него tap-устройства)

При запуске системы eth0 получает статический адрес 192.168.1.10 а бридж получает по dhcp 192.168.1.11

И в результате.. локальная сеть не пингуется кроме 192.168.1.11

default via 192.168.1.1 dev eth0 
default via 192.168.1.1 dev br0  metric 203 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.10 
192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.11  metric 203 
192.168.1.11 via 127.0.0.1 dev lo  metric 203 

1 Подскажите как поступить в этой ситуации чтобы нормально работала и сеть и мост?

2 Можно ли мосту присваивать адрес из той же подсети что и адрес eth0?

3 Нужен ли вообще мосту ip-адрес и зачем?

 ,

makoven
()

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