Pull to refresh
4
0
Jameson Bourned @zelyony

Пользователь

Send message

зачем ограждать себя ДСП? сделали бы вид на океан, горы, лес

1) эх ты, я хотел, чтобы они(neurocore и автор) сами нарыли выход из своих ошибочных заблуждений, в которых слишком уверены.
2) свапать необязательно.
только если критически важно сэкономить 0.5 деления.
3) ненамного эффективнее.
в цикле divisionGCD выполняется 3 сравнения вместо 1ого в gcd, но, поскольку, деление — долгая операция, то выигрыш gcd будет несколько процентов. зато по количеству текстового кода — на 1000%, а машинного — на 200%.
improvedDivisionGCD может быть эффективнее.

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


у меня на Винде нет последнего Swift-a.
никакого нет.
а в последних обычно лучше оптимизации.

готовы пояснить, почему именно эта рекурсия неопасна?
дизассемблерный код gcd
и можете ее замерить с @inlinable и без?


доп:
ваша рекурсивная реализация переворачивания односвязного списка опасна.
сможете настрочить безопасную рекурсию?

для собеседований лучше так:


func gcd(_ a: Int, _ b: Int) -> Int { return b==0 ? a : gcd( b, a%b ); }

нет кармы на плюсик


  • про tie() для деконструкции кортежей не знал
  • ctRegex https://issues.dlang.org/show_bug.cgi?id=12844
  • Set, Stack, Deque, который вы показали — "ну, нахер"
  • mutable: есть immutable, который же и shared, передаете его куда-нибудь, RC надо поменять (addref/release), но у immutable это надо делать через извращения с cast-ами. с mutable из С++ это делается красиво и понятно.
  • версионность модулей на уровне импортов
    import core.memory!2.0: memcpy; // юзаешь новые функции и "того" же модуля другой версии. нет головняка с std.experimental, который в будущем уйдет. нет name hell. да, фобос должен стать выборочным и скачиваемым. что делать с shared RT, когда все скачиваемо по отдельности?
  • 2 лямбды одной стрелочкой все равно криво. лучше 2 лямбды 2 стрелочками. так более явно видно
    () => { float acc;… return () => acc; } // я возвращаю лямбду из лямбды
  • fiber ну никак не помогает с async/await (слышал про vibe.d)
  • про бред с импортами: неочевидные правила перегрузок методов https://dlang.org/articles/hijack.html
    есть A.fn( long ) и B.fn( real ), включаешь их в модуль C, в котором есть еще fn( string ) и на С.main() { fn( 123 ) } — ошибка "не могу 123 передать как стринг". WTF? вон же методы, хочешь long, хочешь real, "да тут ГТО можно сдавать!". я зря их писал что ли? странно это.
    ну, и некоторые пишут код так, что в каждом методе импортируют все используемые сущности из других модулей по отдельности — куча импортов в методе, за которыми леса не видно.
    импорт в шапке, как в C#, на весь остальной модуль, просто и понятно.

на этом закрою дискуссию, добавить больше нечего.
я юзаю D, но у меня есть к нему претензии.
юзал бы Go/Rust, к ним бы тоже были претензии.
а C#/Kotlin нра без претензий :)

https://youtu.be/TkNep5zHWNw?t=1489
о shared выступающий тоже упомянул
для shared переменных можно вызывать только shared методы, а это тупо удваивает количество кода, и никто их не пишет, т.е. от shared только головняк


еще


  • инициализация по умолчанию для всего "все нули", но для плавающих точек и символов NaN и '\xFF' соотвественно, но оба они не false. см ниже про bool
  • bool это int1 со всеми вытекающими
  • вместе с ним странный int promotion
    enum Week: int { Mon,… Sun };
    auto fn( bool v ) { }
    auto fn( long v ) { }
    fn( Week.Mon ); // fn( false ). WTF?
  • нет string interpolation; именованных параметров; встроенных кортежей (те что из либки не поддерживают деконструкцию); встроенных null-типов как int? с полезными к ним операторами !, ?., ??; нет стандартных асинков; ctRegex иногда дохнет вместе с компилятором, потому что ему не хватает 174GB памяти
  • про асинки. если асинки будут на goroutine-ах, то из них нельзя обращаться к глобальным переменным, потому что они лежат в TLS (если не shared). спорное решение пихать их в TLS
  • лямбда с { return } возвращает новую лямбду, а не просто значение
    () => { float acc;… return acc; } возвращает float delegate(), а не просто вычисленный float. WTF?
    как вернуть из непростой лямбды простое значение? ХЗ
  • в каждую функцию засовывают десяток импортов. потому что в перегружнных функциях рассматриваются вообще только локальные определения. опять головняк
  • нет версионности модулей, потому изобретают experimental модули, которые ты можешь заюзать, но в след релизе они могут уйти куда-то еще и импорты надо переделывать
  • в стандартной либке нет ни Set, ни Stack, ни Deque. есть массив и хэш-словарь. да, из них можно сделать нужное с ошибками и матами, но сразу их выдать нельзя что ли?
  • с nogc/betterC превращается в тыкву, потому что для nogc вообще ничего нет, кроме шаблонов: ни массивов/строк, ни словарей. с чем работать шаблонам и range-м?
  • есть const & immutable, но нет mutable. бредят RefCount, но как его делать?
  • в винде нельзя заюзать рантайм как дллку стандартным путем. если приложение состоит из EXE и DLL, то в приложении 2 рантайма и 2 помойщика. помойщиков можно смерджить стандартным же костылем. но в чем причина не костылить, а скомпилить shared runtime?
  • консервативный помойщик, который можно заменить доп.шагами в точный. но и он сканит весь data seg и иногда вылетает по нехватке памяти, потому что любой лонг в нем считает за возможный указатель. хотелось бы, чтобы сканил только реальные указатели, инфа о типах есть же
  • нет номеров ошибок, которые можно было бы погуглить, потому что текст ошибок меняется, и не всегда понятно, в чем именно ошибка
  • ошибки с шаблонами и mixin-ами выводят простыни текста, попробуй их пойми
  • диктатор не переводит DMD на LLVM, а потому его не колышат ни interop c С++, ни динамическая компиляция и встроенные скрипты, ни WASM

http://pixman.org/ с ассемблерными оптимизациями под ARMv6/NEON… даже если не скомпиляется, можно частично выдрать полезный код


Вроде как, Малинка поддерживает OpenGL
из вики > At least the VideoCoreIV-AG100-R found e.g. in the Raspberry Pi 1, 2 and 3, is documented to fully support OpenGL ES 2.0 and OpenVG 1.1.
https://eltechs.com/how-to-enable-opengl-on-raspberry-pi/

Власти провинции Фрисландия в Нидерландах были вынуждены демонтировать музыкальное покрытие автомобильной дороги, установленное в местной деревне Йелсум. Поводом для этого стали массовые протесты местных жителей, которых мелодия поющей дороги, по их словам, сводила с ума.
Этот шум местные жители были вынуждены слушать круглосуточно. Забавно, что по соседству с деревней Йелсум расположена авиабаза Королевских ВВС Нидерландов, однако истребители летают лишь до 17:00, а какофония от дороги не прекращается даже ночью. По словам несчастных голландцев, постоянный шум мешал им спать и буквально сводил с ума. В итоге власти демонтировали поющую дорогу, которая не пролежала и четырёх дней.

если будете пользоваться Gram, то Telegram-у нужен будет ваш Passport, потому что Знай своего клиента, иначе Дуров пойдет за Винником.


В компании обещают, что Telegram не будет иметь доступа к личным данным пользователей. Они будут переходить непосредственно к получателю.

Меня больше волнует в каком виде Telegram будет раздавать наши паспорта: текстом "да, это он!" (т.е. вручную подтверждается личность с походом в какое-нибудь почтовое отделение) или солянка из скана, телефона и мыла… Потому что гладиолус GDPR. И я не хочу, чтобы у видео-салона "Рога и копыта" (или тот же "Fhloston Paradise" из image скриншота новости про Telegram Passportбыли мои паспортные данные с фоткой, мылом и телефоном — зачем им оно и куда они это будут сливать?
На скриншоте показано, что некий сервис запрашивает мои личные данные, телефон и мыло. Абсолютному большинству всяких веб-сайтов нужно только мыло, которое я и так бы указал при входе или регистрации. Но вот сам интерфейс — сервис запросил личные данные и стрелка, которую никто в большинстве раскрывать не будет, а просто жмакать ОК (не все же параноики и продвинутые айтишники) — выглядит стремно. Т.е. лучше бы, если сервису нужно что-то помимо мыла, интерфейс изменить, чтобы пользователь явно подтвердил (проставил галочки как минимум), что он согласен отправить свой паспорт, вод./пенс.удостоверение и так далее этому сервису.

можно еще почитать/написать про IOCP и Registered I/O в Windows (последнее в Win8+/2012+)

http://bormor.livejournal.com/114915.html
Представьте себе сказочную страну. В ней живут самые разнообразные существа: феи, гномы, гоблины, эльфы… ну кто там еще? Все, в общем, живут.
А потом появляется новая раса — назовем ее Бехолдеры. Ничем не примечательная, кроме одного мерзкого, просто-таки жуткого свойства: у них Дурной Глаз. На что ни посмотрят — испортят. Летит, например, фея, а Бехолдер на нее глянет — и вот уже нет никакой феи, порхает бабочка. Встретит Бехолдер в буреломе лешего — и хорошо еще, если в медведя взглядом превратит, а то ведь может и в корягу. Пройдет Бехолдер сквозь толпу великанов, и даже сам не поймет, откуда вокруг взялось столько причудливых скал. Залезет на болото — и ни одного гриндилоу не останется, только мерцают болотные огоньки. А всякие воздушные создания, которые послабже, и вовсе под его взглядом исчезают, исходят легким паром.
Только всякая ночная нечисть худо-бедно уцелела — на их темное счастье, Бехолдер ночью слеп как крот. Ну и часть дневных созданий поневоле ушла в ночь; кто-то в землю зарылся, кто-то в пещеры ушел — куда-нибудь, лишь бы не попадаться Бехолдерам на глаза.
И ведь никому эти Бехолдеры зла не желают! Просто воспитание у них такое. Пока они совсем маленькие, могут хоть в упор на кого угодно смотреть. А потом усваивают от взрослых их магию (взрослые Бехолдеры называют ее просто "правильным взглядом на жизнь") — и все, пиши пропало. Глянут, и наповал!
Словом, никого в сказочной стране не осталось. Одни люди.

Это 420 млрд рублей мимо российской казны.

хочу напомнить, народ покупает что-то на свои деньги, с которых УЖЕ уплачены все налоги в казну

http://krushelnitsky.narod.ru/progs/kv/
здесь. лабиринты похожи на оригинал, но есть и новые. можно убить несколько часов, а то и день.
сайт зарекламлен, чистая ссылка на EXE для PC http://krushelnitsky.narod.ru/progs/kv/zip/sk_kings_valley_2k_1_00.zip

  • скорость уже отлаженных алгоритмов на таблицах 50млн комбинаций/сек. а здесь 5к?
    чем больше скорость, тем больше розыгрышей в монте-карло.
  • здесь, вроде как, не учитываются старшие карты.
    у меня пара, у него пара — побеждает из нас тот, у кого старше оставшиеся карты, сначала первая, а если равны, то вторая и затем третья. таких комбинаций в холдеме 4824, а не просто пара, каре или стрит.

допустим, напишем на этом алгоритме подсказчик для неопытного игрока.
просто "у вас 2 пары" — это он сможет понять и сам через полчаса знакомства с правилами игры — пользы никакой.
а вот "у вас 2 пары. ваша комбинация выиграет X% игр против N игроков" — уже надо будет и монте-карло и точный учёт старших карт.

еще накину идей для статей на будущее :)
ресайзинг картинок на GPU: AMD/OpenCL, NVidia/OpenCL, NVidia/CUDA… можно будет добавить Vulkan и DX12
а OpenCL(возможно и Vulkan) можно еще и на CPU протестить, взяв SDK от Intel и от AMD

удалил: сам туплю

  • за несколько лет месячная лицения выросла с 25$ до 400$. при этом было добавлено "Qt Charts, Qt Data Visualization и Qt Virtual Keyboard и другие".
    WTF? оно всем надо по такой цене? как-то жирно мажете, напоминает историю компании Turing и Мартин Шкрели, который полнял цену за лекарстов от ВИЧ на тыщи процентов


  • за 2016 год компания заработала 32 миллиона евро. в планах компании сейчас стоит цель достичь прибыли в 100 миллионов евро к 2021 году, потому сейчас идёт активный набор новых сотрудников

    т.е. к 2021 лицензия вырастет еще в 3раза, а с учетом нового набора и аппетита в 6-10. еще раз WTF?


  • несколько раз в статье упоминали серые моменты. мне кажется, вся продажная стратегия Qt основана на сером и мало понятном лицензировании, потому что


    Мало кто хочет рисковать своим бизнесом, когда текст лицензий попросту не совершенен

    и непонятен


  • от любопытной критики к простому любопытству:
    KDAB один из основных контрибуторов и создателей Qt 3D. вы делитесь с ними деньгами или ведете себя как жена в семье "что он заработал, это наши деньги, а что я заработала с наших потуг — это только моё"?

P.S.
мысли вслух: надо присмотреться к Tizen (особенно это актуально для DC)

я не понял, как я попал в 2х-летний топик
и ответил на него ссылкой http://graphics.stanford.edu/~seander/bithacks.html
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity