Задать вопрос
  • Какой инструмент выбрать для автоматизации работы с 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 комментария
  • Как ускорить шаблон Django?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    О!!! Нужно сделать свертку объектов!
    from collections import defaultdict
    
    _t_by_o2 = defaultdict(list)
    for t in tt:
       _t_by_o2[t.o].append=t
    
    _o2_by_o1 = defaultdict(list)
    for o2 in o22:
       _o2_by_o1[o2.o1].append=o2

    Теперь в шаблоне можно работать с хешами только по циклу o11 без ифов
    {% for o1 in o11 %}
    <span>{{o1.n}}</span>
    {% for o2 in _o2_by_o1.get(o1,[]) %}
    <span>{{ o2t.n}}</span>
    {% for t in _t_by_o2.get(o2,[]) %}
     <a href="/{{ t.u }}/">{{ t.n }}</a><span>({{ t.c }})</span>
    {% endfor %}
    {% endfor %}
    {% endfor %}

    Как-то так!
    PS. Я вообще не понимаю, зачем такие дикие циклы и чем они обусловлены?! В браузере мы всё равно лимон объектов не отобразим. Значит их всего максимум сотня-другая, а если это так, то что-то не то в консерватории взаимосвязей, или пытаемся делать не там их обработку. Может быть задуматься, почему нам нужно эти объекты связывать при отображении и почему они до сих пор находятся в таком кошмаре?!
    Ответ написан
    1 комментарий
  • Какой производитель DVI шнуров лучше?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Есть несколько типов кабелей и разъемов DVI - DVI-I и DVI-D. Обычно все делают полный DVI-кабель, соответствующий обеим стандартам, а карточки работают обычно по DVI-D (digital). По импедансу они все должны соответствовать стандарту, так что разницы между ними нет, практически никакой.
    Это все также относится к "теплому цифровому звуку", если верите, то покупайте самый дорогой! Если нормальный инженер, то берите дешевый!
    Единственное, что встречал на совсем дешевых разъемах HDMI (прикупили для проекта 500 шт. по 120 руб.) - неглубокий отлив перед железной частью разъема, из-за чего иногда они физически не входили до конца в материнский разъем на некоторых платах. Решалось подрезкой пластика на пару миллиметров ножем для бумаг. Качество "теплого цифрового видео/звука" полностью соответствовало стандарту.
    Ответ написан
  • Как сделать редирект всех сайтов на локальный?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Заменить foo_serverip на внутренний адрес
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -m conntrack --ctstate NEW -j DNAT --to foo_serverip:80
    iptables -t nat -A PREROUTING -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A POSTROUTING -t nat -j MASQUERADE
    Ответ написан
  • JSF-реальный фрейворк или набор спецификаций?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Jsf стандарт, у которого, как обычно есть куча реализаций.
    richfaces.jboss.org
    https://myfaces.apache.org
    Далее везде
    Ответ написан
    Комментировать
  • Где найти материалы по передаче данных?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    book.itep.ru надеюсь поможет! Кнопочка "index" в самом верху странички, если чо...
    PS. До кучи, кажется то что нужно, иначе там умереть можно book.itep.ru/2/convrs_2.htm
    Ответ написан
    Комментировать