LINUX.ORG.RU

Сообщения Gvidon

 

4.2 на хабре

В статье http://habrahabr.ru/post/267239/ автор наезжает на общепринятый в C и C++ трюк с использованием union, утверждая, что стандарт такое использование запрещает:

стандарт считает, что читаться всегда должно только то значение, которое было записано ранее. Запись одного типа с последующим чтением другого — undefined behavior.

Есть кто с учёткой на хабре, напишите ему, что он нехороший человек. Цитата из стандарта:

If a standard-layout union contains two or more standard-layout structs that share a common initial sequence, and if the standard-layout union object currently contains one of these standard-layout structs, it is permitted to inspect the common initial part of any of them. Two standard-layout structs share a common initial sequence if corresponding members have layout-compatible types and either neither member is a bit-field or both are bit-fields with the same width for a sequence of one or more initial members.

Нельзя же так на популярном ресурсе делать, могут читать дети.

 ,

Gvidon
()

debian testing и видео AMD

Поставил на рабочий компьютер debian testing и с тех пор нахожусь в лёгком недоумении. Куда в репах делись проприетарные драйвера? Открытые, естественно, стоят, но Advanced Micro Devices, Inc. [AMD/ATI] Turks PRO [Radeon HD 7570] работает с ними как говно

 , ,

Gvidon
()

octave, numpy или что-то ещё?

Хочу просто для себя вспомнить уравнения матфизики и численные методы, поиграться с волнами, написать какую-нибудь разностную схему и пр. Ничего серьёзного. Что лучше выбрать: octave, numpy или у кого-то есть ещё какие предложения?

 , ,

Gvidon
()

Вопрос по LGPL

Хочу прицепить к проекту на работе libconfig. Очень хотелось бы просто закинуть её исходники к другим библиотекам, которые у нас используются, и собирать/устанавливать её вместе со всем проектом. Позволяет ли это LGPL? Естественно, никаких изменений в код я вносить не собираюсь, разве что выкину всё ненужное, вроде примеров, файлов для сборки под винду и т.п. Буду ли я проклят Столлманом до конца своих дней?

Gvidon
()

Конвертировать С++ в Java?

Существуют ли какие-нибудь работоспособные конвертеры C++ -> Java? Естественно, я не ожидаю, что после такого преобразования код сразу заработает, но если есть какая-нибудь программка, способная нормально конвертировать хотя бы заголовочные файлы с описаниями классов, то это уже сэкономит мне кучу времени на текущем проекте. Кто что может посоветовать?

Gvidon
()

[фото][посоветуйте-тред] Цифромыльница

Хочу приобрести (в подарок) цифромыльницу. Требования: небольшие размеры, чтоб влезала в женскую сумочку; минимальное количество телодвижений для получения результата; ну и качество снимков, конечно. Я прекрасно понимаю, что всё вместе - это труднодостижимый идеал, но хотелось бы найти какой-то разумный компромисс. Бюджет - до 10 тыр. Посоветуйте хотя бы, на что обращать внимание при покупке, чего избегать. Сам я в фототехнике не понимаю ровным счётом ничего.

 

Gvidon
()

[авто] Ёёёёёёёё


Ъ

В Москве показали прототипы «ё-мобилей».
В понедельник, 13 декабря, в Москве прошла премьера прототипов трех «ё-мобилей» - купе-кроссовера, хэтчбека и фургона.

Все представленные автомобили оснащены гибридной силовой установкой, в состав которой входит роторно-лопастной мотор, объединенный с генератором, вырабатывающим ток для зарядки суперконденсаторов, от которых питаются приводные электромоторы. При этом машины можно заправлять как бензином, так и природным газом (для этого каждая из моделей оборудована сразу двумя топливными баками). Двигатель внутреннего сгорания гибридной системы расходует 3,5 литра топлива на сто километров, однако о каком режиме работы силовой установки идет речь, не уточняется. Запас хода при полной заправке обоих баков «ё-мобиля» с кузовом «фургон» составляет 1000 километров, а для купе-кроссовера и хэтчбека - 1100 километров. При этом, если «ё-мобиль» заправлять метаном, то выбросы машины соответствуют экологическим требованиям стандарта «Евро-5».

Все прототипы оборудованы климат-контролем, навигационной системой на базе чипов ГЛОНАСС и GPS, системой дистанционного запуска и остановки двигателя, совместимым со стандартом связи 4G мультимедийным центром с возможностью подключения внешних USB-накопителей. Управление всеми функциями «ё-мобиля» осуществляется с помощью сенсорного экрана, расположенного на центральной консоли.

И так далее. Фото в наличии. Имхо, симпатичные машинки.

 

Gvidon
()

[научпоп][занимательная биология] «Рождение сложности»

Купил себе сегодня научнопопулярную книжку по эволюционной биологии «Рождение сложности» Александра Маркова и пропал из этого мира. Очень сложно оторваться. Книга интересно и легко рассказывает о последних открытиях и исследованиях в области происхождения и развития жизни на Земле, начиная с появления первых органических молекул. Настоятельно рекомендую всем интересующимся биологией и вопросом, откуда мы «есть пошли». Креационистов и сомневающихся заставлять читать насильно! Эх, и почему у меня в детстве таких книжек не было? :( P.S. Реквестирую ещё хорошего научпопа. О премии фонда «Династия» знаю, из-за неё изначально книжку и купил.

 

Gvidon
()

[C++] Вопрос по дизайну программы

Бесполезного эстетства псто.
Допустим, есть такая задача (это просто абстрактный пример, реальная задача другая): из точки А в точку Б отправляется колонна автомобилей, для каждого автомобиля через каждые 100 метров пути нужно расчитывать различные параметры: скорость, остаток топлива, марку автомобиля и ещё с десяток. Параметры могут быть одинаковыми для всех машин или быть уникальными только для одной. Как бы это всё красиво описать? Проще всего было бы сделать кучу классов параметров, пронаследовав их от общего предка, для каждого автомобиля завести вектор указателей на эти параметры, и просто пробегать по нему, вызывая виртуальный метод расчёта в зависимости от пройденного пути, но такой вариант отпадает, т.к. параметры имеют разный тип. В голову приходят варианты а-ля паттерн «Посетитель» или что-то совсем жуткое с RTTI. ООП владею плохо, а сделать хочется красиво и расширяемо. Использовать можно только стандартный С++, никаких бустов, Qt и т.д.

 

Gvidon
()

[нобель]Британские учёные

Андрей Гейм и Константин Новосёлов получили Нобелевскую премию по физике. С одной сторны радостно, конечно, за людей, но с другой стороны очень жаль, что оба работают в университете Манчестера, к России уже никакого отношения не имеют, да и вряд ли бы сделали что-то соизмеримое, если бы остались здесь.

Gvidon
()

[perl] poll, потоки и сигналы. Сегфолт

Хочу использовать в перловом скрипте poll, обрабатывать изменения в потоках и перехватывать Ctrl+C. Допустим, это выглядит так:

#!/usr/bin/perl -w
use strict;
use IO::Poll;
use IO::File;
use threads;

$SIG{'INT'} = sub { print "Bye\n"; exit(0); };

my $f = new IO::File("/dev/urandom", "r");
my $p = new IO::Poll;
$p->mask($f => POLLIN);

while (1) {
	$p->poll(1000);
	my @h = $p->handles(POLLIN);
	foreach (@h) {
		threads->create(\&myread, $_)->detach();
	}
}

sub myread
{
	my $f = shift;
	getc $f;
}
Получаю сегфолт при нажатии Ctrl+C. Похоже, что ещё до выполнения обработчика сигнала, программа просто валится, когда понимает, что надо вызывать не стандартный обработчик. Но валится не всегда, иногда работает. Да я криворучка, некрофил и идиот.

 

Gvidon
()

[C] void* и переменное число аргументов

В ##c на irc.freenode.net встретился с мнением, что результат работы такой конструкции

int a; printf("%p", &a);
не определён, а правильно писать
int a; printf("%p", (void *)&a);
Я ещё могу представить себе, что это верно с точки зрения стандарта, но абсолютно не представляю, как может получится что-то кроме верного значения. Может ли это случиться в реальной жизни?

 

Gvidon
()

GtkPaned, отрисовка

Использую GtkVPaned, если не скрывать верхнюю часть полностью, всё нормально. А если утянуть ползунок вверх до предела, а потом вниз, то получаются вот такие вот странные артефакты: http://img186.imageshack.us/img186/8535/screenq.png. Верхняя часть не хочет скрываться и «налезает» на нижнюю. Использую довольно старую версию Gtk+ (2.10.4), может проблема в этом. Никто ни с чем подобным не встречался?

Gvidon
()

[C++] Очень много аргументов у функций

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

 

Gvidon
()

GtkTreeView и выделение

Хочу в GtkTreeView выделение как в табличном процессоре: строку, столбец, произвольные элементы и т.д. Можно ли это как-то сделать? В документации только про строки. Писать свой виджет с игрищами и девицами как-то не хочется.

Gvidon
()

[ищу] Магистратура/аспирантура по ии

Где на просторах нашей необъятной родины можно подучиться ии? При этом получить кроме красивой бумажки какие-нибудь актуальные знания. Ищу не для себя, сразу говном не закидывайте :)

 

Gvidon
()

Прямоугольник в трапецию.

Как в общем случае задать преобразование прямоугольника в трапецию? Какое это вообще будет преобразование, явно не аффинное. Что-то ничего нагуглить не получается.

Gvidon
()

Xfce 4.6.2. Новости до сих пор не было?

23 мая вышел второй релиз Xfce ветки 4.6, направленный на исправление ошибок. Он включает в себя обновлённый и улучшенный перевод компонентов, исправления, а так же использует новые возможности GTK+.
Список изменений: http://www.xfce.org/documentation/changelogs/4.6.2
Загрузить: http://www.xfce.org/download

Gvidon
()

Подружить bison, C++ и Automake

Создал бизоновский парсер на С++ с помощью %skeleton «lalr1.cc», всё отлично работает, но когда попытался подружить его с Automake, был жестоко послан на три буквы. Проблема в том, что Automake запускает бизон в режиме совместимости с yacc, т.е. с ключом -y, а затем получившиеся файлы y.tab.h и y.tab.c самостоятельно переименовывает в соответствии с названием .yy файла. Обычно проблемы нет, т.к. y.tab.c не пытается подключить заголовочник и ему плевать, как тот называется. Однако, в случае со %skeleton «lalr1.cc» всё иначе, исходник генерируется со строчкой #include «y.tab.h», а этот самый y.tab.h после создания переименовывается. Или я идиот или я идиот, одно из двух. Кто-нибудь встречался с такой проблемой?

Gvidon
()

Xfce 4.6.2

В связи с задержкой выхода версии 4.8 разработчики Xfce решили выпустить промежуточную стабильную версию 4.6.2. Релиз, по большей части, направлен на исправление ошибок, никаких принципиальных изменений не будет. Версии пакетов, которые войдут в 4.6.2:

exo-0.3.107 libxfce4menu-4.6.2 libxfce4util-4.6.2 libxfcegui4-4.6.4 Thunar-1.0.2 xfce4-appfinder-4.6.2 xfce4-panel-4.6.4 xfce4-session-4.6.2 xfce4-settings-4.6.5 xfce-utils-4.6.2 xfconf-4.6.2 xfdesktop-4.6.2 xfwm4-4.6.2

Все они уже выпущены, можно качать и собирать. Официальное объявление о новой версии Xfce ожидается сегодня, мейнтейнеры дистрибутивов пока спешно подготавливают пакеты.
Инфа 100%, из списка рассылки.

Gvidon
()

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