LINUX.ORG.RU

Сообщения foror

 

В 2017-м вырисовывается качественная альтернатива Хромому

Сегодня глянул, чего там с Servo творится, думал протух проект, а не тут то было! По роадмапу к концу 2017 планируется юзабельный Google Docs в Servo. Сборку под Android скоро сделают (хотя можно самому сейчас собрать).

Скачал последнюю сборку с сайта, запустил на собственном хелловорде с ES6 классами и всё заработало, при этом памяти скушано меньше, чем в Хромом. Конечно если запускать реальные сайты не всё так гладко и память он за собой не чистит и всё глючит, но в целом перспективы радуют.

 ,

foror
()

Почему поставить первым наиболее вероятное условие в if-else делает код шустрее на x86?

При этом неважно, что у вас за ЯП, только что проверил на JS в хроме и правда процентов на 5-10% быстрее (фиксировал на 100 000 000 операций). Почему так?

 ,

foror
()

Менять позицию и флушить или последовательно в StringBuilder и флушить?

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

Когда хочу вернуться назад и переписать пару байтиков делаю сначала BufferedWriter#flush, а затем прыгаю на позицию SeekableByteChannel#position(long). И пишу несколько байтиков в BufferedWriter. Затем с такой же логикой возвращаюсь в текущий конец файла.

Глупо ли так делать? Может быстрее будет писать не сразу в файл, а в StringBuilder, а затем всё сбрасывать в файл последовательно?

 ,

foror
()

Электронная книга со стилусом и сторонним ПО?

Посмотрел на те же ONYX BOOX, так у них андроид 4.2, а мне нужен современный WebView компонент для разработки приложения. Ну или любая другая система понимающая современный HTML5. Что еще есть? Kindle E-reader - там вроде андроид 5.1, но непонятно можно своё ПО разрабатывать/инсталлировать? А еще хочу стилус, можно в комплекте...

 ,

foror
()

Раздают три раза по $5K «no strings attached»

https://medium.com/@nayafia/5-000-no-strings-attached-9e7b95d33e50

I’ll also prioritize projects where:

- Funding isn’t readily available for this kind of project
- You have a unique take on the project, or your backstory is interesting
- Impact extends beyond the life of your project (ex. new program vs. one-time event)
- Timeline is shorter (ex. 2 months) vs. longer (ex. one year)

Can anybody apply?
Yes: any age, country (see caveats below), industry, job title, philosophy, or stage of life.

В общем, для Ъ, в приоритете нищеброды с интересной идеей и захватывающей историей как дошли до жизни такой. И чем быстрее потратишь деньги запилишь идею, тем лучше. А если не будете слоупоками и почитаете блог, то поймете, что у opensource проекта шансов больше.

 

foror
()

Я познаю Rust: Лайфтаймы

Пытаюсь разобраться как работать с лайфтаймами:

use std::collections::LinkedList;

struct Point {
    x: f32,
    y: f32,
}

struct Rectangle<'a> {
    p2: &'a Point,
    p1: &'a Point,
}

fn main() {
    let mut list = LinkedList::new();
    let point1 = Point { x: 0.3, y: 0.4 };
    let point2 = Point { x: 0.3, y: 0.4 };
    
    let rect = Rectangle { p1:&point1, p2:&point2};
    list.push_back(rect);
    list.clear();
}

Как правильно очищать список, чтобы компилятор не ругался на point1, point2?

 ,

foror
()

В Firefox завезли Wasm с 3D и все дела

3D демка https://mzl.la/webassemblydemo с осенним садом. У меня в убунте не тормозит. Мобильный ЦПУ в районе 30%. При повторном открытии страницы берёт всё из кеша, без загрузки +100500 мегабайтов заново. Теперь очередь за игроделами доставить нам нормальных игрух. Вендокопец всё ближе.

В хроме вывалилось с ошибкой, ждём 57 версию с официальной поддержкой.

 , ,

foror
()

За советы про вдоль будут сажать

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

update:

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

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

 ,

foror
()

Алгоритм поиска перегруженного метода в Java

Вот пытаюсь сообразить (параллельно скачивая openjdk репу) как эффективнее реализовать поиск нужного метода для вызова с определенным набором параметров. С учетом того, что метод перегружен. Нужен общий алгоритм, для всех ситуаций. Фактически нужно то, что использует эклипс или сама джава. Пока буду рыться в сырцах, может кто на пальцах объяснит?

 ,

foror
()

Можно брать DDR4 NONAME сделанный в США?

Нашел тут на ебее планку на 16Gb, но контора NONAME (EDGE) с адресом и сайтом в США. Мне вот и интересно, чипы DDR4 сейчас всё равно делают пара заводов, а остальные их просто припаивают? Так что можно брать не боясь. Или всё не так и возмёшь, а там перформанс проседает и глючит всё?

 ,

foror
()

Многочисленные проверки индекса массива в Java оптимизируются JIT'ом?

Скажем есть такой код:

for (int i = 0; i < value.length(); i++) {
    char currChar = value.charAt(i);
    ... // i ниже не изменяется
}

...
    public char charAt(int index) {
        if ((index < 0) || (index >= value.length)) {
            throw new StringIndexOutOfBoundsException(index);
        }
        return value[index];
    }
Логично выбросить проверку из charAt, зачем она нужна? Делают ли это современные JIT'ы для подобных ситуаций? Более того, подгружаясь в код стандартных классов подобных проверок +100500... И я как понимаю, под капотом, к этим проверкам добавляется проверка на выход индекса за границы массива. Т.е. в данном месте:
return value[index];
Докидывается еще одна невидимая проверка с выбросом ArrayIndexOutOfBoundsException. Это безобразие и правда попадает в рантайм? Или современные JIT'ы выкидывают большую часть подобных перепроверок для стандартных классов типа String, ArrayList и т.д.?

 ,

foror
()

Двойной аккумулятор в ноутбуке большое зло

Пришел мне тут ноут с новья, запустил его и поставил на зарядку (система показала 68% заряда). Когда зарядился, решил проверить время работы без внешнего питания и как-то подозрительно быстро аккум стал разряжаться.

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

Это потом я понял, что тут что-то не так, когда вынимал батареи и dmesg для первой говорил об её отсутствии (BAT0 absent что-то типа такого). А вот про вторую он вообще ничего не говорил, была она подключена или нет без разницы. Лишь когда она внезапно обнаруживалась системой, то dmesg выводил и её присутствие как BAT1.

Посмотрев инфу в /sys/class/power_supply/BAT1 увидел, что ёмкость батареи деградировала до 60% от заводской. И батарея никак не хотела заряжаться. Когда подключал внешнее питание система переставала её видеть.

В общем, думаю штука в том, что изначально разрядилась BAT1 когда ноут лежал в упаковке. А затем пошел разряд BAT0 до 68%, но за это время BAT1 упала в физические (а не контроллера) 0% и пролежала хз сколько времени в таком состоянии. Почитал, что в таком состоянии батарея быстро деградирует, а её заряд может привести к взрыву. Поэтому система и не даёт её заряжать. Хотя хз, по идеи две батареи должны одновременно разряжаться?

А если бы была одна батарея, то заряд был бы на 30% процентах и всё было бы нормально...

Возможно я и ошибаюсь и мне просто попался брак. В понедельник понесу в приемку, посмотрим, что там скажут.

 ,

foror
()

Убунта хрепит на десктопе в плеерах, а в Хроме нормалёк

Подопытный трек https://www.youtube.com/watch?v=O5WylcyuZkE если скачать чем-нибудь типа youtube-dl -x --audio-quality 0 https://www.youtube.com/watch?v=O5WylcyuZkE и переключиться на 6:40, то начинает слегка хрепеть на bluetooth колонке с басами (sony srs-x33). Пробовал в VLC пускать - тоже самое, а в хроме не хрепит )

Пробовал качать с ВК, тоже самое. На ноутбучных колонках такого нет, но там и басов толком нет. Такой вот он десктоп на линухе (

 ,

foror
()

Расскажите про машиностроение

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

 ,

foror
()

Intellij IDEA на малинках и прочих ARM-ах?

На днях проскакивала новость, что в OpenJDK впили качественную поддержку ARM-ов (насколько я понял). И мне стало интересно реально ли запустить Intellij IDEA (Community Edition) на каком-нибудь 64-ом арме с 2-гигами под убунтой и работать комфортно? Отчасти хочу докупить себе какой-нибудь подобный ноут PINE64 PineBook: linux, arm за 100$ под это дело, только с разрешением 1080p.

 , , ,

foror
()

Как регистраторы доменов чекают занятость доменов?

У них собственная БД или есть какое-то скрытое API?

 ,

foror
()

Альтернатива gedit?

Никогда такого не требовалось и вот опять - нужно открыть 5Мб HTML файл и прямо страшно открывать его через gedit, который начнёт парсить полностью весь файл. Даже Atom и тот умеет открывать большие текстовые файлы... Что есть из альтернатив? Vi и его суррогаты не предлагать.

 

foror
()

Android смог в дифы бинарей на обновлениях

Объем загружаемого пакета сокращается на 65-90%... Осилили дифать бинари спустя 9 лет. Имхо это всё их высокая планка для собеседуемых, что только сейчас хватило свободных рук на запил. С другой стороны если бы они всех кодеров всосали, то с ними было бы тяжело конкурировать...

А APT такое могет? Впрочем тут грешно смеяться... Или могет?

Да, пруф http://android-developers.blogspot.ru/2016/12/saving-data-reducing-the-size-o...

 ,

foror
()

StringBuilder дружелюбный к памяти и процессору

Хочу StringBuilder, который не обнуляет массив в цикле при вызове reset'а для накопившихся данных, а использовал бы поле указывающее на заполненность массива. Которое по сбросу (reset/toString) устанавливалось в 0, а по мере добавления элементов инкрементилось.

Самому лень писать, может в opensource что-то есть?

 

foror
()

Быстро найти процент совпадений между двумя множествами с ~1000 элементами

Скажем есть заданное множество типа short, которое нужно сравнить с другими множествами (порядка 1_000_000). В каждом множестве примерно 1000 записей. Размеры множеств не равны.

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

Вопрос собственно в том - на GPU или CPU (какой-нибудь современный доступный Xeon) это делать? И нужно ли использовать какие-нибудь интринсики или компилятор GCC сам всё оптимизирует?

По идее нужно на джаве, но можно вынести эту часть на Си, если JIT не сможет заоптимизировать...

 , , , ,

foror
()

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