LINUX.ORG.RU

Сообщения Esper

 

Бугурт-тред про vim и браузеры

Форум — Talks

Здравствуйте, меня зовут Артём, и я vim-зависим.

Раньше эта особенность не доставляла мне никаких проблем, но в последнее время я испытываю от неё всё больше неудобств.

Дело в том, что все существующие «вимизирующие» дополнения для firefox - говно.

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

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

Доколе?! Почему нельзя просто взять, и сделать нормальный «вимизатор» для браузера? Почему забросили отличный pentadactyl? Почему сопровождающие vimperator'а не понимают, что в текущем состоянии он - неюзабельное говно?

А какими vim-подобными браузерами пользуешься ты? Обязательно, минимум, наличие резалки рекламы, шустрая работа и возможность оставить от интерфейса только статусную панель (ну, или, самый максимум, ещё панель вкладок).

 , ,

Esper
()

Расту нашли применение в AAA-игре

Форум — Talks

Пруф. Игрушка называется «Prey».

Можно поздравить растоманов с приходом к успеху.

 ,

Esper
()

Форматированный вывод в строку без аллокации

Форум — Development

Собственно, всё, до чего додумался:

use std::str;
use std::mem;
use std::io::Write;
use std::ffi::CStr;

fn main() {
    let mut buffer = unsafe { mem::uninitialized::<[u8; 100]>() };
    if write!(&mut buffer[..], "{}\0", 42).is_err() {
        *buffer.last_mut().unwrap() = 0;
    }
    let string = unsafe {
        str::from_utf8_unchecked(
            CStr::from_ptr(buffer.as_ptr() as *const i8).to_bytes())
    };
    println!("{}", string);
}

Кто-нибудь может подсказать более лаконичный/менее костыльный способ с аналогичной производительностью?

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

 

Esper
()

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