Задать вопрос
  • Как управлять LPT портами через Python?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я не совсем понимаю эту фразу
    "как видеть(получить адреса) именно тех lpt портов, к которым подключены какие-либо устройства."

    Параллельный порт - просто набор TTL-линий GPIO, возможно с прерываниями. Никакого протокола для определения устройств у него нет и быть не может по определению! Это не USB.
    Может быть поможет вот это - logix4u.net/parallel-port/15-a-tutorial-on-paralle...

    Ну а на счет программирования под питон рекомендую попробовать pyserial, там есть модуль для параллельного порта (но я его не пробовал). Сам программирую через эту библиотеку серийные порты и устройства на них. pyserial.sourceforge.net/pyparallel.html
    И да, очень внимательно прочитайте Note!
    The lp(4) module must be unloaded, rmmod lp. lp claims exclusive access to the port and other programs won’t be able to use it.
    The ppdev(4) module needs to be loaded, modprobe ppdev. When udev is in use, (default with 2.6 kernels) this will create a /dev/parport0.
    The user needs to have write permissions to /dev/parport0. Many distributions have an lp group that owns the device; the simplest is to add the user account to this group. Simply changing permissions on the device is not the best strategy as they will be reverted to their defaults next time the driver is loaded.
    Ответ написан
    Комментировать
  • Почему Debian стал съедать всю оперативную память?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если сервер физически недоступен, то Для начала включит фаерволл и отключить на нем исходящие соединения, да и входящие тоже, кроме ssh.
    Затем посмотреть, какие процессы жрут память. Убить родителя. Посмотреть скрипты запуска на наличие вредоносов.

    Если сервер в физическом доступе, то загрузиться с СД например и пройтись по файловой системе..
    Ну и не сказали, что стоит на сервере..
    Если не подобран рутпароль, то скорее всего сломаны php скрипты (дырявая CMS).

    А вообще-то фаерволы с закрытием клиентских коннектов рулят от таких ситуаций. Даже если сломали, то выйти за пределы сервера сложно. На firehol делается в 3 строчки, рекомендую, настоятельно!

    Ну а по делу, отключайте сначала почту, затем веб-сервер, затем крон и так далее, пока не найдете причину. Ну и смотреть на выдачу top, кто и какие пользователи жрут память и процессы плодят.
    Ответ написан
    Комментировать
  • Как лучше реализовать мониторинг доступности нескольких серверов друг для друга?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Достаточно просто. Установите на все серверы collectd. В нем есть плагин https://collectd.org/wiki/index.php/Plugin:Ping
    В конфигурации плагина устанавливаете пинги на все ваши серверы.
    Результат отдаете в нагиос через например https://collectd.org/documentation/manpages/collec... (я не пробовал!!!)

    Также результат можно лить и в mongo и в redis и в rabbitmq. Ну а плагинами нагиоса достанете отовсюду, благо они пишутся за 5 минут.
    Или радикальнее, ставите graphite (у нас было) или unfluxdb+grafana (теперь) и туда льете данные с серверов collecd.

    PS. Бонусом установки collectd получите быстрый и не ресурсоемкий сбор практически любой статистики.
    Ответ написан
  • Развалится ли рейд после сброса пароля биос?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Испортиться не должен. В крайнем случае, отключите диски и восстанавливайте спокойно пароль.
    Ответ написан
    Комментировать
  • Методы синхронизации в байтовом потоке?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    book.itep.ru - в самом верху кнопочка INDEX, это на полное оглавление, учитаться...
    Ну а вообще-то для этого используют преамбулу, ищут маркер, например семь байт 0xAA подряд, и пытаются вычислить контрольную сумму заголовка. Если всё совпадает, то считаем, что это таки пакет. Например как в ethernet - book.itep.ru/4/41/eth_4111.htm
    Ответ написан
    Комментировать
  • Какой инструмент выбрать для автоматизации работы с VT100?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Bombus, сначала вы делаете библиотеку, чтобы выдавать команды VT100 (это со стороны контроллера), а затем ищете решение отрендерить посылки VT100 в картинку и отслеживать изменения областей экрана. Я правильно понимаю?! Что-то это мне напоминает...

    Если по хорошему, сделайте со стороны контроллера переключение режимов - данные/визуальный.
    В визуальном режиме работайте посылками VT100 - красиво, наглядно, можно подключиться терминалом... В режиме данных обменивайтесь данными, хоть по modbus - надежно, машиночитаемо и т.д.
    Для переключения режимов можно использовать какую нибудь текстовую последовательность, например ++++====++++=1 переход в визуальный режим, и ++++====++++=2 переход в режим данных.
    Если режим данных у нас не основной, то из него можно выходить по какому нибудь таймауту, например после 5 минут без ответа на посылки. Ну и наоборот тоже...

    И да, многие старые программы типа kermit подобным образом и переключали режимы работы...
    Ответ написан
  • Какую технологию выбрать для асинхронной передачи данных?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Поддержу про торнадо, но еще более рекомендую посмотреть на cyclone.io
    Это торнадо переписанный под twisted, который как нельзя лучше вам подойдет (это я про https://twistedmatrix.com/ ). У меня так система работает, вся обработка делается в twisted, а отдаю через cyclone по ajax (вебсокетов на клиентах, увы у меня нет :-( )
    А технология называется comet. Реализуется в разных вариантах, у которых есть плюсы и минусы. Смысл в том, что браузер тем или иным образом (comet, websocket, ajax, ajaxp, longframe, longpooling и т.д.) подключается к серверу и ждет прихода события от сервера. Само событие может содержать кучу данных, которые обновились.

    Я бы рекомендовал сделать следующим образом. Поставить сервер очередей типа rabbitmq, а через торнадо/cyclone подключаться к очереди через ajax/ajaxp и/или websockets.

    Ну а если просто нужно слушать очереди сообщений (без хитрой обработки на web-сервере), то можно просто обойтись rabbitmq-stomp.

    В принципе, в циклоне есть несколько примеров:
    - https://github.com/fiorix/cyclone/tree/master/demo... - очереди на основе redis
    - https://github.com/fiorix/cyclone/tree/master/demo... - собственно websocket
    - https://github.com/fiorix/cyclone/tree/master/demo... = чистый ajax
    Ответ написан
    Комментировать
  • Из-за чего интернет работает через кабель на техникумовских компьютерах и не работает подключении к моему ноутбуку !?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я бы, как администратор сети, поступил бы просто. В сети сделал бы несколько VLAN (для библиотеки, студентов, преподавателей, уборщиц, алхимиков, космологов, зеленых человечков, доярок и пастухов). Установил бы сервер авторизации типа FreeRadius. На коммутаторах и wifi-точках доступа настроил бы авторизацию по 802.1x. Раздал бы всем сотрудникам логины/пароли к сети.
    А всех остальных, неавторизованных студиозов, пускал в гостевой VLAN, где отключил бы всё и оставил бы RDP и сетевой диск для заливки диссеров преподам.

    Собственно, как пишут в одной операционной системе: "При наличии проблем с сетью, обратитесь к сетевому администратору".

    PS. И, похоже, у вас появился нормальный сетевой инженер в институте (упс, техникуме)!
    Ответ написан
    Комментировать
  • Правильно ли я понимаю как работают green threads?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Еще "зеленые нити" из коробки есть в scala и erlang. Ну и во многих функциональных языках типа haskel.

    Максимальный размер стека обычно ограничен размером физической памяти. Если только не наложены ограничения, которое обычно можно изменить или убрать вообще. В линуксе начинать смотреть в файло /etc/security/limits.conf и на команду ulimit

    Каждый процесс имеет свой стек! А нить, любая, делит стек со всеми нитями процесса.
    Ответ написан
  • Какое выбрать оборудование для построения локальной сети?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Берите коммутаторы DLink DES/DGS 1210-28/ME(52) или 1510-28(52). Можно даже D-link DES/DGS-1100-24, но он не очень мультикаст тянет, а в остальном очень стабилены. Длинки поставляем всем заказчикам под проекты, да и у самих стоят, только на них и работаем. Умеют и VLAN и мультикаст и ACL-ы и даже 802.1x + DHCP-snooping.
    И да, мы занимаемся IPTV, поэтому знаю, о чем говорю.

    Что касается роутера, то я уже давно делаю так.
    Беру обыкновенный комп с двумя сетевыми картами с Core i3/i5 и 8-16Гб памяти, 2-4 HDD. За все про все 20-30к рублей.
    Ставлю на него ubuntu:
    - KVM
    - SAMBA
    - FireHol (фаервол)
    - OpenVPN
    - делаю диски в RAID 10
    На фаерволе прописываю маскарадинг, настраиваю файлопомойку на Samba.
    На KVM разворачиваю несколько виртуалок, одна с IP-телефонией (FreePBX), вторая с Windows Server 2008 (можно и самбой обойтись), третья для WEB/RedMine/Trac (ubuntu).
    Дополнительно на последнюю виртуалку ставлю inflyxdb + grafana, на основной хост collectd. Получаю статистику и красивые графики.

    В результате получаю:
    - мощный роутер
    - файлопомойку
    - домен виндовс
    - телефонию
    - организацию VPN с шифрованием и удаленным доступом
    - web-сервер с инструментами для коллективной работы (записки, заметки тикеты)
    И самим и заказчикам такое делаем практически на потоке!
    Ответ написан
    Комментировать
  • Где почитать о фичах систем хранения данных?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    О статейках не не скажу, гугль в помощь.
    А по делу, "late allocation" - ленивая аллокация, когда программа пишет в на СХД, но запись на диски происходит не сразу (и выделение места под сами данные), а после достижения некоторого порога в буфере или вообще асинхронно, или выбеляется блок данных только после окончания записи или сброса буферов на носители. В разных системах может быть реализовано немного по разному. Увеличивает скорость записи, так как не нужно постоянно перетрясать таблицу занятийх блоков.
    А вот и статья - https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BB%D...

    "sparse placement" - разряженное размещение, когда реально выделяется память (дисковая) только под реально записанные данные. Например, создал файл на 1 гиг, а записал в него 10 кило, место выделится только под реальные блоки данных. Иногда бывают интересные эффекты, когда данных больше, чем реальное заполнение хранилища.
    Ответ написан
    Комментировать
  • Стоит ли переходить на Mac OS?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Сильно похоже на линукс. Только лучше. Сам перешел с линукса на мак лет 8 назад, так и живем.
    Ответ написан
    Комментировать
  • Конвертер USB в RS-232?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я так понимаю, что устройство реализует в себе USB serial протокол. Т.е. подключая его непосредственно в USB-порт получаем в системе виртуальный COM?
    Если это так, то устройств таких нет!
    Можно просто комп в промежуток поставить и написать простенький враппер, который будет гонять данные с USB serial в стандартный RS-232. Программка такая пишется за день на питоне например.
    Ответ написан
  • Как доступаться до apache2 сайтов в локалной сети по домену .local?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Нужно прописать в локальную зону алиас на хост railsapp. Она (локальная зона local) у вас скорее всего есть, стоит в пакете dnsmasq. Если это так, то просто дописать в конфиг
    cname=railsapp,bakery
    Ну и перезапустить dnsmasq
    Конфиг находится в /etc/dnsmasq.d/network-manager , если стоит NetworkManager (ставится с иксами и гномом)
    или /etc/dnsmasq.conf или в файлах каталога /etc/dnsmasq.d/

    Для продвинутых мазохистов есть bind9, но это тема отдельного вопроса.

    PS. Работает ли passenger - смотреть в логи апаша.

    PPS. Если просто нужно получить доступ с другого хоста, то достаточно прописать этот алиас в файле /etc/hosts (для виндуз %SystemRoot%\system32\drivers\etc\hosts) на другом хосте.
    Например так:
    192.168.0.11 railsapp bakery
    Ответ написан
    Комментировать
  • Нужно ли использовать префиксы к именам переменных и классов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    С введением умных IDE надобность отпадает абсолютно.
    А моду на это ввел мелкомягкий гигант со своей MFC. когда и переменные и функции и классы, по идее, должны были отражать всё что ни попади, вот и рождались numCfFlagForMyCoolBoolShitVariableToMemberAssHole.
    Мне лично практически никогда не пригождалось.
    Ответ написан
    Комментировать
  • Кто такой кодер? и чем он отличается от программиста?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Раньше, когда компьютеры были большими, экраны зелёными, а вместо флешек куски картонки, были две специальности (точнее три): математик-алгоритмист и оператор ВМ. Вот первый был типа программистом, а второй кодером - наборщиком (кодировщиком) перфокарт. Отсюда и пошло-поехало. Математик писал алгиритм на бумажке, оператор вводил это в ЭВМ (с бооольшой буквы), результат расшифровывал и передавал обратно математику.
    В общем, были хорошие кодеры (дырки правильно ставили), а были и не очень... https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D...
    Ответ написан
    2 комментария
  • Что лучше для сервера 2 процессора E5-2603 или 1 E5-2620?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А это смотря под какие задачи. Если у вас веб, то чем больше потоков, тем лучше. Если у вас числодробилка, то чем больше частота и кеш, то лучше. Если у вас мощная числодробилка в несколько потоков, то все вместе будет как раз и еще нехватать будет.
    Берите два поменьше, вместо одного.
    Ответ написан
    Комментировать
  • Какие принтеры хорошо работают по сети?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Все сетевые HP отлично работают, У нас даже Samsung сетевой стоит с двухсторонней печатью, тоже работает!
    Ответ написан
    Комментировать
  • Библиотека реализующая вывод по VT100 для DOS?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вообще-то termcap была портирована под DOS, кажется вместе с Emacs. Но я не о том, установите MSDOS-Kermit. В нем есть и поддержка VT100, и не только - www.columbia.edu/kermit

    Да, также он есть в виде библиотеки, которую можно применить в своих программах.
    Также, в свое время, была очень популярна библиотека TurboVision https://ru.wikipedia.org/wiki/Turbo_Vision - это как замена curses для DOS.

    Соответственно kermit + turbovision можно заменить всё что угодно.
    PS. Я один такой некромант?

    Ну а для многозадачности установите полуось вместо дос...
    Ответ написан
  • По какой причине ибп eaton nv 600h клацает и сигналит с разной переодичностью, секунд 10 то 5?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Поставьте утилиту, которая собирает логи с вашего ИБП, там все будет видно. Скорее всего сеть у вас фиговая, вот он туда-сюда и переключается, с байпаса на батарейки и обратно.
    Ответ написан
    2 комментария