Задать вопрос
  • Где можно посмотреть официальную статистику популярности операционных систем Linux?

    Sanes
    @Sanes
    Их всего два. Debian и Rhel образные. Что для сервера, что для десктопа. Остальные для тех, кому заняться нечем.
    1. Ubuntu/Mint/Debian
    2. Fedora/Centos/Alma/Rocky
    Ответ написан
  • Как установить самый новый совместимый firefox для ubuntu 8.10?

    @rPman
    Настоятельно не советую ковыряться со старыми версиями linux, тем более на столько старыми, там начнутся проблемы уже поиском рабочих репозитарий, поиском инструкций, настройкой сертификатов и т.п.

    Самый свежий софт для старых компьютеров настоятельно рекомендую собирать из исходников с помощью gentoo. Там это автоматизировано до пары телодвижений, как бы не говорили что gentoo это сложно, если ты дошел до ситуации, когда нужно компилировать - то это лучший. Еще говорят arch хорош, но не для слабых и старых компьютеров. Я собирал себе минисборку для eepc900 с 1gb ram (DE - awesome), оно в запущенном состоянии с GUI потребляло 50мб ram (притом что пустой ubuntu требует больше 300мб и для браузера уже на остается), т.е. оставался весь гигабайт для браузера (но учти современный интернет очень ресурсоемкий, осознаешь на сколько криворукие программисты заполонили мир, банально youtube все ресурсы затрачивает на просто загрузку видео, и их не хватает на проигрывание, когда как скачанное проигрывает в 480p без проблем а с оговорками и 720p что для 15-летней давности железа очень даже хорошо)

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

    Еще совет, не заморачивайся с компиляцией ядра - это нужно тем кто тюнит сборку для совсем отбитого железа интернета вещей. Бери готовое ядро, которое идет с их livecd.
    Ответ написан
    Комментировать
  • Как установить самый новый совместимый firefox для ubuntu 8.10?

    @Everything_is_bad
    никак
    Ответ написан
    Комментировать
  • Как уменьшить размер PDF на сервере?

    Vvvyg
    @Vvvyg
    Был админом, сейчас в ТП
    В постановке задачи не указано, что за система на сервере. Для Windows - FileOptimizer.
    Ответ написан
    Комментировать
  • Как уменьшить размер PDF на сервере?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Можно вот таким скриптом на bash
    find . -name '*.pdf' | xargs -I % sh -c 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=%.tmp %; mv %.tmp %'

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

    Но необходимо установить ghostscript - sudo apt install ghostscript
    Ответ написан
    1 комментарий
  • Как печать PDF из Microsoft EDGE с авто выбором источника бумаги под размер страницы?

    Adamos
    @Adamos
    Во-первых, нет смысла упираться в Edge, который все равно - перекрашенный Chrome, и исследовать вопрос имеет смысл по нему - элементарно больше ответов найдется.
    Во-вторых, продвинутой работы с принтером из браузера нет и быть не может - он из соображений безопасности сильно ограничен даже в информации о принтерах, не то что в настройках. Шаг влево, шаг вправо - сразу надо переключаться в "печатать, используя системный диалог", и смотреть уже там. А вот то, что там, зависит в первую очередь от драйвера принтера.
    Ответ написан
    Комментировать
  • Где арендовать сервер в Hetzner?

    @psiklop
    Получал письмо от Hetzner недавно, лавочка закрыта абсолютно для России. Для чего? Хороший хостинг, ну и что с того. Если же никак иначе, нужно современное железо или сверхнадежность - тогда вперед пользоваться всякими посредническими недо-сервисами которых на почве санкций открыли. Но теперь нужны уже не только карта, но и гражданство.

    И тут теряется преимущества хетзнера, хороший хостинг + дерьмовый посредник = дерьмовый хостинг
    Ответ написан
    4 комментария
  • Как переустановить windows рядом с linux?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Загрузчик Linux затрется. Нужно будет загрузиться с диска с Linux и восстановить загрузчик
    Ответ написан
    Комментировать
  • Как спарсить данные с TrandingView?

    @rPman
    Данные там лежат в огромном json прямо встроенном в саму страницу, которая грузится без каких либо особенностей, тупо wget-ом, очень странное решение но
    <script type="application/prs.init-data+json">{"FYBZHq":{"context":{"request_context":{"user":{"is_authenticated":true,"is_...}}</script>
    пример FYBZHq►data►news►data►items►0►
    id	:	prime:0273264f867b8:0
    title	:	Результаты торгов акциями в секторе основных торгов Московской биржи
    storyPath	:	/news/prime:0273264f867b8:0/
    sourceLogoId	:	prime
    published	:	1701792002
    source	:	ПРАЙМ
    urgency	:	2
    permission	:	headline
    provider	:	prime
    Ответ написан
    Комментировать
  • Какой дистрибутив linux выбрать для мегатормозного ноута?

    @Vlad_hex
    Arch + Openbox. Я ставил на допотопный компьютер с 512мб оперативной памяти. Все работало в том числе и приложения виндовые Wine. На старте потребляло какие то крохи оперативной памяти и был потенциал для еще большей оптимизации. Но это путь не для слабых духом нужно много курить манов в том числе и на английском ну и сам Arch не для совсем новичков и способен подкинуть проблем.
    Ответ написан
    2 комментария
  • Какой и где взять дистрибутив Linux под старый ноутбук?

    Adamos
    @Adamos
    но знаю

    "Но слышал", obvious fix.
    Памяти современному браузеру мало. Если там еще и винт HDD на 5400 оборотов - без смены его на SSD ни о каком комфорте даже заикаться не стоит.
    По-хорошему, на этот ноут стоит ставить современный ему дистрибутив. Xubuntu 12.04, например.
    Но в нем, разумеется, не будет "современного" браузера, будет Firefox образца 2015 года.
    Можно попробовать что-нибудь легковесное из современного и легкий же браузер - Midori, например.
    Но вам в таком минимализме, к гадалке не ходи, "комфортно" не будет ;)
    Ответ написан
    Комментировать
  • Почему браузеры и curl дают разные результаты?

    ValdikSS
    @ValdikSS
    На сайте используется TLS Fingerprint (вероятно, JA3) как один из индикаторов сессии в системе перед веб-сервером, вероятно, это анти-DDoS.
    Так как браузер и curl используют разные SSL-библиотеки и передают разные наборы шифров, сервер предлагает вам пройти challenge.
    Ответ написан
    5 комментариев
  • Как нарисовать картинку имея координаты точек?

    Maksim_64
    @Maksim_64
    Data Analyst
    Все очень просто, используй matplotlib, pandas и seaborn. Возможности не ограниченные.
    сначала читаем это дело в pandas фрейм и затем рисуем scatterplot. Можно их соеденить сделать их разного размера создать любую палитру цветов, да все что угодно
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    df = pd.read_csv('data.csv',sep=';')
    sns.scatterplot(df, x='x',y='y',hue='c')
    plt.show()

    Вот простенький пример где data.csv это твои данные. Открывай доки как seaborn так и matplotlib и кастомизируй по своему желанию. Рабочий маленький пример рисования точек по цвету третьей переменной я привел.
    Ответ написан
    Комментировать
  • Что значит check_same_thread? В Python sqlite3?

    Vindicar
    @Vindicar
    RTFM!
    sqlite3 не потоко-безопасна - если ты одновременно обращаешься к базе из нескольких потоков, это может запороть базу.
    Соответственно, по умолчанию библиотека проверяет, что подключение к базе используется тем же потоком, который создал этот подключение - т.е. что оно ограничено рамками одного потока. Если это не так, выбрасывается исключение. Это поведение по умолчанию, чтобы новички потом не плакались "почему у меня иногда база портится?!!"

    Но если ты очень осторожен и не допускаешь одновременных запросов (с помощью синхронизации по мьютексу. например), то можно безопасно использовать одно подключение из нескольких потоков. Тогда можно сказать sqlite "не дергайся насчёт потоков, я знаю что делаю". Вот эту возможность (подавить проверку) и предоставляет параметр check_same_thread = False.
    Ответ написан
    Комментировать
  • Предлагают $8000 за браузерное расширение с аудиторией 120к+, адекватно?

    @Kirill-Gorelov
    С ума с IT
    Бро. Однажды меня научили задавать себе вопрос саморефлексии, который помогает принимать решения.
    Сейчас научу тебя.
    Вопрос от обратного. То есть , у тебя хотят купить софт. Круто, теперь задай себе вопрос в обратном направлении.
    Купил бы ты сам этот софт?
    Если да, то не продавай, если нет, то продавай.
    Да, тебя терзают сомнения, об упущенной выгоды, но по моему ты почти ничего не заработал за эти 10 лет на своем расширении. Да и исходники у тебя остаются. Сможешь запилить еще одно такое же))
    Единственное что ты сейчас теряешь, как я думаю, статус чувака у которого есть софт с аудиторией 120 тысяч человек. Но за то получишь 8к. Хотя сможешь и сторговаться, получишь больше.
    Куй железо пока горячо.
    Ответ написан
    1 комментарий
  • Какой софт можно использовать в качестве корпоративной хранилки файлов?

    @ipoluda
    Тоже не понимаю почему не NextCloud, уже лет 5 ставлю его всем своим клиентам, все в восторге, всё отлично работает. Подводных камней нет, как раз большинство сидит на 22 убунте. Но также не понимаю почему не устраивает snap пакет, ставится прямо во время установки убунты, со всеми зависимостями и необходимыми тонкими настройками, ssl с пол-пинка поднимается, на виртуалке масштабируется до тысяч, есть куча подключаемых модулей, файлы хранятся в их нормальном виде (восстанавливать если что получится без гемора), редактировать доки можно прямо в браузере, есть клиент на телефон, интегрируется с чем угодно, короче тупо гугл диск он-премисес только круче как на меня. Советую потому что перепробовал в своё время почти все решения и некст - лучшее что есть из опенсорса. И искренне не понимаю к чему городить связку именно из тех продуктов которые вы перечислили (nginx, mariadb). Некстклауд админится из вебки, в саму ОС вы даже заглядывать не будете после установки)) То есть, я к тому что если Вы привыкли к MariaDB + Ubuntu 22 + nginx то вам не придётся переучиваться, так как админить эти компоненты отдельно не придётся со snap. Поставил и забыл
    Ответ написан
    Комментировать
  • Как асинхронно использовать gui и несколько бесконечных циклов?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Асинхронный код запустить в отдельном потоке, а все взаимодействия с интерфейсом из этого кода делать сигналами. Есть ещё библиотеки, позволяющие использовать цикл событий asyncio в качестве цикла событий окна, что звучит здорово, но сам я их в бою не пробовал.

    UPDATE:
    Надо же, с 2019-го многое поменялось в интересную сторону. Для PyQt и PySide есть qasync, который активно развивается, а для Tk вообще не нужны сторонние библиотеки:
    import tkinter as tk
    from tkinter import ttk
    import asyncio
    
    
    class App:
        async def exec(self):
            self.window = Window(asyncio.get_event_loop())
            await self.window.show();
    
    
    class Window(tk.Tk):
        def __init__(self, loop):
            self.loop = loop
            self.root = tk.Tk()
            self.animation = "░▒▒▒▒▒"
            self.label = tk.Label(text="")
            self.label.grid(row=0, columnspan=2, padx=(8, 8), pady=(16, 0))
            self.progressbar = ttk.Progressbar(length=280)
            self.progressbar.grid(row=1, columnspan=2, padx=(8, 8), pady=(16, 0))
            button_block = tk.Button(text="Calculate Sync", width=10, command=self.calculate_sync)
            button_block.grid(row=2, column=0, sticky=tk.W, padx=8, pady=8)
            button_non_block = tk.Button(text="Calculate Async", width=10, command=lambda: self.loop.create_task(self.calculate_async()))
            button_non_block.grid(row=2, column=1, sticky=tk.W, padx=8, pady=8)
    
        async def show(self):
            while True:
                self.label["text"] = self.animation
                self.animation = self.animation[1:] + self.animation[0]
                self.root.update()
                await asyncio.sleep(.1)
    
        def calculate_sync(self):
            max = 3000000
            for i in range(1, max):
                self.progressbar["value"] = i / max * 100
    
        async def calculate_async(self):
            max = 3000000
            for i in range(1, max):
                self.progressbar["value"] = i / max * 100
                if i % 1000 == 0:
                    await asyncio.sleep(0)
    
    
    asyncio.run(App().exec())
    Ответ написан
    Комментировать
  • Как генерировать PDF документы из шаблонов?

    Adamos
    @Adamos
    mPDF позволяет положить исходный PDF фоном и сверху (по координатам) налепить добавки.
    Но для произвольного PDF вы просто не будете знать, что куда положить.

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

    @rPman
    Pdf - худший формат для данной задачи.

    На php не густо библиотек по работе с pdf, они обычно ориентированы на чтение но не на редактирование. А читать документ в одном формате а генерировать из него другой промежуточный (обычно это html) это очень плохая идея.

    Настоятельно рекомендую изменить данные момент в вашем бизнес-процессе, и использовать в качестве шаблона какой-либо открытый офисный формат типа open document или по старинке html
    Ответ написан
    Комментировать