LINUX.ORG.RU

Сообщения hlebushek

 

Избранное VS отслеживать

Форум — Linux-org-ru

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

 

hlebushek
()

C++ общая переменная у двух замыканий

Форум — Development

Некоторое время назад я читал Javascript: The Good Parts и узнал, что в джаваскрипте нет уровней приватности членов, поэтому там делают энкапсуляцию с помощью лямбд. Я задумался, можно ли сделать так же в C++?

Простейший случай с одним замыканием - можно:

#include <iostream>

auto get_counter() {
    int i {0};
    return [=]() mutable {
        return i++;
    };
}

int main() {
    auto counter = get_counter();
    for (auto i = 0; i < 6; ++i) {
        std::cout << counter() << std::endl;
    }
}

// выведет 0, 1, 2, 3, 4, 5,

Но в джаваскрипте я могу сделать что-то еще интереснее:

var create_counter = function() {
    var i = 0;
    var increment = function() {
        i++;
        return i;
    };
    var reset = function() {
        i = 0;
    };
    var counter = {
        increment: increment,
        reset: reset
    };
    return counter;
};

var counter = create_counter();
for (var j = 0; j < 5; j++) {
    console.log(counter.increment());
}
counter.reset();
console.log(counter.increment());

Выведет

1
2
3
4
5
1

Видно, что у функций increment и reset захвачена общая переменная i, и они ее могут обе читать и менять. Как так же сделать в C++?

 , ,

hlebushek
()

Осилить питоновский ООП

Форум — Development

Я знаю, как писать нормальный поддерживаемый код в ооп-парадигме на C# и С++. А в python вроде тоже есть ООП, но какой-то стремный и непонятный. Что бы такого почитать, чтобы понять, как писать питонячий код, чтобы в нем потом и я, и другие, могли разобраться?

 ,

hlebushek
()

px - моветон?

Форум — Web-development

Указывать размеры элементов на страницах в px - моветон или нет? А то ведь на экранах с разными dpi будет отображаться по-разному. Я об этом никогда не задумывался, пока сидел за десктопами с обычными днище-экранами, а как переполз на ноут с 13-дюймовым fullhd дисплеем, понял, что в фаерфоксе надо менять [bold]devPixelsPerPx[/bold] на кастомное значение, иначе все слишком мелко, а в других браузерах и вовсе костылями надо как-то допиливать.

Если не в px, то в чем?

 ,

hlebushek
()

Обновить список приложений в krunner, не убивая его

Форум — Desktop

Если я устанавливаю какую-нибудь новую программу, которая добавляет свой .desktop файл, оно не появляется автоматически в krunner, пока его не перезапустишь. Приходится в терминале делать killall krunner && krunner & exit Может быть есть способ лучше?

 ,

hlebushek
()

Wireshark не ловит wifi пакеты между другими устройствами

Форум — Security

Расчехляю wireshark или tshark, натравливаю на wlan0, а он ловит только пакеты от этого компьютера, адресуемые этому компьютеру и броадкасты. Между другими устройствами и роутером не ловит. Что я делаю не так?

Пробовал с помощью sudo ip link set wlan0 promisc on вручную включать промискуитет на вайфай-интерфейсе - ничего не меняется.

 ,

hlebushek
()

Ubuntu Unity Dash - потярал штуку, куда можно вводить команды для терминала

Форум — General

Раньше у меня был какой-то хоткей, который я нажимал, вводил

livestreamer twitch.tv/nl_kripp high
, и эта команда запускала livestreamer так, будто я ее в терминал ввел. Забыл, как это делается - перерыл все хоткеи, показывающиеся, если нажать и подержать Super - ничего такого не нашел, ничего не подходит. Что случилось? Ее убрали? Или это я тупой?

 , ,

hlebushek
()

Баттхерт от почтовых клиентов

Форум — Talks

картинка

Почему у меня 3 мусорки и 3 спама, и некоторые названия папок для спама еще и называются так, что и не поймешь - это то же самое, что корзина или нет? Почему нельзя сделать, чтобы почтовые клиенты - thunderbird, evolution - интегрировались с почтовыми сервисами как-то поплотнее - использовали их антиспам, мусорку ОДНУ нормальную. Доколе это будет продолжаться?

 , , ,

hlebushek
()

Ubuntu 14.04 - не работают Unity хоткеи с буквенными клавишами при включенной русской раскладке

Форум — Desktop

Есть у Unity хоткеи, например Super+A - открыть линзу Apps. Если это нажать при английской раскладке, то работает. Если при русской (то есть ф вместо a), то нет. Как решить?

 , ,

hlebushek
()

MongoDB vs SQL

Форум — Web-development

Вопрос с дивана, потому что ни то ни другое я ни в каком серьезном проекте не использовал:

Сейчас становится популярным стек технологий MEAN (MongoDB ExpressJS AngularJS NodeJS). И вроде это стильно модно молодежно, а вроде и не для всех проектов подходит - ведь MongoDB это NoSQL, и я где-то прочитал, что там в отличие от SQL систем баз данных не соблюдается ACID, не поддерживаются JOIN'ы, но лучше скейлится.

1. Что именно из ACID не соблюдается, для каких веб-сайтов это не важно, а для каких ACID нужен?

2. Как жить без джоинов? Или они вообще не так уж нужны? Когда они нужны, а когда нет? А если вдруг на готовом сайте, использующем MongoDB понадобятся, то что делать?

3. Почему MongoDB лучше скейлится? Кому нужен скейлинг, кому нет? Что же делают люди, которым и скейлиться нужно, и джоины делать?

4. Можно ли в стеке MEAN MongoDB заменить на какую-нибудь реляционную базу данных (в идеале на PostgresQL - он вроде самый годный)?

 , ,

hlebushek
()

Куда деваются сообщения в теме?

Форум — Linux-org-ru

Мне каждый день приходит много уведомлений об ответах в моей теме в Development - всего накопилось этих уведомлений из одной этой темы почти на 10 страниц (уведомлений, а не страниц в теме). Тем временем кол-во страниц в теме почти не растет - точно не пропорционально кол-ву уведомлений об ответах. Что происходит? Посты куда-то деваются? Их трут? Или это лишние уведомления непонятно откуда берутся?

Речь об этой теме, если что Если в баше все так плохо, не пора ли перестать им пользоваться для скриптов?

 

hlebushek
()

Если в баше все так плохо, не пора ли перестать им пользоваться для скриптов?

Форум — Development

Прочитал на днях вот эту статейку: http://www.dwheeler.com/essays/filenames-in-shell.html. Это просто жесть. Я наверное не видел ни одного баш скрипта, который бы делал все правильно, как там описано. Не легче ли использовать какой-нибудь там питон для этого, а не терпеть внезапные унижения собственным шеллом, когда ты впервые запустишь скрипт на файлах с русскими символами / пробелами / переносами строк / еще какими-нибудь внезапными названиями?

 ,

hlebushek
()

Пусть ubuntu не трогает настройки тачпада synaptics

Форум — Desktop

У меня есть настройки тачпада, какие мне нравятся, прописанные в /etc/X11/xorg.conf.d/, например двойное нажатие на тачпад (TapButton2) юнити превращает в райтклик, а не миддлклик. Судя по всему, юнити (или еще какая штука) меняет это, потому что во время работы системы synclient рапортует, что используются не те значения, которые я ставлю конфигом иксов.

Как это исправить?

 , , ,

hlebushek
()

Права на домашнюю папку пользователя

Форум — General

Устанавливаю ubuntu, opensuse или любой другой дистрибутив - создается пользователь username и одноименная группа username.

1. Зачем эта группа нужна? Нужно ли давать доступ к моей домашней папке этой группе или нет?

2. Если я запрещу читать, писать и запускать папку /home/username для others, смогут ли они наощупь сделать cd в /home/username/Pictures или еще куда-нибудь и посмотреть мои файлы?

3. Конкретно для ubuntu - по умолчанию у домашней папки пользователя права 755 (others могут читать и запускать) - так почему же встроенный специальный пользователь, называющийся guest, не может в нее войти?

 ,

hlebushek
()

Флеш-плеер глючит, становится абсолютно черным или мигает в firefox с intel видеокартой

Форум — Desktop

Флеш-видео-плееры очень глючат на большинстве сайтов в фаерфоксе в gentoo на интеловской видеокарте.

На всяких xvideos на странице одно флеш-видео. Когда страница изначально загружается, с шансом 99% оно будет абсолютно черным или будет мигать между черным состоянием и нормальным при скроллинге. Обычно если проскроллить так, чтобы весь фрейм флешки помещался на экране и перезагрузить так страницу несколько раз, то в конце концов чинится (правда если поскроллить так, чтобы часть скрылась - может снова сломаться).

А если на странице несколько флеш-видео, то это вообще беда, и нет никакой надежды их посмотреть в фаерфоксе, и приходится открывать google chrome. В нем вроде все норм.

Почему так, и что мне с этим делать?

Видюха Intel HD Graphics 4000 [8086:0166]

 , , ,

hlebushek
()

Почему у меня нет $XDG_CONFIG_HOME и других $XDG-директорий?

Форум — Talks

В интернете есть всякие интернет-воители, борящиеся за чистоту $HOME от файлов с точечкой, которые хотят, чтобы программы складывали свой мусор в $XDG_CONFIG_HOME, $XDG_DATA_HOME и куда-то еще. А у меня вот на Gentoo таких переменных даже нет. Почему так? Какие же они тогда универсальные иксовые переменные, если у меня они даже не установлены?

 ,

hlebushek
()

Вопрос по LINQ TO SQL

Форум — Development

Есть такой запрос linq-to-sql

dc - таблица со столбцами real Re, real Im.

var re2 = from p in dc.Numbers.ToList()
    where p.Im > 0
    select p.Re * p.Re;

Вопрос в том, какой из этих двух вариантов действий здесь происходит:

1) Делается SELECT запрос, уже включающий в себя WHERE условие (и возможно еще и умножающий Re на Re)?

2) Делается запрос SELECT * FROM Numbers, то есть все записи отдаются программе на C#, а там C# уже сам делает с объектами в оперативной памяти filter и map?

 ,

hlebushek
()

Легкие потоки

Форум — Development

Время от времени при перечислении плюсов каких-нибудь языков я вижу следующее: В $ЯЗЫКНЕЙМ легкие зеленые потоки, их можно делать тысячами, и все будет хорошо.

Что это за потоки такие, как они работают, как такое самому сделать - например на C?

 ,

hlebushek
()

Xboxdrv - эмуляция геймпада xbox360 - выпилить устройство самого геймпада

Форум — Games

Есть один старый геймпад, который не поддерживает xinput - logitech cordless rumplepad 2. Вроде настроил xboxdrv на эмуляцию геймпада от xbox 360, запускаю так:

$ cat logitech_cordless_rumblepad2.xboxdrv
[xboxdrv]

[evdev-keymap]
# left hand - logitech cordless rumblepad 2 buttons and axises
# right hand - xbox360 buttons and axises

# button 1
BTN_A=X

# button 2
BTN_B=A

# button 3
BTN_C=B

# button 4
BTN_X=Y

# button 5
BTN_Y=LB

# button 6
BTN_Z=RB

# button 7
BTN_TL=LT

# button 8
BTN_TR=RT

# button 9
BTN_TL2=Back

# button 10
BTN_TR2=Start

# left analog stick press
BTN_SELECT=TR

# right analog stick press
BTN_START=TL

[evdev-absmap]
# left hand - logitech cordless rumblepad 2 buttons and axises
# right hand - xbox360 buttons and axises

# dpad up/down axis
ABS_HAT0Y=DPAD_Y

# dpad left/right axis
ABS_HAT0X=DPAD_X

# left stick up/down (up = 0, down = 255)
ABS_Y=Y1

# left stick left/right (left = 0, right = 255)
ABS_X=X1

# right stick up/down (up = 0, down = 255)
ABS_RZ=Y2

# right stick left/right (left = 0, right = 255)
ABS_Z=X2

[axismap]
# change negative values to positive and vice-versa (analog stick coordinates are inverted by default)
-Y1=Y1
-Y2=Y2

sudo xboxdrv --evdev /dev/input/event5 -c logitech_cordless_rumblepad2.xboxdrv --silent
И вроде работает, новое устройство /dev/input/js2 появляется, в КДЕ настройках -> Input Devices -> Joystick теперь есть два геймпада: собственно сам logitech cordless rumblepad 2 (/dev/input/js1) и Microsoft X-Box 360 pad (/dev/input/js2). В оригинальном геймпаде теперь нажатия клавиш никаких событий не производят, а в сэмулированном производят, вроде все как надо. Но, судя по всему, многие игры путаются от того, что видят 2 геймпада, пытаются работать не с тем, с которым надо, и в итоге ничего не работает. Например risk of rain:
Game..Math..Graphic..Action..File..Resource..Interaction..3D..Particle..Misc..DS..Sound..Physics..Gamepad..GAMEPAD: Initialising Ubuntu support
GAMEPAD: 4 axis values (last) at 0x8a564f0
GAMEPAD: 4 axis values (last) at 0x8a56820
GAMEPAD: Enumerating 3
GAMEPAD: device name Logitech Logitech Cordless RumblePad 2
GAMEPAD: buttons - 12, axes - 6
GAMEPAD: 4 axis values (last) at 0x8a56dd0
GAMEPAD: Enumerating 4
GAMEPAD: device name Microsoft X-Box 360 pad
GAMEPAD: buttons - 11, axes - 8
GAMEPAD: 4 axis values (last) at 0x8a69688
Buffers..Networking..Shaders..Steam_Init

Как это поправить?

 ,

hlebushek
()

Kubuntu - загрузке виснет на Loading initial ramdisk при установленном nvidia блобе

Форум — Desktop

Поставил kubuntu 14.10, все было хорошо, пока не установил с помощью кубунтовского костыля для драйверов nvidia-331-updates. (на самом деле нет разница ставить с помощью костыля или через apt-get)

Попробовал следующие драйвера от нвидии: nvidia-304, nvidia-331, nvidia-331-updates. Как только установка такого драйвера обновляет initramfs, установка с соостветствующим ядром (3.16.0-24-generic) виснет на Loading initial ramdisk. В момент зависона можно перезагрутиться с помощью ctrl+alt+sysrq reisub. Если систему перезагрузить прямо из убунты, то на стадии загрузки вроде бы скипается граб или что-то типа того, и тогда успевает появиться экран с графическим полем ввода пароля от luks-контейнера, причем в разрешении намного меньшем нежели при установленном nouveau и без нвидия-блоба, и на этом все так же виснет. В данной ситуации с помощью ctrl+alt+sysrq всякие-буквы можно попасть в шелл busybox. Если же в грабе выбрать в дополнительных опциях такое же ядро (recovery options), то нормально грузится, и даже glxinfo показывает, что загружен драйвер nvidia, а не nouveau.

Собственно если удалить нафиг нвидия блобы и оставить только nouveau, то грузится и без рекавери режима.

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

Вот Xorg.0.log из рекавери режима: http://pastebin.com/NsjWK2PL

Вообще какая-то странная эта кубунта - вроде systemd установлен, а ps --pid 1 - init, и systemctl и journald имеются в наличии, а не работают.

 , , , ,

hlebushek
()

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