LINUX.ORG.RU

Сообщения snake266

 

awesome и функциональные клавиши

Форум — Desktop

Понемногу осваиваю awesome wm. Начал настраивать Fn-клавиши написал вот такое

awful.key({ }, "#122", function () awful.spawn.with_shell("pulsemixer --change-volume -5") end)

Громкость не понижается, если вбить ручками команду то громкость уменшится. Пробовал подставлять и #122 и XF86AudioLowerVolume не работает (keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume ).

Еще написал вот такое

function mute_unmute()
   local audio_mixer = "pulsemixer "
   local command_to_check_mute = audio_mixer .. "--get-mute"
   local mute_status = nil
   awful.spawn.easy_async_with_shell(command_to_check_mute, function (out)
										mute_status = out
   end)
   if mute_status ~= nil then
	  if mute_status == "0" then
		 awful.spawn.with_shell(audio_mixer .. "--mute")
	  else
		 awful.spawn.with_shell(audio_mixer .. "--unmute")
	  end
   else
	  naughty.notify({title="Can not (un)mute", text="some error has occured"})
   end
   
end

awful.key({ }, "XF86AudioMute", function () mute_unmute() end)

И звук тоже не заглушается на сочетание на fn+f1.

Покажите что я делаю неправильно направьте на нужные ссылки

 ,

snake266
()

Немного геометрии

Форум — Science & Engineering

Здравствуйте, пишу с просьбой объяснить, либо дать ссылку на нужную тему. Почему тут угол бета равен углу альфа? Может от усталости уже совсем скис и какого-то школьного свойства не вижу. Второй вопрос: что тут с углом бета? Судя по всему, там уже не все так просто как в первом, потому что сегодня на экзамене решал вторую картинку по примером первой (потому что времени думать особо не было), просто приравняв бету к альфа и получил неправильный ответ.

Линукс тут при том, что к экзамену готовился на линуксе (проходил его на нем же), а презентации делал в LibreOffice.

 ,

snake266
()

Хочу начать писать игру

Форум — Games

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

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

Во-вторых, картинка. В плане пискельности, пропорций должно выглядеть как Dead cells, так же вид сбоку, но проходить должно в антураже условной хрущевки. И так как рисовать я не умею и друзей художников у меня нет, придется какую то часть ассетов накалякать самому, для другой части искать бесплатные ассеты. Порекомендуйте сайтик где есть большой выбор.

В-третьих, музыка. Тут все легче: у меня много друзей, которые играют на музыкальных инструментах. У меня есть представление что должно играть. Тут вопросов, вроде, нет.

В-четвертых, геймплей, жанр и механики. Пока это мое слабое место, я еще не придумал как в мир без магии, фентези и прочего добавить каких-то геймплейных механик. Днем герой мог бы ходить по общежитию, взаимодействовать с объектами и изучать их, выполнять задания, но потом я задумался:«А как еще можно разнообразить геймплей». Вспомнил, что была такая игра Catherine. Подумал, что тоже можно добавить некую мини-игру, которая бы происходила в конце игрового дня и влияла на героя в его реальности. Но, мне кажется что, эта мини-игра должна быть драйвовая, динамичная, чтобы щекотать игроку нервы, чтобы он понимал, что если он тут провалится, то это повлияет на персонажа.

В-пятых, яп. У меня есть пара требований к языку:

  • Без GC, чтобы картинка не лагала. Хотя, у меня есть ощущение, что у меня картинка будет не сильно сложная.
  • Удобная поддержка юникода и в Linux и в Windows. Все таки сценарий будет написан на русском.

И что у нас остается:

  • С. SDL2. (скорее всего придется крутить велосипед для юникода(?))

  • C++. SDL2, SFML.

  • Rust. биндинги к sdl2, sfml или же чисто растовсикй piston.

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

 

snake266
()

Экзамен или ЕГЭ

Форум — Talks

В общем, учусь на первом курсе, поэтому эмоции от ЕГЭ постепенно угасают как вдруг нам в беседу группы скидывают эту прелесть. Вот видос.

Для ъ: Сервис применяет какие то автоматические алгоритма распознавания лиц, чтобы анализировать на «угрозы проведенияя экзамена». Также те же алгоритмы распознавания лиц используются для идентификации студента, также идентификация может осуществляться по электронному почерку, экг и другим биометрическим параметрам. По веб камере следят за тем чтобы студент не отводил взгляд, не было посторонних голосов и тд. Также есть возможность следить за сменой вкладок и окон студентом.

 ,

snake266
()

Графические библиотеки для C (3D, 2D)

Форум — Development

В общем, что на сегодняшний день релевантно в области графических библиотек (3D, 2D) для C? На данный момент щупаю OpenGL. Может стоит сначала разобраться в OpenGL, а потом переходить на какой-нибудь SDL2 (для 2D, а для 3D оставить OpenGL)

 , ,

snake266
()

В Konsole странные полосы

Форум — Desktop

В Konsole появляются странные полосы, которые видно только если их выделить или пока до полос не дойдет приглашение для ввода. Видеокарта: Intel UHD 620. Скриншот раз, Скриншот два. Что делать?

UPD. Стриница с багом https://bugs.kde.org/show_bug.cgi?id=373232

 ,

snake266
()

Grub unknown filesystem

Форум — General

Начал накатывать линь на ноут с UEFI. Разметил диск (btrfs) на /boot, /, /home. Установил grub по арчвики, сделал grub-mkconfig -o /boot/grub/grub.cfg. Перезагружаюсь, вылетает в обычный шелл граба, ls выдаёт:

(hd0,gpt4)....(hd0,gpt1)

Пробовал ставить prefix и root ставить на все разделы ничего не срабатывает. Решил попробовать зайти с live при загрузке с флешки выдаёт падает в rescue Mode с unknown filesystem. ls выдаёт

(hd0) (hd1)

Тут, на попытки insmod’od выдаёт unknown filesystem

Что делать?

Правило загрузки из меню UEFI imgur

 , ,

snake266
()

Заранее положить пакет в образ

Форум — Linux-hardware

В общем, я довольно большой промежуток времени в поисках своего, поэтому прыгаю по дистрибутивам (недавно еще в сторону freebsd и openbsd начал смотреть), все бы ничего, но есть одна проблема: много где нет нужного драйвера для моей сетевой карты, где то даже в livecd (сетевая карта BCM43142). Есть какой то способ заранее положить нужный драйвер в образ? К примеру, как взять образ с фряхой и закинуть туда драйвер (любой, главное чтобы можно было подключиться к сети и все сделать классно)?

P.S. Да можно подключаться по проводу, но добираться до него лень и сложновато.

 , , , ,

snake266
()

Выбор ноутбука тред

Форум — Talks

Вообщем, нужен ноут. Какие требования:

  • 13-ти дюймовый хороший экран, чтобы не портить глаза
  • Вес около килограмма, не больше 1,4кг, чтобы было удобно носить
  • Хорошая сборка и качественный корпус
  • Время работы от батареи где то от 8 часов, хотя чем больше тем лучше

Бюджет до 100к. Знаю про макбук, но хочется чего-то подешевле.

 

snake266
()

Как программно выбрать пункт в html теге <select>

Форум — Development

В общем, сразу к делу. Есть html страница, есть на ней пункт выбора группы, сделанный через тег <select>, и ниже есть <div>, который изначально пустой, но после выбора группы этот див заполняется таблицей с расписанием. Посмотрел какой запрос отправляется (POST) и решил попробовать отправлять такой же запрос сам. Запрос выглядит как обычный хедер + в теле group=%группа%. К сожалению мне приходит все тот же html с пустым <div>, в котором должно быть расписание. Собственно, как мне выставить значение и прочитать уже обновленную html-страницу?

Из HTML

<select class="group select2-hidden-accessible" tabindex="-1" aria-hidden="true" style="">
<option>%Группа-11%</option>
<option>%Группа-12%</option>
....
</select>
<div class="schedule"></div><!--Вот тут появляется таблица -->

Как изменяется страница при выборе группы

<select class="group select2-hidden-accessible" tabindex="-1" aria-hidden="true" style="">
<option>%Группа-11%</option>
<option>%Группа-12%</option>
....
</select>

<div class="schedule">
    <table> <!-- Оп, таблица подъехала -->
    ....
    ....
    </table>
</div>

Мой запрос (Java)

HttpClient client = HttpClient.newBuilder()
                    .followRedirects(HttpClient.Redirect.NORMAL)
                    .build();
            HttpRequest request = HttpRequest.newBuilder()
                    .uri(URI.create("%Сайт с расписанием%"))
                    .headers("Content-Type", "application/x-www-form-urlencoded") // Тут сделал как в хедере в запросе
                    .POST(HttpRequest.BodyPublishers.ofString(group))
                    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.headers());
System.out.println(response.body());
System.out.println(response.request());

 ,

snake266
()

Область видимости для цикла loop в perl6.

Форум — Development

Решил попробовать что за зверь такой этот Perl6.

Начал писать циклы и обратил внимание, что на такой момент когда я использую $i в двух разных циклах компилятор ругается на переопределение:

sub test() {
    loop (my Int $i = 0; $i < 10; $i++) { print "$i "}
    print "\n";
    loop (my Int $i = 0; $i < 10; $i++) { 
        print "$i ";
    }
}

test();
Potential difficulties:
    Redeclaration of symbol '$i'
    at C:\Users\batur\work\perl6/.\test.p6:4
    ------>     loop (my Int $i<HERE> = 0; $i < 10; $i++) {
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9

То есть по сути, если я правильно понял, в первом и втором цикле одинаковые $i. Почему так сделали? Почему не сузили область видимости этой переменной до цикла loop, в котором она объявляется? Я вот не могу прикинуть такой use-case, в котором бы от такой области видимости была польза

 

snake266
()

Обратная совместимость в плюсах

Форум — Development

Как вы думаете, возможно ли такое что, стандарт, в какой-то момент, сломает обратную совместимость в угоду удобства, красоты кода и т.д.? Что бы вы улучшили, пожертвовав обратной совместимостью? Ну и ваше отношение к такому пристальному соблюдению обратной совместимости.

 , ,

snake266
()

Rust 1.36

Новости — Разработка
Группа Разработка

Команда разработчиков с радостью представляет вам Rust 1.36!

Что нового в Rust 1.36? Стабилизирован трейт Future, из нового: крейт alloc, MaybeUninit<T>, NLL для Rust 2015, новая реализация HashMap<K, V> и новый флаг --offline для Cargo.

( За подробностями )

>>> Подробности

 

snake266
()

А как слиноковать boost?

Форум — Development

Поставил boost с репозитерии арча. Написал простецкий пример из туториала к boost.asio:

#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>

int main()
{
    boost::asio::io_service io;
    boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
    t.wait();
    std::cout << "Hello world!" << std::endl;
    return 0;
}
Решил сначала скопилить пример через g++:
g++ main.cpp \
-lboost # вот тут я пробовал -lboost-(_)asio, еще побовал -I /usr/lib, , но везде линкеру чего-то не нравится
Прошу тыкнуть носом туда, где я что-то делаю не так

 ,

snake266
()

Rust 1.35

Новости — Разработка
Группа Разработка

Команда разработчиков Rust рада представить новую версию своего языка: 1.35. Rust - это язык программирования, который позволяет писать надёжные и эффективные программы.

Если у вас уже установлен Rust через rustup,то можно обновиться командой: $ rustup update stable

Главное в обновлении - это реализиция трейтов замыкания Fn, FnOnce, FnMut, для Box<dyn Fn>, Box<dyn FnOnce>, Box<dyn FnMut>, соответственно. Добавление возможности приводить замыкания к указателям на небезопасные функции, вызов макроса dbg!() теперь возможен без аргументов, была проведена стабилизация стандартной библиотеки.

( читать дальше... )

>>> Подробности

 

snake266
()

Rust 1.35

Форум — Development

Команда разработчиков Rust рада представить новую версию своего языка: 1.35. Rust - это язык программирования, который позволяет писать надёжные и эффективные программы.

Если у вас уже установлен Rust через rustup,то можно обновиться командой: $ rustup update stable

Главное в обновлении - это реализиция трейтов замыкания Fn, FnOnce, FnMut, для Box<dyn Fn>, Box<dyn FnOnce>, Box<dyn FnMut>, соответственно. Добавлении возможности приводить замыкания к указателям на небезопасные функции, вызов макроса dbg!() теперь возможен без аргументов, была проведена стабилизация стандартной библиотеки.

К деталям:

  • В новой версии добавили реализации трейтов Fn, FnOnce, FnMut, для Box<dyn Fn>, Box<dyn FnOnce>, Box<dyn FnMut>, соответственно.
    Теперь такой код будет работать:
    fn foo(x: Box<dyn Fn(u8) -> u8>) -> Vec<u8> {
        vec![1, 2, 3, 4].into_iter().map(x).collect()
    }
    
    Также, можно вызывать замыкание прямо из Box<dyn FnOnce>:
    fn foo(x: Box<dyn FnOnce()>) {
        x()
    }
    

  • Теперь замыкания можно приводить к указателям на unsafe fn Теперь можно делать вот так:
    /// The safety invariants are those of the `unsafe fn` pointer passed.
    unsafe fn call_unsafe_fn_ptr(f: unsafe fn()) {
        f()
    }
    
    fn main() {
        // SAFETY: There are no invariants.
        // The closure is statically prevented from doing unsafe things.
        unsafe {
            call_unsafe_fn_ptr(|| {
                dbg!();
            });
        }
    }
    

  • Добавлена возможность вызова макроса dbg!() без аргументов Если передать этому макросу какое-то выражение то, макрос выведет его результат. Пример:
    fn main() {
        let mut x = 0;
    
        if dbg!(x == 1) {
            x += 1;
        }
    
        dbg!(x);
    }
    
    При запуске такого кода вы увидите:
    [src/main.rs:4] x == 1 = false
    [src/main.rs:8] x = 0
    
    Сейчас вы можете написать вот так:
    fn main() {
        let condition = true;
    
        if condition {
            dbg!();
        }
    }
    
    При выполнении такого кода вы увидите: [src/main.rs:5]
  • Были стабилизированы некоторые части стандартной библиотеки
    • Новые методы для f32 и f64:
      • f32::copysign
      • f64::copysign
      Собственно, функции копируют знак у другого числа. Пример:
      fn main() {
          assert_eq!(3.5_f32.copysign(-0.42), -3.5);
      }
      
    • Добавлены новые методы для Range типов
      • Range::contains
      • RangeFrom::contains
      • RangeTo::contains
      • RangeInclusive::contains
      • RangeToInclusive::contains
      С этим можно легко проверить есть ли определенное значение в последовательности:
      fn main() {
          if (0..=10).contains(&5) {
              println!("Five is included in zero to ten.");
          }
      }
      

Подробнее

Перемещено jollheef из development

 

snake266
()

Ubuntu 19.04 зависает экране блокировки.

Форум — General

Здравствуйте, столкнулся с такой проблемой: после ввода верного пароля убунта что-то там думает, а потом откидывает опять вводить пароль, но при этом если выбрать запуск через Wayland, то тогда все нормально проходит. Поискал в интернете что делать: файла .Xauthority у меня нет, права на /tmp менял - ничего не помогло. До этого (18.10) через иксы все круто запускалось. Ноутбук: Acer aspire e5-571g - запускаюсь через биос.

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

 , , ,

snake266
()

Чем вообще занимаются программисты?

Форум — General

Здравствуйте, случилось такое что в 11 классе я понял, что хочу заниматься программированием не только как хобби, а как работой. Но я совершенно не представляю чем занимаются взрослые программисты. Хотелось бы услышать свои будни от людей, которые именно получают деньги за работу в данной сфере. Сам пишу на С/C++. Ну и было бы очень круто если бы пришла Iron_Bug. Заранее большее спасибо!

 , , ,

snake266
()

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