LINUX.ORG.RU

Сообщения MyTrooName

 

настроить локали в debian задним числом

забыл в начале установки сделать dpkg-reconfigure locales, и теперь у меня куча пакетов в система без поддержки русского.

вчера, например, доставил *spell-ru, сегодня xfonts-cyrillic; обычно всё это подтягивалось по зависимостям

точечно каждая такая проблема решается, но можно ли как-то решить их все сразу? мир пересобрать, например

 , , ,

MyTrooName ()

таблица в уведомлениях разъехалась

https://hmp.me/cl07

firefox 60.6.1

 

MyTrooName ()

Rust 1.34

  • cargo теперь умеет в сторонние репозитории

  • оператор ? теперь может использоваться в доктестах

  • стабилизированы трейты TryFrom и TryInto

  • стабилизированы типы AtomicU8AtomicU64 и AtomicI8AtomicI64 в дополнение к имевшимся ранее Atomic{Bool,Ptr,USize,ISize}

  • стабилизированы типы NonZeroI8NonZeroI128 и NonZeroISize в дополнение к имевшимся ранее беззнаковым аналогам

https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html

 ,

MyTrooName ()

критик реквест

Разродился вот этим:

async def wait_event(add_callback, del_callback):                                                    
     ev = asyncio.Event()                                                                             
     def callback(*args, **kwargs):                                                                   
         ev.set()                                                                                     
     add_callback(callback)                                                                           
     await ev.wait()                                                                                  
     del_callback(callback)

...

await wait_event(my_class.add_some_event_listener, my_class.del_some_event_listener)

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

Но детектор говнокода попискивает. Расскажите, как надо. Стоит ли в API класса на каждый event_listener добавить свой async def wait_event()?

Синтаксис async/await использую ~третий раз в жизни

 , , , ,

MyTrooName ()

пропадают пингвины в голосовалке

при ширине окна <1000px. баг или фича? фаерфокс, 60.4

 ,

MyTrooName ()

как запустить в cmd.exe в wine линуксовые консольные команды?

нужно, чтобы вывод команды был виден

wine 3.18

start /unix /bin/ls дает пустой вывод

 , , ,

MyTrooName ()

говнокод с asyncpg

async def notify_delete(channel, query, *, conn):
    status = await conn.execute(r'''DELETE FROM notify WHERE channel_id=$1 and query=$2''',
            snowflake2db(channel.id), query)
    return status != 'DELETE 0'

return status != 'DELETE 0'

насколько это плохо, и как надо правильно?

 ,

MyTrooName ()

посоветуйте библиотеку для python asyncio для постгреса

$сабж (не для веба)

типа такой вот: https://github.com/fantix/gino

 , , ,

MyTrooName ()

tailgunner

Линус Торвальдс временно уходит с поста координатора Linux

даже объяснять лень:

Сообщение удалено tailgunner по причине (-7)
Ответ на: комментарий от actionless 20.09.2018 3:47:12
Мило клоун. Ему следует гореть в аду вместе с феминаци.
tailgunner ★★★★★ (20.09.2018 8:06:32)

сам написал, удалил с -7, потом обратно передумал:

Ответ на: комментарий от actionless 20.09.2018 3:47:12
Мило клоун и аттеншнвхора. Ему следует гореть в аду вместе с феминаци.
tailgunner ★★★★★ (20.09.2018 8:26:08)

и нет, на первый коммент ответов не было

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

 ,

MyTrooName ()

qml для десктопа

как там сабж по состоянию на 2018 год? помню, N лет назад пробовал: понравилась общая концепция, но сильно не хватало разнообразия изкоробочных компонентов, в особенности сложных, типа деревьев

 , ,

MyTrooName ()

Vimium is not running on this page.

это на лоре, после обновления firefox до 58.0

Vimium is not running on this page.

Your browser does not run web extensions like Vimium on certain pages, usually for security reasons.

Unless your browser's developers change their policy, then unfortunately it is not possible to make Vimium (or any other web extension, for that matter) work on this page.

че делать-то?

 , ,

MyTrooName ()

запретить флеш в firefox quantum

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

флешблок, например, этого не скрывает: он просто отключает работу флеша, и сайт не работает ни через флеш, ни через html5

 , , ,

MyTrooName ()

правило о вменяемом заголовке темы на раздел linux-org-ru не распространяется?

предлагаю тереть топики вида «ЯННП» и «ВЫ ВСЁ ВРЁТИ» без разбирательства

 

MyTrooName ()

у меня одного bitbucket сломался?

$subj

 ,

MyTrooName ()

почистите прикрепленные

32 vs 64

например

 

MyTrooName ()

краткий и эффективный &str join

нагуглил только такое:

fn reverse_words(s: &str) -> String {
  s.split_whitespace().rev().collect::<Vec<&str>>().join(" ")
}

но тут лишний вектор создается в куче. мой вариант, без лишней аллокации:

fn reverse_words(str: &str) -> String {
    let mut iter = str.split_whitespace().rev();
    if let Some(x) = iter.next() {
        let mut result = String::with_capacity(str.len());
        result += x;
        for x in iter {
            result += " ";
            result += x;
        }
        result
    } else {
        String::new()
    }
}

как сделать кратко и эффективно? заодно если расскажете, как можно сократить лапшу if let с итератором, будет вообще прекрасно

 ,

MyTrooName ()

свободную игрулю на Unreal Engine

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

и не спрашивайте, почему это в development

 ,

MyTrooName ()

drop односвязного списка на rust

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

работаю по гайду: http://cglab.ca/~abeinges/blah/too-many-lists/book/first-drop.html

мотивировка необходимости реализации drop в том, что при дефолтной реализации возможно переполнение стека при большом объеме списка. для проверки я написал тест:

    #[test]
    fn stack_overflow_on_drop() {
        let mut list = List::new();
        for n in 1..1000000 {
            list.push(n);
        }
    }

тест успешно сыплется при дефолтной реализации drop (читай: при отсутствии реализации) и успешно проходит при реализации drop, приведенной в гайде. для сравнения, приведу эту реализацию здесь:

impl Drop for List { // List - это голова списка, а не его элемент
    fn drop(&mut self) {
        let mut cur_link = mem::replace(&mut self.head, Link::Empty); // зачищаем указатель на head
        while let Link::More(mut boxed) = cur_link {
            cur_link = mem::replace(&mut boxed.next, Link::Empty); // зачищаем указатель на каждый next
        }
    }
}

теперь моя реализация:

impl Drop for List { // List - это голова списка, а не его элемент
    fn drop(&mut self) {
        let mut cur_link = mem::replace(&mut self.head, Link::Empty); // зачищаем указатель на head
        while let Link::More(boxed) = cur_link {
            cur_link = boxed.next; // проходим по списку, но ничего не зачищаем
        }
    }
}

вопрос: почему эта реализация не переполняет стек при освобождении списка (проходит тест)? является ли она корректной, или это случайность?

 , ,

MyTrooName ()

И волна, и частица

http://m.phys.org/news/2015-03-particle.html

EPFL scientists have now been able to take the first ever snapshot of light behaving both as a wave and as a particle

ура, товарищи? насколько это (не)важно?

 ,

MyTrooName ()

операция slice в питоне копирует подстроку

http://svn.python.org/projects/python/trunk/Objects/stringobject.c

Если размер подстроки в диапазоне 2..n-1, то string_slice вызывает PyString_FromStringAndSize, которая копирует подстроку полностью.

Кто-нибудь знает нормальную имплементацию? нужны строки с дешевой операцией slice. В принципе, это тривиально написать через сишные указатели. Хотя вот есть еще какой-то memoryview

<caps>И нахера тогда вообще этот питон эти строки?</caps> в чем преимущество? Разве что проще освобождать память от отдельных подстрок? Но в моем кейсе это вроде не нужно.

 , ,

MyTrooName ()

RSS подписка на новые темы