gavr_sas
216 subscribers
2.67K photos
184 videos
28 files
784 links
JB пропаганда
Download Telegram
Сегодня ВОЗ отменила статус пандемии Covid-19, поздравляю, ковид официально закончился.
никогда бы не подумал что новые классные гтк приложения еще будут писать на чистом си

https://github.com/zhrexl/ThisWeekInMyLife

https://flathub.org/apps/io.github.zhrexl.thisweekinmylife
Пасаны уже запускают модельки на телефонах.
Нас однозначно ждет будущее где в каждом чайнике будет узкоспециализированная модель.

https://github.com/ggerganov/llama.cpp/issues/58#issuecomment-1466732993

Статья топ: https://habr.com/ru/articles/733702/
👍1
хосспади, JB так повернуты на джаве что компилируют ее даже в MD файлах, а что если мне нужно сделать пример без public static main System.out.print??
Текущее состояние моделей отсортированных по хорошести
https://paperswithcode.com/sota/multi-task-language-understanding-on-mmlu
Очень быстрый гайд по написанию фронтенда языка, пишем лексер(токенайзер), он нужен чтобы превращать неразборчивую писанину в цепочки токенов, типа
s_aS =
0.3432345f
в
[Identifier Equel Float]

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

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

Нам понадобится набор базовых функций
1) step — поглащает следующие n символов, то есть
ab^cde
^ - курсор

step(2) вернет cd
abcd^e

2) peek — как step но не поглащает, нужна чтобы проверять что там впереди
ab^cde, peek(2) -> cd, ab^cde

3) check(str: string, distance: int): bool — хелпер чтоб проверять что в переди то что мы ожидаем, использует peek

4) match — ровно тоже самое что check, но поглащает строку
^if(sas)
match("if") -> true, if^(sas)

Воот, это база, следующий выпуск завтра
(((
Ой, кодек не найден, какая жалось, а мы как раз знаем одно место где его можно скачать, заплатите денюжку, стандартному модерн виндувс плееру, встроить по дефолту? ну нееее, так дела не делаются
Гугл забавно измеряет размеры коммитов
This media is not supported in your browser
VIEW IN TELEGRAM
😁1
Remember the famous August 1981 cover of BYTE magazine?
#Smalltalk
1
gavr_sas
Очень быстрый гайд по написанию фронтенда языка, пишем лексер(токенайзер), он нужен чтобы превращать неразборчивую писанину в цепочки токенов, типа s_aS = 0.3432345f в [Identifier Equel Float] Чтобы потом с ними можно было удобнее работать, сохраняем…
Придумайте список токенов на которые делится ваш язык(не АСТ) и напишите парсер для каждой используя базу и несколько хелпер функций вроде isAlphaNumeric для простого парсинга идентификаторов 3
#niva
gavr_sas
Photo
1) Заготовленные парсеры вроде parseNumber будут мотать ленту пока не распарсят определенный токен
x = ^23.34234
parseNumber -> numToken(23.34234)
x = 23.32234^

2) В цикле while !done() проходим по всем символам, проверяя текущий на какой либо признак и используя эти мини парсеры.

3) И разумеется обкладываем все это тестами, вообще довольно прикольно ставить себе цели добавляя новый еще не работающий тест, а затем делать его рабочим, ага TDD тут очень полезно, в отличии от гуев. #niva
👍1