LINUX.ORG.RU

Избранные сообщения tuk9

Устают глаза через несколько минут через VGA подключение.

Форум — General

Есть два монитора. Сейчас подключил samsung SyncMaster P2050, через DVI, у него есть проблемы с подсветкой, снизу ярче, чем сверху, процентов на 40, поэтому сижу на другом мониторе - LG Flatron L1919S. На windows 10 и на windows 7 на нём всё отлично (не так давно обновил с переездом на ssd), глаза не устают, но вот именно linux, на нём через пять минут начинают глаза уставать, а через 10 минут вообще прям уже смотреть невозможно, не важно какой дистрибутив manjaro, xubuntu или arch (всё xfce). Именно не из-за шрифтов и т.д. проблема, а в чём-то другом, в яркости чтоли, но не яркости, прямо смотришь, и глаза такие «да в топку, ты угараешь, загружай обратно windows, там норм было». Если samsung подключить через VGA, то эффект такой же как и на LG, но через DVI всё идеально. В чём может быть проблема, куда капать? Видеокарта 750ti, дрова проприетарные (разницы со свободными нет), дистрибутив arch, но на других такая же проблема.

 

bogdydogg
()

ASM vs C

Форум — Talks

Я как то был лучшего мнения о компиляторе GCС и его варианте gcc-avr.

Вняв, какой клевый язык C, и переписав программу на нем, я увидел ужасный, отвратительный ассемблерный код (даже с -O2), с диким количеством записи в память, и к тому же в несколько раз длиннее.

 

cvs-255
()

Анонимность в чате

Форум — Development

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

 , ,

beaver
()

Борьба со сложностью в программировании.

Форум — Development

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

  • ООП?
  • Шаблоны проектирования?
  • Декларативный подход?
  • Когда стоит применять конечные автоматы?
  • Когда стоит применять метапрограммирование?
  • Когда стоит применят композицию?
  • и т.д.

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

 , , ,

mag1ck
()

Изучение Линукс

Форум — Talks

Всем привет! Я пользуюсь линуксом уже несколько лет. За это время накопилось много информации. Мне бы хотелось все это систематизировать и заодно получить более глубокое понимание работы системы. Вообще, хочется понять работу Linux (и UNIX в общем) на фундаментальном уровне. Подскажите пожалуйста, что изучать, какую литературу читать и вообще, в какую сторону копать. Заранее благодарен за помощь.

 

anti_win
()

СХД на форке Solaris

Форум — Admin

Уважаемые форумчане, планирую развернуть СХД на NFS+zfs на форке OpenSolaris, можете пожалуйста поделиться опытом и дать рекомендации по выбору дистрибутива на Solaris.

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

 , ,

keyti
()

Релиз Oracle Solaris 11.4 SRU 13

Новости — Проприетарное ПО
Группа Проприетарное ПО

В официальном блоге компании появилась информация об очередном релизе дистрибутива Oracle Solaris 11.4 SRU 13. В нём произведён ряд исправлений и улучшений для ветки Oracle Solaris 11.4.

Так, среди изменений, можно отметить:

  • Включение фреймворка Hotplug для горячего извлечения устройств SR-IOV PCIe. Для извлечения и замены устройств в ldm добавлены команды «evacuate-io» и «restore-io»;
  • Oracle Explorer (набор инструментов для построения конфигурации и состояния системы) обновлён до версии 19.3.1;
  • В систему добавлен обработчик sd_recv_uio, который позволяет увеличить производительность UDP;
  • При выполнении команды «pkg update» производится автоматический выбор имён загрузочных окружений на основе номеров версий;
  • Для привилегированных пользователей появилась возможность увеличения точности таймера для выбранных процессов;
  • Обновлены версии программ (ImageMagick, wget, bzip2, nss, hex, Ghostscript, libxslt и пр.)

Для установки обновлений достаточно выполнить команду 'pkg update'.

>>> Подробности

 ,

Satori
()

OpenBSD 6.5

Новости — BSD
Группа BSD

Вышла версия OpenBSD 6.5. Вот какие изменения изменения есть в системе:
1. Добавлена поддержка новых устройств:

  • 1. Компилятор clang теперь доступен на mips64
  • 2. Добавлена поддержка OCTEON GPIO контроллера.
  • 3. Добавлен драйвер паравиртуальных часов в системе виртуализации KVM.
  • 4. В драйвер ix(4) добавлена поддержка Intel Ethernet 700 series.

2. Изменения в сетевой подсистеме:

  • 1. Добавлена поддержка протокола PBB(PBE).
  • 2. Добавлен драйвер, MPLS-IP L2.
  • 3. Также для MPLS-интерфейсов добавлена возможность настройки маршрутных доменов, отличных от основного.

3. Доступен следующий софт:

  • 1. OpenSSH до 8.0
  • 2. GCC 4.9.4 и 8.3.0
  • 3. Go 1.12.1
  • 4. Lua 5.1.5, 5.2.4 и 5.3.5
  • 5. Suricata 4.1.3
  • 6. Node.js 10.15.0
  • 7. Mono 5.18.1.0
  • 8. MariaDB 10.0.38

Подробности вы можете посмотреть на сайте проекта.

>>> Подробности

 

ne-vlezay
()

А тут все вкурсе что бывает при переполении int?

Форум — Development

Задача. Монотонно растущий счетчик времени который в какой то момент может переполнится.
Код делает типовые операции

uint16_t startTime = millis();
...
uint16_t stopTime = millis();
uint16_t runSpeed = stopTime - startTime;

Вопрос что будет если startTime будет равно 65535 а stopTime будет равно 1?
Какой будет runSpeed?
Код теста
//# ./a 1 - 65535
#include <stdio.h>
#include <stdint.h>

int main(int argc, char * argv[]) {
  uint16_t a = atoi(argv[1]);
  uint16_t b = atoi(argv[3]);
  
  printf("%d", (uint16_t)(a - b));
  
  return 0;
}

Итого все хорошо 1 - 65535 будет равно 2 как и предполагалось. Спасибо бинарной логике процессора. И никаких лишних проверок сравнений лепить не надо.

 ,

bga_
()

Протокол для надёжной передачи больших (16-32Кибибайт) объёмов данных через ZigBee

Форум — Development

Посоветуйте сабж. Нужно передать набор измерений через ZigBee, то, что в нормальных сетях передавалось бы по TCP, т.е. байтовый поток с гарантиями доставки и правильного порядка. За один раз можно посылать от 84 байт (одним пакетом) до 255 (с фрагментацией, несколькими пакетами физического уровня ieee802.15.4). Что-нибудь маловесное, с опенсорсной реализацией и небольшим оверхедом?

HDLC, PPP, Zmodem, ... ?

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

 , , ,

Harald
()

языки без сборки мусора

Форум — Development

Всем привет!

А какие есть годные языки без сборки мусора? Ну, т.е. кроме С, С++ и Rust.

Так, чтобы не просто опциональное ручное управление, а чтобы весь язык и стандартная либа были ориентированы на работу без gc

Не обязательно что-то из мейнстрима (таких, вроде как, и нет кроме той троицы). Можно и с гитхаба, но живое и активное развивающееся

 

jcdr
()

Курс лекций «Современный и эффективный С++»

Форум — Development

На Хабре выложили список лекций, посвященный языку C++. Рассматриваются такие темы как: С++11, C++14, C++17, STL, метапрограммирование, неопределенное поведение.

 

Dvorak
()

Текстовое IDE?

Форум — Development

Привет!

Какой текстовый редактор (vi(m)/emacs/etc.) выбрать для программирования на Питоне? Используемый мной Geany перешел на gtk3 и стал тормозить. Что мне нужно:

  1. Подсветка синтаксиса
  2. Поддержка вкладок и легкая навигация по ним
  3. Возможность запуска программы без выхода из редактора
  4. Подсказка по мере ввода для имен методов классов. Geany не всегда корректно угадывает.
  5. Автоотступы для новой строки. Автозамена Tab на 4 пробела.
  6. Поиск по всем открытым файлам
  7. Относительно высокая скорость работы
  8. Желательно: задание произвольной правой границы (например, в 72 символа)
  9. Я не знаю, как это делается в текстовых IDE, но желательно иметь возможность быстрой навигации по именам классов, методов и пр.
  10. Плюсом будет подсветка лишних скобок
  11. Плюсом будет автоопределение кодировки для обычных txt

 , , ,

Deleted
()

FreeBSD on laptop

Форум — General

Имеется thinkpad (поддержка в https://wiki.freebsd.org/Laptops полная). Хочется узнать, как работает FreeBSD с ACPI, Intel Pstate, батареей.

Поделитесь своей историей. Рабочие станции не интересуют. Нужны именно ноутбуки.

Как по сравнению с linux?
Актуален этот пост - https://www.c0ffee.net/blog/freebsd-on-a-laptop/ ?

 ,

naked_joe
()

Разделяемая память для процессов на Python и не только.

Форум — Development

Привет всем!

Есть большое многопроцессное приложение, с рабочими процессами, всякими GUI и логгерами в отдельных процессах и т.д. Построено с использованием модуля multiprocessing. Рабочие процессы обрабатывают большие данные. Для больших данных используется multiprocessing.Array, вот так:

class Worker(mp.Process):
    def __init__(self, buffers, pipe, other):
        super().__init__()
        self._buffers = buffers
        self._pipe = pipe
    def run(self):
        param = get_message(self._pipe)
        big_calculations(self._buffers[param.a], param.b, ...)

buffers = []
for i in range(10):
    buffers.append(mp.Array(ctypes.c_uint8, buffer_size, lock=False))
...
for i in range(10):
    p1, p2 = mp.Pipe()
    worker = Worker(buffers, p1, other_param)
    worker.start()
Синхронизация от mp.Array не требуется, процессы синхронизируются с помощью посылки/отправки сообщений через p1/p2, поэтому lock=False.

Вопросы:
* Размер/количество буфера(ов) задаются до запуска рабочих процессов. Как правильно реализовать изменение количества/размера после того, как рабочие процессы уже стартовали? Т.е. понятно, как отправить сообщение. Непонятно как закрыть существующий буфер и открыть новый.
* Что у mp.Array под капотом? Я заметил, что python открывает много файлов с именами вида /tmp/pymp-ixc54qx7/pym-27111-h7wi_sy3. Это как-то связано с mp.Array?
* Очень желательно, чтобы к этой общей памяти можно было обращаться не только из процессов на Python. Возможно как-либо её открыть из другого стороннего процесса, написанного на чём-то ещё? Может быть мне тогда что-то другое использовать, а не mp.Array?

Аналогичные вопросы про mp.Pipe():
* Как в работающий процесс передать конец новой трубы?
* Как передать в не Python'овский процесс конец трубы?

Спасибо!

 , , , ,

ls-h
()

Проблемы с графикой в slackware

Форум — Desktop

Поставил на второй диск слаку 14.2. С дефолтным ядром (не обновленным из патчей) паника при загрузке, что странно, потому что загрузка с тем же ядром с установочной флешки работает без проблем. Возможно, что проблема в модулях, но я не стал разбираться. Обновил ядро из зеркала, все заработало, но производительность очень низкая. По lspci я не вижу вменяемого названия карты, не указан драйвер. В /sys тоже информации по драйверу нет. Карточка rx 480, которая вроде как на ядре 4.4.* уже должна поддерживаться нормально свободными драйверами.

Чтобы как-то решить проблему, я собрал два lts ядра 4.19.32: одно с дефолтным конфигом, который я вытащил у ядра слаки, второе с дефолтным конфигом ядра слаки + включенными в конфиге ядра опциями в разделе граф. драйверов, где фигурировало «amd» или «amdgpu». Оговорюсь, что ядро собираю второй раз, порядок прочитал в слакбуке, но применительно к частным случаям слакбук ничего не поясняет, так что действовал почти что наугад. Сборка ядра и модулей прошла без ошибок.

С обоими лтс ядрами все загружается, но есть две проблемы. Во-первых, существенные задержки при переключении окон по alt-tab. Доходит до 10-15 секунд, когда окно загрузится, при этом при переключении мышкой через панель все загружается мнгновенно. Во-вторых, тиринг, который никак не фиксится. На арче мне достаточно или поставить compton и запускать его с opengl-swc, или в конфиге Х прописать tearfree опцию. В слаке не работает ни то, ни другое. В настройках xfwm при активации vsync тиринг пропадает в видео, которые запущены в нативном размере (не во весь экран) или в плеерах в браузере, но если максимизировать или переключить на весь экран плеер в браузере или локальный плеер, то тиринг возвращается. Тиринг при прокрутке в браузерах вообще никак не фиксится.

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

 , ,

Yorween
()

А как в rust или вашем любимом языке обрабатывается ситуация с арифметическим переполнением?

Форум — Development

Например, при перемножении двух переменных? В С++ это просто undefined behavour, т.е. никак не обратывается.

 ,

next_time
()

Dlang - нужно ли?

Форум — Development

Компрады, вопрос - Dlang, применяется кем-то и нужен ли? Какие есть аргументы его пользования в проектах? Какие киллер-фичи подтолкнули на его пользование? Чем он лучше/хуже C++/Rust/Golang/Crystal/Nim?

Особенно интересно в разрезе вебни)

 , ,

silver-bullet-bfg
()

re2c 1.2

Новости — Разработка
Группа Разработка

В пятницу 2-го августа вышел релиз re2c — свободного генератора лексических анализаторов для языков C и C++. Напомним, что re2c был написан в 1993 году Питером Бамбулисом как экспериментальный генератор очень быстрых лексических анализаторов, отличающийся от других генераторов скоростью сгенерированного кода и необычно гибким пользовательским интерфейсом, который позволяет легко и эффективно встривать анализаторы в существующую кодовую базу. С тех пор проект развивается сообществом и продолжает оставаться площадкой для экспериментов и исследований в области формальных грамматик и конечных автоматов.

( читать дальше... )

>>> Подробности

 , , ,

skvadrik
()

ubuntu игнорирует настройки dns

Форум — General

Приветствую. Мне нужно прописать гугловские сервера вместо провайдерских. В настройках network-manager стоит «DHCP adresess only» и ДНС-сервера гугла. Пробовал вставить в /etc/network/interfaces

auto enp9s0
iface enp9s0 inet dhcp
dns-nameservers 8.8.8.8

Толку нет.

 , ,

qx255
()