LINUX.ORG.RU

Сообщения anonymous_incognito

 

Самое точное техническое предсказание на LOR

 , ,

Наверное у jackill за фразу, сказанную в 2003-м году:

Имхо пока не начнется использование нейросетей переводчики так и не будут «чувствовать» контекст.

Здесь: Stylus for UNIX (комментарий)

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

anonymous_incognito
()

Нейросеть трансформер на PDP 11/40

 , ,

Это не шутка. Крутой дед из настоящих сумел это сделать. Реальный программюга!

https://www.youtube.com/watch?v=OUE3FSIk46g

В этом ролике на ютубе он немного рассказывает про свою коллекцию старых компов, объясняет про работу нейросетей вообще и трансформеров в частности, как он написал простенький трансформер на ассемблере для PDP-11. На машине с 32 Кб RAM, сама программа, включая обучение с back propagation, занимает чуть более 6 Кб. Конечно что-то серьёзное на таких ресурсах не заработает, но всё же это настоящий трансформер. У нейросетки 1200+ параметров, одна голова внимания. Контекст из 8 символов (Или только цифр? Не совсем понял). Нейросетка за несколько минут обучается переворачивать в обратном порядке входное число из 8 цифр.

На видео всё есть: и машины и как панель PDP мигает лампочками и результат работы.

Дэйв Пламмер (Dave Plummer) - бывший программист из Microsoft, в частности, он написал Task Manager для NT.

anonymous_incognito
()

Почему надо проверять malloc на NULL

 , ,

Вообще выделение памяти проверять.

А вот потому что:

#include <stdio.h>
int main()
{
  unsigned char *a = NULL;
  int b = 0;
  unsigned long n = (unsigned long)&b;
 
  printf("b = %d, n = %lu\n",b,n);
  a[n]=1;
  printf("b = %d\n",b);
  return 0;
}

Запуск

$ gcc nullptr.c -o nullptr
$ ./nullptr 
b = 0, n = 140731726099148
b = 1

Запускалось в 64-битном (x86_64) Linux. Как видно, никаких сегфолтов и прочих ошибок. Конечно, адрес в районе 127 Тб в примере далеко за пределами доступного почти на всех компьютерах, но нет никаких гарантий, что на какой-то системе с каким-то компилятором и настройками среды значение не окажется более доступным. Могут быть и другие архитектуры (32-битные например), если запускать от root'а, то в начало может быть разрешена запись и там иметься память процесса. Или ещё какие-то варианты.

shdown, monk, liksys, Xenius - я думаю вам понравится. Пример сочинился по ходу чтения обсуждения Вышло издание 2,92 книги «Программирование: введение в профессию» А. В. Столярова (комментарий)

anonymous_incognito
()

Зациклил Deepseek

 ,

А вам чего-нибудь такое удавалось сотворить?

Не локальный, который китайцы выставили в интернет. Попросил проанализировать некоторый код на Python. И неожиданно ему поплохело. Такого ещё не видел. В режиме ризонинга DS минут 20 лупил одно и тоже:

В коде есть использование torch.nn для модулей.
В коде есть использование torch.optim для оптимизатора.
В коде есть использование torch.utils.data для Subset и DataLoader.
В коде есть использование torchaudio для transforms.
В коде есть использование sklearn.manifold для TSNE, но в обучении не используется.
В коде есть использование matplotlib для графиков, но в обучении не используется.
В коде есть использование IPython.display для Audio, но в обучении не используется.
В коде есть использование omegaconf для DictConfig.
В коде есть использование tqdm.notebook для прогресс-баров.

Потом новая строчка с «В коде есть использование torch.nn для модулей.» и тд.

К сожалению, промпт не покажу :) И слишком длинный и есть слегка конфиденциальные данные.

Перемещено hobbit из talks

anonymous_incognito
()

Есть ли быстрый вьювинг питоновских ipynb-файлов

 , ,

В идеале бы как-то настроить mc, чтобы можно было перемещаться по файлам в панели и жмякать F3 на юпитер-ноутбучных файлах.

А то задалбывает для просмотра содержимого их открывать в codium или через jupyter-notebook.

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

anonymous_incognito
()

Зацените пример написания программы с помощью нейросетки.

 ,

Поигрался с локальной нейросеткой, ориентированной специально на написание программ. https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct (в примере использования число выходных токенов увеличил до 1024)

Решил дать ей некую реальную задачу и посмотреть что из этого выйдет. Например, как она напишет конвертер для e-book из формата FB2 в plain text. По умолчанию результат выдаётся на питоне.

Недолго думая, задал ей промпт: «Write a converter from FB2 e-book format to plain text» Результат:

import sys
import re
from lxml import etree

def fb2_to_text(fb2_file):
    # Parse the FB2 file
    tree = etree.parse(fb2_file)
            
    # Find all text elements within <p> tags
    paragraphs = tree.xpath('//p/text()')
        
    # Combine all paragraphs into a single string
    text = ' '.join(paragraphs)
    
    # Remove any unwanted characters or formatting
    cleaned_text = re.sub(r'\n+', '\n', text.strip())
    cleaned_text = re.sub(r'\s+', ' ', cleaned_text)
    
    return cleaned_text

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python fb2_to_txt.py <path_to_fb2_file>")
        sys.exit(1)
    
    fb2_file = sys.argv[1]
    txt_content = fb2_to_text(fb2_file)
    
    # Write the text content to a new file
    txt_file = fb2_file.replace('.fb2', '.txt')
    with open(txt_file, 'w', encoding='utf-8') as f:
        f.write(txt_content)
    
    print(f"Converted {fb2_file} to {txt_file}")

Результат удивительный, вот только после работы скрипта на выходе пустой файл. Хммммм. Не сразу даже вспомнил, что вообще-то в XML бывают пространства имён и xpath их должен учитывать.

Новый промпт: «Write a converter from FB2 e-book format to plain text, using correct xpath for xmlns»

Выдало:

import sys
from lxml import etree

def fb2_to_text(fb2_file):
    # Parse the FB2 file
    tree = etree.parse(fb2_file)
    root = tree.getroot()

    # Define the namespace
    nsmap = {'fb2': 'http://www.gribuser.ru/xml/fictionbook/2.0'}

    # Extract the title of the book
    title = root.xpath('//fb2:book-title//fb2:title', namespaces=nsmap)[0].text.strip()

    # Extract all paragraphs and join them into plain text
    paragraphs = root.xpath('//fb2:p/text()', namespaces=nsmap)
    text_content = '\n'.join(paragraphs).strip()

    return text_content

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python fb2_to_txt.py <path_to_fb2_file>")
        sys.exit(1)

    fb2_file = sys.argv[1]
    text_content = fb2_to_text(fb2_file)
    print(text_content)

С одной стороны лучше, но пропала запись в файл (хотя это спорно нужна ли она) и вообще скрипт при работе сваливается с ошибкой индексации на строчке title = root.xpath('//fb2:book-title//fb2:title', namespaces=nsmap)[0].text.strip()

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

title = root.xpath('//fb2:book-title | //fb2:title', namespaces=nsmap)[0].text.strip()

Правда, отдельный вывод title и вовсе сомнительной нужности. Ну то есть, для не совсем тривиального конвертера он конечно нужен, чтобы красиво вывелся заголовок, были учтены и другие элементы оформления, но для простенького примера наверное оно лишнее. В итоге, в 1-й вариант вручную перенёс только работу с xmlns. В итоге получилось

import sys
import re
from lxml import etree

def fb2_to_text(fb2_file):
    # Parse the FB2 file
    tree = etree.parse(fb2_file)
    
    # Define the namespace
    nsmap = {'fb2': 'http://www.gribuser.ru/xml/fictionbook/2.0'}
        
    # Find all text elements within <p> tags
    paragraphs = tree.xpath('//fb2:p/text()',namespaces = nsmap)
   
    
    # Combine all paragraphs into a single string
    text = ' '.join(paragraphs)
    
    # Remove any unwanted characters or formatting
    cleaned_text = re.sub(r'\n+', '\n', text.strip())
    cleaned_text = re.sub(r'\s+', ' ', cleaned_text)
    
    return cleaned_text

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python fb2_to_txt.py <path_to_fb2_file>")
        sys.exit(1)
    
    fb2_file = sys.argv[1]
    txt_content = fb2_to_text(fb2_file)
    
    # Write the text content to a new file
    txt_file = fb2_file.replace('.fb2', '.txt')
    with open(txt_file, 'w', encoding='utf-8') as f:
        f.write(txt_content)
    
    print(f"Converted {fb2_file} to {txt_file}")

И оно работает! Простейший конвертер таки написан! Не могу сказать, что целиком нейросеткой, но у неё почти получилось. Может быть, если поупражняться с промптами, получится и вовсе сразу готовый результат.

Конечно, опытный программист данный код напишет за 10 минут не приходя в сознание, но ё-моё, эта сетка даже знает про не самый известный формат FB2.

anonymous_incognito
()

Обучающие курсы по нейросетям от физтех-школы при МФТИ

 , ,

Слегка порекламирую, потому что сам только что прошёл 1-ю часть (компьютерное зрение) и остался весьма доволен. Бесплатные! Там правда есть Premium часть за деньги, но поверьте (я заплатил), это не уловка, основное всё-таки действительно бесплатное и Premium совсем не обязателен, это скорее способ поддержать создателей.

https://dls.samcs.ru/regform

На 1-ю часть (CV) весеннего семестра регистрация до 10 февраля. Курсы абсолютно онлайн и записываются на них все и отовсюду из любой страны. Совсем из любой, лишь бы русский язык знали, так как они на русском языке.

Школа глубокого обучения — это образовательный проект Физтех-школы прикладной математики и информатики МФТИ. Мы учим работе с нейросетями с самых основ до продвинутого уровня. Занятия ведут выпускники ФПМИ МФТИ, имеющие опыт разработки и исследований в области AI.

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

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

Насчёт вообще нужности обучения нейросетям. Мне кажется, что нужно и многим. Нейросети - это наверное самое значительное, что вообще произошло и продолжает происходить в мире программирования, ИТ за последние лет 10.

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

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

anonymous_incognito
()

Питонячьи радости

 ,

Отступы, блин

Был у меня код вида:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # код
    else:
        # ещё код

Код скопипастил из одного места программы в другой. При этом не заметил как отступы нарушились. Ну вы поняли, да? Стало:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # какой-то код
else:
      # ещё код

И вот это мне стоило довольно большого количества потеряного времени. Условие else: стало относиться не к if, а к циклу for. Учитывая, что тело цикла было достаточно длинным, как-то не бросалось в глаза, что else уехал не туда. Мать-перемать, но код после этого даже почти нормально работал.

Еще уже мелочь относительная, но все же, чего-то не подумав захотел поработать с гугл драйвом прямо из своего кода и недолго думая сделал pip install --upgrade google-api-python-client - и это разрушило всё. Благо, что от юзера, а не рута, вылечилось сносом .local и повторной накаткой некоторых модулей

anonymous_incognito
()

Компилятор Си в размером менее 512 байт

 512, ,

Один крутой мэн сумел написать работающий компилятор Си, объёмом меньше 512 байт.

На Хабре перевод статьи о компиляторе https://habr.com/ru/companies/ruvds/articles/740310/

В кодировке base64 это будет

( компилятор Си )

А вам слабо сыграть ноктюрн на флейте из водосточных труб засунуть компилятор в загрузочный сектор диска?

anonymous_incognito
()

Пароль на лор почти забыл

 

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

anonymous_incognito
()

Чем сейчас прилично html сравнивать?

 , , ,

Есть две разные html, сгенерированные разными xslt процессорами (или даже одним, но с какими-то разными параметрами) из одного и того же xml-файла.

Хотелось бы diff-нуть их на уровне тегов, чтобы посмотреть чем различаются. diff, sdiff тут как-то или не помогают или готовить не умею.

Совсем в идеале, ещё и в виде красивого GUI с разными файлами в окошках и подсветке различий :))

Так что вопрос возник.

anonymous_incognito
()

Есть где-нибудь сводная таблица версий C# .Net или чего им нехватает

 , ,

А то уже неясно толком что с чем совместимо или несовместимо. Вот был когда-то просто .Net Framework и Mono, с отставанием, делавшие частичную реализацию API, а сейчас развелся зоопарк, тут еще и Core и спецификации Standard.

Таблицу по ссылке видел https://learn.microsoft.com/ru-ru/dotnet/standard/net-standard вот только столкнулся с тем, что либа, соответствующая стандарту 2.0 не хочет работать с Mono версии 6.8, при этом более ранние версии либы, спокойно работают. То ли ей нужна строго Mono 6.4 и не более, не менее, то ли вообще что-то не так пошло. Требует правильную сборку.

./zlist.cs(14,16): error CS0012: The type `System.Collections.IEnumerable' is defined in an assembly that is not referenced. Consider adding a reference to assembly `netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'

Файл zlist.cs - для демонстрации работы с zip-архивами. Пример взят где-то с сайта документации по либе CSharpCode.SharpZipLib http://icsharpcode.github.io/SharpZipLib/

Исходники либы https://github.com/icsharpcode/SharpZipLib

Скомпилированный бинарник https://www.nuget.org/packages/SharpZipLib/

using System;
using System.Text;
using System.Collections;
using System.IO;

using ICSharpCode.SharpZipLib.Zip;

class MainClass
{
    static public void Main(string[] args)
    {
    
     //Между прочим, умеет читать самораспаковывающийся *.exe с zip внутри
        using (ZipFile zFile = new ZipFile(args[0])) {
            Console.WriteLine("Listing of : " + zFile.Name);
            Console.WriteLine("");
            Console.WriteLine("Raw Size    Size      Date     Time     Name");
            Console.WriteLine("--------  --------  --------  ------  ---------");
            foreach (ZipEntry e in zFile) {
                if ( e.IsFile ) {
                    DateTime d = e.DateTime;
                    Console.WriteLine("{0, -10}{1, -10}{2}  {3}   {4}", e.Size, e.CompressedSize,
                        d.ToString("dd-MM-yy"), d.ToString("HH:mm"),
                        e.Name);
                }
                else
                {
                 //e Is not File 
                 DateTime d = e.DateTime;
                    Console.WriteLine("{0, -10}{1, -10}{2}  {3}   {4}", e.Size, e.CompressedSize,
                        d.ToString("dd-MM-yy"), d.ToString("HH:mm"),
                        e.Name+"*");
                }//notFile
            }
        }
    }
}

Компилирую

$mcs ./zlist.cs -r:ICSharpCode.SharpZipLib.dll

Версии

$ mono -V
Mono JIT compiler version 6.8.0.105 (Debian 6.8.0.105+dfsg-3.2 Tue Jun 29 21:01:01 UTC 2021)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	Interpreter:   yes
	LLVM:          supported, not enabled.
	Suspend:       hybrid
	GC:            sgen (concurrent by default)

Есть у меня подозрение, что эта версия 6.8 - версия компилятора, а не Mono и реально там что-нибудь соответствует .NET 4.5, но какая-то ерунда с доками, не могу понять.

При этом у меня завалялась старая сборка SharpZipLib трехлетней давности, которую сейчас не могу найти на сайте, так с ней проблем нет, всё компилируется и работает отлично. Чтобы самому собрать похоже нужна VS 16-я и более.

anonymous_incognito
()

Запись загрузочной флешки для винды и для Linux

 , ,

Интересным образом я слегка обломался недавно. Собрал из мартовских запасов новый комп и решил попробовать поставить на него Win11. Посмотреть на новейшие достижения, так сказать.

Комп, если интересно, на базе материнки msi h510m-a pro с nvme Samsumg 970 evo plus на 512Гб. Bios только UEFI, CSM не поддерживается (формально можно переключить, но возникает сообщение, что из-за vga bios обратно на uefi - толи потому что видеокарта новая, толи вообще)

Надо сказать, так случилось, что у меня под рукой сейчас нет компьютеров с виндой вообще. Так что записи флешек и прочее всё из под Linux'а.

И, ё-моё, похоже задача из под линукса не решаемая. ;))))) По крайней мере без разработки дополнительного софта, хотя есть вероятность, что чего-то не нашёл.

Сначала мне так не показалось. Быстренько скачал iso отсюда https://www.microsoft.com/software-download/windows11 - и что такое, что такое? Флешка с этим образом (заливал через dd) не видится при загрузке. Признаюсь тупил целых часа полтора, пока не дошло, что файловая система в образе UDF, а не FAT32, собственно даже на сайте MS говорится о том, что это образ для dvd-rom, на что я не то, что не обратил внимание, но по привычке подумал, что сгодится и для флешки. Давным-давно уже универсальные образы делают.

Между прочим, а чего это биосы не понимают флешки с udf? По идее могли бы легко понимать, для загрузочных dvd то ведь понимают. Хм.

Ну ладно, пожал плечами, стал копировать из образа файлы просто на флешку, uefi-ведь, всё в /boot/efi - ан не так-то всё просто. Файл install.wim имеет размер больше 4Гб. и на FAT32 такое не влезет. Приехали...

Есть еще софт ms-софт mediacreationtool, который с сайта ms тянет образ для флешки и пишет её. Ну естественно из под wine не работает работа с дисками... По этой же причине и программа rufus (умеет использовать iso-образ для dvdv) не помогла.

Гуглёж вывел на статью https://www.outsidethebox.ms/18814/ «Как преодолеть ограничение в 4GB при копировании install.wim на флэшку FAT32 и создать ISO» - если вкратце, то предлагается виндовым средством DISM разбить install.win на части с расширением *.swm (это не совсем тоже, что чистый split) и использовать части. Или сжать в esd-формат, что используется mediacreationtool

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

Тупик. Ну в общем, вышел из положения установкой винды в VirtualBox и созданием образа из под неё. Хотя можно было бы ещё и просто склонировать с виртуального диска на настоящий.

В тоже время под виндой можно писать флешки для загрузки Linux, хотя бы тем же руфусом.

Как-то так.

anonymous_incognito
()

Что лучше из Wi-Fi m.2: MTK7921k или Intel AX201 и где брать антенны?

 ,

Спрошу тоже про Wi-Fi. Есть на материнской плате гнездо для такого адаптера. Думаю что взять. И ещё, вроде как антенны в комплекте нет и как-то не очевидно, что и где искать. По описанию вроде какая-то ipx4 антенна нужна. Что-то с ними сильно не очень на сайтах магазинов или я не знаю, что искать надо.

anonymous_incognito
()

Мелкие чудеса linux и железа

 , ,

Добавил в комп nvme диск. После включения компа с новой железкой «оно само»:

  • сетевые интерфейсы вместо enp3s0 и enp4s0 стали enp4s0 и enp5s0
  • вывод звука переключился с Display Port (я слушаю с наушников, воткнутых в монитор) на s/pdif

WTF? Если подумать, можно понять, что оно как-то там линии pci-e пересчитало по-новому и переименовало что-то с сетевухами, видеокарта тоже какую-то новую нумерацию получила и потому соскочил звук.

Но как-то это некрасиво, а в каких-то случаях и источником проблем может стать.

anonymous_incognito
()

Что делать с накупленным по случаю железом?

 , ,

Чего-то оно в положении, немного похожем на чемодан без ручки.

В общем, когда был в начале марта взлет цен до небес с исчезновением железок из продажи, по случаю урвал по старым ценам, пожалуй даже по тем меркам, дёшево

За 11 тысяч руб. комплект в виде материнки MSI H510M-A Pro + проц Core i3 10100f (f - значит без встроенного видео) + память две планки AMD - ной DDR4 2666 МГц. по 4 Гб.

Тогда же пришло в голову, что может какой офисный компешник соорудить.

К этому докупил уже далеко не дешево кулер за где-то 2500 руб. Hyper 103 и БП за 7000 руб. Be Quiet System Power9 700 Вт и дешманскую видюху за примерно 4500 руб. Sinotex Ninja Radeon R5 230 с 1 Гб памяти, которая еще и GDDR3 (не 4, не 5).

А сейчас думаю на что я блин 25 тысяч потратил? Ну положим БП и кулер не самые плохие и всяко в хозяйстве могут пригодиться, но в целом фигня какая-то. Видюха ещё туда-сюда если что-то ремонтировать и проверять работоспособность, но работать на ней даже не знаю. Она же хуже старых интеловских встроек по производительности. Правда хорошо с Linux совместима, если с Nvidia сравнивать

Варианты действий:

1) Продать барахло как есть

2) Докупить SSD или NVME и корпус, ну и пусть будет. Такую сборку однако трудно продать из-за видюхи.

3) Докупить более приличную видюху туда, хотя бы GT 1030 + SSD + корпус и продать, если найду кому, за 30 тыр. Или пусть будет запасной

4) Купить Core i3 11400 за 20 тыс.руб., проц 10100f попробовать толкнуть отдельно.

5) Попробовать продать 10100f и купить просто 10100

Однако 11400 на эту мать вроде не очень хорошо пойдёт из-за питания. Правда уточнить толком не у кого, обычно для него всё же более старшие модели чипсета берут. Брать 10400 вообще бессмысленно. Некоторый смысл есть, если получится обменять как-то 10100f на 10100

Да, насчёт RAM. В загашнике давно лежали две планки Crucial по 2666 МГц по 8 Гб каждая. Так что та AMD-ная тоже ни туда ни сюда немного. Но как-то в комплекте просто пришла.

Такие вот странные поступки в странное время случаются. Так-то я бы никогда подобную конфу не взял.

anonymous_incognito
()

Чего за треш, угар и гуси с видеокартами?

 ,

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

Ничего нет кроме совсем огрызков или по совершенно невменяемым ценам, если повезёт найти. Даже gtx 1660 за 30 тыр. рублей, rx 580 ценник видел в 38 тысяч - и те ещё не везде. В ситилинке gtx 3090 от асуса за 256 000 торгуется - совсем с ума сошли, это же хоть и топовая, но игровая видеокарта, а не тесла какая-нибудь.

Я понимаю ещё дефицит новых, хотя вроде перед новым годом уже продавались потихоньку.

Это вообще надолго или даже не знаю как жить, если нужна карта :)

anonymous_incognito
()

Статистика браузеров, ОС, устройств и др. по LOR

 , ,

Что-то уже почти пять лет вроде не постил. Интересно сравнить что было и что стало. Статистика по гуглоаналитике, понятно, она может быть не совсем точной, кто-то её вообще блочит, кто-то наверняка и User Agent редактирует, а может и другие параметры подставляет, но тем не менее.

Итак за последний месяц:

Браузеры, %

  1. Chrome - 57.77
  2. Firefox - 17.02
  3. YaBrowser - 9.02
  4. Safari - 6.70
  5. Opera - 5.54
  6. Edge - 2.09
  7. Samsung Internet - 0.75
  8. Android Webview - 0.37
  9. Internet Explorer - 0.29
  10. UC Browser - 0.12

Операционные системы, %

  1. Windows - 46.76
  2. Android - 22.71
  3. Linux - 20.11
  4. iOS - 5.52
  5. Macintosh - 4.67
  6. (not set) - 0.10
  7. FreeBSD - 0.04
  8. ChromeOS - 0.03
  9. Windows Phone - 0.02
  10. BlackBerry - 0.02

Разрешения экрана, %

  1. 1920x1080 - 30.32
  2. 1366x768 - 9.17
  3. 1536x864 - 6.00
  4. 360x640 - 4.10
  5. 1280x1024 - 3.45
  6. 1440x900 - 2.94
  7. 393x851 - 2.83
  8. 1600x900 - 2.67
  9. 1680x1050 - 2.34
  10. 2560x1440 - 2.24

Некоторые любопытные разрешения вне Top-10

15. 1920x1200 - 1.60%
25. 2560x1080 - 0.57%
34. 2048x1152 - 0.46%
41. 3440x1440 - 0.22%
44. 1600x1200 - 0.17%
47. 3840x2160 - 0.15%
76. 3072x1728 - 0.06%
84. 2195x1235 - 0.05%
114. 2133x1200 - 0.03%
115. 2752x1152 - 0.03%

Типы устройств, %

  1. desktop - 71.73
  2. mobile - 27.05
  3. tablet - 1.22

Производители мобилок, %

  1. Xiaomi - 27.52
  2. Apple - 19.58
  3. Samsung - 17.09
  4. Huawei - 14.86
  5. (not set) - 5.40
  6. Asus - 1.56
  7. OnePlus - 1.48
  8. Lenovo - 1.36
  9. Meizu - 1.29
  10. Sony - 1.23

Страна, %

  1. Россия - 71.38
  2. Украина - 15.31
  3. Беларусь - 3.45
  4. Казахстан - 2.04
  5. Германия - 1.02
  6. США - 0.65
  7. Узбекистан - 0.45
  8. Молдова - 0.39
  9. Нидерланды - 0.36
  10. Латвия - 0.31

Что меня значительно удивило - это небольшое количество пользователей с мониторами (экранами) больше 1920x1080. Мне чего-то казалось, что разных там 4K и более должно быть много, тем более на техническо-компьютерном ресурсе.

Удивила популярность смартфонов Xiaomi. И буквально ни одного Ubuntu Phone. Даже с PocketBook (книга-читалка с e-ink экраном, попала в категорию мобилок) кто-то ходит на LOR, хотя и буквально 1-2 человека.

Ещё - не ожидал, что целых 9% используют Яндекс Браузер.

Предыдущие статистики:

2015 - й год Статистика браузеров и ОС по LOR
2011 - й год Статистика по LOR с Google Analytics.
2009 - й год Некоторая статистика по LOR

вроде ещё были в районе 2009-2011

anonymous_incognito
()

Регрессия в драйвере iso9660 для формата High Sierra?

 , ,

Не путать эту High Sierra с названием релизов OS X в 2017-м году.

$man 5 fs

iso9660 is a CD-ROM filesystem type conforming to the ISO 9660 standard.

High Sierra

Linux supports High Sierra, the precursor to the ISO 9660 standard for CD-ROM filesystems. It is automatically recognized within the iso9660 filesystem support under Linux.

Вот только на практике не очень то выходит. Для примера, есть пара iso в до-iso9660 формате High Sierra

http://old-dos.ru/index.php?page=files&mode=files&do=show&id=7054

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

VirtualBox монтирует нормально. Можно содержимое скопировать монтированием в нём и потом копированием через расшаренную директорию.

Интересно, это мне не повезло или как? Под рукой сейчас только Debian 10 с ядром 5.4.0

anonymous_incognito
()

Установка драйверов для МФУ Brother DCP-7045N(R) в Debian Buster

 , ,

(Пост для информации, может кому ещё пригодится)

Почти также всё ставится как и в Stretch Установка драйверов для МФУ Brother DCP-7045N(R) в Debian Stretch за исключением п.7, теперь в файле 60-libsane.rules надо просто перед строчкой

SUBSYSTEMS=="scsi", GOTO="libsane_scsi_rules_begin"

добавить тоже самое:

#Brother DCP-7045N
ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"

И всё работает. Интересно, что сейчас (а возможно и в Debian 9, но не обратил тогда внимания) после установки на чистый винт Debian 10 и включения МФУ принтер сразу был найден автоматически и даже можно было уже и печатать. Но печать идёт очень медленно. Перед печатью компьютер «думает» несколько минут.

После установки драйверов в списке печати есть два принтера:

1) DCP-7045N userdomain - прежний «тормозной», автоопределившийся в самом Debian

и

2) DCP7045N (написание слитно, нет имени домена) - «быстрый», без задумчивости.

anonymous_incognito
()