LINUX.ORG.RU

Сообщения gogi

 

А чего Херки взбесились?

Форум — Talks

У меня на паре сайтов для поиска работы(программист) висят незакрытые года 2-3 профили. В обычное время если раз в полгода кто профиль просмотрит - уже хорошо. Ну оно как бы и понятно - в поиске профиль всплывает где-то в конце.
А вот за последние 2 дня с десяток просмотров от разных контор по разному профилю и 2 предложения о работе.
Что происходит?

 ,

gogi
()

А чтой-та AMD новые процессоры не выпускает?

Форум — Linux-hardware

Что-то стало в последнее время всё дико тормозить, надумал обновится. В первую очередь хочу обновить платформу. Смотрю процы от AMD(даже топовые типа FX-9xxx) появились в продаже где-то в начале 14го года(ориентируюсь по дате комментариев на сайте DNS). И материнки не самые дешёвые под эти процы тоже далеко не новые. Значит периферийная обвеска не актуальная(например всяких USB3.0 катастрофически мало). Поддержки DDR4 нету.
Получается я покупаю новый комп, а должен отдать деньги за железо 3-5 летней давности разработки? Какой-то я внутренний дискомфорт от этого испытываю.
Неужели у AMD всё так плохо и надо Штеуд брать?
Собственно 2 варианта есть: взять AMD+очень быструю DDR3 на относительно старой материнке или Штеуд+медленную(быстрой пока нету) DDR4 на новой материнке.
По производительности мне очевидно, что AMD будет в плюсе в том сегменте, который меня интересует.
Срач приветствуется.

 , ,

gogi
()

sizeof(conditional operator)

Форум — Development

Что-то я не пойму, почему в этом коде получается разница между языками

$ cat main.c
#include <stdio.h>
#include <inttypes.h>

int main()
{
	uint8_t a = 0;
	uint8_t b = 1;
	size_t sz = sizeof((uint8_t)0 ? a : b);

	printf("sz=%u\n", sz);

	return 0;
}

$ gcc main.c
$ ./a.out 
sz=4
$ g++ main.c
$ ./a.out 
sz=1


Проверял с gcc, clang, MS VC разных версий, варьировал стандарты.
Компилятор C++ вычисляет размер правильно. Наверное большинство людей такой результат и ожидало бы. Чего ж тогда сишному не нравится? Откуда четвёрка, даже на 64-х разрядной машине? Гуру, просветите.

 ,

gogi
()

В России решили создать конкурента iOS и Android

Форум — Talks

Я просто оставлю это здесь.

Ъ:


Минкомсвязи решило, что России нужна национальная мобильная ОС. Создаваться она будет в партнерстве с основанной выходцами из Nokia компанией Jolla. Ее совладельцем недавно стал основатель группы ЕСН Григорий Березкин

14 мая в Минкомсвязи прошла встреча главы ведомства Николая Никифорова с сотрудниками финской компании Jolla и представителями российской IT-индустрии, сообщило в пятницу министерство. На встрече обсуждалось создание в России независимой мобильной операционной системы (ОС), что соответствует планам министерства по импортозамещению. На совещании присутствовали председатель совета директоров Jolla Антти Саарнио, технический директор и главный конструктор компании, а также директор по распространению технологий «Яндекса» Григорий Бакунов и гендиректор разработчика операционных систем «Альт Линукс» Алексей Смирнов.



И да, картинко оттуда как бы намекает и посему доставляет.

 , ,

gogi
()

Какой 4G модем сейчас лучше купить?

Форум — Linux-hardware

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

 

gogi
()

Xelatex + спецификация eskdx + гостовские шрифты

Форум — Development

Добрый вечер

Помогите осилить проблему. Хочу сделать идеальную спецификацию. Сейчас со шрифтами не получается. Шрифт использую гостовский, из КОМПАС 3D. Он установлен в системе и в том же LibreOffice я могу задать тексту любые аттрибуты, а тут нет.

Собственно, сейчас у меня есть вот такой исходник

% Поддержка \No (символ №) убрана из нового babel и вместо него теперь используется \textnumero
\newcommand{\No}{\textnumero}

\documentclass[]{eskdtab}

\usepackage{eskdspec}

\usepackage{ifxetex}
\ifxetex
	% XeLaTeX

	% Generate Unicode chars from accented glyphs, break \textnumero
	%\usepackage{xunicode}

	% "Extras" for LaTeX users of XeTeX.
	\usepackage{xltxtra}
	
	% Help with Russian	
	\usepackage{xecyr}

	% Enagles loading of OpenType fonts
	\usepackage[cm-default]{fontspec}

	% Задаёт основной шрифт документа
	\setmainfont{GOST type A}

	%\setromanfont{GOST type A}
	%\setsansfont{GOST type A}
	%\setmonofont{GOST type A}
	%\newfontfamily\cyrillicfont{GOST type A}

	% Свойства шрифтов по умолчанию
	% Для того чтобы работали стандартные сочетания символов ---, --, << >> и т.п.
	\defaultfontfeatures{Mapping=tex-text}

	% Загружает пакет многоязыковой вёрстки
	% На ЛОРе пишут:	
	% Немного почитал документацию и решил не использовать polyglossia, т.к. в eskdx используется babel (для которого и нужен xecyr).
	% \usepackage{polyglossia}

	% Устанавливает главный язык документа
	% \setdefaultlanguage[spelling = modern]{russian}

	% Объявляет второй язык документа
	% \setotherlanguage{english}

	\renewcommand{\ESKDfontTabBody}{\ESKDfontV\itshape}
\else
	% default: pdfLaTeX
	\usepackage[T2A]{fontenc}
	\usepackage[utf8]{inputenc}
\fi

\ESKDtitle{Блок питания}
\ESKDdocName{Спецификация}

\ESKDauthor{Вася}
\ESKDchecker{Петя}
\ESKDnormContr{Петя}

\ESKDsignature{ПЭ3}

\begin{document}

\begin{ESKDspecification}
& & 1 & ЧМ.6.104.01 & Корпус & 1 & \\
& & 2 & ЧМ.6.104.02 & Седло & 1 & \\
\end{ESKDspecification}
\end{document}

Из него получается вот такой pdf.

Не устраивает, что, во-первых, шрифт по размеру маленький практически во всех ячейчках. Но это частично научился исправлять с помощью \renewcommand. И, во-вторых, шрифт почему-то не наклонный. Ещё директива \defaultfontfeatures не работает, но надеюсь, что в этой спецификации мне это не понадобится.

В логе сборки вот такие сообщения валятся

LaTeX Font Warning: Font shape `EU1/GOSTtypeA(0)/m/sl' undefined
(Font)              using `EU1/GOSTtypeA(0)/m/n' instead on input line 63.

ABD: EveryShipout initializing macros

LaTeX Font Warning: Font shape `EU1/GOSTtypeA(0)/m/it' undefined
(Font)              using `EU1/GOSTtypeA(0)/m/n' instead on input line 65.


LaTeX Font Warning: Font shape `OML/cmm/m/it' in size <16> not available
(Font)              size <17.28> substituted on input line 65.


LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <16> not available
(Font)              size <17.28> substituted on input line 65.


LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <16> not available
(Font)              size <17.28> substituted on input line 65.

[1] 
AED: lastpage setting LastPage
(./spec.aux)

LaTeX Font Warning: Size substitutions with differences
(Font)              up to 1.28pt have occurred.


LaTeX Font Warning: Some font shapes were not available, defaults substituted.

Что со всем этим делать не знаю.

 , ,

gogi
()

Биткойны и налог на доходы

Форум — Talks

Вот тут я постоянно вижу пользователей биткойнов, многие майнят. И иногда наверное выводят в рубли.
А как это выглядит для налоговой? У некоторых людей есть счета в банке и иногда на них поступают средства неизвестно откуда. Можно взять статистику по человеку. Вот его зарплата, столько-то выводит, столько-то вводит в банки. А это откуда? И причём регулярно. Доход? Так на него нужно налог платить. И всё это остаётся в базах данных на годы. Сейчас государству на это похоже пофиг. Но что мешает ему сделать выборку по базам данных через год и спросить?
Я не думаю, что майнеры прямо всё до копеечки прописывают в декларации о доходах.

Я слышал также про схемы, что можно покупать товары за биткойны и менять через посредников на наличку. Это вроде бы решение. Но бывает, что из интернет магазинов ничего не нужно в ближайшее время. А в другое время курс может быть не выгодным. Да и со всякими мутными личностями встречаться не очень хочется.
В общем, срач приветствуется.

 

gogi
()

Как удалить устройство из системы после eject'a?

Форум — Development

Пример для флешки:

# mount | grep sdb
/dev/sdb on /media/QWERTY type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=utf8,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks)
# umount /dev/sdb
# eject -v /dev/sdb
eject: device name is `/dev/sdb'
eject: expanded name is `/dev/sdb'
eject: `/dev/sdb' is not mounted
eject: `/dev/sdb' is not a mount point
eject: `/dev/sdb' is a multipartition device
eject: trying to eject `/dev/sdb' using CD-ROM eject command
eject: CD-ROM eject command succeeded
# ls -l /dev/sdb
brw-rw---T 1 root floppy 8, 16 Mar 15 13:47 /dev/sdb
# ls /sys/block/sdb/
alignment_offset  capability  device             events        events_poll_msecs  holders   power  range      ro    slaves  subsystem  uevent
bdi               dev         discard_alignment  events_async  ext_range          inflight  queue  removable  size  stat    trace

Команда eject делает ioctl CDROMEJECT, после этого с флешки снимается питание (судя по светодиоду). Но устройство продолжает присутствовать для системы. WTF?

gogi
()

gsl - матрицы перемножаются с большой погрешностью

Форум — Development

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

#include <stdio.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_linalg.h>
#include <gsl/gsl_blas.h>

gsl_matrix *MatrixMultiply(gsl_matrix *mat1, gsl_matrix *mat2)
{
	if (!mat1 || !mat2)
	{
		printf("one empty matrix detected!\n");
		return NULL;
	}

	gsl_matrix *r=gsl_matrix_calloc(mat1->size1, mat2->size2);
	gsl_blas_dgemm(CblasNoTrans, CblasNoTrans, 1.0, mat1, mat2, 0.0, r);
	
	return r;
}

void MatrixPrint(gsl_matrix *mat)
{
	if (!mat)
	{
		printf("empty matrix!\n");
		return;
	}

	/* gsl_matrix_fprintf(stdout, mat, "%.10e"); */
	size_t i=0;
	do
	{
		size_t j=0;
		do
			printf("%17.10e ", gsl_matrix_get(mat, i, j));
		while(++j<mat->size2);
		putc('\n', stdout);
	}
	while(++i<mat->size1);
	}

gsl_matrix *InvertMatrix(gsl_matrix *mat)
{
	if(!mat || mat->size1!=mat->size2)
		return NULL;
	
	int s;

	gsl_matrix *r=gsl_matrix_calloc(mat->size1, mat->size1);
	gsl_permutation *perm=gsl_permutation_alloc(mat->size1);
	gsl_linalg_LU_decomp(mat, perm, &s);
	gsl_linalg_LU_invert(mat, perm, r);

	return r;
}

int main(int argc, char **argv)
{
	gsl_matrix *T1=gsl_matrix_calloc(2, 2);
	gsl_matrix *T2=gsl_matrix_calloc(2, 2);

	gsl_matrix_set(T1, 0, 0, 7.0);
	gsl_matrix_set(T1, 0, 1, 3.0);
	gsl_matrix_set(T1, 1, 0, -2.0);
	gsl_matrix_set(T1, 1, 1, 11.0);

	gsl_matrix_set(T2, 0, 0, -3.0);
	gsl_matrix_set(T2, 0, 1, 4.0);
	gsl_matrix_set(T2, 1, 0, 8.0);
	gsl_matrix_set(T2, 1, 1, 2.0);

	MatrixPrint(T1);

	puts("");
	MatrixPrint(InvertMatrix(T1));

	puts("");
	MatrixPrint(MatrixMultiply(T1, InvertMatrix(T1)));

	return 0;
}

Вот что на выходе

$ ./test 
 7.0000000000e+00  3.0000000000e+00 
-2.0000000000e+00  1.1000000000e+01 

 1.3253012048e-01 -3.6144578313e-02 
 2.4096385542e-02  8.4337349398e-02 

 1.0000000000e+00  0.0000000000e+00 
 3.5045023120e-02  1.0014602093e+00 

Компилирую так: gcc -o2 test.c -lgsl -o test (и ещё возможно с -lgslcblas). Проверял на 64-х разрядной генте и в виртуалке с 32-х разрядным squeeze. gsl что там, что там 1.15.

Обратная матрица считается правильно. Не нравится абсолютная погрешность (0,035 вместо 0) и относительная (1,0015 вместо 1). Я работаю с double же, всё элементарно считается на калькуляторе. По идее, погрешности должны быть этак в миллион раз меньше. А сейчас у меня диф. уравнения не решаются, возможно из-за этого.

PS Программу писал по мотивам этого треда.

gogi
()

lor girl

Форум — Talks

Я просто оставлю это здесь. Причём здесь Linux, надеюсь объяснять не надо.

gogi
()

[embedded][системщина] errno=Cannot allocate memory, но памяти достаточно

Форум — Development

Отчего это может быть? В системе 64 МБ памяти, программа по показаниям htop занимает обычно не больше 40%, ulimit'ы выставлены по максимуму:

# ulimit -a
-f: file size (blocks)             unlimited
-t: cpu time (seconds)             unlimited
-d: data seg size (kb)             unlimited
-s: stack size (kb)                unlimited
-c: core file size (blocks)        unlimited
-m: resident set size (kb)         unlimited
-l: locked memory (kb)             unlimited
-p: processes                      unlimited
-n: file descriptors               10240
-v: address space (kb)             unlimited
-w: locks                          unlimited
-e: scheduling priority            0
-r: real-time priority             0

В настоящее время мне известно 2 варианта как можно «доканать» программу:

1) У меня настроен небольшой скрипт /proc/sys/kernel/hotplug и я заставляю ядро вызывать этот скрипт десятки раз, пока не получу ошибку

2) Корень на nfs, сохраняется много отладочных данных. Было подозрение, что это nfs как-то что-то кеширует, пока сегодня не узнал про способ 1.

Так на всякий случай

# free
             total         used         free       shared      buffers
Mem:         61212        36604        24608            0          736
-/+ buffers:              35868        25344
Swap:            0            0            0

# cat /proc/meminfo 
MemTotal:        61212 kB
MemFree:         16728 kB
Buffers:           736 kB
Cached:          15972 kB
SwapCached:          0 kB
Active:          24948 kB
Inactive:        13144 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
AnonPages:       21412 kB
Mapped:           8480 kB
Slab:             2592 kB
SReclaimable:      724 kB
SUnreclaim:       1868 kB
PageTables:        856 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:     30604 kB
Committed_AS:    91180 kB
VmallocTotal:   581632 kB
VmallocUsed:     33180 kB
VmallocChunk:   540668 kB

 

gogi
()

В моей генте хочет поселиться gnome3

Форум — Desktop

Сегодня с обновлением портежа узрел сию пренеприятнейшую новость.
Я его не хочу пускать, это вообще реально?
Попробовал замаскировать третьегномовские пакеты, но упорно не выходит.

gogi
()

[c++] Инициализация в теле конструктора или в списке инициализации - большая ли разница в сгенерированном коде?

Форум — Development

Вот интересно, положим есть класс A с примером инициализации указателей

class A
{
private:
  int *A, *B, *C;
public:
  A() : A(NULL), B(NULL), C(NULL)
  {
    A=NULL;
    B=NULL;
    C=NULL;
  }
};
Тут я привёл 2 возможных типа инициализации. Можно либо так, либо так. Если выполняется тело функции, то каждый указатель обнуляется последовательно. Это поведение кажется логичным для обыкновенной функции, возможно оно таким же будет и для конструктора? Если же в классе есть список инициализации, то компилятор может сгенерировать код для забивания памяти нулями какими-нибудь цепочечными командами ещё до вызова конструктора, что в результате будет несколько производительнее. Правильны ли мои соображения?

 

gogi
()

[Радость тред] Купил ноутбук, причём без семёрочки

Форум — Talks

Сабж. Lenovo thinkpad x201i с core i3, 12". Причём как заказал, цена возрасла как-то резко на 3k рублей. Видимо докатилась новая партия и эхо Фукусимы. Модель должна была поставляться с FreeDos, но оный я не увидел, что слегка удивило. На диске не было разделов и похоже он был пустой, ну да ладно, главное таксу микрософту не отстегнул. Из дистрибутивов выбрал генту, дабы попробовать что-то новое(до этого сидел больше на дебианах и арчах) и насладиться истинной скоростью. За 2-3 дня кое-как накатил и слегка обжил новую систему. Собирать не стал только libreoffice(поставил бинарный пакет). Из железа: wifi и bluetooth завёл почти сразу, как только узнал как оно(железо) отзывается. С чем плохо, так это с засыпанием. Suspend to disk не просыпается. Suspend to RAM пингуется после пробуждения, но на экране ничего не видно. Вобщем, верю и надеюсь, что в новых ядрах с этим будет получше.
А так остальное вроде как работает нормально.
Из планов на будущее - поставить grub2 и попробовать с его помощью загрузить образ cd-диска для прошивки биоса. Да и осилить наконец настройку иксов. Ибо сейчас сижу на драйвере vesa.

gogi
()

[Не готов]Как узнать неанглоязычную метку с FAT-раздела?

Форум — General

На XP задал такую метку

комментарий

При этом получился вот такой выхлоп blkid

/dev/sdc1: LABEL=«M-^JM-^NM-^LM-^LM-^EM-^MM-^R�M-^PM-^HM-^I» UUID=«E659-39B0» TYPE=«vfat»

dosfslabel /dev/sdc1 читает старую простую метку(метка хранится в 2-х местах и ХРень обновила её только в одном кажется).

Отвалилось автомонтирование в гноме, в /dev/disk/by-label/ соостветствующий файл устройства не появился. Похоже бошку снесло всем утилитам и разом.

 

gogi
()

Насколько хорошо hp probook 5320m дружит с линуксом?

Форум — Linux-hardware

Присматриваюсь к http://market.yandex.ru/model.xml?hid=91013&modelid=6474518. Что привлекает - с железом вроде как почти всё в порядке. Ну и не придётся связываться с семёрочкой.

gogi
()

[c/c++] Объединить несколько исходников перед компиляцией в один

Форум — Development

Есть такой известный проект sqlite. Так вот, пишут его как обычный сишный проект, разделённый на десятки-сотни модулей. Но эти же ребята придумали у себя такую хрень как SQLite Amalgamation, примерно то, что вынесено в заголовке. Цель понятна - оптимизация. Так вот, интересует как они это делают? Очевидно же не вручную. Наверняка есть какие-то программы/скрипты. Хорошо, если бы они оказались универсальными и применимыми для любого проекта.

Получается некоторая lto выполняемая ещё до стадии компиляции. Своего рода альтернатива: можно сравнить что лучше и выбрать. Кроме этого, такой механизм может оказаться единственно применимым: у меня, например, gcc при попытке использовать lto падает.

gogi
()

[Не RIP] Qt 4.7.2 released

Форум — Talks

Сабж. Чейнжлоги, ссылки для скачивания сами знаете где брать.

gogi
()

Операторные скобки

Форум — Development

Нашёл в исходниках gcc

#define def_mbuiltin(MASK, NAME, TYPE, CODE)				\
  do									\
    {									\
      if ((MASK) & insn_flags)						\
        builtin_function ((NAME), (TYPE), (CODE), BUILT_IN_MD, NULL, NULL_TREE);	\
    }									\
  while (0)

Зачем так делают? Ведь можно было бы просто

#define def_mbuiltin(MASK, NAME, TYPE, CODE)				\
	{									\
      if ((MASK) & insn_flags)						\
        builtin_function ((NAME), (TYPE), (CODE), BUILT_IN_MD, NULL, NULL_TREE);	\
    }

И так сплошь и рядом. Соглашение у них какое-то наверное.

gogi
()

[ARM]iwmmx на gcc вообще был когда-нибудь юзабельным?

Форум — Development

В последних релизах gcc при попытке компильнуть(кросскомпиляция) простенький пример использования builtin-функций iwmmx стабильно уходит в ICE. Кроме того, есть ещё несколько подобных ошибок. В багзиле всё это висит годами, но видимо nobody cares. Сейчас в моде кортексы и прочие неоны. Что же получается, PXA вроде бы как тупиковая ветвь? Да вроде делает же марвел новые процы на этом ядре(судя по их сайту).

Ну так вот, проблема известна со времён 4.1.x, компиляторы в ветке 4.0.x вроде бы были вообще не юзабельны по другим причинам. Поддержку iwmmx добавили в gcc 3.4 Так вот интересует, там-то хоть оно работало? А может кто нативно успешно компилирует?

 

gogi
()

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