LINUX.ORG.RU

Сообщения Kroz

 

vim: syntax on приводит к E185 Cannot find color scheme 'Code School 3'

Форум — General

Всем привет.

Установил gvim на винде. Поставил цветовую схему codeschool. Теперь при команде syntax on появляется ошибка:

Error detected while processing c:\Program Files (x86)\vim\vim74\syntax\synload.vim
line 19: E185 Cannot find color scheme 'Code School 3'

При этом подсветка синтаксиса работает.

В synload.vim такое:

" Set the default highlighting colors.  Use a color scheme if specified.
if exists("colors_name")
  exe "colors " . colors_name " <<<<<<<<<<<< This is line 19
else
  runtime! syntax/syncolor.vim
endif

Цветовую схему брал отсюда: https://github.com/29decibel/codeschool-vim-theme

Что это может быть и как побороть?

Спасибо.

 ,

Kroz
()

Как умножить бит 1 числа А и бит 2 числа В или операции с битовыми матрицами

Форум — Development

Всем привет!

А теперь более полная постановка задачи. Нужно комбинировать по определенной «битовой» формуле большое количество байт. Формула может меняться. Например: C=a1*b2+a3*b4+a1*b4+a4*b1, где a1a2a3a4 - первое 4-битовое число, b1b2b3b4 - второе 4-битовое число, * - битовое И, + - битовое ИЛИ. Еще операцию можно записать в виде 4x4 матрицы:

   b1  b2  b3  b4
a1  .   *   .   *
a2  .   .   .   .
a3  .   .   .   *
a4  *   .   .   .

Все это нужно делать быстро.

Какие есть для этого инструменты? Подозреваю что это где-то в районе mmx, sse и других подобных инструкций, есть такое?

 , ,

Kroz
()

OpenWRT: пакет хочет ту же версию ядра, но с другим хешем: как победить?

Форум — General

Всем привет!

Вожусь с OpenWRT, устанавливаю пакеты. Вот уже второй пакет хочет ту же версию ядра, что и установленная, но с другим хешем. Как победить? Может как-то установить пакет из исходников? Или что делать?

Лог:

$ opkg install iptables-mod-conntrack-extra
Installing iptables-mod-conntrack-extra (1.4.21-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/packages/base/iptables-mod-conntrack-extra_1.4.21-1_ar71xx.ipk.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for iptables-mod-conntrack-extra:
 *      kernel (= 3.18.10-1-2f5cfa82f457017dd70b9e337217e32a) * 
 * opkg_install_cmd: Cannot install package iptables-mod-conntrack-extra.

$ opkg list-installed kernel*
kernel - 3.18.10-1-db18831523892bc50953de74ea42b8ac

$ opkg list kernel*
kernel - 3.18.10-1-db18831523892bc50953de74ea42b8ac

 

Kroz
()

Недостатки ssh туннелей

Форум — General

Всем привет!

Нужно бы иметь доступ к домашней локалке извне. Много и долго читал про OpenVPN, IPSec, до попробовать руки пока не дошли. Потом случайно попал на статью про ssh туннели. Не прочтение статьи и первый удачный (!) эксперимент ушло минут 5.

Вопрос: в чем минусы ssh туннелей?

 , ,

Kroz
()

Полный список спецификации даты в Linux

Форум — General

Всем привет!

Заинтересовался командой date. Примеры:

$ date
Вс мар 29 20:27:42 EEST 2015
$ date --date=now
Вс мар 29 20:27:47 EEST 2015
$ date --date=tomorrow
Пн мар 30 20:27:50 EEST 2015
$ date --date="next month"
Ср апр 29 20:27:59 EEST 2015
$ date --date=s
Сб мар 28 20:00:00 EET 2015
$ date --date=t
Сб мар 28 19:00:00 EET 2015
$ date --date=z
Вс мар 29 02:00:00 EET 2015
Вопрос: где можно найти полный список того, что можно указывать после --date=?

 

Kroz
()

Баг в ffmpeg ebuild?

Форум — General

Сегодня прилетело:

!!! The ebuild selected to satisfy "media-video/ffmpeg:0=" has unmet requirements.
- media-video/ffmpeg-2.6::gentoo USE="X aac aacplus alsa amr amrenc bzip2 celt encode faac gme gpl gsm hardcoded-tables iconv jack jpeg2k ladspa libass libsoxr modplug mp3 network opengl openssl opus postproc quvi rtmp schroedinger sdl speex ssh theora threads truetype twolame vorbis vpx wavpack webp x264 x265 xcb xvid zlib zvbi (-altivec) (-armv5te) (-armv6) (-armv6t2) (-armvfp) -bluray -bs2b -cdio -cpudetection -debug -doc -examples -fdk -flite -fontconfig -frei0r -fribidi -gnutls -iec61883 -ieee1394 -libcaca -libv4l -lzma (-mipsdspr1) (-mipsdspr2) (-mipsfpu) (-neon) -openal -oss -pic -pulseaudio -samba -static-libs -test -v4l -vaapi -vdpau" CPU_FLAGS_X86="mmx sse sse2 -3dnow -3dnowext -avx -avx2 -fma3 -fma4 -mmxext -sse3 -sse4_1 -sse4_2 -ssse3 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart trasher"

  The following REQUIRED_USE flag constraints are unsatisfied:
    cpu_flags_x86_sse? ( cpu_flags_x86_mmxext )

Вроде бы все понятно: коль уж выставлено sse, то хочет mmxext. Только вот cat /proc/cpuinfoх не выдает никакого mmxext (Core2Duo), а вот здесь написано следующее:

MMXEXT (like 3DNow!) is an AMD-specific extension that was added in some old AMD CPUs back before AMD and Intel settled on a common SIMD instruction set. The MMXEXT instructions have since been superseded by SSE in both AMD and Intel CPUs, so Intel never added support for them.

The solution to this particular problem is to fix the following bug in libmpeg2:

...

«MMXEXT» should be changed to «MMX» here (or the clause should be deleted entirely if the MMX flag is not needed in SSE environments).

Баг? Или что-то упускаю?

 

Kroz
()

Помогите раскусить nfs4 и user/group id mapping

Форум — General

Тема избитая, но нигде не смог найти решения.

Суть: помогите настроить статическую трансляцию юзеров между NFSv4 сервером и клиентом. Нюанс: доступ к настройкам сервера ограничен, а на клиенте можно делать что угодно; детали - ниже.

Есть NAS; он экспортирует директорию по nfs.
На нем есть юзеры admin (1024), kroz(1027), а также root(0).
Конфигурация в GUI: NFSv4, NFSv4 domain = DDD, Kerberos Settings пусты; пункт «ID mapping» не активен (он в разделе Kerberos). Если надо больше - говорите, есть доступ по ssh.
Так как это NAS, хотелось бы ограничиваться конфигом в GUI если это возможно.

Есть клиент; он монтирует директорию.
На нем есть юзеры kroz (1000), а также root(0).
Вот после монтирования от рута:

192.168.0.205:/volume1/data1 on /mnt/dw type nfs4 (rw,noexec,nosuid,nodev,addr=192.168.0.205,clientaddr=192.168.0.200,_netdev)

Вот что я вижу на сервере через ssh (да и через GUI):

$ ls -la
drwxrwxrwx    6 root     root          4096 Feb 28 16:41 .
drwxr-xr-x   11 root     root          4096 Feb 28 16:32 ..
drwxr-xr-x    2 1000     1000          4096 Feb 28 16:41 1
drwxr-xr-x   24 admin    users         4096 Feb 28 16:29 music
drwxr-xr-x    2 kroz     kroz          4096 Feb 28 16:38 test
drwxr-xr-x    7 admin    users         4096 Dec 31  2013 video
Это образовалось после множества экспериментов.

А вот что я вижу на клиенте:

$ ls -la 
total 20
drwxrwxrwx  6 root root 4096 фев 28 16:41 .
drwxr-xr-x  8 root root  224 дек 13 23:01 ..
drwxr-xr-x  2 root root 4096 фев 28 16:41 1
drwxr-xr-x 24 root root 4096 фев 28 16:29 music
drwxr-xr-x  2 root root 4096 фев 28 16:38 test
drwxr-xr-x  7 root root 4096 дек 31  2013 video
Что за ерунда? Куда подевались все пользователи?

От рута я могу создавать и удалять директории/файлы, но chown не работает.

Вот /etc/idmapd.conf на клиенте:

$ cat idmapd.conf | grep -v "^#"
[General]
Verbosity = 10
Domain=DDD
[Mapping]

Nobody-User = nobody
Nobody-Group = nobody

[Translation]

Method=static
 
[Static]

admin@DDD = kroz

[UMICH_SCHEMA]
Клиент:
$ /etc/init.d/nfsclient start
 * Starting rpcbind ...[ ok ]
 * Starting NFS statd...[ ok ]
 * Setting up RPC pipefs ...[ ok ]
 * Starting idmapd ...
/usr/sbin/rpc.idmapd -vvv
rpc.idmapd: libnfsidmap: using domain: DDD
rpc.idmapd: libnfsidmap: Realms list: 'DDD' 
rpc.idmapd: libnfsidmap: processing 'Method' list
rpc.idmapd: libnfsidmap: loaded plugin /usr/lib/libnfsidmap/static.so for method static
[ ok ]
 * Starting NFS sm-notify ... [ ok ]

$ ps ax | grep idmapd
10967 ?        Ss     0:00 /usr/sbin/rpc.idmapd -vvv
18847 pts/1    S+     0:00 grep --colour=auto idmapd
Как по мне - ни на что не влияет. /etc/init.d/nfsclient запускал, и не запускал - всё равно.

Вот /etc/exports на сервере:

$ cat /etc/exports
/volume1/data1  192.168.0.200(rw,async,no_wdelay,insecure,no_root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100) 

Вот /etc/idmapd.conf на сервере:

$ cat /etc/idmapd.conf 
[General]
Domain=DDD
[Mapping]
Nobody-User=guest
Nobody-Group=users
[Translation]
Method=nsswitch
GSS-Methods=static,synomap
[Static]
Сервер:
$ ps | grep idmap
25879 root      3084 S    /usr/sbin/idmapd
26575 root      4048 S    grep idmap

Мне нужно на клиенте где-то указать, что kroz на сервере - это kroz на клиенте, или что юзер 1027 на сервере, это 1000 на клиенте (да, я в курсе, что в конфиге про admin - не суть). Это всё, что мне нужно. Желательно безо всяких kerberos и LDAP.

Куда копать? Или приведите свои рабочие конфиги, чтобы сделать по образу и подобию...

Уже столько времени на это убил, не могу допереть где и что должно быть! ЛОР, спасай.

cast Pinkbyte, teisatsu, ESTAF

 ,

Kroz
()

Как выбрать инжектор для PoE (Power-Over-Ethernet) совместимого девайса?

Форум — General

Всем привет!

Торможу по поводу PoE

Есть девайс, у которого написано:
Питание: 12В DC ± 10%, РоЕ (802.3af)

Присмотрел у нему инжектор: TP-Link TL-POE150S, у которого написано:
Интерфейс: 1 разъём питания 48 В постоянного тока
Совместимость с устройствами питания, поддерживающими стандарт IEEE 802.3af


Теперь вопрос: какое у инжектора напряжение на выходе? Почему оно вообще не указано? Логика подсказывает, что либо 48V (и тогда мой девайс должен сгореть), либо что-то кроется за '802.3af'. Как вообще выбрать совместимый PoE инжектор?


 ,

Kroz
()

Вопросы по DD-WRT vs OpenWRT

Форум — General

Всем привет!

Вопрос про различия DD-WRT vs OpenWRT и что когда ставить.

Из того что нагуглил:
1. DD-WRT - вроде не модульная. Хотя я что-то встречал про какие-то модули (например, как-то доставляется knockd). OpenWRT - изначально модульная. Как я понял, из-за этого должна потреблять меньше памяти. Так?
2. DD-WRT заточена на GUI конфигурацию, та что HTML морда там развитая; OpenWRT заточен на конфигурацию из CLI; HTML морда там ставится модулем LuCl, но вот про ее возможности я так и не понял
3. По идее в OpenWRT больше фич (которые доставляются модулями). Но я не находил какую-то инфу на тему «OpenWRT это умеет, DD-WRT - нет» или наоборот. Из того что нашел - OpenWRT умеет IPsec, DD-WRT - нет. Но хотелось бы более полную инфу.
4. Еще встречал сообщения, что Open-WRT более стабилен. Это так?
5. В OpenWRT можно зайти по telnet/ssh; в DD-WRT можно?

Что еще забыто?
что бы вы рекомендовали поставить на рутер?

И еще: есть где-то полный (или просто большой) список модулей для OpenWRT. Только не вот эту фигню так как названия архивов сами по себе ничего не говорят. Интересно бы иметь хотябы краткое описание, а в идеале - man по установке и настройке.

Спасибо.

 ,

Kroz
()

xmind/java/glib крашится. В багзиллу или что-то простое?

Форум — General

Вcем привет.

Крашится xmind, хотя, по-моему, проблема глубже.
Как воспроизвести: запускаем xmind, Edit > Preferences > Keys , потом нажимаем ок.
Лог вывода ниже. Почему мне кажется, что проблема глубже:
- если запустить из-под рута, то такого нет
- настораживает строка «The crash happened outside the Java Virtual Machine in native code.»
- по-моему дело не xmind, так как eclipe тоже как-то нестабильно работает, но это субъективно.

При запуске xmind пишет:

(XMind:24594): Pango-WARNING **: /usr/lib/pango/1.6.0/modules/pango-basic-fc.so: cannot open shared object file: No such file or directory
Есть идеи что делать, или сразу в багзиллу Gentoo?

Лог краша:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x6bde51ba, pid=19883, tid=3061889856
#
# JRE version: Java(TM) SE Runtime Environment (7.0_76-b13) (build 1.7.0_76-b13)
# Java VM: Java HotSpot(TM) Server VM (24.76-b04 mixed mode linux-x86 )
# Problematic frame:
# C  [libgobject-2.0.so.0+0x311ba]  g_type_check_instance_is_fundamentally_a+0x1a
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/kroz/hs_err_pid19883.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Еще инфа:
- система: 32бит
- gcc-4.8.3

vm_info: Java HotSpot(TM) Server VM (24.76-b04) for linux-x86 JRE (1.7.0_76-b13), built on Dec 18 2014 17:29:38 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8

VM Arguments:
jvm_args: -Dfile.encoding=UTF-8 -Dosgi.instance.area=@user.home/.xmind/workspace-cathy -Dosgi.configuration.area=@user.home/.xmind/configuration-cathy 
java_command: /opt/xmind/Commons/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -os linux -ws gtk -arch x86 -showsplash -launcher /opt/xmind/XMind/XMind -name XMind --launcher.libra
ry /opt/xmind/Commons/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20120913-144807/eclipse_1502.so -startup /opt/xmind/Commons/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1
813.jar --launcher.overrideVmargs -exitdata 548003 -vm /usr/bin/java -vmargs -Dfile.encoding=UTF-8 -Dosgi.instance.area=@user.home/.xmind/workspace-cathy -Dosgi.configuration.area=@user.home/.xmin
d/configuration-cathy -jar /opt/xmind/Commons/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
Launcher Type: SUN_STANDARD

 ,

Kroz
()

Сколько памяти нужно Gentoo

Форум — General

Это тред рожден эмоциями, но, может кому-то даст полезную информацию.

Итак, имеется:
- Gentoo, ~x86, последние апдейты
- qlist -IC | wc -l выдает 1296
- openrc
- kde5
- Сейчас запущено konsole, kwrite, dolphin, opera (~10 вкладок в т. ч. youtube), clementine, LibreOffice Writer, ради спортивного интереса запустил SMplayer с фильмом
- на фоне компилится мир

Так вот, это всё использует порядка 2GiB памяти. Это если кто до сих пор задается вопросом сколько нужно памяти для Gentoo.

А теперь нытик (в тегах ведь указано, значит надо). У меня давеча было 2Gb памяти, и я прикупил еще 4Gb, итого 6Gb. И с тех пор я еще не помню чтобы у меня использовало хотябы 2.5Gb. Теперь вот мучает жаба за купленные ненужные гигабайты :(. Вот.

Да, я не гоняю виртуалок, не редактирую фотки и видео.

Вобщем, для «обычных домашних задач» в Gentoo 3Gb памяти и правильно настроенный swappiness хватит всем.

Да, ещё принимаю идеи чем можно забить память.

 , ,

Kroz
()

Шаблонный класс с поддержкой и копирования, и перемещения (rvalue) + тип без конструктора копирования

Форум — Development

Всем привет.

Немного перефразирую тему. Представим, что мы пишем аналог std::vector и его функции push_back. Фишка в том, что эта функция бывает в двух вариантах: копирование и перемещение; из документации:

void push_back (const value_type& val);
void push_back (value_type&& val);
А теперь у нас есть тип без конструктора копирования, но с конструктором перемещения. Проблема в том, что в таком варианте код не компилируется, так как вариант функции с копированием будет некорректным. Чтобы было понятней, у меня такое:
template<class TValue, typename TIndex>
TIndex CSet<TValue,TIndex>::Add(const TValue &value)
{
	TIndex result;
	TValue copyValue(value);
	
	result=Add( std::move(copyValue) ); // Функция добавления с перемещением

	return result;
}

------

std2.cpp: In instantiation of ‘TIndex CSet<TValue, TIndex>::Add(const TValue&) [with TValue = CElement; TIndex = TElementKey]’:
std2.cpp:1366:2:   required from here
std2.cpp:713:24: error: use of deleted function ‘CElement::CElement(const CElement&)’
  TValue copyValue(value);
                        ^
std2.cpp:556:2: error: declared here
  CElement(const CElement &copyValue)=delete;
  ^

Как сделать шаблонный класс с поддержкой и копирования, и перемещения (rvalue), и чтобы это работало с типом без конструктора копирования? Ведь в std::vector это как-то делают?

P. S. Исходник std::vector::push_back мне взрывает моск строкой с _Alloc_traits . Думаю, ответ именно в этой строке, но никак не могу его ухватить. Поможете?

      void
      push_back(const value_type& __x)
      {
        if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
          {
            _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
                                     __x);
            ++this->_M_impl._M_finish;
          }
        else
#if __cplusplus >= 201103L
          _M_emplace_back_aux(__x);
#else
          _M_insert_aux(end(), __x);
#endif
      }

#if __cplusplus >= 201103L
      void
      push_back(value_type&& __x)
      { emplace_back(std::move(__x)); }

 ,

Kroz
()

Объясните про allocator_traits::construct в описании std::vector::push_back()

Форум — Development

Всем привет.

Вчитываюсь в документацию по std::vector. Написано:

http://www.cplusplus.com/reference/vector/vector/push_back/ , секция Exception safety:
If allocator_traits::construct is not supported with val as argument, it causes undefined behavior.

Объясните, плиз:
1. Вкратце, что такое allocator_traits::construct и зачем оно ему нужно.
2. Наглядный пример когда allocator_traits::construct таки не поддерживается, следовательно имеет место undefined behavior.
3. Как проверить, что allocator_traits::construct поддерживается (с помощью static_assert и/или traits).

Спасибо.

 ,

Kroz
()

Шаблоны c++: Чaстичная спецификация конструктора.

Форум — Development

Всем привет.

Есть шаблон такого рода:

template<class TValue, typename TIndex>
class CSet{
public:
  CSet();
};

template<class TValue, typename TIndex>
CSet<TValue,TIndex>::CSet()
{
  ...
};

А теперь нужно сделать отдельный конструктор для TIndex=char, притом TValue остается шаблонным. Нерабочий пример:

template<class TValue>
CSet<TValue,char>::CSet()
{
  ...
};
Если специфицировать оба типа - все работает. А нужно только один. Как?

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

 , ,

Kroz
()

C++ интересно выравнивает память для объектов: зачем и как избежать?

Форум — Development

Всем привет!

Как вы думаете, какой размер объекта, в котором одна переменная bool, и одна переменная uint16 (и больше нет других переменных)? Я думал 3 байта. Оказывается 4.

После экспериментов было выяснено, что все объекты выравниваются по размеру наиболее «тяжелого» типа, но не более 4 байт (думаю, зависит от платформы, у меня 32 бит).

Вопросы:
1. Это в нормально или это undefined behaviour и особенность gcc?
2. Как это отключить, и желательно в исходнике (не ключем компилятора)?

Спасибо.

P. S. Эксперимент:

#include<cstdint>
#include<iostream>
#include<iomanip>

class C01{
	bool a;
};
class C02{
	bool a;
	bool b;
};
class C03{
	bool a;
	bool b;
	bool c;
};
class C04{
	uint16_t a;
};
class C05{
	uint16_t a;
	bool b;
};
class C06{
	uint16_t a;
	bool b;
	bool c;
};
class C07{
	uint16_t a;
	bool b;
	bool c;
	bool d;
};
class C08{
	uint32_t a;
};
class C09{
	uint32_t a;
	uint16_t b;
};
class C10{
	uint32_t a;
	uint16_t b;
	uint16_t c;
};
class C11{
	uint32_t a;
	uint16_t b;
	uint16_t c;
	bool d;
};
class C12{
	uint64_t a;
	bool d;
};
class C13{
	uint64_t a;
	uint16_t b;
};
class C14{
	uint64_t a;
	uint16_t b;
	uint16_t c;
	bool d;
};

int main()
{
	std::cout << "Bigget type: bool" << std::endl;
	std::cout << "sizeof(C01)=" << sizeof(C01) << std::endl;
	std::cout << "sizeof(C02)=" << sizeof(C02) << std::endl;
	std::cout << "sizeof(C03)=" << sizeof(C03) << std::endl;
	std::cout << "Bigget type: uint16_t" << std::endl;
	std::cout << "sizeof(C04)=" << sizeof(C04) << std::endl;
	std::cout << "sizeof(C05)=" << sizeof(C05) << std::endl;
	std::cout << "sizeof(C06)=" << sizeof(C06) << std::endl;
	std::cout << "sizeof(C07)=" << sizeof(C07) << std::endl;
	std::cout << "Bigget type: uint32_t" << std::endl;
	std::cout << "sizeof(C08)=" << sizeof(C08) << std::endl;
	std::cout << "sizeof(C09)=" << sizeof(C09) << std::endl;
	std::cout << "sizeof(C10)=" << sizeof(C10) << std::endl;
	std::cout << "sizeof(C11)=" << sizeof(C11) << std::endl;
	std::cout << "Bigget type: uint64_t" << std::endl;
	std::cout << "sizeof(C12)=" << sizeof(C12) << std::endl;
	std::cout << "sizeof(C13)=" << sizeof(C13) << std::endl;
	std::cout << "sizeof(C14)=" << sizeof(C14) << std::endl;
	return 0;
};
Компиляция:
$ g++ -std=c++11 type_test.cpp -o type_test && ./type_test
Реультат:
Bigget type: bool
sizeof(C01)=1
sizeof(C02)=2
sizeof(C03)=3
Bigget type: uint16_t
sizeof(C04)=2
sizeof(C05)=4
sizeof(C06)=4
sizeof(C07)=6
Bigget type: uint32_t
sizeof(C08)=4
sizeof(C09)=8
sizeof(C10)=8
sizeof(C11)=12
Bigget type: uint64_t
sizeof(C12)=12
sizeof(C13)=12
sizeof(C14)=16

P. P. S. static_assert рулит!

 

Kroz
()

Какую лицензию для открытого ПО вы предпочитаете и почему?

Голосования — Голосования

Всем привет.

Если у вас есть открытые проекты - под какими лицензиями вы их распространяете? Если нет проектов - какая лицензия на ваш взгляд является самой правильной?

В комментариях напишите почему именно эта (эти), а не другие: плюсы/минусы. Если есть варианты - для каких случаев какие лицензии лучше всего подходят и почему.

Речь идет только об открытых лицензиях на софте, включая библиотеки.

  1. GPLv3 348 (38%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Кто все эти люди? 299 (32%)

    **********************************************************************************************************************************************************************************************************************************************************************************

  3. LGPLv3 171 (19%)

    *************************************************************************************************************************************************************

  4. GPLv2 164 (18%)

    ******************************************************************************************************************************************************

  5. ISC / MIT / X11 License 151 (16%)

    ******************************************************************************************************************************************

  6. BSD License New (3-пунктовая) 115 (12%)

    *********************************************************************************************************

  7. WTFPL 109 (12%)

    ****************************************************************************************************

  8. BSD License Simplified (2-пунктовая) 104 (11%)

    ***********************************************************************************************

  9. LGPLv2.1 102 (11%)

    *********************************************************************************************

  10. Apache License 2.0 97 (10%)

    *****************************************************************************************

  11. CC0 , Public domain 80 (9%)

    *************************************************************************

  12. BSD Licence (4-пунктовая) 74 (8%)

    ********************************************************************

  13. AGPLv3.0 64 (7%)

    **********************************************************

  14. Beerware/Pizzaware 30 (3%)

    ***************************

  15. Apache License 1.1 29 (3%)

    **************************

  16. Mozilla Public License (MPL) version 2.0 29 (3%)

    **************************

  17. Другое (подробней в комментариях) 25 (3%)

    **********************

Всего голосов: 1991, всего проголосовавших: 924

 

Kroz
()

skype не логинится или не работает звук

Форум — General

Всем привет!

Цель данного топика:
- Предлагаю сюда перенаправять тех, кто еще не в курсе
- Собираем решения здесь

Вот пока инфа от меня, если есть что добавить/исправить - говорите.

Суть:
- Если у вас skype ниже версии 4.3, то вы не можете залогиниться - это специально так сделала Микрософт.
- Возможно вы все еще можете заходить в skype ниже 4.3 - это если у вас был настроен автологин, то есть если при запуске skype вам не нужно вводить пароль. При этом все работает (что говорит о том, что, скорее всего, эта блокировка искусственная).
- Если вы обновились до новой версии, и у вас не работает звук - смотреть в сторону pulseaudio: теперь голосовые функции skype без него не работают (что может быть для некоторых причиной нежелания обновляться до 4.3).

Варианты решений:
Вариант 1. Обновиться до 4.3. Самый правильный способ. Подходит всем, кроме тех, кто не хочет видеть pulseuadio у себя на компьютере.
Вариант 2. Ставим 4.3 (pulseaudio устанавливать не обязательно), запускаем, настраиваем автологин, выходим (exit, а не sign out), удаляем 4.3, ставим 4.2, profit. Внимание: Автологин-сессия имеет свойство слетать через некоторое (случайное) время. То есть вчера могло работать, а сегодня - писать ошибку; в таком случае опять повторяем трюк с установкой 4.3. Подходит для тех, кому нужно быстро решить проблему, а находить постоянное решение - потом.
Вариант 3. apulse - эмулятор API звукового сервера PulseAudio через ALSA (новость на OpenNet). Он требует установленного pulseaudio, но главная ценность данной программы - она не дает pulseaudio запуститься (что проверяется посредством ps ax | grep pulseaudio). Запускать как aplay skype.
Вариант 4. skype_oss_wrapper - эмулятор API звукового сервера PulseAudio через OSS (обсуждение). в отличии от предыдущего решения не требует установки pulseaudio. Теоретически требует на системе OSS; хотя с ALSA (с эмуляцией OSS) тоже получилось запустить, но к работе были замечания. После установки запускать как skype_oss, который является просто bash скриптом, реализующим LD_LIBRARY_PATH (не путать с LD_PRELOAD). Разработчик - Waterlaz, спасибо ему.
Вариант 5. Ещё одно решение: https://bbs.archlinux.org/viewtopic.php?pid=1447410#p1447410
Just grabbed a hex editor (hexedit from the repos), opened /usr/lib32/skype/skype, searched for 4.2.0.13 in the ASCII (Press tab to switch to ASCII and '/' to search), replaced it with 4.3.0.37 (CTRL-X to save), and it works.
Патч здесь: https://aur.archlinux.org/packages/skype42/ (спасибо aidan за наводку). P. S. В некоторых системах это файл /opt/bin/skype . Подходит для тех, кто по каким-то причинам не может ничего менять на системе.

Способ уже не работает.
Вариант 6. Android Skype - одно из приложений, запускаемое в WEB-браузере Chrome. Инструкция здесь. Заявлено, что метод работает в Chrome/Chromium 37 на системах x86_64. Кто пробует - отписывайтесь.

 ,

Kroz
()

Темные KDE Frameworks 5

Галерея — Скриншоты

Всем привет!

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

Система: Gentoo
DE: KDE Frameworks 5.1
Шрифты: DejaVu Sans
Workspace Theme: Breeze Dark
Color Scheme: Obisidan Coast

На скриншоте:
- Окна konsole, kwrite, dolphin, а также иконка kmix, плюс скриншот делался с помощью ksnapshot - все это из KDE 4.13
- conky стилизованные под нативный интерфейс. Над ними панелька чтобы максимизированные окна не налазили.
- Справа внизу «диалог» который появляется по нажатии на иконку сети. Обычно он сразу исчезает если убрать фокус, но маленькая синяя кнопочка в правом верхнем углу позволяет это предотвратить.

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

Правда пока еще сыровато. Плазма течет, изредка падает, настройки виджетов глючат. И вообще есть недоработки в разных местах.

Но работать можно.

Больше здесь: Установка KDE5 в Gentoo (комментарий).

 , ,

Kroz
()

Древняя магия и колдовство

Форум — Talks

В порядке бреда или «еще один все понял».

Сейчас у нас тачскрины на телефонах: достаешь телефон, слайд - разлочил (ну, или пароль «нарисовал»). Коснулся там, там, прокрутил, увеличил, уменьшил,... жесты в общем. Google Glass уже тоже никого не удивишь. Kinekt. 3D экраны не за горой. Нанороботы и прочая футуристическая ерунда уже не кажется чем-то нереальным.

Теперь представляем, что подходишь ты к чему-то. Перед тобой возникает интерфейс видимый только тебе. То ли аналог Google Glass (типа такого: https://www.youtube.com/watch?v=5R1snVxGNVs ), то ли аналогичные линзы, в общем, варианты реализации есть. Ты нажал на кнопки, сделал пару жестов. Получил нужный эффект.

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

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

 

Kroz
()

Неправильный рендеринг русских букв terminus-font во framebuffer (fbterm)

Форум — General

Всем привет!

Установил fbterm, который в консоли выводит шрифты, настраиваемые с помощью fontconfig (как и в иксах). Установил terminus, подстроил размеры так, чтобы были одн в один с терминальными. Теперь интересная штука: латиница выводится нормально, а русские буквы получаются слишком широкими: http://postimg.org/image/slqlhbe6r/ . Что с этим делать?

Подозреваю, что можно как-то «перекомпилировать» шрифты? (Или конвертнуть терминальный шрифт в не-терминальный). Если да - как это сделать?

Инфа:

$ emerge -pv --nodeps terminus-font
[ebuild   R    ] media-fonts/terminus-font-4.38  USE="X center-tilde pcf psf ru-g -a-like-o -distinct-l -quote -raw-font-data -ru-dv -ru-i -ru-k" 0 kB
$ cat /etc/conf.d/consolefont | grep ter
consolefont="ter-u16b"
$ cat .fbtermrc
font-names=Terminus:bold
font-size=14
font-height=+2
$ fc-match -v "Terminus-14:bold"
Pattern has 34 elts (size 48)
        family: "Terminus"(s)
        style: "Bold"(w)
        slant: 0(i)(s)
        weight: 200(i)(s)
        width: 100(i)(s)
        size: 14(f)(s)
        pixelsize: 14(f)(s)
        spacing: 110(i)(w)
        foundry: "xos4"(w)
        antialias: False(w)
        hintstyle: 1(i)(w)
        hinting: True(w)
        verticallayout: False(s)
        autohint: False(w)
        globaladvance: True(s)
        file: "/usr/share/fonts/terminus/ter-x14b.pcf.gz"(w)
        index: 0(i)(w)
        outline: False(w)
        scalable: False(w)
        dpi: 75(f)(s)
        rgba: 1(i)(w)
        scale: 1(f)(s)
        charset: 
        0000: ffffffff ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
        0001: ffffffff ffffffff ffffffff ff3fffff 6005c040 00800000 00000000 00000000
        0002: 0f000000 008c0000 0b100000 00040000 00040000 38000000 3b0000c0 00000000
        0003: 0000104f 00000200 00000000 00000000 ffffd7f0 fffffffb 00007fff 00180000
        0004: ffffffff ffffffff ffffffff 00000000 3fff0000 0fcfcc3f ffff0000 033ffffc
        001e: 00000000 00300000 00000000 00000000 00000000 33000000 00003c00 03000030
        0020: ffff07ff 560d0047 00000000 80000000 00000000 00005080 00000000 00000000
        0021: 0040c000 00000044 00000000 00000000 003f0000 00200100 003f0000 00000000
        0022: c6040568 00000780 00000100 00000033 00000000 00000000 00000000 00000000
        0023: 00010004 00000003 00000000 00000000 00000000 3c000000 00000000 00000000
        0024: 00003e00 00000010 00000000 00000000 00000000 00000000 00000000 00000000
        0025: ffffff0f ffffffff ffff0fff fff1ffff ffcfffff 10445001 03008c41 00000000
        0026: 00000000 1c000000 00000005 00000c69 00000000 00000000 00000000 00000000
        00f6: 00000000 00000000 00000000 00000000 00000000 40000000 00000000 00000000
        00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 20000000
(w)
        lang: aa|af|av|ay|az-az|ba|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|chm|co|cs|cv|da|de|el|en|eo|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gn|gv|haw|ho|hr|hu|ia|ig|id|ie|ik|io|is|it|kaa|ki|kk|kl|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sah|se|sel|sh|sk|sl|sm|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tg|tk|tl|tn|to|tr|ts|tt|tw|tyv|uk|uz|vo|vot|wa|wen|wo|xh|yap|zu|ak|an|crh|csb|fat|fil|hsb|ht|jv|kj|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|pap-an|pap-aw|rn|rw|sc|sg|sn|su|ty|za(s)
        fontversion: 0(i)(s)
        fontformat: "PCF"(w)
        embeddedbitmap: False(w)
        decorative: False(s)
        namelang: "ru"(s)
        prgname: "fc-match"(s)
        hash: "sha256:ff449a41ddee49640c059fa716540322b5cf39e37c27ac23e2a3bc1fbe771a97"(w)
        postscriptname: "Terminus"(w)
        pixelsizefixupfactor: 1(f)(w)
        scalingnotneeded: True(w)

 , , ,

Kroz
()

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