LINUX.ORG.RU

Сообщения alexru

 

SpaceX запуск через несколько минут

https://www.youtube.com/watch?v=2ZL0tbOZYhE

Первый запуск Crew Dragon. Пока без людей, естественно.

 

alexru
()

Вспомнить музыку

Давным-давно (2000-2005) у меня была MP3-шка с электронной музыкой в стиле Жан Мишель Жарра и подобных.

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

И заканчивается все тем-же голосом, но только текст про то сколько людей погибло в катастрофе, и т.д.

Идеи?

 музыку,

alexru
()

Как быстро работать с X11

Условно есть библиотека, которая для рисования использует функции PutPixel(x, y, rgb) и FillLine(y, x1, x2, rgb). Это менять нельзя.

Нужно совместить это с выводом в голое окно X11. Если вызывать XDrawPoint() на каждый пиксель, то все медленно и печально, оно и понятно, что так делать не стоит.

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

Как такое правильно делать в X11/XCB?

 ,

alexru
()

SiFive (RISC V) скурвился

Они изменили бизнес модель, и теперь вместо изготовления открытых процессоров, они будут делать закрытые. И запрашивают за лицензию $300,000 за 32-бита и $600,000 за 64-бита.

Такой вот железный опенсорс.

Источник - http://www.eetimes.com/document.asp?doc_id=1331690&print=yes

 ,

alexru
()

Праздный вопрос по языкам программирования.

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

Есть какое-то четкое правило для такого разграничения? Чем такой код плох?

{
  print(a); // печатает 3
  a = 5;
  print(a); // печатает 5
  var a = 3;
}
Ну кроме того, что мозг ломает и потенциально баги рождает. А так - полная симметрия с функциями.

Никакого особого смысла в вопросе нет, просто воскресенье и простуда.

 

alexru
()

Space X посадил еще одну ракету

Как-то так.

 

alexru
()

Вспомнить старый сервис рассылок

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

Помню использовалось это все в том числе и для рассылок типа «Делаем компилятор с нуля», «Делаем ОС с нуля». Ну и для анекдотов всяких.

Все подобные рассылки как привило умирали вместе с энтузиазмом автора после 3-10 выпусков.

Помогите вспомнить. Никакой практической пользы, просто застряло в голове, а сам вспомнить не могу.

 

alexru
()

Полосы прокрутки для большого объема данных

Я делаю widget для отображения большого набора данных (миллионы строк). Обычные полосы прокрутки тут бесполезны, так как движение на 1 пиксель приводит с скачку на десятки тысяч строк.

Особенностью данных является локальность, так что чаще всего работа будет происходить в ограниченном окне (~1000 строк). И начальная абсолютная позиция устанавливается извне. Но прокрутка должна быть непрерывной.

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

Но не покидает общее ощущение велосипедности этого решения. Как вообще такое обычно делают? Есть примеры ПО, где подобное реализовано?

 ,

alexru
()

Глобальное окно с логом в Qt

В приложении нужно организовать простое окно с логом доступное из всех частей приложения.

Самый простой способ - это глобальная переменная.

Есть более «правильные» способы?

 

alexru
()

Новомодные способы форматирования текста

Я понимаю, что sprintf() не безопасно и не портируемо, но почему альтернативы такое го..но?

QString result;
QTextStream(&result) << "pi = " << 3.14;
// result == "pi = 3.14"

А что если мне нужно «03.14000» ?

QString status = QString("Processing file %1 of %2: %3").arg(i).arg(total).arg(fileName);

А что если мне нужно «0x00012345»?

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

 

alexru
()

Новый (?) способ продвижения сайтов

Заметил, что в логе апача полно запросов с referrer, на котором абсолютно не может быть ссылки на мой сайт (порно и прочая муть). Причем все спам-сайты явно русские.

Это такой новый способ «маркетинга» нацеленный на людей смотрящих в логи серверов? Кто вообще до этого додумался?

 

alexru
()

Intel купил Altera

Ожидаем процессоров с FPGA или FPGA с процессорами?

 , ,

alexru
()

Проблема с графом

Есть связанный взвешенный граф с положительными весами.

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

Минимальный или близкий к минимальному - не так важно.

Есть какой-нибудь стандартный алгоритм для этой задачи?

 

alexru
()

IMAP работа с UID

В тестовой папке IMAP было создано 5 сообщений и потом 3 сообщение удалено.

Таким образом UID оставшихся сообщений [1, 2, 4, 5].

Нужно получить все сообщения начиная с данного UID. Вот код:

mail = imaplib.IMAP4_SSL(SERVER)
mail.login(LOGIN, PASSWORD)
mail.select('INBOX.Test.Subtest', readonly=True)

for i in range(5):
  resp, data = mail.uid('search', '%d:*' % (i+1))
  print i+1, resp, data

вывод:

1 OK ['1 2 4 5']
2 OK ['2 4 5']
3 OK ['4 5']
4 OK ['5']
5 OK ['5']

Таким образом начальный параметр воспринимается не как UID, а как последовательный индекс. Строка «4 OK ['5']» должна быть «4 OK ['4 5']».

Это кривая реализация IMAP или я чего-то не понимаю?

 ,

alexru
()

Строки в Swift

Читаю книжку по Swift. Язык так себе, но есть одна фишка, которую я не могу понять. Язык компилируемый, но строки позволяют делать такое:

let multiplier = 3
let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
// message is "3 times 2.5 is 7.5"

И похоже можно в скобках писать [почти] любые функции и конструкции языка.

Вопрос: как это работает?

 ,

alexru
()

Bitcoin на улицах города

Прогуливаясь сегодня по городу заметил небольшой магазин по ремонту ноутбуков, который принимает BitCoin к оплате.

пруф.

 ,

alexru
()

Разница в работе xHCI и UHCI

Вопрос очень специфический. Работаю с одной железкой по USB. Ничего особенного, но возникает проблема. Похоже, что контроллеры (или драйверы) по разному себя ведут при выборе конфигурации устройства. В частности, xHCI не сбрасывает Data Toggle бит в 0, из-за чего при повторном обращении к устройству (с установкой конфигурации), если прошлое обращение состояло из нечетного числа кадров, то первая попытка послать данные заканчивается неудачей.

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

На UHCI драйвере все работает как нужно.

xHCI проверялся на 2-х разных компьютерах, UHCI только на одном.

Шансов мало, но может кто сталкивался с таким?

 uhci, , ,

alexru
()

Убрать расширеные сообщения об ошибках GCC

С некоторых пор GCC стал выводить сообщения об ошибках в таком виде

main.c:139:17: warning: 'cnt_1' defined but not used [-Wunused-variable]
 static uint32_t cnt_1 = 0;
                 ^
main.c:140:17: warning: 'cnt_2' defined but not used [-Wunused-variable]
 static uint32_t cnt_2 = 0;
                 ^

Можно ли избавиться от лишнего мусора с указанием конкретного места?

Быстрый поиск ничего полезного не дал.

 

alexru
()

Послание советским «создателям» чипов

http://micro.magnet.fsu.edu/creatures/pages/russians.html

We stumbled across this message while examining the scribe lane on a Digital CVAX microprocessor used in the MicroVAX 3000 and 6200 series computers. Chip designer Bob Supnik tells us that the text is Cyrillic using Russian words for the phrase:

«VAX - when you care enough to steal the very best »

Apparently this quotation was gleaned from a sign on a purloined VAX 780 used by the Soviet military and was intended to send a special message to Russian chip designers determined to reverse engineer Digital's designs.

На чипе в слое металлизации послание советским передиральщикам чипов на плохом русском от американских коллег :)

alexru
()

Замена Google Reader - рекомендация.

Кто интересовался, думаю уже видели TT-RSS. Я же хочу порекомендовать предельно дешевый VPS - http://www.vpscheap.net .

За $2 в месяц получается следующая конфигурация:128MB RAM (256MB Burst), 10gb disk space, 10mbit/s network, 1 IP (IPv6 Ready). Этого вполне достаточно для tt-rss и много чего еще.

Сервисом я пользуюсь пару месяцев, никаких проблем за это время не обнаружилось.

 ,

alexru
()

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