LINUX.ORG.RU

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

Снова выбор ноутбука с памятью 32ГБ и 4К

Форум — Linux-hardware

Ищу замену ноутбуку. Критерии:

  • x86, с быстрым однопотоком, 4+ ядер. Подойдет что-то типа 1165G7.
  • Память 32ГБ или возможность увеличить до 32ГБ.
  • NVMe SSD 2ТБ, а лучше с возможностью замены.
  • Экран 13-15", разрешение QHD/UHD, без ШИМ. (можно и FullHD, но только для 13").
  • Возможность подключить внешний монитор 4K. (DP или HDMI 2.0+)
  • Никакой дискретной графики. Предпочтение встройке от Intel.
  • Хорошо бы WiFi адаптер Intel. Надоели эти broadcomы с блобами.
  • Адекватный корпус, не новогодняя елка с огоньками.
  • Бюджет до 200т.

P.S. Магбук не предлагать.

 , , ,

exst
()

Есть ли что-то типа Grafana только на порядки легче и проще?

Форум — Talks

Есть что-нибудь для рисования графичков, индикаторов и всего такого на страничке в реалтайме, лёгкое и простое, на plain JS, без всяких сраных npm и без каких-либо зависимостей? Килобайт так на 10-20 не больше.

Или как и в случае с DASH player придётся всё самому с нуля делать, ибо вебмакаки принципиально неспособны создать что-либо маленькое, простое, быстро работающее и не сжирающее всю доступную память?

ЗЫ: Пожалуйста, не предлагайте ничего, что представляет из себя что-то отличное от одного скрипта на plain JS без каких-либо зависимостей типа jQuery и т.п.. Тем более не предлагайте что-либо с package.json в репозитории. И не предлагайте что-то, что в неминифицированном виде весит больше 10-20кб.

ЗЗЫ: Мда.. Судя по ужасу который мне тут предложили, похоже придётся самому писать.

 , , , вебмакаки, копрофилия

Stanson
()

объёмный график на питоне

Форум — Science & Engineering

Други! Беда подкралась внезапно, от туда, откуда не ждал! Рисовал я себе спокойненько matplotlibом графики, а тут вдруг понадобилось нарисовать график распределения интенсивности сигнала по объёму. Хотелось бы чтоб чем выше интенсивность, тем цвет веселее а прозрачность меньше. Да ещё чтоб его рисовать можно было постепенно, по мере получения данных. Matplotlib такого, судя по всему не может. Что посоветуете?

P.S. Размер примерно 100х100х100 точек, время измерения одной точки 0,01с.

 , ,

ArtSh
()

Популярные алгоритмы формирования рейтингов

Форум — Science & Engineering

Подскажите популярные алгоритмы, литературу формирования рейтингов на основе различных характеристик.

Например в игре Марио собирает монеты и бонусы. При достижении определенного количества они дают даже дополнительную жизнь.

Ну и различные характеристики могут быть приоритетнее чем другие.

Допустим если в Марио выстрелить из дробовика то к-во бонусов не играет роли.

Интересует проектирование систем таких взаимосвязанных характеристик

Это куда-то в сторону квалиметрии )

Делаю ИИ)

 ,

mirek
()

Как выйти из системного вызова внутри потока?

Форум — Development

Сабж. Основной процесс получает сигнал.

Однако потоки находятся в системных вызовах (accept, read, и т.д.). Собственно, как из них выйти?

Почитав документацию и stackoverflow я понимаю, что:

Сигналы - прерогатива процессов. И потому лишь главный поток (тот который в main()) чаще всего получает сигнал и его обрабатывает. Остальные потоки сигналы не получают

Собственно, мне нужно чтобы ВСЕ потоки получили сигнал и выполнили хендлер для того чтобы их «выбросило» из системных вызовов.

Демонстрационный код:

#define _BSD_SOURCE
#define _DEFAULT_SOURCE

#include <stdlib.h>
#include <signal.h>
#include <pthread.h>
#include <sys/stat.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <iso646.h>

#define n_threads 4
pthread_t threads[n_threads];
pthread_t main_thread;

static void signal_handler(int signo) {
	pthread_t mypid = pthread_self();
	if (mypid != main_thread) return;

	for (unsigned i = 0; i < n_threads; i++) {
		pthread_kill(threads[i], SIGINT);
	}
}

void *worker() {
	//sigset_t set;
	//sigemptyset(&set);
	//sigaddset(&set, SIGTERM);
	//sigaddset(&set, SIGINT);
	//pthread_sigmask(SIG_UNBLOCK, &set, NULL);

	char buffer;
	while(1) {
		if (read(STDIN_FILENO, &buffer, 1) < 0 and errno == EINTR) return NULL;
	}
	return NULL;
}

int main() {
	signal(SIGINT, signal_handler);
	signal(SIGTERM, signal_handler);
	main_thread = pthread_self();

	for (unsigned i = 0; i < n_threads; i++ ) {
		pthread_create(&threads[i], NULL, worker, NULL);
	}

	for (unsigned i = 0; i < n_threads; i++ ) {
		pthread_join(threads[i], NULL);
	}

	return EXIT_SUCCESS;
}

c99 test.c -lpthread
./a.out

После запуска пожмакайте Ctrl+C, результата не будет.

Убить процесс:
killall -SIGKILL a.out


P.S. Закомментированный код не работает.

РЕШЕНИЕ: Я лично выбрал вот это: Как выйти из системного вызова внутри потока? (комментарий)

 , , ,

reprimand
()

Новая книга «Linux Kernel Programming»

Новости — Ядро Linux
Группа Ядро Linux

Много воды утекло с момента выхода LDD3 (LDD4 мы, видимо, уже не дождёмся), безнадёжно устарел фундаментальный труд Бовета и Чезати, Роберт Лав давно не радовал нас своими прекрасными творениями. Казалось бы, в мире литературы о программировании ядра Linux наметилась устойчивая стагнация…

Но нет! Ситуацию спасает замечательный индийский программист со звучным именем Кайван Биллимория. Он написал книгу о программировании ядра, аж в двух томах.

Об авторе

Кайван программирует с 1983 года. В то время он самостоятельно научился программировать на бейсике, затем освоил Си и ассемблер под MS-DOS, а потом открыл для себя мир UNIX и Linux. Занимался программированием ядра и драйверов, участвовал в коммерческих и свободных проектах, занимался преподавательской деятельностью.

Повествование в книге ведётся на основе Ubuntu 18.04 LTS и ядра версии 5.4.

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

>>> Том 1 на Amazon

>>> Том 2 на Amazon

 , , ,

x-signal
()

Посоветуйте книгу по python для «заканчивающих»

Форум — Development

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

Повторять то что и так всем известно для меня смысла уже нет, как и просто «руководство по программированию» для меня тоже бессмысленно, а вот что-нибудь эдакое, например про работу с ast, внутреннее устройство и тд и тп я бы почитал. Есть что-то такое?

В результате:

Anthony Shaw - CPython Internals: Your Guide to the Python 3 Interpreter
Dive into Python
docs.python-guide.org/
Effective Python
Fluent Python, Luciano Ramalho(«Python. К вершинам мастерства»)
oreilly.com/library/view/python-beyond-the/9781771373609/
realpython.com/
Лутц - дотошное скучно чтиво, не советую.
Effective Computation in Physics

 

e7z0x1
()

Отладка процессов. Узнать параметры

Форум — Admin

Напомните, плз, какие средства для отладки процессов в GNU/Linux существуют. Задачи такие:

1. Допустим раз в полчаса в системе запускается некий процесс и работает долю секунды, известен исполняемый файл /usr/bin/util1 нужно узнать с какими параметрами он запускается, под каким uid, и кто родительский процесс.

2. Допустим раз в полчаса в системе запускается некий процесс и работает долю секунды, исполняемый файл неизвестен, но известно, что процесс обращается к TCP-сокету 192.168.0.100:12345 нужно узнать исполняемый файл, с какими параметрами он запускается, под каким uid, и кто родительский процесс

 ,

sunny1983
()

Переехал на кучу утилит переписаных на Rust

Форум — Talks

Тег «угадай автора по заголовку».

Q: Зачем?

A: Ради эксперимента, повысится комфорт пользования терминалом или нет.

Q: Причем тут Rust?

A: Ни при чем, но из-за нативности и отсутствия GC на нем толпа людей побежала переписывать что ни попадя. С таким же успехом можно было бы и npm install, но тормозило бы. Ближе opam install или go get

Теперь мой терминал по истине свистит и пердит. Даю список если кому надо.

  • alacritty - GPU ускоренный терминал.
  • alias cat=bat- cat с хорошей подсветкой синтаксиса и нумерацией строк и пейджером.
  • broot - навигатор по каталогам, который одновременно показывает дерево, но адекватно себя ведет с громадными каталогами, показывая их по чуть-чуть.
  • dust - утилита для исследования места занимаемого каталогами, сортирует деревья файлов начиная с самых больших каталогов.
  • alias ls="exa -l --group-directories-first" ls с хорошими дефолтами, tree встроено.
  • rip Утилита для удаления файлов с разными удобными фичами и восстановлением
  • hors "How do I parse float in javascript?" - находит короткий ответ в интернетах и отвечает. Чуть лучше работает чем оригинал - howdoi.
  • mdcat - cat для Markdown, для отображения удобочитаемой формы документа. Ссылки делает сносками.
  • alias grep=rg - очень быстрый и удобный grep
  • starship - shell command prompt, показывает кучу полезной информации в зависимости от контекста, например git branch если в репозитории, версии софта и ЯП если в каталогах с сорцами, hostname если зайти по ssh.
  • tokei - сборщик статистики по ЯП и строкам кода в деревьях исходников.
  • hyperfine - бенчмарк утилита, time на стероидах.
  • tldr- сокращенная версия man, показывает как чем пользоваться в примерах, а не выдавая полную справку. Страницы поддерживаются сообществом для громадного количества утилит. Изначальный проект - https://tldr.sh/
  • topgrade - универсальная утилита обновления. При запуске пытается обновить все что видит - системные пакеты, vim пакеты и так далее.
  • runiq - быстрый sort | uniq с разными алгоритмами внутри.
  • fd - быстрый и удобный find, удобно чтобы не вспоминать заковыристые ключи
  • fselect - поисковик файлов с SQL-like языком запросов
  • sd - как sed, только интуитивный
  • i3status-rs - Сразу i3status+i3blocks. Плюс батарейки к i3blocks, которые как я понял автор решил убрать.
  • onefetch - Вроде neofetch, но для сорцов. Просто запустите эту штуку с корня любого git репа, клонированого локально
  • wasmtime - JIT runtime для WASI стандарта. Пускалка WebAssembly приложений.
  • scriptisto - «shebang-интерпретатор» для компилируемых языков, прозрачно собирает и кеширует нативные сборки кода

Что не зашло совсем

Все вышеперечисленое ставится через cargo install <package_name> (кроме alacritty), название смотрите на страницах. Сам cargo и Rust ставятся через

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

P.S. Призываю остальных взять ЯП вашей секты и поставить такой эксперимент и отписаться. Да-да, расскажите как вы пользовались ls на Java. Пользователей emacs прошу не беспокоить

 , , ,

vertexua
()

Просветите про фриланс

Форум — Talks

А то у меня большей частью сведения или сильно старые или теоретические, так сказать.

У меня сейчас не самая простая жизненная ситуация: приходится практически в одиночку ухаживать за лежаче-больным родственником, причем неизвестно сколько долго, в смысле когда поправится, чтобы хотя бы на день оставить можно было. Вариант сдать куда-то не рассматриваю.

Соответственно с работой как-то все под откос идет...

Хочу попробовать фриланс, причем чтобы тратить на него не более 10-15 часов в неделю. Соответственно с доходом хотя бы 50 тыс.руб./месяц. Есть смысл или блажь?

upwork.com, freelance.ru еще что-то? Скиллы в английском на слух не настолько высоки, чтобы шпрехать свободно и даже не очень свободно, хотя на письме более-менее нормально. Так что про апворк не очень знаю. Хотя про фриланс.ру попадалось мнение, что в помойку превратился.

Что с юридической чистотой этого занятия? Ну в смысле что сейчас практически надо делать, чтобы не нарваться на неуплату налогов или там вообще незаконное предпринимательство? Регать ИП тоже не очень охота, так как есть подводные камни в обращении с деньгами в этом случае, чисто физиком иногда удобнее, даже если платить 13%.

Перемещено leave из job

 

praseodim
()

Бинарные форматы хранения b+tree

Форум — Development

Добрый день! Я в качестве хобби пилю БД для расширения своего кругозора. Сделал b+tree структуру для индекса, но запутался в том как ее хранить и модифицировать на диске. Какие есть best practices разработки бинарных форматов, книги об этом? Я в этом новичок, сильно не смейтесь, на работе json-ы перекладываю да легаси бизнесовое фикшу.

 , ,

matroskin
()

Как эффективно учиться?

Форум — Development

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

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

Как вы поступаете в данной ситуации? Идёте за советом к коллегам, читаете книги/форумы?

В последнее время читаю различную литературу на проф. тематику, но чувствую что недостаточно выхлопа, ЧЯДНТ? Пытаюсь всегда сделать как лучше, а получается как обычно :) Вот может быть это просто лишние загоны? И там где кажется что ты сейчас напишешь говнокод - это и есть лучшее решение? Вместо того чтобы рефакторить всё 2 недели и на выходе получить всё то же самое + ещё пачку багов новых.

 , , ,

heh
()

Книга «Внутреннее устройство Linux. 2 изд.»

Новости — Документация
Книга «Внутреннее устройство Linux. 2 изд.»
Группа Документация

Добрый день! Предлагаю вашему вниманию еще одну книгу — «Внутреннее устройство Linux», автор Уорд Б. Её можно заказать на сайте издательства, и если применить промокод LinuxORG, то получите скидку 30%. Действует на все книги издательства. Также в подарок при покупке бумажной будет её электронная версия.

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

Третье издание в русском переводе выйдет, ориентировочно в августе 2022 года.

Желаю приятного чтения!

>>> Можно купить на сайте издательства

 , ,

Victor78
()

Что посоветуете почитать по Python, чтобы подтянуть теорию?

Форум — General

Сабж
Нужно именно как и почему оно работает, чем отличается <похожаяфича_нейм_1> от <похожаяфича_нейм_2>, немного про внутреннее устройство и подобное.

 ,

Qwentor
()

Как изучать математику если я её ненавижу?

Форум — Talks

С сентября этого года буду учиться в 11 классе школы, после 11 класса сдавать ЗНО (украинское ЕГЭ), и (возможно) поступать в университет на техническую специальность.

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

По этой причине в 10 классе от математики нещадно косил любыми способами и ничего так и не зазубрил (о ужас). Но недавно прочитал эссе Пола Локхарда «Плач математика», в котором говорится о том что математика - искусство, и нужно лишь найти к ней правильный подход.

Но можно ли с этим «правильным подходом» сдавать экзамены? А что насчёт высшей математики?

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

 , , ,

Eternellement
()

Серия видео по Rust для начинающих

Форум — Talks

Вдобавок к курсу по Rust для начинающих, компания Microsoft опубликовала серию видео по Rust для начинающих. Серия состоит из 35 видео и затрагивает общие концепции. К концу этой серии, по идее, у вас должно быть достаточно знаний, чтобы писать свои собственные программы на Rust.

 ,

dotcoder
()

Работа с PostgreSQL: настройка и масштабирование. 5-е издание

Новости — Документация
Группа Документация

Добрый день. Прошло много времени с выпуска 4 издания книги по PostgreSQL — успели выйти версии 9.5 и 9.6 этой базы данных. Материалов по её практическому использованию также накопилось немало, поэтому я решил выпустить обновление книги. Итак, встречайте: «Работа с PostgreSQL: настройка и масштабирование», 5-е издание.

Как и раньше, в книге исследуются вопросы по настройке производительности PostgreSQL, репликации и кластеризации. Список изменений достаточно большой, обновились все разделы и были добавлены новые (подробный список изменений). Любые пожелания или замечания можно писать в issues на GitHub или делать pull request на добавление/исправление материала. Приятного прочтения!

>>> Исходники

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

 , ,

le0pard
()

Посоветуйте фреймворк для букмекерского сайта

Форум — Web-development

Здравствуйте. Подскажите пожалуйста новичку.

Требуется движок букмекерской конторы. Денег на фрилансера нет, но есть много свободного времени чтобы самому всё освоить. Простейший пример функционала: tennisi.kz Посложнее: olimp.kz Вот примерный набросок моего сайта: http://i.imgur.com/77oyWo8.jpg (только карточные игры исключаются нужна мультиязычность, реферальная программа, подключение к биллингу типа wapkassa.ru)

Как быстрее всего научиться разрабатывать такого типа функционал? Если я правильно понял, первым делом надо освоить PHP+MySQL, затем какой-то фреймворк? (мой уровень: advanced pc user, освоен фотошоп, html/css верстка, популярные CMS типа DLE и Wordpress программирование - pascal и delphi когда-то в универе)

Мне предлагали разработать движок на: 1) Laravel (везде его хвалят, плюс есть шикарные видеоуроки Laracasts) 2) Yii2 (тоже хвалят, вот не знаю что выбрать новичку под такие цели - Yii или Laravel) 3) MODx (скорей всего мне не пойдет, т. к. обучащих материалов мало, и не настолько хороши как для популярных фреймворков)

Является ли Laravel/Yii/MODx самым быстрым вариантом? Или может мне хватит какого-то более простого решения?

Также, есть готовый скрипт: https://codecanyon.net/item/bet-stars-tipster-competition-script/13721868 Там codeigniter/ajax/jquery. Может освоить Codeigniter, и допиливать этот движок? Или для новичка сложно будет в чужом буржуинском коде копаться?

Нужно ли осваивать регулярные выражения? Они для такого типа работы пригодятся? Простые карточные игры типа «дурака» можно разработать на вышеупомянутых фреймворках? Или на чем-то другом более оптимально?

Заранее огромное спасибо :)

 

Apollo9
()

Хреновенький показатель Siege

Форум — General

Здравствуйте всем. Я не силен в данной теме поэтому прошу помощи. Стоит дома комп 2 ядра по 3.0 GHz + 4 гб оперативки. Стоит centos 7 server. Установлено Nginx + php-fpm 7.0 + mariadb. Поставил цмску и попробовал протестировать на siege:

siege -c25 -d3 -t1M -i "http://test.site"
Availability: 93.49 %
siege -c50 -d3 -t1M -i "http://test.site"
Availability: 64.39 %

Также есть копия этого сайта на дешманском хостинге на апаче, так там показывает:

siege -c25 -d3 -t1M -i "http://test.site"
Availability: 100.00 %
siege -c50 -d3 -t1M -i "http://test.site"
Availability: 100.00 %

nginx + php-fpm по socet php-fpm:

  • pm = dynamic
  • pm.max_children = 75
  • pm.start_servers = 35
  • pm.min_spare_servers = 20
  • pm.max_spare_servers = 40
  • pm.max_requests = 500

MariaDB выставлен конфиг на хеви инноДБ на 4 гига оперативки. На nginx кэш и куки выставлены. Можете подсказать что нашаманить то надо чтобы дотянуть до хреновенького хотя бы хостинга, а то у них постоянный проблемы с аптаймами.

 ,

Tavols
()

Релиз Ruby 2.4.0

Форум — Talks

Сегодня (25/12/2016) опубликован релиз Ruby 2.4.0

Статья на ruby-lang - https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-released/

Статья на opennet - http://www.opennet.ru/opennews/art.shtml?num=45763

 

Sorcus
()