My awesome blogik Naher tagline

QuantConnect

Пытаюсь посмотреть QuantConnect. Пока не очень получается и не очень нравится.

Бесит то, как происходит настройка юниверса. Особенно в режиме ресерча. Мне надо например посмотреть состав SPY на какую-то дату и я не могу это сделать. Может и можно, но я пока не могу понять как.

Какой-то дико мудацкий API. Сделан чужими для хищников.

Я уже даже подумываю может бросить и посмотреть https://polygon.io/

Jekyll

Я таки установил джекил локально, т.к. не получалось настроить тему https://github.com/poole/lanyon

Я подумал, что может если пойти по гайдам, то все само получится. Но нифига. Я так и не справился с настройкой темы. Собственно единственное, что меня неудовлетворяет сейчас - это внешний вид кнопок Older/Newer.

Но установка локально не помогла. Я фик знает почему у меня нет навигации с гамбургером и почему так отстойно выглядят эти кнопки. Думаю пока забить.

update: таки разобрался. проблем было несколько.

главная и самая сложная: у меня был пробел в конце имени _layouts

потом еще папку public забыл скопировать, поэтому тема была не та. и еще адрес сайта в конфиге прописал через http вместо https.

Идея на миллиард баксов

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

мне ведь это все не надо. точнее… можно было бы разделить это. сделать отдельную версию жпт, которая специализируется на древней греции, отдельную версию, которая знает японский и т.д. кстати… кажется это упоминалось в анонсе open-ai, что они хотят делать узкоспециализированных чатботов. мде. наверное как всегда идея не нова. но ведь это бомба в том плане, что если повыбрасывать ненужное, то наверняка размер нейронки можно было бы сжать сто раз. а если бы она весила гигабайт, а не сто, то стала бы доступна большому количеству людей на текущем железе.

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

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

Вместо первого поста

на самом деле это не первый пост. первым постом был пост про софле клавиатуру. а это первый пост для тестирования джекила.

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

так и сделал. выяснилось, что надо посты класть в _posts и называть их с префиксом YYYY-MM-DD. посты сразу становятся доступны, если вбивать правильный адрес, который можно подсмотреть в логах сборки джекила в гитхаб экшенс. остается проблема с тем, что хотелось бы главную страницу генерить на основании постов. для этого надо добавить еще пару файлов: _config.yml и index.html, в котором будет код для генерации лендинга. эти файлы я нагуглил и скопипастил с https://github.com/jekyll/example/tree/gh-pages

p.s.: вообще вся эта графомания связана с освоением русской раскладки на суфле клавиатуре. я пока не планирую долго постить в этот бложик. упражнение конечно забавное. есть какой-то психотерапевтический эффект. и еще ощущение флешбека из двухтысячных. пятнадцать лет наверное не писал в публичный блог.

update: я таки установил локально джекил. сдался. если начать что-то кастомизировать, то надо сразу проверять, что получается. без локальной установки слишком долго ждать результатов.

Sofle keyboard

купил в 42keebs.

Product Quantity Price Plain/Braided/Metal TRRS cable - Metal braided 77 cm Type: Metal braided 77 cm x1 €5.95

1N4148 Diodes (10 pcs) - Through-hole Type: Through-hole x4 €0.95

Microcontroller Socket (Medium-profile) - Black Colour:Black x2 €0.95

Sofle V2 Hotswap Split Ergo 50% Kit (Black) 1 €39.27 Knurled Rotary Encoder Knob - Steel 18 mm, Vintage Iron Type:Steel 18 mm Colour:Vintage Iron x1 €4.76

EC11 Rotary Encoder (Alps/Bourns/Generic) - Genuine Alps (long travel) Type:Genuine Alps (long travel) x1 €5.47

Sofle V2 Tenting/Tilting Acrylic Plates Acrylic 3 mm: Clear x1 €17.26

Gateron Pro Yellow Milky Switches (10 pcs) 6 €16.42 Low Profile OLED Socket (1 pc) x1 €1.07

OLED Display Module 0.91” 128x32 - White Display colour:White x2 €8.57

Frood RP2040 Pro Micro Controller - White Colour:White x2 €26.18

Subtotal: €126.85 Shipping: €15.35 (incl. VAT) via Czech Post Total: €142.21 (includes €22.71 Tax)

зто без кейкапсов.

из нюансов: я взял диоды вместо пинов под микросхемы, как зто советовалось прямо на сайте 42keebs, т.к. диоды дешевле. получилось на удивление легко и хорошо. надо было просто втыкать диоды в дырки сквозь микросхемы и отчикивать их кусачками. в мануале по сборке не объясняется, что платы симметричные. любая может стать левой или правой. но зто легко гуглится. микросхемы у меня какие то Frood RP2040, а не то, что описано в мануале. к счастью опять получилось нагуглить решение. при компиляции надо было добавить флаг:

qmk flash -kb sofle/rev1 -km default -e CONVERT_TO=elite_pi были еще непонятные проблемы с установкой qmk на popos. установка зависала. пришлось руками склонировать репозиторий. а потом еще перейти из main ветки в tag последнего релиза и синхронизировать submodules гита командами:

git clean -xfd git submodule foreach –recursive git clean -xfd git reset –hard git submodule foreach –recursive git reset –hard git submodule update –init –recursive взял тут: https://gist.github.com/nicktoumpelis/11214362

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

я еще не понял ситуацию с выключателями на клавиатуре. толи я их криво припаял и они просто всегда замкнуты, толи я не понял зачем они нужны. я ожидал, что они будут выключать питание. особенно это было бы полезно, если смонтировать крышку, которая закрывает микросхему с дисплеем, т.к. эта крышка накрывает еще и кнопку ресет. боковым выключателем тогда можно было бы обрывать питание как ресетом, хотя я не уверен, что это одно и то же. ну короче как бы то ни было похоже, что выключатели у меня не работают.

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

в остальном вроде все ок. печатать на ортолинейной клаве приходится учиться учиться заново. хуже всего получается с мизинцами.