sanspie's notes
837 subscribers
45 photos
1 video
29 files
311 links
Some ctf and coding stuff. Mostly web
https://akarpov.ru/about

Admin: @sanspie
Download Telegram
👍13👎1
Тут Hugging Face совместно с ServiceNow выложили свой copilot - StarCoder, модель, которая пишет код по вводимым параметрам(15 миллиардов токенов). Только в отличии от копайлота StarCoder опенсорсный, модель можно развернуть у себя и использовать как апи. Под капотом GPT2.

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

Поиграться с моделью можно тут - bigcode-bigcode-playground.hf.space
или в виде чата тут - hf.co/chat
👍8🤬2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
czkawka

Долгое время искал утилиту, чтобы находить похожие/совпадающие картинки, музыку, видео и т д. Сегодня наткнулся на czkawka, gui и cli программу, которая за секунды считает хеши и даже находит похожие файлы. Так же она хеширует результаты и имеет встроенный просмоторщик файлов в gui.

aur
👍9🤬2🌭2👎1
Overpass

Пару недель назад я решал одну задачу для хакатона ЛЦТ, в которой нам нужно было собрать данные по различным точкам(достопримечательности, отели, ресторанны, кафе и т д) для того, чтобы простаивать маршруты по ним. Одним из источников информации, который мы взяли для системы был open street maps. Однако возник вопрос, как можно выгрузить десятки тысяч точек из такой сложной штуки как open sreet maps (далее osm).

Для тех, кто не знает, что же такое open street maps, попытаюсь кратко рассказать. Osm - аналог Google Maps, бесплатно предоставляющий всему миру данные карт, собранные при помощи маперов - людей, которые заносят данные об окружающей местности в osm. Чем же он лучше, чем Google, Bing, Yandex maps или другой популярный поставщик карт? Ну, во-первых, osm - некоммерческий продукт, что лишает компаний возможности монетизировать локацию, предпочтения, поисковые запросы пользователей. Во-вторых, данные в osm обновляют юзеры, что делают информацию в osm наиболее актуальной. Так же не стоит забывать, что osm можно скачать, запустить у себя на сервере, нарисовать что-то поверх и сделать частью своего сервиса, что уменьшает опасность атак на цепочку поставок, а так же делает компании более независимыми.

Отлично! Но как можно получить данные, не в интерфейсе osm, а, например, в виде геожсонов? Тут нам на помощь приходит Overpass API. Overpass API — это серверное ПО с открытым исходным кодом, созданное для обработки пространственных запросов к данным osm. По умолчанию overpass работает c xml, однако так же можно воспользоваться их QL, который позволяет фильтровать точки в более-менее человекочитаемом формате. Например, вот запрос, чтобы получить все магазины “Дикси” в России:

[out:json]; # указываем оператором настроек, что хотим ответ в виде json
(area["ISO3166-1"="RU"];)->.ru; # создаем фильтр ru, с точками только из рф
(node[shop][name="Дикси"](area.ru);); # оператором node создаем набор данным
со всеми магазинами с називанием Дикси
и применяем фильтр с предыдущей строки
out;

Таким нехитрым образом мы получаем json с точками, всякой информацией типа адреса и т д по тем “тегам”, что мы хотим. Язык описания запросов очень мощный и позволяет даже использовать регулярные выражения, составлять пересечения зон и областей (некоторые интересные запросы можно посмотреть на картинке). Полный набор операторов можно найти тут - https://dev.overpass-api.de/overpass-doc/en/.

Теперь дело за малым: написать запрос и посмотреть что он отдает. Для этого подходит мощный fronted клиент для overpass - overpass turbo. Он не только позволяет отобразить результаты запроса на карте, но и имеет помощника, который как-то криво, но составит запрос.

Таким образом, мы можем автоматизировать всякую работу с данными на карте, подготовить данные для своей системы или просто проанализировать агрегированную информацию.
👍8👎1🔥1
Релиз FastAPI 0.100.0

Из ключевого - stable поддержка Pydantic 2
В FastAPI сериализация, десериализация и валидация входных данных осуществляется библиотекой Pydantic. Во 2 версии pydantic была переписана на Rust, который ускорил работу библиотеки(в некоторых местах) аж в 20 раз.
👍4