LINUX.ORG.RU

Сообщения Dron

 

Игры для программиста или просто программируемые игры.

Вспомнил тут про colobot поставил, поигрался с заданиями понравилось, решил щааа как захерачу в свободном режиме целую кучу всего, но свободный режим нихера кроме постройки ботов собиральщиков не даёт, в чём там свобода так и не понял + падучесть как на debian так и на manjaro. Ну так вот есть ныне что похожее? Не онлайновое, реалтаймовое. Где можно не воевать, а строить развивать что-то, добывать и прочее. Графика хоть 2d хоть 3d хоть какая, всё же наблюдать что происходит хочется.

Или может на основе чегото можно своё сбацать? Была и есть такая вундервафля как Blitz3D хоть конечно говно говном, но у мено плюшка в том что всё просто и всё сразу + прикрутить программирование ботов там не составит труда (составит конечно, но труд посильный на первый взгляд).

Ну, как то так выглядят хотелки.

 , ,

Dron
()

Сборка linux kernel - я тупею ::(

коротко вот

CC      certs/system_keyring.o
make[2]: *** Нет правила для сборки цели «debian/certs/benh@debian.org.cert.pem», требуемой для «certs/x509_certificate_list».  Останов.
Makefile:954: ошибка выполнения рецепта для цели «certs»
make[1]: *** [certs] Ошибка 2
make[1]: выход из каталога «/home/dron/linux-4.5.2»
debian/ruleset/targets/common.mk:295: ошибка выполнения рецепта для цели «debian/stamp/build/kernel»
make: *** [debian/stamp/build/kernel] Ошибка 2

сор взят из репы apt-get source linux-image-4.5.0-2-amd64

UDP: Решено, дело было в .config который взят из /boot/config-4.5.0-2-amd64, нужно убрать

CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/benh@debian.org.cert.pem"

 ,

Dron
()

REST API to C API

Как принято представлять REST API в С API? так?

//return pointer on json string
pjson = method("param=val,val,val&param=val");
/*
....
parse json
...
*/
так?
method.param_one("val,val");//кусок
method.param_twoo("val,val,val");//кусок
char * rest = combinator();//клеим
pjson = give_me_json_server_pleeeasee(rest);//отсылаем, получаем указатель на строку json
/*
parse json ....
*/

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

Я про представление REST API через C API, а не про вызовы REST из С кода.

 , , ,

Dron
()

Геймпад и его вибромоторы

Есть на руках геймпад CBR для PC и Playstation (2 коннектора) Так вот, там не заводятся виброматоры (в стим играх), сначала подумал это китай и там их нет, вскрыл, стоят и рабочие.

Ну и простыня =>

[95055.145185] usb 5-1: new full-speed USB device number 28 using ohci-pci
[95055.309826] usb 5-1: New USB device found, idVendor=0810, idProduct=0003
[95055.309838] usb 5-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[95055.309845] usb 5-1: Product: USB Gamepad 
[95055.318872] input: USB Gamepad  as /devices/pci0000:00/0000:00:13.0/usb5/5-1/5-1:1.0/0003:0810:0003.0021/input/input35
[95055.319180] hid-generic 0003:0810:0003.0021: input,hidraw4: USB HID v1.10 Joystick [USB Gamepad ] on usb-0000:00:13.0-1/input0
dron@gnu:~$ lsusb -v -d 0810:0003

Bus 005 Device 028: ID 0810:0003 Personal Communication Systems, Inc. PlayStation Gamepad
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0810 Personal Communication Systems, Inc.
  idProduct          0x0003 PlayStation Gamepad
  bcdDevice            1.06
  iManufacturer           0 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              350mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode           33 US
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     101
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              17
dron@gnu:~$ 

Ещё

dron@gnu:~$ fftest
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Open device file: Permission denied
dron@gnu:~$ su
Пароль: 
root@gnu:/home/dron# fftest
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event0 opened
Features:
  * Absolute axes: 
    [00 00 00 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: 
    Force feedback periodic effects: 
    [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
  * Number of simultaneous effects: 0

Uploading effect #0 (Periodic sinusoidal) ... Error:: Function not implemented
Uploading effect #1 (Constant) ... Error: Function not implemented
Uploading effect #2 (Spring) ... Error: Function not implemented
Uploading effect #3 (Damper) ... Error: Function not implemented
Uploading effect #4 (Strong rumble, with heavy motor) ... Error: Function not implemented
Uploading effect #5 (Weak rumble, with light motor) ... Error: Function not implemented
Enter effect number, -1 to exit

 ,

Dron
()

Получение данных после якоря #

По мотивам Посоветуйте библиотеки.

Так, тут сказано

3. Получение access_token
После успешной авторизации приложения браузер пользователя 
будет перенаправлен по адресу REDIRECT_URI, указанному при 
открытии диалога авторизации. При этом ключ доступа к API 
access_token и другие параметры будут переданы в 
URL-фрагменте ссылки:

http://REDIRECT_URI#access_token= 533bacf01e11f55b536a565b57531ad114461ae8736d6506a3&expires_in=86400&user_id=8492


Хорошо, пока мне не дали прямую авторизацию (с которой эта хренатень с браузерами будет ненужна)для приложения я запускаю локальный сервер вешаю на localhost:8080 это REDIRECT_URI всё нормально токен дают, но после # данные же не отправляются на сервер как быть то? Просить пользователя копировать токен и сохранять как в vksearch не хочется.

Тут смотрю два подписались так что вот решение. В настройках приложения выставляем http://localhost иначе будет ругаться на некорректный REDIRECT_URI. Затем шлём пользователя на

https://oauth.vk.com/authorize?client_id=ID_ПРИЛОЖЕНИЯ&display=page&redirect_uri=http://localhost:8080&scope=message&response_type=token&v=5.45

На http://localhost:8080 должен уже висеть сервер и отдать как кому удобно это

<html>
<head>
    <meta charset="utf-8">
    <title>vklin</title> 
</head>
<script type="text/javascript" charset="utf-8">
    var anc = window.location.hash.replace("#","");
    if (anc == "") {anc = "none"} //тут можно средиректить на страницу с ошибкой
    var def_url ="http://localhost:8080/"; //редирект тупо на самого себя
    //alert(anc);
    window.location.replace((def_url+anc));//а теперь сервер получит GET запрос в теле которого таки уже будет токен
                                           //который останется только спарсить и сохранить. И можно дёргать VK API.
</script>
</html>

 , ,

Dron
()

Посоветуйте библиотеки.

Хочется для ненужно vk уведомлялку в трей о сообщениях так как держать в браузере vk открытым постоянно не особо хочется.
Уведомлялку хочу для xfce4 panel где Debian и unity-panel где Ubuntu. И нужны сишные библиотеки, чтобы без боли это организовать.

А теперь по делу.

  • https авторизация
  • json парсер
  • post запросы

Больше вроде ничего не нужно. Обёртка на gtk2/3 будет соответственно.

P.S. Гуглить я умею, но я хочу без боли, что вы сами использовали и радовались. ::)

 , , vkontakte ap

Dron
()

Как смиксовать системные звуки и звук микрофона?

К примеру я включаю музыку и говорю в микрофон и что-бы звук смешивался.

 

Dron
()

Качественных тем GTK2/GTK3 посоветуйте.

Светлых, тёмных. Иконки, значки всякие тоже приветствуются. Обоины тёплых цветов тоже хорошо.

Хочется чего то что смотрится законченным, а не смесью гороха с апельсинами. И было одинаково для GTK2/3

Лично я не очень могу составить приятные композиции цветовых гамм для тем, может есть где наборы какие. К примеру поля ввода, фон окон, кнопочки и прочее.

P.S. I use DWM.

 , ,

Dron
()

fluidsynth и сломаный sf2 банк

Имеется fs2 банк который мне прям очень по душе, но он рушит lmms лог

Использую debian sid с соответствующими последними версиями (для debian) lmms,vmpk,fluidsynth программ.

Чинить банк? Как? Может кто починит? Чинить софт?

Ну и сам банк

 , , ,

Dron
()

Outlast in linux походу

Прямо только что началась загрузка на онтопике ::)

UPDATE: если что на свободных дровах и карточке Radeon HD 6850 полёт отличный.

 

Dron
()

Получить список пользовательских переменных js

Пишу в порядке обучения минификатор js кода убрать всё лишнее готово, но ещё хочется ещё сжать путём укорачивания имён пользовательских идентификаторов как то так

in:

var monstrLongLongIdentificator = {
bla:'start',
blabla:'start'
};
var result = '';

//....

for(var par i monstrLongLongidentificator){
   if(monstrLongLongIdentificator[i] === 'start'){
      //....
      return result;
   };
   if(monstrLongLongIdentificator === 'end'){
      //....
      return result;
   };
};

//....
# out:
var I0 = {
I1:'start',
I2:'start'
};
var I3
//....
for(var I4 i I0){
   if(I0[I4] === 'start'){
      //....
      return I3;
   };
   if(I0 === 'end'){
      //....
      return I3;
   };
};

//....

Так вот сначала подумал взять список идентификаторов типа Object/new/in/for и прочее прочее и потом игнорируя их выискивать идентификаторы игнорируя строки не игнорируя строки в ['скобках']. Сделал большую часть, но тут подумалось (сейчас всплывёт куча камушков), а может как можно средствами node.js получить все пользовательские идентификаторы из сценария, или модули для этого есть какие, что бы их все хоп в массив и потом просто заменить на укороченные идентификаторы? Даже некая обфускация получается.

 ,

Dron
()

Vim airline

Вот тут у меня видно что угловые скобки уродские не так как тут к примеру. Как поправить?

Шрифт «Droid Sans mono» выставлен в настройках xfce4-terminal Vimrc тут

Решение:

let g:airline_left_sep = '❱'
let g:airline_right_sep = '❰'
Не совсем то что хочется, но хоть получше стало.

 ,

Dron
()

js получить данные из callback

Вот есть допустим такое.

var text = '';

fs.read('./file.txt','utf8',function(err,data){
    //как мне data отдать в text?
});

function foo(text){
    //что то делаем с text
};

Вот так я не хочу

function foo(text){
   //bla bla 
};

fs.read('./file.txt','utf8',function(err,data){
     foo(data);
     
});

 , , ,

Dron
()

nodejs моя твоя не понимать.

Вот к примеру есть

http.get(options,[callback]);

Возможность узнать что такое options и какой должен быть callback имеется только из http://nodejs.org ? Допустим нет у меня доступа к сети в какойто момент и всё трындец?

Хорошо, ладно идём на http://nodejs.org смотрим

Example:

http.get("http://www.google.com/index.html", function(res) {
  console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
  console.log("Got error: " + e.message);
});

Ага, options это строка с cсылкой ладно, понятно. Смотрим из примера callback имеет нигде не описанный аргумент res. callback функции в таких случаях вообще не имеют описания? Или пример это и есть описание?

Ладно дальше могут быть всякие

res.statusCode //оно понятно что такое но где это описанно?
res.on('data',function(chunk){ //что тут происходит вообще?
......
});
Касаемого этого частного случая есть res.statusCode/res.on откда взялось, где описанно, как работает, и какие ещё методы имеет мне вообще не понятно.

Так вот о чём я. Я чего то очень сильно не понимаю наверное и туплю не по детски. Но если поняли мой поток разума, пните в нужном направлении.

 ,

Dron
()

vim, как игнорировать «ошибки»

Из скрипта хочется развернуть vim, делаю:

    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/Vundle.vim/
    vim  "+VundleInstall" "+q" "+q"
Но тут затырка, до этого копируется vimrc и там прописана тема badwolf которой естественно ещё нет так как не установленно ещё и стопорит выполнение
Cloning into '/home/yolo/.vim/bundle/Vundle.vim'...
remote: Counting objects: 2805, done.
remote: Total 2805 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (2805/2805), 834.42 KiB | 358.00 KiB/s, done.
Resolving deltas: 100% (946/946), done.
Checking connectivity... done.
Обнаружена ошибка при обработке /home/yolo/.vimrc:
строка  100:
E185: Невозможно найти цветовую схему 'badwolf'
Нажмите ENTER или введите команду для продолжения

Как проигнорировать?

Решение vim, как игнорировать «ошибки» (комментарий)

 

Dron
()

Принимаю поздравленья, у меня же день варенья ::)

Вот.

 день варенья

Dron
()

VIm и #hexcolor

А можно ли в Vim задать цвета в частности цвет фона hex значением?

В текущей теме badwolf установлено set background=dark в терменале это цвет #121212 в gvim с тем же badwolf это цвет #1C1B1A более приятный.

В теме есть hex значения, но я не раскурил где там фон.

А я хотеть цвет #2D2D2D или #222222 или #212121.

 ,

Dron
()

Как авторизироватся на LOR из скрипта?

Допустим чтобы получать значения из www.linux.org.ru/notifications-count

На пальцах покажет кто? В идеале на C или NodeJS. Куки,токены,SSL как это варить не знаю.

 , , lornotify,

Dron
()

nodejs просто получить страничку.

Как в ноде получить html тело странички?

типа  var body=get.url("linux.org.ru");

Вот в sh например BODY=`GET google.ru`
                  echo $BODY

 ,

Dron
()

Чем вы синхронизируете свой пк с ноутбуком?

Что бы двусторонняя синхронизация и всё полностью на автомате. Выбор отдельных каталогов, работа в фоне и заначёк в трее со статусом. И что бы статус можно было получить из командной строки.

Подразумевается синхронизировать некоторые каталоги хомяков.

Dron
()

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