LINUX.ORG.RU

Сообщения crutch_master

 

Нужен САПР для проектирования поделок из ПВХ труб

Нужен опенсорц казуальный конструктор по типу конструктора ракет в KSP, только с набором фитингов и труб. На выходе модель и все составные части с размерами. Шик - физ. моделирование, чтобы на получившийся стул можно было дать нагрузку, а стеллаж заставить железяками. Идеал - всё на вебгл + какой-нибудь ресурс с каталогом поделок.

 , , ,

crutch_master
()

Где Альбатрос?

www.linux.org.ru/people/a1batross/profile

Последнее посещение: 27.10.19 21:01:55

www.linux.org.ru/forum/linux-org-ru/15314376?cid=15314463

27.10.19 22:05:26

И этот человек развлекается тут целый день. У него что там, модератор в заложниках?

 

crutch_master
()

Произвол! Верните тред про Царский бенч.

Нормально сидели, обсуждали Царский бенч, плюсы, ну подтралливали маленько, но всё чинно было. Потом пришел Альбатрос и всё удалил. За что? Тред про разработку? Да. Разработка под ликукс? Да. В чём проблема? Ну Царь приходил, ну потёрли его. Пятница же, да и культурно сидели. Если вам так не нравится Царь, закройте тред для анонов и новорегов. Что, в /dev теперь вообще нельзя устраивать срачи и холиварить? Или может Царя нельзя обсуждать?
Я уже собирался писать свой бенч на js, а как теперь найти чувака, который знает, как его туда пушить.
a1batross

 ,

crutch_master
()

TrustedJava, CryptoPro и токены с GOST3410v12256

Короче ограбили нашу контору за новый токен, мы его воткнули и весь криптостек упал. Суть в том, что строчка алгоритм сертификата !equals строчке алгоритма публичного ключа. Минимальный тестировщик: https://github.com/Crutchmaster/CPKeyTester
Его выхлоп:

Keystory type: CryptoProCSPKeyStore
Keystore provider: DIGT
Private keys:
Private key:
cert #0 public key algorithm:GOST3410v12256
cert #1 public key algorithm:GOST3410v12256
cert #2 public key algorithm:GOST3410v12256
Private key algorithm:GOST3410
java.lang.IllegalArgumentException: private key algorithm does not match algorithm of public key in end entity certificate (at index 0)
	at java.security.KeyStore$PrivateKeyEntry.<init>(Unknown Source)
	at java.security.KeyStore$PrivateKeyEntry.<init>(Unknown Source)
	at java.security.KeyStoreSpi.engineGetEntry(Unknown Source)
	at java.security.KeyStore.getEntry(Unknown Source)
	at com.ric.gis.keyTester.App.run(App.java:70)
	at com.ric.gis.keyTester.App.main(App.java:26)
Падает на попытке вытащить интерфейс закрытого ключа из хранилища. Протестите ключик у кого есть, если не сложно, ну или наставьте на путь истинный.

 , , ,

crutch_master
()

Драйвера на руст

http://www.opennet.ru/opennews/art.shtml?num=51475
Ну что, си можно выбрасывать на помойку? Или нет?
Ъ:соревнования по написанию сетевых драйверов на разных яп. У rust и си +- одинаковая производительность на картинке.
Ссылки на сорцы тут в README.md => https://github.com/ixy-languages/ixy-languages

 , ,

crutch_master
()

Game of life на биологическом

Студенту биофака дали задачу за 2 дня сделать для game of life колонию из 20 клеток, которая через 10 циклов вернётся к исходному значению. Не долго думая на нарыл 24P10. Никогда особо не интересовался это темой и внезапно открыл для себя, что тут всё очень серьёзно, с распределённым поиском структур на куче тачек. Скину 24p10 скажет, что меньше не смогла, троечку поставят.

 game of life, ,

crutch_master
()

Есть ли альернатива клавиатуре для PC?

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

 ,

crutch_master
()

QuickJS

Как всем уже известно по новости с опеннета, разработчик ffmpeg и qemu выкатил javascript движок поддерживающий почти всё ES2019 + запили туда перегрузку операторов и библиотеку для математики с bigint и bigfloat. Всё это работает быстрее и лучше duktape и также легко встраивается в сишный код. Можно собирать самодостаточный бинарник прямо из js скрипта. x86 поддерживается, заявляется небольшая стоимость вызова нативного кода из js.
Итак, теперь js можно встраивать почти везде. В Duktape есть только ES5 + несколько фич ES6, нода жирновата и только под x64, остальные движки тоже или заброшены или кто куда.

 ,

crutch_master
()

Node REPL, vim и костыли

Короче, я опять упоросля и приделал repl ноды к vim.
Суть такая: на одном мониторе код с редактором, на втором нода с repl. Код из редактора по хоткею отправляется в ноду, там что-то происходит и результат вываливается в терминал. Из ноды можно забирать данные по автодополнению для всяких структур и прочего. Нужно это мне для всякого кодинга «на горячую» - дёргать запросы, ворошить данные, структуры, тут же смотреть результат, что-то переписывать и т.д. Все работает на прекрасных и надёждый костылях - двух FIFO
Итак, поделка:

//node repl server
//repl.js
const repl = require("repl");
const fs = require("fs");
const outFifo = "/path/to/output_fifo";

var replServer = repl.start( { useGlobal : true });

replServer.context.useAC = function(str) {
    replServer.completer(str, (err, v) => {
        let ret = v[0].toString().replace(/,/g,"\n");
        let out = fs.createWriteStream(outFifo);
        out.end(ret);
    });
}
Конфиг вим:
func Js_run()
    execute ":yank"
    execute "'[,']w! >>/path/to/input_fifo"
endfunction

func AC_node(s, b)
    if a:s
        let line = getline('.')
        let cmd = "void useAC('".line."')"
        new
        setlocal buftype=nofile bufhidden=hide noswapfile nobuflisted
        put=cmd
        execute "w >>/path/to/input_fifo"
        q
        return line
    else
        let ret = []
        let s:lines = readfile("/path/to/output_fifo")
        for s:line in s:lines
            call add(ret, s:line)
        endfor
        return ret
    endif
endfun
set completefunc=AC_node

fun Js_runall()
    execute "w! >>/path/to/input_fifo"
endfunction
map <F2> :call Js_run()<CR>
map <F5> :call Js_runall()<CR>
inoremap <C-@> <C-X><C-U>
inoremap <F2> <ESC>:call Js_run()<CR>i
Запуск ноды:
$ tail -f /path/to/input_fifo | node repl.js
Ну и, собственно, нужно сделать эти 2 fifo. Функция отправки из vim должна отправлять выделение или строку, но она какая-то кривая, я в vimscript полное днище.

inb4: atom, sublimetext и пр электроноподелки.
Жирно. Не люблю. Мой велик - норм.

 , , ,

crutch_master
()

IDE для javascript/json

Ищу ide для js, но не совсем обычное. Нужно что-то типа repl, но с гуем, редактором кода, просмотром json, сохранением и применением нашлёпанных функций, выполнение запросов.
Суть работы следующая : получаешь кусок данных откуда-нибудь (сеть,фс,копипаст,csv,etc), пишешь функцию которая его обрабатывает, смотришь результат, повторяешь до достижения удовлетворения, сохраняешь данные и функцию.
Нужно для обработки данных и быстрого кодошлёпства. Сейчас использую repl ноды с костылями, подумываю запилить, если не найду.

 , ,

crutch_master
()

Минималистичные установщики убунту/минт

Есть что-нибудь такое, чтобы можно было сказать

$ install_linux /mnt/new_system_root
И оно поставилось, настроило сеть, fstab, grub спросило пароль и tz? Debootstrap не справился, качать 2 гб iso и «прожигать» его на флешку в 2к19 лень.

 ,

crutch_master
()

Боты выносят людишек в dota 2

Просто насилуют (почти) всех в прямом эфире.. 99.6% побед ии (600+ матчей). Была статистика на https://arena.openai.com/#/results но она лежит. Хорошее завершение недели.
СР/УВЧ. Хоть говаривали, что нейросетка совсем простая, но народ из openai молодцы.
inb4. Нет у ботов мапхака, что не скажешь о подлых людишках.

 , ,

crutch_master
()

Json schema/validator

Поскольку json-schema - говно я с горя упоролся и наваял свою правильную схему/валидатор

var config = {
    meta : {
        desc : "Bicycle validator example",
        keywords : {
            any : "^ANY",
            or : "_or_",
            notRequired : "^_",
            comment : " - .*$"
        }
    },
    types : {},
    schema : {
        ANY : {
             id : "number - required parameter",
             _name : "string - not required, but can be",
             a_or_b_or_c : "string - need one of them",
             e_or_d : "string - or them",
             _list : ["string","number","string - list with types in this order"],
             _list_etc : ["string","number - repeated list with spectype ...", "..."],
             _st : "anything - any field",
             _anyobj : {ANY : "anything - object with any content"}
        }
    }

}
Фичи/как работает:

  • Отдельно метаданные, отдельно схема, отдельно типы
  • Сама схема записывается так, как будто это объект. Структуры (объект, массив) пишутся как есть, типы пишутся строкой. И никаких сраных "type" : "string" везде и прочей не нужной писанины.
  • Требуемые поля объекта пишутся как есть. Необязательные поля должны соответствовать регулярке notRequired в meta.
  • Если допустимы произвольные наборы полей, то поле должно соответствовать регулярке any в meta
  • Если нужно одно из полей, но не все сразу или некоторые из них, то названия разделяются регуляркой or в meta
  • Из описания типа регуляркой вырезается шаблон комментария
  • Типы должны проверяться. Встроенные - int (целое), number, string. (Еще не тестил)
  • Массивы с типами, последовательностью типов (повтор - спецтип "...", хардкод)
  • Хардкодный тип anything для чего угодно, в т.ч. структур.
  • Можно делать свои типы добавляя функции в types. Функция получает значение, возвращает true - если всё нормально и что угодно другое, если всё плохо. При этом возвращаемое запишется в выдаваемый объект
  • На выходе выдаётся структура подобная входной с пожеланиями для автора в проблемных местах

Планируется

  • Схема в типах
  • Причесать код
  • Протестить работу с типами
  • Сделать тесты для всего
  • Ссылки и вложенные структуры
  • Вызов валидатора типов с параметрами (например intRng 1 100, для целых от 1 до 100 или цепочки типа int rng 1 100)

Говнокод сей поделки там -> https://github.com/Crutchmaster/bvalid-js
Приветствуются предложения, пожелания, проклятия.

Для затравки. Это самая охрененая схема/валидатор. Вы видели json-schema? Дико многословное говно без возможностей которое без костылей невозможно использовать в принципе.

 , , ,

crutch_master
()

Команда роботов сразится с командой человечества в Dota 2

Завтра в 18.30 по Гринвичу (если я ничего не путаю) пройдёт матч между командой ботов OpenAI и командой человечества по Dota 2.
OpenAI - это некоммерческая организация созданная при участии Илона Маска для проведения исследований в области искусственного интеллекта. На The International 2018 боты OpenAI обыграли команду бывших профессиональных игроков, но команда действующих профессионалов оказалась роботам не по зубам. Тем ни менее в режиме 1vs1, only mid, mirror match ботам OpenAI нет равных уже сейчас.

Держим кулачки за роботов! Дотеры не нужны! 8/64! СР! УВЧ! Регайте Бендеров на Твиче! Зафлудите им чат!

Твич OpenAI

Подробности

 , , ,

crutch_master
()

gnu parallel выдаёт странное

Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:

  O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
  ;login: The USENIX Magazine, February 2011:42-47.

This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.

To silence this citation notice: run 'parallel --citation'.

Сегодня выдал вот такое. Раньше всё работало нормально. Что ему надо, я читать не умею.

 

crutch_master
()

Массовая генерация PDF true linux way

Есть данные о начислениях по квартплате для 300к человек в БД. Надо сделать из них платёжку на 1-3 листа А4 в pdf. Чем кошерно будет это сделать? Сейчас всё работает на fastreports в дельфи и jasperreports, но один документ делается 2+ секунд и занимает это около суток да и стрёмно всё это как-то.
Хочется следующего: данные из бд перегоняются в пригодный вид, дальше скармливаются шаблонизатору, тот делает tex/md/etc документ из которого делается pdf. Хочется, чтобы всё, кроме бд занимало <50 мс. Есть истории успеха?

 , , ,

crutch_master
()

Где сейчас можно выставить PATH в Debian 9?

Пишут, что в /etc/login.defs. Добавляю в ENV_SUPATH, ENV_PATH но работает только для рута. Раньше всё писалось в /etc/environment, но сейчас он пустой. Из https://wiki.debian.org/EnvironmentVariables ясно, что он его тупо перепишет на то, что там есть, а это, как я понимаю, не вариант. В bashrc ставить тоже не вариант. Куда его теперь можно ставить?

 ,

crutch_master
()

Интерактивный js редактор из vim

Хочу js редактор с встроенным eval выделенного куска кода, перезагрузкой/выбором контекста и автодополнением по содержимому контекста ноды.
Например, я пишу

var Foo = {
   var func = ["a","b","c"];
   for (var i = 0, c = func.length; i < c; i++) {
       this[func[i]] = function() {/*... */}
   }
}
var foo = new Foo();
Выделяю всё это, делаю eval, потом пишу foo. и редактор мне предлагает a,b,c
Можно ли vim довести до такого и каким образом? Есть ли готовые ide, не жирные.

inb4: зачем это не нужно? Чтобы реактивно писать repl-говнокод и тестить прямо в редакторе.

UPD: короче, мне надо пробросить nodejs repl в vim и обратно.

 , , ,

crutch_master
()

Новый день, новая дыра

https://www.securitylab.ru/news/498218.php
Интел, спекулятивное выполнение, чтение данных по анализу времени задержек или что-то около того. На АМД всё норм.
Ну что, режем javascript, пацаны.

 , , ,

crutch_master
()

Тест java vs nodejs по жору памяти

java:

package test_java;

import java.util.HashMap;
import java.util.Scanner;

public class Main {

    class Table {
        Long x2;
        Long x3;
        String str;
        public Table(Long i) {
            x2 = i*2;
            x3 = i*3;
            str = x3.toString();
        }
    }
    private HashMap<Long, Table> hash = new HashMap<Long, Table>();

    public Main() {
    
    }

    private void log(String s) {
        System.out.println(s);
    }

    public void test() {
        for (long i = 0; i < 1000L*1000L; i++) {
            hash.put(i, new Table(i));
        }
        log("Generated");
        Scanner scan = new Scanner(System.in);
        scan.nextInt();
    }

    public static void main(String[] args) {
       Main m = new Main();
       m.test();
    }
}

Nodejs:
h = {}
for (i=0; i < 1000*1000; i++) h[i] = {x2:i*2, x3:i*3, str : (i*3)+""}
Жор памяти с htop после нескольких минут простоя: https://i.imgur.com/6VY2zqfl.png

Ъ: 267мб - ява, 127 нода (было ~180 сразу после запуска)

И что получается? Ява сосуна по памяти больше чем в 2 раза? (и во много раз по коду, лол) Как дальше жить? Что я не так сделал?

$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

$ node --version
v10.14.2

 , , ,

crutch_master
()

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